From a8baad487780fa5cd0bd1cfa7f7fa98e4a66a868 Mon Sep 17 00:00:00 2001
From: Aleksandras Kostarevas <aleks076@protonmail.com>
Date: Sat, 24 Aug 2024 10:54:45 +0300
Subject: [PATCH] Fix issues with some locale texts

---
 .../keyboard/internal/KeyboardTextsTable.java | 1661 +++++++++--------
 .../locales/DEFAULT.json                      |   12 +
 .../make-keyboard-text-py/locales/bn_BD.json  |   25 +-
 tools/make-keyboard-text-py/locales/ca.json   |    4 +-
 tools/make-keyboard-text-py/locales/es.json   |    2 +-
 tools/make-keyboard-text-py/locales/hi.json   |    4 +-
 tools/make-keyboard-text-py/locales/hy.json   |    5 +-
 tools/make-keyboard-text-py/locales/ne.json   |    4 +-
 8 files changed, 902 insertions(+), 815 deletions(-)

diff --git a/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java
index ec89695a3c..d764424314 100644
--- a/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java
+++ b/java/src/org/futo/inputmethod/keyboard/internal/KeyboardTextsTable.java
@@ -88,9 +88,9 @@ public final class KeyboardTextsTable {
         "single_quotes",
         "morekeys_c",
         "keyspec_currency",
+        "morekeys_misc_o",
         "morekeys_misc_a",
         "morekeys_s",
-        "morekeys_misc_o",
         "morekeys_misc_u",
         "morekeys_misc_e",
         "morekeys_misc_i",
@@ -101,271 +101,272 @@ public final class KeyboardTextsTable {
         "double_angle_quotes",
         "single_angle_quotes",
         "morekeys_y",
-        "morekeys_misc_z",
-        "morekeys_d",
-        "morekeys_g",
-        "additional_morekeys_symbols_2",
-        "keyspec_symbols_6",
-        "keyspec_symbols_1",
-        "additional_morekeys_symbols_7",
-        "keylabel_to_symbol",
-        "keyspec_symbols_5",
-        "keyspec_symbols_8",
+        "additional_morekeys_symbols_9",
         "keyspec_symbols_2",
         "keyspec_symbols_3",
-        "additional_morekeys_symbols_1",
-        "additional_morekeys_symbols_5",
-        "additional_morekeys_symbols_9",
-        "additional_morekeys_symbols_6",
-        "additional_morekeys_symbols_4",
-        "morekeys_cyrillic_ie",
-        "additional_morekeys_symbols_8",
         "additional_morekeys_symbols_0",
-        "keyspec_symbols_9",
+        "additional_morekeys_symbols_4",
+        "morekeys_misc_z",
+        "additional_morekeys_symbols_2",
+        "additional_morekeys_symbols_5",
         "keyspec_symbols_4",
         "keyspec_symbols_0",
+        "additional_morekeys_symbols_7",
+        "morekeys_g",
         "keyspec_symbols_7",
+        "keyspec_symbols_1",
+        "additional_morekeys_symbols_8",
+        "keyspec_symbols_9",
+        "keyspec_symbols_6",
+        "morekeys_d",
+        "keyspec_symbols_8",
+        "additional_morekeys_symbols_1",
+        "additional_morekeys_symbols_6",
         "additional_morekeys_symbols_3",
+        "keyspec_symbols_5",
         "morekeys_tablet_period",
-        "morekeys_t",
-        "keyspec_east_slavic_row2_2",
-        "morekeys_period",
+        "morekeys_cyrillic_ie",
+        "keylabel_to_symbol",
+        "keyspec_nordic_row2_10",
         "keyspec_nordic_row2_11",
-        "keyspec_east_slavic_row1_9",
-        "keyspec_nordic_row1_11",
-        "morekeys_cyrillic_soft_sign",
-        "keyspec_tablet_comma",
+        "keyspec_east_slavic_row2_11",
         "morekeys_misc_n",
         "keyspec_period",
+        "keyspec_east_slavic_row1_9",
+        "morekeys_t",
         "morekeys_nordic_row2_10",
-        "keyspec_east_slavic_row2_11",
+        "keyspec_nordic_row1_11",
         "keyspec_east_slavic_row3_5",
-        "keyspec_nordic_row2_10",
-        "keyspec_left_double_angle_quote",
-        "keyspec_right_parenthesis",
-        "keyspec_greater_than",
-        "morekeys_r",
-        "keyspec_right_single_angle_quote",
-        "keyspec_greater_than_equal",
-        "morekeys_l",
-        "morekeys_question",
-        "keyspec_left_single_angle_quote",
-        "keyspec_comma",
+        "morekeys_cyrillic_soft_sign",
+        "keyspec_east_slavic_row2_2",
+        "morekeys_period",
+        "keyspec_tablet_comma",
         "morekeys_punctuation",
-        "morekeys_tablet_comma",
-        "keyspec_right_square_bracket",
-        "keyhintlabel_period",
         "keyspec_right_curly_bracket",
+        "keyspec_left_single_angle_quote",
         "keyspec_right_double_angle_quote",
-        "keyspec_less_than_equal",
-        "morekeys_nordic_row2_11",
         "keyspec_left_parenthesis",
+        "keyspec_right_single_angle_quote",
+        "morekeys_r",
+        "keyspec_left_square_bracket",
         "morekeys_star",
+        "keyspec_greater_than_equal",
+        "keyspec_less_than",
+        "morekeys_nordic_row2_11",
+        "morekeys_tablet_comma",
         "keyspec_tablet_period",
+        "keyspec_less_than_equal",
+        "keyspec_comma",
+        "morekeys_l",
         "keyspec_left_curly_bracket",
-        "keyspec_less_than",
-        "keyspec_left_square_bracket",
+        "keyspec_left_double_angle_quote",
+        "morekeys_question",
+        "keyspec_right_square_bracket",
+        "keyhintlabel_period",
+        "keyspec_right_parenthesis",
+        "keyspec_greater_than",
+        "morekeys_swiss_row2_11",
+        "morekeys_symbols_semicolon",
+        "keyspec_symbols_percent",
+        "morekeys_symbols_percent",
         "morekeys_right_parenthesis",
-        "morekeys_swiss_row1_11",
         "keyspec_spanish_row2_10",
-        "keyhintlabel_tablet_comma",
-        "keyspec_symbols_percent",
+        "morekeys_swiss_row1_11",
+        "morekeys_bullet",
         "keyspec_symbols_semicolon",
-        "morekeys_symbols_semicolon",
-        "keyspec_swiss_row2_10",
-        "keyhintlabel_tablet_period",
-        "morekeys_left_parenthesis",
         "morekeys_arabic_diacritics",
+        "keyspec_swiss_row2_10",
         "morekeys_misc_y",
-        "keyspec_swiss_row1_11",
+        "keyhintlabel_tablet_period",
         "morekeys_swiss_row2_10",
-        "morekeys_swiss_row2_11",
-        "morekeys_symbols_percent",
         "keyspec_symbols_question",
-        "morekeys_bullet",
+        "keyspec_swiss_row1_11",
+        "keyhintlabel_tablet_comma",
         "keyspec_swiss_row2_11",
-        "label_send_key",
-        "morekeys_k",
-        "morekeys_cyrillic_en",
-        "morekeys_cyrillic_u",
-        "label_next_key",
-        "morekeys_misc_g",
-        "label_previous_key",
+        "morekeys_left_parenthesis",
         "morekeys_h",
-        "label_pause_key",
-        "morekeys_east_slavic_row2_2",
-        "morekeys_cyrillic_ghe",
+        "label_search_key",
+        "morekeys_k",
         "label_wait_key",
-        "keyspec_south_slavic_row3_8",
+        "label_go_key",
+        "keyspec_south_slavic_row1_6",
+        "morekeys_cyrillic_ghe",
         "morekeys_tablet_punctuation",
-        "label_search_key",
+        "keyspec_south_slavic_row3_1",
+        "morekeys_misc_g",
         "keyspec_south_slavic_row2_11",
-        "keyspec_south_slavic_row1_6",
+        "morekeys_east_slavic_row2_2",
         "morekeys_misc_r",
-        "morekeys_cyrillic_i",
+        "morekeys_cyrillic_o",
         "morekeys_misc_l",
-        "label_go_key",
+        "label_previous_key",
+        "label_send_key",
+        "morekeys_cyrillic_u",
+        "keyspec_south_slavic_row3_8",
+        "morekeys_cyrillic_en",
+        "label_pause_key",
+        "morekeys_cyrillic_i",
         "label_done_key",
-        "keyspec_south_slavic_row3_1",
-        "morekeys_cyrillic_o",
+        "label_next_key",
         "morekeys_w",
-        "morekeys_misc_h",
-        "morekeys_j",
         "morekeys_cyrillic_a",
+        "morekeys_j",
+        "morekeys_less_than",
+        "morekeys_misc_h",
         "morekeys_misc_t",
-        "morekeys_plus",
         "keyspec_y",
         "morekeys_east_slavic_row2_11",
-        "morekeys_greater_than",
+        "morekeys_exclamation",
         "morekeys_cyrillic_ka",
+        "morekeys_greater_than",
         "morekeys_currency_dollar",
-        "keyspec_x",
-        "morekeys_exclamation",
+        "morekeys_plus",
         "keyspec_w",
         "keyspec_q",
-        "morekeys_less_than",
-        "number_9",
-        "actions_w",
-        "qwertysyms_k",
-        "number_2",
-        "qwertysyms_o",
-        "keylabel_to_phone_numeric",
-        "keylabel_to_phone_symbols",
-        "qwertysyms_d",
-        "actions_f",
-        "single_laqm_raqm",
-        "actions_x",
-        "single_rqm_9qm",
+        "keyspec_x",
+        "keyspec_emoji_action_key_navigation",
         "qwertysyms_n",
-        "actions_9",
-        "qwertysyms_1",
-        "actions_2",
-        "actions_s",
-        "qwertysyms_5",
-        "double_9qm_lqm",
-        "actions_p",
-        "actions_g",
-        "actions_j",
-        "actions_a",
-        "morekeys_symbols_4",
-        "qwertysyms_g",
-        "morekeys_misc_w",
-        "morekeys_misc_f",
-        "actions_t",
-        "qwertysyms_2",
-        "qwertysyms_t",
-        "morekeys_currency_generic",
-        "keyspecs_right_parenthesis_more_keys",
-        "qwertysyms_x",
-        "qwertysyms_6",
-        "qwertysyms_i",
-        "actions_8",
-        "actions_4",
-        "actions_0",
-        "actions_q",
-        "morekeys_symbols_0",
-        "morekeys_misc_d",
-        "actions_k",
-        "keyspec_settings",
-        "qwertysyms_r",
-        "double_laqm_raqm",
+        "morekeys_misc_m",
+        "qwertysyms_7",
+        "qwertysyms_8",
+        "morekeys_f",
+        "single_lqm_rqm",
         "morekeys_misc_k",
-        "morekeys_m",
-        "keylabel_time_pm",
+        "qwertysyms_p",
+        "morekeys_symbols_4",
+        "morekeys_symbols_5",
         "actions_d",
-        "actions_b",
         "actions_u",
-        "actions_r",
+        "morekeys_x",
+        "morekeys_misc_v",
         "morekeys_tablet_double_quote",
-        "keylabel_time_am",
-        "qwertysyms_y",
-        "actions_i",
-        "single_9qm_lqm",
+        "morekeys_q",
+        "keylabel_to_phone_numeric",
+        "morekeys_symbols_6",
+        "double_9qm_rqm",
+        "keyspec_emoji_action_key",
+        "morekeys_b",
+        "actions_l",
+        "actions_2",
+        "actions_h",
+        "single_rqm_9qm",
+        "actions_1",
+        "actions_p",
         "actions_5",
+        "keylabel_to_more_symbol",
+        "number_6",
+        "morekeys_p",
+        "morekeys_misc_b",
+        "keylabel_time_pm",
+        "actions_4",
+        "actions_j",
+        "number_1",
+        "morekeys_symbols_8",
+        "actions_9",
         "number_3",
-        "number_5",
-        "morekeys_b",
-        "qwertysyms_9",
-        "qwertysyms_b",
+        "actions_0",
+        "keyspec_action_next",
+        "double_9qm_lqm",
+        "actions_s",
+        "double_lqm_rqm",
+        "actions_t",
+        "number_4",
+        "qwertysyms_m",
+        "qwertysyms_u",
+        "actions_k",
+        "double_laqm_raqm",
         "keyspec_action_previous",
-        "qwertysyms_8",
+        "actions_a",
+        "number_7",
+        "morekeys_currency_generic",
+        "qwertysyms_5",
+        "qwertysyms_t",
+        "qwertysyms_g",
         "morekeys_v",
-        "actions_y",
-        "actions_3",
-        "single_lqm_rqm",
-        "actions_c",
-        "keyspec_shortcut",
         "qwertysyms_z",
-        "morekeys_f",
-        "actions_1",
-        "double_lqm_rqm",
-        "morekeys_symbols_3",
-        "morekeys_symbols_5",
-        "morekeys_symbols_8",
-        "qwertysyms_7",
-        "number_7",
-        "actions_e",
-        "qwertysyms_w",
-        "morekeys_symbols_7",
-        "morekeys_p",
-        "qwertysyms_u",
-        "double_9qm_rqm",
-        "qwertysyms_3",
-        "qwertysyms_h",
-        "morekeys_misc_v",
-        "qwertysyms_0",
-        "keyspecs_left_parenthesis_more_keys",
-        "morekeys_misc_q",
-        "qwertysyms_j",
-        "keyspec_emoji_action_key",
-        "actions_n",
-        "morekeys_x",
-        "morekeys_misc_x",
+        "actions_8",
+        "number_9",
+        "morekeys_double_quote",
+        "keyspec_shortcut",
+        "actions_x",
+        "single_9qm_rqm",
+        "qwertysyms_y",
+        "number_8",
+        "actions_q",
+        "morekeys_symbols_2",
+        "number_0",
+        "qwertysyms_x",
         "actions_o",
         "actions_z",
-        "morekeys_symbols_9",
-        "morekeys_double_quote",
         "qwertysyms_4",
-        "qwertysyms_s",
-        "qwertysyms_a",
-        "morekeys_q",
-        "single_raqm_laqm",
-        "keyspec_action_next",
-        "qwertysyms_v",
-        "keylabel_to_more_symbol",
-        "number_1",
-        "single_9qm_rqm",
-        "actions_6",
-        "number_8",
-        "keylabel_tablet_to_more_symbol",
         "qwertysyms_e",
-        "qwertysyms_m",
-        "morekeys_misc_j",
-        "morekeys_misc_m",
+        "morekeys_symbols_3",
+        "actions_e",
         "morekeys_misc_p",
-        "qwertysyms_f",
-        "qwertysyms_l",
+        "morekeys_symbols_9",
+        "qwertysyms_v",
         "actions_v",
-        "actions_h",
-        "actions_m",
-        "double_rqm_9qm",
-        "morekeys_popular_domain",
-        "number_4",
-        "morekeys_symbols_6",
-        "morekeys_symbols_1",
-        "morekeys_misc_b",
-        "number_6",
+        "qwertysyms_h",
+        "morekeys_misc_w",
+        "qwertysyms_r",
+        "actions_f",
+        "number_5",
+        "single_laqm_raqm",
+        "actions_i",
+        "actions_n",
         "morekeys_am_pm",
-        "keyspec_popular_domain",
-        "qwertysyms_q",
         "double_raqm_laqm",
-        "morekeys_symbols_2",
-        "qwertysyms_c",
-        "actions_l",
-        "morekeys_single_quote",
-        "qwertysyms_p",
+        "number_2",
+        "morekeys_misc_x",
+        "actions_w",
+        "keyspecs_left_parenthesis_more_keys",
+        "morekeys_m",
+        "qwertysyms_q",
+        "qwertysyms_i",
+        "actions_y",
+        "actions_b",
+        "actions_r",
+        "morekeys_misc_q",
+        "qwertysyms_w",
+        "keyspecs_right_parenthesis_more_keys",
+        "morekeys_symbols_7",
+        "single_raqm_laqm",
+        "keyspec_settings",
+        "morekeys_symbols_1",
+        "keylabel_tablet_to_more_symbol",
+        "keylabel_to_phone_symbols",
+        "qwertysyms_l",
         "actions_7",
-        "number_0"
+        "morekeys_misc_d",
+        "morekeys_popular_domain",
+        "actions_m",
+        "morekeys_single_quote",
+        "qwertysyms_2",
+        "keylabel_time_am",
+        "qwertysyms_9",
+        "qwertysyms_k",
+        "actions_3",
+        "qwertysyms_0",
+        "single_9qm_lqm",
+        "keyspec_popular_domain",
+        "qwertysyms_1",
+        "qwertysyms_s",
+        "qwertysyms_j",
+        "morekeys_misc_f",
+        "morekeys_symbols_0",
+        "qwertysyms_b",
+        "qwertysyms_3",
+        "morekeys_misc_j",
+        "qwertysyms_d",
+        "actions_g",
+        "qwertysyms_c",
+        "qwertysyms_6",
+        "qwertysyms_o",
+        "qwertysyms_a",
+        "double_rqm_9qm",
+        "qwertysyms_f",
+        "actions_c",
+        "actions_6"
     };
 
     private static final String EMPTY = "";
@@ -382,9 +383,9 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f6,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00e2,\u00e4,\u00e0,\u00e6,\u00e3,\u00e5,\u0101",
         null,
-        "\u00f6,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00fc,\u00f9,\u016b",
         "\u0119,\u0117,\u0113",
         "\u012f,\u012b,\u0133"
@@ -415,88 +416,89 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        "2",
-        "\u0666",
-        "\u0661",
-        "7",
-        "\u0663\u0662\u0661\u061f",
-        "\u0665",
-        "\u0668",
+        "9",
         "\u0662",
         "\u0663",
-        "1",
-        "5",
-        "9",
-        "6",
+        "0,\u066b,\u066c",
         "4",
         null,
-        "8",
-        "0,\u066b,\u066c",
-        "\u0669",
+        "2",
+        "5",
         "\u0664",
         "\u0660",
+        "7",
+        null,
         "\u0667",
+        "\u0661",
+        "8",
+        "\u0669",
+        "\u0666",
+        null,
+        "\u0668",
+        "1",
+        "6",
         "3",
+        "\u0665",
         "!text/morekeys_arabic_diacritics",
         null,
-        null,
-        "!text/morekeys_arabic_diacritics",
+        "\u0663\u0662\u0661\u061f",
         null,
         null,
         null,
         null,
-        "\u060c",
         null,
         null,
         null,
         null,
         null,
         null,
-        "\u00ab|\u00bb",
-        ")|(",
-        ">|<",
         null,
-        "\u203a|\u2039",
-        "\u2265|\u2264",
         null,
-        "?,\u00bf",
-        "\u2039|\u203a",
+        "!text/morekeys_arabic_diacritics",
         "\u060c",
         null,
-        "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,\\\",\\'",
-        "]|[",
-        "\u0651",
         "}|{",
+        "\u2039|\u203a",
         "\u00bb|\u00ab",
-        "\u2264|\u2265",
-        null,
         "(|)",
+        "\u203a|\u2039",
+        null,
+        "[|]",
         "\u2605,\u066d",
+        "\u2265|\u2264",
+        "<|>",
+        null,
+        "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,\\\",\\'",
+        null,
+        "\u2264|\u2265",
+        "\u060c",
         null,
         "{|}",
-        "<|>",
-        "[|]",
+        "\u00ab|\u00bb",
+        "?,\u00bf",
+        "]|[",
+        "\u0651",
+        ")|(",
+        ">|<",
+        null,
+        ";",
+        "\u066a",
+        "\\%,\u2030",
         "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys",
         null,
         null,
-        "\u061f",
-        "\u066a",
+        "\u266a",
         "\u061b",
-        ";",
-        null,
-        "\u0651",
-        "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys",
         "!fixedColumnOrder!8, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u0651\u25cc|\u0651, \u064b\u25cc|\u064b,!text/keyspec_symbols_question,!, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f,\u0640, \u0655\u25cc|\u0655, \u064e\u25cc|\u064e",
         null,
         null,
+        "\u0651",
         null,
+        "\u061f",
         null,
-        "\\%,\u2030",
         "\u061f",
-        "\u266a"
+        null,
+        "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys"
     };
 
     private static final String[] TEXTS_az = {
@@ -512,8 +514,8 @@ public final class KeyboardTextsTable {
         "\u00e7,\u0107,\u010d",
         null,
         null,
-        "\u015f,\u00df,\u015b,\u0161",
         null,
+        "\u015f,\u00df,\u015b,\u0161",
         null,
         null,
         null,
@@ -526,6 +528,15 @@ public final class KeyboardTextsTable {
         "\u00fd",
         null,
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u011f"
     };
 
@@ -571,8 +582,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0451",
-        null,
         null,
         null,
         null,
@@ -580,19 +589,20 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0451",
         null,
-        "\u044b",
         null,
         null,
-        "\u045e",
+        "\u044d",
         null,
-        "\u044a",
         null,
+        "\u045e",
         null,
         null,
         null,
-        "\u044d",
-        "\u0456"
+        "\u0456",
+        "\u044a",
+        "\u044b"
     };
 
     private static final String[] TEXTS_bg = {
@@ -617,7 +627,43 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u09f3"
+        "\u09f3",
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        "9",
+        "\u09e8",
+        "\u09e9",
+        "0",
+        "4",
+        null,
+        "2",
+        "5",
+        "\u09ea",
+        "\u09e6",
+        "7",
+        null,
+        "\u09ed",
+        "\u09e7",
+        "8",
+        "\u09ef",
+        "\u09ec",
+        null,
+        "\u09ee",
+        "1",
+        "6",
+        "3",
+        "\u09eb"
     };
 
     private static final String[] TEXTS_bn_IN = {
@@ -646,9 +692,9 @@ public final class KeyboardTextsTable {
         null,
         "\u00e7",
         null,
+        "\u00f6,\u00f4,\u00f5,\u00f8,\u0153,\u014d,\u00ba",
         "\u00e1,\u00e4,\u00e2,\u00e3,\u00e5,\u0105,\u00e6,\u0101,\u00aa",
         null,
-        "\u00f6,\u00f4,\u00f5,\u00f8,\u0153,\u014d,\u00ba",
         "\u00f9,\u00fb,\u016b",
         "\u00eb,\u00ea,\u0119,\u0117,\u0113",
         "\u00ec,\u00ee,\u012f,\u012b",
@@ -699,6 +745,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "!autoColumnOrder!9,\\\\,?,!,\u00b7,#,),(,/,;,',@,:,-,\\\",+,\\%,&",
         null,
         null,
         null,
@@ -709,7 +756,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "!autoColumnOrder!9,\\,?,!,\u00b7,#,),(,/,;,',@,:,-,\\\",+,\\%,&",
         null,
         null,
         null,
@@ -725,16 +771,10 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u00e7",
-        null,
-        null,
-        null,
-        null,
-        null,
-        null,
         null,
         null,
         null,
+        "\u00e7",
         null,
         null,
         null,
@@ -755,7 +795,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "!autoColumnOrder!8,\\,',\u00b7,#,),(,/,;,@,:,-,\\\",+,\\%,&"
+        "!autoColumnOrder!8,\\\\,',\u00b7,#,),(,/,;,@,:,-,\\\",+,\\%,&"
     };
 
     private static final String[] TEXTS_ckb = {
@@ -783,88 +823,89 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        "2",
-        "\u0666",
-        "\u0661",
-        "7",
-        "\u0663\u0662\u0661\u061f",
-        "\u0665",
-        "\u0668",
+        "9",
         "\u0662",
         "\u0663",
-        "1",
-        "5",
-        "9",
-        "6",
+        "0,\u066b,\u066c",
         "4",
         null,
-        "8",
-        "0,\u066b,\u066c",
-        "\u0669",
+        "2",
+        "5",
         "\u0664",
         "\u0660",
-        "\u0667",
-        "3",
-        "\u061f",
+        "7",
         null,
+        "\u0667",
+        "\u0661",
+        "8",
+        "\u0669",
+        "\u0666",
         null,
+        "\u0668",
+        "1",
+        "6",
+        "3",
+        "\u0665",
         "\u061f",
         null,
+        "\u0663\u0662\u0661\u061f",
         null,
         null,
         null,
-        "\u060c",
         null,
         ".",
         null,
         null,
         null,
         null,
-        "\u00ab|\u00bb",
-        ")|(",
-        ">|<",
         null,
-        "\u203a|\u2039",
-        "\u2265|\u2264",
         null,
-        "?,\u00bf",
-        "\u2039|\u203a",
+        null,
+        "\u061f",
         "\u060c",
         null,
-        "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,\\\",\\'",
-        "]|[",
-        "\u0651",
         "}|{",
+        "\u2039|\u203a",
         "\u00bb|\u00ab",
-        "\u2264|\u2265",
-        null,
         "(|)",
+        "\u203a|\u2039",
+        null,
+        "[|]",
         "\u2605,\u066d",
+        "\u2265|\u2264",
+        "<|>",
+        null,
+        "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,\\\",\\'",
+        null,
+        "\u2264|\u2265",
+        "\u060c",
         null,
         "{|}",
-        "<|>",
-        "[|]",
+        "\u00ab|\u00bb",
+        "?,\u00bf",
+        "]|[",
+        "\u0651",
+        ")|(",
+        ">|<",
+        null,
+        ";",
+        "\u066a",
+        "\\%,\u2030",
         "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys",
         null,
         null,
-        "\u061f",
-        "\u066a",
+        "\u266a",
         "\u061b",
-        ";",
-        null,
-        "\u0651",
-        "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys",
-        "!fixedColumnOrder!7,\u25cc\u0655|\u0655,\u25cc\u0654|\u0654,\u25cc\u0652|\u0652,\u25cc\u064d|\u064d,\u25cc\u064c|\u064c,\u25cc\u064b|\u064b,\u25cc\u0651|\u0651,\u25cc\u0656|\u0656,\u25cc\u0670|\u0670,\u25cc\u0653|\u0653,\u25cc\u0650|\u0650,\u25cc\u064f|\u064f,\u25cc\u064e|\u064e,\u0640|\u0640",
+        "!fixedColumnOrder!7, \u0655\u25cc|\u0655, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u064b\u25cc|\u064b, \u0651\u25cc|\u0651, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f, \u064e\u25cc|\u064e,\u0640|\u0640",
         null,
         null,
+        "\u0651",
         null,
+        "\u061f",
         null,
-        "\\%,\u2030",
         "\u061f",
-        "\u266a"
+        null,
+        "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys"
     };
 
     private static final String[] TEXTS_cs = {
@@ -879,9 +920,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_lqm",
         "\u010d",
         null,
+        "\u00f6,\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101",
         "\u0161",
-        "\u00f6,\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00fb,\u00fc,\u00f9,\u016b",
         "\u00e8,\u00ea,\u00eb,\u0119,\u0117,\u0113",
         "\u00ee,\u00ef,\u00ec,\u012f,\u012b",
@@ -892,13 +933,12 @@ public final class KeyboardTextsTable {
         "!text/double_raqm_laqm",
         "!text/single_raqm_laqm",
         "\u00fd",
-        "\u017a,\u017c",
-        "\u010f",
         null,
         null,
         null,
         null,
         null,
+        "\u017a,\u017c",
         null,
         null,
         null,
@@ -910,6 +950,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u010f",
         null,
         null,
         null,
@@ -918,15 +959,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0165",
         null,
         null,
         null,
+        "\u00f1,\u0144",
         null,
         null,
+        "\u0165",
         null,
         null,
-        "\u00f1,\u0144",
         null,
         null,
         null,
@@ -935,10 +976,10 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0159",
         null,
         null,
         null,
+        "\u0159",
         null,
         null,
         null,
@@ -982,9 +1023,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_lqm",
         null,
         null,
+        "\u00f6,\u00f3,\u00f4,\u00f2,\u00f5,\u0153,\u014d",
         "\u00e1,\u00e4,\u00e0,\u00e2,\u00e3,\u0101",
         null,
-        "\u00f6,\u00f3,\u00f4,\u00f2,\u00f5,\u0153,\u014d",
         null,
         null,
         null,
@@ -1021,21 +1062,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
+        "\u00e6",
         "\u00f8",
         null,
-        "\u00e5",
         null,
         null,
         null,
         null,
         "\u00e4",
-        null,
-        null,
-        "\u00e6",
-        null,
+        "\u00e5",
         null,
         null,
         null,
@@ -1067,9 +1102,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_lqm",
         null,
         null,
+        "%,\u00f4,\u00f2,\u00f3,\u00f5,\u0153,\u00f8,\u014d",
         "%,\u00e2,\u00e0,\u00e1,\u00e6,\u00e3,\u00e5,\u0101",
         "\u00df",
-        "%,\u00f4,\u00f2,\u00f3,\u00f5,\u0153,\u00f8,\u014d",
         "%,\u00fb,\u00f9,\u00fa,\u016b",
         null,
         null,
@@ -1144,23 +1179,22 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00e0",
         null,
-        "\u00e8",
         null,
         null,
         null,
         null,
+        "\u00e8",
         null,
-        "\u00f6",
         null,
         null,
+        "\u00f6",
         null,
         null,
-        "\u00fc",
         "\u00e9",
-        "\u00e0",
-        null,
         null,
+        "\u00fc",
         null,
         "\u00e4"
     };
@@ -1187,8 +1221,8 @@ public final class KeyboardTextsTable {
         "\u0109",
         null,
         null,
-        "\u015d",
         null,
+        "\u015d",
         "\u00fa,\u016f,\u00fb,\u00fc,\u00f9,\u016b,\u0169,\u0171,\u0173,\u00b5",
         null,
         null,
@@ -1201,7 +1235,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u011d",
         null,
         null,
         null,
@@ -1211,6 +1244,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u011d",
         null,
         null,
         null,
@@ -1265,10 +1299,10 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0135",
         null,
         null,
         null,
+        "\u0135",
         null,
         null,
         null,
@@ -1282,16 +1316,16 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0125",
         null,
         null,
         null,
         null,
         null,
-        "\u011f,\u0121,\u0123",
         null,
-        "\u0125",
         null,
         null,
+        "\u011f,\u0121,\u0123",
         null,
         null,
         null,
@@ -1307,20 +1341,21 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0127",
         null,
         null,
         null,
+        "\u0127",
         null,
         "\u016d",
         null,
         null,
         null,
         null,
-        "\u0109",
+        null,
         null,
         "\u011d",
-        "\u015d"
+        "\u015d",
+        "\u0109"
     };
 
     private static final String[] TEXTS_es = {
@@ -1335,9 +1370,9 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f2,\u00f6,\u00f4,\u00f5,\u00f8,\u0153,\u014d,\u00ba",
         "\u00e0,\u00e4,\u00e2,\u00e3,\u00e5,\u0105,\u00e6,\u0101,\u00aa",
         null,
-        "\u00f2,\u00f6,\u00f4,\u00f5,\u00f8,\u0153,\u014d,\u00ba",
         "\u00f9,\u00fb,\u016b",
         "\u00e8,\u00eb,\u00ea,\u0119,\u0117,\u0113",
         "\u00ef,\u00ec,\u00ee,\u012f,\u012b",
@@ -1377,11 +1412,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        null,
-        null,
         "\u0144",
         null,
         null,
@@ -1393,12 +1423,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        null,
-        null,
-        "!autoColumnOrder!9,\\,?,!,#,),(,/,;,\u00a1,',@,:,-,\\\",+,\\%,&,\u00bf"
+        "!autoColumnOrder!9,\\\\,?,!,#,),(,/,;,\u00a1,',@,:,-,\\\",+,\\%,&,\u00bf"
     };
 
     private static final String[] TEXTS_et = {
@@ -1413,9 +1438,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_lqm",
         null,
         null,
+        "\u00f2,\u00f3,\u00f4,\u0153,\u0151,\u00f8",
         "\u0101,\u00e0,\u00e1,\u00e2,\u00e3,\u00e5,\u00e6,\u0105",
         "\u0161",
-        "\u00f2,\u00f3,\u00f4,\u0153,\u0151,\u00f8",
         "\u016b,\u0173,\u00f9,\u00fa,\u00fb,\u016f,\u0171",
         null,
         null,
@@ -1426,15 +1451,12 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u017c,\u017a",
-        null,
-        null,
-        null,
         null,
         null,
         null,
         null,
         null,
+        "\u017c,\u017a",
         null,
         null,
         null,
@@ -1455,17 +1477,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f6",
         "\u00e4",
         null,
-        "\u00fc",
         null,
         null,
         null,
         null,
         "\u00f5",
-        null,
-        null,
-        "\u00f6"
+        "\u00fc"
     };
 
     private static final String[] TEXTS_eu = {
@@ -1514,93 +1534,89 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        "2",
-        "\u06f6",
-        "\u06f1",
-        "7",
-        "\u06f3\u06f2\u06f1\u061f",
-        "\u06f5",
-        "\u06f8",
+        "9",
         "\u06f2",
         "\u06f3",
-        "1",
-        "5",
-        "9",
-        "6",
+        "0,\u066b,\u066c",
         "4",
         null,
-        "8",
-        "0,\u066b,\u066c",
-        "\u06f9",
+        "2",
+        "5",
         "\u06f4",
         "\u06f0",
+        "7",
+        null,
         "\u06f7",
+        "\u06f1",
+        "8",
+        "\u06f9",
+        "\u06f6",
+        null,
+        "\u06f8",
+        "1",
+        "6",
         "3",
+        "\u06f5",
         "!text/morekeys_arabic_diacritics",
         null,
-        null,
-        "!text/morekeys_arabic_diacritics",
+        "\u06f3\u06f2\u06f1\u061f",
         null,
         null,
         null,
         null,
-        "\u060c",
         null,
         null,
         null,
         null,
         null,
         null,
-        "\u00ab|\u00bb",
-        ")|(",
-        ">|<",
         null,
-        "\u203a|\u2039",
-        "\u2265|\u2264",
         null,
-        "?,\u00bf",
-        "\u2039|\u203a",
+        "!text/morekeys_arabic_diacritics",
         "\u060c",
         null,
-        "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
-        "]|[",
-        "\u064b",
         "}|{",
+        "\u2039|\u203a",
         "\u00bb|\u00ab",
-        "\u2264|\u2265",
-        null,
         "(|)",
-        "\u2605,\u066d",
+        "\u203a|\u2039",
         null,
-        "{|}",
-        "<|>",
         "[|]",
-        "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys",
+        "\u2605,\u066d",
+        "\u2265|\u2264",
+        "<|>",
         null,
+        "!fixedColumnOrder!4,:,!,\u061f,\u061b,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
         null,
-        "\u061f",
-        "\u066a",
-        "\u061b",
-        ";",
+        "\u2264|\u2265",
+        "\u060c",
         null,
+        "{|}",
+        "\u00ab|\u00bb",
+        "?,\u00bf",
+        "]|[",
         "\u064b",
-        "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys",
-        "!fixedColumnOrder!8, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u0651\u25cc|\u0651, \u064b\u25cc|\u064b,!text/keyspec_symbols_question,!, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f,\u0640, \u0655\u25cc|\u0655, \u064e\u25cc|\u064e",
-        null,
+        ")|(",
+        ">|<",
         null,
+        ";",
+        "\u066a",
+        "\\%,\u2030",
+        "!fixedColumnOrder!4,\ufd3f|\ufd3e,!text/keyspecs_right_parenthesis_more_keys",
         null,
         null,
-        "\\%,\u2030",
-        "\u061f",
         "\u266a",
+        "\u061b",
+        "!fixedColumnOrder!8, \u0654\u25cc|\u0654, \u0652\u25cc|\u0652, \u064d\u25cc|\u064d, \u064c\u25cc|\u064c, \u0651\u25cc|\u0651, \u064b\u25cc|\u064b,!text/keyspec_symbols_question,!, \u0656\u25cc|\u0656, \u0670\u25cc|\u0670, \u0653\u25cc|\u0653, \u0650\u25cc|\u0650, \u064f\u25cc|\u064f,\u0640, \u0655\u25cc|\u0655, \u064e\u25cc|\u064e",
         null,
         null,
+        "\u064b",
         null,
+        "\u061f",
         null,
+        "\u061f",
         null,
+        "!fixedColumnOrder!4,\ufd3e|\ufd3f,!text/keyspecs_left_parenthesis_more_keys",
         null,
         null,
         null,
@@ -1628,15 +1644,14 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_greater_than",
+        "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_less_than",
         null,
         null,
         null,
         null,
         null,
         null,
-        "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_less_than"
+        "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_greater_than"
     };
 
     private static final String[] TEXTS_fi = {
@@ -1651,9 +1666,9 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f8,\u00f4,\u00f2,\u00f3,\u00f5,\u0153,\u014d",
         "\u00e6,\u00e0,\u00e1,\u00e2,\u00e3,\u0101",
         "\u0161",
-        "\u00f8,\u00f4,\u00f2,\u00f3,\u00f5,\u0153,\u014d",
         null,
         null,
         null,
@@ -1664,15 +1679,12 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u017a,\u017c",
-        null,
-        null,
-        null,
         null,
         null,
         null,
         null,
         null,
+        "\u017a,\u017c",
         null,
         null,
         null,
@@ -1693,18 +1705,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f6",
         "\u00e4",
         null,
-        "\u00e5",
         null,
         null,
         null,
         null,
         "\u00f8",
-        null,
-        null,
-        "\u00f6",
-        null,
+        "\u00e5",
         null,
         null,
         null,
@@ -1736,9 +1745,9 @@ public final class KeyboardTextsTable {
         null,
         "\u00e7",
         null,
+        "%,\u00f6,\u00f2,\u00f3,\u00f5,\u00f8,\u014d,\u00ba",
         "\u00e1,\u00e4,\u00e3,\u00e5,\u0101,\u00aa",
         null,
-        "%,\u00f6,\u00f2,\u00f3,\u00f5,\u00f8,\u014d,\u00ba",
         "\u00fa,\u016b",
         "%,\u0119,\u0117,\u0113",
         "\u00ec,\u00ed,\u012f,\u012b",
@@ -1813,23 +1822,22 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        "\u00fc",
-        null,
+        "\u00e4",
         null,
         null,
         null,
         null,
-        "\u00e9",
         null,
+        "\u00fc",
         null,
         null,
         null,
-        "\u00e8",
-        "\u00f6",
-        "\u00e4",
+        "\u00e9",
         null,
         null,
+        "\u00f6",
+        null,
+        "\u00e8",
         null,
         "\u00e0"
     };
@@ -1880,37 +1888,32 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        "2",
-        "\u096c",
-        "\u0967",
-        "7",
-        "?\u0967\u0968\u0969",
-        "\u096b",
-        "\u096e",
+        "9",
         "\u0968",
         "\u0969",
-        "1",
-        "5",
-        "9",
-        "6",
+        "0",
         "4",
         null,
-        "8",
-        "0",
-        "\u096f",
+        "2",
+        "5",
         "\u096a",
         "\u0966",
-        "\u096d",
-        "3",
-        "!autoColumnOrder!8,\\,.,',#,),(,/,;,@,:,-,\\\",+,\\%,&",
-        null,
+        "7",
         null,
-        "!autoColumnOrder!9,\\,.,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&",
+        "\u096d",
+        "\u0967",
+        "8",
+        "\u096f",
+        "\u096c",
         null,
+        "\u096e",
+        "1",
+        "6",
+        "3",
+        "\u096b",
+        "!autoColumnOrder!8,\\\\,.,',#,),(,/,;,@,:,-,\\\",+,\\%,&",
         null,
+        "?\u0967\u0968\u0969",
         null,
         null,
         null,
@@ -1923,9 +1926,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
+        "!autoColumnOrder!9,\\\\,.,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&",
         null,
         null,
         null,
@@ -2051,28 +2052,30 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "Send",
+        null,
+        "Search",
+        null,
+        "Wait",
+        "Go",
         null,
         null,
         null,
-        "Next",
         null,
-        "Prev",
         null,
-        "Pause",
         null,
         null,
-        "Wait",
         null,
         null,
-        "Search",
         null,
+        "Prev",
+        "Send",
         null,
         null,
         null,
+        "Pause",
         null,
-        "Go",
-        "Done"
+        "Done",
+        "Next"
     };
 
     private static final String[] TEXTS_hr = {
@@ -2088,8 +2091,8 @@ public final class KeyboardTextsTable {
         "\u010d,\u0107",
         null,
         null,
-        "\u0161",
         null,
+        "\u0161",
         null,
         null,
         null,
@@ -2100,7 +2103,23 @@ public final class KeyboardTextsTable {
         "!text/double_raqm_laqm",
         "!text/single_raqm_laqm",
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u017a,\u017c",
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u0111"
     };
 
@@ -2116,9 +2135,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_rqm",
         null,
         null,
+        "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101",
         null,
-        "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00fb,\u00f9,\u016b",
         "\u00e8,\u00ea,\u00eb,\u0119,\u0117,\u0113",
         "\u00ee,\u00ef,\u00ec,\u012f,\u012b",
@@ -2141,9 +2160,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
+        "\u058f",
         null,
         null,
         null,
@@ -2187,9 +2204,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        "\u055d",
-        null,
         "\u0589",
         null,
         null,
@@ -2199,13 +2213,11 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u055d",
+        "!autoColumnOrder!8,\\,,\u055e,\u055c,.,\u055a,\u0559,?,!,\u055d,\u055b,\u058a,\u00bb,\u00ab,\u055f,;,:",
         null,
         null,
         null,
-        "\u055e,\u00bf",
-        null,
-        "\u055d",
-        "!autoColumnOrder!8,\\,\u055e,\u055c,.,\u055a,\u0559,?,!,\u055d,\u055b,\u058a,\u00bb,\u00ab,\u055f,;,:",
         null,
         null,
         null,
@@ -2217,8 +2229,11 @@ public final class KeyboardTextsTable {
         null,
         "\u0589",
         null,
+        "\u055d",
+        null,
         null,
         null,
+        "\u055e,\u00bf",
         null,
         null,
         null,
@@ -2289,9 +2304,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_lqm",
         null,
         null,
+        "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00e5,\u00e0,\u00e2,\u00e3,\u0101",
         null,
-        "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00fc,\u00fb,\u00f9,\u016b",
         "\u00eb,\u00e8,\u00ea,\u0119,\u0117,\u0113",
         "\u00ef,\u00ee,\u00ec,\u012f,\u012b",
@@ -2303,7 +2318,6 @@ public final class KeyboardTextsTable {
         null,
         "\u00fd",
         null,
-        "\u00f0",
         null,
         null,
         null,
@@ -2320,6 +2334,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f0",
         null,
         null,
         null,
@@ -2328,13 +2343,13 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u00fe",
         null,
         null,
         null,
         null,
         null,
         null,
+        "\u00fe",
         null,
         null,
         null,
@@ -2392,9 +2407,9 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f3,\u00f4,\u00f6,\u00f5,\u0153,\u00f8,\u014d,\u00ba",
         "\u00e1,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101,\u00aa",
         null,
-        "\u00f3,\u00f4,\u00f6,\u00f5,\u0153,\u00f8,\u014d,\u00ba",
         "\u00fa,\u00fb,\u00fc,\u016b",
         "\u00ea,\u00eb,\u0119,\u0117,\u0113",
         "\u00ed,\u00ee,\u00ef,\u012f,\u012b",
@@ -2469,23 +2484,22 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00e0",
         null,
-        "\u00e8",
         null,
         null,
         null,
         null,
+        "\u00e8",
         null,
-        "\u00f6",
         null,
         null,
+        "\u00f6",
         null,
         null,
-        "\u00fc",
         "\u00e9",
-        "\u00e0",
-        null,
         null,
+        "\u00fc",
         null,
         "\u00e4"
     };
@@ -2555,30 +2569,37 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u00ab|\u00bb",
-        ")|(",
-        ">|<",
         null,
+        "}|{",
+        "\u2039|\u203a",
+        "\u00bb|\u00ab",
+        "(|)",
         "\u203a|\u2039",
+        null,
+        "[|]",
+        "\u2605",
         "\u2265|\u2264",
+        "<|>",
         null,
         null,
-        "\u2039|\u203a",
+        null,
+        "\u2264|\u2265",
         null,
         null,
+        "{|}",
+        "\u00ab|\u00bb",
         null,
         "]|[",
         null,
-        "}|{",
-        "\u00bb|\u00ab",
-        "\u2264|\u2265",
+        ")|(",
+        ">|<",
+        null,
+        null,
+        null,
+        null,
+        null,
         null,
-        "(|)",
-        "\u2605",
         null,
-        "{|}",
-        "<|>",
-        "[|]",
         null,
         null,
         null,
@@ -2684,8 +2705,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0451",
-        null,
         null,
         null,
         null,
@@ -2693,19 +2712,20 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0451",
         null,
-        "\u044b",
         null,
         null,
-        "\u0449",
+        "\u044d",
         null,
-        "\u044a",
         null,
+        "\u0449",
         null,
         null,
         null,
-        "\u044d",
         "\u0438",
+        "\u044a",
+        "\u044b",
         null,
         null,
         null,
@@ -2752,35 +2772,36 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u04a3",
-        "\u04af,\u04b1",
         null,
         null,
         null,
         null,
         null,
-        "\u0456",
         "\u0493",
         null,
         null,
         null,
         null,
+        "\u0456",
         null,
+        "\u04e9",
         null,
         null,
         null,
+        "\u04af,\u04b1",
         null,
+        "\u04a3",
         null,
         null,
         null,
-        "\u04e9",
-        null,
         null,
         null,
         "\u04d9",
         null,
         null,
         null,
+        null,
+        null,
         "\u04bb",
         null,
         "\u049b"
@@ -2928,6 +2949,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        null,
         "\u17db,\u00a2,\u00a3,\u20ac,\u00a5,\u20b1"
     };
 
@@ -2987,8 +3009,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0451",
-        null,
         null,
         null,
         null,
@@ -2996,19 +3016,20 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0451",
         null,
-        "\u044b",
         null,
         null,
-        "\u0449",
+        "\u044d",
         null,
-        "\u044a",
         null,
+        "\u0449",
         null,
         null,
         null,
-        "\u044d",
         "\u0438",
+        "\u044a",
+        "\u044b",
         null,
         null,
         null,
@@ -3055,11 +3076,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u04a3",
-        "\u04af",
-        null,
-        null,
-        null,
         null,
         null,
         null,
@@ -3072,11 +3088,13 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u04e9",
         null,
         null,
         null,
+        "\u04af",
         null,
-        "\u04e9"
+        "\u04a3"
     };
 
     private static final String[] TEXTS_lo = {
@@ -3106,8 +3124,8 @@ public final class KeyboardTextsTable {
         "\u010d",
         null,
         null,
-        "\u0161",
         null,
+        "\u0161",
         null,
         null,
         null,
@@ -3127,9 +3145,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_lqm",
         "\u010d",
         null,
+        "\u00f2,\u00f3,\u00f4,\u00f5,\u00f6,\u0153,\u0151,\u00f8",
         "\u00e0,\u00e1,\u00e2,\u00e3,\u00e4,\u00e5,\u00e6,\u0105",
         "\u0161",
-        "\u00f2,\u00f3,\u00f4,\u00f5,\u00f6,\u0153,\u0151,\u00f8",
         "\u0173,\u00f9,\u00fa,\u00fb,\u00fc,\u016f,\u0171",
         "\u0117,\u00e8,\u00e9,\u00ea,\u00eb,\u0119,\u011b",
         "\u012f,\u00ec,\u00ed,\u00ee,\u00ef,\u0131",
@@ -3140,23 +3158,18 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u017c,\u017a",
-        null,
-        "\u0123",
-        null,
-        null,
-        null,
-        null,
         null,
         null,
         null,
         null,
         null,
+        "\u017c,\u017a",
         null,
         null,
         null,
         null,
         null,
+        "\u0123",
         null,
         null,
         null,
@@ -3183,16 +3196,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0157",
         null,
         null,
-        "\u013c",
         null,
         null,
         null,
         null,
         null,
         null,
+        "\u0157",
         null,
         null,
         null,
@@ -3202,6 +3214,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u013c",
         null,
         null,
         null,
@@ -3224,20 +3237,20 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0137",
         null,
         null,
         null,
-        "\u011f",
         null,
         null,
         null,
+        "\u0137",
         null,
         null,
         null,
         null,
         null,
         null,
+        "\u011f",
         null,
         null,
         "\u0159,\u0155",
@@ -3287,8 +3300,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0450",
-        null,
         null,
         null,
         null,
@@ -3296,6 +3307,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0450",
         null,
         null,
         null,
@@ -3359,23 +3371,23 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0455",
         null,
         null,
+        "\u0437",
         null,
+        "\u045c",
         null,
         null,
         null,
-        "\u0453",
         null,
         null,
-        "\u045c",
-        "\u0455",
         null,
-        "\u045d",
         null,
+        "\u0453",
         null,
         null,
-        "\u0437"
+        "\u045d"
     };
 
     private static final String[] TEXTS_ml = {
@@ -3431,31 +3443,32 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        "2",
-        "\u096c",
-        "\u0967",
-        "7",
-        "?\u0967\u0968\u0969",
-        "\u096b",
-        "\u096e",
+        "9",
         "\u0968",
         "\u0969",
-        "1",
-        "5",
-        "9",
-        "6",
+        "0",
         "4",
         null,
-        "8",
-        "0",
-        "\u096f",
+        "2",
+        "5",
         "\u096a",
         "\u0966",
+        "7",
+        null,
         "\u096d",
-        "3"
+        "\u0967",
+        "8",
+        "\u096f",
+        "\u096c",
+        null,
+        "\u096e",
+        "1",
+        "6",
+        "3",
+        "\u096b",
+        null,
+        null,
+        "?\u0967\u0968\u0969"
     };
 
     private static final String[] TEXTS_my = {
@@ -3513,11 +3526,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        "\u104a",
-        null,
         "\u104b",
         null,
         null,
@@ -3527,22 +3535,20 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u104a",
+        "!autoColumnOrder!9,\u104a,.,?,!,#,),(,/,;,...,',@,:,-,\\\",+,\\%,&",
+        null,
         null,
         null,
         null,
         null,
-        null,
-        null,
-        "!autoColumnOrder!9,\u104a,.,?,!,#,),(,/,;,...,',@,:,-,\\\",+,\\%,&",
-        "\\",
-        null,
-        "\u104a",
         null,
         null,
         null,
         null,
         null,
         null,
+        "\\",
         "\u104b",
         null,
         null,
@@ -3551,6 +3557,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u104a",
         null,
         null,
         null,
@@ -3633,21 +3640,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
+        "\u00f8",
         "\u00e6",
         null,
-        "\u00e5",
         null,
         null,
         null,
         null,
         "\u00f6",
-        null,
-        null,
-        "\u00f8",
-        null,
+        "\u00e5",
         null,
         null,
         null,
@@ -3692,37 +3693,32 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
-        "2",
-        "\u096c",
-        "\u0967",
-        "7",
-        "?\u0967\u0968\u0969",
-        "\u096b",
-        "\u096e",
+        "9",
         "\u0968",
         "\u0969",
-        "1",
-        "5",
-        "9",
-        "6",
+        "0",
         "4",
         null,
-        "8",
-        "0",
-        "\u096f",
+        "2",
+        "5",
         "\u096a",
         "\u0966",
-        "\u096d",
-        "3",
-        "!autoColumnOrder!8,.,\\,',#,),(,/,;,@,:,-,\\\",+,\\%,&",
-        null,
+        "7",
         null,
-        "!autoColumnOrder!9,.,\\,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&",
+        "\u096d",
+        "\u0967",
+        "8",
+        "\u096f",
+        "\u096c",
         null,
+        "\u096e",
+        "1",
+        "6",
+        "3",
+        "\u096b",
+        "!autoColumnOrder!8,.,\\\\,',#,),(,/,;,@,:,-,\\\",+,\\%,&",
         null,
+        "?\u0967\u0968\u0969",
         null,
         null,
         null,
@@ -3735,9 +3731,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
+        "!autoColumnOrder!9,.,\\\\,?,!,#,),(,/,;,',@,:,-,\\\",+,\\%,&",
         null,
         null,
         null,
@@ -3767,9 +3761,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_rqm",
         null,
         null,
+        "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00e6,\u00e3,\u00e5,\u0101",
         null,
-        "\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00fb,\u00f9,\u016b",
         "\u0119,\u0117,\u0113"
     };
@@ -3786,9 +3780,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_rqm",
         "\u0107",
         null,
+        "\u00f6,\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         "\u00e1,\u00e0,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101",
         "\u015b",
-        "\u00f6,\u00f4,\u00f2,\u00f5,\u0153,\u00f8,\u014d",
         null,
         "\u00e8,\u00e9,\u00ea,\u00eb,\u0117,\u0113",
         null,
@@ -3799,6 +3793,11 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u017e",
         null,
         null,
@@ -3823,6 +3822,12 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f1",
+        null,
+        null,
+        null,
+        null,
+        null,
         null,
         null,
         null,
@@ -3833,7 +3838,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u00f1",
         null,
         null,
         null,
@@ -3860,9 +3864,9 @@ public final class KeyboardTextsTable {
         null,
         "\u00e7",
         null,
+        "\u00f2,\u00f6,\u0153,\u00f8,\u014d,\u00ba",
         "\u00e4,\u00e5,\u00e6,\u00aa",
         null,
-        "\u00f2,\u00f6,\u0153,\u00f8,\u014d,\u00ba",
         "\u00f9,\u00fb,\u016b",
         "\u00e8,\u0119,\u0117,\u0113,\u00eb",
         "\u00ee,\u00ec,\u00ef,\u012f,\u012b",
@@ -3939,6 +3943,9 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        null,
+        null,
+        null,
         "\u00e7"
     };
 
@@ -3960,11 +3967,11 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_rqm",
         null,
         null,
+        null,
         "\u00e3,\u00e0,\u00e1,\u00e4,\u00e6,\u00e5,\u0101",
         "\u0219",
         null,
         null,
-        null,
         "\u00ef,\u00ec,\u00ed,\u012f,\u012b",
         null,
         null,
@@ -3999,6 +4006,12 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u021b"
     };
 
@@ -4044,8 +4057,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0451",
-        null,
         null,
         null,
         null,
@@ -4053,19 +4064,20 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0451",
         null,
-        "\u044b",
         null,
         null,
-        "\u0449",
+        "\u044d",
         null,
-        "\u044a",
         null,
+        "\u0449",
         null,
         null,
         null,
-        "\u044d",
-        "\u0438"
+        "\u0438",
+        "\u044a",
+        "\u044b"
     };
 
     private static final String[] TEXTS_si = {
@@ -4094,9 +4106,9 @@ public final class KeyboardTextsTable {
         "!text/single_9qm_lqm",
         "\u010d",
         null,
+        "\u00f6,\u00f2,\u00f5,\u0153,\u0151,\u00f8",
         "\u0101,\u00e0,\u00e2,\u00e3,\u00e5,\u00e6,\u0105",
         "\u0161",
-        "\u00f6,\u00f2,\u00f5,\u0153,\u0151,\u00f8",
         "\u016f,\u00fc,\u016b,\u0173,\u00f9,\u00fb,\u0171",
         "\u011b,\u0113,\u0117,\u00e8,\u00ea,\u00eb,\u0119",
         "\u012b,\u012f,\u00ec,\u00ee,\u00ef,\u0131",
@@ -4107,13 +4119,12 @@ public final class KeyboardTextsTable {
         "!text/double_raqm_laqm",
         "!text/single_raqm_laqm",
         "\u00fd",
-        "\u017c,\u017a",
-        "\u010f",
         null,
         null,
         null,
         null,
         null,
+        "\u017c,\u017a",
         null,
         null,
         null,
@@ -4125,6 +4136,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u010f",
         null,
         null,
         null,
@@ -4133,15 +4145,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0165",
         null,
         null,
         null,
+        "\u0146,\u00f1,\u0144",
         null,
         null,
+        "\u0165",
         null,
         null,
-        "\u0146,\u00f1,\u0144",
         null,
         null,
         null,
@@ -4150,11 +4162,10 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0155",
         null,
         null,
-        "\u013e,\u013a",
         null,
+        "\u0155",
         null,
         null,
         null,
@@ -4164,6 +4175,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u013e,\u013a",
         null,
         null,
         null,
@@ -4202,14 +4214,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0159,\u0157",
+        null,
+        "\u013c,\u0142",
         null,
         null,
         null,
         null,
         null,
-        "\u0159,\u0157",
         null,
-        "\u013c,\u0142",
         null,
         null,
         null,
@@ -4234,8 +4247,8 @@ public final class KeyboardTextsTable {
         "\u010d",
         null,
         null,
-        "\u0161",
         null,
+        "\u0161",
         null,
         null,
         null,
@@ -4289,8 +4302,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0450",
-        null,
         null,
         null,
         null,
@@ -4298,6 +4309,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0450",
         null,
         null,
         null,
@@ -4361,23 +4373,23 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0437",
         null,
         null,
+        "\u0455",
         null,
+        "\u045b",
         null,
         null,
         null,
-        "\u0452",
         null,
         null,
-        "\u045b",
-        "\u0437",
         null,
-        "\u045d",
         null,
+        "\u0452",
         null,
         null,
-        "\u0455"
+        "\u045d"
     };
 
     private static final String[] TEXTS_sr_ZZ = {
@@ -4393,8 +4405,8 @@ public final class KeyboardTextsTable {
         "\u010d,\u0107,%",
         null,
         null,
-        "\u0161,%",
         null,
+        "\u0161,%",
         null,
         null,
         null,
@@ -4406,7 +4418,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0111,%",
         null,
         null,
         null,
@@ -4423,6 +4434,8 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0111,%",
+        null,
         null,
         null,
         null,
@@ -4488,28 +4501,29 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0160alji",
+        "Tra\u017ei",
         null,
+        "\u010cekaj",
+        "Idi",
         null,
         null,
-        "Sled",
         null,
-        "Preth",
         null,
-        "Pauza",
         null,
         null,
-        "\u010cekaj",
         null,
         null,
-        "Tra\u017ei",
         null,
         null,
+        "Preth",
+        "\u0160alji",
         null,
         null,
         null,
-        "Idi",
-        "Gotov"
+        "Pauza",
+        null,
+        "Gotov",
+        "Sled"
     };
 
     private static final String[] TEXTS_sv = {
@@ -4524,9 +4538,9 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u00f8,\u0153,\u00f3,\u00f2,\u00f4,\u00f5,\u014d",
         "\u00e6,\u00e1,\u00e0,\u00e2,\u0105,\u00e3",
         null,
-        "\u00f8,\u0153,\u00f3,\u00f2,\u00f4,\u00f5,\u014d",
         null,
         "\u00e8,\u00ea,\u00eb,\u0119",
         null,
@@ -4563,21 +4577,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        null,
-        null,
-        null,
+        "\u00f6",
         "\u00e4",
         null,
-        "\u00e5",
         null,
         null,
         null,
         null,
         "\u00f8,\u0153",
-        null,
-        null,
-        "\u00f6",
-        null,
+        "\u00e5",
         null,
         null,
         null,
@@ -4610,8 +4618,8 @@ public final class KeyboardTextsTable {
         "\u00e7",
         null,
         null,
-        "\u00df",
         null,
+        "\u00df",
         null,
         null,
         null,
@@ -4624,6 +4632,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "g\\'"
     };
 
@@ -4721,9 +4738,9 @@ public final class KeyboardTextsTable {
         null,
         "\u00e7",
         null,
+        "\u00f4,\u0153,\u00f2,\u00f3,\u00f5,\u00f8,\u014d",
         null,
         "\u015f",
-        "\u00f4,\u0153,\u00f2,\u00f3,\u00f5,\u00f8,\u014d",
         "\u00fb,\u00f9,\u00fa,\u016b",
         null,
         "\u00ee,\u00ef,\u00ec,\u00ed,\u012f,\u012b",
@@ -4736,6 +4753,15 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u011f"
     };
 
@@ -4791,18 +4817,19 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0456",
+        null,
+        "\u0454",
         null,
         null,
         "\u0449",
         null,
-        "\u044a",
         null,
         null,
+        "\u0438",
+        "\u044a",
+        "\u0456",
         null,
         null,
-        "\u0454",
-        "\u0438",
         null,
         null,
         null,
@@ -4852,12 +4879,12 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0491",
         null,
         null,
         null,
         null,
-        "\u0457",
-        "\u0491"
+        "\u0457"
     };
 
     private static final String[] TEXTS_uz = {
@@ -4873,8 +4900,8 @@ public final class KeyboardTextsTable {
         "\u00e7,\u0107,\u010d",
         null,
         null,
-        "\u015f,\u00df,\u015b,\u0161",
         null,
+        "\u015f,\u00df,\u015b,\u0161",
         null,
         null,
         null,
@@ -4887,6 +4914,15 @@ public final class KeyboardTextsTable {
         "\u00fd",
         null,
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u011f"
     };
 
@@ -4916,6 +4952,22 @@ public final class KeyboardTextsTable {
         null,
         "\u1ef3,\u00fd,\u1ef7,\u1ef9,\u1ef5",
         null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
+        null,
         "\u0111"
     };
 
@@ -4932,8 +4984,8 @@ public final class KeyboardTextsTable {
         "\u00e7",
         null,
         null,
-        "\u00df",
         null,
+        "\u00df",
         null,
         null,
         null,
@@ -4953,8 +5005,8 @@ public final class KeyboardTextsTable {
         "\u00e7,\u0107,\u0109,\u010b,\u010d",
         null,
         null,
-        "\u00df,\u015b,\u015d,\u015f,\u0161,\u017f",
         null,
+        "\u00df,\u015b,\u015d,\u015f,\u0161,\u017f",
         null,
         null,
         null,
@@ -4966,8 +5018,6 @@ public final class KeyboardTextsTable {
         null,
         "\u00fd,\u0177,\u00ff,\u0133",
         null,
-        "\u010f,\u0111,\u00f0",
-        "\u011d,\u011f,\u0121,\u0123",
         null,
         null,
         null,
@@ -4978,11 +5028,13 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u011d,\u011f,\u0121,\u0123",
         null,
         null,
         null,
         null,
         null,
+        "\u010f,\u0111,\u00f0",
         null,
         null,
         null,
@@ -4991,13 +5043,13 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u00fe,\u0163,\u0165,\u0167",
         null,
         null,
         null,
         null,
         null,
         null,
+        "\u00fe,\u0163,\u0165,\u0167",
         null,
         null,
         null,
@@ -5008,11 +5060,10 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0155,\u0157,\u0159",
         null,
         null,
-        "\u013a,\u013c,\u013e,\u0140,\u0142",
         null,
+        "\u0155,\u0157,\u0159",
         null,
         null,
         null,
@@ -5022,6 +5073,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u013a,\u013c,\u013e,\u0140,\u0142",
         null,
         null,
         null,
@@ -5048,6 +5100,7 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
+        "\u0125",
         null,
         "\u0137,\u0138",
         null,
@@ -5055,7 +5108,6 @@ public final class KeyboardTextsTable {
         null,
         null,
         null,
-        "\u0125",
         null,
         null,
         null,
@@ -5089,9 +5141,9 @@ public final class KeyboardTextsTable {
         "!text/single_lqm_rqm",
         EMPTY,
         "$",
+        "\u00f3,\u00f4,\u00f6,\u00f2,\u0153,\u00f8,\u014d,\u00f5",
         "\u00e0,\u00e1,\u00e2,\u00e4,\u00e6,\u00e3,\u00e5,\u0101",
         EMPTY,
-        "\u00f3,\u00f4,\u00f6,\u00f2,\u0153,\u00f8,\u014d,\u00f5",
         "\u00fa,\u00fb,\u00fc,\u00f9,\u016b",
         "\u00e9,\u00e8,\u00ea,\u00eb,\u0113",
         "\u00ed,\u00ee,\u00ef,\u012b,\u00ec",
@@ -5103,15 +5155,6 @@ public final class KeyboardTextsTable {
         "!text/single_laqm_raqm",
         EMPTY,
         EMPTY,
-        EMPTY,
-        EMPTY,
-        EMPTY,
-        "6",
-        "1",
-        EMPTY,
-        "?123",
-        "5",
-        "8",
         "2",
         "3",
         EMPTY,
@@ -5119,254 +5162,264 @@ public final class KeyboardTextsTable {
         EMPTY,
         EMPTY,
         EMPTY,
+        "4",
+        "0",
         EMPTY,
         EMPTY,
+        "7",
+        "1",
         EMPTY,
         "9",
-        "4",
-        "0",
-        "7",
+        "6",
         EMPTY,
-        "!text/morekeys_tablet_punctuation",
+        "8",
         EMPTY,
         EMPTY,
-        "!text/morekeys_punctuation",
+        EMPTY,
+        "5",
+        "!text/morekeys_tablet_punctuation",
+        EMPTY,
+        "?123",
+        "\u00f6",
         "\u00e4",
         EMPTY,
-        "\u00e5",
-        EMPTY,
-        ",",
         "\u00f1",
         ".",
-        "\u00f8",
         EMPTY,
         EMPTY,
-        "\u00f6",
-        "\u00ab",
-        ")",
-        ">",
+        "\u00f8",
+        "\u00e5",
         EMPTY,
-        "\u203a",
-        "\u2265",
         EMPTY,
-        "\u00bf",
-        "\u2039",
+        EMPTY,
+        "!text/morekeys_punctuation",
         ",",
         "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&",
-        EMPTY,
-        "]",
-        EMPTY,
         "}",
+        "\u2039",
         "\u00bb",
-        "\u2264",
-        "\u00e6",
         "(",
+        "\u203a",
+        EMPTY,
+        "[",
         "\u2020,\u2021,\u2605",
+        "\u2265",
+        "<",
+        "\u00e6",
+        EMPTY,
         ".",
+        "\u2264",
+        ",",
+        EMPTY,
         "{",
-        "<",
-        "[",
-        "!fixedColumnOrder!3,!text/keyspecs_right_parenthesis_more_keys",
+        "\u00ab",
+        "\u00bf",
+        "]",
+        EMPTY,
+        ")",
+        ">",
         EMPTY,
-        "\u00f1",
         EMPTY,
         "%",
-        ";",
+        "\u2030",
+        "!fixedColumnOrder!3,!text/keyspecs_right_parenthesis_more_keys",
+        "\u00f1",
         EMPTY,
+        "\u266a,\u2665,\u2660,\u2666,\u2663",
+        ";",
         EMPTY,
         EMPTY,
-        "!fixedColumnOrder!3,!text/keyspecs_left_parenthesis_more_keys",
         EMPTY,
         EMPTY,
         EMPTY,
+        "?",
         EMPTY,
         EMPTY,
-        "\u2030",
-        "?",
-        "\u266a,\u2665,\u2660,\u2666,\u2663",
         EMPTY,
-        "!string/label_send_key",
+        "!fixedColumnOrder!3,!text/keyspecs_left_parenthesis_more_keys",
         EMPTY,
+        "!string/label_search_key",
         EMPTY,
+        "!string/label_wait_key",
+        "!string/label_go_key",
         EMPTY,
-        "!string/label_next_key",
         EMPTY,
-        "!string/label_previous_key",
+        "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&",
         EMPTY,
-        "!string/label_pause_key",
         EMPTY,
         EMPTY,
-        "!string/label_wait_key",
         EMPTY,
-        "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&",
-        "!string/label_search_key",
         EMPTY,
         EMPTY,
         EMPTY,
+        "!string/label_previous_key",
+        "!string/label_send_key",
         EMPTY,
         EMPTY,
-        "!string/label_go_key",
-        "!string/label_done_key",
         EMPTY,
+        "!string/label_pause_key",
         EMPTY,
+        "!string/label_done_key",
+        "!string/label_next_key",
         EMPTY,
         EMPTY,
         EMPTY,
+        "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_left_double_angle_quote",
         EMPTY,
         EMPTY,
-        "\u00b1",
         "y",
         EMPTY,
-        "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_right_double_angle_quote",
+        "\u00a1,\u203d",
         EMPTY,
+        "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_right_double_angle_quote",
         "\u00a2,\u00a3,\u20ac,\u00a5,\u20b1",
-        "x",
-        "\u00a1,\u203d",
+        "\u00b1",
         "w",
         "q",
-        "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_left_double_angle_quote",
-        "9",
-        EMPTY,
-        "(,[,{,<",
-        "2",
-        "{",
-        "123",
-        "\uff0a\uff03",
-        "$,\u20ac,\u00a3,\u00a5,\u00a2",
-        EMPTY,
-        "!text/keyspec_left_single_angle_quote,!text/keyspec_right_single_angle_quote",
-        "!icon/action_cut|!code/action_cut",
-        "\u2018,\u2019,\u201a",
+        "x",
+        "!fixedColumnOrder!4,!needsDividers!,!icon/action_switch_language|!code/action_switch_language,!icon/action_text_edit|!code/action_text_edit,!icon/action_clipboard_history|!code/action_clipboard_history,!icon/action_emoji|!code/action_emoji,!icon/previous_key|!code/key_action_previous,!icon/next_key|!code/key_action_next,!icon/action_undo|!code/action_undo,!icon/action_redo|!code/action_redo",
         "!",
         EMPTY,
-        "!",
+        "&",
+        "*",
         EMPTY,
+        "\u201a,\u2018,\u2019",
         EMPTY,
-        "%",
-        "\u201d,\u201e,\u201c",
+        "}",
+        "\u2074,\u2084",
+        "\u2075,\u2085,\u215d",
         EMPTY,
         EMPTY,
         EMPTY,
-        "!icon/action_select_all|!code/action_select_all",
-        "\u2074,\u2084",
-        "&,|",
         EMPTY,
+        "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes",
         EMPTY,
+        "123",
+        "\u2076,\u2086",
+        "\u201c,\u201e,\u201d",
+        "!fixedColumnOrder!4,!needsDividers!,!icon/action_switch_language|!code/action_switch_language,!icon/action_text_edit|!code/action_text_edit,!icon/action_clipboard_history|!code/action_clipboard_history,!icon/action_emoji|!code/action_emoji,!icon/action_undo|!code/action_undo,!icon/action_redo|!code/action_redo",
         EMPTY,
-        "@",
-        "[",
-        "$,\u00a2,\u20ac,\u00a3,\u00a5,\u20b1",
-        "!text/keyspec_greater_than,!text/keyspec_right_curly_bracket,!text/keyspec_right_square_bracket",
-        "\"",
-        "^",
-        ">",
         EMPTY,
         EMPTY,
         EMPTY,
+        "\u2018,\u2019,\u201a",
         EMPTY,
-        "\u2070,\u2080,\u207f,\u2205",
         EMPTY,
         EMPTY,
-        "!icon/settings_key|!code/key_settings",
-        "=",
-        "!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
+        "= \\\\ <",
+        "6",
         EMPTY,
         EMPTY,
         "PM",
         EMPTY,
         EMPTY,
+        "1",
+        "\u2078,\u2088",
         EMPTY,
+        "3",
         EMPTY,
-        "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes",
-        "AM",
-        "]",
+        "!hasLabels!,!text/label_next_key|!code/key_action_next",
+        "\u201d,\u201e,\u201c",
         EMPTY,
-        "\u2019,\u201a,\u2018",
+        "\u201e,\u201c,\u201d",
         EMPTY,
-        "3",
-        "5",
+        "4",
+        "?,/",
+        "<",
         EMPTY,
-        "(",
-        ";",
+        "!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
         "!hasLabels!,!text/label_previous_key|!code/key_action_previous",
-        "*",
+        "!icon/action_select_all|!code/action_select_all",
+        "7",
+        "$,\u00a2,\u20ac,\u00a3,\u00a5,\u20b1",
+        "%",
+        "[",
+        "&,|",
         EMPTY,
-        "!icon/action_redo|!code/action_redo",
+        "*",
         EMPTY,
-        "\u201a,\u2018,\u2019",
-        "!icon/action_copy|!code/action_copy",
+        "9",
+        "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes",
         "!icon/shortcut_key|!code/key_shortcut",
-        "*",
+        "!icon/action_cut|!code/action_cut",
+        "\u2018,\u201a,\u2019",
+        "]",
+        "8",
         EMPTY,
+        "\u00b2,\u2082,\u2154",
+        "0",
+        "\"",
         EMPTY,
-        "\u201e,\u201c,\u201d",
+        "!icon/action_undo|!code/action_undo",
+        "$",
+        "|",
         "\u00b3,\u2083,\u00be,\u215c",
-        "\u2075,\u2085,\u215d",
-        "\u2078,\u2088",
-        "&",
-        "7",
         EMPTY,
-        "\\\\",
-        "\u2077,\u2087,\u215e",
         EMPTY,
-        "<",
-        "\u201c,\u201e,\u201d",
-        "#",
+        "\u2079,\u2089",
+        ":",
+        "!icon/action_paste|!code/action_paste",
         "-,\u2013,\u2014,_",
         EMPTY,
-        ")",
-        "!text/keyspec_less_than,!text/keyspec_left_curly_bracket,!text/keyspec_left_square_bracket",
-        EMPTY,
-        "+,=",
-        "!fixedColumnOrder!4,!needsDividers!,!icon/action_switch_language|!code/action_switch_language,!icon/action_text_edit|!code/action_text_edit,!icon/action_clipboard_history|!code/action_clipboard_history,!icon/action_emoji|!code/action_emoji,!icon/action_undo|!code/action_undo,!icon/action_redo|!code/action_redo",
+        "=",
         EMPTY,
+        "5",
+        "!text/keyspec_left_single_angle_quote,!text/keyspec_right_single_angle_quote",
         EMPTY,
         EMPTY,
+        "!fixedColumnOrder!2,!hasLabels!,!text/keylabel_time_am,!text/keylabel_time_pm",
+        "!text/keyspec_right_double_angle_quote,!text/keyspec_left_double_angle_quote",
+        "2",
         EMPTY,
-        "!icon/action_undo|!code/action_undo",
-        "\u2079,\u2089",
-        "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes",
-        "$",
-        "#",
-        "@",
         EMPTY,
-        "!text/keyspec_right_single_angle_quote,!text/keyspec_left_single_angle_quote",
-        "!hasLabels!,!text/label_next_key|!code/key_action_next",
-        ":",
-        "= \\\\ <",
-        "1",
-        "\u2018,\u201a,\u2019",
+        "!text/keyspec_less_than,!text/keyspec_left_curly_bracket,!text/keyspec_left_square_bracket",
         EMPTY,
-        "8",
-        "~ [ <",
-        "|",
-        "?,/",
+        "\\%",
+        ">",
+        "!icon/action_redo|!code/action_redo",
         EMPTY,
         EMPTY,
         EMPTY,
-        "\\%",
+        "\\\\",
+        "!text/keyspec_greater_than,!text/keyspec_right_curly_bracket,!text/keyspec_right_square_bracket",
+        "\u2077,\u2087,\u215e",
+        "!text/keyspec_right_single_angle_quote,!text/keyspec_left_single_angle_quote",
+        "!icon/settings_key|!code/key_settings",
+        "\u00b9,\u2081,\u00bd,\u2153,\u00bc,\u215b",
+        "~ [ <",
+        "\uff0a\uff03",
         "),],},>",
-        "!icon/action_paste|!code/action_paste",
         EMPTY,
         EMPTY,
-        "\u201c,\u201d,\u201e",
         "!hasLabels!,.net,.org,.gov,.edu",
-        "4",
-        "\u2076,\u2086",
-        "\u00b9,\u2081,\u00bd,\u2153,\u00bc,\u215b",
         EMPTY,
-        "6",
-        "!fixedColumnOrder!2,!hasLabels!,!text/keylabel_time_am,!text/keylabel_time_pm",
+        "!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes",
+        "@",
+        "AM",
+        "(",
+        "(,[,{,<",
+        EMPTY,
+        ")",
+        "\u2019,\u201a,\u2018",
         ".com",
-        "\\%",
-        "!text/keyspec_right_double_angle_quote,!text/keyspec_left_double_angle_quote",
-        "\u00b2,\u2082,\u2154",
-        "'",
+        "!",
+        "#",
+        "+,=",
         EMPTY,
-        "!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes",
-        "}",
+        "\u2070,\u2080,\u207f,\u2205",
+        ";",
+        "#",
+        EMPTY,
+        "$,\u20ac,\u00a3,\u00a5,\u00a2",
         EMPTY,
-        "0"
+        "'",
+        "^",
+        "{",
+        "@",
+        "\u201c,\u201d,\u201e",
+        "\\%",
+        "!icon/action_copy|!code/action_copy",
+        EMPTY
     };
 
 
diff --git a/tools/make-keyboard-text-py/locales/DEFAULT.json b/tools/make-keyboard-text-py/locales/DEFAULT.json
index 2edd191905..e446104ba7 100644
--- a/tools/make-keyboard-text-py/locales/DEFAULT.json
+++ b/tools/make-keyboard-text-py/locales/DEFAULT.json
@@ -372,6 +372,18 @@
             "!icon/action_emoji|!code/action_emoji",
             "!icon/action_undo|!code/action_undo",
             "!icon/action_redo|!code/action_redo"
+        ],
+        "emoji_action_key_navigation": [
+            "!fixedColumnOrder!4",
+            "!needsDividers!",
+            "!icon/action_switch_language|!code/action_switch_language",
+            "!icon/action_text_edit|!code/action_text_edit",
+            "!icon/action_clipboard_history|!code/action_clipboard_history",
+            "!icon/action_emoji|!code/action_emoji",
+            "!icon/previous_key|!code/key_action_previous",
+            "!icon/next_key|!code/key_action_next",
+            "!icon/action_undo|!code/action_undo",
+            "!icon/action_redo|!code/action_redo"
         ]
     },
     "label": {
diff --git a/tools/make-keyboard-text-py/locales/bn_BD.json b/tools/make-keyboard-text-py/locales/bn_BD.json
index 511de800f4..e11fdd7345 100644
--- a/tools/make-keyboard-text-py/locales/bn_BD.json
+++ b/tools/make-keyboard-text-py/locales/bn_BD.json
@@ -2,13 +2,34 @@
     "locale": "bn_BD",
     "morekeys": {},
     "keyspec": {
-        "currency": "৳"
+        "currency": "৳",
+        "symbols_0": "০",
+        "symbols_1": "১",
+        "symbols_2": "২",
+        "symbols_3": "৩",
+        "symbols_4": "৪",
+        "symbols_5": "৫",
+        "symbols_6": "৬",
+        "symbols_7": "৭",
+        "symbols_8": "৮",
+        "symbols_9": "৯"
     },
     "label": {},
     "keylabel": {
         "to_alpha": "কখগ"
     },
     "keyhintlabel": {},
-    "additional_morekeys": {},
+    "additional_morekeys": {
+        "symbols_0": "0",
+        "symbols_1": "1",
+        "symbols_2": "2",
+        "symbols_3": "3",
+        "symbols_4": "4",
+        "symbols_5": "5",
+        "symbols_6": "6",
+        "symbols_7": "7",
+        "symbols_8": "8",
+        "symbols_9": "9"
+    },
     "other": {}
 }
\ No newline at end of file
diff --git a/tools/make-keyboard-text-py/locales/ca.json b/tools/make-keyboard-text-py/locales/ca.json
index 04f6408cc6..e93e8d8eb0 100644
--- a/tools/make-keyboard-text-py/locales/ca.json
+++ b/tools/make-keyboard-text-py/locales/ca.json
@@ -67,7 +67,7 @@
         ],
         "punctuation": [
             "!autoColumnOrder!9",
-            "\\",
+            "\\\\",
             "?",
             "!",
             "·",
@@ -87,7 +87,7 @@
         ],
         "tablet_punctuation": [
             "!autoColumnOrder!8",
-            "\\",
+            "\\\\",
             "'",
             "·",
             "#",
diff --git a/tools/make-keyboard-text-py/locales/es.json b/tools/make-keyboard-text-py/locales/es.json
index 48816cda9d..02688cd7a0 100644
--- a/tools/make-keyboard-text-py/locales/es.json
+++ b/tools/make-keyboard-text-py/locales/es.json
@@ -66,7 +66,7 @@
         ],
         "punctuation": [
             "!autoColumnOrder!9",
-            "\\",
+            "\\\\",
             "?",
             "!",
             "#",
diff --git a/tools/make-keyboard-text-py/locales/hi.json b/tools/make-keyboard-text-py/locales/hi.json
index 385038377f..f5a878e02d 100644
--- a/tools/make-keyboard-text-py/locales/hi.json
+++ b/tools/make-keyboard-text-py/locales/hi.json
@@ -3,7 +3,7 @@
     "morekeys": {
         "period": [
             "!autoColumnOrder!9",
-            "\\",
+            "\\\\",
             ".",
             "?",
             "!",
@@ -23,7 +23,7 @@
         ],
         "tablet_period": [
             "!autoColumnOrder!8",
-            "\\",
+            "\\\\",
             ".",
             "'",
             "#",
diff --git a/tools/make-keyboard-text-py/locales/hy.json b/tools/make-keyboard-text-py/locales/hy.json
index e5a0b55b59..080c856969 100644
--- a/tools/make-keyboard-text-py/locales/hy.json
+++ b/tools/make-keyboard-text-py/locales/hy.json
@@ -3,7 +3,7 @@
     "morekeys": {
         "punctuation": [
             "!autoColumnOrder!8",
-            "\\",
+            "\\,",
             "Õž",
             "՜",
             ".",
@@ -36,7 +36,8 @@
         "comma": "՝",
         "tablet_comma": "՝",
         "period": "Ö‰",
-        "tablet_period": "Ö‰"
+        "tablet_period": "Ö‰",
+        "currency": "֏"
     },
     "label": {},
     "keylabel": {
diff --git a/tools/make-keyboard-text-py/locales/ne.json b/tools/make-keyboard-text-py/locales/ne.json
index e7ab67278d..0b89306a7a 100644
--- a/tools/make-keyboard-text-py/locales/ne.json
+++ b/tools/make-keyboard-text-py/locales/ne.json
@@ -4,7 +4,7 @@
         "period": [
             "!autoColumnOrder!9",
             ".",
-            "\\",
+            "\\\\",
             "?",
             "!",
             "#",
@@ -24,7 +24,7 @@
         "tablet_period": [
             "!autoColumnOrder!8",
             ".",
-            "\\",
+            "\\\\",
             "'",
             "#",
             ")",
-- 
GitLab