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