summaryrefslogtreecommitdiff
path: root/src/language.cpp
diff options
context:
space:
mode:
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