- ** i18n.php
- **
- ** This file contains variuos functions that are needed to do
- ** internationalization of SquirrelMail.
- **
- ** Internally the output character set is used. Other characters are
- ** encoded using Unicode entities according to HTML 4.0.
- **
- ** $Id$
- **/
-
- global $squirrelmail_language, $languages;
- if (! isset($squirrelmail_language)) { $squirrelmail_language = ''; }
-
- // This array specifies the available languages.
- $languages['ca']['NAME'] = 'Catalan';
- $languages['ca']['CHARSET'] = 'iso-8859-1';
- $languages['ca_CA']['ALIAS'] = 'ca';
-
- /* PLEASE DON'T TOUCH!!!
- * Correct locale name, which should be set by setlocale and/or putenv('LC_ALL='...)
- * is 'cs_CZ' and NOT 'cs', this applies to all locale names, look into docs, if you
- * don't believe me. Ondrej Sury, czech and slovak translator.
- */
- $languages['cs_CZ']['NAME'] = 'Czech';
- $languages['cs_CZ']['CHARSET'] = 'iso-8859-2';
- $languages['cs']['ALIAS'] = 'cs_CZ';
- $languages['cz']['ALIAS'] = 'cs_CZ'; // set up by some ancient versions of IE
-
- $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['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['et']['NAME'] = 'Estonian';
- $languages['et']['CHARSET'] = 'iso-8859-15';
- $languages['et_EE']['ALIAS'] = 'et';
-
- $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['hr']['NAME'] = 'Croatian';
- $languages['hr']['CHARSET'] = 'iso-8859-2';
- $languages['hr_HR']['ALIAS'] = 'hr';
-
- $languages['hu']['NAME'] = 'Hungarian';
- $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['sv']['NAME'] = 'Swedish';
- $languages['sv']['CHARSET'] = 'iso-8859-1';
- $languages['sv_SV']['ALIAS'] = 'sv';
-
- $languages['tr']['NAME'] = 'Turkish';
- $languages['tr']['CHARSET'] = 'iso-8859-9';
- $languages['tr_TR']['ALIAS'] = 'tr';
-
- $languages['tw']['NAME'] = 'Taiwan';
- $languages['tw']['CHARSET'] = 'big5';
- $languages['tw_TW']['ALIAS'] = 'tw';
-
- $languages['sk_SK']['NAME'] = 'Slovak';
- $languages['sk_SK']['CHARSET'] = 'iso-8859-2';
- $languages['sk']['ALIAS'] = 'sk_SK';
-
- $languages['ro']['NAME'] = 'Romanian';
- $languages['ro']['CHARSET'] = 'iso-8859-2';
- $languages['ro_RO']['ALIAS'] = 'ro';
-
- $languages['th']['NAME'] = 'Thai';
- $languages['th']['CHARSET'] = 'tis-620';
-
- $languages['lt']['NAME'] = 'Lithuanian';
- $languages['lt']['CHARSET'] = 'iso-8859-13';
- $languages['lt_LT']['ALIAS'] = 'lt';
-
- $languages['sl']['NAME'] = 'Slovenian';
- $languages['sl']['CHARSET'] = 'iso-8859-2';
-
- $languages['bg']['NAME'] = 'Bulgarian';
- $languages['bg']['CHARSET'] = 'iso-8859-1';
-
- // Decodes a string to the internal encoding from the given charset
- function charset_decode ($charset, $string) {
- global $debug_mime;
-
- // All HTML special characters are 7 bit and can be replaced first
- $string = htmlspecialchars ($string);
-
- $charset = strtolower($charset);
-
- if ($debug_mime) $string = $charset . ':' . $string;
-
- if (ereg('iso-8859-([[:digit:]]+)', $charset, $res)) {
- if ($res[1] == '1')
- return charset_decode_iso_8859_1 ($string);
- else if ($res[1] == '2')
- return charset_decode_iso_8859_2 ($string);
- else if ($res[1] == '7')
- return charset_decode_iso_8859_7 ($string);
- else if ($res[1] == '15')
- return charset_decode_iso_8859_15 ($string);
- else
- return charset_decode_iso_8859_default ($string);
- } else if ($charset == 'ns_4551-1') {
- 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;
- }
-
- // iso-8859-1 is the same as Latin 1 and is normally used
- // in western europe.
- function charset_decode_iso_8859_1 ($string) {
- global $default_charset;
-
- if (strtolower($default_charset) == 'iso-8859-1') {
- return $string;
- } else {
- // Only do the slow convert if there are 8-bit characters
- if (ereg("[\200-\377]", $string)) {
- $string = str_replace("\201", '', $string);
- $string = str_replace("\202", '‚', $string);
- $string = str_replace("\203", 'ƒ', $string);
- $string = str_replace("\204", '„', $string);
- $string = str_replace("\205", '…', $string);
- $string = str_replace("\206", '†', $string);
- $string = str_replace("\207", '‡', $string);
- $string = str_replace("\210", 'ˆ', $string);
- $string = str_replace("\211", '‰', $string);
- $string = str_replace("\212", 'Š', $string);
- $string = str_replace("\213", '‹', $string);
- $string = str_replace("\214", 'Œ', $string);
- $string = str_replace("\215", '', $string);
- $string = str_replace("\216", 'Ž', $string);
- $string = str_replace("\217", '', $string);
- $string = str_replace("\220", '', $string);
- $string = str_replace("\221", '‘', $string);
- $string = str_replace("\222", '’', $string);
- $string = str_replace("\223", '“', $string);
- $string = str_replace("\224", '”', $string);
- $string = str_replace("\225", '•', $string);
- $string = str_replace("\226", '–', $string);
- $string = str_replace("\227", '—', $string);
- $string = str_replace("\230", '˜', $string);
- $string = str_replace("\231", '™', $string);
- $string = str_replace("\232", 'š', $string);
- $string = str_replace("\233", '›', $string);
- $string = str_replace("\234", 'œ', $string);
- $string = str_replace("\235", '', $string);
- $string = str_replace("\236", 'ž', $string);
- $string = str_replace("\237", 'Ÿ', $string);
- $string = str_replace("\240", ' ', $string);
- $string = str_replace("\241", '¡', $string);
- $string = str_replace("\242", '¢', $string);
- $string = str_replace("\243", '£', $string);
- $string = str_replace("\244", '¤', $string);
- $string = str_replace("\245", '¥', $string);
- $string = str_replace("\246", '¦', $string);
- $string = str_replace("\247", '§', $string);
- $string = str_replace("\250", '¨', $string);
- $string = str_replace("\251", '©', $string);
- $string = str_replace("\252", 'ª', $string);
- $string = str_replace("\253", '«', $string);
- $string = str_replace("\254", '¬', $string);
- $string = str_replace("\255", '­', $string);
- $string = str_replace("\256", '®', $string);
- $string = str_replace("\257", '¯', $string);
- $string = str_replace("\260", '°', $string);
- $string = str_replace("\261", '±', $string);
- $string = str_replace("\262", '²', $string);
- $string = str_replace("\263", '³', $string);
- $string = str_replace("\264", '´', $string);
- $string = str_replace("\265", 'µ', $string);
- $string = str_replace("\266", '¶', $string);
- $string = str_replace("\267", '·', $string);
- $string = str_replace("\270", '¸', $string);
- $string = str_replace("\271", '¹', $string);
- $string = str_replace("\272", 'º', $string);
- $string = str_replace("\273", '»', $string);
- $string = str_replace("\274", '¼', $string);
- $string = str_replace("\275", '½', $string);
- $string = str_replace("\276", '¾', $string);
- $string = str_replace("\277", '¿', $string);
- $string = str_replace("\300", 'À', $string);
- $string = str_replace("\301", 'Á', $string);
- $string = str_replace("\302", 'Â', $string);
- $string = str_replace("\303", 'Ã', $string);
- $string = str_replace("\304", 'Ä', $string);
- $string = str_replace("\305", 'Å', $string);
- $string = str_replace("\306", 'Æ', $string);
- $string = str_replace("\307", 'Ç', $string);
- $string = str_replace("\310", 'È', $string);
- $string = str_replace("\311", 'É', $string);
- $string = str_replace("\312", 'Ê', $string);
- $string = str_replace("\313", 'Ë', $string);
- $string = str_replace("\314", 'Ì', $string);
- $string = str_replace("\315", 'Í', $string);
- $string = str_replace("\316", 'Î', $string);
- $string = str_replace("\317", 'Ï', $string);
- $string = str_replace("\320", 'Ð', $string);
- $string = str_replace("\321", 'Ñ', $string);
- $string = str_replace("\322", 'Ò', $string);
- $string = str_replace("\323", 'Ó', $string);
- $string = str_replace("\324", 'Ô', $string);
- $string = str_replace("\325", 'Õ', $string);
- $string = str_replace("\326", 'Ö', $string);
- $string = str_replace("\327", '×', $string);
- $string = str_replace("\330", 'Ø', $string);
- $string = str_replace("\331", 'Ù', $string);
- $string = str_replace("\332", 'Ú', $string);
- $string = str_replace("\333", 'Û', $string);
- $string = str_replace("\334", 'Ü', $string);
- $string = str_replace("\335", 'Ý', $string);
- $string = str_replace("\336", 'Þ', $string);
- $string = str_replace("\337", 'ß', $string);
- $string = str_replace("\340", 'à', $string);
- $string = str_replace("\341", 'á', $string);
- $string = str_replace("\342", 'â', $string);
- $string = str_replace("\343", 'ã', $string);
- $string = str_replace("\344", 'ä', $string);
- $string = str_replace("\345", 'å', $string);
- $string = str_replace("\346", 'æ', $string);
- $string = str_replace("\347", 'ç', $string);
- $string = str_replace("\350", 'è', $string);
- $string = str_replace("\351", 'é', $string);
- $string = str_replace("\352", 'ê', $string);
- $string = str_replace("\353", 'ë', $string);
- $string = str_replace("\354", 'ì', $string);
- $string = str_replace("\355", 'í', $string);
- $string = str_replace("\356", 'î', $string);
- $string = str_replace("\357", 'ï', $string);
- $string = str_replace("\360", 'ð', $string);
- $string = str_replace("\361", 'ñ', $string);
- $string = str_replace("\362", 'ò', $string);
- $string = str_replace("\363", 'ó', $string);
- $string = str_replace("\364", 'ô', $string);
- $string = str_replace("\365", 'õ', $string);
- $string = str_replace("\366", 'ö', $string);
- $string = str_replace("\367", '÷', $string);
- $string = str_replace("\370", 'ø', $string);
- $string = str_replace("\371", 'ù', $string);
- $string = str_replace("\372", 'ú', $string);
- $string = str_replace("\373", 'û', $string);
- $string = str_replace("\374", 'ü', $string);
- $string = str_replace("\375", 'ý', $string);
- $string = str_replace("\376", 'þ', $string);
- $string = str_replace("\377", 'ÿ', $string);
- }
- }