typedef struct { const char *full_name; const char *abbr; // 全部使用小写 } LayoutMapping; static const LayoutMapping layout_mappings[] = { {"English (US)", "us"}, {"English (UK)", "uk"}, {"Russian", "ru"}, {"German", "de"}, {"French", "fr"}, {"Spanish", "es"}, {"Italian", "it"}, {"Japanese", "jp"}, {"Chinese", "cn"}, {"Korean", "kr"}, {"Arabic", "ar"}, {"Hebrew", "il"}, {"Greek", "gr"}, {"Turkish", "tr"}, {"Portuguese", "pt"}, {"Portuguese (Brazil)", "br"}, {"Swedish", "se"}, {"Norwegian", "no"}, {"Danish", "dk"}, {"Finnish", "fi"}, {"Polish", "pl"}, {"Czech", "cz"}, {"Hungarian", "hu"}, {"Ukrainian", "ua"}, {"Belarusian", "by"}, {"Bulgarian", "bg"}, {"Croatian", "hr"}, {"Romanian", "ro"}, {"Serbian", "rs"}, {"Slovak", "sk"}, {"Slovenian", "si"}, {"Estonian", "ee"}, {"Latvian", "lv"}, {"Lithuanian", "lt"}, {"Dutch", "nl"}, {"Flemish", "be"}, {"Swiss German", "ch"}, {"French (Canada)", "ca"}, {"French (Switzerland)", "ch-fr"}, {"Icelandic", "is"}, {"Maltese", "mt"}, {"Irish", "ie"}, {"Albanian", "al"}, {"Macedonian", "mk"}, {"Bosnian", "ba"}, {"Montenegrin", "me"}, {"Dvorak", "dv"}, {"Colemak", "cm"}, {"Workman", "wm"}, {"Norman", "nm"}, {"QGMLWY", "qg"}, {"AZERTY", "az"}, {"QWERTZ", "qz"}, {"BÉPO (French ergonomic)", "bepo"}, {"Neo", "neo"}, {"Turkish F", "trf"}, {"Tibetan", "bo"}, {"Thai", "th"}, {"Vietnamese", "vn"}, {"Lao", "la"}, {"Khmer", "kh"}, {"Hindi", "in"}, {"Persian", "ir"}, {"Urdu", "pk"}, {"Bangla", "bd"}, {"Sinhala", "lk"}, {"Nepali", "np"}, {"Tamil", "ta"}, {"Telugu", "te"}, {"Kannada", "kn"}, {"Malayalam", "ml"}, {NULL, NULL} // 结束标记 };