X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fgettext.c;h=62263c8696493b83435a76c2519e498fd16e6c62;hb=a15ba5c1ede7c86a85d62ed5b539dcfc9f415bc1;hp=382053a77804ed380c6c4239f537cf75e17fba82;hpb=45d698915b30f0f8ab66c8064800e2832452b711;p=citadel.git diff --git a/webcit/gettext.c b/webcit/gettext.c index 382053a77..62263c869 100644 --- a/webcit/gettext.c +++ b/webcit/gettext.c @@ -1,12 +1,10 @@ /* - * $Id$ + * Copyright (c) 1996-2011 by the citadel.org team * - * Copyright (c) 1996-2010 by the citadel.org team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. + * This program is open source software. You can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,7 +13,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "webcit.h" @@ -26,17 +24,21 @@ /* actual supported locales */ const char *AvailLang[] = { "C", + "bg_BG", + "cs_CZ", "en_US", + "da_DK", "de_DE", - "it_IT", - "es_ES", + "el_GR", "en_GB", - "da_DK", + "es_ES", + "et_EE", + "fi_FI", "fr_FR", + "hu_HU", + "it_IT", "nl_NL", "pt_BR", - "hu_HU", - "et_EE", "ru_RU", "" }; @@ -190,7 +192,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); } @@ -216,7 +218,7 @@ void tmplput_offer_languages(StrBuf *Target, WCTemplputParams *TP) return; } - wc_printf("\n"); for (i=0; i < nLocalesLoaded; ++i) { #ifndef HAVE_USELOCALE @@ -285,8 +287,6 @@ void initialize_locales(void) { int i; char buf[32]; char *language = NULL; - char *locale; - nLocales = 0; while (!IsEmptyStr(AvailLang[nLocales])) @@ -294,7 +294,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; @@ -326,13 +326,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++; } @@ -351,7 +351,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), @@ -364,17 +364,13 @@ void initialize_locales(void) { AvailLangLoaded[0] = AvailLang[0]; nLocalesLoaded = 1; } -#ifndef HAVE_USELOCALE - - -#endif #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 } @@ -451,6 +447,7 @@ void Header_HandleAcceptLanguage(StrBuf *Line, ParsedHttpHdrs *hdr) hdr->HR.browser_language = Line; } + void InitModule_GETTEXT (void) @@ -470,8 +467,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