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