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