summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/language.cpp7
-rw-r--r--src/modules.cpp3
2 files changed, 6 insertions, 4 deletions
diff --git a/src/language.cpp b/src/language.cpp
index ffaf3acb0..d5fe5d40b 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -30,9 +30,9 @@ void InitLanguages()
}
if (!bindtextdomain("anope", (services_dir + "/languages/").c_str()))
- {
Log() << "Error calling bindtextdomain, " << Anope::LastError();
- }
+ else
+ Log(LOG_DEBUG) << "Successfully bound anope to " << services_dir << "/languages/";
#else
Log() << "Can not load languages, gettext is not installed";
#endif
@@ -60,9 +60,10 @@ const Anope::string GetString(Anope::string language, LanguageString string)
#if GETTEXT_FOUND
++_nl_msg_cat_cntr;
setenv("LANGUAGE", language.c_str(), 1);
- setlocale(LC_ALL, "en_US");
+ setlocale(LC_ALL, language.c_str()); // This is only required by some systems, but must not be C or POSIX
const char *ret = dgettext("anope", language_strings[string].c_str());
unsetenv("LANGUAGE");
+ setlocale(LC_ALL, "");
return ret ? ret : "";
#endif
diff --git a/src/modules.cpp b/src/modules.cpp
index eb7462d1a..c15f468e8 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -305,9 +305,10 @@ void Module::SendMessage(BotInfo *from, User *to, const char *fmt, ...)
{
++_nl_msg_cat_cntr;
setenv("LANGUAGE", language.c_str(), 1);
- setlocale(LC_ALL, "en_US");
+ setlocale(LC_ALL, language.c_str()); // This is only required by some systems, but must not be C or POSIX
message = dgettext(this->name.c_str(), fmt);
unsetenv("LANGUAGE");
+ setlocale(LC_ALL, "");
}
#endif