/*
- * Copyright (c) 1996-2010 by the citadel.org team
+ * Copyright (c) 1996-2011 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
*
* 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"
"en_GB",
"es_ES",
"et_EE",
+ "fi_FI",
"fr_FR",
"hu_HU",
"it_IT",
"nl_NL",
"pt_BR",
"ru_RU",
+ "zh_CN",
+ "he_IL",
+ "kk_KK",
+ "ro_RO",
+ "sl_SL",
+ "tr_TR",
""
};
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);
}
return;
}
- wc_printf("<select name=\"language\" id=\"lname\" size=\"1\">\n");
+ wc_printf("<select name=\"language\" id=\"lname\" size=\"1\" onChange=\"switch_to_lang($('lname').value);\">\n");
for (i=0; i < nLocalesLoaded; ++i) {
#ifndef HAVE_USELOCALE
for (i = 0; i<nLocalesLoaded; ++i) {
if (!strcasecmp(lang, AvailLangLoaded[i])) {
WC->selected_language = i;
+ break;
}
}
#endif
int i;
char buf[32];
char *language = NULL;
- char *locale;
-
nLocales = 0;
while (!IsEmptyStr(AvailLang[nLocales]))
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;
(((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++;
}
#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),
}
#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
}
"C", ""};
/* dummy for non NLS enabled systems */
+void
+ServerShutdownModule_GETTEXT
+(void)
+{
+}
+
+
void tmplput_offer_languages(StrBuf *Target, WCTemplputParams *TP)
{
wc_printf("English (US)");
hdr->HR.browser_language = Line;
}
+
void
InitModule_GETTEXT
(void)
(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