diff --git a/java/res/values-ar/donottranslate-more-keys.xml b/java/res/values-ar/donottranslate-more-keys.xml
deleted file mode 100644
index 402e171..0000000
--- a/java/res/values-ar/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+061F: "؟" ARABIC QUESTION MARK
-         U+060C: "،" ARABIC COMMA
-         U+061B: "؛" ARABIC SEMICOLON -->
-    <!-- U+0650: "ِ" ARABIC KASRA
-         U+064E: "َ" ARABIC FATHA
-         U+064D: "ٍ" ARABIC KASRATAN
-         U+064B: "ً" ARABIC FATHATAN
-         U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
-         U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
-         U+0655: "ٕ" ARABIC HAMZA BELOW
-         U+0654: "ٔ" ARABIC HAMZA ABOVE -->
-    <!-- U+064F: "ُ" ARABIC DAMMA
-         U+064C: "ٌ" ARABIC DAMMATAN
-         U+0651: "ّ" ARABIC SHADDA
-         U+0652: "ْ" ARABIC SUKUN
-         U+0653: "ٓ" ARABIC MADDAH ABOVE
-         U+0640: "ـ" ARABIC TATWEEL -->
-    <!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
-    <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',-,:,!,&#x061F;,&#x060C;,&#x061B;,&#x0650;,&#x064E;,&#x064D;,&#x064B;,&#x0656;,&#x0670;,&#x0655;,&#x0654;,&#x064F;,&#x064C;,&#x0651;,&#x0652;,&#x0653;,&#x0640;&#x0640;&#x0640;|&#x0640;,/"</string>
-    <string name="keyhintlabel_for_punctuation">&#x064B;</string>
-    <!-- U+0661: "١" ARABIC-INDIC DIGIT ONE -->
-    <string name="keylabel_for_symbols_1">&#x0661;</string>
-    <!-- U+0662: "٢" ARABIC-INDIC DIGIT TWO -->
-    <string name="keylabel_for_symbols_2">&#x0662;</string>
-    <!-- U+0663: "٣" ARABIC-INDIC DIGIT THREE -->
-    <string name="keylabel_for_symbols_3">&#x0663;</string>
-    <!-- U+0664: "٤" ARABIC-INDIC DIGIT FOUR -->
-    <string name="keylabel_for_symbols_4">&#x0664;</string>
-    <!-- U+0665: "٥" ARABIC-INDIC DIGIT FIVE -->
-    <string name="keylabel_for_symbols_5">&#x0665;</string>
-    <!-- U+0666: "٦" ARABIC-INDIC DIGIT SIX -->
-    <string name="keylabel_for_symbols_6">&#x0666;</string>
-    <!-- U+0667: "٧" ARABIC-INDIC DIGIT SEVEN -->
-    <string name="keylabel_for_symbols_7">&#x0667;</string>
-    <!-- U+0668: "٨" ARABIC-INDIC DIGIT EIGHT -->
-    <string name="keylabel_for_symbols_8">&#x0668;</string>
-    <!-- U+0669: "٩" ARABIC-INDIC DIGIT NINE -->
-    <string name="keylabel_for_symbols_9">&#x0669;</string>
-    <!-- U+0660: "٠" ARABIC-INDIC DIGIT ZERO -->
-    <string name="keylabel_for_symbols_0">&#x0660;</string>
-    <string name="additional_more_keys_for_symbols_1">1</string>
-    <string name="additional_more_keys_for_symbols_2">2</string>
-    <string name="additional_more_keys_for_symbols_3">3</string>
-    <string name="additional_more_keys_for_symbols_4">4</string>
-    <string name="additional_more_keys_for_symbols_5">5</string>
-    <string name="additional_more_keys_for_symbols_6">6</string>
-    <string name="additional_more_keys_for_symbols_7">7</string>
-    <string name="additional_more_keys_for_symbols_8">8</string>
-    <string name="additional_more_keys_for_symbols_9">9</string>
-    <!-- U+066B: "٫" ARABIC DECIMAL SEPARATOR
-         U+066C: "٬" ARABIC THOUSANDS SEPARATOR -->
-    <string name="additional_more_keys_for_symbols_0">0,&#x066B;,&#x066C;</string>
-    <!-- U+060C: "،" ARABIC COMMA -->
-    <string name="keylabel_for_comma">&#x060C;</string>
-    <string name="more_keys_for_comma">"\\,"</string>
-    <string name="keylabel_for_symbols_question">&#x061F;</string>
-    <string name="keylabel_for_symbols_semicolon">&#x061B;</string>
-    <!-- U+066A: "٪" ARABIC PERCENT SIGN -->
-    <string name="keylabel_for_symbols_percent">&#x066A;</string>
-    <string name="more_keys_for_symbols_question">\?</string>
-    <string name="more_keys_for_symbols_semicolon">;</string>
-    <!-- U+2030: "‰" PER MILLE SIGN -->
-    <string name="more_keys_for_symbols_percent">%,&#x2030;</string>
-    <!-- U+060C: "،" ARABIC COMMA
-         U+061B: "؛" ARABIC SEMICOLON
-         U+061F: "؟" ARABIC QUESTION MARK -->
-    <string name="keylabel_for_apostrophe">&#x060C;</string>
-    <string name="keylabel_for_dash">"."</string>
-    <string name="keyhintlabel_for_apostrophe">&#x061F;</string>
-    <string name="keyhintlabel_for_dash">&#x064B;</string>
-    <string name="more_keys_for_apostrophe">"&#x061F;,&#x061B;,!,:,-,/,\',\""</string>
-    <!-- U+0651: "ّ" ARABIC SHADDA
-         U+0652: "ْ" ARABIC SUKUN
-         U+064C: "ٌ" ARABIC DAMMATAN
-         U+0653: "ٓ" ARABIC MADDAH ABOVE
-         U+064F: "ُ" ARABIC DAMMA -->
-    <!-- U+0650: "ِ" ARABIC KASRA
-         U+064E: "َ" ARABIC FATHA
-         U+064B: "ً" ARABIC FATHATAN
-         U+0640: "ـ" ARABIC TATWEEL
-         U+064D: "ٍ" ARABIC KASRATAN -->
-    <!-- U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
-         U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
-         U+0654: "ٔ" ARABIC HAMZA ABOVE
-         U+0655: "ٕ" ARABIC HAMZA BELOW -->
-    <!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
-    <string name="more_keys_for_dash">"&#x0651;,&#x0652;,&#x064C;,&#x0653;,&#x064F;,&#x0650;,&#x064E;,&#x064B;,&#x0640;&#x0640;&#x0640;|&#x0640;,&#x064D;,&#x0654;,&#x0656;,&#x0655;,&#x0670;"</string>
-    <!-- U+266A: "♪" EIGHTH NOTE -->
-    <string name="more_keys_for_bullet">&#x266A;</string>
-    <!-- U+2605: "★" BLACK STAR
-         U+066D: "٭" ARABIC FIVE POINTED STAR -->
-    <string name="more_keys_for_star">&#x2605;,&#x066D;</string>
-    <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
-    <!-- U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
-         U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+FD3E ORNATE LEFT PARENTHESIS -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+FD3F ORNATE RIGHT PARENTHESIS -->
-    <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!4,&#xFD3E;|&#xFD3F;,&lt;|&gt;,{|},[|]</string>
-    <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!4,&#xFD3F;|&#xFD3E;,&gt;|&lt;,}|{,]|[</string>
-    <!-- U+2264: "≤" LESS-THAN OR EQUAL TO
-         U+2265: "≥" GREATER-THAN EQUAL TO
-         U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-         U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-         U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-         U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-         The following characters don't need BIDI mirroring.
-         U+2018: "‘" LEFT SINGLE QUOTATION MARK
-         U+2019: "’" RIGHT SINGLE QUOTATION MARK
-         U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
-         U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
-         U+201C: "“" LEFT DOUBLE QUOTATION MARK
-         U+201D: "”" RIGHT DOUBLE QUOTATION MARK
-         U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
-         U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <string name="more_keys_for_less_than">!fixedColumnOrder!3,&#x2039;|&#x203A;,&#x2264;|&#x2265;,&#x00AB;|&#x00BB;</string>
-    <string name="more_keys_for_greater_than">!fixedColumnOrder!3,&#x203A;|&#x2039;,&#x2265;|&#x2264;,&#x00BB;|&#x00AB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string> -->
-    <string name="more_keys_for_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
-    <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-</resources>
diff --git a/java/res/values-be/donottranslate-more-keys.xml b/java/res/values-be/donottranslate-more-keys.xml
deleted file mode 100644
index 835553a..0000000
--- a/java/res/values-be/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+045E: "ў" CYRILLIC SMALL LETTER SHORT U -->
-    <string name="keylabel_for_east_slavic_row1_9">&#x045E;</string>
-    <!-- U+044B: "ы" CYRILLIC SMALL LETTER YERU -->
-    <string name="keylabel_for_east_slavic_row2_1">&#x044B;</string>
-    <!-- U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
-    <string name="keylabel_for_east_slavic_row3_5">&#x0456;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_ha">&#x044A;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_soft_sign">&#x044A;</string>
-</resources>
diff --git a/java/res/values-ca/donottranslate-more-keys.xml b/java/res/values-ca/donottranslate-more-keys.xml
deleted file mode 100644
index baa23bf..0000000
--- a/java/res/values-ca/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00AA: "ª" FEMININE ORDINAL INDICATOR -->
-    <string name="more_keys_for_a">&#x00E0;,&#x00E1;,&#x00E4;,&#x00E2;,&#x00E3;,&#x00E5;,&#x0105;,&#x00E6;,&#x0101;,&#x00AA;</string>
-    <!-- U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E8;,&#x00E9;,&#x00EB;,&#x00EA;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EF;,&#x00EC;,&#x00EE;,&#x012F;,&#x012B;</string>
-    <!-- U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
-         U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
-    <string name="more_keys_for_o">&#x00F2;,&#x00F3;,&#x00F6;,&#x00F4;,&#x00F5;,&#x00F8;,&#x0153;,&#x014D;,&#x00BA;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x00FC;,&#x00F9;,&#x00FB;,&#x016B;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x00F1;,&#x0144;</string>
-    <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
-         U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
-    <string name="more_keys_for_c">&#x00E7;,&#x0107;,&#x010D;</string>
-    <!-- U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
-         U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
-    <string name="more_keys_for_l">&#x0140;,&#x0142;</string>
-</resources>
diff --git a/java/res/values-cs/donottranslate-more-keys.xml b/java/res/values-cs/donottranslate-more-keys.xml
deleted file mode 100644
index 9af6794..0000000
--- a/java/res/values-cs/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E0;,&#x00E2;,&#x00E4;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+011B: "ě" LATIN SMALL LETTER E WITH CARON
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E9;,&#x011B;,&#x00E8;,&#x00EA;,&#x00EB;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EE;,&#x00EF;,&#x00EC;,&#x012F;,&#x012B;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F6;,&#x00F4;,&#x00F2;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x016F;,&#x00FB;,&#x00FC;,&#x00F9;,&#x016B;</string>
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE -->
-    <string name="more_keys_for_s">&#x0161;,&#x00DF;,&#x015B;</string>
-    <!-- U+0148: "ň" LATIN SMALL LETTER N WITH CARON
-         U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x0148;,&#x00F1;,&#x0144;</string>
-    <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
-    <string name="more_keys_for_c">&#x010D;,&#x00E7;,&#x0107;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">&#x00FD;,&#x00FF;</string>
-    <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
-    <string name="more_keys_for_d">&#x010F;</string>
-    <!-- U+0159: "ř" LATIN SMALL LETTER R WITH CARON -->
-    <string name="more_keys_for_r">&#x0159;</string>
-    <!-- U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
-    <string name="more_keys_for_t">&#x0165;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE -->
-    <string name="more_keys_for_z">&#x017E;,&#x017A;,&#x017C;</string>
-</resources>
diff --git a/java/res/values-da/donottranslate-more-keys.xml b/java/res/values-da/donottranslate-more-keys.xml
deleted file mode 100644
index acc0c53..0000000
--- a/java/res/values-da/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E4;,&#x00E0;,&#x00E2;,&#x00E3;,&#x0101;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00EB;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EF;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F4;,&#x00F2;,&#x00F5;,&#x0153;,&#x014D;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x00FC;,&#x00FB;,&#x00F9;,&#x016B;</string>
-    <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
-    <string name="more_keys_for_s">&#x00DF;,&#x015B;,&#x0161;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x00F1;,&#x0144;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">&#x00FD;,&#x00FF;</string>
-    <!-- U+00F0: "ð" LATIN SMALL LETTER ETH -->
-    <string name="more_keys_for_d">&#x00F0;</string>
-    <!-- U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
-    <string name="more_keys_for_l">&#x0142;</string>
-    <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
-    <string name="keylabel_for_nordic_row1_11">&#x00E5;</string>
-    <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
-    <string name="keylabel_for_nordic_row2_10">&#x00E6;</string>
-    <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="keylabel_for_nordic_row2_11">&#x00F8;</string>
-    <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
-    <string name="more_keys_for_nordic_row2_10">&#x00E4;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
-    <string name="more_keys_for_nordic_row2_11">&#x00F6;</string>
-</resources>
diff --git a/java/res/values-de/donottranslate-more-keys.xml b/java/res/values-de/donottranslate-more-keys.xml
deleted file mode 100644
index 562e574..0000000
--- a/java/res/values-de/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E4;,&#x00E2;,&#x00E0;,&#x00E1;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
-    <!-- U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE -->
-    <string name="more_keys_for_e">&#x0117;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F6;,&#x00F4;,&#x00F2;,&#x00F3;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
-    <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FC;,&#x00FB;,&#x00F9;,&#x00FA;,&#x016B;</string>
-    <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
-    <string name="more_keys_for_s">&#x00DF;,&#x015B;,&#x0161;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x00F1;,&#x0144;</string>
-</resources>
diff --git a/java/res/values-en/donottranslate-more-keys.xml b/java/res/values-en/donottranslate-more-keys.xml
deleted file mode 100644
index 6e43e86..0000000
--- a/java/res/values-en/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E0;,&#x00E1;,&#x00E2;,&#x00E4;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
-    <!-- U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E8;,&#x00E9;,&#x00EA;,&#x00EB;,&#x0103;</string>
-    <!-- U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE -->
-    <string name="more_keys_for_i">&#x00EE;,&#x00EF;,&#x00ED;,&#x012B;,&#x00EC;</string>
-    <!-- U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE -->
-    <string name="more_keys_for_o">&#x00F4;,&#x00F6;,&#x00F2;,&#x00F3;,&#x0153;,&#x00F8;&#x014D;,&#x00F5;</string>
-    <!-- U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FB;,&#x00FC;,&#x00F9;,&#x00FA;,&#x016B;</string>
-    <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S -->
-    <string name="more_keys_for_s">&#x00DF;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
-    <string name="more_keys_for_n">&#x00F1;</string>
-    <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
-    <string name="more_keys_for_c">&#x00E7;</string>
-</resources>
diff --git a/java/res/values-es/donottranslate-more-keys.xml b/java/res/values-es/donottranslate-more-keys.xml
deleted file mode 100644
index f56b1d5..0000000
--- a/java/res/values-es/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00AA: "ª" FEMININE ORDINAL INDICATOR -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E0;,&#x00E4;,&#x00E2;,&#x00E3;,&#x00E5;,&#x0105;,&#x00E6;,&#x0101;,&#x00AA;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00E8;,&#x00EB;,&#x00EA;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EF;,&#x00EC;,&#x00EE;,&#x012F;,&#x012B;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
-         U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F2;,&#x00F6;,&#x00F4;,&#x00F5;,&#x00F8;,&#x0153;,&#x014D;,&#x00BA;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x00FC;,&#x00F9;,&#x00FB;,&#x016B;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x00F1;,&#x0144;</string>
-    <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
-         U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
-    <string name="more_keys_for_c">&#x00E7;,&#x0107;,&#x010D;</string>
-    <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK
-         U+00BF: "¿" INVERTED QUESTION MARK -->
-    <string name="more_keys_for_punctuation">"!fixedColumnOrder!7,#,-,&#x00A1;,!,&#x00BF;,\\,,\?,\\%,+,;,:,/,(,),\@,&amp;,\",\'"</string>
-</resources>
diff --git a/java/res/values-et/donottranslate-more-keys.xml b/java/res/values-et/donottranslate-more-keys.xml
deleted file mode 100644
index 69cf654..0000000
--- a/java/res/values-et/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK -->
-    <string name="more_keys_for_a">&#x00E4;,&#x0101;,&#x00E0;,&#x00E1;,&#x00E2;,&#x00E3;,&#x00E5;,&#x00E6;,&#x0105;</string>
-    <!-- U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+011B: "ě" LATIN SMALL LETTER E WITH CARON -->
-    <string name="more_keys_for_e">&#x0113;,&#x00E8;,&#x0117;,&#x00E9;,&#x00EA;,&#x00EB;,&#x0119;,&#x011B;</string>
-    <!-- U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+0131: "ı" LATIN SMALL LETTER DOTLESS I -->
-    <string name="more_keys_for_i">&#x012B;,&#x00EC;,&#x012F;,&#x00ED;,&#x00EE;,&#x00EF;,&#x0131;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="more_keys_for_o">&#x00F6;,&#x00F5;,&#x00F2;,&#x00F3;,&#x00F4;,&#x0153;,&#x0151;,&#x00F8;</string>
-    <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
-         U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
-         U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
-    <string name="more_keys_for_u">&#x00FC;,&#x016B;,&#x0173;,&#x00F9;,&#x00FA;,&#x00FB;,&#x016F;,&#x0171;</string>
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA -->
-    <string name="more_keys_for_s">&#x0161;,&#x00DF;,&#x015B;,&#x015F;</string>
-    <!-- U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
-         U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x0146;,&#x00F1;,&#x0144;,&#x0144;</string>
-    <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
-    <string name="more_keys_for_c">&#x010D;,&#x00E7;,&#x0107;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">&#x00FD;,&#x00FF;</string>
-    <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
-    <string name="more_keys_for_d">&#x010F;</string>
-    <!-- U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
-         U+0159: "ř" LATIN SMALL LETTER R WITH CARON
-         U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE -->
-    <string name="more_keys_for_r">&#x0157;,&#x0159;,&#x0155;</string>
-    <!-- U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
-         U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
-    <string name="more_keys_for_t">&#x0163;,&#x0165;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE -->
-    <string name="more_keys_for_z">&#x017E;,&#x017C;,&#x017A;</string>
-    <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
-    <string name="more_keys_for_k">&#x0137;</string>
-    <!-- U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
-         U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
-         U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
-         U+013E: "ľ" LATIN SMALL LETTER L WITH CARON -->
-    <string name="more_keys_for_l">&#x013C;,&#x0142;,&#x013A;,&#x013E;</string>
-    <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
-         U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
-    <string name="more_keys_for_g">&#x0123;,&#x011F;</string>
-    <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS -->
-    <string name="keylabel_for_nordic_row1_11">&#x00FC;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
-    <string name="keylabel_for_nordic_row2_10">&#x00F6;</string>
-    <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
-    <string name="keylabel_for_nordic_row2_11">&#x00E4;</string>
-    <!-- U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE -->
-    <string name="more_keys_for_nordic_row2_10">&#x00F5;</string>
-</resources>
diff --git a/java/res/values-fa/donottranslate-more-keys.xml b/java/res/values-fa/donottranslate-more-keys.xml
deleted file mode 100644
index 1da1c18..0000000
--- a/java/res/values-fa/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+061F: "؟" ARABIC QUESTION MARK
-         U+060C: "،" ARABIC COMMA
-         U+061B: "؛" ARABIC SEMICOLON -->
-    <!-- U+0650: "ِ" ARABIC KASRA
-         U+064E: "َ" ARABIC FATHA
-         U+064D: "ٍ" ARABIC KASRATAN
-         U+064B: "ً" ARABIC FATHATAN
-         U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
-         U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
-         U+0655: "ٕ" ARABIC HAMZA BELOW
-         U+0654: "ٔ" ARABIC HAMZA ABOVE -->
-    <!-- U+064F: "ُ" ARABIC DAMMA
-         U+064C: "ٌ" ARABIC DAMMATAN
-         U+0651: "ّ" ARABIC SHADDA
-         U+0652: "ْ" ARABIC SUKUN
-         U+0653: "ٓ" ARABIC MADDAH ABOVE
-         U+0640: "ـ" ARABIC TATWEEL -->
-    <!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
-    <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',-,:,!,&#x061F;,&#x060C;,&#x061B;,&#x0650;,&#x064E;,&#x064D;,&#x064B;,&#x0656;,&#x0670;,&#x0655;,&#x0654;,&#x064F;,&#x064C;,&#x0651;,&#x0652;,&#x0653;,&#x0640;&#x0640;&#x0640;|&#x0640;,/"</string>
-    <string name="keyhintlabel_for_punctuation">&#x064B;</string>
-    <!-- U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE -->
-    <string name="keylabel_for_symbols_1">&#x06F1;</string>
-    <!-- U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO -->
-    <string name="keylabel_for_symbols_2">&#x06F2;</string>
-    <!-- U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE -->
-    <string name="keylabel_for_symbols_3">&#x06F3;</string>
-    <!-- U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR -->
-    <string name="keylabel_for_symbols_4">&#x06F4;</string>
-    <!-- U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE -->
-    <string name="keylabel_for_symbols_5">&#x06F5;</string>
-    <!-- U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX -->
-    <string name="keylabel_for_symbols_6">&#x06F6;</string>
-    <!-- U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN -->
-    <string name="keylabel_for_symbols_7">&#x06F7;</string>
-    <!-- U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
-    <string name="keylabel_for_symbols_8">&#x06F8;</string>
-    <!-- U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE -->
-    <string name="keylabel_for_symbols_9">&#x06F9;</string>
-    <!-- U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO -->
-    <string name="keylabel_for_symbols_0">&#x06F0;</string>
-    <string name="additional_more_keys_for_symbols_1">1</string>
-    <string name="additional_more_keys_for_symbols_2">2</string>
-    <string name="additional_more_keys_for_symbols_3">3</string>
-    <string name="additional_more_keys_for_symbols_4">4</string>
-    <string name="additional_more_keys_for_symbols_5">5</string>
-    <string name="additional_more_keys_for_symbols_6">6</string>
-    <string name="additional_more_keys_for_symbols_7">7</string>
-    <string name="additional_more_keys_for_symbols_8">8</string>
-    <string name="additional_more_keys_for_symbols_9">9</string>
-    <!-- U+066B: "٫" ARABIC DECIMAL SEPARATOR
-         U+066C: "٬" ARABIC THOUSANDS SEPARATOR -->
-    <string name="additional_more_keys_for_symbols_0">0,&#x066B;,&#x066C;</string>
-    <!-- U+060C: "،" ARABIC COMMA -->
-    <string name="keylabel_for_comma">&#x060C;</string>
-    <string name="more_keys_for_comma">"\\,"</string>
-    <string name="keylabel_for_symbols_question">&#x061F;</string>
-    <string name="keylabel_for_symbols_semicolon">&#x061B;</string>
-    <!-- U+066A: "٪" ARABIC PERCENT SIGN -->
-    <string name="keylabel_for_symbols_percent">&#x066A;</string>
-    <string name="more_keys_for_symbols_question">\?</string>
-    <string name="more_keys_for_symbols_semicolon">;</string>
-    <!-- U+2030: "‰" PER MILLE SIGN -->
-    <string name="more_keys_for_symbols_percent">%,&#x2030;</string>
-    <!-- U+060C: "،" ARABIC COMMA
-         U+061B: "؛" ARABIC SEMICOLON
-         U+061F: "؟" ARABIC QUESTION MARK -->
-    <string name="keylabel_for_tablet_comma">"&#x060C;"</string>
-    <string name="keyhintlabel_for_tablet_comma">"!"</string>
-    <string name="more_keys_for_tablet_comma">"!,\\,"</string>
-    <string name="keyhintlabel_for_tablet_period">"&#x061F;"</string>
-    <string name="more_keys_for_tablet_period">"&#x061F;,\?"</string>
-    <string name="keyhintlabel_for_dash">&#x064B;</string>
-    <string name="more_keys_for_apostrophe">"&#x061F;,&#x061B;,!,:,-,/,\',\""</string>
-    <!-- U+0651: "ّ" ARABIC SHADDA
-         U+0652: "ْ" ARABIC SUKUN
-         U+064C: "ٌ" ARABIC DAMMATAN
-         U+0653: "ٓ" ARABIC MADDAH ABOVE
-         U+064F: "ُ" ARABIC DAMMA -->
-    <!-- U+0650: "ِ" ARABIC KASRA
-         U+064E: "َ" ARABIC FATHA
-         U+064B: "ً" ARABIC FATHATAN
-         U+0640: "ـ" ARABIC TATWEEL
-         U+064D: "ٍ" ARABIC KASRATAN -->
-    <!-- U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
-         U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
-         U+0654: "ٔ" ARABIC HAMZA ABOVE
-         U+0655: "ٕ" ARABIC HAMZA BELOW -->
-    <!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
-    <string name="more_keys_for_dash">"&#x0651;,&#x0652;,&#x064C;,&#x0653;,&#x064F;,&#x0650;,&#x064E;,&#x064B;,&#x0640;&#x0640;&#x0640;|&#x0640;,&#x064D;,&#x0654;,&#x0656;,&#x0655;,_,&#x0670;"</string>
-    <!-- U+266A: "♪" EIGHTH NOTE -->
-    <string name="more_keys_for_bullet">&#x266A;</string>
-    <!-- U+2605: "★" BLACK STAR
-         U+066D: "٭" ARABIC FIVE POINTED STAR -->
-    <string name="more_keys_for_star">&#x2605;,&#x066D;</string>
-    <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
-    <!-- U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
-         U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+FD3E ORNATE LEFT PARENTHESIS -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+FD3F ORNATE RIGHT PARENTHESIS -->
-    <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!4,&#xFD3E;|&#xFD3F;,&lt;|&gt;,{|},[|]</string>
-    <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!4,&#xFD3F;|&#xFD3E;,&gt;|&lt;,}|{,]|[</string>
-    <!-- U+2264: "≤" LESS-THAN OR EQUAL TO
-         U+2265: "≥" GREATER-THAN EQUAL TO
-         U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-         U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-         U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-         U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-         The following characters don't need BIDI mirroring.
-         U+2018: "‘" LEFT SINGLE QUOTATION MARK
-         U+2019: "’" RIGHT SINGLE QUOTATION MARK
-         U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
-         U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
-         U+201C: "“" LEFT DOUBLE QUOTATION MARK
-         U+201D: "”" RIGHT DOUBLE QUOTATION MARK
-         U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
-         U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <string name="more_keys_for_less_than">!fixedColumnOrder!3,&#x2039;|&#x203A;,&#x2264;|&#x2265;,&#x00AB;|&#x00BB;</string>
-    <string name="more_keys_for_greater_than">!fixedColumnOrder!3,&#x203A;|&#x2039;,&#x2265;|&#x2264;,&#x00BB;|&#x00AB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string> -->
-    <string name="more_keys_for_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
-    <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-</resources>
diff --git a/java/res/values-fi/donottranslate-more-keys.xml b/java/res/values-fi/donottranslate-more-keys.xml
deleted file mode 100644
index 25b7858..0000000
--- a/java/res/values-fi/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E6;,&#x00E0;,&#x00E1;,&#x00E2;,&#x00E3;,&#x0101;</string>
-    <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F8;,&#x00F4;,&#x00F2;,&#x00F3;,&#x00F5;,&#x0153;,&#x014D;</string>
-    <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS -->
-    <string name="more_keys_for_u">&#x00FC;</string>
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE -->
-    <string name="more_keys_for_s">&#x0161;,&#x00DF;,&#x015B;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE -->
-    <string name="more_keys_for_z">&#x017E;,&#x017A;,&#x017C;</string>
-    <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
-    <string name="keylabel_for_nordic_row1_11">&#x00E5;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
-    <string name="keylabel_for_nordic_row2_10">&#x00F6;</string>
-    <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
-    <string name="keylabel_for_nordic_row2_11">&#x00E4;</string>
-    <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="more_keys_for_nordic_row2_10">&#x00F8;</string>
-    <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
-    <string name="more_keys_for_nordic_row2_11">&#x00E6;</string>
-</resources>
diff --git a/java/res/values-fr/donottranslate-more-keys.xml b/java/res/values-fr/donottranslate-more-keys.xml
deleted file mode 100644
index 7b11a18..0000000
--- a/java/res/values-fr/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00AA: "ª" FEMININE ORDINAL INDICATOR -->
-    <string name="more_keys_for_a">&#x00E0;,&#x00E2;,%,&#x00E6;,&#x00E1;,&#x00E4;,&#x00E3;,&#x00E5;,&#x0101;,&#x00AA;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00E8;,&#x00EA;,&#x00EB;,%,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00EE;,%,&#x00EF;,&#x00EC;,&#x00ED;,&#x012F;,&#x012B;</string>
-    <!-- U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
-         U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
-    <string name="more_keys_for_o">&#x00F4;,&#x0153;,%,&#x00F6;,&#x00F2;,&#x00F3;,&#x00F5;,&#x00F8;,&#x014D;,&#x00BA;</string>
-    <!-- U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00F9;,&#x00FB;,%,&#x00FC;,&#x00FA;,&#x016B;</string>
-    <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
-         U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
-    <string name="more_keys_for_c">&#x00E7;,&#x0107;,&#x010D;</string>
-    <!-- U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">%,&#x00FF;</string>
-</resources>
diff --git a/java/res/values-hi/donottranslate-more-keys.xml b/java/res/values-hi/donottranslate-more-keys.xml
deleted file mode 100644
index 19bcb9d..0000000
--- a/java/res/values-hi/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0967: "१" DEVANAGARI DIGIT ONE -->
-    <string name="keylabel_for_symbols_1">&#x0967;</string>
-    <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
-    <string name="keylabel_for_symbols_2">&#x0968;</string>
-    <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
-    <string name="keylabel_for_symbols_3">&#x0969;</string>
-    <!-- U+096A: "४" DEVANAGARI DIGIT FOUR -->
-    <string name="keylabel_for_symbols_4">&#x096A;</string>
-    <!-- U+096B: "५" DEVANAGARI DIGIT FIVE -->
-    <string name="keylabel_for_symbols_5">&#x096B;</string>
-    <!-- U+096C: "६" DEVANAGARI DIGIT SIX -->
-    <string name="keylabel_for_symbols_6">&#x096C;</string>
-    <!-- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
-    <string name="keylabel_for_symbols_7">&#x096D;</string>
-    <!-- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
-    <string name="keylabel_for_symbols_8">&#x096E;</string>
-    <!-- U+096F: "९" DEVANAGARI DIGIT NINE -->
-    <string name="keylabel_for_symbols_9">&#x096F;</string>
-    <!-- U+0966: "०" DEVANAGARI DIGIT ZERO -->
-    <string name="keylabel_for_symbols_0">&#x0966;</string>
-    <string name="additional_more_keys_for_symbols_1">1</string>
-    <string name="additional_more_keys_for_symbols_2">2</string>
-    <string name="additional_more_keys_for_symbols_3">3</string>
-    <string name="additional_more_keys_for_symbols_4">4</string>
-    <string name="additional_more_keys_for_symbols_5">5</string>
-    <string name="additional_more_keys_for_symbols_6">6</string>
-    <string name="additional_more_keys_for_symbols_7">7</string>
-    <string name="additional_more_keys_for_symbols_8">8</string>
-    <string name="additional_more_keys_for_symbols_9">9</string>
-    <string name="additional_more_keys_for_symbols_0">0</string>
-</resources>
diff --git a/java/res/values-hr/donottranslate-more-keys.xml b/java/res/values-hr/donottranslate-more-keys.xml
deleted file mode 100644
index 9b4005d..0000000
--- a/java/res/values-hr/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S -->
-    <string name="more_keys_for_s">&#x0161;,&#x015B;,&#x00DF;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x00F1;,&#x0144;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE -->
-    <string name="more_keys_for_z">&#x017E;,&#x017A;,&#x017C;</string>
-    <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
-         U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
-    <string name="more_keys_for_c">&#x010D;,&#x0107;,&#x00E7;</string>
-    <!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
-    <string name="more_keys_for_d">&#x0111;</string>
-</resources>
diff --git a/java/res/values-hu/donottranslate-more-keys.xml b/java/res/values-hu/donottranslate-more-keys.xml
deleted file mode 100644
index 4825910..0000000
--- a/java/res/values-hu/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E0;,&#x00E2;,&#x00E4;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00E8;,&#x00EA;,&#x00EB;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EE;,&#x00EF;,&#x00EC;,&#x012F;,&#x012B;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F6;,&#x0151;,&#x00F4;,&#x00F2;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x00FC;,&#x0171;,&#x00FB;,&#x00F9;,&#x016B;</string>
-</resources>
diff --git a/java/res/values-is/donottranslate-more-keys.xml b/java/res/values-is/donottranslate-more-keys.xml
deleted file mode 100644
index 284aae9..0000000
--- a/java/res/values-is/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E4;,&#x00E6;,&#x00E5;,&#x00E0;,&#x00E2;,&#x00E3;,&#x0101;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00EB;,&#x00E8;,&#x00EA;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EF;,&#x00EE;,&#x00EC;,&#x012F;,&#x012B;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F6;,&#x00F4;,&#x00F2;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x00FC;,&#x00FB;,&#x00F9;,&#x016B;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">&#x00FD;,&#x00FF;</string>
-    <!-- U+00F0: "ð" LATIN SMALL LETTER ETH -->
-    <string name="more_keys_for_d">&#x00F0;</string>
-    <!-- U+00FE: "þ" LATIN SMALL LETTER THORN -->
-    <string name="more_keys_for_t">&#x00FE;</string>
-    <!-- U+00F0: "ð" LATIN SMALL LETTER ETH -->
-    <string name="keylabel_for_nordic_row1_11">&#x00F0;</string>
-    <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
-    <string name="keylabel_for_nordic_row2_10">&#x00E6;</string>
-    <!-- U+00FE: "þ" LATIN SMALL LETTER THORN -->
-    <string name="keylabel_for_nordic_row2_11">&#x00FE;</string>
-</resources>
diff --git a/java/res/values-it/donottranslate-more-keys.xml b/java/res/values-it/donottranslate-more-keys.xml
deleted file mode 100644
index 17dd031..0000000
--- a/java/res/values-it/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00AA: "ª" FEMININE ORDINAL INDICATOR -->
-    <string name="more_keys_for_a">&#x00E0;,&#x00E1;,&#x00E2;,&#x00E4;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;,&#x00AA;</string>
-    <!-- U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E8;,&#x00E9;,&#x00EA;,&#x00EB;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00EC;,&#x00ED;,&#x00EE;,&#x00EF;,&#x012F;,&#x012B;</string>
-    <!-- U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
-         U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
-    <string name="more_keys_for_o">&#x00F2;,&#x00F3;,&#x00F4;,&#x00F6;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;,&#x00BA;</string>
-    <!-- U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00F9;,&#x00FA;,&#x00FB;,&#x00FC;,&#x016B;</string>
-</resources>
diff --git a/java/res/values-iw/donottranslate-more-keys.xml b/java/res/values-iw/donottranslate-more-keys.xml
deleted file mode 100644
index ad209ed..0000000
--- a/java/res/values-iw/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+2605: "★" BLACK STAR -->
-    <string name="more_keys_for_star">&#x2605;</string>
-    <!-- U+00B1: "±" PLUS-MINUS SIGN
-         U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN -->
-    <string name="more_keys_for_plus">&#x00B1;,&#xFB29;</string>
-    <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
-    <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!3,&lt;|&gt;,{|},[|]</string>
-    <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!3,&gt;|&lt;,}|{,]|[</string>
-    <!-- U+2264: "≤" LESS-THAN OR EQUAL TO
-         U+2265: "≥" GREATER-THAN EQUAL TO
-         U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-         U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-         U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-         U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-         The following characters don't need BIDI mirroring.
-         U+2018: "‘" LEFT SINGLE QUOTATION MARK
-         U+2019: "’" RIGHT SINGLE QUOTATION MARK
-         U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
-         U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
-         U+201C: "“" LEFT DOUBLE QUOTATION MARK
-         U+201D: "”" RIGHT DOUBLE QUOTATION MARK
-         U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
-         U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <string name="more_keys_for_less_than">!fixedColumnOrder!3,&#x2039;|&#x203A;,&#x2264;|&#x2265;,&#x00AB;|&#x00BB;</string>
-    <string name="more_keys_for_greater_than">!fixedColumnOrder!3,&#x203A;|&#x2039;,&#x2265;|&#x2264;,&#x00BB;|&#x00AB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string> -->
-    <string name="more_keys_for_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
-    <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-</resources>
diff --git a/java/res/values-ky/donottranslate-more-keys.xml b/java/res/values-ky/donottranslate-more-keys.xml
deleted file mode 100644
index fd90248..0000000
--- a/java/res/values-ky/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0449: "щ" CYRILLIC SMALL LETTER SHCHA -->
-    <string name="keylabel_for_east_slavic_row1_9">&#x0449;</string>
-    <!-- U+044B: "ы" CYRILLIC SMALL LETTER YERU -->
-    <string name="keylabel_for_east_slavic_row2_1">&#x044B;</string>
-    <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
-    <string name="keylabel_for_east_slavic_row3_5">&#x0438;</string>
-    <!-- U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U -->
-    <string name="more_keys_for_cyrillic_u">&#x04AF;</string>
-    <!-- U+04A3: "ң" CYRILLIC SMALL LETTER EN WITH DESCENDER -->
-    <string name="more_keys_for_cyrillic_en">&#x04A3;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_ha">&#x044A;</string>
-    <!-- U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O -->
-    <string name="more_keys_for_cyrillic_o">&#x04E9;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_soft_sign">&#x044A;</string>
-</resources>
diff --git a/java/res/values-lt/donottranslate-more-keys.xml b/java/res/values-lt/donottranslate-more-keys.xml
deleted file mode 100644
index 1491d95..0000000
--- a/java/res/values-lt/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+00E6: "æ" LATIN SMALL LETTER AE -->
-    <string name="more_keys_for_a">&#x0105;,&#x00E4;,&#x0101;,&#x00E0;,&#x00E1;,&#x00E2;,&#x00E3;,&#x00E5;,&#x00E6;</string>
-    <!-- U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+011B: "ě" LATIN SMALL LETTER E WITH CARON -->
-    <string name="more_keys_for_e">&#x0117;,&#x0119;,&#x0113;,&#x00E8;,&#x00E9;,&#x00EA;,&#x00EB;,&#x011B;</string>
-    <!-- U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+0131: "ı" LATIN SMALL LETTER DOTLESS I -->
-    <string name="more_keys_for_i">&#x012F;,&#x012B;,&#x00EC;,&#x00ED;,&#x00EE;,&#x00EF;,&#x0131;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="more_keys_for_o">&#x00F6;,&#x00F5;,&#x00F2;,&#x00F3;,&#x00F4;,&#x0153;,&#x0151;,&#x00F8;</string>
-    <!-- U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
-         U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
-         U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
-    <string name="more_keys_for_u">&#x016B;,&#x0173;,&#x00FC;,&#x016B;,&#x00F9;,&#x00FA;,&#x00FB;,&#x016F;,&#x0171;</string>
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA -->
-    <string name="more_keys_for_s">&#x0161;,&#x00DF;,&#x015B;,&#x015F;</string>
-    <!-- U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
-         U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x0146;,&#x00F1;,&#x0144;,&#x0144;</string>
-    <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
-    <string name="more_keys_for_c">&#x010D;,&#x00E7;,&#x0107;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">&#x00FD;,&#x00FF;</string>
-    <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
-    <string name="more_keys_for_d">&#x010F;</string>
-    <!-- U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
-         U+0159: "ř" LATIN SMALL LETTER R WITH CARON
-         U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE -->
-    <string name="more_keys_for_r">&#x0157;,&#x0159;,&#x0155;</string>
-    <!-- U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
-         U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
-    <string name="more_keys_for_t">&#x0163;,&#x0165;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE -->
-    <string name="more_keys_for_z">&#x017E;,&#x017C;,&#x017A;</string>
-    <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
-    <string name="more_keys_for_k">&#x0137;</string>
-    <!-- U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
-         U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
-         U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
-         U+013E: "ľ" LATIN SMALL LETTER L WITH CARON -->
-    <string name="more_keys_for_l">&#x013C;,&#x0142;,&#x013A;,&#x013E;</string>
-    <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
-         U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
-    <string name="more_keys_for_g">&#x0123;,&#x011F;</string>
-</resources>
diff --git a/java/res/values-lv/donottranslate-more-keys.xml b/java/res/values-lv/donottranslate-more-keys.xml
deleted file mode 100644
index d0a4448..0000000
--- a/java/res/values-lv/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK -->
-    <string name="more_keys_for_a">&#x0101;,&#x00E0;,&#x00E1;,&#x00E2;,&#x00E3;,&#x00E4;,&#x00E5;,&#x00E6;,&#x0105;</string>
-    <!-- U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+011B: "ě" LATIN SMALL LETTER E WITH CARON -->
-    <string name="more_keys_for_e">&#x0113;,&#x0117;,&#x00E8;,&#x00E9;,&#x00EA;,&#x00EB;,&#x0119;,&#x011B;</string>
-    <!-- U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+0131: "ı" LATIN SMALL LETTER DOTLESS I -->
-    <string name="more_keys_for_i">&#x012B;,&#x012F;,&#x00EC;,&#x00ED;,&#x00EE;,&#x00EF;,&#x0131;</string>
-    <!-- U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="more_keys_for_o">&#x00F2;,&#x00F3;,&#x00F4;,&#x00F5;,&#x00F6;,&#x0153;,&#x0151;,&#x00F8;</string>
-    <!-- U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
-         U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
-         U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
-    <string name="more_keys_for_u">&#x016B;,&#x0173;,&#x00F9;,&#x00FA;,&#x00FB;,&#x00FC;,&#x016F;,&#x0171;</string>
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA -->
-    <string name="more_keys_for_s">&#x0161;,&#x00DF;,&#x015B;,&#x015F;</string>
-    <!-- U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
-         U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x0146;,&#x00F1;,&#x0144;,&#x0144;</string>
-    <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
-    <string name="more_keys_for_c">&#x010D;,&#x00E7;,&#x0107;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">&#x00FD;,&#x00FF;</string>
-    <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
-    <string name="more_keys_for_d">&#x010F;</string>
-    <!-- U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
-         U+0159: "ř" LATIN SMALL LETTER R WITH CARON
-         U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE -->
-    <string name="more_keys_for_r">&#x0157;,&#x0159;,&#x0155;</string>
-    <!-- U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
-         U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
-    <string name="more_keys_for_t">&#x0163;,&#x0165;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE -->
-    <string name="more_keys_for_z">&#x017E;,&#x017C;,&#x017A;</string>
-    <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
-    <string name="more_keys_for_k">&#x0137;</string>
-    <!-- U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
-         U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
-         U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
-         U+013E: "ľ" LATIN SMALL LETTER L WITH CARON -->
-    <string name="more_keys_for_l">&#x013C;,&#x0142;,&#x013A;,&#x013E;</string>
-    <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
-         U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
-    <string name="more_keys_for_g">&#x0123;,&#x011F;</string>
-</resources>
diff --git a/java/res/values-mk/donottranslate-more-keys.xml b/java/res/values-mk/donottranslate-more-keys.xml
deleted file mode 100644
index d0cccf6..0000000
--- a/java/res/values-mk/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0455: "ѕ" CYRILLIC SMALL LETTER DZE -->
-    <string name="keylabel_for_south_slavic_row1_6">&#x0455;</string>
-    <!-- U+045C: "ќ" CYRILLIC SMALL LETTER KJE -->
-    <string name="keylabel_for_south_slavic_row2_11">&#x045C;</string>
-    <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
-    <string name="keylabel_for_south_slavic_row3_1">&#x0437;</string>
-    <!-- U+0453: "ѓ" CYRILLIC SMALL LETTER GJE -->
-    <string name="keylabel_for_south_slavic_row3_8">&#x0453;</string>
-    <!-- U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE -->
-    <string name="more_keys_for_cyrillic_ie">&#x0450;</string>
-    <!-- U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE -->
-    <string name="more_keys_for_cyrillic_i">&#x045D;</string>
-    <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
-         U+2019: "’" RIGHT SINGLE QUOTATION MARK
-         U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
-         U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
-         U+201C: "“" LEFT DOUBLE QUOTATION MARK
-         U+201D: "”" RIGHT DOUBLE QUOTATION MARK
-         U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
-         U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
-    <!-- <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201E;,&#x201C;,&#x201D;,&#x201F;,&#x00AB;,&#x00BB;</string> -->
-    <string name="more_keys_for_double_quote">!fixedColumnOrder!5,&#x201E;,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
-    <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
-    <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!5,&#x201E;,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-</resources>
diff --git a/java/res/values-nb/donottranslate-more-keys.xml b/java/res/values-nb/donottranslate-more-keys.xml
deleted file mode 100644
index 49e6d5f..0000000
--- a/java/res/values-nb/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E0;,&#x00E4;,&#x00E1;,&#x00E2;,&#x00E3;,&#x0101;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00E8;,&#x00EA;,&#x00EB;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F4;,&#x00F2;,&#x00F3;,&#x00F6;,&#x00F5;,&#x0153;,&#x014D;</string>
-    <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FC;,&#x00FB;,&#x00F9;,&#x00FA;,&#x016B;</string>
-    <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
-    <string name="keylabel_for_nordic_row1_11">&#x00E5;</string>
-    <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="keylabel_for_nordic_row2_10">&#x00F8;</string>
-    <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
-    <string name="keylabel_for_nordic_row2_11">&#x00E6;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
-    <string name="more_keys_for_nordic_row2_10">&#x00F6;</string>
-    <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
-    <string name="more_keys_for_nordic_row2_11">&#x00E4;</string>
-</resources>
diff --git a/java/res/values-nl/donottranslate-more-keys.xml b/java/res/values-nl/donottranslate-more-keys.xml
deleted file mode 100644
index 73768af..0000000
--- a/java/res/values-nl/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E4;,&#x00E2;,&#x00E0;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00EB;,&#x00EA;,&#x00E8;,&#x0119;,&#x0117;,&#x0113;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
-         U+0133: "ĳ" LATIN SMALL LIGATURE IJ -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EF;,&#x00EC;,&#x00EE;,&#x012F;,&#x012B;,&#x0133;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F6;,&#x00F4;,&#x00F2;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x00FC;,&#x00FB;,&#x00F9;,&#x016B;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x00F1;,&#x0144;</string>
-    <!-- U+0133: "ĳ" LATIN SMALL LIGATURE IJ -->
-    <string name="more_keys_for_y">&#x0133;</string>
-</resources>
diff --git a/java/res/values-pl/donottranslate-more-keys.xml b/java/res/values-pl/donottranslate-more-keys.xml
deleted file mode 100644
index 0f8a59b..0000000
--- a/java/res/values-pl/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x0105;,&#x00E1;,&#x00E0;,&#x00E2;,&#x00E4;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
-    <!-- U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
-    <string name="more_keys_for_e">&#x0119;,&#x00E8;,&#x00E9;,&#x00EA;,&#x00EB;,&#x0117;,&#x0113;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F6;,&#x00F4;,&#x00F2;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
-    <!-- U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
-    <string name="more_keys_for_s">&#x015B;,&#x00DF;,&#x0161;</string>
-    <!-- U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
-         U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
-    <string name="more_keys_for_n">&#x0144;,&#x00F1;</string>
-    <!-- U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
-         U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
-    <string name="more_keys_for_c">&#x0107;,&#x00E7;,&#x010D;</string>
-    <!-- U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
-         U+017E: "ž" LATIN SMALL LETTER Z WITH CARON -->
-    <string name="more_keys_for_z">&#x017C;,&#x017A;,&#x017E;</string>
-    <!-- U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
-    <string name="more_keys_for_l">&#x0142;</string>
-</resources>
diff --git a/java/res/values-pt/donottranslate-more-keys.xml b/java/res/values-pt/donottranslate-more-keys.xml
deleted file mode 100644
index 0c9065f..0000000
--- a/java/res/values-pt/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00AA: "ª" FEMININE ORDINAL INDICATOR -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E3;,&#x00E0;,&#x00E2;,&#x00E4;,&#x00E5;,&#x00E6;,&#x00AA;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00EA;,&#x00E8;,&#x0119;,&#x0117;,&#x0113;,&#x00EB;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00ED;,&#x00EE;,&#x00EC;,&#x00EF;,&#x012F;,&#x012B;</string>
-    <!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
-         U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
-    <string name="more_keys_for_o">&#x00F3;,&#x00F5;,&#x00F4;,&#x00F2;,&#x00F6;,&#x0153;,&#x00F8;,&#x014D;,&#x00BA;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FA;,&#x00FC;,&#x00F9;,&#x00FB;,&#x016B;</string>
-    <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
-    <string name="more_keys_for_c">&#x00E7;,&#x010D;,&#x0107;</string>
-</resources>
diff --git a/java/res/values-rm/donottranslate-more-keys.xml b/java/res/values-rm/donottranslate-more-keys.xml
deleted file mode 100644
index aa0d7f8..0000000
--- a/java/res/values-rm/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="more_keys_for_o">&#x00F2;,&#x00F3;,&#x00F6;,&#x00F4;,&#x00F5;,&#x0153;,&#x00F8;</string>
-</resources>
diff --git a/java/res/values-ro/donottranslate-more-keys.xml b/java/res/values-ro/donottranslate-more-keys.xml
deleted file mode 100644
index 44613cf..0000000
--- a/java/res/values-ro/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
-    <string name="more_keys_for_a">&#x00E2;,&#x00E3;,&#x0103;,&#x00E0;,&#x00E1;,&#x00E4;,&#x00E6;,&#x00E5;,&#x0101;</string>
-    <!-- U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x00EE;,&#x00EF;,&#x00EC;,&#x00ED;,&#x012F;,&#x012B;</string>
-    <!-- U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
-    <string name="more_keys_for_s">&#x0219;,&#x00DF;,&#x015B;,&#x0161;</string>
-    <!-- U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW -->
-    <string name="more_keys_for_t">&#x021B;</string>
-</resources>
diff --git a/java/res/values-ru/donottranslate-more-keys.xml b/java/res/values-ru/donottranslate-more-keys.xml
deleted file mode 100644
index 0bb5707..0000000
--- a/java/res/values-ru/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0449: "щ" CYRILLIC SMALL LETTER SHCHA -->
-    <string name="keylabel_for_east_slavic_row1_9">&#x0449;</string>
-    <!-- U+044B: "ы" CYRILLIC SMALL LETTER YERU -->
-    <string name="keylabel_for_east_slavic_row2_1">&#x044B;</string>
-    <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
-    <string name="keylabel_for_east_slavic_row3_5">&#x0438;</string>
-    <!-- U+0451: "ё" CYRILLIC SMALL LETTER IO -->
-    <string name="more_keys_for_cyrillic_ye">&#x0451;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_ha">&#x044A;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_soft_sign">&#x044A;</string>
-</resources>
diff --git a/java/res/values-sk/donottranslate-more-keys.xml b/java/res/values-sk/donottranslate-more-keys.xml
deleted file mode 100644
index f6e1e8d..0000000
--- a/java/res/values-sk/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK -->
-    <string name="more_keys_for_a">&#x00E1;,&#x00E4;,&#x0101;,&#x00E0;,&#x00E2;,&#x00E3;,&#x00E5;,&#x00E6;,&#x0105;</string>
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+011B: "ě" LATIN SMALL LETTER E WITH CARON
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK -->
-    <string name="more_keys_for_e">&#x00E9;,&#x011B;,&#x0113;,&#x0117;,&#x00E8;,&#x00EA;,&#x00EB;,&#x0119;</string>
-    <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+0131: "ı" LATIN SMALL LETTER DOTLESS I -->
-    <string name="more_keys_for_i">&#x00ED;,&#x012B;,&#x012F;,&#x00EC;,&#x00EE;,&#x00EF;,&#x0131;</string>
-    <!-- U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="more_keys_for_o">&#x00F4;,&#x00F3;,&#x00F6;,&#x00F2;,&#x00F5;,&#x0153;,&#x0151;,&#x00F8;</string>
-    <!-- U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
-         U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
-    <string name="more_keys_for_u">&#x00FA;,&#x016F;,&#x00FC;,&#x016B;,&#x0173;,&#x00F9;,&#x00FB;,&#x0171;</string>
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA -->
-    <string name="more_keys_for_s">&#x0161;,&#x00DF;,&#x015B;,&#x015F;</string>
-    <!-- U+0148: "ň" LATIN SMALL LETTER N WITH CARON
-         U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
-         U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
-    <string name="more_keys_for_n">&#x0148;,&#x0146;,&#x00F1;,&#x0144;,&#x0144;</string>
-    <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
-    <string name="more_keys_for_c">&#x010D;,&#x00E7;,&#x0107;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
-    <string name="more_keys_for_y">&#x00FD;,&#x00FF;</string>
-    <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
-    <string name="more_keys_for_d">&#x010F;</string>
-    <!-- U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
-         U+0159: "ř" LATIN SMALL LETTER R WITH CARON
-         U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA -->
-    <string name="more_keys_for_r">&#x0155;,&#x0159;,&#x0157;</string>
-    <!-- U+0165: "ť" LATIN SMALL LETTER T WITH CARON
-         U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA -->
-    <string name="more_keys_for_t">&#x0165;,&#x0163;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
-         U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE -->
-    <string name="more_keys_for_z">&#x017E;,&#x017C;,&#x017A;</string>
-    <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
-    <string name="more_keys_for_k">&#x0137;</string>
-    <!-- U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
-         U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
-         U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
-         U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
-    <string name="more_keys_for_l">&#x013E;,&#x013A;,&#x013C;,&#x0142;</string>
-    <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
-         U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
-    <string name="more_keys_for_g">&#x0123;,&#x011F;</string>
-</resources>
diff --git a/java/res/values-sl/donottranslate-more-keys.xml b/java/res/values-sl/donottranslate-more-keys.xml
deleted file mode 100644
index ccff2ac..0000000
--- a/java/res/values-sl/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
-    <string name="more_keys_for_s">&#x0161;</string>
-    <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
-    <string name="more_keys_for_c">&#x010D;,&#x0107;</string>
-    <!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
-    <string name="more_keys_for_d">&#x0111;</string>
-    <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON -->
-    <string name="more_keys_for_z">&#x017E;</string>
-</resources>
diff --git a/java/res/values-sr/donottranslate-more-keys.xml b/java/res/values-sr/donottranslate-more-keys.xml
deleted file mode 100644
index e85d3d7..0000000
--- a/java/res/values-sr/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
-    <string name="keylabel_for_south_slavic_row1_6">&#x0437;</string>
-    <!-- U+045B: "ћ" CYRILLIC SMALL LETTER TSHE -->
-    <string name="keylabel_for_south_slavic_row2_11">&#x045B;</string>
-    <!-- U+0455: "ѕ" CYRILLIC SMALL LETTER DZE -->
-    <string name="keylabel_for_south_slavic_row3_1">&#x0455;</string>
-    <!-- U+0452: "ђ" CYRILLIC SMALL LETTER DJE -->
-    <string name="keylabel_for_south_slavic_row3_8">&#x0452;</string>
-    <!-- U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE -->
-    <string name="more_keys_for_cyrillic_ie">&#x0450;</string>
-    <!-- U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE -->
-    <string name="more_keys_for_cyrillic_i">&#x045D;</string>
-    <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
-         U+2019: "’" RIGHT SINGLE QUOTATION MARK
-         U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
-         U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
-         U+201C: "“" LEFT DOUBLE QUOTATION MARK
-         U+201D: "”" RIGHT DOUBLE QUOTATION MARK
-         U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
-         U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
-    <!-- <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201E;,&#x201C;,&#x201D;,&#x201F;,&#x00AB;,&#x00BB;</string> -->
-    <string name="more_keys_for_double_quote">!fixedColumnOrder!5,&#x201E;,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
-    <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
-    <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!5,&#x201E;,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-</resources>
diff --git a/java/res/values-sv/donottranslate-more-keys.xml b/java/res/values-sv/donottranslate-more-keys.xml
deleted file mode 100644
index d479191..0000000
--- a/java/res/values-sv/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK -->
-    <string name="more_keys_for_e">&#x00E9;,&#x00E8;,&#x00EA;,&#x00EB;,&#x0119;</string>
-    <!-- U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x0153;,&#x00F4;,&#x00F2;,&#x00F3;,&#x00F5;,&#x014D;</string>
-    <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FC;,&#x00FB;,&#x00F9;,&#x00FA;,&#x016B;</string>
-    <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
-    <string name="more_keys_for_s">&#x00DF;,&#x015B;,&#x0161;</string>
-    <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
-    <string name="keylabel_for_nordic_row1_11">&#x00E5;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
-    <string name="keylabel_for_nordic_row2_10">&#x00F6;</string>
-    <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
-    <string name="keylabel_for_nordic_row2_11">&#x00E4;</string>
-    <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
-    <string name="more_keys_for_nordic_row2_10">&#x00F8;</string>
-    <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
-    <string name="more_keys_for_nordic_row2_11">&#x00E6;</string>
-</resources>
diff --git a/java/res/values-tr/donottranslate-more-keys.xml b/java/res/values-tr/donottranslate-more-keys.xml
deleted file mode 100644
index 1161811..0000000
--- a/java/res/values-tr/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX -->
-    <string name="more_keys_for_a">&#x00E2;</string>
-    <!-- U+0131: "ı" LATIN SMALL LETTER DOTLESS I
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
-    <string name="more_keys_for_i">&#x0131;,&#x00EE;,&#x00EF;,&#x00EC;,&#x00ED;,&#x012F;,&#x012B;</string>
-    <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
-    <string name="more_keys_for_o">&#x00F6;,&#x00F4;,&#x0153;,&#x00F2;,&#x00F3;,&#x00F5;,&#x00F8;,&#x014D;</string>
-    <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
-    <string name="more_keys_for_u">&#x00FC;,&#x00FB;,&#x00F9;,&#x00FA;,&#x016B;</string>
-    <!-- U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
-         U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
-    <string name="more_keys_for_s">&#x015F;,&#x00DF;,&#x015B;,&#x0161;</string>
-    <!-- U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
-    <string name="more_keys_for_g">&#x011F;</string>
-    <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
-         U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
-    <string name="more_keys_for_c">&#x00E7;,&#x0107;,&#x010D;</string>
-</resources>
diff --git a/java/res/values-uk/donottranslate-more-keys.xml b/java/res/values-uk/donottranslate-more-keys.xml
deleted file mode 100644
index 3239704..0000000
--- a/java/res/values-uk/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+0449: "щ" CYRILLIC SMALL LETTER SHCHA -->
-    <string name="keylabel_for_east_slavic_row1_9">&#x0449;</string>
-    <!-- U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
-    <string name="keylabel_for_east_slavic_row2_1">&#x0456;</string>
-    <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
-    <string name="keylabel_for_east_slavic_row3_5">&#x0438;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_ha">&#x044A;</string>
-    <!-- U+0457: "ї" CYRILLIC SMALL LETTER YI -->
-    <string name="more_keys_for_east_slavic_row2_1">&#x0457;</string>
-    <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_cyrillic_soft_sign">&#x044A;</string>
-</resources>
diff --git a/java/res/values-vi/donottranslate-more-keys.xml b/java/res/values-vi/donottranslate-more-keys.xml
deleted file mode 100644
index 6ef1c6b..0000000
--- a/java/res/values-vi/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+1EA3: "ả" LATIN SMALL LETTER A WITH HOOK ABOVE
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+1EA1: "ạ" LATIN SMALL LETTER A WITH DOT BELOW
-         U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
-         U+1EB1: "ằ" LATIN SMALL LETTER A WITH BREVE AND GRAVE
-         U+1EAF: "ắ" LATIN SMALL LETTER A WITH BREVE AND ACUTE
-         U+1EB3: "ẳ" LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-         U+1EB5: "ẵ" LATIN SMALL LETTER A WITH BREVE AND TILDE
-         U+1EB7: "ặ" LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+1EA7: "ầ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-         U+1EA5: "ấ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-         U+1EA9: "ẩ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-         U+1EAB: "ẫ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-         U+1EAD: "ậ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW -->
-    <string name="more_keys_for_a">&#x00E0;,&#x00E1;,&#x1EA3;,&#x00E3;,&#x1EA1;,&#x0103;,&#x1EB1;,&#x1EAF;,&#x1EB3;,&#x1EB5;,&#x1EB7;,&#x00E2;,&#x1EA7;,&#x1EA5;,&#x1EA9;,&#x1EAB;,&#x1EAD;</string>
-    <!-- U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE
-         U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE
-         U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-         U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-         U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-         U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-         U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW -->
-    <string name="more_keys_for_e">&#x00E8;,&#x00E9;,&#x1EBB;,&#x1EBD;,&#x1EB9;,&#x00EA;,&#x1EC1;,&#x1EBF;,&#x1EC3;,&#x1EC5;,&#x1EC7;</string>
-    <!-- U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+1EC9: "ỉ" LATIN SMALL LETTER I WITH HOOK ABOVE
-         U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
-         U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW -->
-    <string name="more_keys_for_i">&#x00EC;,&#x00ED;,&#x1EC9;,&#x0129;,&#x1ECB;</string>
-    <!-- U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+1ECF: "ỏ" LATIN SMALL LETTER O WITH HOOK ABOVE
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+1ECD: "ọ" LATIN SMALL LETTER O WITH DOT BELOW
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+1ED3: "ồ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-         U+1ED1: "ố" LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-         U+1ED5: "ổ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-         U+1ED7: "ỗ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-         U+1ED9: "ộ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-         U+01A1: "ơ" LATIN SMALL LETTER O WITH HORN
-         U+1EDD: "ờ" LATIN SMALL LETTER O WITH HORN AND GRAVE
-         U+1EDB: "ớ" LATIN SMALL LETTER O WITH HORN AND ACUTE
-         U+1EDF: "ở" LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-         U+1EE1: "ỡ" LATIN SMALL LETTER O WITH HORN AND TILDE
-         U+1EE3: "ợ" LATIN SMALL LETTER O WITH HORN AND DOT BELOW -->
-    <string name="more_keys_for_o">&#x00F2;,&#x00F3;,&#x1ECF;,&#x00F5;,&#x1ECD;,&#x00F4;,&#x1ED3;,&#x1ED1;,&#x1ED5;,&#x1ED7;,&#x1ED9;,&#x01A1;,&#x1EDD;,&#x1EDB;,&#x1EDF;,&#x1EE1;,&#x1EE3;</string>
-    <!-- U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+1EE7: "ủ" LATIN SMALL LETTER U WITH HOOK ABOVE
-         U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
-         U+1EE5: "ụ" LATIN SMALL LETTER U WITH DOT BELOW
-         U+01B0: "ư" LATIN SMALL LETTER U WITH HORN
-         U+1EEB: "ừ" LATIN SMALL LETTER U WITH HORN AND GRAVE
-         U+1EE9: "ứ" LATIN SMALL LETTER U WITH HORN AND ACUTE
-         U+1EED: "ử" LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-         U+1EEF: "ữ" LATIN SMALL LETTER U WITH HORN AND TILDE
-         U+1EF1: "ự" LATIN SMALL LETTER U WITH HORN AND DOT BELOW -->
-    <string name="more_keys_for_u">&#x00F9;,&#x00FA;,&#x1EE7;,&#x0169;,&#x1EE5;,&#x01B0;,&#x1EEB;,&#x1EE9;,&#x1EED;,&#x1EEF;,&#x1EF1;</string>
-    <!-- U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE
-         U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+1EF7: "ỷ" LATIN SMALL LETTER Y WITH HOOK ABOVE
-         U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE
-         U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW -->
-    <string name="more_keys_for_y">&#x1EF3;,&#x00FD;,&#x1EF7;,&#x1EF9;,&#x1EF5;</string>
-    <!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
-    <string name="more_keys_for_d">&#x0111;</string>
-</resources>
diff --git a/java/res/values-zz/donottranslate-more-keys.xml b/java/res/values-zz/donottranslate-more-keys.xml
deleted file mode 100644
index eb984a4..0000000
--- a/java/res/values-zz/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
-         U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
-         U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
-         U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
-         U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
-         U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
-         U+00E6: "æ" LATIN SMALL LETTER AE
-         U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
-         U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
-         U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
-         U+00AA: "ª" FEMININE ORDINAL INDICATOR -->
-    <string name="more_keys_for_a">&#x00E0;,&#x00E1;,&#x00E2;,&#x00E3;,&#x00E4;,&#x00E5;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;,&#x0103;,&#x0105;,&#x00AA;</string>
-    <!-- U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
-         U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
-         U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
-         U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
-         U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
-         U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE
-         U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
-         U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
-         U+011B: "ě" LATIN SMALL LETTER E WITH CARON -->
-    <string name="more_keys_for_e">&#x00E8;,&#x00E9;,&#x00EA;,&#x00EB;,&#x0113;,&#x0115;,&#x0117;,&#x0119;,&#x011B;</string>
-    <!-- U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
-         U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
-         U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
-         U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
-         U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
-         U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
-         U+012D: "ĭ" LATIN SMALL LETTER I WITH BREVE
-         U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
-         U+0131: "ı" LATIN SMALL LETTER DOTLESS I
-         U+0133: "ĳ" LATIN SMALL LIGATURE IJ -->
-    <string name="more_keys_for_i">&#x00EC;,&#x00ED;,&#x00EE;,&#x00EF;,&#x0129;,&#x012B;,&#x012D;,&#x012F;,&#x0131;,&#x0133;</string>
-    <!-- U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
-         U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
-         U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
-         U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
-         U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
-         U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
-         U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
-         U+014F: "ŏ" LATIN SMALL LETTER O WITH BREVE
-         U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
-         U+0153: "œ" LATIN SMALL LIGATURE OE
-         U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
-    <string name="more_keys_for_o">&#x00F2;,&#x00F3;,&#x00F4;,&#x00F5;,&#x00F6;,&#x00F8;,&#x014D;,&#x014F;,&#x0151;,&#x0153;,&#x00BA;</string>
-    <!-- U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
-         U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
-         U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
-         U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
-         U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
-         U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
-         U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE
-         U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
-         U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
-         U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK -->
-    <string name="more_keys_for_u">&#x00F9;,&#x00FA;,&#x00FB;,&#x00FC;,&#x0169;,&#x016B;,&#x016D;,&#x016F;,&#x0171;,&#x0173;</string>
-    <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S
-         U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
-         U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX
-         U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
-         U+0161: "š" LATIN SMALL LETTER S WITH CARON
-         U+017F: "ſ" LATIN SMALL LETTER LONG S -->
-    <string name="more_keys_for_s">&#x00DF;,&#x015B;,&#x015D;,&#x015F;,&#x0161;,&#x017F;</string>
-    <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
-         U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
-         U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
-         U+0148: "ň" LATIN SMALL LETTER N WITH CARON
-         U+0149: "ŉ" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-         U+014B: "ŋ" LATIN SMALL LETTER ENG -->
-    <string name="more_keys_for_n">&#x00F1;,&#x0144;,&#x0146;,&#x0148;,&#x0149;,&#x014B;</string>
-    <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
-         U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
-         U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX
-         U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
-         U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
-    <string name="more_keys_for_c">&#x00E7;,&#x0107;,&#x0109;,&#x010B;,&#x010D;</string>
-    <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
-         U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX
-         U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
-         U+0133: "ĳ" LATIN SMALL LIGATURE IJ -->
-    <string name="more_keys_for_y">&#x00FD;,&#x0177;,&#x00FF;,&#x0133;</string>
-    <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON
-         U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
-         U+00F0: "ð" LATIN SMALL LETTER ETH -->
-    <string name="more_keys_for_d">&#x010F;,&#x0111;,&#x00F0;</string>
-    <!-- U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
-         U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
-         U+0159: "ř" LATIN SMALL LETTER R WITH CARON -->
-    <string name="more_keys_for_r">&#x0155;,&#x0157;,&#x0159;</string>
-    <!-- U+00FE: "þ" LATIN SMALL LETTER THORN
-         U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
-         U+0165: "ť" LATIN SMALL LETTER T WITH CARON
-         U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE -->
-    <string name="more_keys_for_t">&#x00FE;,&#x0163;,&#x0165;,&#x0167;</string>
-    <!-- U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
-         U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
-         U+017E: "ž" LATIN SMALL LETTER Z WITH CARON -->
-    <string name="more_keys_for_z">&#x017A;,&#x017C;,&#x017E;</string>
-    <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
-         U+0138: "ĸ" LATIN SMALL LETTER KRA -->
-    <string name="more_keys_for_k">&#x0137;,&#x0138;</string>
-    <!-- U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
-         U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
-         U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
-         U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
-         U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
-    <string name="more_keys_for_l">&#x013A;,&#x013C;,&#x013E;,&#x0140;,&#x0142;</string>
-    <!-- U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX
-         U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
-         U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE
-         U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA -->
-    <string name="more_keys_for_g">&#x011D;,&#x011F;,&#x0121;,&#x0123;</string>
-    <!-- U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX -->
-    <string name="more_keys_for_h">&#x0125;</string>
-    <!-- U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX -->
-    <string name="more_keys_for_j">&#x0135;</string>
-    <!-- U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX -->
-    <string name="more_keys_for_w">&#x0175;</string>
-</resources>
diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml
deleted file mode 100644
index 14c278a..0000000
--- a/java/res/values/donottranslate-more-keys.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="more_keys_for_a"></string>
-    <string name="more_keys_for_e"></string>
-    <string name="more_keys_for_i"></string>
-    <string name="more_keys_for_o"></string>
-    <string name="more_keys_for_u"></string>
-    <string name="more_keys_for_s"></string>
-    <string name="more_keys_for_n"></string>
-    <string name="more_keys_for_c"></string>
-    <string name="more_keys_for_y"></string>
-    <string name="more_keys_for_d"></string>
-    <string name="more_keys_for_r"></string>
-    <string name="more_keys_for_t"></string>
-    <string name="more_keys_for_z"></string>
-    <string name="more_keys_for_k"></string>
-    <string name="more_keys_for_l"></string>
-    <string name="more_keys_for_g"></string>
-    <string name="more_keys_for_v"></string>
-    <string name="more_keys_for_h"></string>
-    <string name="more_keys_for_j"></string>
-    <string name="more_keys_for_w"></string>
-    <string name="keylabel_for_nordic_row1_11"></string>
-    <string name="keylabel_for_nordic_row2_10"></string>
-    <string name="keylabel_for_nordic_row2_11"></string>
-    <string name="more_keys_for_nordic_row2_10"></string>
-    <string name="more_keys_for_nordic_row2_11"></string>
-    <string name="keylabel_for_east_slavic_row1_9"></string>
-    <string name="keylabel_for_east_slavic_row2_1"></string>
-    <string name="keylabel_for_east_slavic_row3_5"></string>
-    <string name="more_keys_for_cyrillic_u"></string>
-    <string name="more_keys_for_cyrillic_ye"></string>
-    <string name="more_keys_for_cyrillic_en"></string>
-    <string name="more_keys_for_cyrillic_ha"></string>
-    <string name="more_keys_for_east_slavic_row2_1"></string>
-    <string name="more_keys_for_cyrillic_o"></string>
-    <string name="more_keys_for_cyrillic_soft_sign"></string>
-    <string name="keylabel_for_south_slavic_row1_6"></string>
-    <string name="keylabel_for_south_slavic_row2_11"></string>
-    <string name="keylabel_for_south_slavic_row3_1"></string>
-    <string name="keylabel_for_south_slavic_row3_8"></string>
-    <string name="more_keys_for_cyrillic_ie"></string>
-    <string name="more_keys_for_cyrillic_i"></string>
-    <!-- U+00A2: "¢" CENT SIGN
-         U+00A3: "£" POUND SIGN
-         U+20AC: "€" EURO SIGN
-         U+00A5: "¥" YEN SIGN
-         U+20B1: "₱" PESO SIGN -->
-    <string name="more_keys_for_currency_dollar">&#x00A2;,&#x00A3;,&#x20AC;,&#x00A5;,&#x20B1;</string>
-    <string name="more_keys_for_currency_euro">&#x00A2;,&#x00A3;,$,&#x00A5;,&#x20B1;</string>
-    <string name="more_keys_for_currency_pound">&#x00A2;,$,&#x20AC;,&#x00A5;,&#x20B1;</string>
-    <string name="more_keys_for_currency_general">&#x00A2;,$,&#x20AC;,&#x00A3;,&#x00A5;,&#x20B1;</string>
-    <string name="more_keys_for_smiley">"!fixedColumnOrder!5,!hasLabels!,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ "</string>
-    <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',#,-,:,!,\\,,\?,\@,&amp;,\\%,+,;,/,(,)"</string>
-    <string name="keyhintlabel_for_punctuation"></string>
-    <string name="keylabel_for_popular_domain">".com"</string>
-    <!-- popular web domains for the locale - most popular, displayed on the keyboard -->
-    <string name="more_keys_for_popular_domain">"!hasLabels!,.net,.org,.gov,.edu"</string>
-    <string name="keylabel_for_symbols_1">1</string>
-    <string name="keylabel_for_symbols_2">2</string>
-    <string name="keylabel_for_symbols_3">3</string>
-    <string name="keylabel_for_symbols_4">4</string>
-    <string name="keylabel_for_symbols_5">5</string>
-    <string name="keylabel_for_symbols_6">6</string>
-    <string name="keylabel_for_symbols_7">7</string>
-    <string name="keylabel_for_symbols_8">8</string>
-    <string name="keylabel_for_symbols_9">9</string>
-    <string name="keylabel_for_symbols_0">0</string>
-    <string name="additional_more_keys_for_symbols_1"></string>
-    <string name="additional_more_keys_for_symbols_2"></string>
-    <string name="additional_more_keys_for_symbols_3"></string>
-    <string name="additional_more_keys_for_symbols_4"></string>
-    <string name="additional_more_keys_for_symbols_5"></string>
-    <string name="additional_more_keys_for_symbols_6"></string>
-    <string name="additional_more_keys_for_symbols_7"></string>
-    <string name="additional_more_keys_for_symbols_8"></string>
-    <string name="additional_more_keys_for_symbols_9"></string>
-    <string name="additional_more_keys_for_symbols_0"></string>
-    <!-- U+00B9: "¹" SUPERSCRIPT ONE
-         U+00BD: "½" VULGAR FRACTION ONE HALF
-         U+2153: "⅓" VULGAR FRACTION ONE THIRD
-         U+00BC: "¼" VULGAR FRACTION ONE QUARTER
-         U+215B: "⅛" VULGAR FRACTION ONE EIGHTH -->
-    <string name="more_keys_for_symbols_1">&#x00B9;,&#x00BD;,&#x2153;,&#x00BC;,&#x215B;</string>
-    <!-- U+00B2: "²" SUPERSCRIPT TWO
-         U+2154: "⅔" VULGAR FRACTION TWO THIRDS -->
-    <string name="more_keys_for_symbols_2">&#x00B2;,&#x2154;</string>
-    <!-- U+00B3: "³" SUPERSCRIPT THREE
-         U+00BE: "¾" VULGAR FRACTION THREE QUARTERS
-         U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS -->
-    <string name="more_keys_for_symbols_3">&#x00B3;,&#x00BE;,&#x215C;</string>
-    <!-- U+2074: "⁴" SUPERSCRIPT FOUR -->
-    <string name="more_keys_for_symbols_4">&#x2074;</string>
-    <!-- U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS -->
-    <string name="more_keys_for_symbols_5">&#x215D;</string>
-    <string name="more_keys_for_symbols_6"></string>
-    <!-- U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS -->
-    <string name="more_keys_for_symbols_7">&#x215E;</string>
-    <string name="more_keys_for_symbols_8"></string>
-    <string name="more_keys_for_symbols_9"></string>
-    <!-- U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N
-         U+2205: "∅" EMPTY SET -->
-    <string name="more_keys_for_symbols_0">&#x207F;,&#x2205;</string>
-    <string name="more_keys_for_am_pm">!fixedColumnOrder!2,!hasLabels!,\@string/label_time_am,\@string/label_time_pm</string>
-    <string name="settings_as_more_key">!icon/settingsKey|!code/key_settings</string>
-    <string name="keylabel_for_comma">,</string>
-    <string name="more_keys_for_comma"></string>
-    <string name="action_next_as_more_key">!hasLabels!,\@string/label_next_key|!code/key_action_next</string>
-    <string name="action_previous_as_more_key">!hasLabels!,\@string/label_previous_key|!code/key_action_previous</string>
-    <string name="keylabel_for_symbols_question">\?</string>
-    <string name="keylabel_for_symbols_semicolon">;</string>
-    <string name="keylabel_for_symbols_percent">%</string>
-    <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
-    <string name="more_keys_for_symbols_question">&#x00BF;</string>
-    <string name="more_keys_for_symbols_semicolon"></string>
-    <!-- U+2030: "‰" PER MILLE SIGN -->
-    <string name="more_keys_for_symbols_percent">&#x2030;</string>
-    <string name="keylabel_for_tablet_comma">,</string>
-    <string name="keyhintlabel_for_tablet_comma">!</string>
-    <string name="more_keys_for_tablet_comma">!</string>
-    <string name="keyhintlabel_for_tablet_period">\?</string>
-    <string name="more_keys_for_tablet_period">\?</string>
-    <string name="keylabel_for_apostrophe">\'</string>
-    <string name="keylabel_for_dash">-</string>
-    <string name="keyhintlabel_for_apostrophe">\"</string>
-    <string name="keyhintlabel_for_dash">_</string>
-    <string name="more_keys_for_apostrophe">\"</string>
-    <string name="more_keys_for_dash">_</string>
-    <!-- U+266A: "♪" EIGHTH NOTE
-         U+2665: "♥" BLACK HEART SUIT
-         U+2660: "♠" BLACK SPADE SUIT
-         U+2666: "♦" BLACK DIAMOND SUIT
-         U+2663: "♣" BLACK CLUB SUIT -->
-    <string name="more_keys_for_bullet">&#x266A;,&#x2665;,&#x2660;,&#x2666;,&#x2663;</string>
-    <!-- U+2020: "†" DAGGER
-         U+2021: "‡" DOUBLE DAGGER
-         U+2605: "★" BLACK STAR -->
-    <string name="more_keys_for_star">&#x2020;,&#x2021;,&#x2605;</string>
-    <!-- U+00B1: "±" PLUS-MINUS SIGN -->
-    <string name="more_keys_for_plus">&#x00B1;</string>
-    <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
-    <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!3,&lt;,{,[</string>
-    <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!3,&gt;,},]</string>
-    <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-         U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-         U+2264: "≤" LESS-THAN OR EQUAL TO
-         U+2265: "≥" GREATER-THAN EQUAL TO
-         U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-         U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-         The following characters don't need BIDI mirroring.
-         U+2018: "‘" LEFT SINGLE QUOTATION MARK
-         U+2019: "’" RIGHT SINGLE QUOTATION MARK
-         U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
-         U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
-         U+201C: "“" LEFT DOUBLE QUOTATION MARK
-         U+201D: "”" RIGHT DOUBLE QUOTATION MARK
-         U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
-         U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <string name="more_keys_for_less_than">!fixedColumnOrder!3,&#x2039;,&#x2264;,&#x00AB;</string>
-    <string name="more_keys_for_greater_than">!fixedColumnOrder!3,&#x203A;,&#x2265;,&#x00BB;</string>
-    <string name="more_keys_for_single_quote">!fixedColumnOrder!4,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
-    <!-- <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;</string> -->
-    <string name="more_keys_for_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;</string>
-    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
-    <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
-    <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-</resources>
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index 9c8bd3c..bfe4232 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -45,24 +45,6 @@
     <!-- <string name="layout_switch_back_symbols">\"\'&#x2018;&#x2019;&#x201A;&#x201B;&#x201C;&#x201D;&#x201E;&#x201F;&#x00AB;&#x00BB;</string> -->
     <string name="layout_switch_back_symbols"></string>
 
-    <!-- Label for "switch to more symbol" modifier key.  Must be short to fit on key! -->
-    <string name="label_to_more_symbol_key">= \\ &lt;</string>
-    <!-- Label for "switch to more symbol" modifier key on tablets.  Must be short to fit on key! -->
-    <string name="label_to_more_symbol_for_tablet_key">~ \\ {</string>
-
-    <!-- Label for "Tab" key.  Must be short to fit on key! -->
-    <string name="label_tab_key">Tab</string>
-    <!-- Label for "switch to phone numeric" key.  Must be short to fit on key! -->
-    <string name="label_to_phone_numeric_key">123</string>
-    <!-- Label for "switch to phone symbols" key.  Must be short to fit on key! -->
-    <!-- U+FF0A: "＊" FULLWIDTH ASTERISK
-         U+FF03: "＃" FULLWIDTH NUMBER SIGN -->
-    <string name="label_to_phone_symbols_key">&#xFF0A;&#xFF03;</string>
-    <!-- Key label for "ante meridiem" -->
-    <string name="label_time_am">"AM"</string>
-    <!-- Key label for "post meridiem" -->
-    <string name="label_time_pm">"PM"</string>
-
     <!--  Always show the suggestion strip -->
     <string name="prefs_suggestion_visibility_show_value">0</string>
     <!--  Show the suggestion strip only on portrait mode -->
diff --git a/java/res/xml-sw600dp/key_shortcut.xml b/java/res/xml-sw600dp/key_shortcut.xml
index d4c45ad..2114c67 100644
--- a/java/res/xml-sw600dp/key_shortcut.xml
+++ b/java/res/xml-sw600dp/key_shortcut.xml
@@ -29,7 +29,7 @@
             <Key
                 latin:keyStyle="shortcutKeyStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="@string/settings_as_more_key"
+                latin:moreKeys="!label/settings_as_more_key"
                 latin:keyWidth="fillBoth" />
         </case>
         <case
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index b0f6109..e0676e8 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -92,7 +92,7 @@
         latin:keyLabel=":-)"
         latin:keyOutputText=":-) "
         latin:keyLabelFlags="hasPopupHint|preserveCase"
-        latin:moreKeys="@string/more_keys_for_smiley" />
+        latin:moreKeys="!label/more_keys_for_smiley" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="!code/key_shortcut"
@@ -131,35 +131,35 @@
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_symbol_key"
+        latin:keyLabel="!label/label_to_symbol_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_alpha_key"
+        latin:keyLabel="!label/label_to_alpha_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_more_symbol_for_tablet_key"
+        latin:keyLabel="!label/label_to_more_symbol_for_tablet_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_symbol_key"
+        latin:keyLabel="!label/label_to_symbol_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="comKeyStyle"
-        latin:keyLabel="@string/keylabel_for_popular_domain"
+        latin:keyLabel="!label/keylabel_for_popular_domain"
         latin:keyLabelFlags="fontNormal|hasPopupHint|preserveCase"
-        latin:keyOutputText="@string/keylabel_for_popular_domain"
-        latin:moreKeys="@string/more_keys_for_popular_domain" />
+        latin:keyOutputText="!label/keylabel_for_popular_domain"
+        latin:moreKeys="!label/more_keys_for_popular_domain" />
 </merge>
diff --git a/java/res/xml-sw600dp/keys_apostrophe_dash.xml b/java/res/xml-sw600dp/keys_apostrophe_dash.xml
index a53c1e4..faaae50 100644
--- a/java/res/xml-sw600dp/keys_apostrophe_dash.xml
+++ b/java/res/xml-sw600dp/keys_apostrophe_dash.xml
@@ -39,9 +39,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_apostrophe"
-                latin:keyHintLabel="@string/keyhintlabel_for_apostrophe"
-                latin:moreKeys="@string/more_keys_for_apostrophe"
+                latin:keyLabel="!label/keylabel_for_apostrophe"
+                latin:keyHintLabel="!label/keyhintlabel_for_apostrophe"
+                latin:moreKeys="!label/more_keys_for_apostrophe"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
@@ -54,9 +54,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_dash"
-                latin:keyHintLabel="@string/keyhintlabel_for_dash"
-                latin:moreKeys="@string/more_keys_for_dash"
+                latin:keyLabel="!label/keylabel_for_dash"
+                latin:keyHintLabel="!label/keyhintlabel_for_dash"
+                latin:moreKeys="!label/more_keys_for_dash"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
diff --git a/java/res/xml-sw600dp/keys_comma_period.xml b/java/res/xml-sw600dp/keys_comma_period.xml
index f5f307b..4a83cc8 100644
--- a/java/res/xml-sw600dp/keys_comma_period.xml
+++ b/java/res/xml-sw600dp/keys_comma_period.xml
@@ -32,14 +32,14 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_tablet_comma"
-                latin:keyHintLabel="@string/keyhintlabel_for_tablet_comma"
-                latin:moreKeys="@string/more_keys_for_tablet_comma"
+                latin:keyLabel="!label/keylabel_for_tablet_comma"
+                latin:keyHintLabel="!label/keyhintlabel_for_tablet_comma"
+                latin:moreKeys="!label/more_keys_for_tablet_comma"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
             <Key
                 latin:keyLabel="."
-                latin:keyHintLabel="@string/keyhintlabel_for_tablet_period"
-                latin:moreKeys="@string/more_keys_for_tablet_period"
+                latin:keyHintLabel="!label/keyhintlabel_for_tablet_period"
+                latin:moreKeys="!label/more_keys_for_tablet_period"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
index e0121a3..fd77416 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols2.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols2.xml
@@ -26,13 +26,13 @@
     <Key
         latin:keyStyle="currencyKeyStyle" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_percent"
-        latin:moreKeys="@string/more_keys_for_symbols_percent" />
+        latin:keyLabel="!label/keylabel_for_symbols_percent"
+        latin:moreKeys="!label/more_keys_for_symbols_percent" />
     <Key
         latin:keyLabel="&amp;" />
     <Key
         latin:keyLabel="*"
-        latin:moreKeys="@string/more_keys_for_star" />
+        latin:moreKeys="!label/more_keys_for_star" />
     <!-- U+2013: "–" EN DASH
          U+2014: "—" EM DASH -->
     <Key
@@ -40,7 +40,7 @@
         latin:moreKeys="_,&#x2013;,&#x2014;" />
     <Key
         latin:keyLabel="+"
-        latin:moreKeys="@string/more_keys_for_plus" />
+        latin:moreKeys="!label/more_keys_for_plus" />
     <include
         latin:keyboardLayout="@xml/keys_parentheses" />
 </merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols3.xml b/java/res/xml-sw600dp/rowkeys_symbols3.xml
index 9293352..536ac05 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols3.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols3.xml
@@ -41,11 +41,11 @@
         </default>
     </switch>
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_semicolon"
-        latin:moreKeys="@string/more_keys_for_symbols_semicolon" />
+        latin:keyLabel="!label/keylabel_for_symbols_semicolon"
+        latin:moreKeys="!label/more_keys_for_symbols_semicolon" />
     <Key
-        latin:keyLabel="@string/keylabel_for_comma"
-        latin:moreKeys="@string/more_keys_for_comma" />
+        latin:keyLabel="!label/keylabel_for_comma"
+        latin:moreKeys="!label/more_keys_for_comma" />
     <Key
         latin:keyLabel="." />
     <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK -->
@@ -53,6 +53,6 @@
         latin:keyLabel="!"
         latin:moreKeys="&#x00A1;" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_question"
-        latin:moreKeys="@string/more_keys_for_symbols_question" />
+        latin:keyLabel="!label/keylabel_for_symbols_question"
+        latin:moreKeys="!label/more_keys_for_symbols_question" />
 </merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
index 356ee2f..914a449 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
@@ -30,7 +30,7 @@
     <!-- U+2022: "•" BULLET -->
     <Key
         latin:keyLabel="&#x2022;"
-        latin:moreKeys="@string/more_keys_for_bullet" />
+        latin:moreKeys="!label/more_keys_for_bullet" />
     <!-- U+221A: "√" SQUARE ROOT -->
     <Key
         latin:keyLabel="&#x221A;" />
diff --git a/java/res/xml-sw600dp/rows_number_normal.xml b/java/res/xml-sw600dp/rows_number_normal.xml
index be5776b..00fda28 100644
--- a/java/res/xml-sw600dp/rows_number_normal.xml
+++ b/java/res/xml-sw600dp/rows_number_normal.xml
@@ -70,7 +70,7 @@
                 <Key
                     latin:keyLabel=","
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:moreKeys="@string/more_keys_for_am_pm"
+                    latin:moreKeys="!label/more_keys_for_am_pm"
                     latin:keyStyle="numKeyStyle"
                     latin:keyWidth="9.25%p" />
             </case>
diff --git a/java/res/xml-sw600dp/rows_symbols4.xml b/java/res/xml-sw600dp/rows_symbols4.xml
index bfc9b2c..afa2652 100644
--- a/java/res/xml-sw600dp/rows_symbols4.xml
+++ b/java/res/xml-sw600dp/rows_symbols4.xml
@@ -37,7 +37,7 @@
             latin:keyWidth="39.750%p" />
         <Key
             latin:keyLabel="&quot;"
-            latin:moreKeys="@string/more_keys_for_tablet_double_quote" />
+            latin:moreKeys="!label/more_keys_for_tablet_double_quote" />
         <Key
             latin:keyLabel="_" />
         <Spacer
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
index aa9cd69..c3e2fd9 100644
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ b/java/res/xml-sw768dp/key_styles_common.xml
@@ -91,7 +91,7 @@
         latin:keyLabel=":-)"
         latin:keyOutputText=":-) "
         latin:keyLabelFlags="hasPopupHint|preserveCase"
-        latin:moreKeys="@string/more_keys_for_smiley" />
+        latin:moreKeys="!label/more_keys_for_smiley" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="!code/key_shortcut"
@@ -114,7 +114,7 @@
             <key-style
                 latin:styleName="tabKeyStyle"
                 latin:code="!code/key_action_previous"
-                latin:keyLabel="@string/label_tab_key"
+                latin:keyLabel="!label/label_tab_key"
                 latin:keyLabelFlags="fontNormal|preserveCase"
                 latin:backgroundType="functional" />
         </case>
@@ -122,7 +122,7 @@
             <key-style
                 latin:styleName="tabKeyStyle"
                 latin:code="!code/key_tab"
-                latin:keyLabel="@string/label_tab_key"
+                latin:keyLabel="!label/label_tab_key"
                 latin:keyLabelFlags="fontNormal|preserveCase"
                 latin:backgroundType="functional" />
         </default>
@@ -130,35 +130,35 @@
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_symbol_key"
+        latin:keyLabel="!label/label_to_symbol_key"
         latin:keyLabelFlags="fontNormal|preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_alpha_key"
+        latin:keyLabel="!label/label_to_alpha_key"
         latin:keyLabelFlags="fontNormal|preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_more_symbol_for_tablet_key"
+        latin:keyLabel="!label/label_to_more_symbol_for_tablet_key"
         latin:keyLabelFlags="fontNormal|preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_symbol_key"
+        latin:keyLabel="!label/label_to_symbol_key"
         latin:keyLabelFlags="fontNormal|preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="comKeyStyle"
-        latin:keyLabel="@string/keylabel_for_popular_domain"
+        latin:keyLabel="!label/keylabel_for_popular_domain"
         latin:keyLabelFlags="fontNormal|hasPopupHint|preserveCase"
-        latin:keyOutputText="@string/keylabel_for_popular_domain"
-        latin:moreKeys="@string/more_keys_for_popular_domain" />
+        latin:keyOutputText="!label/keylabel_for_popular_domain"
+        latin:moreKeys="!label/more_keys_for_popular_domain" />
 </merge>
diff --git a/java/res/xml-sw768dp/keys_apostrophe_dash.xml b/java/res/xml-sw768dp/keys_apostrophe_dash.xml
index a53c1e4..faaae50 100644
--- a/java/res/xml-sw768dp/keys_apostrophe_dash.xml
+++ b/java/res/xml-sw768dp/keys_apostrophe_dash.xml
@@ -39,9 +39,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_apostrophe"
-                latin:keyHintLabel="@string/keyhintlabel_for_apostrophe"
-                latin:moreKeys="@string/more_keys_for_apostrophe"
+                latin:keyLabel="!label/keylabel_for_apostrophe"
+                latin:keyHintLabel="!label/keyhintlabel_for_apostrophe"
+                latin:moreKeys="!label/more_keys_for_apostrophe"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
@@ -54,9 +54,9 @@
         </case>
         <default>
             <Key
-                latin:keyLabel="@string/keylabel_for_dash"
-                latin:keyHintLabel="@string/keyhintlabel_for_dash"
-                latin:moreKeys="@string/more_keys_for_dash"
+                latin:keyLabel="!label/keylabel_for_dash"
+                latin:keyHintLabel="!label/keyhintlabel_for_dash"
+                latin:moreKeys="!label/more_keys_for_dash"
                 latin:keyStyle="hasShiftedLetterHintStyle" />
         </default>
     </switch>
diff --git a/java/res/xml-sw768dp/rows_number_normal.xml b/java/res/xml-sw768dp/rows_number_normal.xml
index 2eeb6c9..f868cbb 100644
--- a/java/res/xml-sw768dp/rows_number_normal.xml
+++ b/java/res/xml-sw768dp/rows_number_normal.xml
@@ -72,7 +72,7 @@
                 <Key
                     latin:keyLabel=","
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:moreKeys="@string/more_keys_for_am_pm"
+                    latin:moreKeys="!label/more_keys_for_am_pm"
                     latin:keyStyle="numKeyStyle"
                     latin:keyWidth="8.047%p" />
             </case>
diff --git a/java/res/xml-sw768dp/rows_symbols4.xml b/java/res/xml-sw768dp/rows_symbols4.xml
index 19b36d6..dd1647b 100644
--- a/java/res/xml-sw768dp/rows_symbols4.xml
+++ b/java/res/xml-sw768dp/rows_symbols4.xml
@@ -37,7 +37,7 @@
             latin:keyWidth="37.500%p" />
         <Key
             latin:keyLabel="&quot;"
-            latin:moreKeys="@string/more_keys_for_tablet_double_quote" />
+            latin:moreKeys="!label/more_keys_for_tablet_double_quote" />
         <Key
             latin:keyLabel="_" />
         <switch>
diff --git a/java/res/xml/key_azerty_quote.xml b/java/res/xml/key_azerty_quote.xml
index 966ae6f..b8c51d3 100644
--- a/java/res/xml/key_azerty_quote.xml
+++ b/java/res/xml/key_azerty_quote.xml
@@ -31,7 +31,7 @@
         <default>
             <Key
                 latin:keyLabel="\'"
-                latin:moreKeys="\@string/more_keys_for_single_quote" />
+                latin:moreKeys="!label/more_keys_for_single_quote" />
         </default>
     </switch>
 </merge>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index b0b87a8..ec011d0 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -35,7 +35,7 @@
             <key-style
                 latin:styleName="f1MoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="@string/settings_as_more_key"
+                latin:moreKeys="!label/settings_as_more_key"
                 latin:backgroundType="functional" />
         </default>
     </switch>
@@ -98,7 +98,7 @@
                 latin:keyLabel=":-)"
                 latin:keyOutputText=":-) "
                 latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="@string/more_keys_for_smiley"
+                latin:moreKeys="!label/more_keys_for_smiley"
                 latin:backgroundType="functional" />
         </case>
     </switch>
@@ -158,7 +158,7 @@
                 latin:styleName="toSymbolKeyStyle"
                 latin:code="!code/key_switch_alpha_symbol"
                 latin:keyIcon="iconShortcutForLabel"
-                latin:keyLabel="@string/label_to_symbol_with_microphone_key"
+                latin:keyLabel="!label/label_to_symbol_with_microphone_key"
                 latin:keyLabelFlags="withIconRight|preserveCase"
                 latin:keyActionFlags="noKeyPreview"
                 latin:backgroundType="functional" />
@@ -167,7 +167,7 @@
             <key-style
                 latin:styleName="toSymbolKeyStyle"
                 latin:code="!code/key_switch_alpha_symbol"
-                latin:keyLabel="@string/label_to_symbol_key"
+                latin:keyLabel="!label/label_to_symbol_key"
                 latin:keyLabelFlags="preserveCase"
                 latin:keyActionFlags="noKeyPreview"
                 latin:backgroundType="functional" />
@@ -176,29 +176,29 @@
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_alpha_key"
+        latin:keyLabel="!label/label_to_alpha_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_more_symbol_key"
+        latin:keyLabel="!label/label_to_more_symbol_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="!code/key_shift"
-        latin:keyLabel="@string/label_to_symbol_key"
+        latin:keyLabel="!label/label_to_symbol_key"
         latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
         latin:styleName="punctuationKeyStyle"
         latin:keyLabel="."
-        latin:keyHintLabel="@string/keyhintlabel_for_punctuation"
+        latin:keyHintLabel="!label/keyhintlabel_for_punctuation"
         latin:keyLabelFlags="hasPopupHint|preserveCase"
-        latin:moreKeys="@string/more_keys_for_punctuation"
+        latin:moreKeys="!label/more_keys_for_punctuation"
         latin:backgroundType="functional" />
 </merge>
diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_styles_currency.xml
index bd1d959..6057d5b 100644
--- a/java/res/xml/key_styles_currency.xml
+++ b/java/res/xml/key_styles_currency.xml
@@ -86,7 +86,7 @@
             <key-style
                 latin:styleName="currencyKeyStyle"
                 latin:keyLabel="&#x20AA;"
-                latin:moreKeys="@string/more_keys_for_currency_general" />
+                latin:moreKeys="!label/more_keys_for_currency_general" />
             <key-style
                 latin:styleName="moreCurrency1KeyStyle"
                 latin:keyLabel="&#x00A3;" />
@@ -112,7 +112,7 @@
             <key-style
                 latin:styleName="currencyKeyStyle"
                 latin:keyLabel="&#xFDFC;"
-                latin:moreKeys="@string/more_keys_for_currency_general" />
+                latin:moreKeys="!label/more_keys_for_currency_general" />
             <key-style
                 latin:styleName="moreCurrency1KeyStyle"
                 latin:keyLabel="£" />
@@ -138,7 +138,7 @@
             <key-style
                 latin:styleName="currencyKeyStyle"
                 latin:keyLabel="&#x00A3;"
-                latin:moreKeys="@string/more_keys_for_currency_pound" />
+                latin:moreKeys="!label/more_keys_for_currency_pound" />
             <key-style
                 latin:styleName="moreCurrency1KeyStyle"
                 latin:keyLabel="&#x20AC;" />
diff --git a/java/res/xml/key_styles_currency_dollar.xml b/java/res/xml/key_styles_currency_dollar.xml
index 8dd8498..704970a 100644
--- a/java/res/xml/key_styles_currency_dollar.xml
+++ b/java/res/xml/key_styles_currency_dollar.xml
@@ -26,7 +26,7 @@
     <key-style
         latin:styleName="currencyKeyStyle"
         latin:keyLabel="$"
-        latin:moreKeys="@string/more_keys_for_currency_dollar" />
+        latin:moreKeys="!label/more_keys_for_currency_dollar" />
     <key-style
         latin:styleName="moreCurrency1KeyStyle"
         latin:keyLabel="&#x00A3;" />
diff --git a/java/res/xml/key_styles_currency_euro.xml b/java/res/xml/key_styles_currency_euro.xml
index 0573e09..074d4c0 100644
--- a/java/res/xml/key_styles_currency_euro.xml
+++ b/java/res/xml/key_styles_currency_euro.xml
@@ -26,7 +26,7 @@
     <key-style
         latin:styleName="currencyKeyStyle"
         latin:keyLabel="&#x20AC;"
-        latin:moreKeys="@string/more_keys_for_currency_euro" />
+        latin:moreKeys="!abel/more_keys_for_currency_euro" />
     <key-style
         latin:styleName="moreCurrency1KeyStyle"
         latin:keyLabel="&#x00A3;" />
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
index 49759c4..04bd80d 100644
--- a/java/res/xml/key_styles_enter.xml
+++ b/java/res/xml/key_styles_enter.xml
@@ -30,7 +30,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="@string/action_previous_as_more_key" />
+                latin:moreKeys="!label/action_previous_as_more_key" />
         </case>
         <case
             latin:imeAction="actionNext"
@@ -46,7 +46,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="@string/action_next_as_more_key" />
+                latin:moreKeys="!label/action_next_as_more_key" />
         </case>
         <case
             latin:imeAction="actionPrevious"
@@ -63,7 +63,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,@string/action_previous_as_more_key,@string/action_next_as_more_key" />
+                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!label/action_previous_as_more_key,!label/action_next_as_more_key" />
         </case>
         <case
             latin:navigateNext="true"
@@ -72,7 +72,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="@string/action_next_as_more_key" />
+                latin:moreKeys="!label/action_next_as_more_key" />
         </case>
         <case
             latin:navigateNext="false"
@@ -81,7 +81,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="@string/action_previous_as_more_key" />
+                latin:moreKeys="!label/action_previous_as_more_key" />
         </case>
         <!-- naviagteNext="false" and navigatePrevious="false" -->
         <default>
@@ -119,7 +119,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="@string/label_go_key"
+                latin:keyLabel="!label/label_go_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -127,7 +127,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="@string/label_next_key"
+                latin:keyLabel="!label/label_next_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -135,7 +135,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="@string/label_previous_key"
+                latin:keyLabel="!label/label_previous_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -143,7 +143,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="@string/label_done_key"
+                latin:keyLabel="!label/label_done_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
@@ -151,7 +151,7 @@
         >
             <key-style
                 latin:styleName="enterKeyStyle"
-                latin:keyLabel="@string/label_send_key"
+                latin:keyLabel="!label/label_send_key"
                 latin:parentStyle="defaultActionKeyStyle" />
         </case>
         <case
diff --git a/java/res/xml/key_styles_number.xml b/java/res/xml/key_styles_number.xml
index e1c5e5b..d796b92 100644
--- a/java/res/xml/key_styles_number.xml
+++ b/java/res/xml/key_styles_number.xml
@@ -100,25 +100,25 @@
     <key-style
         latin:styleName="numPhoneToSymbolKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_phone_symbols_key"
+        latin:keyLabel="!label/label_to_phone_symbols_key"
         latin:parentStyle="numModeKeyStyle" />
     <key-style
         latin:styleName="numPhoneToNumericKeyStyle"
         latin:code="!code/key_switch_alpha_symbol"
-        latin:keyLabel="@string/label_to_phone_numeric_key"
+        latin:keyLabel="!label/label_to_phone_numeric_key"
         latin:parentStyle="numModeKeyStyle" />
     <!-- U+002C: "," COMMA -->
     <key-style
         latin:styleName="numPauseKeyStyle"
         latin:code="0x002C"
-        latin:keyLabel="@string/label_pause_key"
+        latin:keyLabel="!label/label_pause_key"
         latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
         latin:parentStyle="numKeyBaseStyle" />
     <!-- U+003B: ";" SEMICOLON -->
     <key-style
         latin:styleName="numWaitKeyStyle"
         latin:code="0x003B"
-        latin:keyLabel="@string/label_wait_key"
+        latin:keyLabel="!label/label_wait_key"
         latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
         latin:parentStyle="numKeyBaseStyle" />
     <key-style
diff --git a/java/res/xml/keys_less_greater.xml b/java/res/xml/keys_less_greater.xml
index 831f2dd..7c154cb 100644
--- a/java/res/xml/keys_less_greater.xml
+++ b/java/res/xml/keys_less_greater.xml
@@ -24,9 +24,9 @@
     <Key
         latin:keyLabel="&lt;"
         latin:code="!code/key_less_than"
-        latin:moreKeys="@string/more_keys_for_less_than" />
+        latin:moreKeys="!label/more_keys_for_less_than" />
     <Key
         latin:keyLabel="&gt;"
         latin:code="!code/key_greater_than"
-        latin:moreKeys="@string/more_keys_for_greater_than" />
+        latin:moreKeys="!label/more_keys_for_greater_than" />
 </merge>
diff --git a/java/res/xml/keys_parentheses.xml b/java/res/xml/keys_parentheses.xml
index 502a84e..17d7285 100644
--- a/java/res/xml/keys_parentheses.xml
+++ b/java/res/xml/keys_parentheses.xml
@@ -24,9 +24,9 @@
     <Key
         latin:keyLabel="("
         latin:code="!code/key_left_parenthesis"
-        latin:moreKeys="@string/more_keys_for_left_parenthesis" />
+        latin:moreKeys="!label/more_keys_for_left_parenthesis" />
     <Key
         latin:keyLabel=")"
         latin:code="!code/key_right_parenthesis"
-        latin:moreKeys="@string/more_keys_for_right_parenthesis" />
+        latin:moreKeys="!label/more_keys_for_right_parenthesis" />
 </merge>
diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml
index b2b47e9..c085180 100644
--- a/java/res/xml/row_qwerty4.xml
+++ b/java/res/xml/row_qwerty4.xml
@@ -51,9 +51,9 @@
             <!-- latin:hasShortcutKey="false" -->
             <default>
                 <Key
-                    latin:keyLabel="@string/keylabel_for_comma"
+                    latin:keyLabel="!label/keylabel_for_comma"
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:additionalMoreKeys="@string/more_keys_for_comma"
+                    latin:additionalMoreKeys="!label/more_keys_for_comma"
                     latin:keyStyle="f1MoreKeysStyle" />
             </default>
         </switch>
diff --git a/java/res/xml/rowkeys_azerty1.xml b/java/res/xml/rowkeys_azerty1.xml
index 9983432..50a0162 100644
--- a/java/res/xml/rowkeys_azerty1.xml
+++ b/java/res/xml/rowkeys_azerty1.xml
@@ -25,47 +25,47 @@
         latin:keyLabel="a"
         latin:keyHintLabel="1"
         latin:additionalMoreKeys="1"
-        latin:moreKeys="@string/more_keys_for_a" />
+        latin:moreKeys="!label/more_keys_for_a" />
     <Key
         latin:keyLabel="z"
         latin:keyHintLabel="2"
         latin:additionalMoreKeys="2"
-        latin:moreKeys="@string/more_keys_for_z" />
+        latin:moreKeys="!label/more_keys_for_z" />
     <Key
         latin:keyLabel="e"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="@string/more_keys_for_e" />
+        latin:moreKeys="!label/more_keys_for_e" />
     <Key
         latin:keyLabel="r"
         latin:keyHintLabel="4"
         latin:additionalMoreKeys="4"
-        latin:moreKeys="@string/more_keys_for_r" />
+        latin:moreKeys="!label/more_keys_for_r" />
     <Key
         latin:keyLabel="t"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="@string/more_keys_for_t" />
+        latin:moreKeys="!label/more_keys_for_t" />
     <Key
         latin:keyLabel="y"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="@string/more_keys_for_y" />
+        latin:moreKeys="!label/more_keys_for_y" />
     <Key
         latin:keyLabel="u"
         latin:keyHintLabel="7"
         latin:additionalMoreKeys="7"
-        latin:moreKeys="@string/more_keys_for_u" />
+        latin:moreKeys="!label/more_keys_for_u" />
     <Key
         latin:keyLabel="i"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="@string/more_keys_for_i" />
+        latin:moreKeys="!label/more_keys_for_i" />
     <Key
         latin:keyLabel="o"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9"
-        latin:moreKeys="@string/more_keys_for_o" />
+        latin:moreKeys="!label/more_keys_for_o" />
     <Key
         latin:keyLabel="p"
         latin:keyHintLabel="0"
diff --git a/java/res/xml/rowkeys_azerty2.xml b/java/res/xml/rowkeys_azerty2.xml
index ff0b062..f453c24 100644
--- a/java/res/xml/rowkeys_azerty2.xml
+++ b/java/res/xml/rowkeys_azerty2.xml
@@ -25,27 +25,27 @@
         latin:keyLabel="q" />
     <Key
         latin:keyLabel="s"
-        latin:moreKeys="@string/more_keys_for_s" />
+        latin:moreKeys="!label/more_keys_for_s" />
     <Key
         latin:keyLabel="d"
-        latin:moreKeys="@string/more_keys_for_d" />
+        latin:moreKeys="!label/more_keys_for_d" />
     <Key
         latin:keyLabel="f" />
     <Key
         latin:keyLabel="g"
-        latin:moreKeys="@string/more_keys_for_g" />
+        latin:moreKeys="!label/more_keys_for_g" />
     <Key
         latin:keyLabel="h"
-        latin:moreKeys="@string/more_keys_for_h" />
+        latin:moreKeys="!label/more_keys_for_h" />
     <Key
         latin:keyLabel="j"
-        latin:moreKeys="@string/more_keys_for_j" />
+        latin:moreKeys="!label/more_keys_for_j" />
     <Key
         latin:keyLabel="k"
-        latin:moreKeys="@string/more_keys_for_k" />
+        latin:moreKeys="!label/more_keys_for_k" />
     <Key
         latin:keyLabel="l"
-        latin:moreKeys="@string/more_keys_for_l" />
+        latin:moreKeys="!label/more_keys_for_l" />
     <Key
         latin:keyLabel="m" />
 </merge>
diff --git a/java/res/xml/rowkeys_azerty3.xml b/java/res/xml/rowkeys_azerty3.xml
index b81c3c5..35e9b19 100644
--- a/java/res/xml/rowkeys_azerty3.xml
+++ b/java/res/xml/rowkeys_azerty3.xml
@@ -23,20 +23,20 @@
 >
     <Key
         latin:keyLabel="w"
-        latin:moreKeys="@string/more_keys_for_w" />
+        latin:moreKeys="!label/more_keys_for_w" />
     <Key
         latin:keyLabel="x" />
     <Key
         latin:keyLabel="c"
-        latin:moreKeys="@string/more_keys_for_c" />
+        latin:moreKeys="!label/more_keys_for_c" />
     <Key
         latin:keyLabel="v"
-        latin:moreKeys="@string/more_keys_for_v" />
+        latin:moreKeys="!label/more_keys_for_v" />
     <Key
         latin:keyLabel="b" />
     <Key
         latin:keyLabel="n"
-        latin:moreKeys="@string/more_keys_for_n" />
+        latin:moreKeys="!label/more_keys_for_n" />
     <include
         latin:keyboardLayout="@xml/key_azerty_quote" />
 </merge>
diff --git a/java/res/xml/rowkeys_east_slavic1.xml b/java/res/xml/rowkeys_east_slavic1.xml
index 04c6ef6..dd83c02 100644
--- a/java/res/xml/rowkeys_east_slavic1.xml
+++ b/java/res/xml/rowkeys_east_slavic1.xml
@@ -36,7 +36,7 @@
         latin:keyLabel="&#x0443;"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="@string/more_keys_for_cyrillic_u" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_u" />
     <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
     <Key
         latin:keyLabel="&#x043A;"
@@ -47,13 +47,13 @@
         latin:keyLabel="&#x0435;"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="@string/more_keys_for_cyrillic_ye" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_ye" />
     <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
     <Key
         latin:keyLabel="&#x043D;"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="@string/more_keys_for_cyrillic_en" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_en" />
     <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
     <Key
         latin:keyLabel="&#x0433;"
@@ -65,7 +65,7 @@
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8" />
     <Key
-        latin:keyLabel="@string/keylabel_for_east_slavic_row1_9"
+        latin:keyLabel="!label/keylabel_for_east_slavic_row1_9"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9" />
     <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
@@ -76,5 +76,5 @@
     <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
     <Key
         latin:keyLabel="&#x0445;"
-        latin:moreKeys="@string/more_keys_for_cyrillic_ha" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_ha" />
 </merge>
diff --git a/java/res/xml/rowkeys_east_slavic2.xml b/java/res/xml/rowkeys_east_slavic2.xml
index 57b0373..75d7d93 100644
--- a/java/res/xml/rowkeys_east_slavic2.xml
+++ b/java/res/xml/rowkeys_east_slavic2.xml
@@ -25,8 +25,8 @@
     <Key
         latin:keyLabel="&#x0444;" />
     <Key
-        latin:keyLabel="@string/keylabel_for_east_slavic_row2_1"
-        latin:moreKeys="@string/more_keys_for_east_slavic_row2_1" />
+        latin:keyLabel="!label/keylabel_for_east_slavic_row2_1"
+        latin:moreKeys="!label/more_keys_for_east_slavic_row2_1" />
     <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
     <Key
         latin:keyLabel="&#x0432;" />
@@ -42,7 +42,7 @@
     <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
     <Key
         latin:keyLabel="&#x043E;"
-        latin:moreKeys="@string/more_keys_for_cyrillic_o" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_o" />
     <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
     <Key
         latin:keyLabel="&#x043B;" />
diff --git a/java/res/xml/rowkeys_east_slavic3.xml b/java/res/xml/rowkeys_east_slavic3.xml
index b0f7aed..a05e92d 100644
--- a/java/res/xml/rowkeys_east_slavic3.xml
+++ b/java/res/xml/rowkeys_east_slavic3.xml
@@ -34,14 +34,14 @@
     <Key
         latin:keyLabel="&#x043C;" />
     <Key
-        latin:keyLabel="@string/keylabel_for_east_slavic_row3_5" />
+        latin:keyLabel="!label/keylabel_for_east_slavic_row3_5" />
     <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
     <Key
         latin:keyLabel="&#x0442;" />
     <!-- U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN -->
     <Key
         latin:keyLabel="&#x044C;"
-        latin:moreKeys="@string/more_keys_for_cyrillic_soft_sign" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_soft_sign" />
     <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
     <Key
         latin:keyLabel="&#x0431;" />
diff --git a/java/res/xml/rowkeys_nordic1.xml b/java/res/xml/rowkeys_nordic1.xml
index 056895f..ff29369 100644
--- a/java/res/xml/rowkeys_nordic1.xml
+++ b/java/res/xml/rowkeys_nordic1.xml
@@ -24,5 +24,5 @@
     <include
         latin:keyboardLayout="@xml/rowkeys_qwerty1" />
     <Key
-        latin:keyLabel="@string/keylabel_for_nordic_row1_11" />
+        latin:keyLabel="!label/keylabel_for_nordic_row1_11" />
 </merge>
diff --git a/java/res/xml/rowkeys_nordic2.xml b/java/res/xml/rowkeys_nordic2.xml
index 0033ea1..52bb2f1 100644
--- a/java/res/xml/rowkeys_nordic2.xml
+++ b/java/res/xml/rowkeys_nordic2.xml
@@ -24,9 +24,9 @@
     <include
         latin:keyboardLayout="@xml/rowkeys_qwerty2" />
     <Key
-        latin:keyLabel="@string/keylabel_for_nordic_row2_10"
-        latin:moreKeys="@string/more_keys_for_nordic_row2_10" />
+        latin:keyLabel="!label/keylabel_for_nordic_row2_10"
+        latin:moreKeys="!label/more_keys_for_nordic_row2_10" />
     <Key
-        latin:keyLabel="@string/keylabel_for_nordic_row2_11"
-        latin:moreKeys="@string/more_keys_for_nordic_row2_11" />
+        latin:keyLabel="!label/keylabel_for_nordic_row2_11"
+        latin:moreKeys="!label/more_keys_for_nordic_row2_11" />
 </merge>
diff --git a/java/res/xml/rowkeys_qwerty1.xml b/java/res/xml/rowkeys_qwerty1.xml
index 19067a7..8fb60db 100644
--- a/java/res/xml/rowkeys_qwerty1.xml
+++ b/java/res/xml/rowkeys_qwerty1.xml
@@ -29,42 +29,42 @@
         latin:keyLabel="w"
         latin:keyHintLabel="2"
         latin:additionalMoreKeys="2"
-        latin:moreKeys="@string/more_keys_for_w" />
+        latin:moreKeys="!label/more_keys_for_w" />
     <Key
         latin:keyLabel="e"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="@string/more_keys_for_e" />
+        latin:moreKeys="!label/more_keys_for_e" />
     <Key
         latin:keyLabel="r"
         latin:keyHintLabel="4"
         latin:additionalMoreKeys="4"
-        latin:moreKeys="@string/more_keys_for_r" />
+        latin:moreKeys="!label/more_keys_for_r" />
     <Key
         latin:keyLabel="t"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="@string/more_keys_for_t" />
+        latin:moreKeys="!label/more_keys_for_t" />
     <Key
         latin:keyLabel="y"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="@string/more_keys_for_y" />
+        latin:moreKeys="!label/more_keys_for_y" />
     <Key
         latin:keyLabel="u"
         latin:keyHintLabel="7"
         latin:additionalMoreKeys="7"
-        latin:moreKeys="@string/more_keys_for_u" />
+        latin:moreKeys="!label/more_keys_for_u" />
     <Key
         latin:keyLabel="i"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="@string/more_keys_for_i" />
+        latin:moreKeys="!label/more_keys_for_i" />
     <Key
         latin:keyLabel="o"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9"
-        latin:moreKeys="@string/more_keys_for_o" />
+        latin:moreKeys="!label/more_keys_for_o" />
     <Key
         latin:keyLabel="p"
         latin:keyHintLabel="0"
diff --git a/java/res/xml/rowkeys_qwerty2.xml b/java/res/xml/rowkeys_qwerty2.xml
index 2fa8214..a29f331 100644
--- a/java/res/xml/rowkeys_qwerty2.xml
+++ b/java/res/xml/rowkeys_qwerty2.xml
@@ -23,28 +23,28 @@
 >
     <Key
         latin:keyLabel="a"
-        latin:moreKeys="@string/more_keys_for_a" />
+        latin:moreKeys="!label/more_keys_for_a" />
     <Key
         latin:keyLabel="s"
-        latin:moreKeys="@string/more_keys_for_s" />
+        latin:moreKeys="!label/more_keys_for_s" />
     <Key
         latin:keyLabel="d"
-        latin:moreKeys="@string/more_keys_for_d" />
+        latin:moreKeys="!label/more_keys_for_d" />
     <Key
         latin:keyLabel="f" />
     <Key
         latin:keyLabel="g"
-        latin:moreKeys="@string/more_keys_for_g" />
+        latin:moreKeys="!label/more_keys_for_g" />
     <Key
         latin:keyLabel="h"
-        latin:moreKeys="@string/more_keys_for_h" />
+        latin:moreKeys="!label/more_keys_for_h" />
     <Key
         latin:keyLabel="j"
-        latin:moreKeys="@string/more_keys_for_j" />
+        latin:moreKeys="!label/more_keys_for_j" />
     <Key
         latin:keyLabel="k"
-        latin:moreKeys="@string/more_keys_for_k" />
+        latin:moreKeys="!label/more_keys_for_k" />
     <Key
         latin:keyLabel="l"
-        latin:moreKeys="@string/more_keys_for_l" />
+        latin:moreKeys="!label/more_keys_for_l" />
 </merge>
diff --git a/java/res/xml/rowkeys_qwerty3.xml b/java/res/xml/rowkeys_qwerty3.xml
index 932ea6f..afe43f6 100644
--- a/java/res/xml/rowkeys_qwerty3.xml
+++ b/java/res/xml/rowkeys_qwerty3.xml
@@ -23,20 +23,20 @@
 >
     <Key
         latin:keyLabel="z"
-        latin:moreKeys="@string/more_keys_for_z" />
+        latin:moreKeys="!label/more_keys_for_z" />
     <Key
         latin:keyLabel="x" />
     <Key
         latin:keyLabel="c"
-        latin:moreKeys="@string/more_keys_for_c" />
+        latin:moreKeys="!label/more_keys_for_c" />
     <Key
         latin:keyLabel="v"
-        latin:moreKeys="@string/more_keys_for_v" />
+        latin:moreKeys="!label/more_keys_for_v" />
     <Key
         latin:keyLabel="b" />
     <Key
         latin:keyLabel="n"
-        latin:moreKeys="@string/more_keys_for_n" />
+        latin:moreKeys="!label/more_keys_for_n" />
     <Key
         latin:keyLabel="m" />
 </merge>
diff --git a/java/res/xml/rowkeys_qwertz1.xml b/java/res/xml/rowkeys_qwertz1.xml
index 3e11a7a..1278896 100644
--- a/java/res/xml/rowkeys_qwertz1.xml
+++ b/java/res/xml/rowkeys_qwertz1.xml
@@ -29,42 +29,42 @@
         latin:keyLabel="w"
         latin:keyHintLabel="2"
         latin:additionalMoreKeys="2"
-        latin:moreKeys="@string/more_keys_for_w" />
+        latin:moreKeys="!label/more_keys_for_w" />
     <Key
         latin:keyLabel="e"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="@string/more_keys_for_e" />
+        latin:moreKeys="!label/more_keys_for_e" />
     <Key
         latin:keyLabel="r"
         latin:keyHintLabel="4"
         latin:additionalMoreKeys="4"
-        latin:moreKeys="@string/more_keys_for_r" />
+        latin:moreKeys="!label/more_keys_for_r" />
     <Key
         latin:keyLabel="t"
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5"
-        latin:moreKeys="@string/more_keys_for_t" />
+        latin:moreKeys="!label/more_keys_for_t" />
     <Key
         latin:keyLabel="z"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6"
-        latin:moreKeys="@string/more_keys_for_z" />
+        latin:moreKeys="!label/more_keys_for_z" />
      <Key
         latin:keyLabel="u"
         latin:keyHintLabel="7"
         latin:additionalMoreKeys="7"
-        latin:moreKeys="@string/more_keys_for_u" />
+        latin:moreKeys="!label/more_keys_for_u" />
     <Key
         latin:keyLabel="i"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="@string/more_keys_for_i" />
+        latin:moreKeys="!label/more_keys_for_i" />
     <Key
         latin:keyLabel="o"
         latin:keyHintLabel="9"
         latin:additionalMoreKeys="9"
-        latin:moreKeys="@string/more_keys_for_o" />
+        latin:moreKeys="!label/more_keys_for_o" />
     <Key
         latin:keyLabel="p"
         latin:keyHintLabel="0"
diff --git a/java/res/xml/rowkeys_qwertz3.xml b/java/res/xml/rowkeys_qwertz3.xml
index d37cee6..e969665 100644
--- a/java/res/xml/rowkeys_qwertz3.xml
+++ b/java/res/xml/rowkeys_qwertz3.xml
@@ -23,20 +23,20 @@
 >
     <Key
         latin:keyLabel="y"
-        latin:moreKeys="@string/more_keys_for_y" />
+        latin:moreKeys="!label/more_keys_for_y" />
     <Key
         latin:keyLabel="x" />
     <Key
         latin:keyLabel="c"
-        latin:moreKeys="@string/more_keys_for_c" />
+        latin:moreKeys="!label/more_keys_for_c" />
     <Key
         latin:keyLabel="v"
-        latin:moreKeys="@string/more_keys_for_v" />
+        latin:moreKeys="!label/more_keys_for_v" />
     <Key
         latin:keyLabel="b" />
     <Key
         latin:keyLabel="n"
-        latin:moreKeys="@string/more_keys_for_n" />
+        latin:moreKeys="!label/more_keys_for_n" />
     <Key
         latin:keyLabel="m" />
 </merge>
diff --git a/java/res/xml/rowkeys_south_slavic1.xml b/java/res/xml/rowkeys_south_slavic1.xml
index e3cb89c..7c9a3bc 100644
--- a/java/res/xml/rowkeys_south_slavic1.xml
+++ b/java/res/xml/rowkeys_south_slavic1.xml
@@ -36,7 +36,7 @@
         latin:keyLabel="&#x0435;"
         latin:keyHintLabel="3"
         latin:additionalMoreKeys="3"
-        latin:moreKeys="@string/more_keys_for_cyrillic_ie" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_ie" />
     <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
     <Key
         latin:keyLabel="&#x0440;"
@@ -48,7 +48,7 @@
         latin:keyHintLabel="5"
         latin:additionalMoreKeys="5" />
     <Key
-        latin:keyLabel="@string/keylabel_for_south_slavic_row1_6"
+        latin:keyLabel="!label/keylabel_for_south_slavic_row1_6"
         latin:keyHintLabel="6"
         latin:additionalMoreKeys="6" />
     <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
@@ -61,7 +61,7 @@
         latin:keyLabel="&#x0438;"
         latin:keyHintLabel="8"
         latin:additionalMoreKeys="8"
-        latin:moreKeys="@string/more_keys_for_cyrillic_i" />
+        latin:moreKeys="!label/more_keys_for_cyrillic_i" />
     <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
     <Key
         latin:keyLabel="&#x043E;"
diff --git a/java/res/xml/rowkeys_south_slavic2.xml b/java/res/xml/rowkeys_south_slavic2.xml
index 5a7ecd4..e489208 100644
--- a/java/res/xml/rowkeys_south_slavic2.xml
+++ b/java/res/xml/rowkeys_south_slavic2.xml
@@ -52,5 +52,5 @@
     <Key
         latin:keyLabel="&#x0447;" />
     <Key
-        latin:keyLabel="@string/keylabel_for_south_slavic_row2_11" />
+        latin:keyLabel="!label/keylabel_for_south_slavic_row2_11" />
 </merge>
diff --git a/java/res/xml/rowkeys_south_slavic3.xml b/java/res/xml/rowkeys_south_slavic3.xml
index 97ff51e..d668ddf 100644
--- a/java/res/xml/rowkeys_south_slavic3.xml
+++ b/java/res/xml/rowkeys_south_slavic3.xml
@@ -22,7 +22,7 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <Key
-        latin:keyLabel="@string/keylabel_for_south_slavic_row3_1" />
+        latin:keyLabel="!label/keylabel_for_south_slavic_row3_1" />
     <!-- U+045F: "џ" CYRILLIC SMALL LETTER DZHE -->
     <Key
         latin:keyLabel="&#x045F;" />
@@ -42,7 +42,7 @@
     <Key
         latin:keyLabel="&#x043C;" />
     <Key
-        latin:keyLabel="@string/keylabel_for_south_slavic_row3_8" />
+        latin:keyLabel="!label/keylabel_for_south_slavic_row3_8" />
     <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
     <Key
         latin:keyLabel="&#x0436;" />
diff --git a/java/res/xml/rowkeys_symbols1.xml b/java/res/xml/rowkeys_symbols1.xml
index f6d6243..f9f8bb1 100644
--- a/java/res/xml/rowkeys_symbols1.xml
+++ b/java/res/xml/rowkeys_symbols1.xml
@@ -22,43 +22,43 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_1"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_1"
-        latin:moreKeys="@string/more_keys_for_symbols_1" />
+        latin:keyLabel="!label/keylabel_for_symbols_1"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_1"
+        latin:moreKeys="!label/more_keys_for_symbols_1" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_2"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_2"
-        latin:moreKeys="@string/more_keys_for_symbols_2" />
+        latin:keyLabel="!label/keylabel_for_symbols_2"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_2"
+        latin:moreKeys="!label/more_keys_for_symbols_2" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_3"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_3"
-        latin:moreKeys="@string/more_keys_for_symbols_3" />
+        latin:keyLabel="!label/keylabel_for_symbols_3"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_3"
+        latin:moreKeys="!label/more_keys_for_symbols_3" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_4"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_4"
-        latin:moreKeys="@string/more_keys_for_symbols_4" />
+        latin:keyLabel="!label/keylabel_for_symbols_4"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_4"
+        latin:moreKeys="!label/more_keys_for_symbols_4" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_5"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_5"
-        latin:moreKeys="@string/more_keys_for_symbols_5" />
+        latin:keyLabel="!label/keylabel_for_symbols_5"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_5"
+        latin:moreKeys="!label/more_keys_for_symbols_5" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_6"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_6"
-        latin:moreKeys="@string/more_keys_for_symbols_6" />
+        latin:keyLabel="!label/keylabel_for_symbols_6"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_6"
+        latin:moreKeys="!label/more_keys_for_symbols_6" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_7"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_7"
-        latin:moreKeys="@string/more_keys_for_symbols_7" />
+        latin:keyLabel="!label/keylabel_for_symbols_7"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_7"
+        latin:moreKeys="!label/more_keys_for_symbols_7" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_8"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_8"
-        latin:moreKeys="@string/more_keys_for_symbols_8" />
+        latin:keyLabel="!label/keylabel_for_symbols_8"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_8"
+        latin:moreKeys="!label/more_keys_for_symbols_8" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_9"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_9"
-        latin:moreKeys="@string/more_keys_for_symbols_9" />
+        latin:keyLabel="!label/keylabel_for_symbols_9"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_9"
+        latin:moreKeys="!label/more_keys_for_symbols_9" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_0"
-        latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_0"
-        latin:moreKeys="@string/more_keys_for_symbols_0" />
+        latin:keyLabel="!label/keylabel_for_symbols_0"
+        latin:additionalMoreKeys="!label/additional_more_keys_for_symbols_0"
+        latin:moreKeys="!label/more_keys_for_symbols_0" />
 </merge>
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
index 1092421..47865a9 100644
--- a/java/res/xml/rowkeys_symbols2.xml
+++ b/java/res/xml/rowkeys_symbols2.xml
@@ -28,21 +28,21 @@
     <Key
         latin:keyStyle="currencyKeyStyle" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_percent"
-        latin:moreKeys="@string/more_keys_for_symbols_percent" />
+        latin:keyLabel="!label/keylabel_for_symbols_percent"
+        latin:moreKeys="!label/more_keys_for_symbols_percent" />
     <Key
         latin:keyLabel="&amp;" />
     <Key
         latin:keyLabel="*"
-        latin:moreKeys="@string/more_keys_for_star" />
+        latin:moreKeys="!label/more_keys_for_star" />
     <!-- U+2013: "–" EN DASH
-             U+2014: "—" EM DASH -->
+         U+2014: "—" EM DASH -->
     <Key
         latin:keyLabel="-"
         latin:moreKeys="_,&#x2013;,&#x2014;" />
     <Key
         latin:keyLabel="+"
-        latin:moreKeys="@string/more_keys_for_plus" />
+        latin:moreKeys="!label/more_keys_for_plus" />
     <include
         latin:keyboardLayout="@xml/keys_parentheses" />
 </merge>
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
index 1a484d4..4cef6b2 100644
--- a/java/res/xml/rowkeys_symbols3.xml
+++ b/java/res/xml/rowkeys_symbols3.xml
@@ -31,20 +31,20 @@
         latin:moreKeys="&#x00A1;" />
     <Key
         latin:keyLabel="&quot;"
-        latin:moreKeys="@string/more_keys_for_double_quote" />
+        latin:moreKeys="!label/more_keys_for_double_quote" />
     <Key
         latin:keyLabel="\'"
-        latin:moreKeys="@string/more_keys_for_single_quote" />
+        latin:moreKeys="!label/more_keys_for_single_quote" />
     <Key
         latin:keyLabel=":" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_semicolon"
-        latin:moreKeys="@string/more_keys_for_symbols_semicolon" />
+        latin:keyLabel="!label/keylabel_for_symbols_semicolon"
+        latin:moreKeys="!label/more_keys_for_symbols_semicolon" />
     <Key
         latin:keyLabel="/" />
     <Key
-        latin:keyLabel="@string/keylabel_for_symbols_question"
-        latin:moreKeys="@string/more_keys_for_symbols_question" />
+        latin:keyLabel="!label/keylabel_for_symbols_question"
+        latin:moreKeys="!label/more_keys_for_symbols_question" />
     <Key
         latin:keyStyle="deleteKeyStyle"
         latin:keyWidth="fillRight"
diff --git a/java/res/xml/rowkeys_symbols_shift1.xml b/java/res/xml/rowkeys_symbols_shift1.xml
index cc00aeb..af3e87e 100644
--- a/java/res/xml/rowkeys_symbols_shift1.xml
+++ b/java/res/xml/rowkeys_symbols_shift1.xml
@@ -30,7 +30,7 @@
     <!-- U+2022: "•" BULLET -->
     <Key
         latin:keyLabel="&#x2022;"
-        latin:moreKeys="@string/more_keys_for_bullet" />
+        latin:moreKeys="!label/more_keys_for_bullet" />
     <!-- U+221A: "√" SQUARE ROOT -->
     <Key
         latin:keyLabel="&#x221A;" />
diff --git a/java/res/xml/rows_number_normal.xml b/java/res/xml/rows_number_normal.xml
index 6f9429c..7015bb2 100644
--- a/java/res/xml/rows_number_normal.xml
+++ b/java/res/xml/rows_number_normal.xml
@@ -61,7 +61,7 @@
                 <Key
                     latin:keyLabel="."
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:moreKeys="@string/more_keys_for_am_pm"
+                    latin:moreKeys="!label/more_keys_for_am_pm"
                     latin:keyStyle="numFunctionalKeyStyle"
                     latin:keyWidth="fillRight" />
             </case>
diff --git a/java/res/xml/rows_symbols4.xml b/java/res/xml/rows_symbols4.xml
index 3e26650..de7e043 100644
--- a/java/res/xml/rows_symbols4.xml
+++ b/java/res/xml/rows_symbols4.xml
@@ -37,9 +37,9 @@
             <!-- latin:hasShortcutKey="false" -->
             <default>
                 <Key
-                    latin:keyLabel="@string/keylabel_for_comma"
+                    latin:keyLabel="!label/keylabel_for_comma"
                     latin:keyLabelFlags="hasPopupHint"
-                    latin:additionalMoreKeys="@string/more_keys_for_comma"
+                    latin:additionalMoreKeys="!label/more_keys_for_comma"
                     latin:keyStyle="f1MoreKeysStyle" />
             </default>
         </switch>
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index fbb13c2..254d2d6 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -189,11 +189,11 @@
      * @param row the row that this key belongs to. row's x-coordinate will be the right edge of
      *        this key.
      * @param parser the XML parser containing the attributes for this key
-     * @param keyStyles active key styles set
      * @throws XmlPullParserException
      */
     public Key(Resources res, Keyboard.Params params, Keyboard.Builder.Row row,
-            XmlPullParser parser, KeyStyles keyStyles) throws XmlPullParserException {
+            XmlPullParser parser) throws XmlPullParserException {
+        final KeyStyles keyStyles = params.mKeyStyles;
         final float horizontalGap = isSpacer() ? 0 : params.mHorizontalGap;
         final int keyHeight = row.mRowHeight;
         mVerticalGap = params.mVerticalGap;
@@ -210,7 +210,7 @@
                 throw new XmlParseUtils.ParseException(
                         "Unknown key style: " + styleName, parser);
         } else {
-            style = KeyStyles.getEmptyKeyStyle();
+            style = keyStyles.getEmptyKeyStyle();
         }
 
         final float keyXPos = row.getKeyX(keyAttr);
@@ -709,8 +709,8 @@
 
     public static class Spacer extends Key {
         public Spacer(Resources res, Keyboard.Params params, Keyboard.Builder.Row row,
-                XmlPullParser parser, KeyStyles keyStyles) throws XmlPullParserException {
-            super(res, params, row, parser, keyStyles);
+                XmlPullParser parser) throws XmlPullParserException {
+            super(res, params, row, parser);
         }
 
         /**
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 36a988b..4018d65 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -30,6 +30,7 @@
 import com.android.inputmethod.keyboard.internal.KeyStyles;
 import com.android.inputmethod.keyboard.internal.KeyboardCodesSet;
 import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
+import com.android.inputmethod.keyboard.internal.KeyboardLabelsSet;
 import com.android.inputmethod.latin.LatinImeLogger;
 import com.android.inputmethod.latin.R;
 import com.android.inputmethod.latin.Utils;
@@ -240,6 +241,8 @@
         public final ArrayList<Key> mAltCodeKeysWhileTyping = new ArrayList<Key>();
         public final KeyboardIconsSet mIconsSet = new KeyboardIconsSet();
         public final KeyboardCodesSet mCodesSet = new KeyboardCodesSet();
+        public final KeyboardLabelsSet mLabelsSet = new KeyboardLabelsSet();
+        public final KeyStyles mKeyStyles = new KeyStyles(mLabelsSet);
 
         public KeyboardLayoutSet.KeysCache mKeysCache;
 
@@ -500,7 +503,6 @@
         private boolean mLeftEdge;
         private boolean mTopEdge;
         private Key mRightEdgeKey = null;
-        private final KeyStyles mKeyStyles = new KeyStyles();
 
         /**
          * Container for keys in the keyboard. All keys in a row are at the same Y-coordinate.
@@ -777,7 +779,10 @@
 
                 params.mThemeId = keyboardAttr.getInt(R.styleable.Keyboard_themeId, 0);
                 params.mIconsSet.loadIcons(keyboardAttr);
-                params.mCodesSet.setLanguage(params.mId.mLocale.getLanguage());
+                final String language = params.mId.mLocale.getLanguage();
+                params.mCodesSet.setLanguage(language);
+                params.mLabelsSet.setLanguage(language);
+                params.mLabelsSet.loadStringResources(mContext);
 
                 final int resourceId = keyboardAttr.getResourceId(
                         R.styleable.Keyboard_touchPositionCorrectionData, 0);
@@ -887,7 +892,7 @@
                 XmlParseUtils.checkEndTag(TAG_KEY, parser);
                 if (DEBUG) startEndTag("<%s /> skipped", TAG_KEY);
             } else {
-                final Key key = new Key(mResources, mParams, row, parser, mKeyStyles);
+                final Key key = new Key(mResources, mParams, row, parser);
                 if (DEBUG) {
                     startEndTag("<%s%s %s moreKeys=%s />", TAG_KEY,
                             (key.isEnabled() ? "" : " disabled"), key,
@@ -904,8 +909,7 @@
                 XmlParseUtils.checkEndTag(TAG_SPACER, parser);
                 if (DEBUG) startEndTag("<%s /> skipped", TAG_SPACER);
             } else {
-                final Key.Spacer spacer = new Key.Spacer(
-                        mResources, mParams, row, parser, mKeyStyles);
+                final Key.Spacer spacer = new Key.Spacer(mResources, mParams, row, parser);
                 if (DEBUG) startEndTag("<%s />", TAG_SPACER);
                 XmlParseUtils.checkEndTag(TAG_SPACER, parser);
                 endKey(spacer);
@@ -1210,7 +1214,7 @@
                         skip ? " skipped" : "");
                 }
                 if (!skip)
-                    mKeyStyles.parseKeyStyleAttributes(keyStyleAttr, keyAttrs, parser);
+                    mParams.mKeyStyles.parseKeyStyleAttributes(keyStyleAttr, keyAttrs, parser);
             } finally {
                 keyStyleAttr.recycle();
                 keyAttrs.recycle();
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
index 51cd905..c8ec3a4 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
@@ -65,9 +65,7 @@
 
     private static final String DEFAULT_KEYBOARD_LAYOUT_SET = "qwerty";
     private static final char KEYBOARD_LAYOUT_SET_LOCALE_DELIMITER = ':';
-    private static final String KEYBOARD_LAYOUT_SET_RESOURCE_PREFIX = "xml/keyboard_layout_set_";
-    private static final int DEFAULT_KEYBOARD_LAYOUT_SET_RESOURCE_ID =
-            R.xml.keyboard_layout_set_qwerty;
+    private static final String KEYBOARD_LAYOUT_SET_RESOURCE_PREFIX = "keyboard_layout_set_";
 
     private final Context mContext;
     private final Params mParams;
@@ -319,9 +317,10 @@
                 throw new RuntimeException("Screen geometry is not specified");
             if (mParams.mLocale == null)
                 throw new RuntimeException("KeyboardLayoutSet subtype is not specified");
+            final String packageName = mResources.getResourcePackageName(
+                    R.xml.keyboard_layout_set_qwerty);
             final String keyboardLayoutSetName = mParams.mKeyboardLayoutSetName;
-            final int xmlId = KeySpecParser.getResourceId(
-                    mResources, keyboardLayoutSetName, DEFAULT_KEYBOARD_LAYOUT_SET_RESOURCE_ID);
+            final int xmlId = mResources.getIdentifier(keyboardLayoutSetName, "xml", packageName);
             final RunInLocale<Void> job = new RunInLocale<Void>() {
                 @Override
                 protected Void job(Resources res) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 288fb45..2981a8e 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -16,7 +16,6 @@
 
 package com.android.inputmethod.keyboard.internal;
 
-import android.content.res.Resources;
 import android.text.TextUtils;
 
 import com.android.inputmethod.keyboard.Keyboard;
@@ -27,18 +26,20 @@
 import java.util.Arrays;
 
 /**
- * String parser of moreKeys attribute of Key.
- * The string is comma separated texts each of which represents one "more key".
- * - String resource can be embedded into specification @string/name. This is done before parsing
- *   comma.
+ * The string parser of more keys specification.
+ * The specification is comma separated texts each of which represents one "more key".
+ * The specification might have label or string resource reference in it. These references are
+ * expanded before parsing comma.
+ * - Label reference should be a string representation of label (!label/label_name)
+ * - String resource reference should be a string representation of resource (!label/resource_name)
  * Each "more key" specification is one of the following:
  * - Label optionally followed by keyOutputText or code (keyLabel|keyOutputText).
  * - Icon followed by keyOutputText or code (!icon/icon_name|!code/code_name)
  *   - Icon should be a string representation of icon (!icon/icon_name).
- *   - Code should be a code point presented by hexadecimal string prefixed with "0x".
- *     Or a string representation of code (!code/code_name).
+ *   - Code should be a code point presented by hexadecimal string prefixed with "0x", or a string
+ *     representation of code (!code/code_name).
  * Special character, comma ',' backslash '\', and bar '|' can be escaped by '\' character.
- * Note that the character '@' and '\' are also parsed by XML parser and CSV parser as well.
+ * Note that the '\' is also parsed by XML parser and CSV parser as well.
  * See {@link KeyboardIconsSet} about icon_name.
  */
 public class KeySpecParser {
@@ -49,10 +50,8 @@
     // Constants for parsing.
     private static int COMMA = ',';
     private static final char ESCAPE_CHAR = '\\';
-    private static final char PREFIX_AT = '@';
-    private static final char SUFFIX_SLASH = '/';
-    private static final String PREFIX_STRING = PREFIX_AT + "string" + SUFFIX_SLASH;
     private static final char LABEL_END = '|';
+    private static final String PREFIX_LABEL = "!label/";
     private static final String PREFIX_ICON = "!icon/";
     private static final String PREFIX_CODE = "!code/";
     private static final String PREFIX_HEX = "0x";
@@ -341,17 +340,7 @@
         }
     }
 
-    public static int getResourceId(Resources res, String name, int packageNameResId) {
-        String packageName = res.getResourcePackageName(packageNameResId);
-        int resId = res.getIdentifier(name, null, packageName);
-        if (resId == 0) {
-            throw new RuntimeException("Unknown resource: " + name);
-        }
-        return resId;
-    }
-
-    private static String resolveStringResource(String rawText, Resources res,
-            int packageNameResId) {
+    public static String resolveLabelReference(String rawText, KeyboardLabelsSet labelsSet) {
         int level = 0;
         String text = rawText;
         StringBuilder sb;
@@ -362,21 +351,20 @@
             }
 
             final int size = text.length();
-            if (size < PREFIX_STRING.length()) {
+            if (size < PREFIX_LABEL.length()) {
                 return text;
             }
 
             sb = null;
             for (int pos = 0; pos < size; pos++) {
                 final char c = text.charAt(pos);
-                if (c == PREFIX_AT && text.startsWith(PREFIX_STRING, pos)) {
+                if (text.startsWith(PREFIX_LABEL, pos) && labelsSet != null) {
                     if (sb == null) {
                         sb = new StringBuilder(text.substring(0, pos));
                     }
-                    final int end = searchResourceNameEnd(text, pos + PREFIX_STRING.length());
-                    final String resName = text.substring(pos + 1, end);
-                    final int resId = getResourceId(res, resName, packageNameResId);
-                    sb.append(res.getString(resId));
+                    final int end = searchLabelNameEnd(text, pos + PREFIX_LABEL.length());
+                    final String name = text.substring(pos + PREFIX_LABEL.length(), end);
+                    sb.append(labelsSet.getLabel(name));
                     pos = end - 1;
                 } else if (c == ESCAPE_CHAR) {
                     if (sb != null) {
@@ -397,7 +385,7 @@
         return text;
     }
 
-    private static int searchResourceNameEnd(String text, int start) {
+    private static int searchLabelNameEnd(String text, int start) {
         final int size = text.length();
         for (int pos = start; pos < size; pos++) {
             final char c = text.charAt(pos);
@@ -410,8 +398,8 @@
         return size;
     }
 
-    public static String[] parseCsvString(String rawText, Resources res, int packageNameResId) {
-        final String text = resolveStringResource(rawText, res, packageNameResId);
+    public static String[] parseCsvString(String rawText, KeyboardLabelsSet labelsSet) {
+        final String text = resolveLabelReference(rawText, labelsSet);
         final int size = text.length();
         if (size == 0) {
             return null;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
index 405b7ad..8e0b216 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
@@ -34,24 +34,55 @@
 
     private final HashMap<String, DeclaredKeyStyle> mStyles =
             new HashMap<String, DeclaredKeyStyle>();
-    private static final KeyStyle EMPTY_KEY_STYLE = new EmptyKeyStyle();
 
-    public interface KeyStyle {
-        public String[] getStringArray(TypedArray a, int index);
-        public String getString(TypedArray a, int index);
-        public int getInt(TypedArray a, int index, int defaultValue);
-        public int getFlag(TypedArray a, int index);
+    private final KeyboardLabelsSet mLabelsSet;
+    private final KeyStyle mEmptyKeyStyle;
+
+    public KeyStyles(KeyboardLabelsSet labelsSet) {
+        mLabelsSet = labelsSet;
+        mEmptyKeyStyle = new EmptyKeyStyle(labelsSet);
     }
 
-    static class EmptyKeyStyle implements KeyStyle {
+    public static abstract class KeyStyle {
+        protected final KeyboardLabelsSet mLabelsSet;
+
+        public KeyStyle(KeyboardLabelsSet labelsSet) {
+            mLabelsSet = labelsSet;
+        }
+
+        public abstract String[] getStringArray(TypedArray a, int index);
+        public abstract String getString(TypedArray a, int index);
+        public abstract int getInt(TypedArray a, int index, int defaultValue);
+        public abstract int getFlag(TypedArray a, int index);
+
+        protected String parseString(TypedArray a, int index) {
+            if (a.hasValue(index)) {
+                return KeySpecParser.resolveLabelReference(a.getString(index), mLabelsSet);
+            }
+            return null;
+        }
+
+        protected String[] parseStringArray(TypedArray a, int index) {
+            if (a.hasValue(index)) {
+                return KeySpecParser.parseCsvString(a.getString(index), mLabelsSet);
+            }
+            return null;
+        }
+    }
+
+    private static class EmptyKeyStyle extends KeyStyle {
+        public EmptyKeyStyle(KeyboardLabelsSet labelsSet) {
+            super(labelsSet);
+        }
+
         @Override
         public String[] getStringArray(TypedArray a, int index) {
-            return KeyStyles.parseStringArray(a, index);
+            return parseStringArray(a, index);
         }
 
         @Override
         public String getString(TypedArray a, int index) {
-            return a.getString(index);
+            return parseString(a, index);
         }
 
         @Override
@@ -65,9 +96,13 @@
         }
     }
 
-    static class DeclaredKeyStyle implements KeyStyle {
+    private static class DeclaredKeyStyle extends KeyStyle {
         private final HashMap<Integer, Object> mStyleAttributes = new HashMap<Integer, Object>();
 
+        public DeclaredKeyStyle(KeyboardLabelsSet labelsSet) {
+            super(labelsSet);
+        }
+
         @Override
         public String[] getStringArray(TypedArray a, int index) {
             if (a.hasValue(index)) {
@@ -79,7 +114,7 @@
         @Override
         public String getString(TypedArray a, int index) {
             if (a.hasValue(index)) {
-                return a.getString(index);
+                return parseString(a, index);
             }
             return (String)mStyleAttributes.get(index);
         }
@@ -120,7 +155,7 @@
 
         private void readString(TypedArray a, int index) {
             if (a.hasValue(index)) {
-                mStyleAttributes.put(index, a.getString(index));
+                mStyleAttributes.put(index, parseString(a, index));
             }
         }
 
@@ -131,16 +166,15 @@
         }
 
         private void readFlag(TypedArray a, int index) {
-            final Integer value = (Integer)mStyleAttributes.get(index);
             if (a.hasValue(index)) {
+                final Integer value = (Integer)mStyleAttributes.get(index);
                 mStyleAttributes.put(index, a.getInt(index, 0) | (value != null ? value : 0));
             }
         }
 
         private void readStringArray(TypedArray a, int index) {
-            final String[] value = parseStringArray(a, index);
-            if (value != null) {
-                mStyleAttributes.put(index, value);
+            if (a.hasValue(index)) {
+                mStyleAttributes.put(index, parseStringArray(a, index));
             }
         }
 
@@ -149,14 +183,6 @@
         }
     }
 
-    static String[] parseStringArray(TypedArray a, int index) {
-        if (a.hasValue(index)) {
-            return KeySpecParser.parseCsvString(
-                    a.getString(index), a.getResources(), R.string.english_ime_name);
-        }
-        return null;
-    }
-
     public void parseKeyStyleAttributes(TypedArray keyStyleAttr, TypedArray keyAttrs,
             XmlPullParser parser) throws XmlPullParserException {
         final String styleName = keyStyleAttr.getString(R.styleable.Keyboard_KeyStyle_styleName);
@@ -169,7 +195,7 @@
             }
         }
 
-        final DeclaredKeyStyle style = new DeclaredKeyStyle();
+        final DeclaredKeyStyle style = new DeclaredKeyStyle(mLabelsSet);
         if (keyStyleAttr.hasValue(R.styleable.Keyboard_KeyStyle_parentStyle)) {
             final String parentStyle = keyStyleAttr.getString(
                     R.styleable.Keyboard_KeyStyle_parentStyle);
@@ -188,7 +214,7 @@
         return mStyles.get(styleName);
     }
 
-    public static KeyStyle getEmptyKeyStyle() {
-        return EMPTY_KEY_STYLE;
+    public KeyStyle getEmptyKeyStyle() {
+        return mEmptyKeyStyle;
     }
 }
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.java
new file mode 100644
index 0000000..a46f3bf
--- /dev/null
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardLabelsSet.java
@@ -0,0 +1,2477 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.android.inputmethod.keyboard.internal;
+
+import android.content.Context;
+import android.content.res.Resources;
+
+import com.android.inputmethod.latin.R;
+
+import java.util.HashMap;
+
+/**
+ * !!!!! DO NOT EDIT THIS FILE !!!!!
+ * This file is generated by tools/makelabel.
+ */
+public final class KeyboardLabelsSet {
+    // Language to labels map.
+    private static final HashMap<String, String[]> sLocaleToLabelsMap =
+            new HashMap<String, String[]>();
+    private static final HashMap<String, Integer> sNameToIdMap = new HashMap<String, Integer>();
+
+    private String[] mLabels;
+    // Resource name to label map.
+    private HashMap<String, String> mResourceNameToLabelsMap = new HashMap<String, String>();
+
+    public void setLanguage(final String language) {
+        mLabels = sLocaleToLabelsMap.get(language);
+        if (mLabels == null) {
+            mLabels = LANGUAGE_DEFAULT;
+        }
+    }
+
+    public void loadStringResources(Context context) {
+        loadStringResourcesInternal(context, RESOURCE_NAMES, R.string.english_ime_name);
+    }
+
+    /* package for test */
+    void loadStringResourcesInternal(Context context, final String[] resourceNames,
+            int referenceId) {
+        final Resources res = context.getResources();
+        final String packageName = res.getResourcePackageName(referenceId);
+        for (final String resName : resourceNames) {
+            final int resId = res.getIdentifier(resName, "string", packageName);
+            mResourceNameToLabelsMap.put(resName, res.getString(resId));
+        }
+    }
+
+    public String getLabel(final String name) {
+        if (mResourceNameToLabelsMap.containsKey(name)) {
+            return mResourceNameToLabelsMap.get(name);
+        }
+        final Integer id = sNameToIdMap.get(name);
+        if (id == null) throw new RuntimeException("Unknown label: " + name);
+        final String label = (id < mLabels.length) ? mLabels[id] : null;
+        return (label == null) ? LANGUAGE_DEFAULT[id] : label;
+    }
+
+    private static final String[] RESOURCE_NAMES = {
+        // These labels' name should be aligned with the @string/<name> in values/strings.xml.
+        // Labels for action.
+        "label_go_key",
+        // "label_search_key",
+        "label_send_key",
+        "label_next_key",
+        "label_done_key",
+        "label_previous_key",
+        // Other labels.
+        "label_to_alpha_key",
+        "label_to_symbol_key",
+        "label_to_symbol_with_microphone_key",
+        "label_pause_key",
+        "label_wait_key",
+    };
+
+    private static final String[] NAMES = {
+        /*  0 */ "more_keys_for_a",
+        /*  1 */ "more_keys_for_e",
+        /*  2 */ "more_keys_for_i",
+        /*  3 */ "more_keys_for_o",
+        /*  4 */ "more_keys_for_u",
+        /*  5 */ "more_keys_for_s",
+        /*  6 */ "more_keys_for_n",
+        /*  7 */ "more_keys_for_c",
+        /*  8 */ "more_keys_for_y",
+        /*  9 */ "more_keys_for_d",
+        /* 10 */ "more_keys_for_r",
+        /* 11 */ "more_keys_for_t",
+        /* 12 */ "more_keys_for_z",
+        /* 13 */ "more_keys_for_k",
+        /* 14 */ "more_keys_for_l",
+        /* 15 */ "more_keys_for_g",
+        /* 16 */ "more_keys_for_v",
+        /* 17 */ "more_keys_for_h",
+        /* 18 */ "more_keys_for_j",
+        /* 19 */ "more_keys_for_w",
+        /* 20 */ "keylabel_for_nordic_row1_11",
+        /* 21 */ "keylabel_for_nordic_row2_10",
+        /* 22 */ "keylabel_for_nordic_row2_11",
+        /* 23 */ "more_keys_for_nordic_row2_10",
+        /* 24 */ "more_keys_for_nordic_row2_11",
+        /* 25 */ "keylabel_for_east_slavic_row1_9",
+        /* 26 */ "keylabel_for_east_slavic_row2_1",
+        /* 27 */ "keylabel_for_east_slavic_row3_5",
+        /* 28 */ "more_keys_for_cyrillic_u",
+        /* 29 */ "more_keys_for_cyrillic_ye",
+        /* 30 */ "more_keys_for_cyrillic_en",
+        /* 31 */ "more_keys_for_cyrillic_ha",
+        /* 32 */ "more_keys_for_east_slavic_row2_1",
+        /* 33 */ "more_keys_for_cyrillic_o",
+        /* 34 */ "more_keys_for_cyrillic_soft_sign",
+        /* 35 */ "keylabel_for_south_slavic_row1_6",
+        /* 36 */ "keylabel_for_south_slavic_row2_11",
+        /* 37 */ "keylabel_for_south_slavic_row3_1",
+        /* 38 */ "keylabel_for_south_slavic_row3_8",
+        /* 39 */ "more_keys_for_cyrillic_ie",
+        /* 40 */ "more_keys_for_cyrillic_i",
+        /* 41 */ "more_keys_for_single_quote",
+        /* 42 */ "more_keys_for_double_quote",
+        /* 43 */ "more_keys_for_tablet_double_quote",
+        /* 44 */ "more_keys_for_currency_dollar",
+        /* 45 */ "more_keys_for_currency_euro",
+        /* 46 */ "more_keys_for_currency_pound",
+        /* 47 */ "more_keys_for_currency_general",
+        /* 48 */ "more_keys_for_smiley",
+        /* 49 */ "more_keys_for_punctuation",
+        /* 50 */ "keyhintlabel_for_punctuation",
+        /* 51 */ "keylabel_for_popular_domain",
+        /* 52 */ "more_keys_for_popular_domain",
+        /* 53 */ "keylabel_for_symbols_1",
+        /* 54 */ "keylabel_for_symbols_2",
+        /* 55 */ "keylabel_for_symbols_3",
+        /* 56 */ "keylabel_for_symbols_4",
+        /* 57 */ "keylabel_for_symbols_5",
+        /* 58 */ "keylabel_for_symbols_6",
+        /* 59 */ "keylabel_for_symbols_7",
+        /* 60 */ "keylabel_for_symbols_8",
+        /* 61 */ "keylabel_for_symbols_9",
+        /* 62 */ "keylabel_for_symbols_0",
+        /* 63 */ "additional_more_keys_for_symbols_1",
+        /* 64 */ "additional_more_keys_for_symbols_2",
+        /* 65 */ "additional_more_keys_for_symbols_3",
+        /* 66 */ "additional_more_keys_for_symbols_4",
+        /* 67 */ "additional_more_keys_for_symbols_5",
+        /* 68 */ "additional_more_keys_for_symbols_6",
+        /* 69 */ "additional_more_keys_for_symbols_7",
+        /* 70 */ "additional_more_keys_for_symbols_8",
+        /* 71 */ "additional_more_keys_for_symbols_9",
+        /* 72 */ "additional_more_keys_for_symbols_0",
+        /* 73 */ "more_keys_for_symbols_1",
+        /* 74 */ "more_keys_for_symbols_2",
+        /* 75 */ "more_keys_for_symbols_3",
+        /* 76 */ "more_keys_for_symbols_4",
+        /* 77 */ "more_keys_for_symbols_5",
+        /* 78 */ "more_keys_for_symbols_6",
+        /* 79 */ "more_keys_for_symbols_7",
+        /* 80 */ "more_keys_for_symbols_8",
+        /* 81 */ "more_keys_for_symbols_9",
+        /* 82 */ "more_keys_for_symbols_0",
+        /* 83 */ "more_keys_for_am_pm",
+        /* 84 */ "settings_as_more_key",
+        /* 85 */ "keylabel_for_comma",
+        /* 86 */ "more_keys_for_comma",
+        /* 87 */ "action_next_as_more_key",
+        /* 88 */ "action_previous_as_more_key",
+        /* 89 */ "keylabel_for_symbols_question",
+        /* 90 */ "keylabel_for_symbols_semicolon",
+        /* 91 */ "keylabel_for_symbols_percent",
+        /* 92 */ "more_keys_for_symbols_question",
+        /* 93 */ "more_keys_for_symbols_semicolon",
+        /* 94 */ "more_keys_for_symbols_percent",
+        /* 95 */ "keylabel_for_tablet_comma",
+        /* 96 */ "keyhintlabel_for_tablet_comma",
+        /* 97 */ "more_keys_for_tablet_comma",
+        /* 98 */ "keyhintlabel_for_tablet_period",
+        /* 99 */ "more_keys_for_tablet_period",
+        /* 100 */ "keylabel_for_apostrophe",
+        /* 101 */ "keylabel_for_dash",
+        /* 102 */ "keyhintlabel_for_apostrophe",
+        /* 103 */ "keyhintlabel_for_dash",
+        /* 104 */ "more_keys_for_apostrophe",
+        /* 105 */ "more_keys_for_dash",
+        /* 106 */ "more_keys_for_bullet",
+        /* 107 */ "more_keys_for_star",
+        /* 108 */ "more_keys_for_plus",
+        /* 109 */ "more_keys_for_left_parenthesis",
+        /* 110 */ "more_keys_for_right_parenthesis",
+        /* 111 */ "more_keys_for_less_than",
+        /* 112 */ "more_keys_for_greater_than",
+        /* 113 */ "label_to_more_symbol_key",
+        /* 114 */ "label_to_more_symbol_for_tablet_key",
+        /* 115 */ "label_tab_key",
+        /* 116 */ "label_to_phone_numeric_key",
+        /* 117 */ "label_to_phone_symbols_key",
+        /* 118 */ "label_time_am",
+        /* 119 */ "label_time_pm",
+    };
+
+    private static final String EMPTY = "";
+
+    /* Default labels */
+    private static final String[] LANGUAGE_DEFAULT = {
+        /* 0~ */
+        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+        EMPTY, EMPTY,
+        /* ~40 */
+        /* 41 */ "!fixedColumnOrder!4,\u2018,\u2019,\u201A,\u201B",
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.  <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;</string>
+        /* 42 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB,\u00BB",
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.  <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
+        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B",
+        // U+00A2: "¢" CENT SIGN
+        // U+00A3: "£" POUND SIGN
+        // U+20AC: "€" EURO SIGN
+        // U+00A5: "¥" YEN SIGN
+        // U+20B1: "₱" PESO SIGN
+        /* 44 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
+        /* 45 */ "\u00A2,\u00A3,$,\u00A5,\u20B1",
+        /* 46 */ "\u00A2,$,\u20AC,\u00A5,\u20B1",
+        /* 47 */ "\u00A2,$,\u20AC,\u00A3,\u00A5,\u20B1",
+        /* 48 */ "!fixedColumnOrder!5,!hasLabels!,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ ",
+        /* 49 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\\,,?,@,&,\\%,+,;,/,(,)",
+        /* 50 */ EMPTY,
+        /* 51 */ ".com",
+        // popular web domains for the locale - most popular, displayed on the keyboard
+        /* 52 */ "!hasLabels!,.net,.org,.gov,.edu",
+        /* 53 */ "1",
+        /* 54 */ "2",
+        /* 55 */ "3",
+        /* 56 */ "4",
+        /* 57 */ "5",
+        /* 58 */ "6",
+        /* 59 */ "7",
+        /* 60 */ "8",
+        /* 61 */ "9",
+        /* 62 */ "0",
+        /* 63~ */
+        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+        /* ~72 */
+        // U+00B9: "¹" SUPERSCRIPT ONE
+        // U+00BD: "½" VULGAR FRACTION ONE HALF
+        // U+2153: "⅓" VULGAR FRACTION ONE THIRD
+        // U+00BC: "¼" VULGAR FRACTION ONE QUARTER
+        // U+215B: "⅛" VULGAR FRACTION ONE EIGHTH
+        /* 73 */ "\u00B9,\u00BD,\u2153,\u00BC,\u215B",
+        // U+00B2: "²" SUPERSCRIPT TWO
+        // U+2154: "⅔" VULGAR FRACTION TWO THIRDS
+        /* 74 */ "\u00B2,\u2154",
+        // U+00B3: "³" SUPERSCRIPT THREE
+        // U+00BE: "¾" VULGAR FRACTION THREE QUARTERS
+        // U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS
+        /* 75 */ "\u00B3,\u00BE,\u215C",
+        // U+2074: "⁴" SUPERSCRIPT FOUR
+        /* 76 */ "\u2074",
+        // U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS
+        /* 77 */ "\u215D",
+        /* 78 */ EMPTY,
+        // U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS
+        /* 79 */ "\u215E",
+        /* 80 */ EMPTY,
+        /* 81 */ EMPTY,
+        // U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N
+        // U+2205: "∅" EMPTY SET
+        /* 82 */ "\u207F,\u2205",
+        /* 83 */ "!fixedColumnOrder!2,!hasLabels!,!label/label_time_am,!label/label_time_pm",
+        /* 84 */ "!icon/settingsKey|!code/key_settings",
+        /* 85 */ ",",
+        /* 86 */ EMPTY,
+        /* 87 */ "!hasLabels!,!label/label_next_key|!code/key_action_next",
+        /* 88 */ "!hasLabels!,!label/label_previous_key|!code/key_action_previous",
+        /* 89 */ "?",
+        /* 90 */ ";",
+        /* 91 */ "%",
+        // U+00BF: "¿" INVERTED QUESTION MARK
+        /* 92 */ "\u00BF",
+        /* 93 */ EMPTY,
+        // U+2030: "‰" PER MILLE SIGN
+        /* 94 */ "\u2030",
+        /* 95 */ ",",
+        /* 96 */ "!",
+        /* 97 */ "!",
+        /* 98 */ "?",
+        /* 99 */ "?",
+        /* 100 */ "\'",
+        /* 101 */ "-",
+        /* 102 */ "\"",
+        /* 103 */ "_",
+        /* 104 */ "\"",
+        /* 105 */ "_",
+        // U+266A: "♪" EIGHTH NOTE
+        // U+2665: "♥" BLACK HEART SUIT
+        // U+2660: "♠" BLACK SPADE SUIT
+        // U+2666: "♦" BLACK DIAMOND SUIT
+        // U+2663: "♣" BLACK CLUB SUIT
+        /* 106 */ "\u266A,\u2665,\u2660,\u2666,\u2663",
+        // U+2020: "†" DAGGER
+        // U+2021: "‡" DOUBLE DAGGER
+        // U+2605: "★" BLACK STAR
+        /* 107 */ "\u2020,\u2021,\u2605",
+        // U+00B1: "±" PLUS-MINUS SIGN
+        /* 108 */ "\u00B1",
+        // The all letters need to be mirrored are found at
+        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
+        /* 109 */ "!fixedColumnOrder!3,<,{,[",
+        /* 110 */ "!fixedColumnOrder!3,>,},]",
+        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        // U+2264: "≤" LESS-THAN OR EQUAL TO
+        // U+2265: "≥" GREATER-THAN EQUAL TO
+        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // The following characters don't need BIDI mirroring.
+        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
+        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
+        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
+        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+        /* 111 */ "!fixedColumnOrder!3,\u2039,\u2264,\u00AB",
+        /* 112 */ "!fixedColumnOrder!3,\u203A,\u2265,\u00BB",
+        // Label for "switch to more symbol" modifier key.  Must be short to fit on key!
+        /* 113 */ "= \\ <",
+        // Label for "switch to more symbol" modifier key on tablets.  Must be short to fit on key!
+        /* 114 */ "~ \\ {",
+        // Label for "Tab" key.  Must be short to fit on key!
+        /* 115 */ "Tab",
+        // Label for "switch to phone numeric" key.  Must be short to fit on key!
+        /* 116 */ "123",
+        // Label for "switch to phone symbols" key.  Must be short to fit on key!  U+FF0A: "＊" FULLWIDTH ASTERISK
+        // U+FF03: "＃" FULLWIDTH NUMBER SIGN
+        /* 117 */ "\uFF0A\uFF03",
+        // Key label for "ante meridiem"
+        /* 118 */ "AM",
+        // Key label for "post meridiem"
+        /* 119 */ "PM",
+    };
+
+    /* Language ar: Arabic */
+    private static final String[] LANGUAGE_ar = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null,
+        /* ~41 */
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK  <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
+        /* 42 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB",
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK  <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
+        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
+        /* 44~ */
+        null, null, null, null, null,
+        /* ~48 */
+        // U+061F: "؟" ARABIC QUESTION MARK
+        // U+060C: "،" ARABIC COMMA
+        // U+061B: "؛" ARABIC SEMICOLON  U+0650: "ِ" ARABIC KASRA
+        // U+064E: "َ" ARABIC FATHA
+        // U+064D: "ٍ" ARABIC KASRATAN
+        // U+064B: "ً" ARABIC FATHATAN
+        // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
+        // U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
+        // U+0655: "ٕ" ARABIC HAMZA BELOW
+        // U+0654: "ٔ" ARABIC HAMZA ABOVE  U+064F: "ُ" ARABIC DAMMA
+        // U+064C: "ٌ" ARABIC DAMMATAN
+        // U+0651: "ّ" ARABIC SHADDA
+        // U+0652: "ْ" ARABIC SUKUN
+        // U+0653: "ٓ" ARABIC MADDAH ABOVE
+        // U+0640: "ـ" ARABIC TATWEEL  In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
+        /* 49 */ "!fixedColumnOrder!8,\",\',-,:,!,\u061F,\u060C,\u061B,\u0650,\u064E,\u064D,\u064B,\u0656,\u0670,\u0655,\u0654,\u064F,\u064C,\u0651,\u0652,\u0653,\u0640\u0640\u0640|\u0640,/",
+        /* 50 */ "\u064B",
+        /* 51 */ null,
+        /* 52 */ null,
+        // U+0661: "١" ARABIC-INDIC DIGIT ONE
+        /* 53 */ "\u0661",
+        // U+0662: "٢" ARABIC-INDIC DIGIT TWO
+        /* 54 */ "\u0662",
+        // U+0663: "٣" ARABIC-INDIC DIGIT THREE
+        /* 55 */ "\u0663",
+        // U+0664: "٤" ARABIC-INDIC DIGIT FOUR
+        /* 56 */ "\u0664",
+        // U+0665: "٥" ARABIC-INDIC DIGIT FIVE
+        /* 57 */ "\u0665",
+        // U+0666: "٦" ARABIC-INDIC DIGIT SIX
+        /* 58 */ "\u0666",
+        // U+0667: "٧" ARABIC-INDIC DIGIT SEVEN
+        /* 59 */ "\u0667",
+        // U+0668: "٨" ARABIC-INDIC DIGIT EIGHT
+        /* 60 */ "\u0668",
+        // U+0669: "٩" ARABIC-INDIC DIGIT NINE
+        /* 61 */ "\u0669",
+        // U+0660: "٠" ARABIC-INDIC DIGIT ZERO
+        /* 62 */ "\u0660",
+        /* 63 */ "1",
+        /* 64 */ "2",
+        /* 65 */ "3",
+        /* 66 */ "4",
+        /* 67 */ "5",
+        /* 68 */ "6",
+        /* 69 */ "7",
+        /* 70 */ "8",
+        /* 71 */ "9",
+        // U+066B: "٫" ARABIC DECIMAL SEPARATOR
+        // U+066C: "٬" ARABIC THOUSANDS SEPARATOR
+        /* 72 */ "0,\u066B,\u066C",
+        /* 73~ */
+        null, null, null, null, null, null, null, null, null, null, null, null,
+        /* ~84 */
+        // U+060C: "،" ARABIC COMMA
+        /* 85 */ "\u060C",
+        /* 86 */ "\\,",
+        /* 87 */ null,
+        /* 88 */ null,
+        /* 89 */ "\u061F",
+        /* 90 */ "\u061B",
+        // U+066A: "٪" ARABIC PERCENT SIGN
+        /* 91 */ "\u066A",
+        /* 92 */ "?",
+        /* 93 */ ";",
+        // U+2030: "‰" PER MILLE SIGN
+        /* 94 */ "%,\u2030",
+        /* 95~ */
+        null, null, null, null, null,
+        /* ~99 */
+        // U+060C: "،" ARABIC COMMA
+        // U+061B: "؛" ARABIC SEMICOLON
+        // U+061F: "؟" ARABIC QUESTION MARK
+        /* 100 */ "\u060C",
+        /* 101 */ ".",
+        /* 102 */ "\u061F",
+        /* 103 */ "\u064B",
+        /* 104 */ "\u061F,\u061B,!,:,-,/,\',\"",
+        // U+0651: "ّ" ARABIC SHADDA
+        // U+0652: "ْ" ARABIC SUKUN
+        // U+064C: "ٌ" ARABIC DAMMATAN
+        // U+0653: "ٓ" ARABIC MADDAH ABOVE
+        // U+064F: "ُ" ARABIC DAMMA  U+0650: "ِ" ARABIC KASRA
+        // U+064E: "َ" ARABIC FATHA
+        // U+064B: "ً" ARABIC FATHATAN
+        // U+0640: "ـ" ARABIC TATWEEL
+        // U+064D: "ٍ" ARABIC KASRATAN  U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
+        // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
+        // U+0654: "ٔ" ARABIC HAMZA ABOVE
+        // U+0655: "ٕ" ARABIC HAMZA BELOW  In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
+        /* 105 */ "\u0651,\u0652,\u064C,\u0653,\u064F,\u0650,\u064E,\u064B,\u0640\u0640\u0640|\u0640,\u064D,\u0654,\u0656,\u0655,\u0670",
+        // U+266A: "♪" EIGHTH NOTE
+        /* 106 */ "\u266A",
+        // U+2605: "★" BLACK STAR
+        // U+066D: "٭" ARABIC FIVE POINTED STAR
+        /* 107 */ "\u2605,\u066D",
+        /* 108 */ null,
+        // The all letters need to be mirrored are found at
+        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt  U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
+        // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS  TODO: DroidSansArabic lacks the glyph of U+FD3E ORNATE LEFT PARENTHESIS  TODO: DroidSansArabic lacks the glyph of U+FD3F ORNATE RIGHT PARENTHESIS
+        /* 109 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
+        /* 110 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
+        // U+2264: "≤" LESS-THAN OR EQUAL TO
+        // U+2265: "≥" GREATER-THAN EQUAL TO
+        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        // The following characters don't need BIDI mirroring.
+        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
+        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
+        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
+        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+        /* 111 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
+        /* 112 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
+    };
+
+    /* Language be: Belarusian */
+    private static final String[] LANGUAGE_be = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null,
+        /* ~24 */
+        // U+045E: "ў" CYRILLIC SMALL LETTER SHORT U
+        /* 25 */ "\u045E",
+        // U+044B: "ы" CYRILLIC SMALL LETTER YERU
+        /* 26 */ "\u044B",
+        // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+        /* 27 */ "\u0456",
+        /* 28~ */
+        null, null, null,
+        /* ~30 */
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 31 */ "\u044A",
+        /* 32 */ null,
+        /* 33 */ null,
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 34 */ "\u044A",
+    };
+
+    /* Language ca: Catalan */
+    private static final String[] LANGUAGE_ca = {
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
+        /* 0 */ "\u00E0,\u00E1,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA",
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E8,\u00E9,\u00EB,\u00EA,\u0119,\u0117,\u0113",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
+        /* 3 */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+        /* 5 */ null,
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u00F1,\u0144",
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        /* 7 */ "\u00E7,\u0107,\u010D",
+        /* 8~ */
+        null, null, null, null, null, null,
+        /* ~13 */
+        // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        /* 14 */ "\u0140,\u0142",
+    };
+
+    /* Language cs: Czech */
+    private static final String[] LANGUAGE_cs = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B",
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B",
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        /* 5 */ "\u0161,\u00DF,\u015B",
+        // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u0148,\u00F1,\u0144",
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        /* 7 */ "\u010D,\u00E7,\u0107",
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "\u00FD,\u00FF",
+        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+        /* 9 */ "\u010F",
+        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
+        /* 10 */ "\u0159",
+        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+        /* 11 */ "\u0165",
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        /* 12 */ "\u017E,\u017A,\u017C",
+    };
+
+    /* Language da: Danish */
+    private static final String[] LANGUAGE_da = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E1,\u00E4,\u00E0,\u00E2,\u00E3,\u0101",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        /* 1 */ "\u00E9,\u00EB",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        /* 2 */ "\u00ED,\u00EF",
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F3,\u00F4,\u00F2,\u00F5,\u0153,\u014D",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        /* 5 */ "\u00DF,\u015B,\u0161",
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u00F1,\u0144",
+        /* 7 */ null,
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "\u00FD,\u00FF",
+        // U+00F0: "ð" LATIN SMALL LETTER ETH
+        /* 9 */ "\u00F0",
+        /* 10~ */
+        null, null, null, null,
+        /* ~13 */
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        /* 14 */ "\u0142",
+        /* 15~ */
+        null, null, null, null, null,
+        /* ~19 */
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        /* 20 */ "\u00E5",
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        /* 21 */ "\u00E6",
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 22 */ "\u00F8",
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        /* 23 */ "\u00E4",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        /* 24 */ "\u00F6",
+    };
+
+    /* Language de: German */
+    private static final String[] LANGUAGE_de = {
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E4,\u00E2,\u00E0,\u00E1,\u00E6,\u00E3,\u00E5,\u0101",
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        /* 1 */ "\u0117",
+        /* 2 */ null,
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F6,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u00F8,\u014D",
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        /* 5 */ "\u00DF,\u015B,\u0161",
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u00F1,\u0144",
+    };
+
+    /* Language en: English */
+    private static final String[] LANGUAGE_en = {
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0103",
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC",
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8\u014D,\u00F5",
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B",
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        /* 5 */ "\u00DF",
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        /* 6 */ "\u00F1",
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        /* 7 */ "\u00E7",
+    };
+
+    /* Language es: Spanish */
+    private static final String[] LANGUAGE_es = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
+        /* 0 */ "\u00E1,\u00E0,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
+        /* 3 */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+        /* 5 */ null,
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u00F1,\u0144",
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        /* 7 */ "\u00E7,\u0107,\u010D",
+        /* 8~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null,
+        /* ~48 */
+        // U+00A1: "¡" INVERTED EXCLAMATION MARK
+        // U+00BF: "¿" INVERTED QUESTION MARK
+        /* 49 */ "!fixedColumnOrder!7,#,-,\u00A1,!,\u00BF,\\,,?,\\%,+,;,:,/,(,),@,&,\",\'",
+    };
+
+    /* Language et: Estonian */
+    private static final String[] LANGUAGE_et = {
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        /* 0 */ "\u00E4,\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E5,\u00E6,\u0105",
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+        /* 1 */ "\u0113,\u00E8,\u0117,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+        /* 2 */ "\u012B,\u00EC,\u012F,\u00ED,\u00EE,\u00EF,\u0131",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 3 */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8",
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
+        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        /* 4 */ "\u00FC,\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u016F,\u0171",
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
+        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
+        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u0146,\u00F1,\u0144,\u0144",
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        /* 7 */ "\u010D,\u00E7,\u0107",
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "\u00FD,\u00FF",
+        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+        /* 9 */ "\u010F",
+        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
+        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
+        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
+        /* 10 */ "\u0157,\u0159,\u0155",
+        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+        /* 11 */ "\u0163,\u0165",
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        /* 12 */ "\u017E,\u017C,\u017A",
+        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
+        /* 13 */ "\u0137",
+        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
+        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
+        /* 14 */ "\u013C,\u0142,\u013A,\u013E",
+        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
+        /* 15 */ "\u0123,\u011F",
+        /* 16~ */
+        null, null, null, null,
+        /* ~19 */
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        /* 20 */ "\u00FC",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        /* 21 */ "\u00F6",
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        /* 22 */ "\u00E4",
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        /* 23 */ "\u00F5",
+    };
+
+    /* Language fa: Persian */
+    private static final String[] LANGUAGE_fa = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null,
+        /* ~41 */
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK  <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
+        /* 42 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB",
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK  <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
+        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
+        /* 44~ */
+        null, null, null, null, null,
+        /* ~48 */
+        // U+061F: "؟" ARABIC QUESTION MARK
+        // U+060C: "،" ARABIC COMMA
+        // U+061B: "؛" ARABIC SEMICOLON  U+0650: "ِ" ARABIC KASRA
+        // U+064E: "َ" ARABIC FATHA
+        // U+064D: "ٍ" ARABIC KASRATAN
+        // U+064B: "ً" ARABIC FATHATAN
+        // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
+        // U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
+        // U+0655: "ٕ" ARABIC HAMZA BELOW
+        // U+0654: "ٔ" ARABIC HAMZA ABOVE  U+064F: "ُ" ARABIC DAMMA
+        // U+064C: "ٌ" ARABIC DAMMATAN
+        // U+0651: "ّ" ARABIC SHADDA
+        // U+0652: "ْ" ARABIC SUKUN
+        // U+0653: "ٓ" ARABIC MADDAH ABOVE
+        // U+0640: "ـ" ARABIC TATWEEL  In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
+        /* 49 */ "!fixedColumnOrder!8,\",\',-,:,!,\u061F,\u060C,\u061B,\u0650,\u064E,\u064D,\u064B,\u0656,\u0670,\u0655,\u0654,\u064F,\u064C,\u0651,\u0652,\u0653,\u0640\u0640\u0640|\u0640,/",
+        /* 50 */ "\u064B",
+        /* 51 */ null,
+        /* 52 */ null,
+        // U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE
+        /* 53 */ "\u06F1",
+        // U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO
+        /* 54 */ "\u06F2",
+        // U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE
+        /* 55 */ "\u06F3",
+        // U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR
+        /* 56 */ "\u06F4",
+        // U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE
+        /* 57 */ "\u06F5",
+        // U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX
+        /* 58 */ "\u06F6",
+        // U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN
+        /* 59 */ "\u06F7",
+        // U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT
+        /* 60 */ "\u06F8",
+        // U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE
+        /* 61 */ "\u06F9",
+        // U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO
+        /* 62 */ "\u06F0",
+        /* 63 */ "1",
+        /* 64 */ "2",
+        /* 65 */ "3",
+        /* 66 */ "4",
+        /* 67 */ "5",
+        /* 68 */ "6",
+        /* 69 */ "7",
+        /* 70 */ "8",
+        /* 71 */ "9",
+        // U+066B: "٫" ARABIC DECIMAL SEPARATOR
+        // U+066C: "٬" ARABIC THOUSANDS SEPARATOR
+        /* 72 */ "0,\u066B,\u066C",
+        /* 73~ */
+        null, null, null, null, null, null, null, null, null, null, null, null,
+        /* ~84 */
+        // U+060C: "،" ARABIC COMMA
+        /* 85 */ "\u060C",
+        /* 86 */ "\\,",
+        /* 87 */ null,
+        /* 88 */ null,
+        /* 89 */ "\u061F",
+        /* 90 */ "\u061B",
+        // U+066A: "٪" ARABIC PERCENT SIGN
+        /* 91 */ "\u066A",
+        /* 92 */ "?",
+        /* 93 */ ";",
+        // U+2030: "‰" PER MILLE SIGN
+        /* 94 */ "%,\u2030",
+        // U+060C: "،" ARABIC COMMA
+        // U+061B: "؛" ARABIC SEMICOLON
+        // U+061F: "؟" ARABIC QUESTION MARK
+        /* 95 */ "\u060C",
+        /* 96 */ "!",
+        /* 97 */ "!,\\,",
+        /* 98 */ "\u061F",
+        /* 99 */ "\u061F,?",
+        /* 100~ */
+        null, null, null,
+        /* ~102 */
+        /* 103 */ "\u064B",
+        /* 104 */ "\u061F,\u061B,!,:,-,/,\',\"",
+        // U+0651: "ّ" ARABIC SHADDA
+        // U+0652: "ْ" ARABIC SUKUN
+        // U+064C: "ٌ" ARABIC DAMMATAN
+        // U+0653: "ٓ" ARABIC MADDAH ABOVE
+        // U+064F: "ُ" ARABIC DAMMA  U+0650: "ِ" ARABIC KASRA
+        // U+064E: "َ" ARABIC FATHA
+        // U+064B: "ً" ARABIC FATHATAN
+        // U+0640: "ـ" ARABIC TATWEEL
+        // U+064D: "ٍ" ARABIC KASRATAN  U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
+        // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
+        // U+0654: "ٔ" ARABIC HAMZA ABOVE
+        // U+0655: "ٕ" ARABIC HAMZA BELOW  In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
+        /* 105 */ "\u0651,\u0652,\u064C,\u0653,\u064F,\u0650,\u064E,\u064B,\u0640\u0640\u0640|\u0640,\u064D,\u0654,\u0656,\u0655,_,\u0670",
+        // U+266A: "♪" EIGHTH NOTE
+        /* 106 */ "\u266A",
+        // U+2605: "★" BLACK STAR
+        // U+066D: "٭" ARABIC FIVE POINTED STAR
+        /* 107 */ "\u2605,\u066D",
+        /* 108 */ null,
+        // The all letters need to be mirrored are found at
+        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt  U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
+        // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS  TODO: DroidSansArabic lacks the glyph of U+FD3E ORNATE LEFT PARENTHESIS  TODO: DroidSansArabic lacks the glyph of U+FD3F ORNATE RIGHT PARENTHESIS
+        /* 109 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
+        /* 110 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
+        // U+2264: "≤" LESS-THAN OR EQUAL TO
+        // U+2265: "≥" GREATER-THAN EQUAL TO
+        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        // The following characters don't need BIDI mirroring.
+        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
+        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
+        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
+        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+        /* 111 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
+        /* 112 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
+    };
+
+    /* Language fi: Finnish */
+    private static final String[] LANGUAGE_fi = {
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E6,\u00E0,\u00E1,\u00E2,\u00E3,\u0101",
+        /* 1 */ null,
+        /* 2 */ null,
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F8,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u014D",
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        /* 4 */ "\u00FC",
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        /* 5 */ "\u0161,\u00DF,\u015B",
+        /* 6~ */
+        null, null, null, null, null, null,
+        /* ~11 */
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        /* 12 */ "\u017E,\u017A,\u017C",
+        /* 13~ */
+        null, null, null, null, null, null, null,
+        /* ~19 */
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        /* 20 */ "\u00E5",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        /* 21 */ "\u00F6",
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        /* 22 */ "\u00E4",
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 23 */ "\u00F8",
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        /* 24 */ "\u00E6",
+    };
+
+    /* Language fr: French */
+    private static final String[] LANGUAGE_fr = {
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
+        /* 0 */ "\u00E0,\u00E2,%,\u00E6,\u00E1,\u00E4,\u00E3,\u00E5,\u0101,\u00AA",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,%,\u0119,\u0117,\u0113",
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00EE,%,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
+        /* 3 */ "\u00F4,\u0153,%,\u00F6,\u00F2,\u00F3,\u00F5,\u00F8,\u014D,\u00BA",
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00F9,\u00FB,%,\u00FC,\u00FA,\u016B",
+        /* 5 */ null,
+        /* 6 */ null,
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        /* 7 */ "\u00E7,\u0107,\u010D",
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "%,\u00FF",
+    };
+
+    /* Language hi: Hindi */
+    private static final String[] LANGUAGE_hi = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null,
+        /* ~52 */
+        // U+0967: "१" DEVANAGARI DIGIT ONE
+        /* 53 */ "\u0967",
+        // U+0968: "२" DEVANAGARI DIGIT TWO
+        /* 54 */ "\u0968",
+        // U+0969: "३" DEVANAGARI DIGIT THREE
+        /* 55 */ "\u0969",
+        // U+096A: "४" DEVANAGARI DIGIT FOUR
+        /* 56 */ "\u096A",
+        // U+096B: "५" DEVANAGARI DIGIT FIVE
+        /* 57 */ "\u096B",
+        // U+096C: "६" DEVANAGARI DIGIT SIX
+        /* 58 */ "\u096C",
+        // U+096D: "७" DEVANAGARI DIGIT SEVEN
+        /* 59 */ "\u096D",
+        // U+096E: "८" DEVANAGARI DIGIT EIGHT
+        /* 60 */ "\u096E",
+        // U+096F: "९" DEVANAGARI DIGIT NINE
+        /* 61 */ "\u096F",
+        // U+0966: "०" DEVANAGARI DIGIT ZERO
+        /* 62 */ "\u0966",
+        /* 63 */ "1",
+        /* 64 */ "2",
+        /* 65 */ "3",
+        /* 66 */ "4",
+        /* 67 */ "5",
+        /* 68 */ "6",
+        /* 69 */ "7",
+        /* 70 */ "8",
+        /* 71 */ "9",
+        /* 72 */ "0",
+    };
+
+    /* Language hr: Croatian */
+    private static final String[] LANGUAGE_hr = {
+        /* 0~ */
+        null, null, null, null, null,
+        /* ~4 */
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        /* 5 */ "\u0161,\u015B,\u00DF",
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u00F1,\u0144",
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        /* 7 */ "\u010D,\u0107,\u00E7",
+        /* 8 */ null,
+        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+        /* 9 */ "\u0111",
+        /* 10 */ null,
+        /* 11 */ null,
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        /* 12 */ "\u017E,\u017A,\u017C",
+    };
+
+    /* Language hu: Hungarian */
+    private static final String[] LANGUAGE_hu = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B",
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F3,\u00F6,\u0151,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u00FC,\u0171,\u00FB,\u00F9,\u016B",
+    };
+
+    /* Language is: Icelandic */
+    private static final String[] LANGUAGE_is = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E1,\u00E4,\u00E6,\u00E5,\u00E0,\u00E2,\u00E3,\u0101",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E9,\u00EB,\u00E8,\u00EA,\u0119,\u0117,\u0113",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00ED,\u00EF,\u00EE,\u00EC,\u012F,\u012B",
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
+        /* 5~ */
+        null, null, null,
+        /* ~7 */
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "\u00FD,\u00FF",
+        // U+00F0: "ð" LATIN SMALL LETTER ETH
+        /* 9 */ "\u00F0",
+        /* 10 */ null,
+        // U+00FE: "þ" LATIN SMALL LETTER THORN
+        /* 11 */ "\u00FE",
+        /* 12~ */
+        null, null, null, null, null, null, null, null,
+        /* ~19 */
+        // U+00F0: "ð" LATIN SMALL LETTER ETH
+        /* 20 */ "\u00F0",
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        /* 21 */ "\u00E6",
+        // U+00FE: "þ" LATIN SMALL LETTER THORN
+        /* 22 */ "\u00FE",
+    };
+
+    /* Language it: Italian */
+    private static final String[] LANGUAGE_it = {
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
+        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101,\u00AA",
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00EC,\u00ED,\u00EE,\u00EF,\u012F,\u012B",
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
+        /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F6,\u00F5,\u0153,\u00F8,\u014D,\u00BA",
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00F9,\u00FA,\u00FB,\u00FC,\u016B",
+    };
+
+    /* Language iw: Hebrew */
+    private static final String[] LANGUAGE_iw = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null,
+        /* ~41 */
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK  <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
+        /* 42 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB",
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK  <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
+        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
+        /* 44~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null,
+        /* ~106 */
+        // U+2605: "★" BLACK STAR
+        /* 107 */ "\u2605",
+        // U+00B1: "±" PLUS-MINUS SIGN
+        // U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN
+        /* 108 */ "\u00B1,\uFB29",
+        // The all letters need to be mirrored are found at
+        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
+        /* 109 */ "!fixedColumnOrder!3,<|>,{|},[|]",
+        /* 110 */ "!fixedColumnOrder!3,>|<,}|{,]|[",
+        // U+2264: "≤" LESS-THAN OR EQUAL TO
+        // U+2265: "≥" GREATER-THAN EQUAL TO
+        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+        // The following characters don't need BIDI mirroring.
+        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
+        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
+        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
+        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+        /* 111 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
+        /* 112 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
+    };
+
+    /* Language ky: Kirghiz */
+    private static final String[] LANGUAGE_ky = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null,
+        /* ~24 */
+        // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
+        /* 25 */ "\u0449",
+        // U+044B: "ы" CYRILLIC SMALL LETTER YERU
+        /* 26 */ "\u044B",
+        // U+0438: "и" CYRILLIC SMALL LETTER I
+        /* 27 */ "\u0438",
+        // U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U
+        /* 28 */ "\u04AF",
+        /* 29 */ null,
+        // U+04A3: "ң" CYRILLIC SMALL LETTER EN WITH DESCENDER
+        /* 30 */ "\u04A3",
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 31 */ "\u044A",
+        /* 32 */ null,
+        // U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O
+        /* 33 */ "\u04E9",
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 34 */ "\u044A",
+    };
+
+    /* Language lt: Lithuanian */
+    private static final String[] LANGUAGE_lt = {
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        /* 0 */ "\u0105,\u00E4,\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E5,\u00E6",
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+        /* 1 */ "\u0117,\u0119,\u0113,\u00E8,\u00E9,\u00EA,\u00EB,\u011B",
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+        /* 2 */ "\u012F,\u012B,\u00EC,\u00ED,\u00EE,\u00EF,\u0131",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 3 */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8",
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
+        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        /* 4 */ "\u016B,\u0173,\u00FC,\u016B,\u00F9,\u00FA,\u00FB,\u016F,\u0171",
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
+        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
+        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u0146,\u00F1,\u0144,\u0144",
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        /* 7 */ "\u010D,\u00E7,\u0107",
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "\u00FD,\u00FF",
+        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+        /* 9 */ "\u010F",
+        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
+        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
+        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
+        /* 10 */ "\u0157,\u0159,\u0155",
+        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+        /* 11 */ "\u0163,\u0165",
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        /* 12 */ "\u017E,\u017C,\u017A",
+        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
+        /* 13 */ "\u0137",
+        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
+        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
+        /* 14 */ "\u013C,\u0142,\u013A,\u013E",
+        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
+        /* 15 */ "\u0123,\u011F",
+    };
+
+    /* Language lv: Latvian */
+    private static final String[] LANGUAGE_lv = {
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        /* 0 */ "\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E4,\u00E5,\u00E6,\u0105",
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+        /* 1 */ "\u0113,\u0117,\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+        /* 2 */ "\u012B,\u012F,\u00EC,\u00ED,\u00EE,\u00EF,\u0131",
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u0153,\u0151,\u00F8",
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
+        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        /* 4 */ "\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u00FC,\u016F,\u0171",
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
+        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
+        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u0146,\u00F1,\u0144,\u0144",
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        /* 7 */ "\u010D,\u00E7,\u0107",
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "\u00FD,\u00FF",
+        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+        /* 9 */ "\u010F",
+        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
+        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
+        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
+        /* 10 */ "\u0157,\u0159,\u0155",
+        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+        /* 11 */ "\u0163,\u0165",
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        /* 12 */ "\u017E,\u017C,\u017A",
+        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
+        /* 13 */ "\u0137",
+        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
+        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
+        /* 14 */ "\u013C,\u0142,\u013A,\u013E",
+        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
+        /* 15 */ "\u0123,\u011F",
+    };
+
+    /* Language mk: Macedonian */
+    private static final String[] LANGUAGE_mk = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null,
+        /* ~34 */
+        // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE
+        /* 35 */ "\u0455",
+        // U+045C: "ќ" CYRILLIC SMALL LETTER KJE
+        /* 36 */ "\u045C",
+        // U+0437: "з" CYRILLIC SMALL LETTER ZE
+        /* 37 */ "\u0437",
+        // U+0453: "ѓ" CYRILLIC SMALL LETTER GJE
+        /* 38 */ "\u0453",
+        // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE
+        /* 39 */ "\u0450",
+        // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE
+        /* 40 */ "\u045D",
+        /* 41 */ null,
+        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
+        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
+        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
+        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK  TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.  <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201E;,&#x201C;,&#x201D;,&#x201F;,&#x00AB;,&#x00BB;</string>
+        /* 42 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB",
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.  <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
+        /* 43 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B",
+    };
+
+    /* Language nb: Norwegian Bokmål */
+    private static final String[] LANGUAGE_nb = {
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E0,\u00E4,\u00E1,\u00E2,\u00E3,\u0101",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+        /* 2 */ null,
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F4,\u00F2,\u00F3,\u00F6,\u00F5,\u0153,\u014D",
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
+        /* 5~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        /* ~19 */
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        /* 20 */ "\u00E5",
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 21 */ "\u00F8",
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        /* 22 */ "\u00E6",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        /* 23 */ "\u00F6",
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        /* 24 */ "\u00E4",
+    };
+
+    /* Language nl: Dutch */
+    private static final String[] LANGUAGE_nl = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E1,\u00E4,\u00E2,\u00E0,\u00E6,\u00E3,\u00E5,\u0101",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u00E9,\u00EB,\u00EA,\u00E8,\u0119,\u0117,\u0113",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        // U+0133: "ĳ" LATIN SMALL LIGATURE IJ
+        /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B,\u0133",
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
+        /* 5 */ null,
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u00F1,\u0144",
+        /* 7 */ null,
+        // U+0133: "ĳ" LATIN SMALL LIGATURE IJ
+        /* 8 */ "\u0133",
+    };
+
+    /* Language pl: Polish */
+    private static final String[] LANGUAGE_pl = {
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u0105,\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        /* 1 */ "\u0119,\u00E8,\u00E9,\u00EA,\u00EB,\u0117,\u0113",
+        /* 2 */ null,
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
+        /* 4 */ null,
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        /* 5 */ "\u015B,\u00DF,\u0161",
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        /* 6 */ "\u0144,\u00F1",
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        /* 7 */ "\u0107,\u00E7,\u010D",
+        /* 8~ */
+        null, null, null, null,
+        /* ~11 */
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        /* 12 */ "\u017C,\u017A,\u017E",
+        /* 13 */ null,
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        /* 14 */ "\u0142",
+    };
+
+    /* Language pt: Portuguese */
+    private static final String[] LANGUAGE_pt = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
+        /* 0 */ "\u00E1,\u00E3,\u00E0,\u00E2,\u00E4,\u00E5,\u00E6,\u00AA",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        /* 1 */ "\u00E9,\u00EA,\u00E8,\u0119,\u0117,\u0113,\u00EB",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00ED,\u00EE,\u00EC,\u00EF,\u012F,\u012B",
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
+        /* 3 */ "\u00F3,\u00F5,\u00F4,\u00F2,\u00F6,\u0153,\u00F8,\u014D,\u00BA",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+        /* 5 */ null,
+        /* 6 */ null,
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        /* 7 */ "\u00E7,\u010D,\u0107",
+    };
+
+    /* Language rm: Raeto-Romance */
+    private static final String[] LANGUAGE_rm = {
+        /* 0~ */
+        null, null, null,
+        /* ~2 */
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 3 */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u0153,\u00F8",
+    };
+
+    /* Language ro: Romanian */
+    private static final String[] LANGUAGE_ro = {
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        /* 0 */ "\u00E2,\u00E3,\u0103,\u00E0,\u00E1,\u00E4,\u00E6,\u00E5,\u0101",
+        /* 1 */ null,
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
+        /* 3 */ null,
+        /* 4 */ null,
+        // U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        /* 5 */ "\u0219,\u00DF,\u015B,\u0161",
+        /* 6~ */
+        null, null, null, null, null,
+        /* ~10 */
+        // U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW
+        /* 11 */ "\u021B",
+    };
+
+    /* Language ru: Russian */
+    private static final String[] LANGUAGE_ru = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null,
+        /* ~24 */
+        // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
+        /* 25 */ "\u0449",
+        // U+044B: "ы" CYRILLIC SMALL LETTER YERU
+        /* 26 */ "\u044B",
+        // U+0438: "и" CYRILLIC SMALL LETTER I
+        /* 27 */ "\u0438",
+        /* 28 */ null,
+        // U+0451: "ё" CYRILLIC SMALL LETTER IO
+        /* 29 */ "\u0451",
+        /* 30 */ null,
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 31 */ "\u044A",
+        /* 32 */ null,
+        /* 33 */ null,
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 34 */ "\u044A",
+    };
+
+    /* Language sk: Slovak */
+    private static final String[] LANGUAGE_sk = {
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        /* 0 */ "\u00E1,\u00E4,\u0101,\u00E0,\u00E2,\u00E3,\u00E5,\u00E6,\u0105",
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        /* 1 */ "\u00E9,\u011B,\u0113,\u0117,\u00E8,\u00EA,\u00EB,\u0119",
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+        /* 2 */ "\u00ED,\u012B,\u012F,\u00EC,\u00EE,\u00EF,\u0131",
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 3 */ "\u00F4,\u00F3,\u00F6,\u00F2,\u00F5,\u0153,\u0151,\u00F8",
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        /* 4 */ "\u00FA,\u016F,\u00FC,\u016B,\u0173,\u00F9,\u00FB,\u0171",
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
+        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
+        // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        /* 6 */ "\u0148,\u0146,\u00F1,\u0144,\u0144",
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        /* 7 */ "\u010D,\u00E7,\u0107",
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        /* 8 */ "\u00FD,\u00FF",
+        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+        /* 9 */ "\u010F",
+        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
+        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
+        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
+        /* 10 */ "\u0155,\u0159,\u0157",
+        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+        /* 11 */ "\u0165,\u0163",
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        /* 12 */ "\u017E,\u017C,\u017A",
+        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
+        /* 13 */ "\u0137",
+        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
+        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
+        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        /* 14 */ "\u013E,\u013A,\u013C,\u0142",
+        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
+        /* 15 */ "\u0123,\u011F",
+    };
+
+    /* Language sl: Slovenian */
+    private static final String[] LANGUAGE_sl = {
+        /* 0~ */
+        null, null, null, null, null,
+        /* ~4 */
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        /* 5 */ "\u0161",
+        /* 6 */ null,
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        /* 7 */ "\u010D,\u0107",
+        /* 8 */ null,
+        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+        /* 9 */ "\u0111",
+        /* 10 */ null,
+        /* 11 */ null,
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        /* 12 */ "\u017E",
+    };
+
+    /* Language sr: Serbian */
+    private static final String[] LANGUAGE_sr = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null,
+        /* ~34 */
+        // U+0437: "з" CYRILLIC SMALL LETTER ZE
+        /* 35 */ "\u0437",
+        // U+045B: "ћ" CYRILLIC SMALL LETTER TSHE
+        /* 36 */ "\u045B",
+        // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE
+        /* 37 */ "\u0455",
+        // U+0452: "ђ" CYRILLIC SMALL LETTER DJE
+        /* 38 */ "\u0452",
+        // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE
+        /* 39 */ "\u0450",
+        // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE
+        /* 40 */ "\u045D",
+        /* 41 */ null,
+        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
+        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
+        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
+        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK  TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.  <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201E;,&#x201C;,&#x201D;,&#x201F;,&#x00AB;,&#x00BB;</string>
+        /* 42 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB",
+        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.  <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
+        /* 43 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B",
+    };
+
+    /* Language sv: Swedish */
+    private static final String[] LANGUAGE_sv = {
+        /* 0 */ null,
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119",
+        /* 2 */ null,
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u0153,\u00F4,\u00F2,\u00F3,\u00F5,\u014D",
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        /* 5 */ "\u00DF,\u015B,\u0161",
+        /* 6~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        /* ~19 */
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        /* 20 */ "\u00E5",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        /* 21 */ "\u00F6",
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        /* 22 */ "\u00E4",
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        /* 23 */ "\u00F8",
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        /* 24 */ "\u00E6",
+    };
+
+    /* Language tr: Turkish */
+    private static final String[] LANGUAGE_tr = {
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        /* 0 */ "\u00E2",
+        /* 1 */ null,
+        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        /* 2 */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        /* 3 */ "\u00F6,\u00F4,\u0153,\u00F2,\u00F3,\u00F5,\u00F8,\u014D",
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
+        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        /* 5 */ "\u015F,\u00DF,\u015B,\u0161",
+        /* 6 */ null,
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        /* 7 */ "\u00E7,\u0107,\u010D",
+        /* 8~ */
+        null, null, null, null, null, null, null,
+        /* ~14 */
+        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
+        /* 15 */ "\u011F",
+    };
+
+    /* Language uk: Ukrainian */
+    private static final String[] LANGUAGE_uk = {
+        /* 0~ */
+        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+        null, null, null, null, null, null, null, null, null, null,
+        /* ~24 */
+        // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
+        /* 25 */ "\u0449",
+        // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+        /* 26 */ "\u0456",
+        // U+0438: "и" CYRILLIC SMALL LETTER I
+        /* 27 */ "\u0438",
+        /* 28~ */
+        null, null, null,
+        /* ~30 */
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 31 */ "\u044A",
+        // U+0457: "ї" CYRILLIC SMALL LETTER YI
+        /* 32 */ "\u0457",
+        /* 33 */ null,
+        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
+        /* 34 */ "\u044A",
+    };
+
+    /* Language vi: Vietnamese */
+    private static final String[] LANGUAGE_vi = {
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+1EA3: "ả" LATIN SMALL LETTER A WITH HOOK ABOVE
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+1EA1: "ạ" LATIN SMALL LETTER A WITH DOT BELOW
+        // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
+        // U+1EB1: "ằ" LATIN SMALL LETTER A WITH BREVE AND GRAVE
+        // U+1EAF: "ắ" LATIN SMALL LETTER A WITH BREVE AND ACUTE
+        // U+1EB3: "ẳ" LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+        // U+1EB5: "ẵ" LATIN SMALL LETTER A WITH BREVE AND TILDE
+        // U+1EB7: "ặ" LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+1EA7: "ầ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+        // U+1EA5: "ấ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+        // U+1EA9: "ẩ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+        // U+1EAB: "ẫ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+        // U+1EAD: "ậ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+        /* 0 */ "\u00E0,\u00E1,\u1EA3,\u00E3,\u1EA1,\u0103,\u1EB1,\u1EAF,\u1EB3,\u1EB5,\u1EB7,\u00E2,\u1EA7,\u1EA5,\u1EA9,\u1EAB,\u1EAD",
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE
+        // U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE
+        // U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+        // U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+        // U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+        // U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+        // U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+        /* 1 */ "\u00E8,\u00E9,\u1EBB,\u1EBD,\u1EB9,\u00EA,\u1EC1,\u1EBF,\u1EC3,\u1EC5,\u1EC7",
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+1EC9: "ỉ" LATIN SMALL LETTER I WITH HOOK ABOVE
+        // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
+        // U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW
+        /* 2 */ "\u00EC,\u00ED,\u1EC9,\u0129,\u1ECB",
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+1ECF: "ỏ" LATIN SMALL LETTER O WITH HOOK ABOVE
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+1ECD: "ọ" LATIN SMALL LETTER O WITH DOT BELOW
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+1ED3: "ồ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+        // U+1ED1: "ố" LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+        // U+1ED5: "ổ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+        // U+1ED7: "ỗ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+        // U+1ED9: "ộ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+        // U+01A1: "ơ" LATIN SMALL LETTER O WITH HORN
+        // U+1EDD: "ờ" LATIN SMALL LETTER O WITH HORN AND GRAVE
+        // U+1EDB: "ớ" LATIN SMALL LETTER O WITH HORN AND ACUTE
+        // U+1EDF: "ở" LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+        // U+1EE1: "ỡ" LATIN SMALL LETTER O WITH HORN AND TILDE
+        // U+1EE3: "ợ" LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+        /* 3 */ "\u00F2,\u00F3,\u1ECF,\u00F5,\u1ECD,\u00F4,\u1ED3,\u1ED1,\u1ED5,\u1ED7,\u1ED9,\u01A1,\u1EDD,\u1EDB,\u1EDF,\u1EE1,\u1EE3",
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+1EE7: "ủ" LATIN SMALL LETTER U WITH HOOK ABOVE
+        // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
+        // U+1EE5: "ụ" LATIN SMALL LETTER U WITH DOT BELOW
+        // U+01B0: "ư" LATIN SMALL LETTER U WITH HORN
+        // U+1EEB: "ừ" LATIN SMALL LETTER U WITH HORN AND GRAVE
+        // U+1EE9: "ứ" LATIN SMALL LETTER U WITH HORN AND ACUTE
+        // U+1EED: "ử" LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+        // U+1EEF: "ữ" LATIN SMALL LETTER U WITH HORN AND TILDE
+        // U+1EF1: "ự" LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+        /* 4 */ "\u00F9,\u00FA,\u1EE7,\u0169,\u1EE5,\u01B0,\u1EEB,\u1EE9,\u1EED,\u1EEF,\u1EF1",
+        /* 5~ */
+        null, null, null,
+        /* ~7 */
+        // U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+1EF7: "ỷ" LATIN SMALL LETTER Y WITH HOOK ABOVE
+        // U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE
+        // U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW
+        /* 8 */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5",
+        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+        /* 9 */ "\u0111",
+    };
+
+    /* Language zz: No language */
+    private static final String[] LANGUAGE_zz = {
+        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+        // U+00E6: "æ" LATIN SMALL LETTER AE
+        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+        // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
+        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
+        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
+        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E3,\u00E4,\u00E5,\u00E6,\u00E3,\u00E5,\u0101,\u0103,\u0105,\u00AA",
+        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+        // U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE
+        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113,\u0115,\u0117,\u0119,\u011B",
+        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+        // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
+        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+        // U+012D: "ĭ" LATIN SMALL LETTER I WITH BREVE
+        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+        // U+0133: "ĳ" LATIN SMALL LIGATURE IJ
+        /* 2 */ "\u00EC,\u00ED,\u00EE,\u00EF,\u0129,\u012B,\u012D,\u012F,\u0131,\u0133",
+        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+        // U+014F: "ŏ" LATIN SMALL LETTER O WITH BREVE
+        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
+        // U+0153: "œ" LATIN SMALL LIGATURE OE
+        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
+        /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u00F8,\u014D,\u014F,\u0151,\u0153,\u00BA",
+        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+        // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
+        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+        // U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE
+        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
+        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
+        /* 4 */ "\u00F9,\u00FA,\u00FB,\u00FC,\u0169,\u016B,\u016D,\u016F,\u0171,\u0173",
+        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+        // U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX
+        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
+        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+        // U+017F: "ſ" LATIN SMALL LETTER LONG S
+        /* 5 */ "\u00DF,\u015B,\u015D,\u015F,\u0161,\u017F",
+        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+        // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+        // U+0149: "ŉ" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+        // U+014B: "ŋ" LATIN SMALL LETTER ENG
+        /* 6 */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B",
+        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+        // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX
+        // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
+        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+        /* 7 */ "\u00E7,\u0107,\u0109,\u010B,\u010D",
+        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+        // U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX
+        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
+        // U+0133: "ĳ" LATIN SMALL LIGATURE IJ
+        /* 8 */ "\u00FD,\u0177,\u00FF,\u0133",
+        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+        // U+00F0: "ð" LATIN SMALL LETTER ETH
+        /* 9 */ "\u010F,\u0111,\u00F0",
+        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
+        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
+        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
+        /* 10 */ "\u0155,\u0157,\u0159",
+        // U+00FE: "þ" LATIN SMALL LETTER THORN
+        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+        // U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE
+        /* 11 */ "\u00FE,\u0163,\u0165,\u0167",
+        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
+        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
+        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+        /* 12 */ "\u017A,\u017C,\u017E",
+        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
+        // U+0138: "ĸ" LATIN SMALL LETTER KRA
+        /* 13 */ "\u0137,\u0138",
+        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
+        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
+        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
+        // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
+        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
+        /* 14 */ "\u013A,\u013C,\u013E,\u0140,\u0142",
+        // U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX
+        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
+        // U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE
+        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+        /* 15 */ "\u011D,\u011F,\u0121,\u0123",
+        /* 16 */ null,
+        // U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX
+        /* 17 */ "\u0125",
+        // U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX
+        /* 18 */ "\u0135",
+        // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX
+        /* 19 */ "\u0175",
+    };
+
+    private static final Object[] LANGUAGES_AND_LABELS = {
+        "DEFAULT", LANGUAGE_DEFAULT, /* default */
+        "ar", LANGUAGE_ar, /* Arabic */
+        "be", LANGUAGE_be, /* Belarusian */
+        "ca", LANGUAGE_ca, /* Catalan */
+        "cs", LANGUAGE_cs, /* Czech */
+        "da", LANGUAGE_da, /* Danish */
+        "de", LANGUAGE_de, /* German */
+        "en", LANGUAGE_en, /* English */
+        "es", LANGUAGE_es, /* Spanish */
+        "et", LANGUAGE_et, /* Estonian */
+        "fa", LANGUAGE_fa, /* Persian */
+        "fi", LANGUAGE_fi, /* Finnish */
+        "fr", LANGUAGE_fr, /* French */
+        "hi", LANGUAGE_hi, /* Hindi */
+        "hr", LANGUAGE_hr, /* Croatian */
+        "hu", LANGUAGE_hu, /* Hungarian */
+        "is", LANGUAGE_is, /* Icelandic */
+        "it", LANGUAGE_it, /* Italian */
+        "iw", LANGUAGE_iw, /* Hebrew */
+        "ky", LANGUAGE_ky, /* Kirghiz */
+        "lt", LANGUAGE_lt, /* Lithuanian */
+        "lv", LANGUAGE_lv, /* Latvian */
+        "mk", LANGUAGE_mk, /* Macedonian */
+        "nb", LANGUAGE_nb, /* Norwegian Bokmål */
+        "nl", LANGUAGE_nl, /* Dutch */
+        "pl", LANGUAGE_pl, /* Polish */
+        "pt", LANGUAGE_pt, /* Portuguese */
+        "rm", LANGUAGE_rm, /* Raeto-Romance */
+        "ro", LANGUAGE_ro, /* Romanian */
+        "ru", LANGUAGE_ru, /* Russian */
+        "sk", LANGUAGE_sk, /* Slovak */
+        "sl", LANGUAGE_sl, /* Slovenian */
+        "sr", LANGUAGE_sr, /* Serbian */
+        "sv", LANGUAGE_sv, /* Swedish */
+        "tr", LANGUAGE_tr, /* Turkish */
+        "uk", LANGUAGE_uk, /* Ukrainian */
+        "vi", LANGUAGE_vi, /* Vietnamese */
+        "zz", LANGUAGE_zz, /* No language */
+    };
+
+    static {
+        int id = 0;
+        for (final String name : NAMES) {
+            sNameToIdMap.put(name, id++);
+        }
+
+        for (int i = 0; i < LANGUAGES_AND_LABELS.length; i += 2) {
+            final String language = (String)LANGUAGES_AND_LABELS[i];
+            final String[] labels = (String[])LANGUAGES_AND_LABELS[i + 1];
+            sLocaleToLabelsMap.put(language, labels);
+        }
+    }
+}
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 49ab7f9..526acf1 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -97,7 +97,7 @@
             }
         }
         final String[] suggestPuncsSpec = KeySpecParser.parseCsvString(
-                res.getString(R.string.suggested_punctuations), res, R.string.english_ime_name);
+                res.getString(R.string.suggested_punctuations), null);
         mSuggestPuncList = createSuggestPuncList(suggestPuncsSpec);
         mSymbolsExcludedFromWordSeparators =
                 res.getString(R.string.symbols_excluded_from_word_separators);
