Rename maketext tool to make-keyboard-text
Change-Id: Icceda22aec75f9e3602da8775c0e94b110283575
diff --git a/tools/make-keyboard-text/Android.mk b/tools/make-keyboard-text/Android.mk
new file mode 100644
index 0000000..8760148
--- /dev/null
+++ b/tools/make-keyboard-text/Android.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES += $(call all-java-files-under,src)
+LOCAL_JAR_MANIFEST := etc/manifest.txt
+LOCAL_JAVA_RESOURCE_DIRS := res
+LOCAL_MODULE := make-keyboard-text
+
+include $(BUILD_HOST_JAVA_LIBRARY)
+include $(LOCAL_PATH)/etc/Android.mk
diff --git a/tools/make-keyboard-text/etc/Android.mk b/tools/make-keyboard-text/etc/Android.mk
new file mode 100644
index 0000000..0fbf4ff
--- /dev/null
+++ b/tools/make-keyboard-text/etc/Android.mk
@@ -0,0 +1,20 @@
+# Copyright (C) 2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_PREBUILT_EXECUTABLES := make-keyboard-text
+
+include $(BUILD_HOST_PREBUILT)
diff --git a/tools/make-keyboard-text/etc/make-keyboard-text b/tools/make-keyboard-text/etc/make-keyboard-text
new file mode 100755
index 0000000..156f9ec
--- /dev/null
+++ b/tools/make-keyboard-text/etc/make-keyboard-text
@@ -0,0 +1,63 @@
+#!/bin/sh
+# Copyright 2012, The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Set up prog to be the path of this script, including following symlinks,
+# and set up progdir to be the fully-qualified pathname of its directory.
+prog="$0"
+while [ -h "${prog}" ]; do
+ newProg=`/bin/ls -ld "${prog}"`
+ newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
+ if expr "x${newProg}" : 'x/' >/dev/null; then
+ prog="${newProg}"
+ else
+ progdir=`dirname "${prog}"`
+ prog="${progdir}/${newProg}"
+ fi
+done
+oldwd=`pwd`
+progdir=`dirname "${prog}"`
+cd "${progdir}"
+progdir=`pwd`
+prog="${progdir}"/`basename "${prog}"`
+cd "${oldwd}"
+
+jarfile=make-keyboard-text.jar
+frameworkdir="$progdir"
+if [ ! -r "$frameworkdir/$jarfile" ]
+then
+ frameworkdir=`dirname "$progdir"`/tools/lib
+ libdir=`dirname "$progdir"`/tools/lib
+fi
+if [ ! -r "$frameworkdir/$jarfile" ]
+then
+ frameworkdir=`dirname "$progdir"`/framework
+ libdir=`dirname "$progdir"`/lib
+fi
+if [ ! -r "$frameworkdir/$jarfile" ]
+then
+ echo `basename "$prog"`": can't find $jarfile"
+ exit 1
+fi
+
+if [ "$OSTYPE" = "cygwin" ] ; then
+ jarpath=`cygpath -w "$frameworkdir/$jarfile"`
+ progdir=`cygpath -w "$progdir"`
+else
+ jarpath="$frameworkdir/$jarfile"
+fi
+
+# need to use "java.ext.dirs" because "-jar" causes classpath to be ignored
+# might need more memory, e.g. -Xmx128M
+exec java -ea -jar "$jarpath" "$@"
diff --git a/tools/make-keyboard-text/etc/manifest.txt b/tools/make-keyboard-text/etc/manifest.txt
new file mode 100644
index 0000000..8ad4db0
--- /dev/null
+++ b/tools/make-keyboard-text/etc/manifest.txt
@@ -0,0 +1 @@
+Main-Class: com.android.inputmethod.keyboard.tools.MakeKeyboardText
diff --git a/tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl b/tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
new file mode 100644
index 0000000..4cd9c23
--- /dev/null
+++ b/tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
@@ -0,0 +1,132 @@
+/*
+ * 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.annotations.UsedForTesting;
+import com.android.inputmethod.latin.utils.CollectionUtils;
+
+import java.util.HashMap;
+
+/**
+ * !!!!! DO NOT EDIT THIS FILE !!!!!
+ *
+ * This file is generated by tools/make-keyboard-text. The base template file is
+ * tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
+ *
+ * This file must be updated when any text resources in keyboard layout files have been changed.
+ * These text resources are referred as "!text/<resource_name>" in keyboard XML definitions,
+ * and should be defined in
+ * tools/make-keyboard-text/res/values-<locale>/donottranslate-more-keys.xml
+ *
+ * To update this file, please run the following commands.
+ * $ cd $ANDROID_BUILD_TOP
+ * $ mmm packages/inputmethods/LatinIME/tools/make-keyboard-text
+ * $ make-keyboard-text -java packages/inputmethods/LatinIME/java/src
+ *
+ * The updated source file will be generated to the following path (this file).
+ * packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/internal/
+ * KeyboardTextsSet.java
+ */
+public final class KeyboardTextsSet {
+ // Language to texts map.
+ private static final HashMap<String, String[]> sLocaleToTextsMap = CollectionUtils.newHashMap();
+ private static final HashMap<String, Integer> sNameToIdsMap = CollectionUtils.newHashMap();
+
+ private String[] mTexts;
+ // Resource name to text map.
+ private HashMap<String, String> mResourceNameToTextsMap = CollectionUtils.newHashMap();
+
+ public void setLanguage(final String language) {
+ mTexts = sLocaleToTextsMap.get(language);
+ if (mTexts == null) {
+ mTexts = LANGUAGE_DEFAULT;
+ }
+ }
+
+ public void loadStringResources(final Context context) {
+ final int referenceId = context.getApplicationInfo().labelRes;
+ loadStringResourcesInternal(context, RESOURCE_NAMES, referenceId);
+ }
+
+ @UsedForTesting
+ void loadStringResourcesInternal(final Context context, final String[] resourceNames,
+ final 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);
+ mResourceNameToTextsMap.put(resName, res.getString(resId));
+ }
+ }
+
+ public String getText(final String name) {
+ String text = mResourceNameToTextsMap.get(name);
+ if (text != null) {
+ return text;
+ }
+ final Integer id = sNameToIdsMap.get(name);
+ if (id == null) throw new RuntimeException("Unknown label: " + name);
+ text = (id < mTexts.length) ? mTexts[id] : null;
+ return (text == null) ? LANGUAGE_DEFAULT[id] : text;
+ }
+
+ private static final String[] RESOURCE_NAMES = {
+ // These texts' 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_pause_key",
+ "label_wait_key",
+ };
+
+ private static final String[] NAMES = {
+ /* @NAMES@ */
+ };
+
+ private static final String EMPTY = "";
+
+ /* Default texts */
+ private static final String[] LANGUAGE_DEFAULT = {
+ /* @DEFAULT_TEXTS@ */
+ };
+
+ /* @TEXTS@ */
+ private static final Object[] LANGUAGES_AND_TEXTS = {
+ /* @LANGUAGES_AND_TEXTS@ */
+ };
+
+ static {
+ int id = 0;
+ for (final String name : NAMES) {
+ sNameToIdsMap.put(name, id++);
+ }
+
+ for (int i = 0; i < LANGUAGES_AND_TEXTS.length; i += 2) {
+ final String language = (String)LANGUAGES_AND_TEXTS[i];
+ final String[] texts = (String[])LANGUAGES_AND_TEXTS[i + 1];
+ sLocaleToTextsMap.put(language, texts);
+ }
+ }
+}
diff --git a/tools/make-keyboard-text/res/values-af/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-af/donottranslate-more-keys.xml
new file mode 100644
index 0000000..ee96f44
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-af/donottranslate-more-keys.xml
@@ -0,0 +1,69 @@
+<?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">
+ <!-- This is the same as Dutch except more keys of y and demoting vowels with diaeresis. -->
+ <!-- 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+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">á,â,ä,à,æ,ã,å,ā</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">é,è,ê,ë,ę,ė,ē</string>
+ <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+ U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+ U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+ 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: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="more_keys_for_i">í,ì,ï,î,į,ī,ij</string>
+ <!-- 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+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">ó,ô,ö,ò,õ,œ,ø,ō</string>
+ <!-- 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+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ U+016B: "ū" LATIN SMALL LETTER U WITH MACRON -->
+ <string name="more_keys_for_u">ú,û,ü,ù,ū</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</string>
+ <string name="more_keys_for_y">ý,ŷ,ÿ,ij</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+0133: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="more_keys_for_y">ý,ij</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml
new file mode 100644
index 0000000..8b86b1b
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml
@@ -0,0 +1,125 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+0623: "ا" ARABIC LETTER ALEF
+ U+200C: ZERO WIDTH NON-JOINER
+ U+0628: "ب" ARABIC LETTER BEH
+ U+062C: "پ" ARABIC LETTER PEH -->
+ <string name="label_to_alpha_key">أ‌ب‌ج</string>
+ <!-- U+0661: "١" ARABIC-INDIC DIGIT ONE -->
+ <string name="keylabel_for_symbols_1">١</string>
+ <!-- U+0662: "٢" ARABIC-INDIC DIGIT TWO -->
+ <string name="keylabel_for_symbols_2">٢</string>
+ <!-- U+0663: "٣" ARABIC-INDIC DIGIT THREE -->
+ <string name="keylabel_for_symbols_3">٣</string>
+ <!-- U+0664: "٤" ARABIC-INDIC DIGIT FOUR -->
+ <string name="keylabel_for_symbols_4">٤</string>
+ <!-- U+0665: "٥" ARABIC-INDIC DIGIT FIVE -->
+ <string name="keylabel_for_symbols_5">٥</string>
+ <!-- U+0666: "٦" ARABIC-INDIC DIGIT SIX -->
+ <string name="keylabel_for_symbols_6">٦</string>
+ <!-- U+0667: "٧" ARABIC-INDIC DIGIT SEVEN -->
+ <string name="keylabel_for_symbols_7">٧</string>
+ <!-- U+0668: "٨" ARABIC-INDIC DIGIT EIGHT -->
+ <string name="keylabel_for_symbols_8">٨</string>
+ <!-- U+0669: "٩" ARABIC-INDIC DIGIT NINE -->
+ <string name="keylabel_for_symbols_9">٩</string>
+ <!-- U+0660: "٠" ARABIC-INDIC DIGIT ZERO -->
+ <string name="keylabel_for_symbols_0">٠</string>
+ <!-- Label for "switch to symbols" key.
+ U+061F: "؟" ARABIC QUESTION MARK -->
+ <string name="label_to_symbol_key">٣٢١؟</string>
+ <!-- Label for "switch to symbols with microphone" key. This string shouldn't include the "mic"
+ part because it'll be appended by the code. -->
+ <string name="label_to_symbol_with_microphone_key">٣٢١</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,٫,٬</string>
+ <!-- U+060C: "،" ARABIC COMMA -->
+ <string name="keylabel_for_comma">،</string>
+ <string name="more_keys_for_comma">"\\,"</string>
+ <string name="keylabel_for_symbols_question">؟</string>
+ <string name="keylabel_for_symbols_semicolon">؛</string>
+ <!-- U+066A: "٪" ARABIC PERCENT SIGN -->
+ <string name="keylabel_for_symbols_percent">٪</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">\\%,‰</string>
+ <!-- U+060C: "،" ARABIC COMMA
+ U+061B: "؛" ARABIC SEMICOLON
+ U+061F: "؟" ARABIC QUESTION MARK -->
+ <string name="keylabel_for_apostrophe">،</string>
+ <string name="keyhintlabel_for_apostrophe">؟</string>
+ <!-- U+061F: "؟" ARABIC QUESTION MARK
+ U+060C: "،" ARABIC COMMA
+ U+061B: "؛" ARABIC SEMICOLON -->
+ <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',#,-,:,!,،,؟,\@,&,\\%,+,؛,/,(|),)|("</string>
+ <string name="more_keys_for_apostrophe">"؟,؛,!,:,-,/,\',\""</string>
+ <!-- U+266A: "♪" EIGHTH NOTE -->
+ <string name="more_keys_for_bullet">♪</string>
+ <!-- U+2605: "★" BLACK STAR
+ U+066D: "٭" ARABIC FIVE POINTED STAR -->
+ <string name="more_keys_for_star">★,٭</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 -->
+ <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!4,﴾|﴿,<|>,{|},[|]</string>
+ <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!4,﴿|﴾,>|<,}|{,]|[</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 -->
+ <string name="more_keys_for_less_than">!fixedColumnOrder!3,‹|›,≤|≥,«|»</string>
+ <string name="more_keys_for_greater_than">!fixedColumnOrder!3,›|‹,≥|≤,»|«</string>
+ <string name="single_angle_quotes">!text/single_laqm_raqm_rtl</string>
+ <string name="double_angle_quotes">!text/double_laqm_raqm_rtl</string>
+ <!-- U+0655: "ٕ" ARABIC HAMZA BELOW
+ U+0654: "ٔ" ARABIC HAMZA ABOVE
+ U+0652: "ْ" ARABIC SUKUN
+ U+064D: "ٍ" ARABIC KASRATAN
+ U+064C: "ٌ" ARABIC DAMMATAN
+ U+064B: "ً" ARABIC FATHATAN
+ U+0651: "ّ" ARABIC SHADDA -->
+ <!-- U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
+ U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
+ U+0653: "ٓ" ARABIC MADDAH ABOVE
+ U+0650: "ِ" ARABIC KASRA
+ U+064F: "ُ" ARABIC DAMMA
+ U+064E: "َ" ARABIC FATHA
+ U+0640: "ـ" ARABIC TATWEEL -->
+ <!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
+ <!-- Note: The space character is needed as a preceding letter to draw Arabic diacritics characters correctly. -->
+ <string name="more_keys_for_arabic_diacritics">"!fixedColumnOrder!7, ٕ|ٕ, ٔ|ٔ, ْ|ْ, ٍ|ٍ, ٌ|ٌ, ً|ً, ّ|ّ, ٖ|ٖ, ٰ|ٰ, ٓ|ٓ, ِ|ِ, ُ|ُ, َ|َ,ـــ|ـ"</string>
+ <string name="keyhintlabel_for_arabic_diacritics">ّ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-az/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-az/donottranslate-more-keys.xml
new file mode 100644
index 0000000..db1784c
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-az/donottranslate-more-keys.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+ <string name="more_keys_for_a">â</string>
+ <!-- U+0259: "ə" LATIN SMALL LETTER SCHWA -->
+ <string name="more_keys_for_e">ə</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">ı,î,ï,ì,í,į,ī</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">ö,ô,œ,ò,ó,õ,ø,ō</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">ü,û,ù,ú,ū</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">ş,ß,ś,š</string>
+ <!-- U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
+ <string name="more_keys_for_g">ğ</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">ç,ć,č</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-be/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-be/donottranslate-more-keys.xml
new file mode 100644
index 0000000..4723503
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-be/donottranslate-more-keys.xml
@@ -0,0 +1,42 @@
+<?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">ў</string>
+ <!-- U+0451: "ё" CYRILLIC SMALL LETTER IO -->
+ <string name="keylabel_for_east_slavic_row1_12">ё</string>
+ <!-- U+044B: "ы" CYRILLIC SMALL LETTER YERU -->
+ <string name="keylabel_for_east_slavic_row2_1">ы</string>
+ <!-- U+044D: "э" CYRILLIC SMALL LETTER E -->
+ <string name="keylabel_for_east_slavic_row2_11">э</string>
+ <!-- U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
+ <string name="keylabel_for_east_slavic_row3_5">і</string>
+ <!-- U+0451: "ё" CYRILLIC SMALL LETTER IO -->
+ <string name="more_keys_for_cyrillic_ie">ё</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="more_keys_for_cyrillic_soft_sign">ъ</string>
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-bg/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-bg/donottranslate-more-keys.xml
new file mode 100644
index 0000000..5262133
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-bg/donottranslate-more-keys.xml
@@ -0,0 +1,28 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+ <!-- single_quotes of Bulgarian is default single_quotes_right_left. -->
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-ca/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ca/donottranslate-more-keys.xml
new file mode 100644
index 0000000..8624dfb
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-ca/donottranslate-more-keys.xml
@@ -0,0 +1,78 @@
+<?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">à,á,ä,â,ã,å,ą,æ,ā,ª</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">è,é,ë,ê,ę,ė,ē</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">í,ï,ì,î,į,ī</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">ò,ó,ö,ô,õ,ø,œ,ō,º</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">ú,ü,ù,û,ū</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</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">ç,ć,č</string>
+ <!-- U+00B7: "·" MIDDLE DOT
+ U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
+ <string name="more_keys_for_l">l·l,ł</string>
+ <!-- U+00B7: "·" MIDDLE DOT -->
+ <string name="more_keys_for_punctuation">"!fixedColumnOrder!9,·,\",\',#,-,:,!,\\,,\?,\@,&,\\%,+,;,/,(,)"</string>
+ <string name="more_keys_for_tablet_period">\?,·</string>
+ <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
+ <string name="keylabel_for_spanish_row2_10">ç</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-cs/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-cs/donottranslate-more-keys.xml
new file mode 100644
index 0000000..5ce1d3b
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-cs/donottranslate-more-keys.xml
@@ -0,0 +1,91 @@
+<?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">á,à,â,ä,æ,ã,å,ā</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">é,ě,è,ê,ë,ę,ė,ē</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">í,î,ï,ì,į,ī</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">ó,ö,ô,ò,õ,œ,ø,ō</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">ú,ů,û,ü,ù,ū</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">š,ß,ś</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">ň,ñ,ń</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">č,ç,ć</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">ý,ÿ</string>
+ <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
+ <string name="more_keys_for_d">ď</string>
+ <!-- U+0159: "ř" LATIN SMALL LETTER R WITH CARON -->
+ <string name="more_keys_for_r">ř</string>
+ <!-- U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
+ <string name="more_keys_for_t">ť</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">ž,ź,ż</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-da/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-da/donottranslate-more-keys.xml
new file mode 100644
index 0000000..cbaf9f4
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-da/donottranslate-more-keys.xml
@@ -0,0 +1,75 @@
+<?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">á,ä,à,â,ã,ā</string>
+ <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS -->
+ <string name="more_keys_for_e">é,ë</string>
+ <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+ U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS -->
+ <string name="more_keys_for_i">í,ï</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">ó,ô,ò,õ,œ,ō</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">ú,ü,û,ù,ū</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">ß,ś,š</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">ý,ÿ</string>
+ <!-- U+00F0: "ð" LATIN SMALL LETTER ETH -->
+ <string name="more_keys_for_d">ð</string>
+ <!-- U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
+ <string name="more_keys_for_l">ł</string>
+ <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
+ <string name="keylabel_for_nordic_row1_11">å</string>
+ <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
+ <string name="keylabel_for_nordic_row2_10">æ</string>
+ <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
+ <string name="keylabel_for_nordic_row2_11">ø</string>
+ <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
+ <string name="more_keys_for_nordic_row2_10">ä</string>
+ <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
+ <string name="more_keys_for_nordic_row2_11">ö</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-de/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-de/donottranslate-more-keys.xml
new file mode 100644
index 0000000..9dc8717
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-de/donottranslate-more-keys.xml
@@ -0,0 +1,62 @@
+<?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">ä,â,à,á,æ,ã,å,ā</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+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE -->
+ <string name="more_keys_for_e">é,è,ê,ë,ė</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">ö,ô,ò,ó,õ,œ,ø,ō</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">ü,û,ù,ú,ū</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">ß,ś,š</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-el/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-el/donottranslate-more-keys.xml
new file mode 100644
index 0000000..964dba0
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-el/donottranslate-more-keys.xml
@@ -0,0 +1,26 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+0391: "Α" GREEK CAPITAL LETTER ALPHA
+ U+0392: "Β" GREEK CAPITAL LETTER BETA
+ U+0393: "Γ" GREEK CAPITAL LETTER GAMMA -->
+ <string name="label_to_alpha_key">ΑΒΓ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-en/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-en/donottranslate-more-keys.xml
new file mode 100644
index 0000000..969a504
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-en/donottranslate-more-keys.xml
@@ -0,0 +1,63 @@
+<?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">à,á,â,ä,æ,ã,å,ā</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">è,é,ê,ë,ē</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">î,ï,í,ī,ì</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">ô,ö,ò,ó,œ,ø,ō,õ</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">û,ü,ù,ú,ū</string>
+ <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S -->
+ <string name="more_keys_for_s">ß</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="more_keys_for_n">ñ</string>
+ <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
+ <string name="more_keys_for_c">ç</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-eo/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-eo/donottranslate-more-keys.xml
new file mode 100644
index 0000000..e929869
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-eo/donottranslate-more-keys.xml
@@ -0,0 +1,146 @@
+<?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+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
+ 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">á,à,â,ä,æ,ã,å,ā,ă,ą,ª</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">é,ě,è,ê,ë,ę,ė,ē</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+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
+ U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+ U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+ U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+ U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+ U+0133: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="more_keys_for_i">í,î,ï,ĩ,ì,į,ī,ı,ij</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
+ U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ U+00BA: "º" MASCULINE ORDINAL INDICATOR -->
+ <string name="more_keys_for_o">ó,ö,ô,ò,õ,œ,ø,ō,ő,º</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
+ U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
+ U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
+ U+00B5: "µ" MICRO SIGN -->
+ <string name="more_keys_for_u">ú,ů,û,ü,ù,ū,ũ,ű,ų,µ</string>
+ <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S
+ U+0161: "š" LATIN SMALL LETTER S WITH CARON
+ U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+ U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
+ U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA -->
+ <string name="more_keys_for_s">ß,š,ś,ș,ş</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: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+ U+014B: "ŋ" LATIN SMALL LETTER ENG -->
+ <string name="more_keys_for_n">ñ,ń,ņ,ň,ʼn,ŋ</string>
+ <!-- U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+ U+010D: "č" LATIN SMALL LETTER C WITH CARON
+ U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE -->
+ <string name="more_keys_for_c">ć,č,ç,ċ</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+00FE: "þ" LATIN SMALL LETTER THORN -->
+ <string name="more_keys_for_y">y,ý,ŷ,ÿ,þ</string>
+ <!-- U+00F0: "ð" LATIN SMALL LETTER ETH
+ U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
+ <string name="more_keys_for_d">ð,ď,đ</string>
+ <!-- U+0159: "ř" LATIN SMALL LETTER R WITH CARON
+ U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
+ U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA -->
+ <string name="more_keys_for_r">ř,ŕ,ŗ</string>
+ <!-- U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+ U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW
+ U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+ U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE -->
+ <string name="more_keys_for_t">ť,ț,ţ,ŧ</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">ź,ż,ž</string>
+ <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
+ U+0138: "ĸ" LATIN SMALL LETTER KRA -->
+ <string name="more_keys_for_k">ķ,ĸ</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">ĺ,ļ,ľ,ŀ,ł</string>
+ <!-- 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">ğ,ġ,ģ</string>
+ <!-- U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+ <string name="more_keys_for_v">w,ŵ</string>
+ <!-- U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX
+ U+0127: "ħ" LATIN SMALL LETTER H WITH STROKE -->
+ <string name="more_keys_for_h">ĥ,ħ</string>
+ <!-- U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+ <string name="more_keys_for_w">w,ŵ</string>
+ <string name="more_keys_for_q">q</string>
+ <string name="more_keys_for_x">x</string>
+ <!-- U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+ <string name="keylabel_for_q">ŝ</string>
+ <!-- U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+ <string name="keylabel_for_w">ĝ</string>
+ <!-- U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE -->
+ <string name="keylabel_for_y">ŭ</string>
+ <!-- U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+ <string name="keylabel_for_x">ĉ</string>
+ <!-- U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+ <string name="keylabel_for_spanish_row2_10">ĵ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-es/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-es/donottranslate-more-keys.xml
new file mode 100644
index 0000000..0e58c14
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-es/donottranslate-more-keys.xml
@@ -0,0 +1,82 @@
+<?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">á,à,ä,â,ã,å,ą,æ,ā,ª</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">é,è,ë,ê,ę,ė,ē</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">í,ï,ì,î,į,ī</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">ó,ò,ö,ô,õ,ø,œ,ō,º</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">ú,ü,ù,û,ū</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</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">ç,ć,č</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="keylabel_for_spanish_row2_10">ñ</string>
+ <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK
+ U+00BF: "¿" INVERTED QUESTION MARK -->
+ <string name="more_keys_for_punctuation">"!fixedColumnOrder!9,¡,\",\',#,-,:,!,\\,,\?,¿,\@,&,\\%,+,;,/,(,)"</string>
+ <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK -->
+ <string name="more_keys_for_tablet_comma">"!,¡"</string>
+ <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
+ <string name="more_keys_for_tablet_period">"\?,¿"</string>
+ <string name="keylabel_for_apostrophe">\"</string>
+ <string name="keyhintlabel_for_apostrophe">\'</string>
+ <string name="more_keys_for_apostrophe">\'</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-et/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-et/donottranslate-more-keys.xml
new file mode 100644
index 0000000..d037044
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-et/donottranslate-more-keys.xml
@@ -0,0 +1,116 @@
+<?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">ä,ā,à,á,â,ã,å,æ,ą</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">ē,è,ė,é,ê,ë,ę,ě</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">ī,ì,į,í,î,ï,ı</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">ö,õ,ò,ó,ô,œ,ő,ø</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">ü,ū,ų,ù,ú,û,ů,ű</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">š,ß,ś,ş</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">ņ,ñ,ń,ń</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">č,ç,ć</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">ý,ÿ</string>
+ <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
+ <string name="more_keys_for_d">ď</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">ŗ,ř,ŕ</string>
+ <!-- U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+ U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
+ <string name="more_keys_for_t">ţ,ť</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">ž,ż,ź</string>
+ <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
+ <string name="more_keys_for_k">ķ</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">ļ,ł,ĺ,ľ</string>
+ <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+ U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
+ <string name="more_keys_for_g">ģ,ğ</string>
+ <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS -->
+ <string name="keylabel_for_nordic_row1_11">ü</string>
+ <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
+ <string name="keylabel_for_nordic_row2_10">ö</string>
+ <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
+ <string name="keylabel_for_nordic_row2_11">ä</string>
+ <!-- U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE -->
+ <string name="more_keys_for_nordic_row2_10">õ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-fa/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-fa/donottranslate-more-keys.xml
new file mode 100644
index 0000000..6d13d6b
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-fa/donottranslate-more-keys.xml
@@ -0,0 +1,132 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+0627: "ا" ARABIC LETTER ALEF
+ U+200C: ZERO WIDTH NON-JOINER
+ U+0628: "ب" ARABIC LETTER BEH
+ U+067E: "پ" ARABIC LETTER PEH -->
+ <string name="label_to_alpha_key">ا‌ب‌پ</string>
+ <!-- U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE -->
+ <string name="keylabel_for_symbols_1">۱</string>
+ <!-- U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO -->
+ <string name="keylabel_for_symbols_2">۲</string>
+ <!-- U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE -->
+ <string name="keylabel_for_symbols_3">۳</string>
+ <!-- U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR -->
+ <string name="keylabel_for_symbols_4">۴</string>
+ <!-- U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE -->
+ <string name="keylabel_for_symbols_5">۵</string>
+ <!-- U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX -->
+ <string name="keylabel_for_symbols_6">۶</string>
+ <!-- U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN -->
+ <string name="keylabel_for_symbols_7">۷</string>
+ <!-- U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
+ <string name="keylabel_for_symbols_8">۸</string>
+ <!-- U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE -->
+ <string name="keylabel_for_symbols_9">۹</string>
+ <!-- U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO -->
+ <string name="keylabel_for_symbols_0">۰</string>
+ <!-- Label for "switch to symbols" key.
+ U+061F: "؟" ARABIC QUESTION MARK -->
+ <string name="label_to_symbol_key">۳۲۱؟</string>
+ <!-- Label for "switch to symbols with microphone" key. This string shouldn't include the "mic"
+ part because it'll be appended by the code. -->
+ <string name="label_to_symbol_with_microphone_key">۳۲۱</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,٫,٬</string>
+ <!-- U+060C: "،" ARABIC COMMA -->
+ <string name="keylabel_for_comma">،</string>
+ <string name="more_keys_for_comma">"\\,"</string>
+ <string name="keylabel_for_symbols_question">؟</string>
+ <string name="keylabel_for_symbols_semicolon">؛</string>
+ <!-- U+066A: "٪" ARABIC PERCENT SIGN -->
+ <string name="keylabel_for_symbols_percent">٪</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">\\%,‰</string>
+ <!-- U+060C: "،" ARABIC COMMA
+ U+061B: "؛" ARABIC SEMICOLON
+ U+061F: "؟" ARABIC QUESTION MARK
+ U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <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="keyhintlabel_for_apostrophe">؟</string>
+ <string name="more_keys_for_apostrophe">"!fixedColumnOrder!4,:,!,؟,؛,-,/,«|»,»|«"</string>
+ <!-- U+061F: "؟" ARABIC QUESTION MARK
+ U+060C: "،" ARABIC COMMA
+ U+061B: "؛" ARABIC SEMICOLON -->
+ <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',#,-,:,!,،,؟,\@,&,\\%,+,؛,/,(|),)|("</string>
+ <!-- U+266A: "♪" EIGHTH NOTE -->
+ <string name="more_keys_for_bullet">♪</string>
+ <!-- U+2605: "★" BLACK STAR
+ U+066D: "٭" ARABIC FIVE POINTED STAR -->
+ <string name="more_keys_for_star">★,٭</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 -->
+ <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!4,﴾|﴿,<|>,{|},[|]</string>
+ <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!4,﴿|﴾,>|<,}|{,]|[</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 -->
+ <string name="more_keys_for_less_than">!fixedColumnOrder!3,‹|›,≤|≥,<|></string>
+ <string name="more_keys_for_greater_than">!fixedColumnOrder!3,›|‹,≥|≤,>|<</string>
+ <string name="single_angle_quotes">!text/single_laqm_raqm_rtl</string>
+ <string name="double_angle_quotes">!text/double_laqm_raqm_rtl</string>
+ <!-- U+0655: "ٕ" ARABIC HAMZA BELOW
+ U+0652: "ْ" ARABIC SUKUN
+ U+0651: "ّ" ARABIC SHADDA
+ U+064C: "ٌ" ARABIC DAMMATAN
+ U+064D: "ٍ" ARABIC KASRATAN
+ U+064B: "ً" ARABIC FATHATAN
+ U+0654: "ٔ" ARABIC HAMZA ABOVE -->
+ <!-- U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
+ U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
+ U+0653: "ٓ" ARABIC MADDAH ABOVE
+ U+064F: "ُ" ARABIC DAMMA
+ U+0650: "ِ" ARABIC KASRA
+ U+064E: "َ" ARABIC FATHA
+ U+0640: "ـ" ARABIC TATWEEL -->
+ <!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
+ <!-- Note: The space character is needed as a preceding letter to draw Arabic diacritics characters correctly. -->
+ <string name="more_keys_for_arabic_diacritics">"!fixedColumnOrder!7, ٕ|ٕ, ْ|ْ, ّ|ّ, ٌ|ٌ, ٍ|ٍ, ً|ً, ٔ|ٔ, ٖ|ٖ, ٰ|ٰ, ٓ|ٓ, ُ|ُ, ِ|ِ, َ|َ,ـــ|ـ"</string>
+ <string name="keyhintlabel_for_arabic_diacritics">ً</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-fi/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-fi/donottranslate-more-keys.xml
new file mode 100644
index 0000000..25b7858
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-fi/donottranslate-more-keys.xml
@@ -0,0 +1,56 @@
+<?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">æ,à,á,â,ã,ā</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">ø,ô,ò,ó,õ,œ,ō</string>
+ <!-- U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS -->
+ <string name="more_keys_for_u">ü</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">š,ß,ś</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">ž,ź,ż</string>
+ <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
+ <string name="keylabel_for_nordic_row1_11">å</string>
+ <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
+ <string name="keylabel_for_nordic_row2_10">ö</string>
+ <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
+ <string name="keylabel_for_nordic_row2_11">ä</string>
+ <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
+ <string name="more_keys_for_nordic_row2_10">ø</string>
+ <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
+ <string name="more_keys_for_nordic_row2_11">æ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-fr/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-fr/donottranslate-more-keys.xml
new file mode 100644
index 0000000..7b11a18
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-fr/donottranslate-more-keys.xml
@@ -0,0 +1,68 @@
+<?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">à,â,%,æ,á,ä,ã,å,ā,ª</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">é,è,ê,ë,%,ę,ė,ē</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">î,%,ï,ì,í,į,ī</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">ô,œ,%,ö,ò,ó,õ,ø,ō,º</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">ù,û,%,ü,ú,ū</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">ç,ć,č</string>
+ <!-- U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">%,ÿ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-hi/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-hi/donottranslate-more-keys.xml
new file mode 100644
index 0000000..98ad2cb
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-hi/donottranslate-more-keys.xml
@@ -0,0 +1,63 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+0915: "क" DEVANAGARI LETTER KA
+ U+0916: "ख" DEVANAGARI LETTER KHA
+ U+0917: "ग" DEVANAGARI LETTER GA -->
+ <string name="label_to_alpha_key">कखग</string>
+ <!-- U+0967: "१" DEVANAGARI DIGIT ONE -->
+ <string name="keylabel_for_symbols_1">१</string>
+ <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
+ <string name="keylabel_for_symbols_2">२</string>
+ <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
+ <string name="keylabel_for_symbols_3">३</string>
+ <!-- U+096A: "४" DEVANAGARI DIGIT FOUR -->
+ <string name="keylabel_for_symbols_4">४</string>
+ <!-- U+096B: "५" DEVANAGARI DIGIT FIVE -->
+ <string name="keylabel_for_symbols_5">५</string>
+ <!-- U+096C: "६" DEVANAGARI DIGIT SIX -->
+ <string name="keylabel_for_symbols_6">६</string>
+ <!-- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
+ <string name="keylabel_for_symbols_7">७</string>
+ <!-- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
+ <string name="keylabel_for_symbols_8">८</string>
+ <!-- U+096F: "९" DEVANAGARI DIGIT NINE -->
+ <string name="keylabel_for_symbols_9">९</string>
+ <!-- U+0966: "०" DEVANAGARI DIGIT ZERO -->
+ <string name="keylabel_for_symbols_0">०</string>
+ <!-- Label for "switch to symbols" key. -->
+ <string name="label_to_symbol_key">\?१२३</string>
+ <!-- Label for "switch to symbols with microphone" key. This string shouldn't include the "mic"
+ part because it'll be appended by the code. -->
+ <string name="label_to_symbol_with_microphone_key">१२३</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>
+ <!-- U+20B9: "₹" INDIAN RUPEE SIGN -->
+ <string name="keylabel_for_currency_generic">₹</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-hr/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-hr/donottranslate-more-keys.xml
new file mode 100644
index 0000000..022bd2a
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-hr/donottranslate-more-keys.xml
@@ -0,0 +1,42 @@
+<?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">š,ś,ß</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</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">ž,ź,ż</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">č,ć,ç</string>
+ <!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
+ <string name="more_keys_for_d">đ</string>
+ <string name="single_quotes">!text/single_9qm_rqm</string>
+ <string name="double_quotes">!text/double_9qm_rqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml
new file mode 100644
index 0000000..ce2f5d0
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml
@@ -0,0 +1,66 @@
+<?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">á,à,â,ä,æ,ã,å,ā</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">é,è,ê,ë,ę,ė,ē</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">í,î,ï,ì,į,ī</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">ó,ö,ő,ô,ò,õ,œ,ø,ō</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">ú,ü,ű,û,ù,ū</string>
+ <string name="single_quotes">!text/single_9qm_rqm</string>
+ <string name="double_quotes">!text/double_9qm_rqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-is/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-is/donottranslate-more-keys.xml
new file mode 100644
index 0000000..4b4d986
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-is/donottranslate-more-keys.xml
@@ -0,0 +1,75 @@
+<?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">á,ä,æ,å,à,â,ã,ā</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">é,ë,è,ê,ę,ė,ē</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">í,ï,î,ì,į,ī</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">ó,ö,ô,ò,õ,œ,ø,ō</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">ú,ü,û,ù,ū</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">ý,ÿ</string>
+ <!-- U+00F0: "ð" LATIN SMALL LETTER ETH -->
+ <string name="more_keys_for_d">ð</string>
+ <!-- U+00FE: "þ" LATIN SMALL LETTER THORN -->
+ <string name="more_keys_for_t">þ</string>
+ <!-- U+00F0: "ð" LATIN SMALL LETTER ETH -->
+ <string name="keylabel_for_nordic_row1_11">ð</string>
+ <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
+ <string name="keylabel_for_nordic_row2_10">æ</string>
+ <!-- U+00FE: "þ" LATIN SMALL LETTER THORN -->
+ <string name="keylabel_for_nordic_row2_11">þ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-it/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-it/donottranslate-more-keys.xml
new file mode 100644
index 0000000..17dd031
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-it/donottranslate-more-keys.xml
@@ -0,0 +1,62 @@
+<?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">à,á,â,ä,æ,ã,å,ā,ª</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">è,é,ê,ë,ę,ė,ē</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">ì,í,î,ï,į,ī</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">ò,ó,ô,ö,õ,œ,ø,ō,º</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">ù,ú,û,ü,ū</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
new file mode 100644
index 0000000..9d2e01e
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
@@ -0,0 +1,55 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+05D0: "א" HEBREW LETTER ALEF
+ U+05D1: "ב" HEBREW LETTER BET
+ U+05D2: "ג" HEBREW LETTER GIMEL -->
+ <string name="label_to_alpha_key">אבג</string>
+ <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',#,-,:,!,\\,,\?,\@,&,\\%,+,;,/,(|),)|("</string>
+ <!-- U+2605: "★" BLACK STAR -->
+ <string name="more_keys_for_star">★</string>
+ <!-- U+00B1: "±" PLUS-MINUS SIGN
+ U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN -->
+ <string name="more_keys_for_plus">±,﬩</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,<|>,{|},[|]</string>
+ <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!3,>|<,}|{,]|[</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 -->
+ <string name="more_keys_for_less_than">!fixedColumnOrder!3,‹|›,≤|≥,«|»</string>
+ <string name="more_keys_for_greater_than">!fixedColumnOrder!3,›|‹,≥|≤,»|«</string>
+ <!-- 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+201C: "“" LEFT DOUBLE QUOTATION MARK
+ U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+ U+201E: "„" DOUBLE LOW-9 QUOTATION MARK -->
+ <string name="single_quotes">‘,’,‚</string>
+ <string name="double_quotes">“,”,„</string>
+ <string name="single_angle_quotes">!text/single_laqm_raqm_rtl</string>
+ <string name="double_angle_quotes">!text/double_laqm_raqm_rtl</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-ka/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ka/donottranslate-more-keys.xml
new file mode 100644
index 0000000..8c2add4
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-ka/donottranslate-more-keys.xml
@@ -0,0 +1,28 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+10D0: "ა" GEORGIAN LETTER AN
+ U+10D1: "ბ" GEORGIAN LETTER BAN
+ U+10D2: "გ" GEORGIAN LETTER GAN -->
+ <string name="label_to_alpha_key">აბგ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-kk/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-kk/donottranslate-more-keys.xml
new file mode 100644
index 0000000..0e953ff
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-kk/donottranslate-more-keys.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- U+0449: "щ" CYRILLIC SMALL LETTER SHCHA -->
+ <string name="keylabel_for_east_slavic_row1_9">щ</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="keylabel_for_east_slavic_row1_12">ъ</string>
+ <!-- U+044B: "ы" CYRILLIC SMALL LETTER YERU -->
+ <string name="keylabel_for_east_slavic_row2_1">ы</string>
+ <!-- U+044D: "э" CYRILLIC SMALL LETTER E -->
+ <string name="keylabel_for_east_slavic_row2_11">э</string>
+ <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
+ <string name="keylabel_for_east_slavic_row3_5">и</string>
+ <!-- U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U
+ U+04B1: "ұ" CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE -->
+ <string name="more_keys_for_cyrillic_u">ү,ұ</string>
+ <!-- U+049B: "қ" CYRILLIC SMALL LETTER KA WITH DESCENDER -->
+ <string name="more_keys_for_cyrillic_ka">қ</string>
+ <!-- U+0451: "ё" CYRILLIC SMALL LETTER IO -->
+ <string name="more_keys_for_cyrillic_ie">ё</string>
+ <!-- U+04A3: "ң" CYRILLIC SMALL LETTER EN WITH DESCENDER -->
+ <string name="more_keys_for_cyrillic_en">ң</string>
+ <!-- U+0493: "ғ" CYRILLIC SMALL LETTER GHE WITH STROKE -->
+ <string name="more_keys_for_cyrillic_ghe">ғ</string>
+ <!-- U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
+ <string name="more_keys_for_east_slavic_row2_1">і</string>
+ <!-- U+04D9: "ә" CYRILLIC SMALL LETTER SCHWA -->
+ <string name="more_keys_for_cyrillic_a">ә</string>
+ <!-- U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O -->
+ <string name="more_keys_for_cyrillic_o">ө</string>
+ <!-- U+04BB: "һ" CYRILLIC SMALL LETTER SHHA -->
+ <string name="more_keys_for_east_slavic_row2_11">һ</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="more_keys_for_cyrillic_soft_sign">ъ</string>
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-ky/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ky/donottranslate-more-keys.xml
new file mode 100644
index 0000000..8d8c5fb
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-ky/donottranslate-more-keys.xml
@@ -0,0 +1,46 @@
+<?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">щ</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="keylabel_for_east_slavic_row1_12">ъ</string>
+ <!-- U+044B: "ы" CYRILLIC SMALL LETTER YERU -->
+ <string name="keylabel_for_east_slavic_row2_1">ы</string>
+ <!-- U+044D: "э" CYRILLIC SMALL LETTER E -->
+ <string name="keylabel_for_east_slavic_row2_11">э</string>
+ <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
+ <string name="keylabel_for_east_slavic_row3_5">и</string>
+ <!-- U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U -->
+ <string name="more_keys_for_cyrillic_u">ү</string>
+ <!-- U+0451: "ё" CYRILLIC SMALL LETTER IO -->
+ <string name="more_keys_for_cyrillic_ie">ё</string>
+ <!-- U+04A3: "ң" CYRILLIC SMALL LETTER EN WITH DESCENDER -->
+ <string name="more_keys_for_cyrillic_en">ң</string>
+ <!-- U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O -->
+ <string name="more_keys_for_cyrillic_o">ө</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="more_keys_for_cyrillic_soft_sign">ъ</string>
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-lt/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-lt/donottranslate-more-keys.xml
new file mode 100644
index 0000000..7e2b8a0
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-lt/donottranslate-more-keys.xml
@@ -0,0 +1,109 @@
+<?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">ą,ä,ā,à,á,â,ã,å,æ</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">ė,ę,ē,è,é,ê,ë,ě</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">į,ī,ì,í,î,ï,ı</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">ö,õ,ò,ó,ô,œ,ő,ø</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">ū,ų,ü,ū,ù,ú,û,ů,ű</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">š,ß,ś,ş</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">ņ,ñ,ń,ń</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">č,ç,ć</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">ý,ÿ</string>
+ <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
+ <string name="more_keys_for_d">ď</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">ŗ,ř,ŕ</string>
+ <!-- U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+ U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
+ <string name="more_keys_for_t">ţ,ť</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">ž,ż,ź</string>
+ <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
+ <string name="more_keys_for_k">ķ</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">ļ,ł,ĺ,ľ</string>
+ <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+ U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
+ <string name="more_keys_for_g">ģ,ğ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-lv/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-lv/donottranslate-more-keys.xml
new file mode 100644
index 0000000..c64e37b
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-lv/donottranslate-more-keys.xml
@@ -0,0 +1,108 @@
+<?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">ā,à,á,â,ã,ä,å,æ,ą</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">ē,ė,è,é,ê,ë,ę,ě</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">ī,į,ì,í,î,ï,ı</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">ò,ó,ô,õ,ö,œ,ő,ø</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">ū,ų,ù,ú,û,ü,ů,ű</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">š,ß,ś,ş</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">ņ,ñ,ń,ń</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">č,ç,ć</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">ý,ÿ</string>
+ <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
+ <string name="more_keys_for_d">ď</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">ŗ,ř,ŕ</string>
+ <!-- U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
+ U+0165: "ť" LATIN SMALL LETTER T WITH CARON -->
+ <string name="more_keys_for_t">ţ,ť</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">ž,ż,ź</string>
+ <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
+ <string name="more_keys_for_k">ķ</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">ļ,ł,ĺ,ľ</string>
+ <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+ U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
+ <string name="more_keys_for_g">ģ,ğ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-mk/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-mk/donottranslate-more-keys.xml
new file mode 100644
index 0000000..2db75c8
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-mk/donottranslate-more-keys.xml
@@ -0,0 +1,40 @@
+<?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">ѕ</string>
+ <!-- U+045C: "ќ" CYRILLIC SMALL LETTER KJE -->
+ <string name="keylabel_for_south_slavic_row2_11">ќ</string>
+ <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
+ <string name="keylabel_for_south_slavic_row3_1">з</string>
+ <!-- U+0453: "ѓ" CYRILLIC SMALL LETTER GJE -->
+ <string name="keylabel_for_south_slavic_row3_8">ѓ</string>
+ <!-- U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE -->
+ <string name="more_keys_for_cyrillic_ie">ѐ</string>
+ <!-- U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE -->
+ <string name="more_keys_for_cyrillic_i">ѝ</string>
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-mn/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-mn/donottranslate-more-keys.xml
new file mode 100644
index 0000000..fd1853e
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-mn/donottranslate-more-keys.xml
@@ -0,0 +1,28 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+ <!-- U+20AE: "₮" TUGRIK SIGN -->
+ <string name="keylabel_for_currency_generic">₮</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-nb/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-nb/donottranslate-more-keys.xml
new file mode 100644
index 0000000..2cecb5e
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-nb/donottranslate-more-keys.xml
@@ -0,0 +1,62 @@
+<?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">à,ä,á,â,ã,ā</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">é,è,ê,ë,ę,ė,ē</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">ô,ò,ó,ö,õ,œ,ō</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">ü,û,ù,ú,ū</string>
+ <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
+ <string name="keylabel_for_nordic_row1_11">å</string>
+ <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
+ <string name="keylabel_for_nordic_row2_10">ø</string>
+ <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
+ <string name="keylabel_for_nordic_row2_11">æ</string>
+ <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
+ <string name="more_keys_for_nordic_row2_10">ö</string>
+ <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
+ <string name="more_keys_for_nordic_row2_11">ä</string>
+ <string name="single_quotes">!text/single_9qm_rqm</string>
+ <string name="double_quotes">!text/double_9qm_rqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-nl/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-nl/donottranslate-more-keys.xml
new file mode 100644
index 0000000..e5d8295
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-nl/donottranslate-more-keys.xml
@@ -0,0 +1,68 @@
+<?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">á,ä,â,à,æ,ã,å,ā</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">é,ë,ê,è,ę,ė,ē</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: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="more_keys_for_i">í,ï,ì,î,į,ī,ij</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">ó,ö,ô,ò,õ,œ,ø,ō</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">ú,ü,û,ù,ū</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</string>
+ <!-- U+0133: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="more_keys_for_y">ij</string>
+ <string name="single_quotes">!text/single_9qm_rqm</string>
+ <string name="double_quotes">!text/double_9qm_rqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-pl/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-pl/donottranslate-more-keys.xml
new file mode 100644
index 0000000..b5cf6a0
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-pl/donottranslate-more-keys.xml
@@ -0,0 +1,67 @@
+<?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">ą,á,à,â,ä,æ,ã,å,ā</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">ę,è,é,ê,ë,ė,ē</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">ó,ö,ô,ò,õ,œ,ø,ō</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">ś,ß,š</string>
+ <!-- U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="more_keys_for_n">ń,ñ</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">ć,ç,č</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">ż,ź,ž</string>
+ <!-- U+0142: "ł" LATIN SMALL LETTER L WITH STROKE -->
+ <string name="more_keys_for_l">ł</string>
+ <string name="single_quotes">!text/single_9qm_rqm</string>
+ <string name="double_quotes">!text/double_9qm_rqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-pt/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-pt/donottranslate-more-keys.xml
new file mode 100644
index 0000000..0c9065f
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-pt/donottranslate-more-keys.xml
@@ -0,0 +1,65 @@
+<?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">á,ã,à,â,ä,å,æ,ª</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">é,ê,è,ę,ė,ē,ë</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">í,î,ì,ï,į,ī</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">ó,õ,ô,ò,ö,œ,ø,ō,º</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">ú,ü,ù,û,ū</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">ç,č,ć</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-rm/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-rm/donottranslate-more-keys.xml
new file mode 100644
index 0000000..aa0d7f8
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-rm/donottranslate-more-keys.xml
@@ -0,0 +1,29 @@
+<?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">ò,ó,ö,ô,õ,œ,ø</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-ro/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ro/donottranslate-more-keys.xml
new file mode 100644
index 0000000..f399eb2
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-ro/donottranslate-more-keys.xml
@@ -0,0 +1,47 @@
+<?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">â,ã,ă,à,á,ä,æ,å,ā</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">î,ï,ì,í,į,ī</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">ș,ß,ś,š</string>
+ <!-- U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW -->
+ <string name="more_keys_for_t">ț</string>
+ <string name="single_quotes">!text/single_9qm_rqm</string>
+ <string name="double_quotes">!text/double_9qm_rqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-ru/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ru/donottranslate-more-keys.xml
new file mode 100644
index 0000000..f62c90f
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-ru/donottranslate-more-keys.xml
@@ -0,0 +1,42 @@
+<?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">щ</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="keylabel_for_east_slavic_row1_12">ъ</string>
+ <!-- U+044B: "ы" CYRILLIC SMALL LETTER YERU -->
+ <string name="keylabel_for_east_slavic_row2_1">ы</string>
+ <!-- U+044D: "э" CYRILLIC SMALL LETTER E -->
+ <string name="keylabel_for_east_slavic_row2_11">э</string>
+ <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
+ <string name="keylabel_for_east_slavic_row3_5">и</string>
+ <!-- U+0451: "ё" CYRILLIC SMALL LETTER IO -->
+ <string name="more_keys_for_cyrillic_ie">ё</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="more_keys_for_cyrillic_soft_sign">ъ</string>
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-sk/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-sk/donottranslate-more-keys.xml
new file mode 100644
index 0000000..2ed538e
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-sk/donottranslate-more-keys.xml
@@ -0,0 +1,111 @@
+<?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">á,ä,ā,à,â,ã,å,æ,ą</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">é,ě,ē,ė,è,ê,ë,ę</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">í,ī,į,ì,î,ï,ı</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">ô,ó,ö,ò,õ,œ,ő,ø</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">ú,ů,ü,ū,ų,ù,û,ű</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">š,ß,ś,ş</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">ň,ņ,ñ,ń,ń</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">č,ç,ć</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <string name="more_keys_for_y">ý,ÿ</string>
+ <!-- U+010F: "ď" LATIN SMALL LETTER D WITH CARON -->
+ <string name="more_keys_for_d">ď</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">ŕ,ř,ŗ</string>
+ <!-- U+0165: "ť" LATIN SMALL LETTER T WITH CARON
+ U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA -->
+ <string name="more_keys_for_t">ť,ţ</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">ž,ż,ź</string>
+ <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA -->
+ <string name="more_keys_for_k">ķ</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">ľ,ĺ,ļ,ł</string>
+ <!-- U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
+ U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
+ <string name="more_keys_for_g">ģ,ğ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-sl/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-sl/donottranslate-more-keys.xml
new file mode 100644
index 0000000..1e5d1d7
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-sl/donottranslate-more-keys.xml
@@ -0,0 +1,34 @@
+<?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">š</string>
+ <!-- U+010D: "č" LATIN SMALL LETTER C WITH CARON
+ U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE -->
+ <string name="more_keys_for_c">č,ć</string>
+ <!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
+ <string name="more_keys_for_d">đ</string>
+ <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON -->
+ <string name="more_keys_for_z">ž</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-sr/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-sr/donottranslate-more-keys.xml
new file mode 100644
index 0000000..c00d2a6
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-sr/donottranslate-more-keys.xml
@@ -0,0 +1,61 @@
+<?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">
+ <!-- TODO: Move these to sr-Latn once we can handle IETF language tag with script name specified.
+ BEGIN: More keys definitions for Serbian (Latin)
+ 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">š,ß,ś</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">č,ç,ć</string>
+ U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ <string name="more_keys_for_d">ď</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">ž,ź,ż</string>
+ END: More keys definitions for Serbian (Latin) -->
+ <!-- BEGIN: More keys definitions for Serbian (Cyrillic) -->
+ <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
+ <string name="keylabel_for_south_slavic_row1_6">з</string>
+ <!-- U+045B: "ћ" CYRILLIC SMALL LETTER TSHE -->
+ <string name="keylabel_for_south_slavic_row2_11">ћ</string>
+ <!-- U+0455: "ѕ" CYRILLIC SMALL LETTER DZE -->
+ <string name="keylabel_for_south_slavic_row3_1">ѕ</string>
+ <!-- U+0452: "ђ" CYRILLIC SMALL LETTER DJE -->
+ <string name="keylabel_for_south_slavic_row3_8">ђ</string>
+ <!-- U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE -->
+ <string name="more_keys_for_cyrillic_ie">ѐ</string>
+ <!-- U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE -->
+ <string name="more_keys_for_cyrillic_i">ѝ</string>
+ <!-- END: More keys definitions for Serbian (Cyrillic) -->
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-sv/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-sv/donottranslate-more-keys.xml
new file mode 100644
index 0000000..a36a13e
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-sv/donottranslate-more-keys.xml
@@ -0,0 +1,56 @@
+<?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">é,è,ê,ë,ę</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">œ,ô,ò,ó,õ,ō</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">ü,û,ù,ú,ū</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">ß,ś,š</string>
+ <!-- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE -->
+ <string name="keylabel_for_nordic_row1_11">å</string>
+ <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS -->
+ <string name="keylabel_for_nordic_row2_10">ö</string>
+ <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS -->
+ <string name="keylabel_for_nordic_row2_11">ä</string>
+ <!-- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE -->
+ <string name="more_keys_for_nordic_row2_10">ø</string>
+ <!-- U+00E6: "æ" LATIN SMALL LETTER AE -->
+ <string name="more_keys_for_nordic_row2_11">æ</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-sw/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-sw/donottranslate-more-keys.xml
new file mode 100644
index 0000000..968a80c
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-sw/donottranslate-more-keys.xml
@@ -0,0 +1,65 @@
+<?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">
+ <!-- This is the same as English except more_keys_for_g. -->
+ <!-- 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">à,á,â,ä,æ,ã,å,ā</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">è,é,ê,ë,ē</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">î,ï,í,ī,ì</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">ô,ö,ò,ó,œ,ø,ō,õ</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">û,ü,ù,ú,ū</string>
+ <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S -->
+ <string name="more_keys_for_s">ß</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="more_keys_for_n">ñ</string>
+ <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
+ <string name="more_keys_for_c">ç</string>
+ <string name="more_keys_for_g">g\'</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-th/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-th/donottranslate-more-keys.xml
new file mode 100644
index 0000000..6350d4b
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-th/donottranslate-more-keys.xml
@@ -0,0 +1,28 @@
+<?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">
+ <!-- Label for "switch to alphabetic" key.
+ U+0E01: "ก" THAI CHARACTER KO KAI
+ U+0E02: "ข" THAI CHARACTER KHO KHAI
+ U+0E04: "ค" THAI CHARACTER KHO KHWAI -->
+ <string name="label_to_alpha_key">กขค</string>
+ <!-- U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT -->
+ <string name="keylabel_for_currency_generic">฿</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-tl/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-tl/donottranslate-more-keys.xml
new file mode 100644
index 0000000..383d55c
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-tl/donottranslate-more-keys.xml
@@ -0,0 +1,70 @@
+<?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+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">á,à,ä,â,ã,å,ą,æ,ā,ª</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">é,è,ë,ê,ę,ė,ē</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">í,ï,ì,î,į,ī</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">ó,ò,ö,ô,õ,ø,œ,ō,º</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">ú,ü,ù,û,ū</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="more_keys_for_n">ñ,ń</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">ç,ć,č</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml
new file mode 100644
index 0000000..1161811
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml
@@ -0,0 +1,57 @@
+<?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">â</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">ı,î,ï,ì,í,į,ī</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">ö,ô,œ,ò,ó,õ,ø,ō</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">ü,û,ù,ú,ū</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">ş,ß,ś,š</string>
+ <!-- U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
+ <string name="more_keys_for_g">ğ</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">ç,ć,č</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-uk/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-uk/donottranslate-more-keys.xml
new file mode 100644
index 0000000..cc05cc6
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-uk/donottranslate-more-keys.xml
@@ -0,0 +1,46 @@
+<?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">щ</string>
+ <!-- U+0457: "ї" CYRILLIC SMALL LETTER YI -->
+ <string name="keylabel_for_east_slavic_row1_12">ї</string>
+ <!-- U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
+ <string name="keylabel_for_east_slavic_row2_1">і</string>
+ <!-- U+0454: "є" CYRILLIC SMALL LETTER UKRAINIAN IE -->
+ <string name="keylabel_for_east_slavic_row2_11">є</string>
+ <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
+ <string name="keylabel_for_east_slavic_row3_5">и</string>
+ <!-- U+0491: "ґ" CYRILLIC SMALL LETTER GHE WITH UPTURN -->
+ <string name="more_keys_for_cyrillic_ghe">ґ</string>
+ <!-- U+0457: "ї" CYRILLIC SMALL LETTER YI -->
+ <string name="more_keys_for_east_slavic_row2_1">ї</string>
+ <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
+ <string name="more_keys_for_cyrillic_soft_sign">ъ</string>
+ <!-- U+20B4: "₴" HRYVNIA SIGN -->
+ <string name="keylabel_for_currency_generic">₴</string>
+ <!-- Label for "switch to alphabetic" key.
+ U+0410: "А" CYRILLIC CAPITAL LETTER A
+ U+0411: "Б" CYRILLIC CAPITAL LETTER BE
+ U+0412: "В" CYRILLIC CAPITAL LETTER VE -->
+ <string name="label_to_alpha_key">АБВ</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-vi/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-vi/donottranslate-more-keys.xml
new file mode 100644
index 0000000..fa98ea9
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-vi/donottranslate-more-keys.xml
@@ -0,0 +1,97 @@
+<?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">à,á,ả,ã,ạ,ă,ằ,ắ,ẳ,ẵ,ặ,â,ầ,ấ,ẩ,ẫ,ậ</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">è,é,ẻ,ẽ,ẹ,ê,ề,ế,ể,ễ,ệ</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">ì,í,ỉ,ĩ,ị</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">ò,ó,ỏ,õ,ọ,ô,ồ,ố,ổ,ỗ,ộ,ơ,ờ,ớ,ở,ỡ,ợ</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">ù,ú,ủ,ũ,ụ,ư,ừ,ứ,ử,ữ,ự</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">ỳ,ý,ỷ,ỹ,ỵ</string>
+ <!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
+ <string name="more_keys_for_d">đ</string>
+ <!-- U+20AB: "₫" DONG SIGN -->
+ <string name="keylabel_for_currency_generic">₫</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-zu/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-zu/donottranslate-more-keys.xml
new file mode 100644
index 0000000..1917915
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-zu/donottranslate-more-keys.xml
@@ -0,0 +1,64 @@
+<?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">
+ <!-- This is the same as English -->
+ <!-- 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">à,á,â,ä,æ,ã,å,ā</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">è,é,ê,ë,ē</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">î,ï,í,ī,ì</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">ô,ö,ò,ó,œ,ø,ō,õ</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">û,ü,ù,ú,ū</string>
+ <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S -->
+ <string name="more_keys_for_s">ß</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="more_keys_for_n">ñ</string>
+ <!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA -->
+ <string name="more_keys_for_c">ç</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values-zz/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-zz/donottranslate-more-keys.xml
new file mode 100644
index 0000000..eb984a4
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-zz/donottranslate-more-keys.xml
@@ -0,0 +1,139 @@
+<?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">à,á,â,ã,ä,å,æ,ã,å,ā,ă,ą,ª</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">è,é,ê,ë,ē,ĕ,ė,ę,ě</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: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="more_keys_for_i">ì,í,î,ï,ĩ,ī,ĭ,į,ı,ij</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">ò,ó,ô,õ,ö,ø,ō,ŏ,ő,œ,º</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">ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų</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">ß,ś,ŝ,ş,š,ſ</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: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+ U+014B: "ŋ" LATIN SMALL LETTER ENG -->
+ <string name="more_keys_for_n">ñ,ń,ņ,ň,ʼn,ŋ</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">ç,ć,ĉ,ċ,č</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: "ij" LATIN SMALL LIGATURE IJ -->
+ <string name="more_keys_for_y">ý,ŷ,ÿ,ij</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">ď,đ,ð</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">ŕ,ŗ,ř</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">þ,ţ,ť,ŧ</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">ź,ż,ž</string>
+ <!-- U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
+ U+0138: "ĸ" LATIN SMALL LETTER KRA -->
+ <string name="more_keys_for_k">ķ,ĸ</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">ĺ,ļ,ľ,ŀ,ł</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">ĝ,ğ,ġ,ģ</string>
+ <!-- U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+ <string name="more_keys_for_h">ĥ</string>
+ <!-- U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+ <string name="more_keys_for_j">ĵ</string>
+ <!-- U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+ <string name="more_keys_for_w">ŵ</string>
+</resources>
diff --git a/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
new file mode 100644
index 0000000..4cf2650
--- /dev/null
+++ b/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
@@ -0,0 +1,250 @@
+<?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_row1_12"></string>
+ <string name="keylabel_for_east_slavic_row2_1"></string>
+ <string name="keylabel_for_east_slavic_row2_11"></string>
+ <string name="keylabel_for_east_slavic_row3_5"></string>
+ <string name="more_keys_for_cyrillic_u"></string>
+ <string name="more_keys_for_cyrillic_ka"></string>
+ <string name="more_keys_for_cyrillic_en"></string>
+ <string name="more_keys_for_cyrillic_ghe"></string>
+ <string name="more_keys_for_east_slavic_row2_1"></string>
+ <string name="more_keys_for_cyrillic_a"></string>
+ <string name="more_keys_for_cyrillic_o"></string>
+ <string name="more_keys_for_cyrillic_soft_sign"></string>
+ <string name="more_keys_for_east_slavic_row2_11"></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>
+ <!-- Label for "switch to alphabetic" key. -->
+ <string name="label_to_alpha_key">ABC</string>
+ <string name="single_quotes">!text/single_lqm_rqm</string>
+ <string name="double_quotes">!text/double_lqm_rqm</string>
+ <string name="single_angle_quotes">!text/single_laqm_raqm</string>
+ <string name="double_angle_quotes">!text/double_laqm_raqm</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">¢,£,€,¥,₱</string>
+ <string name="keylabel_for_currency_generic">$</string>
+ <string name="more_keys_for_currency_generic">$,¢,€,£,¥,₱</string>
+ <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',#,-,:,!,\\,,\?,\@,&,\\%,+,;,/,(,)"</string>
+ <!-- U+2020: "†" DAGGER
+ U+2021: "‡" DOUBLE DAGGER
+ U+2605: "★" BLACK STAR -->
+ <string name="more_keys_for_star">†,‡,★</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">♪,♥,♠,♦,♣</string>
+ <!-- U+00B1: "±" PLUS-MINUS SIGN -->
+ <string name="more_keys_for_plus">±</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,<,{,[</string>
+ <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!3,>,},]</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 -->
+ <string name="more_keys_for_less_than">!fixedColumnOrder!3,‹,≤,«</string>
+ <string name="more_keys_for_greater_than">!fixedColumnOrder!3,›,≥,»</string>
+ <string name="more_keys_for_arabic_diacritics"></string>
+ <string name="keyhintlabel_for_arabic_diacritics"></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>
+ <!-- Label for "switch to symbols" key. -->
+ <string name="label_to_symbol_key">\?123</string>
+ <!-- Label for "switch to symbols with microphone" key. This string shouldn't include the "mic"
+ part because it'll be appended by the code. -->
+ <string name="label_to_symbol_with_microphone_key">123</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">¹,½,⅓,¼,⅛</string>
+ <!-- U+00B2: "²" SUPERSCRIPT TWO
+ U+2154: "⅔" VULGAR FRACTION TWO THIRDS -->
+ <string name="more_keys_for_symbols_2">²,⅔</string>
+ <!-- U+00B3: "³" SUPERSCRIPT THREE
+ U+00BE: "¾" VULGAR FRACTION THREE QUARTERS
+ U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS -->
+ <string name="more_keys_for_symbols_3">³,¾,⅜</string>
+ <!-- U+2074: "⁴" SUPERSCRIPT FOUR -->
+ <string name="more_keys_for_symbols_4">⁴</string>
+ <!-- U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS -->
+ <string name="more_keys_for_symbols_5">⅝</string>
+ <string name="more_keys_for_symbols_6"></string>
+ <!-- U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS -->
+ <string name="more_keys_for_symbols_7">⅞</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">ⁿ,∅</string>
+ <string name="keylabel_for_comma">,</string>
+ <string name="more_keys_for_comma"></string>
+ <string name="keylabel_for_symbols_question">\?</string>
+ <string name="keylabel_for_symbols_semicolon">;</string>
+ <string name="keylabel_for_symbols_percent">%</string>
+ <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK -->
+ <string name="more_keys_for_symbols_exclamation">¡</string>
+ <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
+ <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">‰</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="keyhintlabel_for_apostrophe">\"</string>
+ <string name="more_keys_for_apostrophe">\"</string>
+ <string name="more_keys_for_q"></string>
+ <string name="more_keys_for_x"></string>
+ <string name="keylabel_for_q">q</string>
+ <string name="keylabel_for_w">w</string>
+ <string name="keylabel_for_y">y</string>
+ <string name="keylabel_for_x">x</string>
+ <string name="keylabel_for_spanish_row2_10"></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/settings_key|!code/key_settings</string>
+ <string name="shortcut_as_more_key">!icon/shortcut_key|!code/key_shortcut</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>
+ <!-- Label for "switch to more symbol" modifier key. Must be short to fit on key! -->
+ <string name="label_to_more_symbol_key">= \\ <</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">*#</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>
+ <!-- Label for "switch to symbols" key on PC QWERTY layout -->
+ <string name="label_to_symbol_key_pcqwerty">Sym</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="more_keys_for_smiley">"!fixedColumnOrder!5,!hasLabels!,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ "</string>
+ <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 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+201C: "“" LEFT DOUBLE QUOTATION MARK
+ U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+ U+201E: "„" DOUBLE LOW-9 QUOTATION MARK -->
+ <!-- Abbreviations are:
+ laqm: LEFT-POINTING ANGLE QUOTATION MARK
+ raqm: RIGHT-POINTING ANGLE QUOTATION MARK
+ rtl: Right-To-Left script order
+ lqm: LEFT QUOTATION MARK
+ rqm: RIGHT QUOTATION MARK
+ 9qm: LOW-9 QUOTATION MARK -->
+ <!-- The following each quotation mark pair consist of
+ <opening quotation mark>, <closing quotation mark>
+ and is named after (single|double)_<opening quotation mark>_<closing quotation mark>. -->
+ <string name="single_laqm_raqm">‹,›</string>
+ <string name="single_laqm_raqm_rtl">‹|›,›|‹</string>
+ <string name="single_raqm_laqm">›,‹</string>
+ <string name="double_laqm_raqm">«,»</string>
+ <string name="double_laqm_raqm_rtl">«|»,»|«</string>
+ <string name="double_raqm_laqm">»,«</string>
+ <!-- The following each quotation mark triplet consists of
+ <another quotation mark>, <opening quotation mark>, <closing quotation mark>
+ and is named after (single|double)_<opening quotation mark>_<closing quotation mark>. -->
+ <string name="single_lqm_rqm">‚,‘,’</string>
+ <string name="single_9qm_lqm">’,‚,‘</string>
+ <string name="single_9qm_rqm">‘,‚,’</string>
+ <string name="double_lqm_rqm">„,“,”</string>
+ <string name="double_9qm_lqm">”,„,“</string>
+ <string name="double_9qm_rqm">“,„,”</string>
+ <string name="more_keys_for_single_quote">!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes</string>
+ <string name="more_keys_for_double_quote">!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes</string>
+ <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes</string>
+</resources>
diff --git a/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/ArrayInitializerFormatter.java b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/ArrayInitializerFormatter.java
new file mode 100644
index 0000000..331003e
--- /dev/null
+++ b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/ArrayInitializerFormatter.java
@@ -0,0 +1,89 @@
+/*
+ * 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.tools;
+
+import java.io.PrintStream;
+
+public class ArrayInitializerFormatter {
+ private final PrintStream mOut;
+ private final int mMaxWidth;
+ private final String mIndent;
+
+ private int mCurrentIndex = 0;
+ private String mFixedElement;
+ private final StringBuilder mBuffer = new StringBuilder();
+ private int mBufferedLen;
+ private int mBufferedIndex = Integer.MIN_VALUE;
+
+ public ArrayInitializerFormatter(PrintStream out, int width, String indent) {
+ mOut = out;
+ mMaxWidth = width - indent.length();
+ mIndent = indent;
+ }
+
+ public void flush() {
+ if (mBuffer.length() == 0) {
+ return;
+ }
+ final int lastIndex = mCurrentIndex - 1;
+ if (mBufferedIndex == lastIndex) {
+ mOut.format("%s/* %d */ %s\n", mIndent, mBufferedIndex, mBuffer);
+ } else if (mBufferedIndex == lastIndex - 1) {
+ final String[] elements = mBuffer.toString().split(" ");
+ mOut.format("%s/* %d */ %s\n"
+ + "%s/* %d */ %s\n",
+ mIndent, mBufferedIndex, elements[0],
+ mIndent, lastIndex, elements[1]);
+ } else {
+ mOut.format("%s/* %d~ */\n"
+ + "%s%s\n"
+ + "%s/* ~%d */\n", mIndent, mBufferedIndex,
+ mIndent, mBuffer,
+ mIndent, lastIndex);
+ }
+ mBuffer.setLength(0);
+ mBufferedLen = 0;
+ }
+
+ public void outCommentLines(String lines) {
+ flush();
+ mOut.print(lines);
+ mFixedElement = null;
+ }
+
+ public void outElement(String element) {
+ if (!element.equals(mFixedElement)) {
+ flush();
+ mBufferedIndex = mCurrentIndex;
+ }
+ final int nextLen = mBufferedLen + " ".length() + element.length();
+ if (mBufferedLen != 0 && nextLen < mMaxWidth) {
+ mBuffer.append(' ');
+ mBuffer.append(element);
+ mBufferedLen = nextLen;
+ } else {
+ if (mBufferedLen != 0) {
+ mBuffer.append('\n');
+ mBuffer.append(mIndent);
+ }
+ mBuffer.append(element);
+ mBufferedLen = element.length();
+ }
+ mCurrentIndex++;
+ mFixedElement = element;
+ }
+}
diff --git a/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/JarUtils.java b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/JarUtils.java
new file mode 100644
index 0000000..a74096e
--- /dev/null
+++ b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/JarUtils.java
@@ -0,0 +1,85 @@
+/*
+ * 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.tools;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+
+public final class JarUtils {
+ private JarUtils() {
+ // This utility class is not publicly instantiable.
+ }
+
+ public static JarFile getJarFile(final Class<?> mainClass) {
+ final String mainClassPath = "/" + mainClass.getName().replace('.', '/') + ".class";
+ final URL resUrl = mainClass.getResource(mainClassPath);
+ if (!resUrl.getProtocol().equals("jar")) {
+ throw new RuntimeException("Should run as jar");
+ }
+ final String path = resUrl.getPath();
+ if (!path.startsWith("file:")) {
+ throw new RuntimeException("Unknown jar path: " + path);
+ }
+ final String jarPath = path.substring("file:".length(), path.indexOf('!'));
+ try {
+ return new JarFile(URLDecoder.decode(jarPath, "UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ } catch (IOException e) {
+ }
+ return null;
+ }
+
+ public static InputStream openResource(final String name) {
+ return JarUtils.class.getResourceAsStream("/" + name);
+ }
+
+ public interface JarFilter {
+ public boolean accept(String dirName, String name);
+ }
+
+ public static ArrayList<String> getNameListing(final JarFile jar, final JarFilter filter) {
+ final ArrayList<String> result = new ArrayList<String>();
+ final Enumeration<JarEntry> entries = jar.entries();
+ while (entries.hasMoreElements()) {
+ final JarEntry entry = entries.nextElement();
+ final String path = entry.getName();
+ final int pos = path.lastIndexOf('/');
+ final String dirName = (pos >= 0) ? path.substring(0, pos) : "";
+ final String name = (pos >= 0) ? path.substring(pos + 1) : path;
+ if (filter.accept(dirName, name)) {
+ result.add(path);
+ }
+ }
+ return result;
+ }
+
+ public static ArrayList<String> getNameListing(final JarFile jar, final String filterName) {
+ return getNameListing(jar, new JarFilter() {
+ @Override
+ public boolean accept(final String dirName, final String name) {
+ return name.equals(filterName);
+ }
+ });
+ }
+}
diff --git a/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/MakeKeyboardText.java b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/MakeKeyboardText.java
new file mode 100644
index 0000000..36a03f8
--- /dev/null
+++ b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/MakeKeyboardText.java
@@ -0,0 +1,65 @@
+/*
+ * 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.tools;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.NoSuchElementException;
+import java.util.jar.JarFile;
+
+public class MakeKeyboardText {
+ static class Options {
+ private static final String OPTION_JAVA = "-java";
+
+ public final String mJava;
+
+ public static void usage(String message) {
+ if (message != null) {
+ System.err.println(message);
+ }
+ System.err.println("usage: make-keyboard-text " + OPTION_JAVA + " <java_output_dir>");
+ System.exit(1);
+ }
+
+ public Options(final String[] argsArray) {
+ final LinkedList<String> args = new LinkedList<String>(Arrays.asList(argsArray));
+ String arg = null;
+ String java = null;
+ try {
+ while (!args.isEmpty()) {
+ arg = args.removeFirst();
+ if (arg.equals(OPTION_JAVA)) {
+ java = args.removeFirst();
+ } else {
+ usage("Unknown option: " + arg);
+ }
+ }
+ } catch (NoSuchElementException e) {
+ usage("Option " + arg + " needs argument");
+ }
+
+ mJava = java;
+ }
+ }
+
+ public static void main(final String[] args) {
+ final Options options = new Options(args);
+ final JarFile jar = JarUtils.getJarFile(MakeKeyboardText.class);
+ final MoreKeysResources resources = new MoreKeysResources(jar);
+ resources.writeToJava(options.mJava);
+ }
+}
diff --git a/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/MoreKeysResources.java b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/MoreKeysResources.java
new file mode 100644
index 0000000..2643e01
--- /dev/null
+++ b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/MoreKeysResources.java
@@ -0,0 +1,264 @@
+/*
+ * 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.tools;
+
+import java.io.Closeable;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.jar.JarFile;
+
+public class MoreKeysResources {
+ private static final String TEXT_RESOURCE_NAME = "donottranslate-more-keys.xml";
+
+ private static final String JAVA_TEMPLATE = "KeyboardTextsSet.tmpl";
+ private static final String MARK_NAMES = "@NAMES@";
+ private static final String MARK_DEFAULT_TEXTS = "@DEFAULT_TEXTS@";
+ private static final String MARK_TEXTS = "@TEXTS@";
+ private static final String MARK_LANGUAGES_AND_TEXTS = "@LANGUAGES_AND_TEXTS@";
+ private static final String DEFAUT_LANGUAGE_NAME = "DEFAULT";
+ private static final String ARRAY_NAME_FOR_LANGUAGE = "LANGUAGE_%s";
+ private static final String EMPTY_STRING_VAR = "EMPTY";
+
+ private static final String NO_LANGUAGE_CODE = "zz";
+ private static final String NO_LANGUAGE_DISPLAY_NAME = "Alphabet";
+
+ private final JarFile mJar;
+ // Language to string resources map.
+ private final HashMap<String, StringResourceMap> mResourcesMap =
+ new HashMap<String, StringResourceMap>();
+ // Name to id map.
+ private final HashMap<String, Integer> mNameToIdMap = new HashMap<String,Integer>();
+
+ public MoreKeysResources(final JarFile jar) {
+ mJar = jar;
+ final ArrayList<String> resources = JarUtils.getNameListing(jar, TEXT_RESOURCE_NAME);
+ for (final String name : resources) {
+ final String dirName = name.substring(0, name.lastIndexOf('/'));
+ final int pos = dirName.lastIndexOf('/');
+ final String parentName = (pos >= 0) ? dirName.substring(pos + 1) : dirName;
+ final String language = getLanguageFromResDir(parentName);
+ final InputStream stream = JarUtils.openResource(name);
+ try {
+ mResourcesMap.put(language, new StringResourceMap(stream));
+ } finally {
+ close(stream);
+ }
+ }
+ }
+
+ private static String getLanguageFromResDir(final String dirName) {
+ final int languagePos = dirName.indexOf('-');
+ if (languagePos < 0) {
+ // Default resource.
+ return DEFAUT_LANGUAGE_NAME;
+ }
+ final String language = dirName.substring(languagePos + 1);
+ final int countryPos = language.indexOf("-r");
+ if (countryPos < 0) {
+ return language;
+ }
+ return language.replace("-r", "_");
+ }
+
+ public void writeToJava(final String outDir) {
+ final ArrayList<String> list = JarUtils.getNameListing(mJar, JAVA_TEMPLATE);
+ if (list.isEmpty())
+ throw new RuntimeException("Can't find java template " + JAVA_TEMPLATE);
+ if (list.size() > 1)
+ throw new RuntimeException("Found multiple java template " + JAVA_TEMPLATE);
+ final String template = list.get(0);
+ final String javaPackage = template.substring(0, template.lastIndexOf('/'));
+ PrintStream ps = null;
+ LineNumberReader lnr = null;
+ try {
+ if (outDir == null) {
+ ps = System.out;
+ } else {
+ final File outPackage = new File(outDir, javaPackage);
+ final File outputFile = new File(outPackage,
+ JAVA_TEMPLATE.replace(".tmpl", ".java"));
+ outPackage.mkdirs();
+ ps = new PrintStream(outputFile, "UTF-8");
+ }
+ lnr = new LineNumberReader(new InputStreamReader(JarUtils.openResource(template)));
+ inflateTemplate(lnr, ps);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ } finally {
+ close(lnr);
+ close(ps);
+ }
+ }
+
+ private void inflateTemplate(final LineNumberReader in, final PrintStream out)
+ throws IOException {
+ String line;
+ while ((line = in.readLine()) != null) {
+ if (line.contains(MARK_NAMES)) {
+ dumpNames(out);
+ } else if (line.contains(MARK_DEFAULT_TEXTS)) {
+ dumpDefaultTexts(out);
+ } else if (line.contains(MARK_TEXTS)) {
+ dumpTexts(out);
+ } else if (line.contains(MARK_LANGUAGES_AND_TEXTS)) {
+ dumpLanguageMap(out);
+ } else {
+ out.println(line);
+ }
+ }
+ }
+
+ private void dumpNames(final PrintStream out) {
+ final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME);
+ int id = 0;
+ for (final StringResource res : defaultResMap.getResources()) {
+ out.format(" /* %2d */ \"%s\",\n", id, res.mName);
+ mNameToIdMap.put(res.mName, id);
+ id++;
+ }
+ }
+
+ private void dumpDefaultTexts(final PrintStream out) {
+ final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME);
+ dumpTextsInternal(out, defaultResMap, defaultResMap);
+ }
+
+ private void dumpTexts(final PrintStream out) {
+ final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME);
+ final ArrayList<String> allLanguages = new ArrayList<String>();
+ allLanguages.addAll(mResourcesMap.keySet());
+ Collections.sort(allLanguages);
+ for (final String language : allLanguages) {
+ if (language.equals(DEFAUT_LANGUAGE_NAME)) {
+ continue;
+ }
+ out.format(" /* Language %s: %s */\n", language, getLanguageDisplayName(language));
+ out.format(" private static final String[] " + ARRAY_NAME_FOR_LANGUAGE + " = {\n",
+ language);
+ final StringResourceMap resMap = mResourcesMap.get(language);
+ for (final StringResource res : resMap.getResources()) {
+ if (!defaultResMap.contains(res.mName)) {
+ throw new RuntimeException(res.mName + " in " + language
+ + " doesn't have default resource");
+ }
+ }
+ dumpTextsInternal(out, resMap, defaultResMap);
+ out.format(" };\n\n");
+ }
+ }
+
+ private void dumpLanguageMap(final PrintStream out) {
+ final ArrayList<String> allLanguages = new ArrayList<String>();
+ allLanguages.addAll(mResourcesMap.keySet());
+ Collections.sort(allLanguages);
+ for (final String language : allLanguages) {
+ out.format(" \"%s\", " + ARRAY_NAME_FOR_LANGUAGE + ", /* %s */\n",
+ language, language, getLanguageDisplayName(language));
+ }
+ }
+
+ private static String getLanguageDisplayName(final String language) {
+ if (language.equals(NO_LANGUAGE_CODE)) {
+ return NO_LANGUAGE_DISPLAY_NAME;
+ } else {
+ return new Locale(language).getDisplayLanguage();
+ }
+ }
+
+ private static void dumpTextsInternal(final PrintStream out, final StringResourceMap resMap,
+ final StringResourceMap defaultResMap) {
+ final ArrayInitializerFormatter formatter =
+ new ArrayInitializerFormatter(out, 100, " ");
+ boolean successiveNull = false;
+ for (final StringResource defaultRes : defaultResMap.getResources()) {
+ if (resMap.contains(defaultRes.mName)) {
+ final StringResource res = resMap.get(defaultRes.mName);
+ if (res.mComment != null) {
+ formatter.outCommentLines(addPrefix(" // ", res. mComment));
+ }
+ final String escaped = escapeNonAscii(res.mValue);
+ if (escaped.length() == 0) {
+ formatter.outElement(EMPTY_STRING_VAR + ",");
+ } else {
+ formatter.outElement(String.format("\"%s\",", escaped));
+ }
+ successiveNull = false;
+ } else {
+ formatter.outElement("null,");
+ successiveNull = true;
+ }
+ }
+ if (!successiveNull) {
+ formatter.flush();
+ }
+ }
+
+ private static String addPrefix(final String prefix, final String lines) {
+ final StringBuilder sb = new StringBuilder();
+ for (final String line : lines.split("\n")) {
+ sb.append(prefix + line.trim() + "\n");
+ }
+ return sb.toString();
+ }
+
+ private static String escapeNonAscii(final String text) {
+ final StringBuilder sb = new StringBuilder();
+ final int length = text.length();
+ for (int i = 0; i < length; i++) {
+ final char c = text.charAt(i);
+ if (c >= ' ' && c < 0x7f) {
+ sb.append(c);
+ } else {
+ sb.append(String.format("\\u%04X", (int)c));
+ }
+ }
+ return replaceIncompatibleEscape(sb.toString());
+ }
+
+ private static String replaceIncompatibleEscape(final String text) {
+ String t = text;
+ t = replaceAll(t, "\\?", "?");
+ t = replaceAll(t, "\\@", "@");
+ t = replaceAll(t, "@string/", "!text/");
+ return t;
+ }
+
+ private static String replaceAll(final String text, final String target, final String replace) {
+ String t = text;
+ while (t.indexOf(target) >= 0) {
+ t = t.replace(target, replace);
+ }
+ return t;
+ }
+
+ private static void close(Closeable stream) {
+ try {
+ if (stream != null) {
+ stream.close();
+ }
+ } catch (IOException e) {
+ }
+ }
+}
diff --git a/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/StringResource.java b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/StringResource.java
new file mode 100644
index 0000000..a49b8fe
--- /dev/null
+++ b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/StringResource.java
@@ -0,0 +1,29 @@
+/*
+ * 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.tools;
+
+public class StringResource {
+ public final String mName;
+ public final String mValue;
+ public final String mComment;
+
+ public StringResource(final String name, final String value, final String comment) {
+ mName = name;
+ mValue = value;
+ mComment = comment;
+ }
+}
diff --git a/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/StringResourceMap.java b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/StringResourceMap.java
new file mode 100644
index 0000000..cc7ff6a
--- /dev/null
+++ b/tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/StringResourceMap.java
@@ -0,0 +1,135 @@
+/*
+ * 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.tools;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.ext.DefaultHandler2;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+public class StringResourceMap {
+ // String resource list.
+ private final List<StringResource> mResources;
+ // Name to string resource map.
+ private final Map<String, StringResource> mResourcesMap;
+
+ public StringResourceMap(final InputStream is) {
+ final StringResourceHandler handler = new StringResourceHandler();
+ final SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setNamespaceAware(true);
+ try {
+ final SAXParser parser = factory.newSAXParser();
+ // In order to get comment tag.
+ parser.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
+ parser.parse(is, handler);
+ } catch (ParserConfigurationException e) {
+ } catch (SAXParseException e) {
+ throw new RuntimeException(e.getMessage() + " at line " + e.getLineNumber()
+ + ", column " + e.getColumnNumber());
+ } catch (SAXException e) {
+ throw new RuntimeException(e.getMessage());
+ } catch (IOException e) {
+ }
+
+ mResources = Collections.unmodifiableList(handler.mResources);
+ final HashMap<String,StringResource> map = new HashMap<String,StringResource>();
+ for (final StringResource res : mResources) {
+ map.put(res.mName, res);
+ }
+ mResourcesMap = map;
+ }
+
+ public List<StringResource> getResources() {
+ return mResources;
+ }
+
+ public boolean contains(final String name) {
+ return mResourcesMap.containsKey(name);
+ }
+
+ public StringResource get(final String name) {
+ return mResourcesMap.get(name);
+ }
+
+ static class StringResourceHandler extends DefaultHandler2 {
+ private static final String TAG_RESOURCES = "resources";
+ private static final String TAG_STRING = "string";
+ private static final String ATTR_NAME = "name";
+
+ final ArrayList<StringResource> mResources = new ArrayList<StringResource>();
+
+ private String mName;
+ private final StringBuilder mValue = new StringBuilder();
+ private final StringBuilder mComment = new StringBuilder();
+
+ private void init() {
+ mName = null;
+ mComment.setLength(0);
+ }
+
+ @Override
+ public void comment(char[] ch, int start, int length) {
+ mComment.append(ch, start, length);
+ if (ch[start + length - 1] != '\n') {
+ mComment.append('\n');
+ }
+ }
+
+ @Override
+ public void startElement(String uri, String localName, String qName, Attributes attr) {
+ if (TAG_RESOURCES.equals(localName)) {
+ init();
+ } else if (TAG_STRING.equals(localName)) {
+ mName = attr.getValue(ATTR_NAME);
+ mValue.setLength(0);
+ }
+ }
+
+ @Override
+ public void characters(char[] ch, int start, int length) {
+ mValue.append(ch, start, length);
+ }
+
+ @Override
+ public void endElement(String uri, String localName, String qName) throws SAXException {
+ if (TAG_STRING.equals(localName)) {
+ if (mName == null)
+ throw new SAXException(TAG_STRING + " doesn't have name");
+ final String comment = mComment.length() > 0 ? mComment.toString() : null;
+ String value = mValue.toString();
+ if (value.startsWith("\"") && value.endsWith("\"")) {
+ // Trim surroundings double quote.
+ value = value.substring(1, value.length() - 1);
+ }
+ mResources.add(new StringResource(mName, value, comment));
+ init();
+ }
+ }
+ }
+}