Changeset View
Changeset View
Standalone View
Standalone View
source/third_party/tinygettext/src/language.cpp
Show All 39 Lines | struct LanguageSpec { | ||||
/** Language name: "German", "English", "French", ... */ | /** Language name: "German", "English", "French", ... */ | ||||
const char* name; | const char* name; | ||||
}; | }; | ||||
/** Language Definitions */ | /** Language Definitions */ | ||||
//*{ | //*{ | ||||
static const LanguageSpec languages[] = { | static const LanguageSpec languages[] = { | ||||
{ "aa", 0, 0, "Afar" }, | { "aa", nullptr, nullptr, "Afar" }, | ||||
{ "af", 0, 0, "Afrikaans" }, | { "af", nullptr, nullptr, "Afrikaans" }, | ||||
{ "af", "ZA", 0, "Afrikaans (South Africa)" }, | { "af", "ZA", nullptr, "Afrikaans (South Africa)" }, | ||||
{ "am", 0, 0, "Amharic" }, | { "am", nullptr, nullptr, "Amharic" }, | ||||
{ "ar", 0, 0, "Arabic" }, | { "ar", nullptr, nullptr, "Arabic" }, | ||||
{ "ar", "AR", 0, "Arabic (Argentina)" }, | { "ar", "AR", nullptr, "Arabic (Argentina)" }, | ||||
{ "ar", "OM", 0, "Arabic (Oman)" }, | { "ar", "OM", nullptr, "Arabic (Oman)" }, | ||||
{ "ar", "SA", 0, "Arabic (Saudi Arabia)" }, | { "ar", "SA", nullptr, "Arabic (Saudi Arabia)" }, | ||||
{ "ar", "SY", 0, "Arabic (Syrian Arab Republic)" }, | { "ar", "SY", nullptr, "Arabic (Syrian Arab Republic)" }, | ||||
{ "ar", "TN", 0, "Arabic (Tunisia)" }, | { "ar", "TN", nullptr, "Arabic (Tunisia)" }, | ||||
{ "as", 0, 0, "Assamese" }, | { "as", nullptr, nullptr, "Assamese" }, | ||||
{ "ast",0, 0, "Asturian" }, | { "ast",nullptr, nullptr, "Asturian" }, | ||||
{ "ay", 0, 0, "Aymara" }, | { "ay", nullptr, nullptr, "Aymara" }, | ||||
{ "az", 0, 0, "Azerbaijani" }, | { "az", nullptr, nullptr, "Azerbaijani" }, | ||||
{ "az", "IR", 0, "Azerbaijani (Iran)" }, | { "az", "IR", nullptr, "Azerbaijani (Iran)" }, | ||||
{ "be", 0, 0, "Belarusian" }, | { "be", nullptr, nullptr, "Belarusian" }, | ||||
{ "be", 0, "latin", "Belarusian" }, | { "be", nullptr, "latin", "Belarusian" }, | ||||
{ "bg", 0, 0, "Bulgarian" }, | { "bg", nullptr, nullptr, "Bulgarian" }, | ||||
{ "bg", "BG", 0, "Bulgarian (Bulgaria)" }, | { "bg", "BG", nullptr, "Bulgarian (Bulgaria)" }, | ||||
{ "bn", 0, 0, "Bengali" }, | { "bn", nullptr, nullptr, "Bengali" }, | ||||
{ "bn", "BD", 0, "Bengali (Bangladesh)" }, | { "bn", "BD", nullptr, "Bengali (Bangladesh)" }, | ||||
{ "bn", "IN", 0, "Bengali (India)" }, | { "bn", "IN", nullptr, "Bengali (India)" }, | ||||
{ "bo", 0, 0, "Tibetan" }, | { "bo", nullptr, nullptr, "Tibetan" }, | ||||
{ "br", 0, 0, "Breton" }, | { "br", nullptr, nullptr, "Breton" }, | ||||
{ "bs", 0, 0, "Bosnian" }, | { "bs", nullptr, nullptr, "Bosnian" }, | ||||
{ "bs", "BA", 0, "Bosnian (Bosnia/Herzegovina)"}, | { "bs", "BA", nullptr, "Bosnian (Bosnia/Herzegovina)"}, | ||||
{ "bs", "BS", 0, "Bosnian (Bahamas)" }, | { "bs", "BS", nullptr, "Bosnian (Bahamas)" }, | ||||
{ "ca", "ES", "valencia", "Catalan (valencia)" }, | { "ca", "ES", "valencia", "Catalan (valencia)" }, | ||||
{ "ca", "ES", 0, "Catalan (Spain)" }, | { "ca", "ES", nullptr, "Catalan (Spain)" }, | ||||
{ "ca", 0, "valencia", "Catalan (valencia)" }, | { "ca", nullptr, "valencia", "Catalan (valencia)" }, | ||||
{ "ca", 0, 0, "Catalan" }, | { "ca", nullptr, nullptr, "Catalan" }, | ||||
{ "cmn", 0, 0, "Mandarin" }, | { "cmn", nullptr, nullptr, "Mandarin" }, | ||||
{ "co", 0, 0, "Corsican" }, | { "co", nullptr, nullptr, "Corsican" }, | ||||
{ "cs", 0, 0, "Czech" }, | { "cs", nullptr, nullptr, "Czech" }, | ||||
{ "cs", "CZ", 0, "Czech (Czech Republic)" }, | { "cs", "CZ", nullptr, "Czech (Czech Republic)" }, | ||||
{ "cy", 0, 0, "Welsh" }, | { "cy", nullptr, nullptr, "Welsh" }, | ||||
{ "cy", "GB", 0, "Welsh (Great Britain)" }, | { "cy", "GB", nullptr, "Welsh (Great Britain)" }, | ||||
{ "cz", 0, 0, "Unknown language" }, | { "cz", nullptr, nullptr, "Unknown language" }, | ||||
{ "da", 0, 0, "Danish" }, | { "da", nullptr, nullptr, "Danish" }, | ||||
{ "da", "DK", 0, "Danish (Denmark)" }, | { "da", "DK", nullptr, "Danish (Denmark)" }, | ||||
{ "de", 0, 0, "German" }, | { "de", nullptr, nullptr, "German" }, | ||||
{ "de", "AT", 0, "German (Austria)" }, | { "de", "AT", nullptr, "German (Austria)" }, | ||||
{ "de", "CH", 0, "German (Switzerland)" }, | { "de", "CH", nullptr, "German (Switzerland)" }, | ||||
{ "de", "DE", 0, "German (Germany)" }, | { "de", "DE", nullptr, "German (Germany)" }, | ||||
{ "dk", 0, 0, "Unknown language" }, | { "dk", nullptr, nullptr, "Unknown language" }, | ||||
{ "dz", 0, 0, "Dzongkha" }, | { "dz", nullptr, nullptr, "Dzongkha" }, | ||||
{ "el", 0, 0, "Greek" }, | { "el", nullptr, nullptr, "Greek" }, | ||||
{ "el", "GR", 0, "Greek (Greece)" }, | { "el", "GR", nullptr, "Greek (Greece)" }, | ||||
{ "en", 0, 0, "English" }, | { "en", nullptr, nullptr, "English" }, | ||||
{ "en", "AU", 0, "English (Australia)" }, | { "en", "AU", nullptr, "English (Australia)" }, | ||||
{ "en", "CA", 0, "English (Canada)" }, | { "en", "CA", nullptr, "English (Canada)" }, | ||||
{ "en", "GB", 0, "English (Great Britain)" }, | { "en", "GB", nullptr, "English (Great Britain)" }, | ||||
{ "en", "US", 0, "English (United States)" }, | { "en", "US", nullptr, "English (United States)" }, | ||||
{ "en", "ZA", 0, "English (South Africa)" }, | { "en", "ZA", nullptr, "English (South Africa)" }, | ||||
{ "en", 0, "boldquot", "English" }, | { "en", nullptr, "boldquot", "English" }, | ||||
{ "en", 0, "quot", "English" }, | { "en", nullptr, "quot", "English" }, | ||||
{ "en", "US", "piglatin", "English" }, | { "en", "US", "piglatin", "English" }, | ||||
{ "eo", 0, 0, "Esperanto" }, | { "eo", nullptr, nullptr, "Esperanto" }, | ||||
{ "es", 0, 0, "Spanish" }, | { "es", nullptr, nullptr, "Spanish" }, | ||||
{ "es", "AR", 0, "Spanish (Argentina)" }, | { "es", "AR", nullptr, "Spanish (Argentina)" }, | ||||
{ "es", "CL", 0, "Spanish (Chile)" }, | { "es", "CL", nullptr, "Spanish (Chile)" }, | ||||
{ "es", "CO", 0, "Spanish (Colombia)" }, | { "es", "CO", nullptr, "Spanish (Colombia)" }, | ||||
{ "es", "CR", 0, "Spanish (Costa Rica)" }, | { "es", "CR", nullptr, "Spanish (Costa Rica)" }, | ||||
{ "es", "DO", 0, "Spanish (Dominican Republic)"}, | { "es", "DO", nullptr, "Spanish (Dominican Republic)"}, | ||||
{ "es", "EC", 0, "Spanish (Ecuador)" }, | { "es", "EC", nullptr, "Spanish (Ecuador)" }, | ||||
{ "es", "ES", 0, "Spanish (Spain)" }, | { "es", "ES", nullptr, "Spanish (Spain)" }, | ||||
{ "es", "GT", 0, "Spanish (Guatemala)" }, | { "es", "GT", nullptr, "Spanish (Guatemala)" }, | ||||
{ "es", "HN", 0, "Spanish (Honduras)" }, | { "es", "HN", nullptr, "Spanish (Honduras)" }, | ||||
{ "es", "LA", 0, "Spanish (Laos)" }, | { "es", "LA", nullptr, "Spanish (Laos)" }, | ||||
{ "es", "MX", 0, "Spanish (Mexico)" }, | { "es", "MX", nullptr, "Spanish (Mexico)" }, | ||||
{ "es", "NI", 0, "Spanish (Nicaragua)" }, | { "es", "NI", nullptr, "Spanish (Nicaragua)" }, | ||||
{ "es", "PA", 0, "Spanish (Panama)" }, | { "es", "PA", nullptr, "Spanish (Panama)" }, | ||||
{ "es", "PE", 0, "Spanish (Peru)" }, | { "es", "PE", nullptr, "Spanish (Peru)" }, | ||||
{ "es", "PR", 0, "Spanish (Puerto Rico)" }, | { "es", "PR", nullptr, "Spanish (Puerto Rico)" }, | ||||
{ "es", "SV", 0, "Spanish (El Salvador)" }, | { "es", "SV", nullptr, "Spanish (El Salvador)" }, | ||||
{ "es", "UY", 0, "Spanish (Uruguay)" }, | { "es", "UY", nullptr, "Spanish (Uruguay)" }, | ||||
{ "es", "VE", 0, "Spanish (Venezuela)" }, | { "es", "VE", nullptr, "Spanish (Venezuela)" }, | ||||
{ "et", 0, 0, "Estonian" }, | { "et", nullptr, nullptr, "Estonian" }, | ||||
{ "et", "EE", 0, "Estonian (Estonia)" }, | { "et", "EE", nullptr, "Estonian (Estonia)" }, | ||||
{ "et", "ET", 0, "Estonian (Ethiopia)" }, | { "et", "ET", nullptr, "Estonian (Ethiopia)" }, | ||||
{ "eu", 0, 0, "Basque" }, | { "eu", nullptr, nullptr, "Basque" }, | ||||
{ "eu", "ES", 0, "Basque (Spain)" }, | { "eu", "ES", nullptr, "Basque (Spain)" }, | ||||
{ "fa", 0, 0, "Persian" }, | { "fa", nullptr, nullptr, "Persian" }, | ||||
{ "fa", "AF", 0, "Persian (Afghanistan)" }, | { "fa", "AF", nullptr, "Persian (Afghanistan)" }, | ||||
{ "fa", "IR", 0, "Persian (Iran)" }, | { "fa", "IR", nullptr, "Persian (Iran)" }, | ||||
{ "fi", 0, 0, "Finnish" }, | { "fi", nullptr, nullptr, "Finnish" }, | ||||
{ "fi", "FI", 0, "Finnish (Finland)" }, | { "fi", "FI", nullptr, "Finnish (Finland)" }, | ||||
{ "fo", 0, 0, "Faroese" }, | { "fo", nullptr, nullptr, "Faroese" }, | ||||
{ "fo", "FO", 0, "Faeroese (Faroe Islands)" }, | { "fo", "FO", nullptr, "Faeroese (Faroe Islands)" }, | ||||
{ "fr", 0, 0, "French" }, | { "fr", nullptr, nullptr, "French" }, | ||||
{ "fr", "CA", 0, "French (Canada)" }, | { "fr", "CA", nullptr, "French (Canada)" }, | ||||
{ "fr", "CH", 0, "French (Switzerland)" }, | { "fr", "CH", nullptr, "French (Switzerland)" }, | ||||
{ "fr", "FR", 0, "French (France)" }, | { "fr", "FR", nullptr, "French (France)" }, | ||||
{ "fr", "LU", 0, "French (Luxembourg)" }, | { "fr", "LU", nullptr, "French (Luxembourg)" }, | ||||
{ "fy", 0, 0, "Frisian" }, | { "fy", nullptr, nullptr, "Frisian" }, | ||||
{ "ga", 0, 0, "Irish" }, | { "ga", nullptr, nullptr, "Irish" }, | ||||
{ "gd", 0, 0, "Gaelic Scots" }, | { "gd", nullptr, nullptr, "Gaelic Scots" }, | ||||
{ "gl", 0, 0, "Galician" }, | { "gl", nullptr, nullptr, "Galician" }, | ||||
{ "gl", "ES", 0, "Galician (Spain)" }, | { "gl", "ES", nullptr, "Galician (Spain)" }, | ||||
{ "gn", 0, 0, "Guarani" }, | { "gn", nullptr, nullptr, "Guarani" }, | ||||
{ "gu", 0, 0, "Gujarati" }, | { "gu", nullptr, nullptr, "Gujarati" }, | ||||
{ "gv", 0, 0, "Manx" }, | { "gv", nullptr, nullptr, "Manx" }, | ||||
{ "ha", 0, 0, "Hausa" }, | { "ha", nullptr, nullptr, "Hausa" }, | ||||
{ "he", 0, 0, "Hebrew" }, | { "he", nullptr, nullptr, "Hebrew" }, | ||||
{ "he", "IL", 0, "Hebrew (Israel)" }, | { "he", "IL", nullptr, "Hebrew (Israel)" }, | ||||
{ "hi", 0, 0, "Hindi" }, | { "hi", nullptr, nullptr, "Hindi" }, | ||||
{ "hr", 0, 0, "Croatian" }, | { "hr", nullptr, nullptr, "Croatian" }, | ||||
{ "hr", "HR", 0, "Croatian (Croatia)" }, | { "hr", "HR", nullptr, "Croatian (Croatia)" }, | ||||
{ "hu", 0, 0, "Hungarian" }, | { "hu", nullptr, nullptr, "Hungarian" }, | ||||
{ "hu", "HU", 0, "Hungarian (Hungary)" }, | { "hu", "HU", nullptr, "Hungarian (Hungary)" }, | ||||
{ "hy", 0, 0, "Armenian" }, | { "hy", nullptr, nullptr, "Armenian" }, | ||||
{ "ia", 0, 0, "Interlingua" }, | { "ia", nullptr, nullptr, "Interlingua" }, | ||||
{ "id", 0, 0, "Indonesian" }, | { "id", nullptr, nullptr, "Indonesian" }, | ||||
{ "id", "ID", 0, "Indonesian (Indonesia)" }, | { "id", "ID", nullptr, "Indonesian (Indonesia)" }, | ||||
{ "is", 0, 0, "Icelandic" }, | { "is", nullptr, nullptr, "Icelandic" }, | ||||
{ "is", "IS", 0, "Icelandic (Iceland)" }, | { "is", "IS", nullptr, "Icelandic (Iceland)" }, | ||||
{ "it", 0, 0, "Italian" }, | { "it", nullptr, nullptr, "Italian" }, | ||||
{ "it", "CH", 0, "Italian (Switzerland)" }, | { "it", "CH", nullptr, "Italian (Switzerland)" }, | ||||
{ "it", "IT", 0, "Italian (Italy)" }, | { "it", "IT", nullptr, "Italian (Italy)" }, | ||||
{ "iu", 0, 0, "Inuktitut" }, | { "iu", nullptr, nullptr, "Inuktitut" }, | ||||
{ "ja", 0, 0, "Japanese" }, | { "ja", nullptr, nullptr, "Japanese" }, | ||||
{ "ja", "JP", 0, "Japanese (Japan)" }, | { "ja", "JP", nullptr, "Japanese (Japan)" }, | ||||
{ "ka", 0, 0, "Georgian" }, | { "ka", nullptr, nullptr, "Georgian" }, | ||||
{ "kk", 0, 0, "Kazakh" }, | { "kk", nullptr, nullptr, "Kazakh" }, | ||||
{ "kl", 0, 0, "Kalaallisut" }, | { "kl", nullptr, nullptr, "Kalaallisut" }, | ||||
{ "km", 0, 0, "Khmer" }, | { "km", nullptr, nullptr, "Khmer" }, | ||||
{ "km", "KH", 0, "Khmer (Cambodia)" }, | { "km", "KH", nullptr, "Khmer (Cambodia)" }, | ||||
{ "kn", 0, 0, "Kannada" }, | { "kn", nullptr, nullptr, "Kannada" }, | ||||
{ "ko", 0, 0, "Korean" }, | { "ko", nullptr, nullptr, "Korean" }, | ||||
{ "ko", "KR", 0, "Korean (Korea)" }, | { "ko", "KR", nullptr, "Korean (Korea)" }, | ||||
{ "ku", 0, 0, "Kurdish" }, | { "ku", nullptr, nullptr, "Kurdish" }, | ||||
{ "kw", 0, 0, "Cornish" }, | { "kw", nullptr, nullptr, "Cornish" }, | ||||
{ "ky", 0, 0, "Kirghiz" }, | { "ky", nullptr, nullptr, "Kirghiz" }, | ||||
{ "la", 0, 0, "Latin" }, | { "la", nullptr, nullptr, "Latin" }, | ||||
{ "lo", 0, 0, "Lao" }, | { "lo", nullptr, nullptr, "Lao" }, | ||||
{ "lt", 0, 0, "Lithuanian" }, | { "lt", nullptr, nullptr, "Lithuanian" }, | ||||
{ "lt", "LT", 0, "Lithuanian (Lithuania)" }, | { "lt", "LT", nullptr, "Lithuanian (Lithuania)" }, | ||||
{ "lv", 0, 0, "Latvian" }, | { "lv", nullptr, nullptr, "Latvian" }, | ||||
{ "lv", "LV", 0, "Latvian (Latvia)" }, | { "lv", "LV", nullptr, "Latvian (Latvia)" }, | ||||
{ "jbo", 0, 0, "Lojban" }, | { "jbo", nullptr, nullptr, "Lojban" }, | ||||
{ "mg", 0, 0, "Malagasy" }, | { "mg", nullptr, nullptr, "Malagasy" }, | ||||
{ "mi", 0, 0, "Maori" }, | { "mi", nullptr, nullptr, "Maori" }, | ||||
{ "mk", 0, 0, "Macedonian" }, | { "mk", nullptr, nullptr, "Macedonian" }, | ||||
{ "mk", "MK", 0, "Macedonian (Macedonia)" }, | { "mk", "MK", nullptr, "Macedonian (Macedonia)" }, | ||||
{ "ml", 0, 0, "Malayalam" }, | { "ml", nullptr, nullptr, "Malayalam" }, | ||||
{ "mn", 0, 0, "Mongolian" }, | { "mn", nullptr, nullptr, "Mongolian" }, | ||||
{ "mr", 0, 0, "Marathi" }, | { "mr", nullptr, nullptr, "Marathi" }, | ||||
{ "ms", 0, 0, "Malay" }, | { "ms", nullptr, nullptr, "Malay" }, | ||||
{ "ms", "MY", 0, "Malay (Malaysia)" }, | { "ms", "MY", nullptr, "Malay (Malaysia)" }, | ||||
{ "mt", 0, 0, "Maltese" }, | { "mt", nullptr, nullptr, "Maltese" }, | ||||
{ "my", 0, 0, "Burmese" }, | { "my", nullptr, nullptr, "Burmese" }, | ||||
{ "my", "MM", 0, "Burmese (Myanmar)" }, | { "my", "MM", nullptr, "Burmese (Myanmar)" }, | ||||
{ "nb", 0, 0, "Norwegian Bokmal" }, | { "nb", nullptr, nullptr, "Norwegian Bokmal" }, | ||||
{ "nb", "NO", 0, "Norwegian Bokmål (Norway)" }, | { "nb", "NO", nullptr, "Norwegian Bokmål (Norway)" }, | ||||
{ "ne", 0, 0, "Nepali" }, | { "ne", nullptr, nullptr, "Nepali" }, | ||||
{ "nl", 0, 0, "Dutch" }, | { "nl", nullptr, nullptr, "Dutch" }, | ||||
{ "nl", "BE", 0, "Dutch (Belgium)" }, | { "nl", "BE", nullptr, "Dutch (Belgium)" }, | ||||
{ "nl", "NL", 0, "Dutch (Netherlands)" }, | { "nl", "NL", nullptr, "Dutch (Netherlands)" }, | ||||
{ "nn", 0, 0, "Norwegian Nynorsk" }, | { "nn", nullptr, nullptr, "Norwegian Nynorsk" }, | ||||
{ "nn", "NO", 0, "Norwegian Nynorsk (Norway)" }, | { "nn", "NO", nullptr, "Norwegian Nynorsk (Norway)" }, | ||||
{ "no", 0, 0, "Norwegian" }, | { "no", nullptr, nullptr, "Norwegian" }, | ||||
{ "no", "NO", 0, "Norwegian (Norway)" }, | { "no", "NO", nullptr, "Norwegian (Norway)" }, | ||||
{ "no", "NY", 0, "Norwegian (NY)" }, | { "no", "NY", nullptr, "Norwegian (NY)" }, | ||||
{ "nr", 0, 0, "Ndebele, South" }, | { "nr", nullptr, nullptr, "Ndebele, South" }, | ||||
{ "oc", 0, 0, "Occitan post 1500" }, | { "oc", nullptr, nullptr, "Occitan post 15nullptrnullptr" }, | ||||
{ "om", 0, 0, "Oromo" }, | { "om", nullptr, nullptr, "Oromo" }, | ||||
{ "or", 0, 0, "Oriya" }, | { "or", nullptr, nullptr, "Oriya" }, | ||||
{ "pa", 0, 0, "Punjabi" }, | { "pa", nullptr, nullptr, "Punjabi" }, | ||||
{ "pl", 0, 0, "Polish" }, | { "pl", nullptr, nullptr, "Polish" }, | ||||
{ "pl", "PL", 0, "Polish (Poland)" }, | { "pl", "PL", nullptr, "Polish (Poland)" }, | ||||
{ "ps", 0, 0, "Pashto" }, | { "ps", nullptr, nullptr, "Pashto" }, | ||||
{ "pt", 0, 0, "Portuguese" }, | { "pt", nullptr, nullptr, "Portuguese" }, | ||||
{ "pt", "BR", 0, "Portuguese (Brazil)" }, | { "pt", "BR", nullptr, "Portuguese (Brazil)" }, | ||||
{ "pt", "PT", 0, "Portuguese (Portugal)" }, | { "pt", "PT", nullptr, "Portuguese (Portugal)" }, | ||||
{ "qu", 0, 0, "Quechua" }, | { "qu", nullptr, nullptr, "Quechua" }, | ||||
{ "rm", 0, 0, "Rhaeto-Romance" }, | { "rm", nullptr, nullptr, "Rhaeto-Romance" }, | ||||
{ "ro", 0, 0, "Romanian" }, | { "ro", nullptr, nullptr, "Romanian" }, | ||||
{ "ro", "RO", 0, "Romanian (Romania)" }, | { "ro", "RO", nullptr, "Romanian (Romania)" }, | ||||
{ "ru", 0, 0, "Russian" }, | { "ru", nullptr, nullptr, "Russian" }, | ||||
{ "ru", "RU", 0, "Russian (Russia" }, | { "ru", "RU", nullptr, "Russian (Russia" }, | ||||
{ "rw", 0, 0, "Kinyarwanda" }, | { "rw", nullptr, nullptr, "Kinyarwanda" }, | ||||
{ "sa", 0, 0, "Sanskrit" }, | { "sa", nullptr, nullptr, "Sanskrit" }, | ||||
{ "sd", 0, 0, "Sindhi" }, | { "sd", nullptr, nullptr, "Sindhi" }, | ||||
{ "se", 0, 0, "Sami" }, | { "se", nullptr, nullptr, "Sami" }, | ||||
{ "se", "NO", 0, "Sami (Norway)" }, | { "se", "NO", nullptr, "Sami (Norway)" }, | ||||
{ "si", 0, 0, "Sinhalese" }, | { "si", nullptr, nullptr, "Sinhalese" }, | ||||
{ "sk", 0, 0, "Slovak" }, | { "sk", nullptr, nullptr, "Slovak" }, | ||||
{ "sk", "SK", 0, "Slovak (Slovakia)" }, | { "sk", "SK", nullptr, "Slovak (Slovakia)" }, | ||||
{ "sl", 0, 0, "Slovenian" }, | { "sl", nullptr, nullptr, "Slovenian" }, | ||||
{ "sl", "SI", 0, "Slovenian (Slovenia)" }, | { "sl", "SI", nullptr, "Slovenian (Slovenia)" }, | ||||
{ "sl", "SL", 0, "Slovenian (Sierra Leone)" }, | { "sl", "SL", nullptr, "Slovenian (Sierra Leone)" }, | ||||
{ "sm", 0, 0, "Samoan" }, | { "sm", nullptr, nullptr, "Samoan" }, | ||||
{ "so", 0, 0, "Somali" }, | { "so", nullptr, nullptr, "Somali" }, | ||||
{ "sp", 0, 0, "Unknown language" }, | { "sp", nullptr, nullptr, "Unknown language" }, | ||||
{ "sq", 0, 0, "Albanian" }, | { "sq", nullptr, nullptr, "Albanian" }, | ||||
{ "sq", "AL", 0, "Albanian (Albania)" }, | { "sq", "AL", nullptr, "Albanian (Albania)" }, | ||||
{ "sr", 0, 0, "Serbian" }, | { "sr", nullptr, nullptr, "Serbian" }, | ||||
{ "sr", "YU", 0, "Serbian (Yugoslavia)" }, | { "sr", "YU", nullptr, "Serbian (Yugoslavia)" }, | ||||
{ "sr", 0,"ije", "Serbian" }, | { "sr", nullptr,"ije", "Serbian" }, | ||||
{ "sr", 0, "latin", "Serbian" }, | { "sr", nullptr, "latin", "Serbian" }, | ||||
{ "sr", 0, "Latn", "Serbian" }, | { "sr", nullptr, "Latn", "Serbian" }, | ||||
{ "ss", 0, 0, "Swati" }, | { "ss", nullptr, nullptr, "Swati" }, | ||||
{ "st", 0, 0, "Sotho" }, | { "st", nullptr, nullptr, "Sotho" }, | ||||
{ "sv", 0, 0, "Swedish" }, | { "sv", nullptr, nullptr, "Swedish" }, | ||||
{ "sv", "SE", 0, "Swedish (Sweden)" }, | { "sv", "SE", nullptr, "Swedish (Sweden)" }, | ||||
{ "sv", "SV", 0, "Swedish (El Salvador)" }, | { "sv", "SV", nullptr, "Swedish (El Salvador)" }, | ||||
{ "sw", 0, 0, "Swahili" }, | { "sw", nullptr, nullptr, "Swahili" }, | ||||
{ "ta", 0, 0, "Tamil" }, | { "ta", nullptr, nullptr, "Tamil" }, | ||||
{ "te", 0, 0, "Telugu" }, | { "te", nullptr, nullptr, "Telugu" }, | ||||
{ "tg", 0, 0, "Tajik" }, | { "tg", nullptr, nullptr, "Tajik" }, | ||||
{ "th", 0, 0, "Thai" }, | { "th", nullptr, nullptr, "Thai" }, | ||||
{ "th", "TH", 0, "Thai (Thailand)" }, | { "th", "TH", nullptr, "Thai (Thailand)" }, | ||||
{ "ti", 0, 0, "Tigrinya" }, | { "ti", nullptr, nullptr, "Tigrinya" }, | ||||
{ "tk", 0, 0, "Turkmen" }, | { "tk", nullptr, nullptr, "Turkmen" }, | ||||
{ "tl", 0, 0, "Tagalog" }, | { "tl", nullptr, nullptr, "Tagalog" }, | ||||
{ "to", 0, 0, "Tonga" }, | { "to", nullptr, nullptr, "Tonga" }, | ||||
{ "tr", 0, 0, "Turkish" }, | { "tr", nullptr, nullptr, "Turkish" }, | ||||
{ "tr", "TR", 0, "Turkish (Turkey)" }, | { "tr", "TR", nullptr, "Turkish (Turkey)" }, | ||||
{ "ts", 0, 0, "Tsonga" }, | { "ts", nullptr, nullptr, "Tsonga" }, | ||||
{ "tt", 0, 0, "Tatar" }, | { "tt", nullptr, nullptr, "Tatar" }, | ||||
{ "ug", 0, 0, "Uighur" }, | { "ug", nullptr, nullptr, "Uighur" }, | ||||
{ "uk", 0, 0, "Ukrainian" }, | { "uk", nullptr, nullptr, "Ukrainian" }, | ||||
{ "uk", "UA", 0, "Ukrainian (Ukraine)" }, | { "uk", "UA", nullptr, "Ukrainian (Ukraine)" }, | ||||
{ "ur", 0, 0, "Urdu" }, | { "ur", nullptr, nullptr, "Urdu" }, | ||||
{ "ur", "PK", 0, "Urdu (Pakistan)" }, | { "ur", "PK", nullptr, "Urdu (Pakistan)" }, | ||||
{ "uz", 0, 0, "Uzbek" }, | { "uz", nullptr, nullptr, "Uzbek" }, | ||||
{ "uz", 0, "cyrillic", "Uzbek" }, | { "uz", nullptr, "cyrillic", "Uzbek" }, | ||||
{ "vi", 0, 0, "Vietnamese" }, | { "vi", nullptr, nullptr, "Vietnamese" }, | ||||
{ "vi", "VN", 0, "Vietnamese (Vietnam)" }, | { "vi", "VN", nullptr, "Vietnamese (Vietnam)" }, | ||||
{ "wa", 0, 0, "Walloon" }, | { "wa", nullptr, nullptr, "Walloon" }, | ||||
{ "wo", 0, 0, "Wolof" }, | { "wo", nullptr, nullptr, "Wolof" }, | ||||
{ "xh", 0, 0, "Xhosa" }, | { "xh", nullptr, nullptr, "Xhosa" }, | ||||
{ "yi", 0, 0, "Yiddish" }, | { "yi", nullptr, nullptr, "Yiddish" }, | ||||
{ "yo", 0, 0, "Yoruba" }, | { "yo", nullptr, nullptr, "Yoruba" }, | ||||
{ "zh", 0, 0, "Chinese" }, | { "zh", nullptr, nullptr, "Chinese" }, | ||||
{ "zh", "CN", 0, "Chinese (simplified)" }, | { "zh", "CN", nullptr, "Chinese (simplified)" }, | ||||
{ "zh", "HK", 0, "Chinese (Hong Kong)" }, | { "zh", "HK", nullptr, "Chinese (Hong Kong)" }, | ||||
{ "zh", "TW", 0, "Chinese (traditional)" }, | { "zh", "TW", nullptr, "Chinese (traditional)" }, | ||||
{ "zu", 0, 0, "Zulu" }, | { "zu", nullptr, nullptr, "Zulu" }, | ||||
{ NULL, 0, 0, NULL } | { nullptr, nullptr, nullptr, nullptr } | ||||
}; | }; | ||||
//*} | //*} | ||||
namespace { | |||||
std::string | std::string | ||||
resolve_language_alias(const std::string& name) | resolve_language_alias(const std::string& name) | ||||
{ | { | ||||
typedef std::unordered_map<std::string, std::string> Aliases; | typedef std::unordered_map<std::string, std::string> Aliases; | ||||
static Aliases language_aliases; | static Aliases language_aliases; | ||||
if (language_aliases.empty()) | if (language_aliases.empty()) | ||||
{ | { | ||||
// FIXME: Many of those are not useful for us, since we leave | // FIXME: Many of those are not useful for us, since we leave | ||||
▲ Show 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | if (i != language_aliases.end()) | ||||
return i->second; | return i->second; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
return name; | return name; | ||||
} | } | ||||
} | } | ||||
} // namespace | |||||
Language | Language | ||||
Language::from_spec(const std::string& language, const std::string& country, const std::string& modifier) | Language::from_spec(const std::string& language, const std::string& country, const std::string& modifier) | ||||
{ | { | ||||
typedef std::unordered_map<std::string, std::vector<const LanguageSpec*> > LanguageSpecMap; | typedef std::unordered_map<std::string, std::vector<const LanguageSpec*> > LanguageSpecMap; | ||||
static LanguageSpecMap language_map; | static LanguageSpecMap language_map; | ||||
if (language_map.empty()) | if (language_map.empty()) | ||||
{ // Init language_map | { // Init language_map | ||||
for(int i = 0; languages[i].language != NULL; ++i) | for(int i = 0; languages[i].language != nullptr; ++i) | ||||
language_map[languages[i].language].push_back(&languages[i]); | language_map[languages[i].language].push_back(&languages[i]); | ||||
} | } | ||||
LanguageSpecMap::iterator i = language_map.find(language); | LanguageSpecMap::iterator i = language_map.find(language); | ||||
if (i != language_map.end()) | if (i != language_map.end()) | ||||
{ | { | ||||
std::vector<const LanguageSpec*>& lst = i->second; | std::vector<const LanguageSpec*>& lst = i->second; | ||||
LanguageSpec tmpspec; | LanguageSpec tmpspec; | ||||
tmpspec.language = language.c_str(); | tmpspec.language = language.c_str(); | ||||
tmpspec.country = country.c_str(); | tmpspec.country = country.c_str(); | ||||
tmpspec.modifier = modifier.c_str(); | tmpspec.modifier = modifier.c_str(); | ||||
Language tmplang(&tmpspec); | Language tmplang(&tmpspec); | ||||
const LanguageSpec* best_match = 0; | const LanguageSpec* best_match = nullptr; | ||||
int best_match_score = 0; | int best_match_score = 0; | ||||
for(std::vector<const LanguageSpec*>::iterator j = lst.begin(); j != lst.end(); ++j) | for(std::vector<const LanguageSpec*>::iterator j = lst.begin(); j != lst.end(); ++j) | ||||
{ // Search for the language that best matches the given spec, value country more then modifier | { // Search for the language that best matches the given spec, value country more then modifier | ||||
int score = Language::match(Language(*j), tmplang); | int score = Language::match(Language(*j), tmplang); | ||||
if (score > best_match_score) | if (score > best_match_score) | ||||
{ | { | ||||
best_match = *j; | best_match = *j; | ||||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
Language::Language(const LanguageSpec* language_spec_) | Language::Language(const LanguageSpec* language_spec_) | ||||
: language_spec(language_spec_) | : language_spec(language_spec_) | ||||
{ | { | ||||
} | } | ||||
Language::Language() | Language::Language() | ||||
: language_spec(0) | : language_spec() | ||||
{ | { | ||||
} | } | ||||
int | int | ||||
Language::match(const Language& lhs, const Language& rhs) | Language::match(const Language& lhs, const Language& rhs) | ||||
{ | { | ||||
if (lhs.get_language() != rhs.get_language()) | if (lhs.get_language() != rhs.get_language()) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 108 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator