KeyboardTextsSet.java revision 0f317a56030ce6ffb3ff08c1ab3b2ff120e68aea
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 ne: Nepali */ 2370 private static final String[] LANGUAGE_ne = { 2371 /* 0~ */ 2372 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2373 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2374 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2375 /* ~44 */ 2376 // Label for "switch to alphabetic" key. 2377 // U+0915: "क" DEVANAGARI LETTER KA 2378 // U+0916: "ख" DEVANAGARI LETTER KHA 2379 // U+0917: "ग" DEVANAGARI LETTER GA 2380 /* 45 */ "\u0915\u0916\u0917", 2381 /* 46~ */ 2382 null, null, null, null, null, 2383 /* ~50 */ 2384 // U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN 2385 /* 51 */ "\u0930\u0941.", 2386 /* 52~ */ 2387 null, null, null, null, null, null, null, null, null, null, null, 2388 /* ~62 */ 2389 // U+0967: "१" DEVANAGARI DIGIT ONE 2390 /* 63 */ "\u0967", 2391 // U+0968: "२" DEVANAGARI DIGIT TWO 2392 /* 64 */ "\u0968", 2393 // U+0969: "३" DEVANAGARI DIGIT THREE 2394 /* 65 */ "\u0969", 2395 // U+096A: "४" DEVANAGARI DIGIT FOUR 2396 /* 66 */ "\u096A", 2397 // U+096B: "५" DEVANAGARI DIGIT FIVE 2398 /* 67 */ "\u096B", 2399 // U+096C: "६" DEVANAGARI DIGIT SIX 2400 /* 68 */ "\u096C", 2401 // U+096D: "७" DEVANAGARI DIGIT SEVEN 2402 /* 69 */ "\u096D", 2403 // U+096E: "८" DEVANAGARI DIGIT EIGHT 2404 /* 70 */ "\u096E", 2405 // U+096F: "९" DEVANAGARI DIGIT NINE 2406 /* 71 */ "\u096F", 2407 // U+0966: "०" DEVANAGARI DIGIT ZERO 2408 /* 72 */ "\u0966", 2409 // Label for "switch to symbols" key. 2410 /* 73 */ "?\u0967\u0968\u0969", 2411 // Label for "switch to symbols with microphone" key. This string shouldn't include the "mic" 2412 // part because it'll be appended by the code. 2413 /* 74 */ "\u0967\u0968\u0969", 2414 /* 75 */ "1", 2415 /* 76 */ "2", 2416 /* 77 */ "3", 2417 /* 78 */ "4", 2418 /* 79 */ "5", 2419 /* 80 */ "6", 2420 /* 81 */ "7", 2421 /* 82 */ "8", 2422 /* 83 */ "9", 2423 /* 84 */ "0", 2424 }; 2425 2426 /* Language nl: Dutch */ 2427 private static final String[] LANGUAGE_nl = { 2428 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2429 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2430 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2431 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2432 // U+00E6: "æ" LATIN SMALL LETTER AE 2433 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2434 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2435 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2436 /* 0 */ "\u00E1,\u00E4,\u00E2,\u00E0,\u00E6,\u00E3,\u00E5,\u0101", 2437 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2438 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2439 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2440 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2441 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2442 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2443 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2444 /* 1 */ "\u00E9,\u00EB,\u00EA,\u00E8,\u0119,\u0117,\u0113", 2445 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2446 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2447 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2448 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2449 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2450 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2451 // U+0133: "ij" LATIN SMALL LIGATURE IJ 2452 /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B,\u0133", 2453 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2454 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2455 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2456 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2457 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2458 // U+0153: "œ" LATIN SMALL LIGATURE OE 2459 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2460 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2461 /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 2462 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2463 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2464 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2465 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2466 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2467 /* 4 */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B", 2468 /* 5 */ null, 2469 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2470 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2471 /* 6 */ "\u00F1,\u0144", 2472 /* 7 */ null, 2473 // U+0133: "ij" LATIN SMALL LIGATURE IJ 2474 /* 8 */ "\u0133", 2475 /* 9~ */ 2476 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2477 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2478 null, null, null, null, null, null, null, 2479 /* ~45 */ 2480 /* 46 */ "!text/single_9qm_rqm", 2481 /* 47 */ "!text/double_9qm_rqm", 2482 }; 2483 2484 /* Language pl: Polish */ 2485 private static final String[] LANGUAGE_pl = { 2486 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2487 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2488 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2489 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2490 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2491 // U+00E6: "æ" LATIN SMALL LETTER AE 2492 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2493 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2494 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2495 /* 0 */ "\u0105,\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 2496 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2497 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2498 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2499 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2500 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2501 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2502 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2503 /* 1 */ "\u0119,\u00E8,\u00E9,\u00EA,\u00EB,\u0117,\u0113", 2504 /* 2 */ null, 2505 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2506 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2507 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2508 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2509 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2510 // U+0153: "œ" LATIN SMALL LIGATURE OE 2511 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2512 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2513 /* 3 */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D", 2514 /* 4 */ null, 2515 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2516 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2517 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2518 /* 5 */ "\u015B,\u00DF,\u0161", 2519 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2520 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2521 /* 6 */ "\u0144,\u00F1", 2522 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2523 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2524 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2525 /* 7 */ "\u0107,\u00E7,\u010D", 2526 /* 8~ */ 2527 null, null, null, null, 2528 /* ~11 */ 2529 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2530 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2531 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2532 /* 12 */ "\u017C,\u017A,\u017E", 2533 /* 13 */ null, 2534 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 2535 /* 14 */ "\u0142", 2536 /* 15~ */ 2537 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2538 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2539 null, 2540 /* ~45 */ 2541 /* 46 */ "!text/single_9qm_rqm", 2542 /* 47 */ "!text/double_9qm_rqm", 2543 }; 2544 2545 /* Language pt: Portuguese */ 2546 private static final String[] LANGUAGE_pt = { 2547 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2548 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2549 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2550 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2551 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2552 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2553 // U+00E6: "æ" LATIN SMALL LETTER AE 2554 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 2555 /* 0 */ "\u00E1,\u00E3,\u00E0,\u00E2,\u00E4,\u00E5,\u00E6,\u00AA", 2556 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2557 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2558 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2559 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2560 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2561 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2562 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2563 /* 1 */ "\u00E9,\u00EA,\u00E8,\u0119,\u0117,\u0113,\u00EB", 2564 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2565 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2566 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2567 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2568 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2569 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2570 /* 2 */ "\u00ED,\u00EE,\u00EC,\u00EF,\u012F,\u012B", 2571 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2572 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2573 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2574 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2575 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2576 // U+0153: "œ" LATIN SMALL LIGATURE OE 2577 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2578 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2579 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 2580 /* 3 */ "\u00F3,\u00F5,\u00F4,\u00F2,\u00F6,\u0153,\u00F8,\u014D,\u00BA", 2581 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2582 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2583 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2584 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2585 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2586 /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B", 2587 /* 5 */ null, 2588 /* 6 */ null, 2589 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2590 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2591 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2592 /* 7 */ "\u00E7,\u010D,\u0107", 2593 }; 2594 2595 /* Language rm: Raeto-Romance */ 2596 private static final String[] LANGUAGE_rm = { 2597 /* 0~ */ 2598 null, null, null, 2599 /* ~2 */ 2600 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2601 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2602 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2603 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2604 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2605 // U+0153: "œ" LATIN SMALL LIGATURE OE 2606 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2607 /* 3 */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u0153,\u00F8", 2608 }; 2609 2610 /* Language ro: Romanian */ 2611 private static final String[] LANGUAGE_ro = { 2612 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2613 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2614 // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE 2615 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2616 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2617 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2618 // U+00E6: "æ" LATIN SMALL LETTER AE 2619 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2620 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2621 /* 0 */ "\u00E2,\u00E3,\u0103,\u00E0,\u00E1,\u00E4,\u00E6,\u00E5,\u0101", 2622 /* 1 */ null, 2623 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2624 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2625 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2626 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2627 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2628 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2629 /* 2 */ "\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", 2630 /* 3 */ null, 2631 /* 4 */ null, 2632 // U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW 2633 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2634 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2635 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2636 /* 5 */ "\u0219,\u00DF,\u015B,\u0161", 2637 /* 6~ */ 2638 null, null, null, null, null, 2639 /* ~10 */ 2640 // U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW 2641 /* 11 */ "\u021B", 2642 /* 12~ */ 2643 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2644 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2645 null, null, null, null, 2646 /* ~45 */ 2647 /* 46 */ "!text/single_9qm_rqm", 2648 /* 47 */ "!text/double_9qm_rqm", 2649 }; 2650 2651 /* Language ru: Russian */ 2652 private static final String[] LANGUAGE_ru = { 2653 /* 0~ */ 2654 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2655 null, null, null, null, null, null, null, null, null, null, 2656 /* ~24 */ 2657 // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA 2658 /* 25 */ "\u0449", 2659 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 2660 /* 26 */ "\u044A", 2661 // U+044B: "ы" CYRILLIC SMALL LETTER YERU 2662 /* 27 */ "\u044B", 2663 // U+044D: "э" CYRILLIC SMALL LETTER E 2664 /* 28 */ "\u044D", 2665 // U+0438: "и" CYRILLIC SMALL LETTER I 2666 /* 29 */ "\u0438", 2667 /* 30~ */ 2668 null, null, null, null, null, null, null, 2669 /* ~36 */ 2670 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 2671 /* 37 */ "\u044A", 2672 /* 38~ */ 2673 null, null, null, null, null, 2674 /* ~42 */ 2675 // U+0451: "ё" CYRILLIC SMALL LETTER IO 2676 /* 43 */ "\u0451", 2677 /* 44 */ null, 2678 // Label for "switch to alphabetic" key. 2679 // U+0410: "А" CYRILLIC CAPITAL LETTER A 2680 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 2681 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 2682 /* 45 */ "\u0410\u0411\u0412", 2683 /* 46 */ "!text/single_9qm_lqm", 2684 /* 47 */ "!text/double_9qm_lqm", 2685 }; 2686 2687 /* Language sk: Slovak */ 2688 private static final String[] LANGUAGE_sk = { 2689 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2690 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2691 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2692 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2693 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2694 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2695 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2696 // U+00E6: "æ" LATIN SMALL LETTER AE 2697 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2698 /* 0 */ "\u00E1,\u00E4,\u0101,\u00E0,\u00E2,\u00E3,\u00E5,\u00E6,\u0105", 2699 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2700 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 2701 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2702 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 2703 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2704 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2705 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2706 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2707 /* 1 */ "\u00E9,\u011B,\u0113,\u0117,\u00E8,\u00EA,\u00EB,\u0119", 2708 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2709 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2710 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 2711 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2712 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2713 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2714 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 2715 /* 2 */ "\u00ED,\u012B,\u012F,\u00EC,\u00EE,\u00EF,\u0131", 2716 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2717 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2718 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2719 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2720 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2721 // U+0153: "œ" LATIN SMALL LIGATURE OE 2722 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 2723 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2724 /* 3 */ "\u00F4,\u00F3,\u00F6,\u00F2,\u00F5,\u0153,\u0151,\u00F8", 2725 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2726 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 2727 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2728 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2729 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 2730 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2731 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2732 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 2733 /* 4 */ "\u00FA,\u016F,\u00FC,\u016B,\u0173,\u00F9,\u00FB,\u0171", 2734 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2735 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2736 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2737 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 2738 /* 5 */ "\u0161,\u00DF,\u015B,\u015F", 2739 // U+0148: "ň" LATIN SMALL LETTER N WITH CARON 2740 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 2741 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2742 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2743 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 2744 /* 6 */ "\u0148,\u0146,\u00F1,\u0144,\u0144", 2745 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2746 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2747 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2748 /* 7 */ "\u010D,\u00E7,\u0107", 2749 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 2750 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 2751 /* 8 */ "\u00FD,\u00FF", 2752 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 2753 /* 9 */ "\u010F", 2754 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 2755 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 2756 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 2757 /* 10 */ "\u0155,\u0159,\u0157", 2758 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 2759 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 2760 /* 11 */ "\u0165,\u0163", 2761 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2762 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2763 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2764 /* 12 */ "\u017E,\u017C,\u017A", 2765 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 2766 /* 13 */ "\u0137", 2767 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 2768 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 2769 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 2770 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 2771 /* 14 */ "\u013E,\u013A,\u013C,\u0142", 2772 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 2773 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 2774 /* 15 */ "\u0123,\u011F", 2775 /* 16~ */ 2776 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2777 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2778 /* ~45 */ 2779 /* 46 */ "!text/single_9qm_lqm", 2780 /* 47 */ "!text/double_9qm_lqm", 2781 /* 48 */ "!text/single_raqm_laqm", 2782 /* 49 */ "!text/double_raqm_laqm", 2783 }; 2784 2785 /* Language sl: Slovenian */ 2786 private static final String[] LANGUAGE_sl = { 2787 /* 0~ */ 2788 null, null, null, null, null, 2789 /* ~4 */ 2790 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2791 /* 5 */ "\u0161", 2792 /* 6 */ null, 2793 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2794 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2795 /* 7 */ "\u010D,\u0107", 2796 /* 8 */ null, 2797 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 2798 /* 9 */ "\u0111", 2799 /* 10 */ null, 2800 /* 11 */ null, 2801 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2802 /* 12 */ "\u017E", 2803 /* 13~ */ 2804 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2805 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2806 null, null, null, 2807 /* ~45 */ 2808 /* 46 */ "!text/single_9qm_lqm", 2809 /* 47 */ "!text/double_9qm_lqm", 2810 /* 48 */ "!text/single_raqm_laqm", 2811 /* 49 */ "!text/double_raqm_laqm", 2812 }; 2813 2814 /* Language sr: Serbian */ 2815 private static final String[] LANGUAGE_sr = { 2816 /* 0~ */ 2817 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2818 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2819 null, null, null, null, null, null, null, null, null, 2820 /* ~38 */ 2821 // TODO: Move these to sr-Latn once we can handle IETF language tag with script name specified. 2822 // BEGIN: More keys definitions for Serbian (Latin) 2823 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2824 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2825 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2826 // <string name="more_keys_for_s">š,ß,ś</string> 2827 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 2828 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2829 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 2830 // <string name="more_keys_for_c">č,ç,ć</string> 2831 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 2832 // <string name="more_keys_for_d">ď</string> 2833 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 2834 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 2835 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 2836 // <string name="more_keys_for_z">ž,ź,ż</string> 2837 // END: More keys definitions for Serbian (Latin) 2838 // BEGIN: More keys definitions for Serbian (Cyrillic) 2839 // U+0437: "з" CYRILLIC SMALL LETTER ZE 2840 /* 39 */ "\u0437", 2841 // U+045B: "ћ" CYRILLIC SMALL LETTER TSHE 2842 /* 40 */ "\u045B", 2843 // U+0455: "ѕ" CYRILLIC SMALL LETTER DZE 2844 /* 41 */ "\u0455", 2845 // U+0452: "ђ" CYRILLIC SMALL LETTER DJE 2846 /* 42 */ "\u0452", 2847 // U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE 2848 /* 43 */ "\u0450", 2849 // U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE 2850 /* 44 */ "\u045D", 2851 // END: More keys definitions for Serbian (Cyrillic) 2852 // Label for "switch to alphabetic" key. 2853 // U+0410: "А" CYRILLIC CAPITAL LETTER A 2854 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 2855 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 2856 /* 45 */ "\u0410\u0411\u0412", 2857 /* 46 */ "!text/single_9qm_lqm", 2858 /* 47 */ "!text/double_9qm_lqm", 2859 /* 48 */ "!text/single_raqm_laqm", 2860 /* 49 */ "!text/double_raqm_laqm", 2861 }; 2862 2863 /* Language sv: Swedish */ 2864 private static final String[] LANGUAGE_sv = { 2865 /* 0 */ null, 2866 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2867 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2868 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2869 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2870 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2871 /* 1 */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119", 2872 /* 2 */ null, 2873 // U+0153: "œ" LATIN SMALL LIGATURE OE 2874 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2875 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2876 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2877 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2878 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2879 /* 3 */ "\u0153,\u00F4,\u00F2,\u00F3,\u00F5,\u014D", 2880 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2881 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2882 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2883 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2884 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2885 /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B", 2886 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2887 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 2888 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 2889 /* 5 */ "\u00DF,\u015B,\u0161", 2890 /* 6~ */ 2891 null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2892 /* ~19 */ 2893 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2894 /* 20 */ "\u00E5", 2895 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2896 /* 21 */ "\u00F6", 2897 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2898 /* 22 */ "\u00E4", 2899 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2900 /* 23 */ "\u00F8", 2901 // U+00E6: "æ" LATIN SMALL LETTER AE 2902 /* 24 */ "\u00E6", 2903 /* 25~ */ 2904 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2905 null, null, null, null, null, null, null, null, 2906 /* ~47 */ 2907 /* 48 */ "!text/single_raqm_laqm", 2908 /* 49 */ "!text/double_raqm_laqm", 2909 }; 2910 2911 /* Language sw: Swahili */ 2912 private static final String[] LANGUAGE_sw = { 2913 // This is the same as English except more_keys_for_g. 2914 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2915 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2916 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2917 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2918 // U+00E6: "æ" LATIN SMALL LETTER AE 2919 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2920 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2921 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2922 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 2923 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2924 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2925 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2926 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2927 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 2928 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113", 2929 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 2930 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 2931 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 2932 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 2933 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 2934 /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC", 2935 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 2936 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 2937 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 2938 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 2939 // U+0153: "œ" LATIN SMALL LIGATURE OE 2940 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 2941 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 2942 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 2943 /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5", 2944 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 2945 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 2946 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 2947 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 2948 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 2949 /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B", 2950 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 2951 /* 5 */ "\u00DF", 2952 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 2953 /* 6 */ "\u00F1", 2954 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 2955 /* 7 */ "\u00E7", 2956 /* 8~ */ 2957 null, null, null, null, null, null, null, 2958 /* ~14 */ 2959 /* 15 */ "g\'", 2960 }; 2961 2962 /* Language th: Thai */ 2963 private static final String[] LANGUAGE_th = { 2964 /* 0~ */ 2965 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2966 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2967 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 2968 /* ~44 */ 2969 // Label for "switch to alphabetic" key. 2970 // U+0E01: "ก" THAI CHARACTER KO KAI 2971 // U+0E02: "ข" THAI CHARACTER KHO KHAI 2972 // U+0E04: "ค" THAI CHARACTER KHO KHWAI 2973 /* 45 */ "\u0E01\u0E02\u0E04", 2974 /* 46~ */ 2975 null, null, null, null, null, 2976 /* ~50 */ 2977 // U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT 2978 /* 51 */ "\u0E3F", 2979 }; 2980 2981 /* Language tl: Tagalog */ 2982 private static final String[] LANGUAGE_tl = { 2983 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 2984 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 2985 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 2986 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 2987 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 2988 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 2989 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 2990 // U+00E6: "æ" LATIN SMALL LETTER AE 2991 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 2992 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 2993 /* 0 */ "\u00E1,\u00E0,\u00E4,\u00E2,\u00E3,\u00E5,\u0105,\u00E6,\u0101,\u00AA", 2994 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 2995 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 2996 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 2997 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 2998 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 2999 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 3000 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 3001 /* 1 */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113", 3002 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3003 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 3004 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3005 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 3006 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 3007 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 3008 /* 2 */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", 3009 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3010 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3011 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 3012 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3013 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3014 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 3015 // U+0153: "œ" LATIN SMALL LIGATURE OE 3016 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 3017 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 3018 /* 3 */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA", 3019 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3020 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 3021 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3022 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 3023 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 3024 /* 4 */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B", 3025 /* 5 */ null, 3026 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 3027 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 3028 /* 6 */ "\u00F1,\u0144", 3029 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 3030 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 3031 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 3032 /* 7 */ "\u00E7,\u0107,\u010D", 3033 }; 3034 3035 /* Language tr: Turkish */ 3036 private static final String[] LANGUAGE_tr = { 3037 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 3038 /* 0 */ "\u00E2", 3039 /* 1 */ null, 3040 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 3041 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 3042 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 3043 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3044 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3045 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 3046 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 3047 /* 2 */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", 3048 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 3049 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3050 // U+0153: "œ" LATIN SMALL LIGATURE OE 3051 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3052 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3053 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3054 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 3055 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 3056 /* 3 */ "\u00F6,\u00F4,\u0153,\u00F2,\u00F3,\u00F5,\u00F8,\u014D", 3057 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 3058 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 3059 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3060 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3061 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 3062 /* 4 */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B", 3063 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 3064 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 3065 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 3066 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 3067 /* 5 */ "\u015F,\u00DF,\u015B,\u0161", 3068 /* 6 */ null, 3069 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 3070 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 3071 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 3072 /* 7 */ "\u00E7,\u0107,\u010D", 3073 /* 8~ */ 3074 null, null, null, null, null, null, null, 3075 /* ~14 */ 3076 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 3077 /* 15 */ "\u011F", 3078 }; 3079 3080 /* Language uk: Ukrainian */ 3081 private static final String[] LANGUAGE_uk = { 3082 /* 0~ */ 3083 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 3084 null, null, null, null, null, null, null, null, null, null, 3085 /* ~24 */ 3086 // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA 3087 /* 25 */ "\u0449", 3088 // U+0457: "ї" CYRILLIC SMALL LETTER YI 3089 /* 26 */ "\u0457", 3090 // U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 3091 /* 27 */ "\u0456", 3092 // U+0454: "є" CYRILLIC SMALL LETTER UKRAINIAN IE 3093 /* 28 */ "\u0454", 3094 // U+0438: "и" CYRILLIC SMALL LETTER I 3095 /* 29 */ "\u0438", 3096 /* 30~ */ 3097 null, null, null, 3098 /* ~32 */ 3099 // U+0491: "ґ" CYRILLIC SMALL LETTER GHE WITH UPTURN 3100 /* 33 */ "\u0491", 3101 // U+0457: "ї" CYRILLIC SMALL LETTER YI 3102 /* 34 */ "\u0457", 3103 /* 35 */ null, 3104 /* 36 */ null, 3105 // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN 3106 /* 37 */ "\u044A", 3107 /* 38~ */ 3108 null, null, null, null, null, null, null, 3109 /* ~44 */ 3110 // Label for "switch to alphabetic" key. 3111 // U+0410: "А" CYRILLIC CAPITAL LETTER A 3112 // U+0411: "Б" CYRILLIC CAPITAL LETTER BE 3113 // U+0412: "В" CYRILLIC CAPITAL LETTER VE 3114 /* 45 */ "\u0410\u0411\u0412", 3115 /* 46 */ "!text/single_9qm_lqm", 3116 /* 47 */ "!text/double_9qm_lqm", 3117 /* 48~ */ 3118 null, null, null, 3119 /* ~50 */ 3120 // U+20B4: "₴" HRYVNIA SIGN 3121 /* 51 */ "\u20B4", 3122 }; 3123 3124 /* Language vi: Vietnamese */ 3125 private static final String[] LANGUAGE_vi = { 3126 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 3127 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 3128 // U+1EA3: "ả" LATIN SMALL LETTER A WITH HOOK ABOVE 3129 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 3130 // U+1EA1: "ạ" LATIN SMALL LETTER A WITH DOT BELOW 3131 // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE 3132 // U+1EB1: "ằ" LATIN SMALL LETTER A WITH BREVE AND GRAVE 3133 // U+1EAF: "ắ" LATIN SMALL LETTER A WITH BREVE AND ACUTE 3134 // U+1EB3: "ẳ" LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE 3135 // U+1EB5: "ẵ" LATIN SMALL LETTER A WITH BREVE AND TILDE 3136 // U+1EB7: "ặ" LATIN SMALL LETTER A WITH BREVE AND DOT BELOW 3137 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 3138 // U+1EA7: "ầ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE 3139 // U+1EA5: "ấ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE 3140 // U+1EA9: "ẩ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 3141 // U+1EAB: "ẫ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE 3142 // U+1EAD: "ậ" LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW 3143 /* 0 */ "\u00E0,\u00E1,\u1EA3,\u00E3,\u1EA1,\u0103,\u1EB1,\u1EAF,\u1EB3,\u1EB5,\u1EB7,\u00E2,\u1EA7,\u1EA5,\u1EA9,\u1EAB,\u1EAD", 3144 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 3145 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 3146 // U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE 3147 // U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE 3148 // U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW 3149 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 3150 // U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE 3151 // U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE 3152 // U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 3153 // U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE 3154 // U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW 3155 /* 1 */ "\u00E8,\u00E9,\u1EBB,\u1EBD,\u1EB9,\u00EA,\u1EC1,\u1EBF,\u1EC3,\u1EC5,\u1EC7", 3156 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3157 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3158 // U+1EC9: "ỉ" LATIN SMALL LETTER I WITH HOOK ABOVE 3159 // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE 3160 // U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW 3161 /* 2 */ "\u00EC,\u00ED,\u1EC9,\u0129,\u1ECB", 3162 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3163 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3164 // U+1ECF: "ỏ" LATIN SMALL LETTER O WITH HOOK ABOVE 3165 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3166 // U+1ECD: "ọ" LATIN SMALL LETTER O WITH DOT BELOW 3167 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3168 // U+1ED3: "ồ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE 3169 // U+1ED1: "ố" LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE 3170 // U+1ED5: "ổ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 3171 // U+1ED7: "ỗ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE 3172 // U+1ED9: "ộ" LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW 3173 // U+01A1: "ơ" LATIN SMALL LETTER O WITH HORN 3174 // U+1EDD: "ờ" LATIN SMALL LETTER O WITH HORN AND GRAVE 3175 // U+1EDB: "ớ" LATIN SMALL LETTER O WITH HORN AND ACUTE 3176 // U+1EDF: "ở" LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE 3177 // U+1EE1: "ỡ" LATIN SMALL LETTER O WITH HORN AND TILDE 3178 // U+1EE3: "ợ" LATIN SMALL LETTER O WITH HORN AND DOT BELOW 3179 /* 3 */ "\u00F2,\u00F3,\u1ECF,\u00F5,\u1ECD,\u00F4,\u1ED3,\u1ED1,\u1ED5,\u1ED7,\u1ED9,\u01A1,\u1EDD,\u1EDB,\u1EDF,\u1EE1,\u1EE3", 3180 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3181 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3182 // U+1EE7: "ủ" LATIN SMALL LETTER U WITH HOOK ABOVE 3183 // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE 3184 // U+1EE5: "ụ" LATIN SMALL LETTER U WITH DOT BELOW 3185 // U+01B0: "ư" LATIN SMALL LETTER U WITH HORN 3186 // U+1EEB: "ừ" LATIN SMALL LETTER U WITH HORN AND GRAVE 3187 // U+1EE9: "ứ" LATIN SMALL LETTER U WITH HORN AND ACUTE 3188 // U+1EED: "ử" LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE 3189 // U+1EEF: "ữ" LATIN SMALL LETTER U WITH HORN AND TILDE 3190 // U+1EF1: "ự" LATIN SMALL LETTER U WITH HORN AND DOT BELOW 3191 /* 4 */ "\u00F9,\u00FA,\u1EE7,\u0169,\u1EE5,\u01B0,\u1EEB,\u1EE9,\u1EED,\u1EEF,\u1EF1", 3192 /* 5~ */ 3193 null, null, null, 3194 /* ~7 */ 3195 // U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE 3196 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 3197 // U+1EF7: "ỷ" LATIN SMALL LETTER Y WITH HOOK ABOVE 3198 // U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE 3199 // U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW 3200 /* 8 */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5", 3201 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 3202 /* 9 */ "\u0111", 3203 /* 10~ */ 3204 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 3205 null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 3206 null, null, null, null, null, null, null, null, null, null, null, 3207 /* ~50 */ 3208 // U+20AB: "₫" DONG SIGN 3209 /* 51 */ "\u20AB", 3210 }; 3211 3212 /* Language zu: Zulu */ 3213 private static final String[] LANGUAGE_zu = { 3214 // This is the same as English 3215 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 3216 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 3217 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 3218 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 3219 // U+00E6: "æ" LATIN SMALL LETTER AE 3220 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 3221 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 3222 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 3223 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101", 3224 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 3225 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 3226 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 3227 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 3228 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 3229 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113", 3230 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 3231 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 3232 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3233 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 3234 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3235 /* 2 */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC", 3236 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3237 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 3238 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3239 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3240 // U+0153: "œ" LATIN SMALL LIGATURE OE 3241 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 3242 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 3243 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3244 /* 3 */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5", 3245 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 3246 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 3247 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3248 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3249 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 3250 /* 4 */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B", 3251 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 3252 /* 5 */ "\u00DF", 3253 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 3254 /* 6 */ "\u00F1", 3255 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 3256 /* 7 */ "\u00E7", 3257 }; 3258 3259 /* Language zz: Alphabet */ 3260 private static final String[] LANGUAGE_zz = { 3261 // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE 3262 // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE 3263 // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX 3264 // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE 3265 // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS 3266 // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE 3267 // U+00E6: "æ" LATIN SMALL LETTER AE 3268 // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON 3269 // U+0103: "ă" LATIN SMALL LETTER A WITH BREVE 3270 // U+0105: "ą" LATIN SMALL LETTER A WITH OGONEK 3271 // U+00AA: "ª" FEMININE ORDINAL INDICATOR 3272 /* 0 */ "\u00E0,\u00E1,\u00E2,\u00E3,\u00E4,\u00E5,\u00E6,\u00E3,\u00E5,\u0101,\u0103,\u0105,\u00AA", 3273 // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE 3274 // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE 3275 // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX 3276 // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS 3277 // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON 3278 // U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE 3279 // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE 3280 // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK 3281 // U+011B: "ě" LATIN SMALL LETTER E WITH CARON 3282 /* 1 */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113,\u0115,\u0117,\u0119,\u011B", 3283 // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE 3284 // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE 3285 // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX 3286 // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS 3287 // U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE 3288 // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON 3289 // U+012D: "ĭ" LATIN SMALL LETTER I WITH BREVE 3290 // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK 3291 // U+0131: "ı" LATIN SMALL LETTER DOTLESS I 3292 // U+0133: "ij" LATIN SMALL LIGATURE IJ 3293 /* 2 */ "\u00EC,\u00ED,\u00EE,\u00EF,\u0129,\u012B,\u012D,\u012F,\u0131,\u0133", 3294 // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE 3295 // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE 3296 // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX 3297 // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE 3298 // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS 3299 // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE 3300 // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON 3301 // U+014F: "ŏ" LATIN SMALL LETTER O WITH BREVE 3302 // U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE 3303 // U+0153: "œ" LATIN SMALL LIGATURE OE 3304 // U+00BA: "º" MASCULINE ORDINAL INDICATOR 3305 /* 3 */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u00F8,\u014D,\u014F,\u0151,\u0153,\u00BA", 3306 // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE 3307 // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE 3308 // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX 3309 // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS 3310 // U+0169: "ũ" LATIN SMALL LETTER U WITH TILDE 3311 // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON 3312 // U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE 3313 // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE 3314 // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE 3315 // U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK 3316 /* 4 */ "\u00F9,\u00FA,\u00FB,\u00FC,\u0169,\u016B,\u016D,\u016F,\u0171,\u0173", 3317 // U+00DF: "ß" LATIN SMALL LETTER SHARP S 3318 // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE 3319 // U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX 3320 // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA 3321 // U+0161: "š" LATIN SMALL LETTER S WITH CARON 3322 // U+017F: "ſ" LATIN SMALL LETTER LONG S 3323 /* 5 */ "\u00DF,\u015B,\u015D,\u015F,\u0161,\u017F", 3324 // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE 3325 // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE 3326 // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA 3327 // U+0148: "ň" LATIN SMALL LETTER N WITH CARON 3328 // U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE 3329 // U+014B: "ŋ" LATIN SMALL LETTER ENG 3330 /* 6 */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B", 3331 // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA 3332 // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE 3333 // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX 3334 // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE 3335 // U+010D: "č" LATIN SMALL LETTER C WITH CARON 3336 /* 7 */ "\u00E7,\u0107,\u0109,\u010B,\u010D", 3337 // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE 3338 // U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX 3339 // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS 3340 // U+0133: "ij" LATIN SMALL LIGATURE IJ 3341 /* 8 */ "\u00FD,\u0177,\u00FF,\u0133", 3342 // U+010F: "ď" LATIN SMALL LETTER D WITH CARON 3343 // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE 3344 // U+00F0: "ð" LATIN SMALL LETTER ETH 3345 /* 9 */ "\u010F,\u0111,\u00F0", 3346 // U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE 3347 // U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA 3348 // U+0159: "ř" LATIN SMALL LETTER R WITH CARON 3349 /* 10 */ "\u0155,\u0157,\u0159", 3350 // U+00FE: "þ" LATIN SMALL LETTER THORN 3351 // U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA 3352 // U+0165: "ť" LATIN SMALL LETTER T WITH CARON 3353 // U+0167: "ŧ" LATIN SMALL LETTER T WITH STROKE 3354 /* 11 */ "\u00FE,\u0163,\u0165,\u0167", 3355 // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE 3356 // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE 3357 // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON 3358 /* 12 */ "\u017A,\u017C,\u017E", 3359 // U+0137: "ķ" LATIN SMALL LETTER K WITH CEDILLA 3360 // U+0138: "ĸ" LATIN SMALL LETTER KRA 3361 /* 13 */ "\u0137,\u0138", 3362 // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE 3363 // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA 3364 // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON 3365 // U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT 3366 // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE 3367 /* 14 */ "\u013A,\u013C,\u013E,\u0140,\u0142", 3368 // U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX 3369 // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE 3370 // U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE 3371 // U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA 3372 /* 15 */ "\u011D,\u011F,\u0121,\u0123", 3373 /* 16 */ null, 3374 // U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX 3375 /* 17 */ "\u0125", 3376 // U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX 3377 /* 18 */ "\u0135", 3378 // U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX 3379 /* 19 */ "\u0175", 3380 }; 3381 3382 private static final Object[] LANGUAGES_AND_TEXTS = { 3383 "DEFAULT", LANGUAGE_DEFAULT, /* default */ 3384 "af", LANGUAGE_af, /* Afrikaans */ 3385 "ar", LANGUAGE_ar, /* Arabic */ 3386 "az", LANGUAGE_az, /* Azerbaijani */ 3387 "be", LANGUAGE_be, /* Belarusian */ 3388 "bg", LANGUAGE_bg, /* Bulgarian */ 3389 "ca", LANGUAGE_ca, /* Catalan */ 3390 "cs", LANGUAGE_cs, /* Czech */ 3391 "da", LANGUAGE_da, /* Danish */ 3392 "de", LANGUAGE_de, /* German */ 3393 "el", LANGUAGE_el, /* Greek */ 3394 "en", LANGUAGE_en, /* English */ 3395 "eo", LANGUAGE_eo, /* Esperanto */ 3396 "es", LANGUAGE_es, /* Spanish */ 3397 "et", LANGUAGE_et, /* Estonian */ 3398 "fa", LANGUAGE_fa, /* Persian */ 3399 "fi", LANGUAGE_fi, /* Finnish */ 3400 "fr", LANGUAGE_fr, /* French */ 3401 "hi", LANGUAGE_hi, /* Hindi */ 3402 "hr", LANGUAGE_hr, /* Croatian */ 3403 "hu", LANGUAGE_hu, /* Hungarian */ 3404 "hy", LANGUAGE_hy, /* Armenian */ 3405 "is", LANGUAGE_is, /* Icelandic */ 3406 "it", LANGUAGE_it, /* Italian */ 3407 "iw", LANGUAGE_iw, /* Hebrew */ 3408 "ka", LANGUAGE_ka, /* Georgian */ 3409 "kk", LANGUAGE_kk, /* Kazakh */ 3410 "ky", LANGUAGE_ky, /* Kirghiz */ 3411 "lo", LANGUAGE_lo, /* Lao */ 3412 "lt", LANGUAGE_lt, /* Lithuanian */ 3413 "lv", LANGUAGE_lv, /* Latvian */ 3414 "mk", LANGUAGE_mk, /* Macedonian */ 3415 "mn", LANGUAGE_mn, /* Mongolian */ 3416 "nb", LANGUAGE_nb, /* Norwegian Bokmål */ 3417 "ne", LANGUAGE_ne, /* Nepali */ 3418 "nl", LANGUAGE_nl, /* Dutch */ 3419 "pl", LANGUAGE_pl, /* Polish */ 3420 "pt", LANGUAGE_pt, /* Portuguese */ 3421 "rm", LANGUAGE_rm, /* Raeto-Romance */ 3422 "ro", LANGUAGE_ro, /* Romanian */ 3423 "ru", LANGUAGE_ru, /* Russian */ 3424 "sk", LANGUAGE_sk, /* Slovak */ 3425 "sl", LANGUAGE_sl, /* Slovenian */ 3426 "sr", LANGUAGE_sr, /* Serbian */ 3427 "sv", LANGUAGE_sv, /* Swedish */ 3428 "sw", LANGUAGE_sw, /* Swahili */ 3429 "th", LANGUAGE_th, /* Thai */ 3430 "tl", LANGUAGE_tl, /* Tagalog */ 3431 "tr", LANGUAGE_tr, /* Turkish */ 3432 "uk", LANGUAGE_uk, /* Ukrainian */ 3433 "vi", LANGUAGE_vi, /* Vietnamese */ 3434 "zu", LANGUAGE_zu, /* Zulu */ 3435 "zz", LANGUAGE_zz, /* Alphabet */ 3436 }; 3437 3438 static { 3439 int id = 0; 3440 for (final String name : NAMES) { 3441 sNameToIdsMap.put(name, id++); 3442 } 3443 3444 for (int i = 0; i < LANGUAGES_AND_TEXTS.length; i += 2) { 3445 final String language = (String)LANGUAGES_AND_TEXTS[i]; 3446 final String[] texts = (String[])LANGUAGES_AND_TEXTS[i + 1]; 3447 sLocaleToTextsMap.put(language, texts); 3448 } 3449 } 3450} 3451