X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fgettext.c;h=636fb035b29f2630459925662000595364510ded;hb=71285b10ec0bbac33fd38a69ade68495bbebd906;hp=d365391a0516807fee28dcac4e377cd77e5ee903;hpb=ab37473678c58caf7310c44afa93e235a43a1726;p=citadel.git diff --git a/webcit/gettext.c b/webcit/gettext.c index d365391a0..636fb035b 100644 --- a/webcit/gettext.c +++ b/webcit/gettext.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996-2010 by the citadel.org team + * Copyright (c) 1996-2011 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -33,12 +33,14 @@ const char *AvailLang[] = { "en_GB", "es_ES", "et_EE", + "fi_FI", "fr_FR", "hu_HU", "it_IT", "nl_NL", "pt_BR", "ru_RU", + "zh_CN", "" }; @@ -191,7 +193,7 @@ void httplang_to_locale(StrBuf *LocaleString, wcsession *sess) nBest=0; } sess->selected_language = nBest; - lprintf(9, "language found: %s\n", AvailLangLoaded[WC->selected_language]); + syslog(9, "language found: %s\n", AvailLangLoaded[WC->selected_language]); FreeStrBuf(&Buf); FreeStrBuf(&SBuf); } @@ -217,7 +219,7 @@ void tmplput_offer_languages(StrBuf *Target, WCTemplputParams *TP) return; } - wc_printf("\n"); for (i=0; i < nLocalesLoaded; ++i) { #ifndef HAVE_USELOCALE @@ -242,6 +244,7 @@ void set_selected_language(const char *lang) { for (i = 0; iselected_language = i; + break; } } #endif @@ -286,8 +289,6 @@ void initialize_locales(void) { int i; char buf[32]; char *language = NULL; - char *locale; - nLocales = 0; while (!IsEmptyStr(AvailLang[nLocales])) @@ -295,7 +296,7 @@ void initialize_locales(void) { language = getenv("WEBCIT_LANG"); if ((language) && (!IsEmptyStr(language)) && (strcmp(language, "UNLIMITED") != 0)) { - lprintf(9, "Nailing locale to %s\n", language); + syslog(9, "Nailing locale to %s\n", language); } else language = NULL; @@ -327,13 +328,13 @@ void initialize_locales(void) { (((i > 0) && (wc_locales[0] != NULL)) ? wc_locales[0] : Empty_Locale) ); if (wc_locales[nLocalesLoaded] == NULL) { - lprintf(1, "locale for "LOCALEDIR"locale/%s: %s; disabled\n", + syslog(1, "locale for "LOCALEDIR"locale/%s: %s; disabled\n", buf, strerror(errno) ); } else { - lprintf(3, "Found locale: %s\n", buf); + syslog(3, "Found locale: %s\n", buf); AvailLangLoaded[nLocalesLoaded] = AvailLang[i]; nLocalesLoaded++; } @@ -352,7 +353,7 @@ void initialize_locales(void) { #endif } if ((language != NULL) && (nLocalesLoaded == 0)) { - lprintf(1, "Your selected locale [%s] isn't available on your system. falling back to C\n", language); + syslog(1, "Your selected locale [%s] isn't available on your system. falling back to C\n", language); #ifdef HAVE_USELOCALE wc_locales[0] = newlocale( (LC_MESSAGES_MASK|LC_TIME_MASK), @@ -367,11 +368,11 @@ void initialize_locales(void) { } #ifdef ENABLE_NLS - locale = setlocale(LC_ALL, ""); + /*locale = */setlocale(LC_ALL, ""); - lprintf(9, "Message catalog directory: %s\n", bindtextdomain("webcit", LOCALEDIR"/locale")); - lprintf(9, "Text domain: %s\n", textdomain("webcit")); - lprintf(9, "Text domain Charset: %s\n", bind_textdomain_codeset("webcit","UTF8")); + syslog(9, "Message catalog directory: %s\n", bindtextdomain("webcit", LOCALEDIR"/locale")); + syslog(9, "Text domain: %s\n", textdomain("webcit")); + syslog(9, "Text domain Charset: %s\n", bind_textdomain_codeset("webcit","UTF8")); #endif } @@ -448,6 +449,7 @@ void Header_HandleAcceptLanguage(StrBuf *Line, ParsedHttpHdrs *hdr) hdr->HR.browser_language = Line; } + void InitModule_GETTEXT (void) @@ -467,8 +469,10 @@ SessionNewModule_GETTEXT (wcsession *sess) { #ifdef ENABLE_NLS - if (!sess->Hdr->HR.Static && - (sess->Hdr->HR.browser_language != NULL)) { + if ( (sess != NULL) + && (!sess->Hdr->HR.Static) + && (sess->Hdr->HR.browser_language != NULL) + ) { httplang_to_locale(sess->Hdr->HR.browser_language, sess); } #endif