From b8df88a1bc19898fd2fdc46282f4264554ebfa40 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 28 Oct 2010 16:25:33 -0400 Subject: Made gettext work on Debian and updated some documentation --- src/language.cpp | 7 ++++--- src/modules.cpp | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src') 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 -- cgit