12be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka/*
22be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * Copyright (C) 2012 The Android Open Source Project
32be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka *
42be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License"); you may not
52be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * use this file except in compliance with the License. You may obtain a copy of
62be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * the License at
72be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka *
82be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * http://www.apache.org/licenses/LICENSE-2.0
92be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka *
102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software
112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * License for the specific language governing permissions and limitations under
142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * the License.
152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka */
162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaokapackage com.android.inputmethod.keyboard.internal;
182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaokaimport android.content.Context;
202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaokaimport android.content.res.Resources;
212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
225f282ea9e4a4590fcbab6e27d5fca7dacbb40a6aTadashi G. Takaokaimport com.android.inputmethod.latin.CollectionUtils;
232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaokaimport com.android.inputmethod.latin.R;
242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaokaimport java.util.HashMap;
262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka/**
282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka * !!!!! DO NOT EDIT THIS FILE !!!!!
29aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *
30aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka * This file is generated by tools/maketext. The base template file is
31aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *   tools/maketext/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl
32aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *
33aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka * This file must be updated when any text resources in keyboard layout files have been changed.
34aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka * These text resources are referred as "!text/<resource_name>" in keyboard XML definitions,
35aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka * and should be defined in
36aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *   tools/maketext/res/values-<locale>/donottranslate-more-keys.xml
37aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *
38aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka * To update this file, please run the following commands.
39aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *   $ cd $ANDROID_BUILD_TOP
40aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *   $ mmm packages/inputmethods/LatinIME/tools/maketext
41aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *   $ maketext -java packages/inputmethods/LatinIME/java/src
42aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *
43aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka * The updated source file will be generated to the following path (this file).
44aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *   packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/internal/
45aaac9a52175b4354af50d9136be5e3f6727f6a31Tadashi G. Takaoka *   KeyboardTextsSet.java
462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka */
476bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaokapublic final class KeyboardTextsSet {
486bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka    // Language to texts map.
495f282ea9e4a4590fcbab6e27d5fca7dacbb40a6aTadashi G. Takaoka    private static final HashMap<String, String[]> sLocaleToTextsMap = CollectionUtils.newHashMap();
505f282ea9e4a4590fcbab6e27d5fca7dacbb40a6aTadashi G. Takaoka    private static final HashMap<String, Integer> sNameToIdsMap = CollectionUtils.newHashMap();
512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
526bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka    private String[] mTexts;
536bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka    // Resource name to text map.
545f282ea9e4a4590fcbab6e27d5fca7dacbb40a6aTadashi G. Takaoka    private HashMap<String, String> mResourceNameToTextsMap = CollectionUtils.newHashMap();
552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    public void setLanguage(final String language) {
576bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        mTexts = sLocaleToTextsMap.get(language);
586bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        if (mTexts == null) {
596bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka            mTexts = LANGUAGE_DEFAULT;
602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        }
612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    }
622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    public void loadStringResources(Context context) {
642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        loadStringResourcesInternal(context, RESOURCE_NAMES, R.string.english_ime_name);
652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    }
662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* package for test */
682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    void loadStringResourcesInternal(Context context, final String[] resourceNames,
692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka            int referenceId) {
702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        final Resources res = context.getResources();
712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        final String packageName = res.getResourcePackageName(referenceId);
722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        for (final String resName : resourceNames) {
732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka            final int resId = res.getIdentifier(resName, "string", packageName);
746bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka            mResourceNameToTextsMap.put(resName, res.getString(resId));
752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        }
762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    }
772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
786bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka    public String getText(final String name) {
796bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        String text = mResourceNameToTextsMap.get(name);
806bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        if (text != null) {
816bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka            return text;
822f16fd40faab7287dfcae4899050b9df360d0c29Tadashi G. Takaoka        }
830a3362d26474cbd60bf870be7ad1413359e4fad6Tadashi G. Takaoka        final Integer id = sNameToIdsMap.get(name);
842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        if (id == null) throw new RuntimeException("Unknown label: " + name);
856bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        text = (id < mTexts.length) ? mTexts[id] : null;
866bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        return (text == null) ? LANGUAGE_DEFAULT[id] : text;
872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    }
882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] RESOURCE_NAMES = {
906bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        // These texts' name should be aligned with the @string/<name> in values/strings.xml.
912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Labels for action.
922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_go_key",
932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // "label_search_key",
942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_send_key",
952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_next_key",
962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_done_key",
972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_previous_key",
982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Other labels.
992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_to_alpha_key",
1002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_to_symbol_key",
1012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_to_symbol_with_microphone_key",
1022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_pause_key",
1032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "label_wait_key",
1042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
1052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
1062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] NAMES = {
1072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  0 */ "more_keys_for_a",
1082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  1 */ "more_keys_for_e",
1092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  2 */ "more_keys_for_i",
1102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  3 */ "more_keys_for_o",
1112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  4 */ "more_keys_for_u",
1122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  5 */ "more_keys_for_s",
1132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  6 */ "more_keys_for_n",
1142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  7 */ "more_keys_for_c",
1152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  8 */ "more_keys_for_y",
1162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /*  9 */ "more_keys_for_d",
1172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ "more_keys_for_r",
1182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "more_keys_for_t",
1192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "more_keys_for_z",
1202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13 */ "more_keys_for_k",
1212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "more_keys_for_l",
1222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15 */ "more_keys_for_g",
1232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 16 */ "more_keys_for_v",
1242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 17 */ "more_keys_for_h",
1252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 18 */ "more_keys_for_j",
1262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 19 */ "more_keys_for_w",
1272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 20 */ "keylabel_for_nordic_row1_11",
1282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 21 */ "keylabel_for_nordic_row2_10",
1292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 22 */ "keylabel_for_nordic_row2_11",
1302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 23 */ "more_keys_for_nordic_row2_10",
1312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 24 */ "more_keys_for_nordic_row2_11",
1322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 25 */ "keylabel_for_east_slavic_row1_9",
133b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 26 */ "keylabel_for_east_slavic_row1_12",
134b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 27 */ "keylabel_for_east_slavic_row2_1",
135b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 28 */ "keylabel_for_east_slavic_row2_11",
136b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 29 */ "keylabel_for_east_slavic_row3_5",
137b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 30 */ "more_keys_for_cyrillic_u",
138b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 31 */ "more_keys_for_cyrillic_en",
139b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 32 */ "more_keys_for_cyrillic_ghe",
140b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 33 */ "more_keys_for_east_slavic_row2_1",
141b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 34 */ "more_keys_for_cyrillic_o",
142b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 35 */ "more_keys_for_cyrillic_soft_sign",
143b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 36 */ "keylabel_for_south_slavic_row1_6",
144b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 37 */ "keylabel_for_south_slavic_row2_11",
145b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 38 */ "keylabel_for_south_slavic_row3_1",
146b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 39 */ "keylabel_for_south_slavic_row3_8",
147b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 40 */ "more_keys_for_cyrillic_ie",
148b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 41 */ "more_keys_for_cyrillic_i",
149b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 42 */ "more_keys_for_single_quote",
150b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 43 */ "more_keys_for_double_quote",
151b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 44 */ "more_keys_for_tablet_double_quote",
152b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 45 */ "more_keys_for_currency_dollar",
153b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 46 */ "more_keys_for_currency_euro",
154b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 47 */ "more_keys_for_currency_pound",
155b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 48 */ "more_keys_for_currency_general",
156b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 49 */ "more_keys_for_punctuation",
157b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 50 */ "more_keys_for_star",
158b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 51 */ "more_keys_for_bullet",
159b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 52 */ "more_keys_for_plus",
160b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 53 */ "more_keys_for_left_parenthesis",
161b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 54 */ "more_keys_for_right_parenthesis",
162b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 55 */ "more_keys_for_less_than",
163b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 56 */ "more_keys_for_greater_than",
164b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 57 */ "more_keys_for_arabic_diacritics",
165b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 58 */ "keyhintlabel_for_arabic_diacritics",
166b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 59 */ "keylabel_for_symbols_1",
167b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 60 */ "keylabel_for_symbols_2",
168b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 61 */ "keylabel_for_symbols_3",
169b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 62 */ "keylabel_for_symbols_4",
170b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 63 */ "keylabel_for_symbols_5",
171b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 64 */ "keylabel_for_symbols_6",
172b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 65 */ "keylabel_for_symbols_7",
173b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 66 */ "keylabel_for_symbols_8",
174b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 67 */ "keylabel_for_symbols_9",
175b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 68 */ "keylabel_for_symbols_0",
176b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 69 */ "additional_more_keys_for_symbols_1",
177b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 70 */ "additional_more_keys_for_symbols_2",
178b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 71 */ "additional_more_keys_for_symbols_3",
179b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 72 */ "additional_more_keys_for_symbols_4",
180b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 73 */ "additional_more_keys_for_symbols_5",
181b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 74 */ "additional_more_keys_for_symbols_6",
182b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 75 */ "additional_more_keys_for_symbols_7",
183b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 76 */ "additional_more_keys_for_symbols_8",
184b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 77 */ "additional_more_keys_for_symbols_9",
185b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 78 */ "additional_more_keys_for_symbols_0",
186b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 79 */ "more_keys_for_symbols_1",
187b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 80 */ "more_keys_for_symbols_2",
188b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 81 */ "more_keys_for_symbols_3",
189b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 82 */ "more_keys_for_symbols_4",
190b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 83 */ "more_keys_for_symbols_5",
191b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 84 */ "more_keys_for_symbols_6",
192b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 85 */ "more_keys_for_symbols_7",
193b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 86 */ "more_keys_for_symbols_8",
194b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 87 */ "more_keys_for_symbols_9",
195b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 88 */ "more_keys_for_symbols_0",
196b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 89 */ "keylabel_for_comma",
197b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 90 */ "more_keys_for_comma",
198b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 91 */ "keylabel_for_symbols_question",
199b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 92 */ "keylabel_for_symbols_semicolon",
200b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 93 */ "keylabel_for_symbols_percent",
201b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 94 */ "more_keys_for_symbols_exclamation",
202b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 95 */ "more_keys_for_symbols_question",
203b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 96 */ "more_keys_for_symbols_semicolon",
204b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 97 */ "more_keys_for_symbols_percent",
205b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 98 */ "keylabel_for_tablet_comma",
206b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 99 */ "keyhintlabel_for_tablet_comma",
207b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 100 */ "more_keys_for_tablet_comma",
208b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 101 */ "keyhintlabel_for_tablet_period",
209b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 102 */ "more_keys_for_tablet_period",
210b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 103 */ "keylabel_for_apostrophe",
211b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 104 */ "keyhintlabel_for_apostrophe",
212b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 105 */ "more_keys_for_apostrophe",
213eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 106 */ "more_keys_for_q",
214eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 107 */ "more_keys_for_x",
215eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 108 */ "keylabel_for_q",
216eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 109 */ "keylabel_for_w",
217eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 110 */ "keylabel_for_y",
218eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 111 */ "keylabel_for_x",
219eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 112 */ "keylabel_for_spanish_row2_10",
220eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 113 */ "more_keys_for_am_pm",
221eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 114 */ "settings_as_more_key",
222eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 115 */ "shortcut_as_more_key",
223eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 116 */ "action_next_as_more_key",
224eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 117 */ "action_previous_as_more_key",
225eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 118 */ "label_to_more_symbol_key",
226eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 119 */ "label_to_more_symbol_for_tablet_key",
227eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 120 */ "label_tab_key",
228eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 121 */ "label_to_phone_numeric_key",
229eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 122 */ "label_to_phone_symbols_key",
230eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 123 */ "label_time_am",
231eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 124 */ "label_time_pm",
232eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 125 */ "label_to_symbol_key_pcqwerty",
233eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 126 */ "keylabel_for_popular_domain",
234eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 127 */ "more_keys_for_popular_domain",
235eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 128 */ "more_keys_for_smiley",
2362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
2372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
2382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String EMPTY = "";
2392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
2406bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka    /* Default texts */
2412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_DEFAULT = {
2422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
2432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
2442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
2452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
246b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        EMPTY, EMPTY, EMPTY,
247b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~41 */
248b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 42 */ "!fixedColumnOrder!4,\u2018,\u2019,\u201A,\u201B",
2495e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
2505e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;</string>
251b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB,\u00BB",
2525e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
2535e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
254b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B",
2552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00A2: "¢" CENT SIGN
2562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00A3: "£" POUND SIGN
2572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+20AC: "€" EURO SIGN
2582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00A5: "¥" YEN SIGN
2592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+20B1: "₱" PESO SIGN
260b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 45 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
261b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 46 */ "\u00A2,\u00A3,$,\u00A5,\u20B1",
262b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 47 */ "\u00A2,$,\u20AC,\u00A5,\u20B1",
263b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 48 */ "\u00A2,$,\u20AC,\u00A3,\u00A5,\u20B1",
264b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 49 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\\,,?,@,&,\\%,+,;,/,(,)",
265a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2020: "†" DAGGER
266a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2021: "‡" DOUBLE DAGGER
267a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2605: "★" BLACK STAR
268b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 50 */ "\u2020,\u2021,\u2605",
269ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // U+266A: "♪" EIGHTH NOTE
270ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // U+2665: "♥" BLACK HEART SUIT
271ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // U+2660: "♠" BLACK SPADE SUIT
272ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // U+2666: "♦" BLACK DIAMOND SUIT
273ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // U+2663: "♣" BLACK CLUB SUIT
274b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 51 */ "\u266A,\u2665,\u2660,\u2666,\u2663",
275a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+00B1: "±" PLUS-MINUS SIGN
276b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 52 */ "\u00B1",
277a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // The all letters need to be mirrored are found at
278a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
279b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 53 */ "!fixedColumnOrder!3,<,{,[",
280b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 54 */ "!fixedColumnOrder!3,>,},]",
281a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
282a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
283a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2264: "≤" LESS-THAN OR EQUAL TO
284a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2265: "≥" GREATER-THAN EQUAL TO
285a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
286a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
287a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // The following characters don't need BIDI mirroring.
288a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
289a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
290a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
291a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
292a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
293a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
294a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
295a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
296b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 55 */ "!fixedColumnOrder!3,\u2039,\u2264,\u00AB",
297b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 56 */ "!fixedColumnOrder!3,\u203A,\u2265,\u00BB",
2981db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        /* 57 */ EMPTY,
299b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 58 */ EMPTY,
300b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 59 */ "1",
301b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 60 */ "2",
302b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 61 */ "3",
303b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 62 */ "4",
304b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 63 */ "5",
305b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 64 */ "6",
306b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 65 */ "7",
307b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 66 */ "8",
308b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 67 */ "9",
309b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 68 */ "0",
310b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 69~ */
3112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
312b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~78 */
3132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00B9: "¹" SUPERSCRIPT ONE
3142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BD: "½" VULGAR FRACTION ONE HALF
3152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2153: "⅓" VULGAR FRACTION ONE THIRD
3162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BC: "¼" VULGAR FRACTION ONE QUARTER
3172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+215B: "⅛" VULGAR FRACTION ONE EIGHTH
318b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 79 */ "\u00B9,\u00BD,\u2153,\u00BC,\u215B",
3192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00B2: "²" SUPERSCRIPT TWO
3202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2154: "⅔" VULGAR FRACTION TWO THIRDS
321b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 80 */ "\u00B2,\u2154",
3222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00B3: "³" SUPERSCRIPT THREE
3232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BE: "¾" VULGAR FRACTION THREE QUARTERS
3242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS
325b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 81 */ "\u00B3,\u00BE,\u215C",
3262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2074: "⁴" SUPERSCRIPT FOUR
327b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 82 */ "\u2074",
3282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS
329b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 83 */ "\u215D",
330b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 84 */ EMPTY,
3311db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS
332b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 85 */ "\u215E",
3331db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        /* 86 */ EMPTY,
334b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 87 */ EMPTY,
3352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N
3362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2205: "∅" EMPTY SET
337b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 88 */ "\u207F,\u2205",
338b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 89 */ ",",
339b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 90 */ EMPTY,
340b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 91 */ "?",
341b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 92 */ ";",
342b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 93 */ "%",
343a6204bbe2a8a3e34ae1adb4d2103c7323825a40cTadashi G. Takaoka        // U+00A1: "¡" INVERTED EXCLAMATION MARK
344b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 94 */ "\u00A1",
3452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BF: "¿" INVERTED QUESTION MARK
346b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 95 */ "\u00BF",
347b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 96 */ EMPTY,
3482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2030: "‰" PER MILLE SIGN
349b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 97 */ "\u2030",
350b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 98 */ ",",
3511db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        /* 99 */ "!",
352b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 100 */ "!",
3531db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        /* 101 */ "?",
354b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 102 */ "?",
355b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 103 */ "\'",
3561db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        /* 104 */ "\"",
357b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 105 */ "\"",
358eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 106 */ EMPTY,
359eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 107 */ EMPTY,
360eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 108 */ "q",
361eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 109 */ "w",
362eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 110 */ "y",
363eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 111 */ "x",
364eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
365eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 112 */ "\u00F1",
366eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 113 */ "!fixedColumnOrder!2,!hasLabels!,!text/label_time_am,!text/label_time_pm",
367eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 114 */ "!icon/settings_key|!code/key_settings",
368eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 115 */ "!icon/shortcut_key|!code/key_shortcut",
369eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 116 */ "!hasLabels!,!text/label_next_key|!code/key_action_next",
370eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 117 */ "!hasLabels!,!text/label_previous_key|!code/key_action_previous",
3712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Label for "switch to more symbol" modifier key.  Must be short to fit on key!
372eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 118 */ "= \\ <",
3732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Label for "switch to more symbol" modifier key on tablets.  Must be short to fit on key!
374eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 119 */ "~ \\ {",
3752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Label for "Tab" key.  Must be short to fit on key!
376eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 120 */ "Tab",
3772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Label for "switch to phone numeric" key.  Must be short to fit on key!
378eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 121 */ "123",
3795e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // Label for "switch to phone symbols" key.  Must be short to fit on key!
3805e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // U+FF0A: "*" FULLWIDTH ASTERISK
3812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+FF03: "#" FULLWIDTH NUMBER SIGN
382eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 122 */ "\uFF0A\uFF03",
3832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Key label for "ante meridiem"
384eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 123 */ "AM",
3852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // Key label for "post meridiem"
386eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 124 */ "PM",
38749caddbdabe5ca666bdef9f842f134e30e7ffed9Tadashi G. Takaoka        // Label for "switch to symbols" key on PC QWERTY layout
388eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 125 */ "Sym",
389eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 126 */ ".com",
390ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // popular web domains for the locale - most popular, displayed on the keyboard
391eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 127 */ "!hasLabels!,.net,.org,.gov,.edu",
392eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 128 */ "!fixedColumnOrder!5,!hasLabels!,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ ",
3932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
3942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
39555c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka    /* Language af: Afrikaans */
39655c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka    private static final String[] LANGUAGE_af = {
397b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // This is the same as Dutch except more keys of y and demoting vowels with diaeresis.
398b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
39955c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
40055c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
40155c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
40255c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
40355c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
40455c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
40555c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
406b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E2,\u00E4,\u00E0,\u00E6,\u00E3,\u00E5,\u0101",
40755c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
40855c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
409b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
410b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
41155c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
41255c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
41355c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
414b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
41555c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
41655c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
417b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
418b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
41955c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
42055c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
42155c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0133: "ij" LATIN SMALL LIGATURE IJ
422b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EC,\u00EF,\u00EE,\u012F,\u012B,\u0133",
423b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
42455c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
42555c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
42655c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
42755c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
42855c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
42955c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
43055c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
431b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F4,\u00F6,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
432b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
43355c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
43455c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
43555c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
43655c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
437b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FB,\u00FC,\u00F9,\u016B",
43855c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        /* 5 */ null,
43955c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
44055c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
44155c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
44255c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        /* 7 */ null,
443b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
44455c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // U+0133: "ij" LATIN SMALL LIGATURE IJ
445b90363e40cedcc75537f4c3c6ad378902ffa3ddfTadashi G. Takaoka        /* 8 */ "\u00FD,\u0133",
44655c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka    };
44755c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka
4482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language ar: Arabic */
4492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_ar = {
4502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
4512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
4522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
453b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null,
454b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~42 */
4555e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
4565e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
457b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB",
4585e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
4595e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
460b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
461b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 45~ */
462ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        null, null, null, null,
463b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~48 */
4642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+061F: "؟" ARABIC QUESTION MARK
4652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+060C: "،" ARABIC COMMA
4665e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // U+061B: "؛" ARABIC SEMICOLON
467b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 49 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(,)",
468a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2605: "★" BLACK STAR
469a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+066D: "٭" ARABIC FIVE POINTED STAR
470b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 50 */ "\u2605,\u066D",
471ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // U+266A: "♪" EIGHTH NOTE
472b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 51 */ "\u266A",
473b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 52 */ null,
474a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // The all letters need to be mirrored are found at
475a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
476a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
477a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS
478b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 53 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
479b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 54 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
480a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2264: "≤" LESS-THAN OR EQUAL TO
481a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2265: "≥" GREATER-THAN EQUAL TO
482a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
483a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
484a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
485a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
486a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // The following characters don't need BIDI mirroring.
487a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
488a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
489a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
490a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
491a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
492a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
493a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
494a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
495b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 55 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
496b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 56 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
49714bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+0655: "ٕ" ARABIC HAMZA BELOW
49814bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+0654: "ٔ" ARABIC HAMZA ABOVE
4991db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+0652: "ْ" ARABIC SUKUN
5001db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+064D: "ٍ" ARABIC KASRATAN
50114bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+064C: "ٌ" ARABIC DAMMATAN
5021db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+064B: "ً" ARABIC FATHATAN
50314bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+0651: "ّ" ARABIC SHADDA
50414bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
50514bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
50614bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+0653: "ٓ" ARABIC MADDAH ABOVE
5071db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+0650: "ِ" ARABIC KASRA
50814bc2e89efed136a8f351e6e407be3ec2d7a3308Tadashi G. Takaoka        // U+064F: "ُ" ARABIC DAMMA
5091db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+064E: "َ" ARABIC FATHA
5101db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+0640: "ـ" ARABIC TATWEEL
5111db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
512b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 57 */ "!fixedColumnOrder!7,\u0655,\u0654,\u0652,\u064D,\u064C,\u064B,\u0651,\u0656,\u0670,\u0653,\u0650,\u064F,\u064E,\u0640\u0640\u0640|\u0640",
513b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 58 */ "\u0651",
5142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0661: "١" ARABIC-INDIC DIGIT ONE
515b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 59 */ "\u0661",
5162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0662: "٢" ARABIC-INDIC DIGIT TWO
517b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 60 */ "\u0662",
5182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0663: "٣" ARABIC-INDIC DIGIT THREE
519b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 61 */ "\u0663",
5202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0664: "٤" ARABIC-INDIC DIGIT FOUR
521b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 62 */ "\u0664",
5222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0665: "٥" ARABIC-INDIC DIGIT FIVE
523b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 63 */ "\u0665",
5242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0666: "٦" ARABIC-INDIC DIGIT SIX
525b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 64 */ "\u0666",
5262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0667: "٧" ARABIC-INDIC DIGIT SEVEN
527b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 65 */ "\u0667",
5282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0668: "٨" ARABIC-INDIC DIGIT EIGHT
529b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 66 */ "\u0668",
5302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0669: "٩" ARABIC-INDIC DIGIT NINE
531b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 67 */ "\u0669",
5322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0660: "٠" ARABIC-INDIC DIGIT ZERO
533b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 68 */ "\u0660",
534b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 69 */ "1",
535b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 70 */ "2",
536b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 71 */ "3",
537b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 72 */ "4",
538b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 73 */ "5",
539b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 74 */ "6",
540b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 75 */ "7",
541b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 76 */ "8",
542b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 77 */ "9",
5432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+066B: "٫" ARABIC DECIMAL SEPARATOR
5442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+066C: "٬" ARABIC THOUSANDS SEPARATOR
545b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 78 */ "0,\u066B,\u066C",
546b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 79~ */
547a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null,
548b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~88 */
5492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+060C: "،" ARABIC COMMA
550b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 89 */ "\u060C",
551b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 90 */ "\\,",
552b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 91 */ "\u061F",
553b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 92 */ "\u061B",
5542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+066A: "٪" ARABIC PERCENT SIGN
555b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 93 */ "\u066A",
556b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 94 */ null,
557b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 95 */ "?",
558b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 96 */ ";",
5592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2030: "‰" PER MILLE SIGN
560b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 97 */ "\\%,\u2030",
561b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 98~ */
5622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null,
563b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~102 */
5642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+060C: "،" ARABIC COMMA
5652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+061B: "؛" ARABIC SEMICOLON
5662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+061F: "؟" ARABIC QUESTION MARK
567b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 103 */ "\u060C",
568b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 104 */ "\u061F",
569b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 105 */ "\u061F,\u061B,!,:,-,/,\',\"",
5702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
5712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
5722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language be: Belarusian */
5732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_be = {
5742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
5752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
5762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null,
5772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~24 */
5782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+045E: "ў" CYRILLIC SMALL LETTER SHORT U
5792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 25 */ "\u045E",
580b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+0451: "ё" CYRILLIC SMALL LETTER IO
581b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 26 */ "\u0451",
5822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+044B: "ы" CYRILLIC SMALL LETTER YERU
583b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 27 */ "\u044B",
584b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+044D: "э" CYRILLIC SMALL LETTER E
585b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 28 */ "\u044D",
5862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
587b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 29 */ "\u0456",
588b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 30~ */
589b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null,
590b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~34 */
5912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
592b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 35 */ "\u044A",
593b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 36~ */
594b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null,
595b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~39 */
596b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+0451: "ё" CYRILLIC SMALL LETTER IO
597b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 40 */ "\u0451",
5982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
5992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
6002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language ca: Catalan */
6012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_ca = {
6022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
6032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
6042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
6052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
6062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
6072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
6082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
6092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
6102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
6112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
6122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E0,\u00E1,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA",
6132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
6142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
6152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
6162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
6172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
6182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
6192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
6202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E8,\u00E9,\u00EB,\u00EA,\u0119,\u0117,\u0113",
6212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
6222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
6232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
6242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
6252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
6262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
6272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
6282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
6292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
6302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
6312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
6322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
6332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
6342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
6352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
6362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
6372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
6382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
6392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
6402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
6412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
6422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
6432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
6442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ null,
6452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
6462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
6472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
6482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
6492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
6502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
6512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u00E7,\u0107,\u010D",
6522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8~ */
6532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null,
6542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~13 */
6552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
6562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
6572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u0140,\u0142",
6582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
6592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
6602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language cs: Czech */
6612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_cs = {
6622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
6632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
6642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
6652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
6662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
6672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
6682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
6692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
6702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
6712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
6722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
6732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
6742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
6752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
6762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
6772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
6782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
6792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
6802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
6812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
6822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
6832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
6842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
6852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
6862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B",
6872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
6882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
6892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
6902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
6912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
6922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
6932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
6942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
6952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
6962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
6972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
6982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
6992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
7002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
7012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
7022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B",
7032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
7042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
7052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
7062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161,\u00DF,\u015B",
7072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
7082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
7092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
7102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u0148,\u00F1,\u0144",
7112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
7122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
7132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
7142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u010D,\u00E7,\u0107",
7152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
7162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
7172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u00FF",
7182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
7192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u010F",
7202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
7212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ "\u0159",
7222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
7232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u0165",
7242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
7252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
7262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
7272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E,\u017A,\u017C",
7282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
7292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
7302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language da: Danish */
7312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_da = {
7322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
7332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
7342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
7352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
7362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
7372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
7382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E4,\u00E0,\u00E2,\u00E3,\u0101",
7392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
7402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
7412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00EB",
7422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
7432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
7442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EF",
7452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
7462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
7472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
7482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
7492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
7502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
7512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F4,\u00F2,\u00F5,\u0153,\u014D",
7522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
7532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
7542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
7552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
7562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
7572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
7582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
7592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
7602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
7612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u00DF,\u015B,\u0161",
7622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
7632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
7642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
7652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ null,
7662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
7672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
7682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u00FF",
7692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F0: "ð" LATIN SMALL LETTER ETH
7702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u00F0",
7712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10~ */
7722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null,
7732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~13 */
7742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
7752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u0142",
7762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15~ */
7772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null,
7782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~19 */
7792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
7802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 20 */ "\u00E5",
7812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
7822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 21 */ "\u00E6",
7832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
7842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 22 */ "\u00F8",
7852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
7862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 23 */ "\u00E4",
7872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
7882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 24 */ "\u00F6",
7892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
7902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
7912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language de: German */
7922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_de = {
7932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
7942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
7952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
7962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
7972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
7982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
7992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
8002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
8012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E4,\u00E2,\u00E0,\u00E1,\u00E6,\u00E3,\u00E5,\u0101",
8022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
8032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u0117",
8042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ null,
8052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
8062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
8072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
8082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
8092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
8102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
8112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
8122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
8132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F6,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u00F8,\u014D",
8142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
8152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
8162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
8172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
8182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
8192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
8202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
8212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
8222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
8232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u00DF,\u015B,\u0161",
8242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
8252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
8262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
8272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
8282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
8292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language en: English */
8302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_en = {
8312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
8322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
8332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
8342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
8352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
8362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
8372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
8382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
8392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
8402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
8412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
8422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
8432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
8442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
845aae757b8a173b3e4231565288afbd020f30cb5e8Tadashi G. Takaoka        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113",
8462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
8472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
8482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
8492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
8502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
8512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC",
8522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
8532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
8542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
8552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
8562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
8572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
8582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
8592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
860d005476715a86d5efd18905424c3ba20322891d6Tadashi G. Takaoka        /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5",
8612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
8622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
8632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
8642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
8652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
8662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B",
8672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
8682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u00DF",
8692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
8702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1",
8712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
8722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u00E7",
8732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
8742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
875eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka    /* Language eo: Esperanto */
876eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka    private static final String[] LANGUAGE_eo = {
877eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
878eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
879eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
880eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
881eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
882eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
883eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
884eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
885eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
886eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
887eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
888eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101,\u0103,\u0105,\u00AA",
889eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
890eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
891eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
892eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
893eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
894eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
895eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
896eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
897eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 1 */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
898eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
899eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
900eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
901eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
902eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
903eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
904eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
905eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
906eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0133: "ij" LATIN SMALL LIGATURE IJ
907eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 2 */ "\u00ED,\u00EE,\u00EF,\u0129,\u00EC,\u012F,\u012B,\u0131,\u0133",
908eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
909eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
910eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
911eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
912eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
913eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
914eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
915eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
916eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
917eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
918eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D,\u0151,\u00BA",
919eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
920eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
921eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
922eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
923eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
924eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
925eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
926eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
927eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
928eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00B5: "µ" MICRO SIGN
929eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 4 */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B,\u0169,\u0171,\u0173,\u00B5",
930eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
931eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
932eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
933eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
934eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
935eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 5 */ "\u00DF,\u0161,\u015B,\u0219,\u015F",
936eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
937eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
938eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
939eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
940eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
941eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+014B: "ŋ" LATIN SMALL LETTER ENG
942eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 6 */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B",
943eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
944eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
945eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
946eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
947eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 7 */ "\u0107,\u010D,\u00E7,\u010B",
948eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
949eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX
950eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
951eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00FE: "þ" LATIN SMALL LETTER THORN
952eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 8 */ "y,\u00FD,\u0177,\u00FF,\u00FE",
953eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+00F0: "ð" LATIN SMALL LETTER ETH
954eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
955eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
956eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 9 */ "\u00F0,\u010F,\u0111",
957eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
958eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
959eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
960eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 10 */ "\u0159,\u0155,\u0157",
961eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
962eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW
963eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
964eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE
965eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 11 */ "\u0165,\u021B,\u0163,\u0167",
966eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
967eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
968eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
969eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 12 */ "\u017A,\u017C,\u017E",
970eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
971eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0138: "ĸ" LATIN SMALL LETTER KRA
972eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 13 */ "\u0137,\u0138",
973eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
974eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
975eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
976eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
977eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
978eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 14 */ "\u013A,\u013C,\u013E,\u0140,\u0142",
979eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
980eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE
981eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
982eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 15 */ "\u011F,\u0121,\u0123",
983eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX
984eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 16 */ "w,\u0175",
985eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX
986eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0127: "ħ" LATIN SMALL LETTER H WITH STROKE
987eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 17 */ "\u0125,\u0127",
988eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 18 */ null,
989eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX
990eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 19 */ "w,\u0175",
991eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 20~ */
992eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
993eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
994eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
995eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
996eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
997eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null,
998eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* ~105 */
999eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 106 */ "q",
1000eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 107 */ "x",
1001eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX
1002eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 108 */ "\u015D",
1003eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX
1004eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 109 */ "\u011D",
1005eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE
1006eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 110 */ "\u016D",
1007eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX
1008eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 111 */ "\u0109",
1009eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        // U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX
1010eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        /* 112 */ "\u0135",
1011eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka    };
1012eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka
10132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language es: Spanish */
10142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_es = {
10152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
10162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
10172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
10182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
10192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
10202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
10212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
10222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
10232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
10242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
10252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E0,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA",
10262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
10272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
10282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
10292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
10302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
10312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
10322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
10332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113",
10342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
10352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
10362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
10372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
10382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
10392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
10402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
10412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
10422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
10432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
10442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
10452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
10462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
10472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
10482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
10492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
10502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
10512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
10522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
10532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
10542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
10552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
10562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
10572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ null,
10582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
10592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
10602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
10612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
10622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
10632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
10642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u00E7,\u0107,\u010D",
10652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8~ */
10662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
10672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1068b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null,
1069b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~48 */
10702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00A1: "¡" INVERTED EXCLAMATION MARK
10712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BF: "¿" INVERTED QUESTION MARK
1072b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 49 */ "!fixedColumnOrder!9,\u00A1,\",\',#,-,:,!,\\,,?,\u00BF,@,&,\\%,+,;,/,(,)",
1073b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 50~ */
1074a6204bbe2a8a3e34ae1adb4d2103c7323825a40cTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1075a6204bbe2a8a3e34ae1adb4d2103c7323825a40cTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1076af2c11525324d1cb48fce249c907f5906f0524dcTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1077af2c11525324d1cb48fce249c907f5906f0524dcTadashi G. Takaoka        null, null, null, null, null,
1078b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~99 */
1079a6204bbe2a8a3e34ae1adb4d2103c7323825a40cTadashi G. Takaoka        // U+00A1: "¡" INVERTED EXCLAMATION MARK
1080b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 100 */ "!,\u00A1",
1081b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 101 */ null,
1082a6204bbe2a8a3e34ae1adb4d2103c7323825a40cTadashi G. Takaoka        // U+00BF: "¿" INVERTED QUESTION MARK
1083b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 102 */ "?,\u00BF",
10842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
10852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
10862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language et: Estonian */
10872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_et = {
10882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
10892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
10902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
10912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
10922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
10932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
10942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
10952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
10962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
10972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E4,\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E5,\u00E6,\u0105",
10982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
10992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
11002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
11012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
11022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
11032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
11042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
11052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
11062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u0113,\u00E8,\u0117,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
11072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
11082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
11092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
11102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
11112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
11122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
11132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
11142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u012B,\u00EC,\u012F,\u00ED,\u00EE,\u00EF,\u0131",
11152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
11162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
11172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
11182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
11192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
11202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
11212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
11222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
11232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8",
11242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
11252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
11262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
11272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
11282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
11292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
11302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
11312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
11322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FC,\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u016F,\u0171",
11332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
11342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
11352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
11362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
11372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
11382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
11392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
11402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
11412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
11422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u0146,\u00F1,\u0144,\u0144",
11432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
11442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
11452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
11462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u010D,\u00E7,\u0107",
11472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
11482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
11492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u00FF",
11502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
11512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u010F",
11522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
11532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
11542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
11552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ "\u0157,\u0159,\u0155",
11562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
11572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
11582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u0163,\u0165",
11592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
11602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
11612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
11622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E,\u017C,\u017A",
11632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
11642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13 */ "\u0137",
11652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
11662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
11672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
11682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
11692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u013C,\u0142,\u013A,\u013E",
11702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
11712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
11722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15 */ "\u0123,\u011F",
11732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 16~ */
11742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null,
11752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~19 */
11762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
11772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 20 */ "\u00FC",
11782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
11792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 21 */ "\u00F6",
11802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
11812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 22 */ "\u00E4",
11822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
11832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 23 */ "\u00F5",
11842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
11852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
11862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language fa: Persian */
11872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_fa = {
11882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
11892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
11902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1191b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null,
1192b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~42 */
11935e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
11945e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
1195b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\",\'",
11965e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
11975e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
1198b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
1199b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 45~ */
1200ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        null, null, null, null,
1201b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~48 */
12022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+061F: "؟" ARABIC QUESTION MARK
12032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+060C: "،" ARABIC COMMA
12045e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // U+061B: "؛" ARABIC SEMICOLON
1205b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 49 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(,)",
1206a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2605: "★" BLACK STAR
1207a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+066D: "٭" ARABIC FIVE POINTED STAR
1208b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 50 */ "\u2605,\u066D",
1209ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        // U+266A: "♪" EIGHTH NOTE
1210b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 51 */ "\u266A",
1211b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 52 */ null,
1212a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // The all letters need to be mirrored are found at
1213a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
1214a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+FD3E: "﴾" ORNATE LEFT PARENTHESIS
1215a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS
1216b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 53 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
1217b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 54 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
1218a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2264: "≤" LESS-THAN OR EQUAL TO
1219a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2265: "≥" GREATER-THAN EQUAL TO
1220a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1221a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1222a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
1223a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
1224a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // The following characters don't need BIDI mirroring.
1225a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
1226a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
1227a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
1228a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
1229a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
1230a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
1231a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
1232a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
1233b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 55 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,<|>",
1234b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 56 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,>|<",
12351db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+0655: "ٕ" ARABIC HAMZA BELOW
12361db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+0652: "ْ" ARABIC SUKUN
12370e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+0651: "ّ" ARABIC SHADDA
12381db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+064C: "ٌ" ARABIC DAMMATAN
12390e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+064D: "ٍ" ARABIC KASRATAN
12400e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+064B: "ً" ARABIC FATHATAN
12410e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+0654: "ٔ" ARABIC HAMZA ABOVE
12421db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
12431db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
12440e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+0653: "ٓ" ARABIC MADDAH ABOVE
12450e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+064F: "ُ" ARABIC DAMMA
12460e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+0650: "ِ" ARABIC KASRA
12470e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+064E: "َ" ARABIC FATHA
12480e473e9c92defefffa5e300ffe2ad033904f872fTadashi G. Takaoka        // U+0640: "ـ" ARABIC TATWEEL
12491db4f95105ba59651b074697ee01903af22b331fTadashi G. Takaoka        // In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
1250b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 57 */ "!fixedColumnOrder!7,\u0655,\u0652,\u0651,\u064C,\u064D,\u064B,\u0654,\u0656,\u0670,\u0653,\u064F,\u0650,\u064E,\u0640\u0640\u0640|\u0640",
1251b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 58 */ "\u064B",
12522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE
1253b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 59 */ "\u06F1",
12542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO
1255b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 60 */ "\u06F2",
12562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE
1257b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 61 */ "\u06F3",
12582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR
1259b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 62 */ "\u06F4",
12602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE
1261b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 63 */ "\u06F5",
12622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX
1263b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 64 */ "\u06F6",
12642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN
1265b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 65 */ "\u06F7",
12662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT
1267b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 66 */ "\u06F8",
12682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE
1269b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 67 */ "\u06F9",
12702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO
1271b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 68 */ "\u06F0",
1272b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 69 */ "1",
1273b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 70 */ "2",
1274b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 71 */ "3",
1275b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 72 */ "4",
1276b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 73 */ "5",
1277b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 74 */ "6",
1278b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 75 */ "7",
1279b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 76 */ "8",
1280b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 77 */ "9",
12812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+066B: "٫" ARABIC DECIMAL SEPARATOR
12822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+066C: "٬" ARABIC THOUSANDS SEPARATOR
1283b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 78 */ "0,\u066B,\u066C",
1284b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 79~ */
1285a2f458f56928290057808890fc007f7a4026a533Tadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null,
1286b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~88 */
12872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+060C: "،" ARABIC COMMA
1288b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 89 */ "\u060C",
1289b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 90 */ "\\,",
1290b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 91 */ "\u061F",
1291b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 92 */ "\u061B",
12922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+066A: "٪" ARABIC PERCENT SIGN
1293b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 93 */ "\u066A",
1294b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 94 */ null,
1295b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 95 */ "?",
1296b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 96 */ ";",
12972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2030: "‰" PER MILLE SIGN
1298b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 97 */ "\\%,\u2030",
12992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+060C: "،" ARABIC COMMA
13002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+061B: "؛" ARABIC SEMICOLON
13012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+061F: "؟" ARABIC QUESTION MARK
130238dc9ca31432f19641d80cd6f89354d66c5bebc1Tadashi G. Takaoka        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
130338dc9ca31432f19641d80cd6f89354d66c5bebc1Tadashi G. Takaoka        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1304b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 98 */ "\u060C",
1305b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 99 */ "!",
1306b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 100 */ "!,\\,",
1307b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 101 */ "\u061F",
1308b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 102 */ "\u061F,?",
1309b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 103 */ "\u060C",
1310b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 104 */ "\u061F",
1311b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 105 */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\u00AB|\u00BB,\u00BB|\u00AB",
13122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
13132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
13142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language fi: Finnish */
13152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_fi = {
13162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
13172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
13182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
13192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
13202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
13212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
13222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E6,\u00E0,\u00E1,\u00E2,\u00E3,\u0101",
13232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ null,
13242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ null,
13252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
13262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
13272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
13282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
13292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
13302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
13312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
13322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F8,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u014D",
13332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
13342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FC",
13352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
13362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
13372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
13382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161,\u00DF,\u015B",
13392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6~ */
13402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null,
13412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~11 */
13422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
13432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
13442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
13452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E,\u017A,\u017C",
13462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13~ */
13472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null,
13482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~19 */
13492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
13502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 20 */ "\u00E5",
13512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
13522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 21 */ "\u00F6",
13532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
13542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 22 */ "\u00E4",
13552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
13562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 23 */ "\u00F8",
13572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
13582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 24 */ "\u00E6",
13592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
13602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
13612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language fr: French */
13622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_fr = {
13632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
13642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
13652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
13662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
13672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
13682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
13692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
13702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
13712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
13722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E0,\u00E2,%,\u00E6,\u00E1,\u00E4,\u00E3,\u00E5,\u0101,\u00AA",
13732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
13742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
13752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
13762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
13772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
13782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
13792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
13802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,%,\u0119,\u0117,\u0113",
13812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
13822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
13832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
13842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
13852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
13862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
13872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00EE,%,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
13882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
13892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
13902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
13912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
13922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
13932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
13942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
13952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
13962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
13972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F4,\u0153,%,\u00F6,\u00F2,\u00F3,\u00F5,\u00F8,\u014D,\u00BA",
13982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
13992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
14002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
14012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
14022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
14032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00F9,\u00FB,%,\u00FC,\u00FA,\u016B",
14042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ null,
14052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ null,
14062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
14072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
14082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
14092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u00E7,\u0107,\u010D",
14102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
14112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "%,\u00FF",
14122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
14132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
14142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language hi: Hindi */
14152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_hi = {
14162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
14172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
14182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
14192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1420b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1421b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~58 */
14222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0967: "१" DEVANAGARI DIGIT ONE
1423b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 59 */ "\u0967",
14242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0968: "२" DEVANAGARI DIGIT TWO
1425b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 60 */ "\u0968",
14262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0969: "३" DEVANAGARI DIGIT THREE
1427b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 61 */ "\u0969",
14282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+096A: "४" DEVANAGARI DIGIT FOUR
1429b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 62 */ "\u096A",
14302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+096B: "५" DEVANAGARI DIGIT FIVE
1431b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 63 */ "\u096B",
14322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+096C: "६" DEVANAGARI DIGIT SIX
1433b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 64 */ "\u096C",
14342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+096D: "७" DEVANAGARI DIGIT SEVEN
1435b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 65 */ "\u096D",
14362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+096E: "८" DEVANAGARI DIGIT EIGHT
1437b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 66 */ "\u096E",
14382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+096F: "९" DEVANAGARI DIGIT NINE
1439b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 67 */ "\u096F",
14402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0966: "०" DEVANAGARI DIGIT ZERO
1441b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 68 */ "\u0966",
1442b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 69 */ "1",
1443b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 70 */ "2",
1444b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 71 */ "3",
1445b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 72 */ "4",
1446b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 73 */ "5",
1447b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 74 */ "6",
1448b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 75 */ "7",
1449b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 76 */ "8",
1450b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 77 */ "9",
1451b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 78 */ "0",
14522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
14532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
14542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language hr: Croatian */
14552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_hr = {
14562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
14572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null,
14582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~4 */
14592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
14602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
14612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
14622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161,\u015B,\u00DF",
14632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
14642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
14652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
14662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
14672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
14682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
14692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u010D,\u0107,\u00E7",
14702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ null,
14712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
14722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u0111",
14732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ null,
14742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ null,
14752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
14762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
14772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
14782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E,\u017A,\u017C",
14792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
14802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
14812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language hu: Hungarian */
14822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_hu = {
14832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
14842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
14852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
14862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
14872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
14882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
14892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
14902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
14912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
14922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
14932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
14942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
14952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
14962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
14972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
14982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
14992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
15002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
15012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
15022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
15032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
15042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
15052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
15062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B",
15072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
15082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
15092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
15102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
15112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
15122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
15132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
15142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
15152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
15162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F6,\u0151,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
15172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
15182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
15192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
15202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
15212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
15222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
15232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u0171,\u00FB,\u00F9,\u016B",
15242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
15252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
15262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language is: Icelandic */
15272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_is = {
15282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
15292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
15302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
15312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
15322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
15332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
15342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
15352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
15362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E4,\u00E6,\u00E5,\u00E0,\u00E2,\u00E3,\u0101",
15372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
15382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
15392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
15402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
15412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
15422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
15432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
15442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00EB,\u00E8,\u00EA,\u0119,\u0117,\u0113",
15452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
15462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
15472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
15482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
15492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
15502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
15512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EF,\u00EE,\u00EC,\u012F,\u012B",
15522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
15532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
15542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
15552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
15562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
15572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
15582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
15592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
15602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
15612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
15622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
15632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
15642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
15652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
15662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
15672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5~ */
15682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null,
15692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~7 */
15702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
15712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
15722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u00FF",
15732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F0: "ð" LATIN SMALL LETTER ETH
15742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u00F0",
15752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ null,
15762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FE: "þ" LATIN SMALL LETTER THORN
15772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u00FE",
15782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12~ */
15792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null,
15802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~19 */
15812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F0: "ð" LATIN SMALL LETTER ETH
15822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 20 */ "\u00F0",
15832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
15842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 21 */ "\u00E6",
15852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FE: "þ" LATIN SMALL LETTER THORN
15862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 22 */ "\u00FE",
15872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
15882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
15892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language it: Italian */
15902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_it = {
15912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
15922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
15932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
15942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
15952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
15962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
15972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
15982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
15992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
16002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101,\u00AA",
16012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
16022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
16032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
16042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
16052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
16062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
16072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
16082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u0117,\u0113",
16092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
16102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
16112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
16122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
16132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
16142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
16152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00EC,\u00ED,\u00EE,\u00EF,\u012F,\u012B",
16162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
16172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
16182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
16192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
16202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
16212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
16222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
16232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
16242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
16252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F6,\u00F5,\u0153,\u00F8,\u014D,\u00BA",
16262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
16272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
16282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
16292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
16302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
16312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00F9,\u00FA,\u00FB,\u00FC,\u016B",
16322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
16332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
16342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language iw: Hebrew */
16352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_iw = {
16362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
16372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
16382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1639b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null,
1640b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~42 */
16415e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
16425e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
1643b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB",
16445e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
16455e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
1646b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
1647b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 45~ */
1648ef6dadbe6c54738f39632c7fec57d31efffb2362Tadashi G. Takaoka        null, null, null, null, null,
1649b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~49 */
16502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2605: "★" BLACK STAR
1651b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 50 */ "\u2605",
1652b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 51 */ null,
16532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00B1: "±" PLUS-MINUS SIGN
16542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN
1655b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 52 */ "\u00B1,\uFB29",
16562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // The all letters need to be mirrored are found at
16572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
1658b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 53 */ "!fixedColumnOrder!3,<|>,{|},[|]",
1659b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 54 */ "!fixedColumnOrder!3,>|<,}|{,]|[",
16602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2264: "≤" LESS-THAN OR EQUAL TO
16612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2265: "≥" GREATER-THAN EQUAL TO
16622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
16632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
16642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
16652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
16662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // The following characters don't need BIDI mirroring.
16672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
16682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
16692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
16702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
16712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
16722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
16732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
16742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
1675b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 55 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
1676b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 56 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
16772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
16782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
16792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language ky: Kirghiz */
16802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_ky = {
16812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
16822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
16832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null,
16842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~24 */
16852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
16862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 25 */ "\u0449",
1687b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
1688b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 26 */ "\u044A",
16892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+044B: "ы" CYRILLIC SMALL LETTER YERU
1690b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 27 */ "\u044B",
1691b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+044D: "э" CYRILLIC SMALL LETTER E
1692b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 28 */ "\u044D",
16932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0438: "и" CYRILLIC SMALL LETTER I
1694b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 29 */ "\u0438",
16952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U
1696b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 30 */ "\u04AF",
16972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+04A3: "ң" CYRILLIC SMALL LETTER EN WITH DESCENDER
1698b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 31 */ "\u04A3",
16992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 32 */ null,
1700b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 33 */ null,
17012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O
1702b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 34 */ "\u04E9",
17032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
1704b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 35 */ "\u044A",
1705b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 36~ */
1706b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null,
1707b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~39 */
1708b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+0451: "ё" CYRILLIC SMALL LETTER IO
1709b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 40 */ "\u0451",
17102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
17112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
17122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language lt: Lithuanian */
17132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_lt = {
17142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
17152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
17162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
17172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
17182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
17192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
17202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
17212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
17222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
17232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u0105,\u00E4,\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E5,\u00E6",
17242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
17252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
17262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
17272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
17282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
17292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
17302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
17312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
17322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u0117,\u0119,\u0113,\u00E8,\u00E9,\u00EA,\u00EB,\u011B",
17332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
17342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
17352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
17362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
17372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
17382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
17392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
17402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u012F,\u012B,\u00EC,\u00ED,\u00EE,\u00EF,\u0131",
17412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
17422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
17432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
17442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
17452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
17462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
17472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
17482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
17492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8",
17502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
17512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
17522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
17532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
17542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
17552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
17562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
17572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
17582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
17592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u016B,\u0173,\u00FC,\u016B,\u00F9,\u00FA,\u00FB,\u016F,\u0171",
17602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
17612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
17622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
17632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
17642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
17652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
17662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
17672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
17682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
17692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u0146,\u00F1,\u0144,\u0144",
17702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
17712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
17722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
17732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u010D,\u00E7,\u0107",
17742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
17752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
17762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u00FF",
17772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
17782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u010F",
17792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
17802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
17812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
17822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ "\u0157,\u0159,\u0155",
17832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
17842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
17852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u0163,\u0165",
17862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
17872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
17882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
17892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E,\u017C,\u017A",
17902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
17912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13 */ "\u0137",
17922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
17932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
17942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
17952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
17962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u013C,\u0142,\u013A,\u013E",
17972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
17982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
17992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15 */ "\u0123,\u011F",
18002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
18012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
18022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language lv: Latvian */
18032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_lv = {
18042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
18052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
18062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
18072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
18082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
18092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
18102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
18112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
18122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
18132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E4,\u00E5,\u00E6,\u0105",
18142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
18152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
18162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
18172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
18182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
18192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
18202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
18212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
18222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u0113,\u0117,\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
18232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
18242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
18252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
18262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
18272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
18282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
18292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
18302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u012B,\u012F,\u00EC,\u00ED,\u00EE,\u00EF,\u0131",
18312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
18322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
18332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
18342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
18352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
18362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
18372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
18382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
18392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u0153,\u0151,\u00F8",
18402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
18412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
18422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
18432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
18442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
18452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
18462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
18472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
18482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u00FC,\u016F,\u0171",
18492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
18502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
18512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
18522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
18532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
18542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
18552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
18562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
18572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
18582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u0146,\u00F1,\u0144,\u0144",
18592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
18602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
18612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
18622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u010D,\u00E7,\u0107",
18632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
18642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
18652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u00FF",
18662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
18672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u010F",
18682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
18692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
18702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
18712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ "\u0157,\u0159,\u0155",
18722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
18732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
18742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u0163,\u0165",
18752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
18762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
18772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
18782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E,\u017C,\u017A",
18792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
18802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13 */ "\u0137",
18812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
18822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
18832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
18842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
18852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u013C,\u0142,\u013A,\u013E",
18862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
18872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
18882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15 */ "\u0123,\u011F",
18892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
18902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
18912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language mk: Macedonian */
18922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_mk = {
18932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
18942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
18952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
1896b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null, null,
1897b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~35 */
18982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE
1899b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 36 */ "\u0455",
19002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+045C: "ќ" CYRILLIC SMALL LETTER KJE
1901b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 37 */ "\u045C",
19022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0437: "з" CYRILLIC SMALL LETTER ZE
1903b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 38 */ "\u0437",
19042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0453: "ѓ" CYRILLIC SMALL LETTER GJE
1905b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 39 */ "\u0453",
19062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE
1907b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 40 */ "\u0450",
19082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE
1909b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 41 */ "\u045D",
1910b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 42 */ null,
19112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
19122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
19132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
19142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
19152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
19162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
19172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
19185e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
19195e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
19205e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201E;,&#x201C;,&#x201D;,&#x201F;,&#x00AB;,&#x00BB;</string>
1921b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 43 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB",
19225e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
19235e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
1924b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 44 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B",
19252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
19262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
19272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language nb: Norwegian Bokmål */
19282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_nb = {
19292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
19302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
19312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
19322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
19332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
19342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
19352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E0,\u00E4,\u00E1,\u00E2,\u00E3,\u0101",
19362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
19372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
19382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
19392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
19402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
19412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
19422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
19432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
19442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ null,
19452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
19462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
19472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
19482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
19492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
19502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
19512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
19522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F4,\u00F2,\u00F3,\u00F6,\u00F5,\u0153,\u014D",
19532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
19542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
19552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
19562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
19572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
19582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
19592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5~ */
19602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
19612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~19 */
19622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
19632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 20 */ "\u00E5",
19642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
19652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 21 */ "\u00F8",
19662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
19672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 22 */ "\u00E6",
19682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
19692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 23 */ "\u00F6",
19702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
19712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 24 */ "\u00E4",
19722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
19732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
19742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language nl: Dutch */
19752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_nl = {
19762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
19772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
19782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
19792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
19802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
19812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
19822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
19832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
19842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E4,\u00E2,\u00E0,\u00E6,\u00E3,\u00E5,\u0101",
19852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
19862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
19872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
19882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
19892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
19902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
19912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
19922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00EB,\u00EA,\u00E8,\u0119,\u0117,\u0113",
19932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
19942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
19952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
19962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
19972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
19982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
19992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0133: "ij" LATIN SMALL LIGATURE IJ
20002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B,\u0133",
20012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
20022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
20032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
20042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
20052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
20062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
20072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
20082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
20092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
20102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
20112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
20122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
20132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
20142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
20152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
20162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ null,
20172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
20182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
20192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
20202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ null,
20212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0133: "ij" LATIN SMALL LIGATURE IJ
20222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u0133",
20232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
20242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
20252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language pl: Polish */
20262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_pl = {
20272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
20282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
20292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
20302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
20312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
20322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
20332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
20342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
20352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
20362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u0105,\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
20372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
20382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
20392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
20402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
20412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
20422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
20432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
20442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u0119,\u00E8,\u00E9,\u00EA,\u00EB,\u0117,\u0113",
20452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ null,
20462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
20472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
20482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
20492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
20502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
20512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
20522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
20532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
20542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
20552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ null,
20562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
20572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
20582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
20592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u015B,\u00DF,\u0161",
20602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
20612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
20622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u0144,\u00F1",
20632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
20642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
20652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
20662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u0107,\u00E7,\u010D",
20672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8~ */
20682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null,
20692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~11 */
20702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
20712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
20722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
20732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017C,\u017A,\u017E",
20742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13 */ null,
20752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
20762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u0142",
20772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
20782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
20792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language pt: Portuguese */
20802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_pt = {
20812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
20822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
20832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
20842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
20852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
20862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
20872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
20882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
20892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E3,\u00E0,\u00E2,\u00E4,\u00E5,\u00E6,\u00AA",
20902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
20912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
20922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
20932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
20942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
20952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
20962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
20972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00EA,\u00E8,\u0119,\u0117,\u0113,\u00EB",
20982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
20992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
21002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
21012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
21022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
21032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
21042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u00EE,\u00EC,\u00EF,\u012F,\u012B",
21052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
21062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
21072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
21082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
21092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
21102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
21112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
21122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
21132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
21142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F3,\u00F5,\u00F4,\u00F2,\u00F6,\u0153,\u00F8,\u014D,\u00BA",
21152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
21162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
21172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
21182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
21192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
21202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
21212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ null,
21222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ null,
21232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
21242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
21252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
21262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u00E7,\u010D,\u0107",
21272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
21282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
21292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language rm: Raeto-Romance */
21302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_rm = {
21312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
21322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null,
21332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~2 */
21342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
21352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
21362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
21372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
21382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
21392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
21402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
21412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u0153,\u00F8",
21422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
21432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
21442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language ro: Romanian */
21452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_ro = {
21462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
21472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
21482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
21492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
21502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
21512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
21522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
21532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
21542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
21552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E2,\u00E3,\u0103,\u00E0,\u00E1,\u00E4,\u00E6,\u00E5,\u0101",
21562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ null,
21572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
21582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
21592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
21602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
21612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
21622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
21632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
21642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ null,
21652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ null,
21662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
21672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
21682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
21692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
21702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0219,\u00DF,\u015B,\u0161",
21712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6~ */
21722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null,
21732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~10 */
21742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW
21752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u021B",
21762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
21772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
21782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language ru: Russian */
21792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_ru = {
21802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
21812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
21822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null,
21832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~24 */
21842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
21852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 25 */ "\u0449",
2186b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
2187b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 26 */ "\u044A",
21882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+044B: "ы" CYRILLIC SMALL LETTER YERU
2189b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 27 */ "\u044B",
2190b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+044D: "э" CYRILLIC SMALL LETTER E
2191b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 28 */ "\u044D",
21922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0438: "и" CYRILLIC SMALL LETTER I
2193b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 29 */ "\u0438",
2194b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 30~ */
2195b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null,
2196b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~34 */
21972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
2198b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 35 */ "\u044A",
2199b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 36~ */
2200b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null,
2201b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~39 */
2202b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+0451: "ё" CYRILLIC SMALL LETTER IO
2203b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 40 */ "\u0451",
22042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
22052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
22062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language sk: Slovak */
22072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_sk = {
22082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
22092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
22102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
22112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
22122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
22132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
22142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
22152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
22162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
22172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E1,\u00E4,\u0101,\u00E0,\u00E2,\u00E3,\u00E5,\u00E6,\u0105",
22182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
22192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
22202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
22212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
22222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
22232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
22242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
22252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
22262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u011B,\u0113,\u0117,\u00E8,\u00EA,\u00EB,\u0119",
22272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
22282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
22292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
22302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
22312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
22322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
22332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
22342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00ED,\u012B,\u012F,\u00EC,\u00EE,\u00EF,\u0131",
22352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
22362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
22372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
22382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
22392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
22402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
22412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
22422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
22432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F4,\u00F3,\u00F6,\u00F2,\u00F5,\u0153,\u0151,\u00F8",
22442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
22452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
22462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
22472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
22482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
22492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
22502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
22512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
22522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FA,\u016F,\u00FC,\u016B,\u0173,\u00F9,\u00FB,\u0171",
22532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
22542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
22552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
22562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
22572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161,\u00DF,\u015B,\u015F",
22582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
22592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
22602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
22612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
22622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
22632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u0148,\u0146,\u00F1,\u0144,\u0144",
22642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
22652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
22662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
22672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u010D,\u00E7,\u0107",
22682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
22692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
22702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u00FF",
22712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
22722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u010F",
22732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
22742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
22752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
22762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ "\u0155,\u0159,\u0157",
22772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
22782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
22792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u0165,\u0163",
22802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
22812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
22822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
22832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E,\u017C,\u017A",
22842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
22852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13 */ "\u0137",
22862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
22872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
22882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
22892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
22902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u013E,\u013A,\u013C,\u0142",
22912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
22922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
22932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15 */ "\u0123,\u011F",
22942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
22952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
22962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language sl: Slovenian */
22972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_sl = {
22982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
22992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null,
23002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~4 */
23012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
23022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u0161",
23032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ null,
23042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
23052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
23062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u010D,\u0107",
23072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ null,
23082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
23092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u0111",
23102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ null,
23112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ null,
23122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
23132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017E",
23142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
23152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
23162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language sr: Serbian */
23172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_sr = {
23182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
23192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
23202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
2321b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        null, null, null, null, null, null,
2322b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* ~35 */
23239ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // TODO: Move these to sr-Latn once we can handle IETF language tag with script name specified.
23249ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // BEGIN: More keys definitions for Serbian (Latin)
23259ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
23269ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
23279ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
23289ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // <string name="more_keys_for_s">&#x0161;,&#x00DF;,&#x015B;</string>
23299ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
23309ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
23319ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
23329ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // <string name="more_keys_for_c">&#x010D;,&#x00E7;,&#x0107;</string>
23339ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
23349ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // <string name="more_keys_for_d">&#x010F;</string>
23359ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
23369ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
23379ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
23389ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // <string name="more_keys_for_z">&#x017E;,&#x017A;,&#x017C;</string>
23399ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // END: More keys definitions for Serbian (Latin)
23409ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // BEGIN: More keys definitions for Serbian (Cyrillic)
23412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0437: "з" CYRILLIC SMALL LETTER ZE
2342b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 36 */ "\u0437",
23432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+045B: "ћ" CYRILLIC SMALL LETTER TSHE
2344b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 37 */ "\u045B",
23452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE
2346b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 38 */ "\u0455",
23472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0452: "ђ" CYRILLIC SMALL LETTER DJE
2348b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 39 */ "\u0452",
23492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE
2350b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 40 */ "\u0450",
23512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE
2352b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 41 */ "\u045D",
2353b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 42 */ null,
23549ecf63468652b68ee1003d04ce167c1586e03748Tadashi G. Takaoka        // END: More keys definitions for Serbian (Cyrillic)
23552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2018: "‘" LEFT SINGLE QUOTATION MARK
23562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+2019: "’" RIGHT SINGLE QUOTATION MARK
23572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
23582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
23592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201C: "“" LEFT DOUBLE QUOTATION MARK
23602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
23612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
23625e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
23635e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
23645e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201E;,&#x201C;,&#x201D;,&#x201F;,&#x00AB;,&#x00BB;</string>
2365b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 43 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB",
23665e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
23675e90f2873c92e14349bd781d69beff4f7b33e760Tadashi G. Takaoka        // <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
2368b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 44 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B",
23692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
23702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
23712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language sv: Swedish */
23722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_sv = {
23732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ null,
23742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
23752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
23762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
23772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
23782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
23792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119",
23802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ null,
23812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
23822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
23832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
23842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
23852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
23862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
23872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u0153,\u00F4,\u00F2,\u00F3,\u00F5,\u014D",
23882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
23892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
23902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
23912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
23922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
23932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
23942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
23952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
23962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
23972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u00DF,\u015B,\u0161",
23982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6~ */
23992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null,
24002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~19 */
24012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
24022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 20 */ "\u00E5",
24032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
24042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 21 */ "\u00F6",
24052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
24062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 22 */ "\u00E4",
24072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
24082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 23 */ "\u00F8",
24092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
24102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 24 */ "\u00E6",
24112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
24122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
2413a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka    /* Language sw: Swahili */
2414a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka    private static final String[] LANGUAGE_sw = {
241555c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        // This is the same as English except more_keys_for_g.
2416a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
2417a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
2418a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
2419a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
2420a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
2421a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
2422a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
2423a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
2424a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
2425a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
2426a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
2427a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
2428a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
2429a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
2430a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113",
2431a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
2432a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
2433a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
2434a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
2435a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
2436a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC",
2437a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
2438a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
2439a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
2440a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
2441a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
2442a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
2443a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
2444a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
2445a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5",
2446a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
2447a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
2448a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
2449a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
2450a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
2451a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B",
2452a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
2453a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 5 */ "\u00DF",
2454a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
2455a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 6 */ "\u00F1",
2456a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
2457a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 7 */ "\u00E7",
2458a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 8~ */
2459a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        null, null, null, null, null, null, null,
2460a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* ~14 */
2461a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        /* 15 */ "g\'",
2462a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka    };
2463a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka
2464a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka    /* Language tl: Tagalog */
2465a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka    private static final String[] LANGUAGE_tl = {
2466a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
2467a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
2468a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
2469a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
2470a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
2471a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
2472a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
2473a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
2474a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
2475a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
2476a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 0 */ "\u00E1,\u00E0,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA",
2477a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
2478a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
2479a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
2480a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
2481a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
2482a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
2483a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
2484a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 1 */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113",
2485a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
2486a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
2487a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
2488a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
2489a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
2490a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
2491a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
2492a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
2493a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
2494a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
2495a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
2496a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
2497a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
2498a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
2499a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
2500a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
2501a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 3 */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
2502a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
2503a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
2504a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
2505a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
2506a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
2507a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
2508a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 5 */ null,
2509a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
2510a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
2511a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 6 */ "\u00F1,\u0144",
2512a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
2513a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
2514a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
2515a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        /* 7 */ "\u00E7,\u0107,\u010D",
2516a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka    };
2517a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka
25182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language tr: Turkish */
25192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_tr = {
25202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
25212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E2",
25222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ null,
25232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
25242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
25252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
25262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
25272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
25282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
25292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
25302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
25312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
25322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
25332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
25342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
25352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
25362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
25372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
25382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
25392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F6,\u00F4,\u0153,\u00F2,\u00F3,\u00F5,\u00F8,\u014D",
25402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
25412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
25422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
25432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
25442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
25452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
25462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
25472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
25482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
25492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
25502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u015F,\u00DF,\u015B,\u0161",
25512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ null,
25522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
25532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
25542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
25552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u00E7,\u0107,\u010D",
25562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8~ */
25572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null,
25582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~14 */
25592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
25602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15 */ "\u011F",
25612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
25622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
25632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language uk: Ukrainian */
25642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_uk = {
25652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0~ */
25662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
25672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null, null, null, null, null, null, null, null,
25682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~24 */
25692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
25702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 25 */ "\u0449",
2571b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+0457: "ї" CYRILLIC SMALL LETTER YI
2572b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 26 */ "\u0457",
25732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
2574b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 27 */ "\u0456",
2575b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+0454: "є" CYRILLIC SMALL LETTER UKRAINIAN IE
2576b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 28 */ "\u0454",
25772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0438: "и" CYRILLIC SMALL LETTER I
2578b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 29 */ "\u0438",
2579b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 30 */ null,
2580b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 31 */ null,
2581b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        // U+0491: "ґ" CYRILLIC SMALL LETTER GHE WITH UPTURN
2582b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 32 */ "\u0491",
25832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0457: "ї" CYRILLIC SMALL LETTER YI
2584b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 33 */ "\u0457",
2585b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 34 */ null,
25862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
2587b98b9574243e0684efb1bb9e71d397b089c1ffebTadashi G. Takaoka        /* 35 */ "\u044A",
25882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
25892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
25902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language vi: Vietnamese */
25912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_vi = {
25922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
25932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
25942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EA3: "ả" LATIN SMALL LETTER A WITH HOOK ABOVE
25952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
25962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EA1: "ạ" LATIN SMALL LETTER A WITH DOT BELOW
25972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
25982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EB1: "ằ" LATIN SMALL LETTER A WITH BREVE AND GRAVE
25992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EAF: "ắ" LATIN SMALL LETTER A WITH BREVE AND ACUTE
26002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EB3: "ẳ" LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
26012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EB5: "ẵ" LATIN SMALL LETTER A WITH BREVE AND TILDE
26022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EB7: "ặ" LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
26032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
26042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EA7: "ầ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
26052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EA5: "ấ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
26062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EA9: "ẩ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
26072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EAB: "ẫ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
26082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EAD: "ậ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
26092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E0,\u00E1,\u1EA3,\u00E3,\u1EA1,\u0103,\u1EB1,\u1EAF,\u1EB3,\u1EB5,\u1EB7,\u00E2,\u1EA7,\u1EA5,\u1EA9,\u1EAB,\u1EAD",
26102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
26112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
26122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE
26132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE
26142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW
26152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
26162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
26172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
26182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
26192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
26202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
26212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E8,\u00E9,\u1EBB,\u1EBD,\u1EB9,\u00EA,\u1EC1,\u1EBF,\u1EC3,\u1EC5,\u1EC7",
26222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
26232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
26242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EC9: "ỉ" LATIN SMALL LETTER I WITH HOOK ABOVE
26252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
26262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW
26272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00EC,\u00ED,\u1EC9,\u0129,\u1ECB",
26282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
26292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
26302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ECF: "ỏ" LATIN SMALL LETTER O WITH HOOK ABOVE
26312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
26322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ECD: "ọ" LATIN SMALL LETTER O WITH DOT BELOW
26332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
26342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ED3: "ồ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
26352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ED1: "ố" LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
26362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ED5: "ổ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
26372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ED7: "ỗ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
26382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1ED9: "ộ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
26392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+01A1: "ơ" LATIN SMALL LETTER O WITH HORN
26402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EDD: "ờ" LATIN SMALL LETTER O WITH HORN AND GRAVE
26412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EDB: "ớ" LATIN SMALL LETTER O WITH HORN AND ACUTE
26422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EDF: "ở" LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
26432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EE1: "ỡ" LATIN SMALL LETTER O WITH HORN AND TILDE
26442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EE3: "ợ" LATIN SMALL LETTER O WITH HORN AND DOT BELOW
26452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F2,\u00F3,\u1ECF,\u00F5,\u1ECD,\u00F4,\u1ED3,\u1ED1,\u1ED5,\u1ED7,\u1ED9,\u01A1,\u1EDD,\u1EDB,\u1EDF,\u1EE1,\u1EE3",
26462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
26472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
26482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EE7: "ủ" LATIN SMALL LETTER U WITH HOOK ABOVE
26492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
26502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EE5: "ụ" LATIN SMALL LETTER U WITH DOT BELOW
26512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+01B0: "ư" LATIN SMALL LETTER U WITH HORN
26522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EEB: "ừ" LATIN SMALL LETTER U WITH HORN AND GRAVE
26532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EE9: "ứ" LATIN SMALL LETTER U WITH HORN AND ACUTE
26542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EED: "ử" LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
26552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EEF: "ữ" LATIN SMALL LETTER U WITH HORN AND TILDE
26562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EF1: "ự" LATIN SMALL LETTER U WITH HORN AND DOT BELOW
26572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00F9,\u00FA,\u1EE7,\u0169,\u1EE5,\u01B0,\u1EEB,\u1EE9,\u1EED,\u1EEF,\u1EF1",
26582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5~ */
26592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        null, null, null,
26602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* ~7 */
26612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE
26622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
26632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EF7: "ỷ" LATIN SMALL LETTER Y WITH HOOK ABOVE
26642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE
26652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW
26662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5",
26672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
26682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u0111",
26692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
26702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
267197c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka    /* Language zu: Zulu */
267297c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka    private static final String[] LANGUAGE_zu = {
267397c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // This is the same as English
267497c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
267597c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
267697c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
267797c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
267897c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
267997c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
268097c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
268197c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
268297c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
268397c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
268497c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
268597c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
268697c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
268797c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
268897c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113",
268997c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
269097c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
269197c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
269297c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
269397c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
269497c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC",
269597c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
269697c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
269797c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
269897c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
269997c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
270097c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
270197c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
270297c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
270397c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5",
270497c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
270597c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
270697c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
270797c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
270897c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
270997c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B",
271097c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
271197c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 5 */ "\u00DF",
271297c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
271397c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 6 */ "\u00F1",
271497c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
271597c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        /* 7 */ "\u00E7",
271697c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka    };
271797c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka
27182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    /* Language zz: No language */
27192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    private static final String[] LANGUAGE_zz = {
27202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
27212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
27222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
27232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
27242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
27252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
27262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E6: "æ" LATIN SMALL LETTER AE
27272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
27282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE
27292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK
27302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00AA: "ª" FEMININE ORDINAL INDICATOR
27312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E3,\u00E4,\u00E5,\u00E6,\u00E3,\u00E5,\u0101,\u0103,\u0105,\u00AA",
27322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
27332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
27342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
27352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
27362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
27372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE
27382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
27392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
27402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
27412be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113,\u0115,\u0117,\u0119,\u011B",
27422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
27432be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
27442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
27452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
27462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
27472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
27482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012D: "ĭ" LATIN SMALL LETTER I WITH BREVE
27492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
27502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
27512be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0133: "ij" LATIN SMALL LIGATURE IJ
27522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 2 */ "\u00EC,\u00ED,\u00EE,\u00EF,\u0129,\u012B,\u012D,\u012F,\u0131,\u0133",
27532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
27542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
27552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
27562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
27572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
27582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
27592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
27602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014F: "ŏ" LATIN SMALL LETTER O WITH BREVE
27612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
27622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0153: "œ" LATIN SMALL LIGATURE OE
27632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00BA: "º" MASCULINE ORDINAL INDICATOR
27642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u00F8,\u014D,\u014F,\u0151,\u0153,\u00BA",
27652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
27662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
27672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
27682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
27692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE
27702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
27712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE
27722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
27732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
27742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
27752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 4 */ "\u00F9,\u00FA,\u00FB,\u00FC,\u0169,\u016B,\u016D,\u016F,\u0171,\u0173",
27762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00DF: "ß" LATIN SMALL LETTER SHARP S
27772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
27782be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX
27792be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
27802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0161: "š" LATIN SMALL LETTER S WITH CARON
27812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017F: "ſ" LATIN SMALL LETTER LONG S
27822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 5 */ "\u00DF,\u015B,\u015D,\u015F,\u0161,\u017F",
27832be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
27842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
27852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
27862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
27872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
27882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+014B: "ŋ" LATIN SMALL LETTER ENG
27892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 6 */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B",
27902be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
27912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
27922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX
27932be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
27942be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010D: "č" LATIN SMALL LETTER C WITH CARON
27952be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 7 */ "\u00E7,\u0107,\u0109,\u010B,\u010D",
27962be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
27972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX
27982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
27992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0133: "ij" LATIN SMALL LIGATURE IJ
28002be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 8 */ "\u00FD,\u0177,\u00FF,\u0133",
28012be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
28022be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
28032be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00F0: "ð" LATIN SMALL LETTER ETH
28042be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 9 */ "\u010F,\u0111,\u00F0",
28052be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
28062be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
28072be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0159: "ř" LATIN SMALL LETTER R WITH CARON
28082be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 10 */ "\u0155,\u0157,\u0159",
28092be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+00FE: "þ" LATIN SMALL LETTER THORN
28102be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
28112be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0165: "ť" LATIN SMALL LETTER T WITH CARON
28122be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE
28132be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 11 */ "\u00FE,\u0163,\u0165,\u0167",
28142be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
28152be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
28162be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
28172be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 12 */ "\u017A,\u017C,\u017E",
28182be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA
28192be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0138: "ĸ" LATIN SMALL LETTER KRA
28202be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 13 */ "\u0137,\u0138",
28212be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
28222be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
28232be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
28242be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
28252be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
28262be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 14 */ "\u013A,\u013C,\u013E,\u0140,\u0142",
28272be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX
28282be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
28292be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE
28302be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
28312be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 15 */ "\u011D,\u011F,\u0121,\u0123",
28322be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 16 */ null,
28332be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX
28342be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 17 */ "\u0125",
28352be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX
28362be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 18 */ "\u0135",
28372be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX
28382be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        /* 19 */ "\u0175",
28392be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
28402be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
28416bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka    private static final Object[] LANGUAGES_AND_TEXTS = {
28422be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "DEFAULT", LANGUAGE_DEFAULT, /* default */
284355c01170c49cc8ebcb31ca70ac413ab469824e12Tadashi G. Takaoka        "af", LANGUAGE_af, /* Afrikaans */
28442be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "ar", LANGUAGE_ar, /* Arabic */
28452be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "be", LANGUAGE_be, /* Belarusian */
28462be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "ca", LANGUAGE_ca, /* Catalan */
28472be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "cs", LANGUAGE_cs, /* Czech */
28482be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "da", LANGUAGE_da, /* Danish */
28492be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "de", LANGUAGE_de, /* German */
28502be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "en", LANGUAGE_en, /* English */
2851eceea877bd45bb6498228b64dc69f5ad19798ca4Tadashi G. Takaoka        "eo", LANGUAGE_eo, /* Esperanto */
28522be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "es", LANGUAGE_es, /* Spanish */
28532be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "et", LANGUAGE_et, /* Estonian */
28542be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "fa", LANGUAGE_fa, /* Persian */
28552be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "fi", LANGUAGE_fi, /* Finnish */
28562be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "fr", LANGUAGE_fr, /* French */
28572be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "hi", LANGUAGE_hi, /* Hindi */
28582be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "hr", LANGUAGE_hr, /* Croatian */
28592be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "hu", LANGUAGE_hu, /* Hungarian */
28602be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "is", LANGUAGE_is, /* Icelandic */
28612be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "it", LANGUAGE_it, /* Italian */
28622be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "iw", LANGUAGE_iw, /* Hebrew */
28632be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "ky", LANGUAGE_ky, /* Kirghiz */
28642be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "lt", LANGUAGE_lt, /* Lithuanian */
28652be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "lv", LANGUAGE_lv, /* Latvian */
28662be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "mk", LANGUAGE_mk, /* Macedonian */
28672be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "nb", LANGUAGE_nb, /* Norwegian Bokmål */
28682be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "nl", LANGUAGE_nl, /* Dutch */
28692be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "pl", LANGUAGE_pl, /* Polish */
28702be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "pt", LANGUAGE_pt, /* Portuguese */
28712be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "rm", LANGUAGE_rm, /* Raeto-Romance */
28722be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "ro", LANGUAGE_ro, /* Romanian */
28732be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "ru", LANGUAGE_ru, /* Russian */
28742be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "sk", LANGUAGE_sk, /* Slovak */
28752be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "sl", LANGUAGE_sl, /* Slovenian */
28762be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "sr", LANGUAGE_sr, /* Serbian */
28772be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "sv", LANGUAGE_sv, /* Swedish */
2878a28f6c9a18e9eaea3798e15786ada2a6db526440Tadashi G. Takaoka        "sw", LANGUAGE_sw, /* Swahili */
2879a01d9aea64b24117ee167b94f8bdc176082b8783Tadashi G. Takaoka        "tl", LANGUAGE_tl, /* Tagalog */
28802be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "tr", LANGUAGE_tr, /* Turkish */
28812be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "uk", LANGUAGE_uk, /* Ukrainian */
28822be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "vi", LANGUAGE_vi, /* Vietnamese */
288397c8d288a8cdef93dbc9301e4f33e008345ae717Tadashi G. Takaoka        "zu", LANGUAGE_zu, /* Zulu */
28842be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        "zz", LANGUAGE_zz, /* No language */
28852be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    };
28862be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
28872be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    static {
28882be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        int id = 0;
28892be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        for (final String name : NAMES) {
28900a3362d26474cbd60bf870be7ad1413359e4fad6Tadashi G. Takaoka            sNameToIdsMap.put(name, id++);
28912be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        }
28922be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka
28936bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka        for (int i = 0; i < LANGUAGES_AND_TEXTS.length; i += 2) {
28946bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka            final String language = (String)LANGUAGES_AND_TEXTS[i];
28956bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka            final String[] texts = (String[])LANGUAGES_AND_TEXTS[i + 1];
28966bfd5f631908c4afd893c9b25b353e5e16c5fc0cTadashi G. Takaoka            sLocaleToTextsMap.put(language, texts);
28972be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka        }
28982be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka    }
28992be51f4fd0c5cd70c7a2757558ffe45e703700cfTadashi G. Takaoka}
2900