** Internally the output character set is used. Other characters are
** encoded using Unicode entities according to HTML 4.0.
**
+ ** $Id$
**/
$i18n_php = true;
+ if (! isset($squirrelmail_language)) { $squirrelmail_language = ""; }
// This array specifies the available languages.
$languages["en"]["NAME"] = "English";
- $languages["no"]["NAME"] = "Norwegian (Bokmål)";
- $languages["no"]["CHARSET"] = "iso-8859-1";
- $languages["no_NO_ny"]["NAME"] = "Norwegian (Nynorsk)";
- $languages["no_NO_ny"]["CHARSET"] = "iso-8859-1";
+ $languages["en"]["CHARSET"] = "iso-8859-1";
+
+ $languages["ca"]["NAME"] = "Catalan";
+ $languages["ca"]["CHARSET"] = "iso-8859-1";
+
+ $languages["cs_CZ"]["NAME"] = "Czech";
+ $languages["cs_CZ"]["CHARSET"] = "iso-8859-2";
+
+ $languages["da"]["NAME"] = "Danish";
+ $languages["da"]["CHARSET"] = "iso-8859-1";
+
$languages["de"]["NAME"] = "Deutsch";
$languages["de"]["CHARSET"] = "iso-8859-1";
- $languages["ru"]["NAME"] = "Russian KOI8-R";
- $languages["ru"]["CHARSET"] = "koi8-r";
- $languages["pl"]["NAME"] = "Polish";
- $languages["pl"]["CHARSET"] = "iso-8859-2";
- $languages["sv"]["NAME"] = "Swedish";
- $languages["sv"]["CHARSET"] = "iso-8859-1";
+
$languages["nl"]["NAME"] = "Dutch";
$languages["nl"]["CHARSET"] = "iso-8859-1";
- $languages["pt_BR"]["NAME"] = "Portuguese (Brazil)";
- $languages["pt_BR"]["CHARSET"] = "iso-8859-1";
+
$languages["fr"]["NAME"] = "French";
$languages["fr"]["CHARSET"] = "iso-8859-1";
+
+ $languages["fi"]["NAME"] = "Finnish";
+ $languages["fi"]["CHARSET"] = "iso-8859-1";
+
$languages["it"]["NAME"] = "Italian";
$languages["it"]["CHARSET"] = "iso-8859-1";
- $languages["cs"]["NAME"] = "Czech";
- $languages["cs"]["CHARSET"] = "iso-8859-2";
- $languages["es"]["NAME"] = "Spanish";
- $languages["es"]["CHARSET"] = "iso-8859-1";
+
$languages["ko"]["NAME"] = "Korean";
$languages["ko"]["CHARSET"] = "euc-KR";
- $languages["ca"]["NAME"] = "Catalan";
- $languages["ca"]["CHARSET"] = "iso-8859-1";
- $languages["sr"]["NAME"] = "Serbian";
- $languages["sr"]["CHARSET"] = "iso-8859-2";
+
+ $languages["no"]["NAME"] = "Norwegian (Bokmål)";
+ $languages["no"]["CHARSET"] = "iso-8859-1";
+
+ $languages["no_NO_ny"]["NAME"] = "Norwegian (Nynorsk)";
+ $languages["no_NO_ny"]["CHARSET"] = "iso-8859-1";
+
+ $languages["pl"]["NAME"] = "Polish";
+ $languages["pl"]["CHARSET"] = "iso-8859-2";
+
+ $languages["pt_BR"]["NAME"] = "Portuguese (Brazil)";
+ $languages["pt_BR"]["CHARSET"] = "iso-8859-1";
+
+ $languages["ru"]["NAME"] = "Russian KOI8-R";
+ $languages["ru"]["CHARSET"] = "koi8-r";
+
+ $languages["sr"]["NAME"] = "Serbian";
+ $languages["sr"]["CHARSET"] = "iso-8859-2";
+
+ $languages["es"]["NAME"] = "Spanish";
+ $languages["es"]["CHARSET"] = "iso-8859-1";
+
+ $languages["sv"]["NAME"] = "Swedish";
+ $languages["sv"]["CHARSET"] = "iso-8859-1";
+
+ $languages["tw"]["NAME"] = "Taiwan";
+ $languages["tw"]["CHARSET"] = "big5";
+
// Decodes a string to the internal encoding from the given charset
function charset_decode ($charset, $string) {
if ($debug_mime) $string = $charset.":".$string;
- if (ereg("iso-8859-(.*)", $charset, $res)) {
+ if (ereg("iso-8859-([[:digit:]]+)", $charset, $res)) {
if ($res[1] == "1")
return charset_decode_iso_8859_1 ($string);
else if ($res[1] == "2")
function set_up_language($sm_language, $do_search = false)
{
static $SetupAlready = 0;
- global $HTTP_ACCEPT_LANGUAGE;
+ global $HTTP_ACCEPT_LANGUAGE, $use_gettext, $languages, $squirrelmail_language;
if ($SetupAlready)
return;
if ($do_search && ! $sm_language && isset($HTTP_ACCEPT_LANGUAGE)) {
$sm_language = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
}
-
+
if (isset($sm_language) && $use_gettext &&
- $sm_language != "en" && $squirrelmail_language != "" &&
+ $squirrelmail_language != "" &&
$languages[$sm_language]["CHARSET"]) {
- putenv("LC_ALL=".$sm_language);
+ if (ini_get("safe_mode")==FALSE && getenv("LC_ALL")!=$sm_language) {
+ putenv("LC_ALL=".$sm_language);
+ }
+ setlocale("LC_ALL", $sm_language);
bindtextdomain("squirrelmail", "../locale/");
textdomain("squirrelmail");
header ("Content-Type: text/html; charset=".$languages[$sm_language]["CHARSET"]);