summaryrefslogtreecommitdiff
path: root/src/language.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-05-05 01:55:04 -0400
committerAdam <Adam@anope.org>2013-05-05 01:55:04 -0400
commit1d0bb9b26b7ad58ab0bf979ac046f4511b3bf12b (patch)
tree4486f0784bdf050fd7eb225c0cb9df352ce1f45a /src/language.cpp
parent781defb7076ddfddf723ca08cd0a518b6657b64f (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.cpp15
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