diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/language.cpp | 7 | ||||
-rw-r--r-- | src/modules.cpp | 3 |
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 |