diff options
author | Adam <Adam@anope.org> | 2010-10-23 16:12:15 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-10-23 16:12:15 -0400 |
commit | ec5fa9e63e54fc9eaef5d4b5d6b31bdcf7161031 (patch) | |
tree | b1f99b74d1aab0564ca9a5cded7d9bd1668fbfc3 /src/language.cpp | |
parent | 7e47b9774058b29e117a9aab37e25b3f725fa837 (diff) |
Made the language system still work even if the locales are not installed on the system
Diffstat (limited to 'src/language.cpp')
-rw-r--r-- | src/language.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/language.cpp b/src/language.cpp index ca55f0bb8..885394b0c 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -54,9 +54,12 @@ const Anope::string GetString(Anope::string language, LanguageString string) return language_strings[string]; #if GETTEXT_FOUND - setlocale(LC_ALL, language.c_str()); + extern int _nl_msg_cat_cntr; + ++_nl_msg_cat_cntr; + setenv("LANGUAGE", language.c_str(), 1); + setlocale(LC_ALL, "en_US"); const char *ret = dgettext("anope", language_strings[string].c_str()); - setlocale(LC_ALL, ""); + unsetenv("LANGUAGE"); return ret ? ret : ""; #endif |