From 423422c437de5f9d49f51a67079722ad57c58717 Mon Sep 17 00:00:00 2001 From: Ken Wakasa Date: Tue, 10 Dec 2013 10:56:31 +0900 Subject: [PATCH] Rename deprecated locale directories cf. Ibe392f5f9dbc82c3cdff8e06b958bc3bcce3fa82 Also, cf. bug id 11340849 Change-Id: I43e84f8ca04eb1aa74037a705970a36434429a0f --- .../{values-be => values-be-rBY}/bools.xml | 0 .../strings-action-keys.xml | 0 java/res/values-be/strings-appname.xml | 27 -- java/res/values-be/strings.xml | 247 ------------------ java/res/xml/method.xml | 4 +- .../keyboard/internal/KeyboardTextsSet.java | 44 ++-- .../inputmethod/latin/utils/LocaleUtils.java | 10 +- .../keyboard/internal/KeyboardTextsSet.tmpl | 2 + .../donottranslate-more-keys.xml | 0 .../donottranslate-more-keys.xml | 0 .../donottranslate-more-keys.xml | 0 .../donottranslate-more-keys.xml | 0 .../donottranslate-more-keys.xml | 0 .../donottranslate-more-keys.xml | 0 .../donottranslate-more-keys.xml | 0 .../keyboard/tools/LocaleUtils.java | 61 +++++ .../keyboard/tools/MoreKeysResources.java | 33 ++- 17 files changed, 114 insertions(+), 314 deletions(-) rename java/res/{values-be => values-be-rBY}/bools.xml (100%) rename java/res/{values-be => values-be-rBY}/strings-action-keys.xml (100%) delete mode 100644 java/res/values-be/strings-appname.xml delete mode 100644 java/res/values-be/strings.xml rename tools/make-keyboard-text/res/{values-be => values-be-rBY}/donottranslate-more-keys.xml (100%) rename tools/make-keyboard-text/res/{values-et => values-et-rEE}/donottranslate-more-keys.xml (100%) rename tools/make-keyboard-text/res/{values-hy => values-hy-rAM}/donottranslate-more-keys.xml (100%) rename tools/make-keyboard-text/res/{values-ka => values-ka-rGE}/donottranslate-more-keys.xml (100%) rename tools/make-keyboard-text/res/{values-km => values-km-rKH}/donottranslate-more-keys.xml (100%) rename tools/make-keyboard-text/res/{values-lo => values-lo-rLA}/donottranslate-more-keys.xml (100%) rename tools/make-keyboard-text/res/{values-mn => values-mn-rMN}/donottranslate-more-keys.xml (100%) create mode 100644 tools/make-keyboard-text/src/com/android/inputmethod/keyboard/tools/LocaleUtils.java diff --git a/java/res/values-be/bools.xml b/java/res/values-be-rBY/bools.xml similarity index 100% rename from java/res/values-be/bools.xml rename to java/res/values-be-rBY/bools.xml diff --git a/java/res/values-be/strings-action-keys.xml b/java/res/values-be-rBY/strings-action-keys.xml similarity index 100% rename from java/res/values-be/strings-action-keys.xml rename to java/res/values-be-rBY/strings-action-keys.xml diff --git a/java/res/values-be/strings-appname.xml b/java/res/values-be/strings-appname.xml deleted file mode 100644 index 2f9593bdc..000000000 --- a/java/res/values-be/strings-appname.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - "Клавіятура Android (AOSP)" - "Iнструмент праверкi правапiсу для Android (AOSP)" - "Налады клавіятуры Android (AOSP)" - "Налады інструмента праверкі правапісу для Android (AOSP)" - diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml deleted file mode 100644 index c7aac0c7f..000000000 --- a/java/res/values-be/strings.xml +++ /dev/null @@ -1,247 +0,0 @@ - - - - - "Параметры ўводу" - "Каманды гiсторыя даследаванняў" - "Шукаць імёны кантактаў" - "Модуль праверкі правапісу выкарыстоўвае запісы са спісу кантактаў" - "Вібрацыя пры націску клавіш" - "Гук пры націску" - "Па націску на клавішы ўсплывае акно" - "Агульныя" - "Выпраўленне тэксту" - "Набор жэстамі" - "Іншыя параметры" - "Адмысловыя налады" - "Функцыi для спецыялістаў" - "Перакл. да інш. спос. ув." - "Кнопка пераключэння мовы звязана i з iншымi спосабамi ўводу" - "Кнопка пераключэння мовы" - "Паказваць, калі ўключана некалькі моў ўводу" - "Iндыкатар слайд-шоу" - "Паказаць візуальны сігнал падчас слiзгання клавiш Shift або Symbol" - "Затрым. скр. падк. клав." - "Няма затрымкі" - "Па змаўчанні" - "%s мс" - - - "Прапан. імёны кантактаў" - "Выкарыстоўваць імёны са спісу кантактаў для прапаноў і выпраўл." - "Падвойны iнтэрвал" - "Падвойнае нацiсканне на прабел ўстаўляе iнтэрвал з наступным прабелам" - "Аўтаматычна рабіць вялікія літары" - "Пісаць з загалоўнай літары першае слова ў кожным сказе" - "Персанальны слоўнік" - "Дадатковыя слоўнікі" - "Асноўны слоўнік" - "Паказаць прапановы на выпраўленне" - "Паказваць прапанаваныя словы падчас набору тэксту" - "Заўсёды паказваць" - "Паказаць у партрэтным рэжыме" - "Заўседы хаваць" - "Блакіраваць абразлівыя словы" - "Не прапануйце патэнцыяльна абразлівых слоў" - "Аўтавыпраўленне" - "Прабелы і пунктуацыйныя знакі дазваляюць аўтаматычна выпраўляць памылкова ўведзеныя словы" - "Адключаны" - "Сціплы" - - - - - "Падказкi для наступнага слова" - "Выкарыстоўваць папярэдняе слова, каб атрымлiваць падказкi" - "Уключыць набор жэстамі" - "Уводзьце слова, перасоўваючы палец па літарах" - "Паказаць след жэста" - "Дынамічны плаваючы прагляд" - "Праглядаць прапанаванае слова падчас жэсту" - "%s : Захаваныя" - "Каб праслухаць паролi, падключыце гарнiтуру." - "Бягучы тэкст %s" - "Тэкст не ўведзены" - - - - - "Клавішны код %d" - "Зрух" - "Shift уключаны (націснiце, каб адключыць)" - "Caps Lock уключаны (націснiце, каб адключыць)" - "Выдаліць" - "Сімвалы" - "Літары" - "Лічбы" - "Налады" - "Укладка" - "Прабел" - "Галасавы ўвод" - "Смайлік" - "Увод" - "Пошук" - "Кропка" - "Пераключыць мову" - "Далей" - "Назад" - "Shift уключаны" - "Caps Lock уключаны" - "Shift адключаны" - "Рэжым знакаў" - "Рэжым лiтар" - "Рэжым тэлефона" - "Рэжым тэлефонных знакаў" - "Клавіятура схавана" - "Паказана клавiятура ў рэжыме \" %s\"" - "дата" - "дата i час" - "электронная пошта" - "абмен паведамленнямі" - "нумар" - "тэлефон" - "тэкст" - "час" - "URL" - "Ключ галасавога ўводу" - "Налада метадаў уводу" - "Мовы ўводу" - "Адправіць водгук" - "Мовы ўводу" - "Дакраніцеся зноў, каб захаваць" - "Слоўнік даступны" - "Уключыць зваротную сувязь з карыстальнікамі" - "Дапамажыце палепшыць гэты рэдактар ​​метаду ўводу, аўтаматычна адпраўляючы статыстыку выкарыстання і справаздачы аб збоях Google." - "Тэма клавіятуры" - "Англійская (ЗК)" - "Англійская (ЗША)" - "iспанская (ЗША)" - "Англійская (Вялікабрытанія) (%s)" - "Англійская (ЗША) (%s)" - "iспанская (ЗША) ( %s )" - - - - - - - - - - - - - - - - - - - "Карыстальніцкія стылі ўводу" - "Дадаць стыль" - "Дадаць" - "Выдаліць" - "Захаваць" - "Мова" - "Раскладка" - "Карыстальніцкі метад уводу павінен быць уключаны, перш чым пачаць выкарыстоўваць яго. Жадаеце ўключыць яго зараз?" - "Уключыць" - "Не цяпер" - "Такі метад уводу ўжо існуе: %s" - "Рэжым даследвання выкарыстальнасці" - "Затрымка доўгага націску клавішы" - "Працягласць вібрацыі пры націску клавіш" - "Гучнасць гуку пры націску клавіш" - "Чытанне знешняга файла слоўніка" - "У папцы загрузак няма файлаў слоўніка" - "Вылучыце файл слоўніка для ўсталёўкі" - "Сапраўды ўсталяваць гэты файл на мове: %s?" - "Была памылка" - "Па змаўчанні" - "Вітаем у прыкладанні %s" - "з уводам жэстамі" - "Пачаць" - "Далей" - "Наладка прыкладання %s" - "Уключыць прыкладанне %s" - "Праверце прыкладанне \"%s\" на сваёй мове і параметры ўводу. Гэта дасць магчымасць дазволіць яму працаваць на вашай прыладзе." - "Прыкладанне %s ужо ўключана для вашай мовы і параметраў уводу, так што гэты крок зроблены. Пераходзім да наступнага!" - "Уключыць у наладах" - "Пераключыцца на прыкладанне %s." - "Выберыце \"%s\" як актыўны метад уводу тэксту." - "Пераключэнне метадаў уводу" - "Усё гатова!" - "Цяпер вы можаце ўводзіць ўсе свае любімыя прыкладанні з iмем %s." - "Наладка дадатковых моў" - "Гатова" - "Паказаць значок прыкладання" - "Паказаць значок прыкладання ў панэлi запуску" - "Пастаўшчык слоўніка" - "Пастаўшчык слоўніка" - "Слоўнік" - "Інфармацыя абнаўлення слоўніка" - "Дадатковыя слоўнікі" - "Даступны слоўнік" - "Налады для слоўнікаў" - "Карыстальніцкія слоўнікі" - "Карыстацкі слоўнік" - "Даступны слоўнік" - "Спампоўваецца зараз" - "Усталявана" - "Усталявана, адключана" - "Праблема падключэння да слоўніка" - "Слоўнікаў няма" - "Абнавіць" - "Апошняе абнаўленне" - "Праверка наяўнасці абнаўленняў" - "Загрузка..." - "Асноўны слоўнік" - "Адмяніць" - "Усталяваць" - "Адмена" - "Выдаліць" - "Для выбранай мовы на мабільнай прыладзе ёсць слоўнік.<br/> Мы рэкамендуем <b>спампаваць</b> слоўнік для мовы \"%1$s\" для паляпшэння зручнасці набору.<br/> <br/> Спампоўка можа заняць хвіліну або дзве ў 3G-сетках. Калі ў вас няма <b>безлімітнага тарыфнага плану перадачы дадзеных</b>, могуць прымяняцца дадатковыя плацяжы<br/>. Калі вы не ведаеце дакладна, які ў вас тарыфны план, мы рэкамендуем знайсці падлучэнне да сеткі Wi-Fi, каб пачаць аўтаматычную спампоўку.<br/> <br/> Парада: можна спампоўваць і выдаляць слоўнікі, перайшоўшы ў раздзел <b>Мова і ўвод</b> у меню <b>Налады</b> вашай мабільнай прылады." - "Спампаваць зараз (%1$.1fМБ)" - "Спампаваць праз Wi-Fi" - "Слоўнік для мовы \"%1$s\"" - "Нацiснiце, каб прагледзець i спампаваць" - "Загрузка: прапановы для мовы \"%1$s\" хутка з\'явяцца." - "Версія %1$s" - "Дадаць" - "Дадаць у слоўнік" - "Выраз" - "Дадатковыя параметры" - "Асн. параметры" - "OК" - "Слова:" - "Шлях хуткага доступу:" - "Мова:" - "Увядзіце слова" - "Дадатковы цэтлiк" - "Рэдагаваць слова" - "Рэдагаваць" - "Выдаліць" - "У вашым карыстальніцкім слоўніку няма ніводнага слова. Вы можаце дадаваць словы, дакранаючыся да кнопкі \"+\" у пункце меню \"Дадаць\"." - "Для ўсіх моў" - "Іншыя мовы..." - "Выдаліць" - " ABCDEFGHIJKLMNOPQRSTUVWXYZ" - diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml index 26ceb8967..78e771fda 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -25,7 +25,7 @@ af: Afrikaans/qwerty ar: Arabic/arabic (az: Azerbaijani/qwerty) # disabled temporarily. waiting for string resources. - be: Belarusian/east_slavic + be_BY: Belarusian/east_slavic bg: Bulgarian/bulgarian bg: Bulgarian/bulgarian_bds ca: Catalan/spanish @@ -144,7 +144,7 @@ sLocaleCache = new HashMap(); + + /** + * Creates a locale from a string specification. + */ + public static Locale constructLocaleFromString(final String localeStr) { + if (localeStr == null) { + return null; + } + synchronized (sLocaleCache) { + Locale retval = sLocaleCache.get(localeStr); + if (retval != null) { + return retval; + } + String[] localeParams = localeStr.split("_", 3); + if (localeParams.length == 1) { + retval = new Locale(localeParams[0]); + } else if (localeParams.length == 2) { + retval = new Locale(localeParams[0], localeParams[1]); + } else if (localeParams.length == 3) { + retval = new Locale(localeParams[0], localeParams[1], localeParams[2]); + } + if (retval != null) { + sLocaleCache.put(localeStr, retval); + } + return retval; + } + } +} 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 index 2643e01ec..a88383025 100644 --- 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 @@ -37,7 +37,7 @@ public class MoreKeysResources { 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 DEFAULT_LANGUAGE_NAME = "DEFAULT"; private static final String ARRAY_NAME_FOR_LANGUAGE = "LANGUAGE_%s"; private static final String EMPTY_STRING_VAR = "EMPTY"; @@ -72,7 +72,7 @@ public class MoreKeysResources { final int languagePos = dirName.indexOf('-'); if (languagePos < 0) { // Default resource. - return DEFAUT_LANGUAGE_NAME; + return DEFAULT_LANGUAGE_NAME; } final String language = dirName.substring(languagePos + 1); final int countryPos = language.indexOf("-r"); @@ -84,10 +84,12 @@ public class MoreKeysResources { public void writeToJava(final String outDir) { final ArrayList list = JarUtils.getNameListing(mJar, JAVA_TEMPLATE); - if (list.isEmpty()) + if (list.isEmpty()) { throw new RuntimeException("Can't find java template " + JAVA_TEMPLATE); - if (list.size() > 1) + } + 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; @@ -131,7 +133,7 @@ public class MoreKeysResources { } private void dumpNames(final PrintStream out) { - final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME); + final StringResourceMap defaultResMap = mResourcesMap.get(DEFAULT_LANGUAGE_NAME); int id = 0; for (final StringResource res : defaultResMap.getResources()) { out.format(" /* %2d */ \"%s\",\n", id, res.mName); @@ -141,17 +143,17 @@ public class MoreKeysResources { } private void dumpDefaultTexts(final PrintStream out) { - final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME); + final StringResourceMap defaultResMap = mResourcesMap.get(DEFAULT_LANGUAGE_NAME); dumpTextsInternal(out, defaultResMap, defaultResMap); } private void dumpTexts(final PrintStream out) { - final StringResourceMap defaultResMap = mResourcesMap.get(DEFAUT_LANGUAGE_NAME); + final StringResourceMap defaultResMap = mResourcesMap.get(DEFAULT_LANGUAGE_NAME); final ArrayList allLanguages = new ArrayList(); allLanguages.addAll(mResourcesMap.keySet()); Collections.sort(allLanguages); for (final String language : allLanguages) { - if (language.equals(DEFAUT_LANGUAGE_NAME)) { + if (language.equals(DEFAULT_LANGUAGE_NAME)) { continue; } out.format(" /* Language %s: %s */\n", language, getLanguageDisplayName(language)); @@ -174,17 +176,22 @@ public class MoreKeysResources { 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)); + final Locale locale = LocaleUtils.constructLocaleFromString(language); + // If we use a different key, dump the original as comment for now. + final String languageKeyToDump = locale.getCountry().isEmpty() + ? String.format("\"%s\"", language) + : String.format("\"%s\" /* \"%s\" */", locale.getLanguage(), language); + out.format(" %s, " + ARRAY_NAME_FOR_LANGUAGE + ", /* %s */\n", + languageKeyToDump, language, getLanguageDisplayName(language)); } } private static String getLanguageDisplayName(final String language) { - if (language.equals(NO_LANGUAGE_CODE)) { + final Locale locale = LocaleUtils.constructLocaleFromString(language); + if (locale.getLanguage().equals(NO_LANGUAGE_CODE)) { return NO_LANGUAGE_DISPLAY_NAME; - } else { - return new Locale(language).getDisplayLanguage(); } + return locale.getDisplayName(Locale.ENGLISH); } private static void dumpTextsInternal(final PrintStream out, final StringResourceMap resMap,