diff options
author | Adam <Adam@anope.org> | 2013-05-05 01:55:04 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-05-05 01:55:04 -0400 |
commit | 1d0bb9b26b7ad58ab0bf979ac046f4511b3bf12b (patch) | |
tree | 4486f0784bdf050fd7eb225c0cb9df352ce1f45a /src/language.cpp | |
parent | 781defb7076ddfddf723ca08cd0a518b6657b64f (diff) |
Rework the config file reader to be much more flexible and move many configuration directives to the actual modules they are used in.
Diffstat (limited to 'src/language.cpp')
-rw-r--r-- | src/language.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/language.cpp b/src/language.cpp index ec2e0e39b..80f4477c2 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -37,7 +37,7 @@ void Language::InitLanguages() setlocale(LC_ALL, ""); - spacesepstream sep(Config->Languages); + spacesepstream sep(Config->GetBlock("options")->Get<const Anope::string &>("languages")); Anope::string language; while (sep.GetToken(language)) { @@ -58,7 +58,7 @@ void Language::InitLanguages() const char *Language::Translate(const char *string) { - return Translate(Config->NSDefLanguage.c_str(), string); + return Translate("", string); } const char *Language::Translate(User *u, const char *string) @@ -66,12 +66,12 @@ const char *Language::Translate(User *u, const char *string) if (u && u->Account()) return Translate(u->Account(), string); else - return Translate(string); + return Translate("", string); } const char *Language::Translate(const NickCore *nc, const char *string) { - return Translate(nc ? nc->language.c_str() : Config->NSDefLanguage.c_str(), string); + return Translate(nc ? nc->language.c_str() : "", string); } #if GETTEXT_FOUND @@ -81,8 +81,11 @@ extern "C" int _nl_msg_cat_cntr; const char *Language::Translate(const char *lang, const char *string) { - if (!string || !*string || !lang || !*lang) - return string ? string : ""; + if (!string || !*string) + return ""; + + if (!lang || !*lang) + lang = Config->DefLanguage.c_str(); ++_nl_msg_cat_cntr; #ifdef _WIN32 |