Simplified Language constructor.

Passing the language name string was never required, so removed the
option.
This commit is contained in:
Oliver Hamlet
2015-07-12 18:36:55 +01:00
parent f62c95ff23
commit 718d6b4f68
3 changed files with 30 additions and 29 deletions
+24 -24
View File
@@ -29,28 +29,28 @@ namespace loot {
Construct(code);
}
Language::Language(const std::string& nameOrCode) {
if (nameOrCode == Language(Language::english).Name() || nameOrCode == Language(Language::english).Locale())
Language::Language(const std::string& locale) {
if (locale == Language(Language::english).Locale())
Construct(Language::english);
else if (nameOrCode == Language(Language::spanish).Name() || nameOrCode == Language(Language::spanish).Locale())
else if (locale == Language(Language::spanish).Locale())
Construct(Language::spanish);
else if (nameOrCode == Language(Language::russian).Name() || nameOrCode == Language(Language::russian).Locale())
else if (locale == Language(Language::russian).Locale())
Construct(Language::russian);
else if (nameOrCode == Language(Language::french).Name() || nameOrCode == Language(Language::french).Locale())
else if (locale == Language(Language::french).Locale())
Construct(Language::french);
else if (nameOrCode == Language(Language::chinese).Name() || nameOrCode == Language(Language::chinese).Locale())
else if (locale == Language(Language::chinese).Locale())
Construct(Language::chinese);
else if (nameOrCode == Language(Language::polish).Name() || nameOrCode == Language(Language::polish).Locale())
else if (locale == Language(Language::polish).Locale())
Construct(Language::polish);
else if (nameOrCode == Language(Language::brazilian_portuguese).Name() || nameOrCode == Language(Language::brazilian_portuguese).Locale())
else if (locale == Language(Language::brazilian_portuguese).Locale())
Construct(Language::brazilian_portuguese);
else if (nameOrCode == Language(Language::finnish).Name() || nameOrCode == Language(Language::finnish).Locale())
else if (locale == Language(Language::finnish).Locale())
Construct(Language::finnish);
else if (nameOrCode == Language(Language::german).Name() || nameOrCode == Language(Language::german).Locale())
else if (locale == Language(Language::german).Locale())
Construct(Language::german);
else if (nameOrCode == Language(Language::danish).Name() || nameOrCode == Language(Language::danish).Locale())
else if (locale == Language(Language::danish).Locale())
Construct(Language::danish);
else if (nameOrCode == Language(Language::korean).Name() || nameOrCode == Language(Language::korean).Locale())
else if (locale == Language(Language::korean).Locale())
Construct(Language::korean);
else
Construct(Language::english);
@@ -116,17 +116,17 @@ namespace loot {
return _locale;
}
const std::vector<std::string> Language::Names({
Language(Language::english).Name(),
Language(Language::spanish).Name(),
Language(Language::russian).Name(),
Language(Language::french).Name(),
Language(Language::chinese).Name(),
Language(Language::polish).Name(),
Language(Language::brazilian_portuguese).Name(),
Language(Language::finnish).Name(),
Language(Language::german).Name(),
Language(Language::danish).Name(),
Language(Language::korean).Name()
const std::vector<unsigned int> Language::Codes({
Language::english,
Language::spanish,
Language::russian,
Language::french,
Language::chinese,
Language::polish,
Language::brazilian_portuguese,
Language::finnish,
Language::german,
Language::danish,
Language::korean
});
}
+2 -2
View File
@@ -33,7 +33,7 @@ namespace loot {
class Language {
public:
Language(const unsigned int code);
Language(const std::string& nameOrCode);
Language(const std::string& locale);
unsigned int Code() const;
std::string Name() const;
@@ -52,7 +52,7 @@ namespace loot {
static const unsigned int danish = 10;
static const unsigned int korean = 11;
static const std::vector<std::string> Names;
static const std::vector<unsigned int> Codes;
private:
unsigned int _code;
std::string _name;
+4 -3
View File
@@ -584,10 +584,11 @@ namespace loot {
BOOST_LOG_TRIVIAL(info) << "Getting LOOT's supported languages.";
// Need to get an array of language names and their corresponding codes.
YAML::Node temp;
for (const auto& name : Language::Names) {
for (const auto& code : Language::Codes) {
YAML::Node lang;
lang["name"] = name;
lang["locale"] = Language(name).Locale();
Language language(code);
lang["name"] = language.Name();
lang["locale"] = language.Locale();
temp.push_back(lang);
}
return JSON::stringify(temp);