KeyboardTextsSet.java revision bcfcdae230e3aeb105dbcba7350ad1763b12d8df
1/* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.inputmethod.keyboard.internal; 18 19import android.content.Context; 20import android.content.res.Resources; 21 22import com.android.inputmethod.annotations.UsedForTesting; 23import com.android.inputmethod.latin.utils.CollectionUtils; 24 25import java.util.HashMap; 26 27/** 28 * !!!!! DO NOT EDIT THIS FILE !!!!! 29 * 30 * This file is generated by tools/make-keyboard-text. The base template file is 31 * tools/make-keyboard-text/res/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.tmpl 32 * 33 * This file must be updated when any text resources in keyboard layout files have been changed. 34 * These text resources are referred as "!text/<resource_name>" in keyboard XML definitions, 35 * and should be defined in 36 * tools/make-keyboard-text/res/values-<locale>/donottranslate-more-keys.xml 37 * 38 * To update this file, please run the following commands. 39 * $ cd $ANDROID_BUILD_TOP 40 * $ mmm packages/inputmethods/LatinIME/tools/make-keyboard-text 41 * $ make-keyboard-text -java packages/inputmethods/LatinIME/java/src 42 * 43 * The updated source file will be generated to the following path (this file). 44 * packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/internal/ 45 * KeyboardTextsSet.java 46 */ 47public final class KeyboardTextsSet { 48 // Language to texts map. 49 private static final HashMap<String, String[]> sLocaleToTextsMap = CollectionUtils.newHashMap(); 50 private static final HashMap<String, Integer> sNameToIdsMap = CollectionUtils.newHashMap(); 51 52 private String[] mTexts; 53 // Resource name to text map. 54 private HashMap<String, String> mResourceNameToTextsMap = CollectionUtils.newHashMap(); 55 56 public void setLanguage(final String language) { 57 mTexts = sLocaleToTextsMap.get(language); 58 if (mTexts == null) { 59 mTexts = LANGUAGE_DEFAULT; 60 } 61 } 62 63 public void loadStringResources(final Context context) { 64 final int referenceId = context.getApplicationInfo().labelRes; 65 loadStringResourcesInternal(context, RESOURCE_NAMES, referenceId); 66 } 67 68 @UsedForTesting 69 void loadStringResourcesInternal(final Context context, final String[] resourceNames, 70 final int referenceId) { 71 final Resources res = context.getResources(); 72 final String packageName = res.getResourcePackageName(referenceId); 73 for (final String resName : resourceNames) { 74 final int resId = res.getIdentifier(resName, "string", packageName); 75 mResourceNameToTextsMap.put(resName, res.getString(resId)); 76 } 77 } 78 79 public String getText(final String name) { 80 String text = mResourceNameToTextsMap.get(name); 81 if (text != null) { 82 return text; 83 } 84 final Integer id = sNameToIdsMap.get(name); 85 if (id == null) throw new RuntimeException("Unknown label: " + name); 86 text = (id < mTexts.length) ? mTexts[id] : null; 87 return (text == null) ? LANGUAGE_DEFAULT[id] : text; 88 } 89 90 private static final String[] RESOURCE_NAMES = { 91 // These texts' name should be aligned with the @string/<name> in values/strings.xml. 92 // Labels for action. 93 "label_go_key", 94 // "label_search_key", 95 "label_send_key", 96 "label_next_key", 97 "label_done_key", 98 "label_previous_key", 99 // Other labels. 100 "label_pause_key", 101 "label_wait_key", 102 }; 103 104 private static final String[] NAMES = { 105 /* 0 */ "more_keys_for_a", 106 /* 1 */ "more_keys_for_e", 107 /* 2 */ "more_keys_for_i", 108 /* 3 */ "more_keys_for_o", 109 /* 4 */ "more_keys_for_u", 110 /* 5 */ "more_keys_for_s", 111 /* 6 */ "more_keys_for_n", 112 /* 7 */ "more_keys_for_c", 113 /* 8 */ "more_keys_for_y", 114 /* 9 */ "more_keys_for_d", 115 /* 10 */ "more_keys_for_r", 116 /* 11 */ "more_keys_for_t", 117 /* 12 */ "more_keys_for_z", 118 /* 13 */ "more_keys_for_k", 119 /* 14 */ "more_keys_for_l", 120 /* 15 */ "more_keys_for_g", 121 /* 16 */ "more_keys_for_v", 122 /* 17 */ "more_keys_for_h", 123 /* 18 */ "more_keys_for_j", 124 /* 19 */ "more_keys_for_w", 125 /* 20 */ "keylabel_for_nordic_row1_11", 126 /* 21 */ "keylabel_for_nordic_row2_10", 127 /* 22 */ "keylabel_for_nordic_row2_11", 128 /* 23 */ "more_keys_for_nordic_row2_10", 129 /* 24 */ "more_keys_for_nordic_row2_11", 130 /* 25 */ "keylabel_for_east_slavic_row1_9", 131 /* 26 */ "keylabel_for_east_slavic_row1_12", 132 /* 27 */ "keylabel_for_east_slavic_row2_1", 133 /* 28 */ "keylabel_for_east_slavic_row2_11", 134 /* 29 */ "keylabel_for_east_slavic_row3_5", 135 /* 30 */ "more_keys_for_cyrillic_u", 136 /* 31 */ "more_keys_for_cyrillic_ka", 137 /* 32 */ "more_keys_for_cyrillic_en", 138 /* 33 */ "more_keys_for_cyrillic_ghe", 139 /* 34 */ "more_keys_for_east_slavic_row2_1", 140 /* 35 */ "more_keys_for_cyrillic_a", 141 /* 36 */ "more_keys_for_cyrillic_o", 142 /* 37 */ "more_keys_for_cyrillic_soft_sign", 143 /* 38 */ "more_keys_for_east_slavic_row2_11", 144 /* 39 */ "keylabel_for_south_slavic_row1_6", 145 /* 40 */ "keylabel_for_south_slavic_row2_11", 146 /* 41 */ "keylabel_for_south_slavic_row3_1", 147 /* 42 */ "keylabel_for_south_slavic_row3_8", 148 /* 43 */ "more_keys_for_cyrillic_ie", 149 /* 44 */ "more_keys_for_cyrillic_i", 150 /* 45 */ "label_to_alpha_key", 151 /* 46 */ "single_quotes", 152 /* 47 */ "double_quotes", 153 /* 48 */ "single_angle_quotes", 154 /* 49 */ "double_angle_quotes", 155 /* 50 */ "more_keys_for_currency_dollar", 156 /* 51 */ "keylabel_for_currency", 157 /* 52 */ "more_keys_for_currency", 158 /* 53 */ "more_keys_for_punctuation", 159 /* 54 */ "more_keys_for_star", 160 /* 55 */ "more_keys_for_bullet", 161 /* 56 */ "more_keys_for_plus", 162 /* 57 */ "more_keys_for_left_parenthesis", 163 /* 58 */ "more_keys_for_right_parenthesis", 164 /* 59 */ "more_keys_for_less_than", 165 /* 60 */ "more_keys_for_greater_than", 166 /* 61 */ "more_keys_for_arabic_diacritics", 167 /* 62 */ "keyhintlabel_for_arabic_diacritics", 168 /* 63 */ "keylabel_for_symbols_1", 169 /* 64 */ "keylabel_for_symbols_2", 170 /* 65 */ "keylabel_for_symbols_3", 171 /* 66 */ "keylabel_for_symbols_4", 172 /* 67 */ "keylabel_for_symbols_5", 173 /* 68 */ "keylabel_for_symbols_6", 174 /* 69 */ "keylabel_for_symbols_7", 175 /* 70 */ "keylabel_for_symbols_8", 176 /* 71 */ "keylabel_for_symbols_9", 177 /* 72 */ "keylabel_for_symbols_0", 178 /* 73 */ "label_to_symbol_key", 179 /* 74 */ "label_to_symbol_with_microphone_key", 180 /* 75 */ "additional_more_keys_for_symbols_1", 181 /* 76 */ "additional_more_keys_for_symbols_2", 182 /* 77 */ "additional_more_keys_for_symbols_3", 183 /* 78 */ "additional_more_keys_for_symbols_4", 184 /* 79 */ "additional_more_keys_for_symbols_5", 185 /* 80 */ "additional_more_keys_for_symbols_6", 186 /* 81 */ "additional_more_keys_for_symbols_7", 187 /* 82 */ "additional_more_keys_for_symbols_8", 188 /* 83 */ "additional_more_keys_for_symbols_9", 189 /* 84 */ "additional_more_keys_for_symbols_0", 190 /* 85 */ "more_keys_for_symbols_1", 191 /* 86 */ "more_keys_for_symbols_2", 192 /* 87 */ "more_keys_for_symbols_3", 193 /* 88 */ "more_keys_for_symbols_4", 194 /* 89 */ "more_keys_for_symbols_5", 195 /* 90 */ "more_keys_for_symbols_6", 196 /* 91 */ "more_keys_for_symbols_7", 197 /* 92 */ "more_keys_for_symbols_8", 198 /* 93 */ "more_keys_for_symbols_9", 199 /* 94 */ "more_keys_for_symbols_0", 200 /* 95 */ "keylabel_for_comma", 201 /* 96 */ "more_keys_for_comma", 202 /* 97 */ "keylabel_for_symbols_question", 203 /* 98 */ "keylabel_for_symbols_semicolon", 204 /* 99 */ "keylabel_for_symbols_percent", 205 /* 100 */ "more_keys_for_symbols_exclamation", 206 /* 101 */ "more_keys_for_symbols_question", 207 /* 102 */ "more_keys_for_symbols_semicolon", 208 /* 103 */ "more_keys_for_symbols_percent", 209 /* 104 */ "keylabel_for_tablet_comma", 210 /* 105 */ "keyhintlabel_for_tablet_comma", 211 /* 106 */ "more_keys_for_tablet_comma", 212 /* 107 */ "keyhintlabel_for_tablet_period", 213 /* 108 */ "more_keys_for_tablet_period", 214 /* 109 */ "keylabel_for_apostrophe", 215 /* 110 */ "keyhintlabel_for_apostrophe", 216 /* 111 */ "more_keys_for_apostrophe", 217 /* 112 */ "more_keys_for_q", 218 /* 113 */ "more_keys_for_x", 219 /* 114 */ "keylabel_for_q", 220 /* 115 */ "keylabel_for_w", 221 /* 116 */ "keylabel_for_y", 222 /* 117 */ "keylabel_for_x", 223 /* 118 */ "keylabel_for_spanish_row2_10", 224 /* 119 */ "more_keys_for_am_pm", 225 /* 120 */ "settings_as_more_key", 226 /* 121 */ "shortcut_as_more_key", 227 /* 122 */ "action_next_as_more_key", 228 /* 123 */ "action_previous_as_more_key", 229 /* 124 */ "label_tab_key", 230 /* 125 */ "label_to_phone_numeric_key", 231 /* 126 */ "label_to_phone_symbols_key", 232 /* 127 */ "label_time_am", 233 /* 128 */ "label_time_pm", 234 /* 129 */ "keylabel_for_popular_domain", 235 /* 130 */ "more_keys_for_popular_domain", 236 /* 131 */ "more_keys_for_smiley", 237 /* 132 */ "single_laqm_raqm", 238 /* 133 */ "single_laqm_raqm_rtl", 239 /* 134 */ "single_raqm_laqm", 240 /* 135 */ "double_laqm_raqm", 241 /* 136 */ "double_laqm_raqm_rtl", 242 /* 137 */ "double_raqm_laqm", 243 /* 138 */ "single_lqm_rqm", 244 /* 139 */ "single_9qm_lqm", 245 /* 140 */ "single_9qm_rqm", 246 /* 141 */ "double_lqm_rqm", 247 /* 142 */ "double_9qm_lqm", 248 /* 143 */ "double_9qm_rqm", 249 /* 144 */ "more_keys_for_single_quote", 250 /* 145 */ "more_keys_for_double_quote", 251 /* 146 */ "more_keys_for_tablet_double_quote", 252 }; 253 254 private static final String EMPTY = ""; 255 256 /* Default texts */ 257 private static final String[] LANGUAGE_DEFAULT = { 258 /* 0~ */ 259 EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, 260 EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, 261 EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, 262 EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, 263 /* ~44 */ 264 // Label for "switch to alphabetic" key. 265 /* 45 */ "ABC", 266 /* 46 */ "!text/single_lqm_rqm", 267 /* 47 */ "!text/double_lqm_rqm", 268 /* 48 */ "!text/single_laqm_raqm", 269 /* 49 */ "!text/double_laqm_raqm", 270 // U+00A2: "¢" CENT SIGN 271 // U+00A3: "£" POUND SIGN 272 // U+20AC: "€" EURO SIGN 273 // U+00A5: "¥" YEN SIGN 274 // U+20B1: "₱" PESO SIGN 275 /* 50 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1", 276 /* 51 */ "$", 277 /* 52 */ "$,\u00A2,\u20AC,\u00A3,\u00A5,\u20B1", 278 /* 53 */ "!fixedColumnOrder!3,!,\\,,?,:,;,@", 279 // U+2020: "†" DAGGER 280 // U+2021: "‡" DOUBLE DAGGER 281 // U+2605: "★" BLACK STAR 282 /* 54 */ "\u2020,\u2021,\u2605", 283 // U+266A: "♪" EIGHTH NOTE 284 // U+2665: "♥" BLACK HEART SUIT 285 // U+2660: "♠" BLACK SPADE SUIT 286 // U+2666: "♦" BLACK DIAMOND SUIT 287 // U+2663: "♣" BLACK CLUB SUIT 288 /* 55 */ "\u266A,\u2665,\u2660,\u2666,\u2663", 289 /* 56 */ EMPTY, 290 // The all letters need to be mirrored are found at 291 // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt 292 /* 57 */ "!fixedColumnOrder!3,<,{,[", 293 /* 58 */ "!fixedColumnOrder!3,>,},]", 294 // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK 295 // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 296 // U+2264: "≤" LESS-THAN OR EQUAL TO 297 // U+2265: "≥" GREATER-THAN EQUAL TO 298 // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 299 // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 300 /* 59 */ "!fixedColumnOrder!3,\u2039,\u2264,\u00AB", 301 /* 60 */ "!fixedColumnOrder!3,\u203A,\u2265,\u00BB", 302 /* 61 */ EMPTY, 303 /* 62 */ EMPTY, 304 /* 63 */ "1", 305 /* 64 */ "2", 306 /* 65 */ "3", 307 /* 66 */ "4", 308 /* 67 */ "5", 309 /* 68 */ "6", 310 /* 69 */ "7", 311 /* 70 */ "8", 312 /* 71 */ "9", 313 /* 72 */ "0", 314 // Label for "switch to symbols" key. 315 /* 73 */ "?123", 316 // Label for "switch to symbols with microphone" key. This string shouldn't include the "mic" 317 // part because it'll be appended by the code. 318 /* 74 */ "123", 319 /* 75~ */ 320 EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, 321 /* ~84 */ 322 // U+00B9: "¹" SUPERSCRIPT ONE 323 // U+00BD: "½" VULGAR FRACTION ONE HALF 324 // U+2153: "⅓" VULGAR FRACTION ONE THIRD 325 // U+00BC: "¼" VULGAR FRACTION ONE QUARTER 326 // U+215B: "⅛" VULGAR FRACTION ONE EIGHTH 327 /* 85 */ "\u00B9,\u00BD,\u2153,\u00BC,\u215B", 328 // U+00B2: "²" SUPERSCRIPT TWO 329 // U+2154: "⅔" VULGAR FRACTION TWO THIRDS 330 /* 86 */ "\u00B2,\u2154", 331 // U+00B3: "³" SUPERSCRIPT THREE 332 // U+00BE: "¾" VULGAR FRACTION THREE QUARTERS 333 // U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS 334 /* 87 */ "\u00B3,\u00BE,\u215C", 335 // U+2074: "⁴" SUPERSCRIPT FOUR 336 /* 88 */ "\u2074", 337 // U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS 338 /* 89 */ "\u215D", 339 /* 90 */ EMPTY, 340 // U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS 341 /* 91 */ "\u215E", 342 /* 92 */ EMPTY, 343 /* 93 */ EMPTY, 344 // U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N 345 // U+2205: "∅" EMPTY SET 346 /* 94 */ "\u207F,\u2205", 347 /* 95 */ ",", 348 /* 96 */ EMPTY, 349 /* 97 */ "?", 350 /* 98 */ ";", 351 /* 99 */ "%", 352 // U+00A1: "¡" INVERTED EXCLAMATION MARK 353 /* 100 */ "\u00A1", 354 // U+00BF: "¿" INVERTED QUESTION MARK 355 /* 101 */ "\u00BF", 356 /* 102 */ EMPTY, 357 // U+2030: "‰" PER MILLE SIGN 358 /* 103 */ "\u2030", 359 /* 104 */ ",", 360 /* 105 */ "!", 361 /* 106 */ "!", 362 /* 107 */ "?", 363 /* 108 */ "?", 364 /* 109 */ "\'", 365 /* 110 */ "\"", 366 /* 111 */ "\"", 367 /* 112 */ EMPTY, 368 /* 113 */ EMPTY, 369 /* 114 */ "q", 370 /* 115 */ "w", 371 /* 116 */ "y", 372 /* 117 */ "x", 373 /* 118 */ EMPTY, 374 /* 119 */ "!fixedColumnOrder!2,!hasLabels!,!text/label_time_am,!text/label_time_pm", 375 /* 120 */ "!icon/settings_key|!code/key_settings", 376 /* 121 */ "!icon/shortcut_key|!code/key_shortcut", 377 /* 122 */ "!hasLabels!,!text/label_next_key|!code/key_action_next", 378 /* 123 */ "!hasLabels!,!text/label_previous_key|!code/key_action_previous", 379 // Label for "Tab" key. Must be short to fit on key! 380 /* 124 */ "Tab", 381 // Label for "switch to phone numeric" key. Must be short to fit on key! 382 /* 125 */ "123", 383 // Label for "switch to phone symbols" key. Must be short to fit on key! 384 // U+FF0A: "*" FULLWIDTH ASTERISK 385 // U+FF03: "#" FULLWIDTH NUMBER SIGN 386 /* 126 */ "\uFF0A\uFF03", 387 // Key label for "ante meridiem" 388 /* 127 */ "AM", 389 // Key label for "post meridiem" 390 /* 128 */ "PM", 391 /* 129 */ ".com", 392 // popular web domains for the locale - most popular, displayed on the keyboard 393 /* 130 */ "!hasLabels!,.net,.org,.gov,.edu", 394 /* 131 */ "!fixedColumnOrder!5,!hasLabels!,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ ", 395 // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK 396 // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 397 // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 398 // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 399 // The following characters don't need BIDI mirroring. 400 // U+2018: "‘" LEFT SINGLE QUOTATION MARK 401 // U+2019: "’" RIGHT SINGLE QUOTATION MARK 402 // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK 403 // U+201C: "“" LEFT DOUBLE QUOTATION MARK 404 // U+201D: "”" RIGHT DOUBLE QUOTATION MARK 405 // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK 406 // Abbreviations are: 407 // laqm: LEFT-POINTING ANGLE QUOTATION MARK 408 // raqm: RIGHT-POINTING ANGLE QUOTATION MARK 409 // rtl: Right-To-Left script order 410 // lqm: LEFT QUOTATION MARK 411 // rqm: RIGHT QUOTATION MARK 412 // 9qm: LOW-9 QUOTATION MARK 413 // The following each quotation mark pair consist of 414 // <opening quotation mark>, <closing quotation mark> 415 // and is named after (single|double)_<opening quotation mark>_<closing quotation mark>. 416 /* 132 */ "\u2039,\u203A", 417 /* 133 */ "\u2039|\u203A,\u203A|\u2039", 418 /* 134 */ "\u203A,\u2039", 419 /* 135 */ "\u00AB,\u00BB", 420 /* 136 */ "\u00AB|\u00BB,\u00BB|\u00AB", 421 /* 137 */ "\u00BB,\u00AB", 422 // The following each quotation mark triplet consists of 423 // <another quotation mark>, <opening quotation mark>, <closing quotation mark> 424 // and is named after (single|double)_<opening quotation mark>_<closing quotation mark>. 425 /* 138 */ "\u201A,\u2018,\u2019", 426 /* 139 */ "\u2019,\u201A,\u2018", 427 /* 140 */ "\u2018,\u201A,\u2019", 428 /* 141 */ "\u201E,\u201C,\u201D", 429 /* 142 */ "\u201D,\u201E,\u201C", 430 /* 143 */ "\u201C,\u201E,\u201D", 431 /* 144 */ "!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes", 432 /* 145 */ "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes", 433 /* 146 */ "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes", 434 }; 435 436 /* Language af: Afrikaans */ 437 private static final String[] LANGUAGE_af = { 438 // This is the same as Dutch except more keys of y and demoting vowels with diaeresis. 439 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 440 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 441 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 442 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 443 // U+00E6: "æ" LATIN SMALL LETTER AE 444 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 445 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 446 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 447 /* 0 */ "\u00E1,\u00E2,\u00E4,\u00E0,\u00E6,\u00E3,\u00E5,\u0101", 448 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 449 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 450 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 451 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 452 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 453 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 454 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 455 /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113", 456 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 457 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 458 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 459 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 460 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 461 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 462 // U+0133: "ij" LATIN SMALL LIGATURE IJ 463 /* 2 */ "\u00ED,\u00EC,\u00EF,\u00EE,\u012F,\u012B,\u0133", 464 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 465 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 466 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 467 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 468 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 469 // U+0153: "œ" LATIN SMALL LIGATURE OE 470 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 471 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 472 /* 3 */ "\u00F3,\u00F4,\u00F6,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 473 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 474 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 475 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 476 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 477 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 478 /* 4 */ "\u00FA,\u00FB,\u00FC,\u00F9,\u016B", 479 /* 5 */ null, 480 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 481 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 482 /* 6 */ "\u00F1,\u0144", 483 /* 7 */ null, 484 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 485 // U+0133: "ij" LATIN SMALL LIGATURE IJ 486 /* 8 */ "\u00FD,\u0133", 487 }; 488 489 /* Language ar: Arabic */ 490 private static final String[] LANGUAGE_ar = { 491 /* 0~ */ 492 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 493 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 494 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 495 /* ~44 */ 496 // Label for "switch to alphabetic" key. 497 // U+0623: "ا" ARABIC LETTER ALEF 498 // U+200C: ZERO WIDTH NON-JOINER 499 // U+0628: "ب" ARABIC LETTER BEH 500 // U+062C: "پ" ARABIC LETTER PEH 501 /* 45 */ "\u0623\u200C\u0628\u200C\u062C", 502 /* 46 */ null, 503 /* 47 */ null, 504 /* 48 */ "!text/single_laqm_raqm_rtl", 505 /* 49 */ "!text/double_laqm_raqm_rtl", 506 /* 50~ */ 507 null, null, null, 508 /* ~52 */ 509 // U+061F: "؟" ARABIC QUESTION MARK 510 // U+060C: "،" ARABIC COMMA 511 // U+061B: "؛" ARABIC SEMICOLON 512 /* 53 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(|),)|(", 513 // U+2605: "★" BLACK STAR 514 // U+066D: "٭" ARABIC FIVE POINTED STAR 515 /* 54 */ "\u2605,\u066D", 516 // U+266A: "♪" EIGHTH NOTE 517 /* 55 */ "\u266A", 518 /* 56 */ null, 519 // The all letters need to be mirrored are found at 520 // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt 521 // U+FD3E: "﴾" ORNATE LEFT PARENTHESIS 522 // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS 523 /* 57 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]", 524 /* 58 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[", 525 // U+2264: "≤" LESS-THAN OR EQUAL TO 526 // U+2265: "≥" GREATER-THAN EQUAL TO 527 // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 528 // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 529 // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK 530 // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 531 /* 59 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB", 532 /* 60 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB", 533 // U+0655: "ٕ" ARABIC HAMZA BELOW 534 // U+0654: "ٔ" ARABIC HAMZA ABOVE 535 // U+0652: "ْ" ARABIC SUKUN 536 // U+064D: "ٍ" ARABIC KASRATAN 537 // U+064C: "ٌ" ARABIC DAMMATAN 538 // U+064B: "ً" ARABIC FATHATAN 539 // U+0651: "ّ" ARABIC SHADDA 540 // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF 541 // U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF 542 // U+0653: "ٓ" ARABIC MADDAH ABOVE 543 // U+0650: "ِ" ARABIC KASRA 544 // U+064F: "ُ" ARABIC DAMMA 545 // U+064E: "َ" ARABIC FATHA 546 // U+0640: "ـ" ARABIC TATWEEL 547 // In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. 548 // Note: The space character is needed as a preceding letter to draw Arabic diacritics characters correctly. 549 /* 61 */ "!fixedColumnOrder!7, \u0655|\u0655, \u0654|\u0654, \u0652|\u0652, \u064D|\u064D, \u064C|\u064C, \u064B|\u064B, \u0651|\u0651, \u0656|\u0656, \u0670|\u0670, \u0653|\u0653, \u0650|\u0650, \u064F|\u064F, \u064E|\u064E,\u0640\u0640\u0640|\u0640", 550 /* 62 */ "\u0651", 551 // U+0661: "١" ARABIC-INDIC DIGIT ONE 552 /* 63 */ "\u0661", 553 // U+0662: "٢" ARABIC-INDIC DIGIT TWO 554 /* 64 */ "\u0662", 555 // U+0663: "٣" ARABIC-INDIC DIGIT THREE 556 /* 65 */ "\u0663", 557 // U+0664: "٤" ARABIC-INDIC DIGIT FOUR 558 /* 66 */ "\u0664", 559 // U+0665: "٥" ARABIC-INDIC DIGIT FIVE 560 /* 67 */ "\u0665", 561 // U+0666: "٦" ARABIC-INDIC DIGIT SIX 562 /* 68 */ "\u0666", 563 // U+0667: "٧" ARABIC-INDIC DIGIT SEVEN 564 /* 69 */ "\u0667", 565 // U+0668: "٨" ARABIC-INDIC DIGIT EIGHT 566 /* 70 */ "\u0668", 567 // U+0669: "٩" ARABIC-INDIC DIGIT NINE 568 /* 71 */ "\u0669", 569 // U+0660: "٠" ARABIC-INDIC DIGIT ZERO 570 /* 72 */ "\u0660", 571 // Label for "switch to symbols" key. 572 // U+061F: "؟" ARABIC QUESTION MARK 573 /* 73 */ "\u0663\u0662\u0661\u061F", 574 // Label for "switch to symbols with microphone" key. This string shouldn't include the "mic" 575 // part because it'll be appended by the code. 576 /* 74 */ "\u0663\u0662\u0661", 577 /* 75 */ "1", 578 /* 76 */ "2", 579 /* 77 */ "3", 580 /* 78 */ "4", 581 /* 79 */ "5", 582 /* 80 */ "6", 583 /* 81 */ "7", 584 /* 82 */ "8", 585 /* 83 */ "9", 586 // U+066B: "٫" ARABIC DECIMAL SEPARATOR 587 // U+066C: "٬" ARABIC THOUSANDS SEPARATOR 588 /* 84 */ "0,\u066B,\u066C", 589 /* 85~ */ 590 null, null, null, null, null, null, null, null, null, null, 591 /* ~94 */ 592 // U+060C: "،" ARABIC COMMA 593 /* 95 */ "\u060C", 594 /* 96 */ "\\,", 595 /* 97 */ "\u061F", 596 /* 98 */ "\u061B", 597 // U+066A: "٪" ARABIC PERCENT SIGN 598 /* 99 */ "\u066A", 599 /* 100 */ null, 600 /* 101 */ "?", 601 /* 102 */ ";", 602 // U+2030: "‰" PER MILLE SIGN 603 /* 103 */ "\\%,\u2030", 604 /* 104~ */ 605 null, null, null, null, null, 606 /* ~108 */ 607 // U+060C: "،" ARABIC COMMA 608 // U+061B: "؛" ARABIC SEMICOLON 609 // U+061F: "؟" ARABIC QUESTION MARK 610 /* 109 */ "\u060C", 611 /* 110 */ "\u061F", 612 /* 111 */ "\u061F,\u061B,!,:,-,/,\',\"", 613 }; 614 615 /* Language az: Azerbaijani */ 616 private static final String[] LANGUAGE_az = { 617 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 618 /* 0 */ "\u00E2", 619 // U+0259: "ə" LATIN SMALL LETTER SCHWA 620 /* 1 */ "\u0259", 621 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 622 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 623 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 624 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 625 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 626 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 627 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 628 /* 2 */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", 629 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 630 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 631 // U+0153: "œ" LATIN SMALL LIGATURE OE 632 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 633 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 634 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 635 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 636 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 637 /* 3 */ "\u00F6,\u00F4,\u0153,\u00F2,\u00F3,\u00F5,\u00F8,\u014D", 638 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 639 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 640 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 641 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 642 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 643 /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B", 644 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 645 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 646 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 647 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 648 /* 5 */ "\u015F,\u00DF,\u015B,\u0161", 649 /* 6 */ null, 650 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 651 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 652 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 653 /* 7 */ "\u00E7,\u0107,\u010D", 654 /* 8~ */ 655 null, null, null, null, null, null, null, 656 /* ~14 */ 657 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 658 /* 15 */ "\u011F", 659 }; 660 661 /* Language be: Belarusian */ 662 private static final String[] LANGUAGE_be = { 663 /* 0~ */ 664 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 665 null, null, null, null, null, null, null, null, null, null, 666 /* ~24 */ 667 // U+045E: "ў" CYRILLIC SMALL LETTER SHORT U 668 /* 25 */ "\u045E", 669 // U+0451: "ё" CYRILLIC SMALL LETTER IO 670 /* 26 */ "\u0451", 671 // U+044B: "ы" CYRILLIC SMALL LETTER YERU 672 /* 27 */ "\u044B", 673 // U+044D: "э" CYRILLIC SMALL LETTER E 674 /* 28 */ "\u044D", 675 // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 676 /* 29 */ "\u0456", 677 /* 30~ */ 678 null, null, null, null, null, null, null, 679 /* ~36 */ 680 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 681 /* 37 */ "\u044A", 682 /* 38~ */ 683 null, null, null, null, null, 684 /* ~42 */ 685 // U+0451: "ё" CYRILLIC SMALL LETTER IO 686 /* 43 */ "\u0451", 687 /* 44 */ null, 688 // Label for "switch to alphabetic" key. 689 // U+0410: "А" CYRILLIC CAPITAL LETTER A 690 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 691 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 692 /* 45 */ "\u0410\u0411\u0412", 693 /* 46 */ "!text/single_9qm_lqm", 694 /* 47 */ "!text/double_9qm_lqm", 695 }; 696 697 /* Language bg: Bulgarian */ 698 private static final String[] LANGUAGE_bg = { 699 /* 0~ */ 700 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 701 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 702 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 703 /* ~44 */ 704 // Label for "switch to alphabetic" key. 705 // U+0410: "А" CYRILLIC CAPITAL LETTER A 706 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 707 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 708 /* 45 */ "\u0410\u0411\u0412", 709 /* 46 */ null, 710 // single_quotes of Bulgarian is default single_quotes_right_left. 711 /* 47 */ "!text/double_9qm_lqm", 712 }; 713 714 /* Language ca: Catalan */ 715 private static final String[] LANGUAGE_ca = { 716 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 717 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 718 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 719 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 720 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 721 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 722 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 723 // U+00E6: "æ" LATIN SMALL LETTER AE 724 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 725 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 726 /* 0 */ "\u00E0,\u00E1,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA", 727 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 728 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 729 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 730 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 731 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 732 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 733 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 734 /* 1 */ "\u00E8,\u00E9,\u00EB,\u00EA,\u0119,\u0117,\u0113", 735 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 736 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 737 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 738 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 739 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 740 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 741 /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", 742 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 743 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 744 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 745 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 746 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 747 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 748 // U+0153: "œ" LATIN SMALL LIGATURE OE 749 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 750 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 751 /* 3 */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA", 752 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 753 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 754 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 755 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 756 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 757 /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B", 758 /* 5 */ null, 759 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 760 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 761 /* 6 */ "\u00F1,\u0144", 762 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 763 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 764 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 765 /* 7 */ "\u00E7,\u0107,\u010D", 766 /* 8~ */ 767 null, null, null, null, null, null, 768 /* ~13 */ 769 // U+00B7: "·" MIDDLE DOT 770 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 771 /* 14 */ "l\u00B7l,\u0142", 772 /* 15~ */ 773 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 774 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 775 null, null, null, null, null, null, null, null, 776 /* ~52 */ 777 // U+00B7: "·" MIDDLE DOT 778 /* 53 */ "!fixedColumnOrder!4,\u00B7,!,\\,,?,:,;,@", 779 /* 54~ */ 780 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 781 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 782 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 783 null, null, null, null, null, null, null, null, null, 784 /* ~107 */ 785 /* 108 */ "?,\u00B7", 786 /* 109~ */ 787 null, null, null, null, null, null, null, null, null, 788 /* ~117 */ 789 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 790 /* 118 */ "\u00E7", 791 }; 792 793 /* Language cs: Czech */ 794 private static final String[] LANGUAGE_cs = { 795 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 796 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 797 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 798 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 799 // U+00E6: "æ" LATIN SMALL LETTER AE 800 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 801 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 802 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 803 /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 804 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 805 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 806 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 807 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 808 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 809 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 810 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 811 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 812 /* 1 */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113", 813 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 814 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 815 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 816 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 817 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 818 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 819 /* 2 */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B", 820 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 821 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 822 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 823 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 824 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 825 // U+0153: "œ" LATIN SMALL LIGATURE OE 826 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 827 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 828 /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 829 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 830 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 831 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 832 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 833 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 834 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 835 /* 4 */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B", 836 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 837 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 838 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 839 /* 5 */ "\u0161,\u00DF,\u015B", 840 // U+0148: "ň" LATIN SMALL LETTER N WITH CARON 841 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 842 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 843 /* 6 */ "\u0148,\u00F1,\u0144", 844 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 845 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 846 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 847 /* 7 */ "\u010D,\u00E7,\u0107", 848 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 849 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 850 /* 8 */ "\u00FD,\u00FF", 851 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 852 /* 9 */ "\u010F", 853 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 854 /* 10 */ "\u0159", 855 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 856 /* 11 */ "\u0165", 857 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 858 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 859 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 860 /* 12 */ "\u017E,\u017A,\u017C", 861 /* 13~ */ 862 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 863 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 864 null, null, null, 865 /* ~45 */ 866 /* 46 */ "!text/single_9qm_lqm", 867 /* 47 */ "!text/double_9qm_lqm", 868 /* 48 */ "!text/single_raqm_laqm", 869 /* 49 */ "!text/double_raqm_laqm", 870 }; 871 872 /* Language da: Danish */ 873 private static final String[] LANGUAGE_da = { 874 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 875 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 876 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 877 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 878 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 879 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 880 /* 0 */ "\u00E1,\u00E4,\u00E0,\u00E2,\u00E3,\u0101", 881 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 882 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 883 /* 1 */ "\u00E9,\u00EB", 884 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 885 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 886 /* 2 */ "\u00ED,\u00EF", 887 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 888 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 889 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 890 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 891 // U+0153: "œ" LATIN SMALL LIGATURE OE 892 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 893 /* 3 */ "\u00F3,\u00F4,\u00F2,\u00F5,\u0153,\u014D", 894 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 895 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 896 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 897 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 898 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 899 /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B", 900 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 901 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 902 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 903 /* 5 */ "\u00DF,\u015B,\u0161", 904 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 905 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 906 /* 6 */ "\u00F1,\u0144", 907 /* 7 */ null, 908 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 909 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 910 /* 8 */ "\u00FD,\u00FF", 911 // U+00F0: "ð" LATIN SMALL LETTER ETH 912 /* 9 */ "\u00F0", 913 /* 10~ */ 914 null, null, null, null, 915 /* ~13 */ 916 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 917 /* 14 */ "\u0142", 918 /* 15~ */ 919 null, null, null, null, null, 920 /* ~19 */ 921 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 922 /* 20 */ "\u00E5", 923 // U+00E6: "æ" LATIN SMALL LETTER AE 924 /* 21 */ "\u00E6", 925 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 926 /* 22 */ "\u00F8", 927 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 928 /* 23 */ "\u00E4", 929 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 930 /* 24 */ "\u00F6", 931 /* 25~ */ 932 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 933 null, null, null, null, null, null, 934 /* ~45 */ 935 /* 46 */ "!text/single_9qm_lqm", 936 /* 47 */ "!text/double_9qm_lqm", 937 /* 48 */ "!text/single_raqm_laqm", 938 /* 49 */ "!text/double_raqm_laqm", 939 }; 940 941 /* Language de: German */ 942 private static final String[] LANGUAGE_de = { 943 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 944 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 945 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 946 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 947 // U+00E6: "æ" LATIN SMALL LETTER AE 948 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 949 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 950 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 951 /* 0 */ "\u00E4,\u00E2,\u00E0,\u00E1,\u00E6,\u00E3,\u00E5,\u0101", 952 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 953 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 954 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 955 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 956 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 957 /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0117", 958 /* 2 */ null, 959 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 960 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 961 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 962 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 963 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 964 // U+0153: "œ" LATIN SMALL LIGATURE OE 965 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 966 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 967 /* 3 */ "\u00F6,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u00F8,\u014D", 968 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 969 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 970 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 971 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 972 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 973 /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B", 974 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 975 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 976 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 977 /* 5 */ "\u00DF,\u015B,\u0161", 978 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 979 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 980 /* 6 */ "\u00F1,\u0144", 981 /* 7~ */ 982 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 983 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 984 null, null, null, null, null, null, null, null, null, 985 /* ~45 */ 986 /* 46 */ "!text/single_9qm_lqm", 987 /* 47 */ "!text/double_9qm_lqm", 988 /* 48 */ "!text/single_raqm_laqm", 989 /* 49 */ "!text/double_raqm_laqm", 990 }; 991 992 /* Language el: Greek */ 993 private static final String[] LANGUAGE_el = { 994 /* 0~ */ 995 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 996 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 997 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 998 /* ~44 */ 999 // Label for "switch to alphabetic" key. 1000 // U+0391: "Α" GREEK CAPITAL LETTER ALPHA 1001 // U+0392: "Β" GREEK CAPITAL LETTER BETA 1002 // U+0393: "Γ" GREEK CAPITAL LETTER GAMMA 1003 /* 45 */ "\u0391\u0392\u0393", 1004 }; 1005 1006 /* Language en: English */ 1007 private static final String[] LANGUAGE_en = { 1008 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1009 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1010 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1011 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1012 // U+00E6: "æ" LATIN SMALL LETTER AE 1013 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1014 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1015 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1016 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 1017 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1018 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1019 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1020 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1021 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1022 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113", 1023 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1024 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1025 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1026 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1027 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1028 /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC", 1029 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1030 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1031 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1032 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1033 // U+0153: "œ" LATIN SMALL LIGATURE OE 1034 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1035 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1036 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1037 /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5", 1038 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1039 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1040 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1041 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1042 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1043 /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B", 1044 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 1045 /* 5 */ "\u00DF", 1046 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 1047 /* 6 */ "\u00F1", 1048 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 1049 /* 7 */ "\u00E7", 1050 }; 1051 1052 /* Language eo: Esperanto */ 1053 private static final String[] LANGUAGE_eo = { 1054 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1055 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1056 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1057 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1058 // U+00E6: "æ" LATIN SMALL LETTER AE 1059 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1060 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1061 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1062 // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE 1063 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 1064 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 1065 /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101,\u0103,\u0105,\u00AA", 1066 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1067 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 1068 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1069 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1070 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1071 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 1072 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 1073 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1074 /* 1 */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113", 1075 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1076 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1077 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1078 // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE 1079 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1080 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 1081 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1082 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 1083 // U+0133: "ij" LATIN SMALL LIGATURE IJ 1084 /* 2 */ "\u00ED,\u00EE,\u00EF,\u0129,\u00EC,\u012F,\u012B,\u0131,\u0133", 1085 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1086 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1087 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1088 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1089 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1090 // U+0153: "œ" LATIN SMALL LIGATURE OE 1091 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1092 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1093 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 1094 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 1095 /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D,\u0151,\u00BA", 1096 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1097 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 1098 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1099 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1100 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1101 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1102 // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE 1103 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 1104 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 1105 // U+00B5: "µ" MICRO SIGN 1106 /* 4 */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B,\u0169,\u0171,\u0173,\u00B5", 1107 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 1108 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 1109 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 1110 // U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW 1111 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 1112 /* 5 */ "\u00DF,\u0161,\u015B,\u0219,\u015F", 1113 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 1114 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 1115 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 1116 // U+0148: "ň" LATIN SMALL LETTER N WITH CARON 1117 // U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE 1118 // U+014B: "ŋ" LATIN SMALL LETTER ENG 1119 /* 6 */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B", 1120 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 1121 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 1122 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 1123 // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE 1124 /* 7 */ "\u0107,\u010D,\u00E7,\u010B", 1125 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 1126 // U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX 1127 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 1128 // U+00FE: "þ" LATIN SMALL LETTER THORN 1129 /* 8 */ "y,\u00FD,\u0177,\u00FF,\u00FE", 1130 // U+00F0: "ð" LATIN SMALL LETTER ETH 1131 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 1132 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 1133 /* 9 */ "\u00F0,\u010F,\u0111", 1134 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 1135 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 1136 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 1137 /* 10 */ "\u0159,\u0155,\u0157", 1138 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 1139 // U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW 1140 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 1141 // U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE 1142 /* 11 */ "\u0165,\u021B,\u0163,\u0167", 1143 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 1144 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 1145 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 1146 /* 12 */ "\u017A,\u017C,\u017E", 1147 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 1148 // U+0138: "ĸ" LATIN SMALL LETTER KRA 1149 /* 13 */ "\u0137,\u0138", 1150 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 1151 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 1152 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 1153 // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT 1154 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 1155 /* 14 */ "\u013A,\u013C,\u013E,\u0140,\u0142", 1156 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 1157 // U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE 1158 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 1159 /* 15 */ "\u011F,\u0121,\u0123", 1160 // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX 1161 /* 16 */ "w,\u0175", 1162 // U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX 1163 // U+0127: "ħ" LATIN SMALL LETTER H WITH STROKE 1164 /* 17 */ "\u0125,\u0127", 1165 /* 18 */ null, 1166 // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX 1167 /* 19 */ "w,\u0175", 1168 /* 20~ */ 1169 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1170 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1171 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1172 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1173 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1174 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1175 null, null, 1176 /* ~111 */ 1177 /* 112 */ "q", 1178 /* 113 */ "x", 1179 // U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX 1180 /* 114 */ "\u015D", 1181 // U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX 1182 /* 115 */ "\u011D", 1183 // U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE 1184 /* 116 */ "\u016D", 1185 // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX 1186 /* 117 */ "\u0109", 1187 // U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX 1188 /* 118 */ "\u0135", 1189 }; 1190 1191 /* Language es: Spanish */ 1192 private static final String[] LANGUAGE_es = { 1193 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1194 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1195 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1196 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1197 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1198 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1199 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 1200 // U+00E6: "æ" LATIN SMALL LETTER AE 1201 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1202 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 1203 /* 0 */ "\u00E1,\u00E0,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA", 1204 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1205 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1206 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1207 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1208 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 1209 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 1210 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1211 /* 1 */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113", 1212 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1213 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1214 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1215 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1216 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 1217 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1218 /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", 1219 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1220 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1221 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1222 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1223 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1224 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1225 // U+0153: "œ" LATIN SMALL LIGATURE OE 1226 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1227 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 1228 /* 3 */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA", 1229 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1230 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1231 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1232 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1233 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1234 /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B", 1235 /* 5 */ null, 1236 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 1237 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 1238 /* 6 */ "\u00F1,\u0144", 1239 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 1240 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 1241 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 1242 /* 7 */ "\u00E7,\u0107,\u010D", 1243 /* 8~ */ 1244 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1245 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1246 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1247 /* ~52 */ 1248 // U+00A1: "¡" INVERTED EXCLAMATION MARK 1249 // U+00BF: "¿" INVERTED QUESTION MARK 1250 /* 53 */ "!fixedColumnOrder!4,;,!,\\,,?,:,\u00A1,@,\u00BF", 1251 /* 54~ */ 1252 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1253 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1254 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1255 null, null, null, null, null, null, null, 1256 /* ~105 */ 1257 // U+00A1: "¡" INVERTED EXCLAMATION MARK 1258 /* 106 */ "!,\u00A1", 1259 /* 107 */ null, 1260 // U+00BF: "¿" INVERTED QUESTION MARK 1261 /* 108 */ "?,\u00BF", 1262 /* 109 */ "\"", 1263 /* 110 */ "\'", 1264 /* 111 */ "\'", 1265 /* 112~ */ 1266 null, null, null, null, null, null, 1267 /* ~117 */ 1268 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 1269 /* 118 */ "\u00F1", 1270 }; 1271 1272 /* Language et: Estonian */ 1273 private static final String[] LANGUAGE_et = { 1274 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1275 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1276 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1277 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1278 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1279 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1280 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1281 // U+00E6: "æ" LATIN SMALL LETTER AE 1282 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 1283 /* 0 */ "\u00E4,\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E5,\u00E6,\u0105", 1284 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1285 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1286 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 1287 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1288 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1289 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1290 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 1291 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 1292 /* 1 */ "\u0113,\u00E8,\u0117,\u00E9,\u00EA,\u00EB,\u0119,\u011B", 1293 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1294 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1295 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 1296 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1297 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1298 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1299 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 1300 /* 2 */ "\u012B,\u00EC,\u012F,\u00ED,\u00EE,\u00EF,\u0131", 1301 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1302 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1303 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1304 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1305 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1306 // U+0153: "œ" LATIN SMALL LIGATURE OE 1307 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 1308 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1309 /* 3 */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8", 1310 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1311 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1312 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 1313 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1314 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1315 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1316 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 1317 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 1318 /* 4 */ "\u00FC,\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u016F,\u0171", 1319 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 1320 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 1321 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 1322 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 1323 /* 5 */ "\u0161,\u00DF,\u015B,\u015F", 1324 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 1325 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 1326 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 1327 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 1328 /* 6 */ "\u0146,\u00F1,\u0144,\u0144", 1329 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 1330 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 1331 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 1332 /* 7 */ "\u010D,\u00E7,\u0107", 1333 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 1334 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 1335 /* 8 */ "\u00FD,\u00FF", 1336 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 1337 /* 9 */ "\u010F", 1338 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 1339 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 1340 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 1341 /* 10 */ "\u0157,\u0159,\u0155", 1342 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 1343 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 1344 /* 11 */ "\u0163,\u0165", 1345 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 1346 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 1347 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 1348 /* 12 */ "\u017E,\u017C,\u017A", 1349 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 1350 /* 13 */ "\u0137", 1351 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 1352 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 1353 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 1354 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 1355 /* 14 */ "\u013C,\u0142,\u013A,\u013E", 1356 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 1357 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 1358 /* 15 */ "\u0123,\u011F", 1359 /* 16~ */ 1360 null, null, null, null, 1361 /* ~19 */ 1362 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1363 /* 20 */ "\u00FC", 1364 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1365 /* 21 */ "\u00F6", 1366 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1367 /* 22 */ "\u00E4", 1368 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1369 /* 23 */ "\u00F5", 1370 /* 24~ */ 1371 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1372 null, null, null, null, null, null, null, 1373 /* ~45 */ 1374 /* 46 */ "!text/single_9qm_lqm", 1375 /* 47 */ "!text/double_9qm_lqm", 1376 }; 1377 1378 /* Language fa: Persian */ 1379 private static final String[] LANGUAGE_fa = { 1380 /* 0~ */ 1381 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1382 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1383 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1384 /* ~44 */ 1385 // Label for "switch to alphabetic" key. 1386 // U+0627: "ا" ARABIC LETTER ALEF 1387 // U+200C: ZERO WIDTH NON-JOINER 1388 // U+0628: "ب" ARABIC LETTER BEH 1389 // U+067E: "پ" ARABIC LETTER PEH 1390 /* 45 */ "\u0627\u200C\u0628\u200C\u067E", 1391 /* 46 */ null, 1392 /* 47 */ null, 1393 /* 48 */ "!text/single_laqm_raqm_rtl", 1394 /* 49 */ "!text/double_laqm_raqm_rtl", 1395 /* 50 */ null, 1396 // U+FDFC: "﷼" RIAL SIGN 1397 /* 51 */ "\uFDFC", 1398 /* 52 */ null, 1399 // U+061F: "؟" ARABIC QUESTION MARK 1400 // U+060C: "،" ARABIC COMMA 1401 // U+061B: "؛" ARABIC SEMICOLON 1402 /* 53 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(|),)|(", 1403 // U+2605: "★" BLACK STAR 1404 // U+066D: "٭" ARABIC FIVE POINTED STAR 1405 /* 54 */ "\u2605,\u066D", 1406 // U+266A: "♪" EIGHTH NOTE 1407 /* 55 */ "\u266A", 1408 /* 56 */ null, 1409 // The all letters need to be mirrored are found at 1410 // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt 1411 // U+FD3E: "﴾" ORNATE LEFT PARENTHESIS 1412 // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS 1413 /* 57 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]", 1414 /* 58 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[", 1415 // U+2264: "≤" LESS-THAN OR EQUAL TO 1416 // U+2265: "≥" GREATER-THAN EQUAL TO 1417 // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 1418 // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 1419 // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK 1420 // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 1421 /* 59 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,<|>", 1422 /* 60 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,>|<", 1423 // U+0655: "ٕ" ARABIC HAMZA BELOW 1424 // U+0652: "ْ" ARABIC SUKUN 1425 // U+0651: "ّ" ARABIC SHADDA 1426 // U+064C: "ٌ" ARABIC DAMMATAN 1427 // U+064D: "ٍ" ARABIC KASRATAN 1428 // U+064B: "ً" ARABIC FATHATAN 1429 // U+0654: "ٔ" ARABIC HAMZA ABOVE 1430 // U+0656: "ٖ" ARABIC SUBSCRIPT ALEF 1431 // U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF 1432 // U+0653: "ٓ" ARABIC MADDAH ABOVE 1433 // U+064F: "ُ" ARABIC DAMMA 1434 // U+0650: "ِ" ARABIC KASRA 1435 // U+064E: "َ" ARABIC FATHA 1436 // U+0640: "ـ" ARABIC TATWEEL 1437 // In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. 1438 // Note: The space character is needed as a preceding letter to draw Arabic diacritics characters correctly. 1439 /* 61 */ "!fixedColumnOrder!7, \u0655|\u0655, \u0652|\u0652, \u0651|\u0651, \u064C|\u064C, \u064D|\u064D, \u064B|\u064B, \u0654|\u0654, \u0656|\u0656, \u0670|\u0670, \u0653|\u0653, \u064F|\u064F, \u0650|\u0650, \u064E|\u064E,\u0640\u0640\u0640|\u0640", 1440 /* 62 */ "\u064B", 1441 // U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE 1442 /* 63 */ "\u06F1", 1443 // U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO 1444 /* 64 */ "\u06F2", 1445 // U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE 1446 /* 65 */ "\u06F3", 1447 // U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR 1448 /* 66 */ "\u06F4", 1449 // U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE 1450 /* 67 */ "\u06F5", 1451 // U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX 1452 /* 68 */ "\u06F6", 1453 // U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN 1454 /* 69 */ "\u06F7", 1455 // U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT 1456 /* 70 */ "\u06F8", 1457 // U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE 1458 /* 71 */ "\u06F9", 1459 // U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO 1460 /* 72 */ "\u06F0", 1461 // Label for "switch to symbols" key. 1462 // U+061F: "؟" ARABIC QUESTION MARK 1463 /* 73 */ "\u06F3\u06F2\u06F1\u061F", 1464 // Label for "switch to symbols with microphone" key. This string shouldn't include the "mic" 1465 // part because it'll be appended by the code. 1466 /* 74 */ "\u06F3\u06F2\u06F1", 1467 /* 75 */ "1", 1468 /* 76 */ "2", 1469 /* 77 */ "3", 1470 /* 78 */ "4", 1471 /* 79 */ "5", 1472 /* 80 */ "6", 1473 /* 81 */ "7", 1474 /* 82 */ "8", 1475 /* 83 */ "9", 1476 // U+066B: "٫" ARABIC DECIMAL SEPARATOR 1477 // U+066C: "٬" ARABIC THOUSANDS SEPARATOR 1478 /* 84 */ "0,\u066B,\u066C", 1479 /* 85~ */ 1480 null, null, null, null, null, null, null, null, null, null, 1481 /* ~94 */ 1482 // U+060C: "،" ARABIC COMMA 1483 /* 95 */ "\u060C", 1484 /* 96 */ "\\,", 1485 /* 97 */ "\u061F", 1486 /* 98 */ "\u061B", 1487 // U+066A: "٪" ARABIC PERCENT SIGN 1488 /* 99 */ "\u066A", 1489 /* 100 */ null, 1490 /* 101 */ "?", 1491 /* 102 */ ";", 1492 // U+2030: "‰" PER MILLE SIGN 1493 /* 103 */ "\\%,\u2030", 1494 // U+060C: "،" ARABIC COMMA 1495 // U+061B: "؛" ARABIC SEMICOLON 1496 // U+061F: "؟" ARABIC QUESTION MARK 1497 // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 1498 // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 1499 /* 104 */ "\u060C", 1500 /* 105 */ "!", 1501 /* 106 */ "!,\\,", 1502 /* 107 */ "\u061F", 1503 /* 108 */ "\u061F,?", 1504 /* 109 */ "\u060C", 1505 /* 110 */ "\u061F", 1506 /* 111 */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\u00AB|\u00BB,\u00BB|\u00AB", 1507 }; 1508 1509 /* Language fi: Finnish */ 1510 private static final String[] LANGUAGE_fi = { 1511 // U+00E6: "æ" LATIN SMALL LETTER AE 1512 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1513 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1514 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1515 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1516 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1517 /* 0 */ "\u00E6,\u00E0,\u00E1,\u00E2,\u00E3,\u0101", 1518 /* 1 */ null, 1519 /* 2 */ null, 1520 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1521 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1522 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1523 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1524 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1525 // U+0153: "œ" LATIN SMALL LIGATURE OE 1526 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1527 /* 3 */ "\u00F8,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u014D", 1528 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1529 /* 4 */ "\u00FC", 1530 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 1531 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 1532 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 1533 /* 5 */ "\u0161,\u00DF,\u015B", 1534 /* 6~ */ 1535 null, null, null, null, null, null, 1536 /* ~11 */ 1537 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 1538 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 1539 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 1540 /* 12 */ "\u017E,\u017A,\u017C", 1541 /* 13~ */ 1542 null, null, null, null, null, null, null, 1543 /* ~19 */ 1544 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1545 /* 20 */ "\u00E5", 1546 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1547 /* 21 */ "\u00F6", 1548 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1549 /* 22 */ "\u00E4", 1550 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1551 /* 23 */ "\u00F8", 1552 // U+00E6: "æ" LATIN SMALL LETTER AE 1553 /* 24 */ "\u00E6", 1554 }; 1555 1556 /* Language fr: French */ 1557 private static final String[] LANGUAGE_fr = { 1558 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1559 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1560 // U+00E6: "æ" LATIN SMALL LETTER AE 1561 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1562 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1563 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1564 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1565 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1566 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 1567 /* 0 */ "\u00E0,\u00E2,%,\u00E6,\u00E1,\u00E4,\u00E3,\u00E5,\u0101,\u00AA", 1568 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1569 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1570 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1571 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1572 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 1573 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 1574 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1575 /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,%,\u0119,\u0117,\u0113", 1576 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1577 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1578 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1579 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1580 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 1581 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1582 /* 2 */ "\u00EE,%,\u00EF,\u00EC,\u00ED,\u012F,\u012B", 1583 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1584 // U+0153: "œ" LATIN SMALL LIGATURE OE 1585 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1586 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1587 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1588 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1589 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1590 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1591 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 1592 /* 3 */ "\u00F4,\u0153,%,\u00F6,\u00F2,\u00F3,\u00F5,\u00F8,\u014D,\u00BA", 1593 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1594 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1595 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1596 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1597 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1598 /* 4 */ "\u00F9,\u00FB,%,\u00FC,\u00FA,\u016B", 1599 /* 5 */ null, 1600 /* 6 */ null, 1601 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 1602 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 1603 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 1604 /* 7 */ "\u00E7,\u0107,\u010D", 1605 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 1606 /* 8 */ "%,\u00FF", 1607 }; 1608 1609 /* Language hi: Hindi */ 1610 private static final String[] LANGUAGE_hi = { 1611 /* 0~ */ 1612 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1613 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1614 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1615 /* ~44 */ 1616 // Label for "switch to alphabetic" key. 1617 // U+0915: "क" DEVANAGARI LETTER KA 1618 // U+0916: "ख" DEVANAGARI LETTER KHA 1619 // U+0917: "ग" DEVANAGARI LETTER GA 1620 /* 45 */ "\u0915\u0916\u0917", 1621 /* 46~ */ 1622 null, null, null, null, null, 1623 /* ~50 */ 1624 // U+20B9: "₹" INDIAN RUPEE SIGN 1625 /* 51 */ "\u20B9", 1626 /* 52~ */ 1627 null, null, null, null, null, null, null, null, null, null, null, 1628 /* ~62 */ 1629 // U+0967: "१" DEVANAGARI DIGIT ONE 1630 /* 63 */ "\u0967", 1631 // U+0968: "२" DEVANAGARI DIGIT TWO 1632 /* 64 */ "\u0968", 1633 // U+0969: "३" DEVANAGARI DIGIT THREE 1634 /* 65 */ "\u0969", 1635 // U+096A: "४" DEVANAGARI DIGIT FOUR 1636 /* 66 */ "\u096A", 1637 // U+096B: "५" DEVANAGARI DIGIT FIVE 1638 /* 67 */ "\u096B", 1639 // U+096C: "६" DEVANAGARI DIGIT SIX 1640 /* 68 */ "\u096C", 1641 // U+096D: "७" DEVANAGARI DIGIT SEVEN 1642 /* 69 */ "\u096D", 1643 // U+096E: "८" DEVANAGARI DIGIT EIGHT 1644 /* 70 */ "\u096E", 1645 // U+096F: "९" DEVANAGARI DIGIT NINE 1646 /* 71 */ "\u096F", 1647 // U+0966: "०" DEVANAGARI DIGIT ZERO 1648 /* 72 */ "\u0966", 1649 // Label for "switch to symbols" key. 1650 /* 73 */ "?\u0967\u0968\u0969", 1651 // Label for "switch to symbols with microphone" key. This string shouldn't include the "mic" 1652 // part because it'll be appended by the code. 1653 /* 74 */ "\u0967\u0968\u0969", 1654 /* 75 */ "1", 1655 /* 76 */ "2", 1656 /* 77 */ "3", 1657 /* 78 */ "4", 1658 /* 79 */ "5", 1659 /* 80 */ "6", 1660 /* 81 */ "7", 1661 /* 82 */ "8", 1662 /* 83 */ "9", 1663 /* 84 */ "0", 1664 }; 1665 1666 /* Language hr: Croatian */ 1667 private static final String[] LANGUAGE_hr = { 1668 /* 0~ */ 1669 null, null, null, null, null, 1670 /* ~4 */ 1671 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 1672 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 1673 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 1674 /* 5 */ "\u0161,\u015B,\u00DF", 1675 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 1676 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 1677 /* 6 */ "\u00F1,\u0144", 1678 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 1679 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 1680 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 1681 /* 7 */ "\u010D,\u0107,\u00E7", 1682 /* 8 */ null, 1683 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 1684 /* 9 */ "\u0111", 1685 /* 10 */ null, 1686 /* 11 */ null, 1687 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 1688 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 1689 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 1690 /* 12 */ "\u017E,\u017A,\u017C", 1691 /* 13~ */ 1692 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1693 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1694 null, null, null, 1695 /* ~45 */ 1696 /* 46 */ "!text/single_9qm_rqm", 1697 /* 47 */ "!text/double_9qm_rqm", 1698 /* 48 */ "!text/single_raqm_laqm", 1699 /* 49 */ "!text/double_raqm_laqm", 1700 }; 1701 1702 /* Language hu: Hungarian */ 1703 private static final String[] LANGUAGE_hu = { 1704 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1705 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1706 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1707 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1708 // U+00E6: "æ" LATIN SMALL LETTER AE 1709 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1710 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1711 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1712 /* 0 */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 1713 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1714 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1715 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1716 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1717 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 1718 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 1719 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1720 /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113", 1721 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1722 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1723 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1724 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1725 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 1726 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1727 /* 2 */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B", 1728 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1729 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1730 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 1731 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1732 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1733 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1734 // U+0153: "œ" LATIN SMALL LIGATURE OE 1735 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1736 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1737 /* 3 */ "\u00F3,\u00F6,\u0151,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 1738 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1739 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1740 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 1741 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1742 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1743 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1744 /* 4 */ "\u00FA,\u00FC,\u0171,\u00FB,\u00F9,\u016B", 1745 /* 5~ */ 1746 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1747 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1748 null, null, null, null, null, null, null, null, null, null, null, 1749 /* ~45 */ 1750 /* 46 */ "!text/single_9qm_rqm", 1751 /* 47 */ "!text/double_9qm_rqm", 1752 /* 48 */ "!text/single_raqm_laqm", 1753 /* 49 */ "!text/double_raqm_laqm", 1754 }; 1755 1756 /* Language hy: Armenian */ 1757 private static final String[] LANGUAGE_hy = { 1758 /* 0~ */ 1759 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1760 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1761 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1762 null, null, null, null, null, null, null, null, 1763 /* ~52 */ 1764 // U+055E: "՞" ARMENIAN QUESTION MARK 1765 /* 53 */ "!fixedColumnOrder!4,\u055E,!,\\,,?,:,;,@", 1766 /* 54~ */ 1767 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1768 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1769 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1770 null, null, null, null, null, null, null, null, null, 1771 /* ~107 */ 1772 /* 108 */ "\u055E,?", 1773 }; 1774 1775 /* Language is: Icelandic */ 1776 private static final String[] LANGUAGE_is = { 1777 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1778 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1779 // U+00E6: "æ" LATIN SMALL LETTER AE 1780 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1781 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1782 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1783 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1784 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1785 /* 0 */ "\u00E1,\u00E4,\u00E6,\u00E5,\u00E0,\u00E2,\u00E3,\u0101", 1786 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1787 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1788 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1789 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1790 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 1791 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 1792 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1793 /* 1 */ "\u00E9,\u00EB,\u00E8,\u00EA,\u0119,\u0117,\u0113", 1794 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1795 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1796 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1797 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1798 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 1799 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1800 /* 2 */ "\u00ED,\u00EF,\u00EE,\u00EC,\u012F,\u012B", 1801 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1802 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1803 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1804 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1805 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1806 // U+0153: "œ" LATIN SMALL LIGATURE OE 1807 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1808 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1809 /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 1810 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1811 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1812 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1813 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1814 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1815 /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B", 1816 /* 5~ */ 1817 null, null, null, 1818 /* ~7 */ 1819 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 1820 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 1821 /* 8 */ "\u00FD,\u00FF", 1822 // U+00F0: "ð" LATIN SMALL LETTER ETH 1823 /* 9 */ "\u00F0", 1824 /* 10 */ null, 1825 // U+00FE: "þ" LATIN SMALL LETTER THORN 1826 /* 11 */ "\u00FE", 1827 /* 12~ */ 1828 null, null, null, null, null, null, null, null, 1829 /* ~19 */ 1830 // U+00F0: "ð" LATIN SMALL LETTER ETH 1831 /* 20 */ "\u00F0", 1832 // U+00E6: "æ" LATIN SMALL LETTER AE 1833 /* 21 */ "\u00E6", 1834 // U+00FE: "þ" LATIN SMALL LETTER THORN 1835 /* 22 */ "\u00FE", 1836 /* 23~ */ 1837 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1838 null, null, null, null, null, null, null, null, 1839 /* ~45 */ 1840 /* 46 */ "!text/single_9qm_lqm", 1841 /* 47 */ "!text/double_9qm_lqm", 1842 }; 1843 1844 /* Language it: Italian */ 1845 private static final String[] LANGUAGE_it = { 1846 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 1847 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 1848 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 1849 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 1850 // U+00E6: "æ" LATIN SMALL LETTER AE 1851 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 1852 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 1853 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 1854 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 1855 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101,\u00AA", 1856 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 1857 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 1858 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 1859 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 1860 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 1861 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 1862 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 1863 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u0117,\u0113", 1864 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 1865 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 1866 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 1867 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 1868 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 1869 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 1870 /* 2 */ "\u00EC,\u00ED,\u00EE,\u00EF,\u012F,\u012B", 1871 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 1872 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 1873 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 1874 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 1875 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 1876 // U+0153: "œ" LATIN SMALL LIGATURE OE 1877 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 1878 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 1879 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 1880 /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F6,\u00F5,\u0153,\u00F8,\u014D,\u00BA", 1881 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 1882 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 1883 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 1884 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 1885 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 1886 /* 4 */ "\u00F9,\u00FA,\u00FB,\u00FC,\u016B", 1887 }; 1888 1889 /* Language iw: Hebrew */ 1890 private static final String[] LANGUAGE_iw = { 1891 /* 0~ */ 1892 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1893 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1894 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1895 /* ~44 */ 1896 // Label for "switch to alphabetic" key. 1897 // U+05D0: "א" HEBREW LETTER ALEF 1898 // U+05D1: "ב" HEBREW LETTER BET 1899 // U+05D2: "ג" HEBREW LETTER GIMEL 1900 /* 45 */ "\u05D0\u05D1\u05D2", 1901 // The following characters don't need BIDI mirroring. 1902 // U+2018: "‘" LEFT SINGLE QUOTATION MARK 1903 // U+2019: "’" RIGHT SINGLE QUOTATION MARK 1904 // U+201A: "‚" SINGLE LOW-9 QUOTATION MARK 1905 // U+201C: "“" LEFT DOUBLE QUOTATION MARK 1906 // U+201D: "”" RIGHT DOUBLE QUOTATION MARK 1907 // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK 1908 /* 46 */ "\u2018,\u2019,\u201A", 1909 /* 47 */ "\u201C,\u201D,\u201E", 1910 /* 48 */ "!text/single_laqm_raqm_rtl", 1911 /* 49 */ "!text/double_laqm_raqm_rtl", 1912 /* 50 */ null, 1913 // U+20AA: "₪" NEW SHEQEL SIGN 1914 /* 51 */ "\u20AA", 1915 /* 52 */ null, 1916 /* 53 */ null, 1917 // U+2605: "★" BLACK STAR 1918 /* 54 */ "\u2605", 1919 /* 55 */ null, 1920 // U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN 1921 /* 56 */ "\uFB29", 1922 // The all letters need to be mirrored are found at 1923 // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt 1924 /* 57 */ "!fixedColumnOrder!3,<|>,{|},[|]", 1925 /* 58 */ "!fixedColumnOrder!3,>|<,}|{,]|[", 1926 // U+2264: "≤" LESS-THAN OR EQUAL TO 1927 // U+2265: "≥" GREATER-THAN EQUAL TO 1928 // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 1929 // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 1930 // U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK 1931 // U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 1932 /* 59 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB", 1933 /* 60 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB", 1934 }; 1935 1936 /* Language ka: Georgian */ 1937 private static final String[] LANGUAGE_ka = { 1938 /* 0~ */ 1939 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1940 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1941 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1942 /* ~44 */ 1943 // Label for "switch to alphabetic" key. 1944 // U+10D0: "ა" GEORGIAN LETTER AN 1945 // U+10D1: "ბ" GEORGIAN LETTER BAN 1946 // U+10D2: "გ" GEORGIAN LETTER GAN 1947 /* 45 */ "\u10D0\u10D1\u10D2", 1948 /* 46 */ "!text/single_9qm_lqm", 1949 /* 47 */ "!text/double_9qm_lqm", 1950 }; 1951 1952 /* Language kk: Kazakh */ 1953 private static final String[] LANGUAGE_kk = { 1954 /* 0~ */ 1955 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1956 null, null, null, null, null, null, null, null, null, null, 1957 /* ~24 */ 1958 // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA 1959 /* 25 */ "\u0449", 1960 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 1961 /* 26 */ "\u044A", 1962 // U+044B: "ы" CYRILLIC SMALL LETTER YERU 1963 /* 27 */ "\u044B", 1964 // U+044D: "э" CYRILLIC SMALL LETTER E 1965 /* 28 */ "\u044D", 1966 // U+0438: "и" CYRILLIC SMALL LETTER I 1967 /* 29 */ "\u0438", 1968 // U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U 1969 // U+04B1: "ұ" CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE 1970 /* 30 */ "\u04AF,\u04B1", 1971 // U+049B: "қ" CYRILLIC SMALL LETTER KA WITH DESCENDER 1972 /* 31 */ "\u049B", 1973 // U+04A3: "ң" CYRILLIC SMALL LETTER EN WITH DESCENDER 1974 /* 32 */ "\u04A3", 1975 // U+0493: "ғ" CYRILLIC SMALL LETTER GHE WITH STROKE 1976 /* 33 */ "\u0493", 1977 // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 1978 /* 34 */ "\u0456", 1979 // U+04D9: "ә" CYRILLIC SMALL LETTER SCHWA 1980 /* 35 */ "\u04D9", 1981 // U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O 1982 /* 36 */ "\u04E9", 1983 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 1984 /* 37 */ "\u044A", 1985 // U+04BB: "һ" CYRILLIC SMALL LETTER SHHA 1986 /* 38 */ "\u04BB", 1987 /* 39~ */ 1988 null, null, null, null, 1989 /* ~42 */ 1990 // U+0451: "ё" CYRILLIC SMALL LETTER IO 1991 /* 43 */ "\u0451", 1992 /* 44 */ null, 1993 // Label for "switch to alphabetic" key. 1994 // U+0410: "А" CYRILLIC CAPITAL LETTER A 1995 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 1996 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 1997 /* 45 */ "\u0410\u0411\u0412", 1998 }; 1999 2000 /* Language ky: Kirghiz */ 2001 private static final String[] LANGUAGE_ky = { 2002 /* 0~ */ 2003 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2004 null, null, null, null, null, null, null, null, null, null, 2005 /* ~24 */ 2006 // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA 2007 /* 25 */ "\u0449", 2008 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 2009 /* 26 */ "\u044A", 2010 // U+044B: "ы" CYRILLIC SMALL LETTER YERU 2011 /* 27 */ "\u044B", 2012 // U+044D: "э" CYRILLIC SMALL LETTER E 2013 /* 28 */ "\u044D", 2014 // U+0438: "и" CYRILLIC SMALL LETTER I 2015 /* 29 */ "\u0438", 2016 // U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U 2017 /* 30 */ "\u04AF", 2018 /* 31 */ null, 2019 // U+04A3: "ң" CYRILLIC SMALL LETTER EN WITH DESCENDER 2020 /* 32 */ "\u04A3", 2021 /* 33~ */ 2022 null, null, null, 2023 /* ~35 */ 2024 // U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O 2025 /* 36 */ "\u04E9", 2026 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 2027 /* 37 */ "\u044A", 2028 /* 38~ */ 2029 null, null, null, null, null, 2030 /* ~42 */ 2031 // U+0451: "ё" CYRILLIC SMALL LETTER IO 2032 /* 43 */ "\u0451", 2033 /* 44 */ null, 2034 // Label for "switch to alphabetic" key. 2035 // U+0410: "А" CYRILLIC CAPITAL LETTER A 2036 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 2037 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 2038 /* 45 */ "\u0410\u0411\u0412", 2039 }; 2040 2041 /* Language lt: Lithuanian */ 2042 private static final String[] LANGUAGE_lt = { 2043 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2044 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2045 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2046 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2047 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2048 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2049 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2050 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2051 // U+00E6: "æ" LATIN SMALL LETTER AE 2052 /* 0 */ "\u0105,\u00E4,\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E5,\u00E6", 2053 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2054 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2055 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2056 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2057 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2058 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2059 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2060 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 2061 /* 1 */ "\u0117,\u0119,\u0113,\u00E8,\u00E9,\u00EA,\u00EB,\u011B", 2062 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2063 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2064 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2065 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2066 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2067 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2068 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 2069 /* 2 */ "\u012F,\u012B,\u00EC,\u00ED,\u00EE,\u00EF,\u0131", 2070 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2071 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2072 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2073 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2074 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2075 // U+0153: "œ" LATIN SMALL LIGATURE OE 2076 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 2077 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2078 /* 3 */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8", 2079 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2080 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 2081 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2082 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2083 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2084 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2085 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2086 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 2087 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 2088 /* 4 */ "\u016B,\u0173,\u00FC,\u016B,\u00F9,\u00FA,\u00FB,\u016F,\u0171", 2089 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2090 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2091 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2092 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 2093 /* 5 */ "\u0161,\u00DF,\u015B,\u015F", 2094 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 2095 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2096 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2097 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2098 /* 6 */ "\u0146,\u00F1,\u0144,\u0144", 2099 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2100 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2101 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2102 /* 7 */ "\u010D,\u00E7,\u0107", 2103 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 2104 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 2105 /* 8 */ "\u00FD,\u00FF", 2106 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 2107 /* 9 */ "\u010F", 2108 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 2109 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 2110 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 2111 /* 10 */ "\u0157,\u0159,\u0155", 2112 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 2113 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 2114 /* 11 */ "\u0163,\u0165", 2115 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2116 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2117 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2118 /* 12 */ "\u017E,\u017C,\u017A", 2119 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 2120 /* 13 */ "\u0137", 2121 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 2122 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 2123 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 2124 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 2125 /* 14 */ "\u013C,\u0142,\u013A,\u013E", 2126 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 2127 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 2128 /* 15 */ "\u0123,\u011F", 2129 /* 16~ */ 2130 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2131 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2132 /* ~45 */ 2133 /* 46 */ "!text/single_9qm_lqm", 2134 /* 47 */ "!text/double_9qm_lqm", 2135 }; 2136 2137 /* Language lv: Latvian */ 2138 private static final String[] LANGUAGE_lv = { 2139 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2140 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2141 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2142 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2143 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2144 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2145 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2146 // U+00E6: "æ" LATIN SMALL LETTER AE 2147 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2148 /* 0 */ "\u0101,\u00E0,\u00E1,\u00E2,\u00E3,\u00E4,\u00E5,\u00E6,\u0105", 2149 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2150 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2151 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2152 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2153 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2154 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2155 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2156 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 2157 /* 1 */ "\u0113,\u0117,\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u011B", 2158 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2159 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2160 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2161 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2162 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2163 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2164 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 2165 /* 2 */ "\u012B,\u012F,\u00EC,\u00ED,\u00EE,\u00EF,\u0131", 2166 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2167 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2168 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2169 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2170 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2171 // U+0153: "œ" LATIN SMALL LIGATURE OE 2172 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 2173 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2174 /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u0153,\u0151,\u00F8", 2175 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2176 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 2177 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2178 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2179 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2180 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2181 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 2182 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 2183 /* 4 */ "\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u00FC,\u016F,\u0171", 2184 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2185 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2186 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2187 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 2188 /* 5 */ "\u0161,\u00DF,\u015B,\u015F", 2189 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 2190 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2191 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2192 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2193 /* 6 */ "\u0146,\u00F1,\u0144,\u0144", 2194 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2195 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2196 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2197 /* 7 */ "\u010D,\u00E7,\u0107", 2198 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 2199 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 2200 /* 8 */ "\u00FD,\u00FF", 2201 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 2202 /* 9 */ "\u010F", 2203 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 2204 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 2205 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 2206 /* 10 */ "\u0157,\u0159,\u0155", 2207 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 2208 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 2209 /* 11 */ "\u0163,\u0165", 2210 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2211 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2212 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2213 /* 12 */ "\u017E,\u017C,\u017A", 2214 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 2215 /* 13 */ "\u0137", 2216 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 2217 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 2218 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 2219 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 2220 /* 14 */ "\u013C,\u0142,\u013A,\u013E", 2221 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 2222 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 2223 /* 15 */ "\u0123,\u011F", 2224 /* 16~ */ 2225 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2226 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2227 /* ~45 */ 2228 /* 46 */ "!text/single_9qm_lqm", 2229 /* 47 */ "!text/double_9qm_lqm", 2230 }; 2231 2232 /* Language mk: Macedonian */ 2233 private static final String[] LANGUAGE_mk = { 2234 /* 0~ */ 2235 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2236 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2237 null, null, null, null, null, null, null, null, null, 2238 /* ~38 */ 2239 // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE 2240 /* 39 */ "\u0455", 2241 // U+045C: "ќ" CYRILLIC SMALL LETTER KJE 2242 /* 40 */ "\u045C", 2243 // U+0437: "з" CYRILLIC SMALL LETTER ZE 2244 /* 41 */ "\u0437", 2245 // U+0453: "ѓ" CYRILLIC SMALL LETTER GJE 2246 /* 42 */ "\u0453", 2247 // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE 2248 /* 43 */ "\u0450", 2249 // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE 2250 /* 44 */ "\u045D", 2251 // Label for "switch to alphabetic" key. 2252 // U+0410: "А" CYRILLIC CAPITAL LETTER A 2253 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 2254 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 2255 /* 45 */ "\u0410\u0411\u0412", 2256 /* 46 */ "!text/single_9qm_lqm", 2257 /* 47 */ "!text/double_9qm_lqm", 2258 }; 2259 2260 /* Language mn: Mongolian */ 2261 private static final String[] LANGUAGE_mn = { 2262 /* 0~ */ 2263 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2264 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2265 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2266 /* ~44 */ 2267 // Label for "switch to alphabetic" key. 2268 // U+0410: "А" CYRILLIC CAPITAL LETTER A 2269 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 2270 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 2271 /* 45 */ "\u0410\u0411\u0412", 2272 /* 46~ */ 2273 null, null, null, null, null, 2274 /* ~50 */ 2275 // U+20AE: "₮" TUGRIK SIGN 2276 /* 51 */ "\u20AE", 2277 }; 2278 2279 /* Language nb: Norwegian Bokmål */ 2280 private static final String[] LANGUAGE_nb = { 2281 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2282 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2283 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2284 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2285 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2286 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2287 /* 0 */ "\u00E0,\u00E4,\u00E1,\u00E2,\u00E3,\u0101", 2288 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2289 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2290 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2291 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2292 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2293 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2294 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2295 /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113", 2296 /* 2 */ null, 2297 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2298 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2299 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2300 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2301 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2302 // U+0153: "œ" LATIN SMALL LIGATURE OE 2303 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2304 /* 3 */ "\u00F4,\u00F2,\u00F3,\u00F6,\u00F5,\u0153,\u014D", 2305 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2306 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2307 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2308 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2309 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2310 /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B", 2311 /* 5~ */ 2312 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2313 /* ~19 */ 2314 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2315 /* 20 */ "\u00E5", 2316 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2317 /* 21 */ "\u00F8", 2318 // U+00E6: "æ" LATIN SMALL LETTER AE 2319 /* 22 */ "\u00E6", 2320 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2321 /* 23 */ "\u00F6", 2322 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2323 /* 24 */ "\u00E4", 2324 /* 25~ */ 2325 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2326 null, null, null, null, null, null, 2327 /* ~45 */ 2328 /* 46 */ "!text/single_9qm_rqm", 2329 /* 47 */ "!text/double_9qm_rqm", 2330 }; 2331 2332 /* Language nl: Dutch */ 2333 private static final String[] LANGUAGE_nl = { 2334 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2335 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2336 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2337 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2338 // U+00E6: "æ" LATIN SMALL LETTER AE 2339 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2340 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2341 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2342 /* 0 */ "\u00E1,\u00E4,\u00E2,\u00E0,\u00E6,\u00E3,\u00E5,\u0101", 2343 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2344 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2345 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2346 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2347 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2348 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2349 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2350 /* 1 */ "\u00E9,\u00EB,\u00EA,\u00E8,\u0119,\u0117,\u0113", 2351 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2352 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2353 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2354 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2355 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2356 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2357 // U+0133: "ij" LATIN SMALL LIGATURE IJ 2358 /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B,\u0133", 2359 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2360 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2361 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2362 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2363 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2364 // U+0153: "œ" LATIN SMALL LIGATURE OE 2365 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2366 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2367 /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 2368 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2369 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2370 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2371 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2372 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2373 /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B", 2374 /* 5 */ null, 2375 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2376 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2377 /* 6 */ "\u00F1,\u0144", 2378 /* 7 */ null, 2379 // U+0133: "ij" LATIN SMALL LIGATURE IJ 2380 /* 8 */ "\u0133", 2381 /* 9~ */ 2382 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2383 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2384 null, null, null, null, null, null, null, 2385 /* ~45 */ 2386 /* 46 */ "!text/single_9qm_rqm", 2387 /* 47 */ "!text/double_9qm_rqm", 2388 }; 2389 2390 /* Language pl: Polish */ 2391 private static final String[] LANGUAGE_pl = { 2392 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2393 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2394 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2395 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2396 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2397 // U+00E6: "æ" LATIN SMALL LETTER AE 2398 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2399 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2400 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2401 /* 0 */ "\u0105,\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 2402 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2403 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2404 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2405 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2406 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2407 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2408 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2409 /* 1 */ "\u0119,\u00E8,\u00E9,\u00EA,\u00EB,\u0117,\u0113", 2410 /* 2 */ null, 2411 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2412 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2413 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2414 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2415 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2416 // U+0153: "œ" LATIN SMALL LIGATURE OE 2417 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2418 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2419 /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 2420 /* 4 */ null, 2421 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2422 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2423 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2424 /* 5 */ "\u015B,\u00DF,\u0161", 2425 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2426 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2427 /* 6 */ "\u0144,\u00F1", 2428 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2429 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2430 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2431 /* 7 */ "\u0107,\u00E7,\u010D", 2432 /* 8~ */ 2433 null, null, null, null, 2434 /* ~11 */ 2435 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2436 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2437 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2438 /* 12 */ "\u017C,\u017A,\u017E", 2439 /* 13 */ null, 2440 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 2441 /* 14 */ "\u0142", 2442 /* 15~ */ 2443 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2444 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2445 null, 2446 /* ~45 */ 2447 /* 46 */ "!text/single_9qm_rqm", 2448 /* 47 */ "!text/double_9qm_rqm", 2449 }; 2450 2451 /* Language pt: Portuguese */ 2452 private static final String[] LANGUAGE_pt = { 2453 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2454 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2455 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2456 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2457 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2458 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2459 // U+00E6: "æ" LATIN SMALL LETTER AE 2460 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 2461 /* 0 */ "\u00E1,\u00E3,\u00E0,\u00E2,\u00E4,\u00E5,\u00E6,\u00AA", 2462 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2463 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2464 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2465 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2466 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2467 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2468 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2469 /* 1 */ "\u00E9,\u00EA,\u00E8,\u0119,\u0117,\u0113,\u00EB", 2470 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2471 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2472 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2473 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2474 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2475 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2476 /* 2 */ "\u00ED,\u00EE,\u00EC,\u00EF,\u012F,\u012B", 2477 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2478 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2479 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2480 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2481 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2482 // U+0153: "œ" LATIN SMALL LIGATURE OE 2483 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2484 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2485 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 2486 /* 3 */ "\u00F3,\u00F5,\u00F4,\u00F2,\u00F6,\u0153,\u00F8,\u014D,\u00BA", 2487 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2488 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2489 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2490 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2491 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2492 /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B", 2493 /* 5 */ null, 2494 /* 6 */ null, 2495 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2496 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2497 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2498 /* 7 */ "\u00E7,\u010D,\u0107", 2499 }; 2500 2501 /* Language rm: Raeto-Romance */ 2502 private static final String[] LANGUAGE_rm = { 2503 /* 0~ */ 2504 null, null, null, 2505 /* ~2 */ 2506 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2507 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2508 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2509 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2510 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2511 // U+0153: "œ" LATIN SMALL LIGATURE OE 2512 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2513 /* 3 */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u0153,\u00F8", 2514 }; 2515 2516 /* Language ro: Romanian */ 2517 private static final String[] LANGUAGE_ro = { 2518 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2519 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2520 // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE 2521 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2522 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2523 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2524 // U+00E6: "æ" LATIN SMALL LETTER AE 2525 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2526 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2527 /* 0 */ "\u00E2,\u00E3,\u0103,\u00E0,\u00E1,\u00E4,\u00E6,\u00E5,\u0101", 2528 /* 1 */ null, 2529 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2530 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2531 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2532 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2533 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2534 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2535 /* 2 */ "\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", 2536 /* 3 */ null, 2537 /* 4 */ null, 2538 // U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW 2539 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2540 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2541 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2542 /* 5 */ "\u0219,\u00DF,\u015B,\u0161", 2543 /* 6~ */ 2544 null, null, null, null, null, 2545 /* ~10 */ 2546 // U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW 2547 /* 11 */ "\u021B", 2548 /* 12~ */ 2549 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2550 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2551 null, null, null, null, 2552 /* ~45 */ 2553 /* 46 */ "!text/single_9qm_rqm", 2554 /* 47 */ "!text/double_9qm_rqm", 2555 }; 2556 2557 /* Language ru: Russian */ 2558 private static final String[] LANGUAGE_ru = { 2559 /* 0~ */ 2560 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2561 null, null, null, null, null, null, null, null, null, null, 2562 /* ~24 */ 2563 // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA 2564 /* 25 */ "\u0449", 2565 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 2566 /* 26 */ "\u044A", 2567 // U+044B: "ы" CYRILLIC SMALL LETTER YERU 2568 /* 27 */ "\u044B", 2569 // U+044D: "э" CYRILLIC SMALL LETTER E 2570 /* 28 */ "\u044D", 2571 // U+0438: "и" CYRILLIC SMALL LETTER I 2572 /* 29 */ "\u0438", 2573 /* 30~ */ 2574 null, null, null, null, null, null, null, 2575 /* ~36 */ 2576 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 2577 /* 37 */ "\u044A", 2578 /* 38~ */ 2579 null, null, null, null, null, 2580 /* ~42 */ 2581 // U+0451: "ё" CYRILLIC SMALL LETTER IO 2582 /* 43 */ "\u0451", 2583 /* 44 */ null, 2584 // Label for "switch to alphabetic" key. 2585 // U+0410: "А" CYRILLIC CAPITAL LETTER A 2586 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 2587 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 2588 /* 45 */ "\u0410\u0411\u0412", 2589 /* 46 */ "!text/single_9qm_lqm", 2590 /* 47 */ "!text/double_9qm_lqm", 2591 }; 2592 2593 /* Language sk: Slovak */ 2594 private static final String[] LANGUAGE_sk = { 2595 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2596 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2597 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2598 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2599 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2600 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2601 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2602 // U+00E6: "æ" LATIN SMALL LETTER AE 2603 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2604 /* 0 */ "\u00E1,\u00E4,\u0101,\u00E0,\u00E2,\u00E3,\u00E5,\u00E6,\u0105", 2605 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2606 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 2607 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2608 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2609 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2610 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2611 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2612 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2613 /* 1 */ "\u00E9,\u011B,\u0113,\u0117,\u00E8,\u00EA,\u00EB,\u0119", 2614 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2615 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2616 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2617 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2618 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2619 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2620 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 2621 /* 2 */ "\u00ED,\u012B,\u012F,\u00EC,\u00EE,\u00EF,\u0131", 2622 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2623 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2624 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2625 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2626 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2627 // U+0153: "œ" LATIN SMALL LIGATURE OE 2628 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 2629 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2630 /* 3 */ "\u00F4,\u00F3,\u00F6,\u00F2,\u00F5,\u0153,\u0151,\u00F8", 2631 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2632 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 2633 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2634 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2635 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 2636 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2637 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2638 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 2639 /* 4 */ "\u00FA,\u016F,\u00FC,\u016B,\u0173,\u00F9,\u00FB,\u0171", 2640 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2641 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2642 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2643 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 2644 /* 5 */ "\u0161,\u00DF,\u015B,\u015F", 2645 // U+0148: "ň" LATIN SMALL LETTER N WITH CARON 2646 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 2647 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2648 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2649 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2650 /* 6 */ "\u0148,\u0146,\u00F1,\u0144,\u0144", 2651 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2652 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2653 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2654 /* 7 */ "\u010D,\u00E7,\u0107", 2655 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 2656 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 2657 /* 8 */ "\u00FD,\u00FF", 2658 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 2659 /* 9 */ "\u010F", 2660 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 2661 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 2662 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 2663 /* 10 */ "\u0155,\u0159,\u0157", 2664 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 2665 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 2666 /* 11 */ "\u0165,\u0163", 2667 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2668 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2669 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2670 /* 12 */ "\u017E,\u017C,\u017A", 2671 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 2672 /* 13 */ "\u0137", 2673 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 2674 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 2675 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 2676 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 2677 /* 14 */ "\u013E,\u013A,\u013C,\u0142", 2678 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 2679 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 2680 /* 15 */ "\u0123,\u011F", 2681 /* 16~ */ 2682 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2683 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2684 /* ~45 */ 2685 /* 46 */ "!text/single_9qm_lqm", 2686 /* 47 */ "!text/double_9qm_lqm", 2687 /* 48 */ "!text/single_raqm_laqm", 2688 /* 49 */ "!text/double_raqm_laqm", 2689 }; 2690 2691 /* Language sl: Slovenian */ 2692 private static final String[] LANGUAGE_sl = { 2693 /* 0~ */ 2694 null, null, null, null, null, 2695 /* ~4 */ 2696 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2697 /* 5 */ "\u0161", 2698 /* 6 */ null, 2699 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2700 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2701 /* 7 */ "\u010D,\u0107", 2702 /* 8 */ null, 2703 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 2704 /* 9 */ "\u0111", 2705 /* 10 */ null, 2706 /* 11 */ null, 2707 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2708 /* 12 */ "\u017E", 2709 /* 13~ */ 2710 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2711 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2712 null, null, null, 2713 /* ~45 */ 2714 /* 46 */ "!text/single_9qm_lqm", 2715 /* 47 */ "!text/double_9qm_lqm", 2716 /* 48 */ "!text/single_raqm_laqm", 2717 /* 49 */ "!text/double_raqm_laqm", 2718 }; 2719 2720 /* Language sr: Serbian */ 2721 private static final String[] LANGUAGE_sr = { 2722 /* 0~ */ 2723 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2724 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2725 null, null, null, null, null, null, null, null, null, 2726 /* ~38 */ 2727 // TODO: Move these to sr-Latn once we can handle IETF language tag with script name specified. 2728 // BEGIN: More keys definitions for Serbian (Latin) 2729 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2730 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2731 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2732 // <string name="more_keys_for_s">š,ß,ś</string> 2733 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2734 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2735 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2736 // <string name="more_keys_for_c">č,ç,ć</string> 2737 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 2738 // <string name="more_keys_for_d">ď</string> 2739 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2740 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2741 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2742 // <string name="more_keys_for_z">ž,ź,ż</string> 2743 // END: More keys definitions for Serbian (Latin) 2744 // BEGIN: More keys definitions for Serbian (Cyrillic) 2745 // U+0437: "з" CYRILLIC SMALL LETTER ZE 2746 /* 39 */ "\u0437", 2747 // U+045B: "ћ" CYRILLIC SMALL LETTER TSHE 2748 /* 40 */ "\u045B", 2749 // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE 2750 /* 41 */ "\u0455", 2751 // U+0452: "ђ" CYRILLIC SMALL LETTER DJE 2752 /* 42 */ "\u0452", 2753 // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE 2754 /* 43 */ "\u0450", 2755 // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE 2756 /* 44 */ "\u045D", 2757 // END: More keys definitions for Serbian (Cyrillic) 2758 // Label for "switch to alphabetic" key. 2759 // U+0410: "А" CYRILLIC CAPITAL LETTER A 2760 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 2761 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 2762 /* 45 */ "\u0410\u0411\u0412", 2763 /* 46 */ "!text/single_9qm_lqm", 2764 /* 47 */ "!text/double_9qm_lqm", 2765 /* 48 */ "!text/single_raqm_laqm", 2766 /* 49 */ "!text/double_raqm_laqm", 2767 }; 2768 2769 /* Language sv: Swedish */ 2770 private static final String[] LANGUAGE_sv = { 2771 /* 0 */ null, 2772 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2773 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2774 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2775 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2776 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2777 /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119", 2778 /* 2 */ null, 2779 // U+0153: "œ" LATIN SMALL LIGATURE OE 2780 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2781 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2782 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2783 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2784 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2785 /* 3 */ "\u0153,\u00F4,\u00F2,\u00F3,\u00F5,\u014D", 2786 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2787 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2788 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2789 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2790 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2791 /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B", 2792 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2793 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2794 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2795 /* 5 */ "\u00DF,\u015B,\u0161", 2796 /* 6~ */ 2797 null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2798 /* ~19 */ 2799 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2800 /* 20 */ "\u00E5", 2801 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2802 /* 21 */ "\u00F6", 2803 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2804 /* 22 */ "\u00E4", 2805 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2806 /* 23 */ "\u00F8", 2807 // U+00E6: "æ" LATIN SMALL LETTER AE 2808 /* 24 */ "\u00E6", 2809 /* 25~ */ 2810 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2811 null, null, null, null, null, null, null, null, 2812 /* ~47 */ 2813 /* 48 */ "!text/single_raqm_laqm", 2814 /* 49 */ "!text/double_raqm_laqm", 2815 }; 2816 2817 /* Language sw: Swahili */ 2818 private static final String[] LANGUAGE_sw = { 2819 // This is the same as English except more_keys_for_g. 2820 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2821 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2822 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2823 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2824 // U+00E6: "æ" LATIN SMALL LETTER AE 2825 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2826 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2827 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2828 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 2829 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2830 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2831 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2832 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2833 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2834 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113", 2835 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2836 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2837 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2838 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2839 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2840 /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC", 2841 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2842 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2843 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2844 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2845 // U+0153: "œ" LATIN SMALL LIGATURE OE 2846 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2847 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2848 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2849 /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5", 2850 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2851 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2852 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2853 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2854 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2855 /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B", 2856 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2857 /* 5 */ "\u00DF", 2858 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2859 /* 6 */ "\u00F1", 2860 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2861 /* 7 */ "\u00E7", 2862 /* 8~ */ 2863 null, null, null, null, null, null, null, 2864 /* ~14 */ 2865 /* 15 */ "g\'", 2866 }; 2867 2868 /* Language th: Thai */ 2869 private static final String[] LANGUAGE_th = { 2870 /* 0~ */ 2871 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2872 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2873 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2874 /* ~44 */ 2875 // Label for "switch to alphabetic" key. 2876 // U+0E01: "ก" THAI CHARACTER KO KAI 2877 // U+0E02: "ข" THAI CHARACTER KHO KHAI 2878 // U+0E04: "ค" THAI CHARACTER KHO KHWAI 2879 /* 45 */ "\u0E01\u0E02\u0E04", 2880 /* 46~ */ 2881 null, null, null, null, null, 2882 /* ~50 */ 2883 // U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT 2884 /* 51 */ "\u0E3F", 2885 }; 2886 2887 /* Language tl: Tagalog */ 2888 private static final String[] LANGUAGE_tl = { 2889 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2890 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2891 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2892 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2893 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2894 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2895 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2896 // U+00E6: "æ" LATIN SMALL LETTER AE 2897 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2898 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 2899 /* 0 */ "\u00E1,\u00E0,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA", 2900 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2901 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2902 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2903 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2904 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2905 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2906 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2907 /* 1 */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113", 2908 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2909 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2910 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2911 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2912 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2913 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2914 /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", 2915 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2916 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2917 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2918 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2919 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2920 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2921 // U+0153: "œ" LATIN SMALL LIGATURE OE 2922 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2923 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 2924 /* 3 */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA", 2925 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2926 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2927 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2928 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2929 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2930 /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B", 2931 /* 5 */ null, 2932 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2933 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2934 /* 6 */ "\u00F1,\u0144", 2935 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2936 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2937 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2938 /* 7 */ "\u00E7,\u0107,\u010D", 2939 }; 2940 2941 /* Language tr: Turkish */ 2942 private static final String[] LANGUAGE_tr = { 2943 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2944 /* 0 */ "\u00E2", 2945 /* 1 */ null, 2946 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 2947 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2948 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2949 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2950 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2951 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2952 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2953 /* 2 */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", 2954 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2955 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2956 // U+0153: "œ" LATIN SMALL LIGATURE OE 2957 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2958 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2959 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2960 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2961 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2962 /* 3 */ "\u00F6,\u00F4,\u0153,\u00F2,\u00F3,\u00F5,\u00F8,\u014D", 2963 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2964 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2965 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2966 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2967 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2968 /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B", 2969 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 2970 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2971 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2972 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2973 /* 5 */ "\u015F,\u00DF,\u015B,\u0161", 2974 /* 6 */ null, 2975 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2976 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2977 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2978 /* 7 */ "\u00E7,\u0107,\u010D", 2979 /* 8~ */ 2980 null, null, null, null, null, null, null, 2981 /* ~14 */ 2982 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 2983 /* 15 */ "\u011F", 2984 }; 2985 2986 /* Language uk: Ukrainian */ 2987 private static final String[] LANGUAGE_uk = { 2988 /* 0~ */ 2989 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2990 null, null, null, null, null, null, null, null, null, null, 2991 /* ~24 */ 2992 // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA 2993 /* 25 */ "\u0449", 2994 // U+0457: "ї" CYRILLIC SMALL LETTER YI 2995 /* 26 */ "\u0457", 2996 // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 2997 /* 27 */ "\u0456", 2998 // U+0454: "є" CYRILLIC SMALL LETTER UKRAINIAN IE 2999 /* 28 */ "\u0454", 3000 // U+0438: "и" CYRILLIC SMALL LETTER I 3001 /* 29 */ "\u0438", 3002 /* 30~ */ 3003 null, null, null, 3004 /* ~32 */ 3005 // U+0491: "ґ" CYRILLIC SMALL LETTER GHE WITH UPTURN 3006 /* 33 */ "\u0491", 3007 // U+0457: "ї" CYRILLIC SMALL LETTER YI 3008 /* 34 */ "\u0457", 3009 /* 35 */ null, 3010 /* 36 */ null, 3011 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 3012 /* 37 */ "\u044A", 3013 /* 38~ */ 3014 null, null, null, null, null, null, null, 3015 /* ~44 */ 3016 // Label for "switch to alphabetic" key. 3017 // U+0410: "А" CYRILLIC CAPITAL LETTER A 3018 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 3019 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 3020 /* 45 */ "\u0410\u0411\u0412", 3021 /* 46 */ "!text/single_9qm_lqm", 3022 /* 47 */ "!text/double_9qm_lqm", 3023 /* 48~ */ 3024 null, null, null, 3025 /* ~50 */ 3026 // U+20B4: "₴" HRYVNIA SIGN 3027 /* 51 */ "\u20B4", 3028 }; 3029 3030 /* Language vi: Vietnamese */ 3031 private static final String[] LANGUAGE_vi = { 3032 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 3033 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 3034 // U+1EA3: "ả" LATIN SMALL LETTER A WITH HOOK ABOVE 3035 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 3036 // U+1EA1: "ạ" LATIN SMALL LETTER A WITH DOT BELOW 3037 // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE 3038 // U+1EB1: "ằ" LATIN SMALL LETTER A WITH BREVE AND GRAVE 3039 // U+1EAF: "ắ" LATIN SMALL LETTER A WITH BREVE AND ACUTE 3040 // U+1EB3: "ẳ" LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE 3041 // U+1EB5: "ẵ" LATIN SMALL LETTER A WITH BREVE AND TILDE 3042 // U+1EB7: "ặ" LATIN SMALL LETTER A WITH BREVE AND DOT BELOW 3043 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 3044 // U+1EA7: "ầ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE 3045 // U+1EA5: "ấ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE 3046 // U+1EA9: "ẩ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 3047 // U+1EAB: "ẫ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE 3048 // U+1EAD: "ậ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW 3049 /* 0 */ "\u00E0,\u00E1,\u1EA3,\u00E3,\u1EA1,\u0103,\u1EB1,\u1EAF,\u1EB3,\u1EB5,\u1EB7,\u00E2,\u1EA7,\u1EA5,\u1EA9,\u1EAB,\u1EAD", 3050 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 3051 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 3052 // U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE 3053 // U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE 3054 // U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW 3055 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 3056 // U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE 3057 // U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE 3058 // U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 3059 // U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE 3060 // U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW 3061 /* 1 */ "\u00E8,\u00E9,\u1EBB,\u1EBD,\u1EB9,\u00EA,\u1EC1,\u1EBF,\u1EC3,\u1EC5,\u1EC7", 3062 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3063 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3064 // U+1EC9: "ỉ" LATIN SMALL LETTER I WITH HOOK ABOVE 3065 // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE 3066 // U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW 3067 /* 2 */ "\u00EC,\u00ED,\u1EC9,\u0129,\u1ECB", 3068 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3069 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3070 // U+1ECF: "ỏ" LATIN SMALL LETTER O WITH HOOK ABOVE 3071 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3072 // U+1ECD: "ọ" LATIN SMALL LETTER O WITH DOT BELOW 3073 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3074 // U+1ED3: "ồ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE 3075 // U+1ED1: "ố" LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE 3076 // U+1ED5: "ổ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 3077 // U+1ED7: "ỗ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE 3078 // U+1ED9: "ộ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW 3079 // U+01A1: "ơ" LATIN SMALL LETTER O WITH HORN 3080 // U+1EDD: "ờ" LATIN SMALL LETTER O WITH HORN AND GRAVE 3081 // U+1EDB: "ớ" LATIN SMALL LETTER O WITH HORN AND ACUTE 3082 // U+1EDF: "ở" LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE 3083 // U+1EE1: "ỡ" LATIN SMALL LETTER O WITH HORN AND TILDE 3084 // U+1EE3: "ợ" LATIN SMALL LETTER O WITH HORN AND DOT BELOW 3085 /* 3 */ "\u00F2,\u00F3,\u1ECF,\u00F5,\u1ECD,\u00F4,\u1ED3,\u1ED1,\u1ED5,\u1ED7,\u1ED9,\u01A1,\u1EDD,\u1EDB,\u1EDF,\u1EE1,\u1EE3", 3086 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3087 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3088 // U+1EE7: "ủ" LATIN SMALL LETTER U WITH HOOK ABOVE 3089 // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE 3090 // U+1EE5: "ụ" LATIN SMALL LETTER U WITH DOT BELOW 3091 // U+01B0: "ư" LATIN SMALL LETTER U WITH HORN 3092 // U+1EEB: "ừ" LATIN SMALL LETTER U WITH HORN AND GRAVE 3093 // U+1EE9: "ứ" LATIN SMALL LETTER U WITH HORN AND ACUTE 3094 // U+1EED: "ử" LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE 3095 // U+1EEF: "ữ" LATIN SMALL LETTER U WITH HORN AND TILDE 3096 // U+1EF1: "ự" LATIN SMALL LETTER U WITH HORN AND DOT BELOW 3097 /* 4 */ "\u00F9,\u00FA,\u1EE7,\u0169,\u1EE5,\u01B0,\u1EEB,\u1EE9,\u1EED,\u1EEF,\u1EF1", 3098 /* 5~ */ 3099 null, null, null, 3100 /* ~7 */ 3101 // U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE 3102 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 3103 // U+1EF7: "ỷ" LATIN SMALL LETTER Y WITH HOOK ABOVE 3104 // U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE 3105 // U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW 3106 /* 8 */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5", 3107 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 3108 /* 9 */ "\u0111", 3109 /* 10~ */ 3110 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 3111 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 3112 null, null, null, null, null, null, null, null, null, null, null, 3113 /* ~50 */ 3114 // U+20AB: "₫" DONG SIGN 3115 /* 51 */ "\u20AB", 3116 }; 3117 3118 /* Language zu: Zulu */ 3119 private static final String[] LANGUAGE_zu = { 3120 // This is the same as English 3121 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 3122 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 3123 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 3124 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 3125 // U+00E6: "æ" LATIN SMALL LETTER AE 3126 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 3127 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 3128 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 3129 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 3130 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 3131 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 3132 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 3133 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 3134 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 3135 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113", 3136 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 3137 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 3138 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3139 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 3140 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3141 /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC", 3142 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3143 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 3144 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3145 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3146 // U+0153: "œ" LATIN SMALL LIGATURE OE 3147 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 3148 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 3149 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3150 /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5", 3151 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 3152 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 3153 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3154 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3155 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 3156 /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B", 3157 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 3158 /* 5 */ "\u00DF", 3159 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 3160 /* 6 */ "\u00F1", 3161 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 3162 /* 7 */ "\u00E7", 3163 }; 3164 3165 /* Language zz: Alphabet */ 3166 private static final String[] LANGUAGE_zz = { 3167 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 3168 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 3169 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 3170 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 3171 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 3172 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 3173 // U+00E6: "æ" LATIN SMALL LETTER AE 3174 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 3175 // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE 3176 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 3177 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 3178 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E3,\u00E4,\u00E5,\u00E6,\u00E3,\u00E5,\u0101,\u0103,\u0105,\u00AA", 3179 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 3180 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 3181 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 3182 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 3183 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 3184 // U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE 3185 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 3186 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 3187 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 3188 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113,\u0115,\u0117,\u0119,\u011B", 3189 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3190 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3191 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 3192 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 3193 // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE 3194 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 3195 // U+012D: "ĭ" LATIN SMALL LETTER I WITH BREVE 3196 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 3197 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 3198 // U+0133: "ij" LATIN SMALL LIGATURE IJ 3199 /* 2 */ "\u00EC,\u00ED,\u00EE,\u00EF,\u0129,\u012B,\u012D,\u012F,\u0131,\u0133", 3200 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3201 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3202 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3203 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3204 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 3205 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 3206 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 3207 // U+014F: "ŏ" LATIN SMALL LETTER O WITH BREVE 3208 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 3209 // U+0153: "œ" LATIN SMALL LIGATURE OE 3210 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 3211 /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u00F8,\u014D,\u014F,\u0151,\u0153,\u00BA", 3212 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3213 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3214 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 3215 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 3216 // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE 3217 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 3218 // U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE 3219 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 3220 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 3221 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 3222 /* 4 */ "\u00F9,\u00FA,\u00FB,\u00FC,\u0169,\u016B,\u016D,\u016F,\u0171,\u0173", 3223 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 3224 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 3225 // U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX 3226 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 3227 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 3228 // U+017F: "ſ" LATIN SMALL LETTER LONG S 3229 /* 5 */ "\u00DF,\u015B,\u015D,\u015F,\u0161,\u017F", 3230 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 3231 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 3232 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 3233 // U+0148: "ň" LATIN SMALL LETTER N WITH CARON 3234 // U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE 3235 // U+014B: "ŋ" LATIN SMALL LETTER ENG 3236 /* 6 */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B", 3237 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 3238 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 3239 // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX 3240 // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE 3241 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 3242 /* 7 */ "\u00E7,\u0107,\u0109,\u010B,\u010D", 3243 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 3244 // U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX 3245 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 3246 // U+0133: "ij" LATIN SMALL LIGATURE IJ 3247 /* 8 */ "\u00FD,\u0177,\u00FF,\u0133", 3248 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 3249 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 3250 // U+00F0: "ð" LATIN SMALL LETTER ETH 3251 /* 9 */ "\u010F,\u0111,\u00F0", 3252 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 3253 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 3254 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 3255 /* 10 */ "\u0155,\u0157,\u0159", 3256 // U+00FE: "þ" LATIN SMALL LETTER THORN 3257 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 3258 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 3259 // U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE 3260 /* 11 */ "\u00FE,\u0163,\u0165,\u0167", 3261 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 3262 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 3263 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 3264 /* 12 */ "\u017A,\u017C,\u017E", 3265 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 3266 // U+0138: "ĸ" LATIN SMALL LETTER KRA 3267 /* 13 */ "\u0137,\u0138", 3268 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 3269 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 3270 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 3271 // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT 3272 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 3273 /* 14 */ "\u013A,\u013C,\u013E,\u0140,\u0142", 3274 // U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX 3275 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 3276 // U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE 3277 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 3278 /* 15 */ "\u011D,\u011F,\u0121,\u0123", 3279 /* 16 */ null, 3280 // U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX 3281 /* 17 */ "\u0125", 3282 // U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX 3283 /* 18 */ "\u0135", 3284 // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX 3285 /* 19 */ "\u0175", 3286 }; 3287 3288 private static final Object[] LANGUAGES_AND_TEXTS = { 3289 "DEFAULT", LANGUAGE_DEFAULT, /* default */ 3290 "af", LANGUAGE_af, /* Afrikaans */ 3291 "ar", LANGUAGE_ar, /* Arabic */ 3292 "az", LANGUAGE_az, /* Azerbaijani */ 3293 "be", LANGUAGE_be, /* Belarusian */ 3294 "bg", LANGUAGE_bg, /* Bulgarian */ 3295 "ca", LANGUAGE_ca, /* Catalan */ 3296 "cs", LANGUAGE_cs, /* Czech */ 3297 "da", LANGUAGE_da, /* Danish */ 3298 "de", LANGUAGE_de, /* German */ 3299 "el", LANGUAGE_el, /* Greek */ 3300 "en", LANGUAGE_en, /* English */ 3301 "eo", LANGUAGE_eo, /* Esperanto */ 3302 "es", LANGUAGE_es, /* Spanish */ 3303 "et", LANGUAGE_et, /* Estonian */ 3304 "fa", LANGUAGE_fa, /* Persian */ 3305 "fi", LANGUAGE_fi, /* Finnish */ 3306 "fr", LANGUAGE_fr, /* French */ 3307 "hi", LANGUAGE_hi, /* Hindi */ 3308 "hr", LANGUAGE_hr, /* Croatian */ 3309 "hu", LANGUAGE_hu, /* Hungarian */ 3310 "hy", LANGUAGE_hy, /* Armenian */ 3311 "is", LANGUAGE_is, /* Icelandic */ 3312 "it", LANGUAGE_it, /* Italian */ 3313 "iw", LANGUAGE_iw, /* Hebrew */ 3314 "ka", LANGUAGE_ka, /* Georgian */ 3315 "kk", LANGUAGE_kk, /* Kazakh */ 3316 "ky", LANGUAGE_ky, /* Kirghiz */ 3317 "lt", LANGUAGE_lt, /* Lithuanian */ 3318 "lv", LANGUAGE_lv, /* Latvian */ 3319 "mk", LANGUAGE_mk, /* Macedonian */ 3320 "mn", LANGUAGE_mn, /* Mongolian */ 3321 "nb", LANGUAGE_nb, /* Norwegian Bokmål */ 3322 "nl", LANGUAGE_nl, /* Dutch */ 3323 "pl", LANGUAGE_pl, /* Polish */ 3324 "pt", LANGUAGE_pt, /* Portuguese */ 3325 "rm", LANGUAGE_rm, /* Raeto-Romance */ 3326 "ro", LANGUAGE_ro, /* Romanian */ 3327 "ru", LANGUAGE_ru, /* Russian */ 3328 "sk", LANGUAGE_sk, /* Slovak */ 3329 "sl", LANGUAGE_sl, /* Slovenian */ 3330 "sr", LANGUAGE_sr, /* Serbian */ 3331 "sv", LANGUAGE_sv, /* Swedish */ 3332 "sw", LANGUAGE_sw, /* Swahili */ 3333 "th", LANGUAGE_th, /* Thai */ 3334 "tl", LANGUAGE_tl, /* Tagalog */ 3335 "tr", LANGUAGE_tr, /* Turkish */ 3336 "uk", LANGUAGE_uk, /* Ukrainian */ 3337 "vi", LANGUAGE_vi, /* Vietnamese */ 3338 "zu", LANGUAGE_zu, /* Zulu */ 3339 "zz", LANGUAGE_zz, /* Alphabet */ 3340 }; 3341 3342 static { 3343 int id = 0; 3344 for (final String name : NAMES) { 3345 sNameToIdsMap.put(name, id++); 3346 } 3347 3348 for (int i = 0; i < LANGUAGES_AND_TEXTS.length; i += 2) { 3349 final String language = (String)LANGUAGES_AND_TEXTS[i]; 3350 final String[] texts = (String[])LANGUAGES_AND_TEXTS[i + 1]; 3351 sLocaleToTextsMap.put(language, texts); 3352 } 3353 } 3354} 3355