mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
More language support refactoring.
This commit is contained in:
+20
-35
@@ -232,9 +232,27 @@ namespace boss {
|
||||
return "file:///" + file.string(); //Seems that we don't need to worry about encoding, tested with Unicode paths.
|
||||
}
|
||||
|
||||
Language::Language(const unsigned int code) : _code(code) {
|
||||
Language::Language(const unsigned int code) {
|
||||
Construct(_code);
|
||||
}
|
||||
|
||||
Language::Language(const std::string& nameOrISOCode) {
|
||||
if (nameOrISOCode == "English" || nameOrISOCode == "eng")
|
||||
Construct(g_lang_english);
|
||||
else if (nameOrISOCode == "Español" || nameOrISOCode == "spa")
|
||||
Construct(g_lang_spanish);
|
||||
else if (nameOrISOCode == "Русский" || nameOrISOCode == "rus")
|
||||
Construct(g_lang_russian);
|
||||
else if (nameOrISOCode == "Français" || nameOrISOCode == "fra")
|
||||
Construct(g_lang_french);
|
||||
else
|
||||
Construct(g_lang_any);
|
||||
}
|
||||
|
||||
void Language::Construct(const unsigned int code) {
|
||||
_code = code;
|
||||
if (_code == g_lang_any) {
|
||||
_name = "None Specified";
|
||||
_name = boost::locale::translate("None Specified");
|
||||
_isoCode = "";
|
||||
_locale = "en.UTF-8";
|
||||
}
|
||||
@@ -260,39 +278,6 @@ namespace boss {
|
||||
}
|
||||
}
|
||||
|
||||
Language::Language(const std::string& nameOrISOCode) {
|
||||
if (nameOrISOCode == "English" || nameOrISOCode == "eng") {
|
||||
_name = "English";
|
||||
_isoCode = "eng";
|
||||
_code = g_lang_english;
|
||||
_locale = "en.UTF-8";
|
||||
}
|
||||
else if (nameOrISOCode == "Español" || nameOrISOCode == "spa") {
|
||||
_name = "Español";
|
||||
_isoCode = "spa";
|
||||
_code = g_lang_spanish;
|
||||
_locale = "es.UTF-8";
|
||||
}
|
||||
else if (nameOrISOCode == "Русский" || nameOrISOCode == "rus") {
|
||||
_name = "Русский";
|
||||
_isoCode = "rus";
|
||||
_code = g_lang_russian;
|
||||
_locale = "ru.UTF-8";
|
||||
}
|
||||
else if (nameOrISOCode == "Français" || nameOrISOCode == "fra") {
|
||||
_name = "Français";
|
||||
_isoCode = "fra";
|
||||
_code = g_lang_french;
|
||||
_locale = "fr.UTF-8";
|
||||
}
|
||||
else {
|
||||
_name = boost::locale::translate("None Specified");
|
||||
_isoCode = "";
|
||||
_code = g_lang_any;
|
||||
_locale = "en.UTF-8";
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int Language::Code() const {
|
||||
return _code;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user