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