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