+ // Charsets that are similar
+switch ($default_charset):
+case "windows-1251":
+ if ( $input_charset == "iso-8859-5" ||
+ $input_charset == "koi8-r" ||
+ $input_charset == "koi8-u" ) {
+ return true;
+ } else {
+ return false;
+ }
+case "windows-1257":
+ if ( $input_charset == "iso-8859-13" ||
+ $input_charset == "iso-8859-4" ) {
+ return true;
+ } else {
+ return false;
+ }
+case "iso-8859-4":
+ if ( $input_charset == "iso-8859-13" ||
+ $input_charset == "windows-1257" ) {
+ return true;
+ } else {
+ return false;
+ }
+case "iso-8859-5":
+ if ( $input_charset == "windows-1251" ||
+ $input_charset == "koi8-r" ||
+ $input_charset == "koi8-u" ) {
+ return true;
+ } else {
+ return false;
+ }
+case "iso-8859-13":
+ if ( $input_charset == "iso-8859-4" ||
+ $input_charset == "windows-1257" ) {
+ return true;
+ } else {
+ return false;
+ }
+case "koi8-r":
+ if ( $input_charset == "windows-1251" ||
+ $input_charset == "iso-8859-5" ||
+ $input_charset == "koi8-u" ) {
+ return true;
+ } else {
+ return false;
+ }
+case "koi8-u":
+ if ( $input_charset == "windows-1251" ||
+ $input_charset == "iso-8859-5" ||
+ $input_charset == "koi8-r" ) {
+ return true;
+ } else {
+ return false;
+ }
+default:
+ return false;
+endswitch;
+}
+
+
+/* ------------------------------ main --------------------------- */
+
+global $squirrelmail_language, $languages, $use_gettext;
+
+if (! sqgetGlobalVar('squirrelmail_language',$squirrelmail_language,SQ_COOKIE)) {
+ $squirrelmail_language = '';
+}
+
+/**
+ * Array specifies the available translations.
+ *
+ * Structure of array:
+ * $languages['language']['variable'] = 'value'
+ *
+ * Possible 'variable' names:
+ * NAME - Translation name in English
+ * CHARSET - Encoding used by translation
+ * ALIAS - used when 'language' is only short name and 'value' should provide long language name
+ * ALTNAME - Native translation name. Any 8bit symbols must be html encoded.
+ * LOCALE - Full locale name (in xx_XX.charset format). It can use array with several locale names since 1.4.5 and 1.5.1
+ * DIR - Text direction. Used to define Right-to-Left languages. Possible values 'rtl' or 'ltr'. If undefined - defaults to 'ltr'
+ * XTRA_CODE - translation uses special functions. See doc/i18n.txt
+ *
+ * Each 'language' definition requires NAME+CHARSET or ALIAS variables.
+ *
+ * @todo TODO: make language loading modular (similar to plugins, with locale/xx_XX/setup.php files)
+ * @name $languages
+ * @global array $languages
+ */
+$languages['bg_BG']['NAME'] = 'Bulgarian';
+$languages['bg_BG']['ALTNAME'] = 'Български';
+$languages['bg_BG']['CHARSET'] = 'windows-1251';
+$languages['bg_BG']['LOCALE'] = 'bg_BG.CP1251';
+$languages['bg']['ALIAS'] = 'bg_BG';
+
+$languages['bn_IN']['NAME'] = 'Bengali';
+$languages['bn_IN']['CHARSET'] = 'utf-8';
+$languages['bn_IN']['LOCALE'] = 'bn_IN.UTF-8';
+$languages['bn_BD']['ALIAS'] = 'bn_IN';
+$languages['bn']['ALIAS'] = 'bn_IN';
+
+$languages['ca_ES']['NAME'] = 'Catalan';
+$languages['ca_ES']['CHARSET'] = 'iso-8859-1';
+$languages['ca_ES']['LOCALE'] = array('ca_ES.ISO8859-1','ca_ES.ISO-8859-1','ca_ES');
+$languages['ca']['ALIAS'] = 'ca_ES';
+
+$languages['cs_CZ']['NAME'] = 'Czech';
+$languages['cs_CZ']['ALTNAME'] = 'Čeština';
+$languages['cs_CZ']['CHARSET'] = 'iso-8859-2';
+$languages['cs_CZ']['LOCALE'] = array('cs_CZ.ISO8859-2','cs_CZ.ISO-8859-2','cs_CZ');
+$languages['cs']['ALIAS'] = 'cs_CZ';
+
+$languages['cy_GB']['NAME'] = 'Welsh';
+$languages['cy_GB']['ALTNAME'] = 'Cymraeg';
+$languages['cy_GB']['CHARSET'] = 'iso-8859-1';
+$languages['cy_GB']['LOCALE'] = array('cy_GB.ISO8859-1','cy_GB.ISO-8859-1','cy_GB');
+$languages['cy']['ALIAS'] = 'cy_GB';
+
+// Danish locale is da_DK.
+$languages['da_DK']['NAME'] = 'Danish';
+$languages['da_DK']['ALTNAME'] = 'Dansk';
+$languages['da_DK']['CHARSET'] = 'iso-8859-1';
+$languages['da_DK']['LOCALE'] = array('da_DK.ISO8859-1','da_DK.ISO-8859-1','da_DK');
+$languages['da']['ALIAS'] = 'da_DK';
+
+$languages['de_DE']['NAME'] = 'German';
+$languages['de_DE']['ALTNAME'] = 'Deutsch';
+$languages['de_DE']['CHARSET'] = 'iso-8859-1';
+$languages['de_DE']['LOCALE'] = array('de_DE.ISO8859-1','de_DE.ISO-8859-1','de_DE');
+$languages['de']['ALIAS'] = 'de_DE';
+
+$languages['el_GR']['NAME'] = 'Greek';
+$languages['el_GR']['ALTNAME'] = 'Ελληνικά';
+$languages['el_GR']['CHARSET'] = 'iso-8859-7';
+$languages['el_GR']['LOCALE'] = array('el_GR.ISO8859-7','el_GR.ISO-8859-7','el_GR');
+$languages['el']['ALIAS'] = 'el_GR';
+
+$languages['en_GB']['NAME'] = 'British';
+$languages['en_GB']['CHARSET'] = 'iso-8859-15';
+$languages['en_GB']['LOCALE'] = array('en_GB.ISO8859-15','en_GB.ISO-8859-15','en_GB');
+
+$languages['en_US']['NAME'] = 'English';
+$languages['en_US']['CHARSET'] = 'iso-8859-1';
+$languages['en_US']['LOCALE'] = 'en_US.ISO8859-1';
+$languages['en']['ALIAS'] = 'en_US';
+
+$languages['es_ES']['NAME'] = 'Spanish';
+$languages['es_ES']['ALTNAME'] = 'Español';
+$languages['es_ES']['CHARSET'] = 'iso-8859-1';
+$languages['es_ES']['LOCALE'] = array('es_ES.ISO8859-1','es_ES.ISO-8859-1','es_ES');
+$languages['es']['ALIAS'] = 'es_ES';
+
+$languages['et_EE']['NAME'] = 'Estonian';
+$languages['et_EE']['CHARSET'] = 'iso-8859-15';
+$languages['et_EE']['LOCALE'] = array('et_EE.ISO8859-15','et_EE.ISO-8859-15','et_EE');
+$languages['et']['ALIAS'] = 'et_EE';
+
+$languages['eu_ES']['NAME'] = 'Basque';
+$languages['eu_ES']['CHARSET'] = 'iso-8859-1';
+$languages['eu_ES']['LOCALE'] = array('eu_ES.ISO8859-1','eu_ES.ISO-8859-1','eu_ES');
+$languages['eu']['ALIAS'] = 'eu_ES';
+
+$languages['fo_FO']['NAME'] = 'Faroese';
+$languages['fo_FO']['CHARSET'] = 'iso-8859-1';
+$languages['fo_FO']['LOCALE'] = array('fo_FO.ISO8859-1','fo_FO.ISO-8859-1','fo_FO');
+$languages['fo']['ALIAS'] = 'fo_FO';
+
+$languages['fi_FI']['NAME'] = 'Finnish';
+$languages['fi_FI']['ALTNAME'] = 'Suomi';
+$languages['fi_FI']['CHARSET'] = 'iso-8859-1';
+$languages['fi_FI']['LOCALE'] = array('fi_FI.ISO8859-1','fi_FI.ISO-8859-1','fi_FI');
+$languages['fi']['ALIAS'] = 'fi_FI';
+
+$languages['fr_FR']['NAME'] = 'French';
+$languages['fr_FR']['ALTNAME'] = 'Français';
+$languages['fr_FR']['CHARSET'] = 'iso-8859-1';
+$languages['fr_FR']['LOCALE'] = array('fr_FR.ISO8859-1','fr_FR.ISO-8859-1','fr_FR');
+$languages['fr']['ALIAS'] = 'fr_FR';
+
+$languages['hr_HR']['NAME'] = 'Croatian';
+$languages['hr_HR']['CHARSET'] = 'iso-8859-2';
+$languages['hr_HR']['LOCALE'] = array('hr_HR.ISO8859-2','hr_HR.ISO-8859-2','hr_HR');
+$languages['hr']['ALIAS'] = 'hr_HR';
+
+$languages['hu_HU']['NAME'] = 'Hungarian';
+$languages['hu_HU']['ALTNAME'] = 'Magyar';
+$languages['hu_HU']['CHARSET'] = 'iso-8859-2';
+$languages['hu_HU']['LOCALE'] = array('hu_HU.ISO8859-2','hu_HU.ISO-8859-2','hu_HU');
+$languages['hu']['ALIAS'] = 'hu_HU';
+
+$languages['id_ID']['NAME'] = 'Indonesian';
+$languages['id_ID']['ALTNAME'] = 'Bahasa Indonesia';
+$languages['id_ID']['CHARSET'] = 'iso-8859-1';
+$languages['id_ID']['LOCALE'] = array('id_ID.ISO8859-1','id_ID.ISO-8859-1','id_ID');
+$languages['id']['ALIAS'] = 'id_ID';
+
+$languages['is_IS']['NAME'] = 'Icelandic';
+$languages['is_IS']['ALTNAME'] = 'Íslenska';
+$languages['is_IS']['CHARSET'] = 'iso-8859-1';
+$languages['is_IS']['LOCALE'] = array('is_IS.ISO8859-1','is_IS.ISO-8859-1','is_IS');
+$languages['is']['ALIAS'] = 'is_IS';
+
+$languages['it_IT']['NAME'] = 'Italian';
+$languages['it_IT']['CHARSET'] = 'iso-8859-1';
+$languages['it_IT']['LOCALE'] = array('it_IT.ISO8859-1','it_IT.ISO-8859-1','it_IT');
+$languages['it']['ALIAS'] = 'it_IT';
+
+$languages['ja_JP']['NAME'] = 'Japanese';
+$languages['ja_JP']['ALTNAME'] = '日本語';
+$languages['ja_JP']['CHARSET'] = 'iso-2022-jp';
+$languages['ja_JP']['LOCALE'] = 'ja_JP.EUC-JP';
+$languages['ja_JP']['XTRA_CODE'] = 'japanese_xtra';
+$languages['ja']['ALIAS'] = 'ja_JP';
+
+$languages['ko_KR']['NAME'] = 'Korean';
+$languages['ko_KR']['CHARSET'] = 'euc-KR';
+$languages['ko_KR']['LOCALE'] = 'ko_KR.EUC-KR';
+$languages['ko_KR']['XTRA_CODE'] = 'korean_xtra';
+$languages['ko']['ALIAS'] = 'ko_KR';
+
+$languages['lt_LT']['NAME'] = 'Lithuanian';
+$languages['lt_LT']['ALTNAME'] = 'Lietuvių';
+$languages['lt_LT']['CHARSET'] = 'utf-8';
+$languages['lt_LT']['LOCALE'] = 'lt_LT.UTF-8';
+$languages['lt']['ALIAS'] = 'lt_LT';
+
+$languages['nl_NL']['NAME'] = 'Dutch';
+$languages['nl_NL']['ALTNAME'] = 'Nederlands';
+$languages['nl_NL']['CHARSET'] = 'iso-8859-1';
+$languages['nl_NL']['LOCALE'] = array('nl_NL.ISO8859-1','nl_NL.ISO-8859-1','nl_NL');
+$languages['nl']['ALIAS'] = 'nl_NL';
+
+$languages['ms_MY']['NAME'] = 'Malay';
+$languages['ms_MY']['ALTNAME'] = 'Bahasa Melayu';
+$languages['ms_MY']['CHARSET'] = 'iso-8859-1';
+$languages['ms_MY']['LOCALE'] = array('ms_MY.ISO8859-1','ms_MY.ISO-8859-1','ms_MY');
+$languages['my']['ALIAS'] = 'ms_MY';
+
+$languages['nb_NO']['NAME'] = 'Norwegian (Bokmål)';
+$languages['nb_NO']['ALTNAME'] = 'Norsk (Bokmål)';
+$languages['nb_NO']['CHARSET'] = 'iso-8859-1';
+$languages['nb_NO']['LOCALE'] = array('nb_NO.ISO8859-1','nb_NO.ISO-8859-1','nb_NO');
+$languages['nb']['ALIAS'] = 'nb_NO';
+
+$languages['nn_NO']['NAME'] = 'Norwegian (Nynorsk)';
+$languages['nn_NO']['ALTNAME'] = 'Norsk (Nynorsk)';
+$languages['nn_NO']['CHARSET'] = 'iso-8859-1';
+$languages['nn_NO']['LOCALE'] = array('nn_NO.ISO8859-1','nn_NO.ISO-8859-1','nn_NO');
+
+$languages['pl_PL']['NAME'] = 'Polish';
+$languages['pl_PL']['ALTNAME'] = 'Polski';
+$languages['pl_PL']['CHARSET'] = 'iso-8859-2';
+$languages['pl_PL']['LOCALE'] = array('pl_PL.ISO8859-2','pl_PL.ISO-8859-2','pl_PL');
+$languages['pl']['ALIAS'] = 'pl_PL';
+
+$languages['pt_PT']['NAME'] = 'Portuguese (Portugal)';
+$languages['pt_PT']['CHARSET'] = 'iso-8859-1';
+$languages['pt_PT']['LOCALE'] = array('pt_PT.ISO8859-1','pt_PT.ISO-8859-1','pt_PT');
+$languages['pt']['ALIAS'] = 'pt_PT';
+
+$languages['pt_BR']['NAME'] = 'Portuguese (Brazil)';
+$languages['pt_BR']['ALTNAME'] = 'Português do Brasil';
+$languages['pt_BR']['CHARSET'] = 'iso-8859-1';
+$languages['pt_BR']['LOCALE'] = array('pt_BR.ISO8859-1','pt_BR.ISO-8859-1','pt_BR');
+
+$languages['ro_RO']['NAME'] = 'Romanian';
+$languages['ro_RO']['ALTNAME'] = 'Română';
+$languages['ro_RO']['CHARSET'] = 'iso-8859-2';
+$languages['ro_RO']['LOCALE'] = array('ro_RO.ISO8859-2','ro_RO.ISO-8859-2','ro_RO');
+$languages['ro']['ALIAS'] = 'ro_RO';
+
+$languages['ru_RU']['NAME'] = 'Russian';
+$languages['ru_RU']['ALTNAME'] = 'Русский';
+$languages['ru_RU']['CHARSET'] = 'utf-8';
+$languages['ru_RU']['LOCALE'] = 'ru_RU.UTF-8';
+$languages['ru']['ALIAS'] = 'ru_RU';
+
+$languages['sk_SK']['NAME'] = 'Slovak';
+$languages['sk_SK']['CHARSET'] = 'iso-8859-2';
+$languages['sk_SK']['LOCALE'] = array('sk_SK.ISO8859-2','sk_SK.ISO-8859-2','sk_SK');
+$languages['sk']['ALIAS'] = 'sk_SK';
+
+$languages['sl_SI']['NAME'] = 'Slovenian';
+$languages['sl_SI']['ALTNAME'] = 'Slovenščina';
+$languages['sl_SI']['CHARSET'] = 'iso-8859-2';
+$languages['sl_SI']['LOCALE'] = array('sl_SI.ISO8859-2','sl_SI.ISO-8859-2','sl_SI');
+$languages['sl']['ALIAS'] = 'sl_SI';
+
+$languages['sr_YU']['NAME'] = 'Serbian';
+$languages['sr_YU']['ALTNAME'] = 'Srpski';
+$languages['sr_YU']['CHARSET'] = 'iso-8859-2';
+$languages['sr_YU']['LOCALE'] = array('sr_YU.ISO8859-2','sr_YU.ISO-8859-2','sr_YU');
+$languages['sr']['ALIAS'] = 'sr_YU';
+
+$languages['sv_SE']['NAME'] = 'Swedish';
+$languages['sv_SE']['ALTNAME'] = 'Svenska';