if (! isset($squirrelmail_language)) { $squirrelmail_language = ''; }
// This array specifies the available languages.
- $languages['en']['NAME'] = 'English';
- $languages['en']['CHARSET'] = 'iso-8859-1';
-
$languages['ca']['NAME'] = 'Catalan';
$languages['ca']['CHARSET'] = 'iso-8859-1';
-
- $languages['hr']['NAME'] = 'Croatian';
- $languages['hr']['CHARSET'] = 'iso-8859-2';
+ $languages['ca_CA']['ALIAS'] = 'ca';
$languages['cs_CZ']['NAME'] = 'Czech';
$languages['cs_CZ']['CHARSET'] = 'iso-8859-2';
$languages['da']['NAME'] = 'Danish';
$languages['da']['CHARSET'] = 'iso-8859-1';
+ $languages['da_DA']['ALIAS'] = 'da';
$languages['de']['NAME'] = 'Deutsch';
$languages['de']['CHARSET'] = 'iso-8859-1';
+ $languages['de_DE']['ALIAS'] = 'de';
- $languages['nl']['NAME'] = 'Dutch';
- $languages['nl']['CHARSET'] = 'iso-8859-1';
+ $languages['en']['NAME'] = 'English';
+ $languages['en']['CHARSET'] = 'iso-8859-1';
+ $languages['en_EN']['ALIAS'] = 'en';
+ $languages['es']['NAME'] = 'Spanish';
+ $languages['es']['CHARSET'] = 'iso-8859-1';
+ $languages['es_ES']['ALIAS'] = 'es';
+
+ $languages['fi']['NAME'] = 'Finnish';
+ $languages['fi']['CHARSET'] = 'iso-8859-1';
+ $languages['fi_FI']['ALIAS'] = 'fi';
+
$languages['fr']['NAME'] = 'French';
$languages['fr']['CHARSET'] = 'iso-8859-1';
+ $languages['fr_FR']['ALIAS'] = 'fr';
- $languages['fi']['NAME'] = 'Finnish';
- $languages['fi']['CHARSET'] = 'iso-8859-1';
+ $languages['hr']['NAME'] = 'Croatian';
+ $languages['hr']['CHARSET'] = 'iso-8859-2';
+ $languages['hr_HR']['ALIAS'] = 'hr';
$languages['hu']['NAME'] = 'Hungarian';
- $languages['hu']['CHARSET'] = 'iso-8859-1';
+ $languages['hu']['CHARSET'] = 'iso-8859-2';
+ $languages['hu_HU']['ALIAS'] = 'hu';
+ $languages['id']['NAME'] = 'Indonesian';
+ $languages['id']['CHARSET'] = 'iso-8859-1';
+ $languages['id_ID']['ALIAS'] = 'id';
+
$languages['is']['NAME'] = 'Icelandic';
$languages['is']['CHARSET'] = 'iso-8859-1';
+ $languages['is_IS']['ALIAS'] = 'is';
$languages['it']['NAME'] = 'Italian';
$languages['it']['CHARSET'] = 'iso-8859-1';
+ $languages['it_IT']['ALIAS'] = 'it';
$languages['ko']['NAME'] = 'Korean';
$languages['ko']['CHARSET'] = 'euc-KR';
+ $languages['ko_KO']['ALIAS'] = 'ko';
+
+ $languages['nl']['NAME'] = 'Dutch';
+ $languages['nl']['CHARSET'] = 'iso-8859-1';
+ $languages['nl_NL']['ALIAS'] = 'nl';
$languages['no']['NAME'] = 'Norwegian (Bokmål)';
$languages['no']['CHARSET'] = 'iso-8859-1';
-
+ $languages['no_NO']['ALIAS'] = 'no';
$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['pl_PL']['ALIAS'] = 'pl';
+ $languages['pt']['NAME'] = 'Português (Portugal)';
+ $languages['pt']['CHARSET'] = 'iso-8859-1';
$languages['pt_BR']['NAME'] = 'Portuguese (Brazil)';
$languages['pt_BR']['CHARSET'] = 'iso-8859-1';
+ $languages['pt_PT']['ALIAS'] = 'pt';
$languages['ru']['NAME'] = 'Russian KOI8-R';
$languages['ru']['CHARSET'] = 'koi8-r';
+ $languages['ru_RU']['ALIAS'] = 'ru';
$languages['sr']['NAME'] = 'Serbian';
$languages['sr']['CHARSET'] = 'iso-8859-2';
+ $languages['sr_SR']['ALIAS'] = 'sr';
- $languages['es']['NAME'] = 'Spanish';
- $languages['es']['CHARSET'] = 'iso-8859-1';
-
$languages['sv']['NAME'] = 'Swedish';
$languages['sv']['CHARSET'] = 'iso-8859-1';
+ $languages['sv_SV']['ALIAS'] = 'sv';
+
+ $languages['tr']['NAME'] = 'Turkish';
+ $languages['tr']['CHARSET'] = 'iso-8859-1';
+ $languages['tr_TR']['ALIAS'] = 'tr';
$languages['tw']['NAME'] = 'Taiwan';
$languages['tw']['CHARSET'] = 'big5';
+ $languages['tw_TW']['ALIAS'] = 'tw';
// Decodes a string to the internal encoding from the given charset
return charset_decode_ns_4551_1 ($string);
} else if ($charset == 'koi8-r') {
return charset_decode_koi8r ($string);
+ } else if ($charset == 'windows-1251') {
+ return charset_decode_koi8r ($string);
} else
return $string;
}
{
static $SetupAlready = 0;
global $HTTP_ACCEPT_LANGUAGE, $use_gettext, $languages,
- $squirrelmail_language;
+ $squirrelmail_language, $squirrelmail_default_language,
+ $sm_notAlias;
if ($SetupAlready)
return;
if ($do_search && ! $sm_language && isset($HTTP_ACCEPT_LANGUAGE)) {
$sm_language = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
}
+ if (! $sm_language && isset($squirrelmail_default_language))
+ $sm_language = $squirrelmail_default_language;
+ $sm_notAlias = $sm_language;
+ while (isset($languages[$sm_notAlias]['ALIAS']))
+ $sm_notAlias = $languages[$sm_notAlias]['ALIAS'];
if (isset($sm_language) && $use_gettext &&
$squirrelmail_language != '' &&
- isset($languages[$sm_language]['CHARSET'])) {
+ isset($languages[$sm_notAlias]['CHARSET'])) {
if ((ini_get('safe_mode') == FALSE) && (getenv('LC_ALL') != $sm_language)) {
- putenv('LC_ALL=' . $sm_language);
+ putenv('LC_ALL=' . $sm_notAlias);
}
- setlocale('LC_ALL', $sm_language);
+ setlocale('LC_ALL', $sm_notAlias);
bindtextdomain('squirrelmail', '../locale/');
textdomain('squirrelmail');
header ('Content-Type: text/html; charset=' . $languages[$sm_language]['CHARSET']);
global $data_dir, $username, $default_charset, $languages;
$my_language = getPref($data_dir, $username, "language");
if (!$my_language) return;
+ while (isset($languages[$my_language]['ALIAS']))
+ $my_language = $languages[$my_language]['ALIAS'];
$my_charset=$languages[$my_language]['CHARSET'];
if ($my_charset) $default_charset=$my_charset;
}