Explorar el Código

Alternative language name support. Currently $show_alternative_names
should be set in config/config_local.php. See http://www.topolis.lt/squirrelmail/patches/pending/alt-lang/
if you don't want to be a guinea pig. Will put this setting in main config
option in a week.

tokul hace 22 años
padre
commit
f2b03c9411
Se han modificado 2 ficheros con 34 adiciones y 4 borrados
  1. 28 3
      functions/i18n.php
  2. 6 1
      include/options/display.php

+ 28 - 3
functions/i18n.php

@@ -371,6 +371,7 @@ if ( file_exists( SM_PATH . 'locale/ca_ES') ) {
 
 
 if ( file_exists( SM_PATH . 'locale/cs_CZ') ) {
 if ( file_exists( SM_PATH . 'locale/cs_CZ') ) {
     $languages['cs_CZ']['NAME']    = 'Czech';
     $languages['cs_CZ']['NAME']    = 'Czech';
+    $languages['cs_CZ']['ALTNAME'] = 'Čeština';
     $languages['cs_CZ']['CHARSET'] = 'iso-8859-2';
     $languages['cs_CZ']['CHARSET'] = 'iso-8859-2';
     $languages['cs']['ALIAS']      = 'cs_CZ';
     $languages['cs']['ALIAS']      = 'cs_CZ';
 }
 }
@@ -378,12 +379,14 @@ if ( file_exists( SM_PATH . 'locale/cs_CZ') ) {
 if ( file_exists( SM_PATH . 'locale/da_DK') ) {
 if ( file_exists( SM_PATH . 'locale/da_DK') ) {
     // Danish locale is da_DK.
     // Danish locale is da_DK.
     $languages['da_DK']['NAME']    = 'Danish';
     $languages['da_DK']['NAME']    = 'Danish';
+    $languages['da_DK']['ALTNAME'] = 'Dansk';
     $languages['da_DK']['CHARSET'] = 'iso-8859-1';
     $languages['da_DK']['CHARSET'] = 'iso-8859-1';
     $languages['da']['ALIAS'] = 'da_DK';
     $languages['da']['ALIAS'] = 'da_DK';
 }
 }
 
 
 if ( file_exists( SM_PATH . 'locale/de_DE') ) {
 if ( file_exists( SM_PATH . 'locale/de_DE') ) {
-    $languages['de_DE']['NAME']    = 'Deutsch';
+    $languages['de_DE']['NAME']    = 'German';
+    $languages['de_DE']['ALTNAME']    = 'Deutsch';
     $languages['de_DE']['CHARSET'] = 'iso-8859-1';
     $languages['de_DE']['CHARSET'] = 'iso-8859-1';
     $languages['de']['ALIAS'] = 'de_DE';
     $languages['de']['ALIAS'] = 'de_DE';
 }
 }
@@ -393,6 +396,7 @@ if ( file_exists( SM_PATH . 'locale/de_DE') ) {
 
 
 if ( file_exists( SM_PATH . 'locale/el_GR') ) {
 if ( file_exists( SM_PATH . 'locale/el_GR') ) {
     $languages['el_GR']['NAME']    = 'Greek';
     $languages['el_GR']['NAME']    = 'Greek';
+    $languages['el_GR']['ALTNAME'] = 'Ελληνικά';
     $languages['el_GR']['CHARSET'] = 'iso-8859-7';
     $languages['el_GR']['CHARSET'] = 'iso-8859-7';
     $languages['el']['ALIAS'] = 'el_GR';
     $languages['el']['ALIAS'] = 'el_GR';
 }
 }
@@ -403,6 +407,7 @@ $languages['en']['ALIAS'] = 'en_US';
 
 
 if ( file_exists( SM_PATH . 'locale/es_ES') ) {
 if ( file_exists( SM_PATH . 'locale/es_ES') ) {
     $languages['es_ES']['NAME']    = 'Spanish';
     $languages['es_ES']['NAME']    = 'Spanish';
+    $languages['es_ES']['ALTNAME'] = 'Español';
     $languages['es_ES']['CHARSET'] = 'iso-8859-1';
     $languages['es_ES']['CHARSET'] = 'iso-8859-1';
     $languages['es']['ALIAS'] = 'es_ES';
     $languages['es']['ALIAS'] = 'es_ES';
 }
 }
@@ -418,11 +423,13 @@ if ( file_exists( SM_PATH . 'locale/fo_FO') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/fi_FI') ) {
 if ( file_exists( SM_PATH . 'locale/fi_FI') ) {
     $languages['fi_FI']['NAME']    = 'Finnish';
     $languages['fi_FI']['NAME']    = 'Finnish';
+    $languages['fi_FI']['ALTNAME'] = 'Suomi';
     $languages['fi_FI']['CHARSET'] = 'iso-8859-1';
     $languages['fi_FI']['CHARSET'] = 'iso-8859-1';
     $languages['fi']['ALIAS'] = 'fi_FI';
     $languages['fi']['ALIAS'] = 'fi_FI';
 }
 }
 if ( file_exists( SM_PATH . 'locale/fr_FR') ) {
 if ( file_exists( SM_PATH . 'locale/fr_FR') ) {
     $languages['fr_FR']['NAME']    = 'French';
     $languages['fr_FR']['NAME']    = 'French';
+    $languages['fr_FR']['ALTNAME'] = 'Français';
     $languages['fr_FR']['CHARSET'] = 'iso-8859-1';
     $languages['fr_FR']['CHARSET'] = 'iso-8859-1';
     $languages['fr']['ALIAS'] = 'fr_FR';
     $languages['fr']['ALIAS'] = 'fr_FR';
 }
 }
@@ -433,16 +440,19 @@ if ( file_exists( SM_PATH . 'locale/hr_HR') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/hu_HU') ) {
 if ( file_exists( SM_PATH . 'locale/hu_HU') ) {
     $languages['hu_HU']['NAME']    = 'Hungarian';
     $languages['hu_HU']['NAME']    = 'Hungarian';
+    $languages['hu_HU']['ALTNAME'] = 'Magyar';
     $languages['hu_HU']['CHARSET'] = 'iso-8859-2';
     $languages['hu_HU']['CHARSET'] = 'iso-8859-2';
     $languages['hu']['ALIAS'] = 'hu_HU';
     $languages['hu']['ALIAS'] = 'hu_HU';
 }
 }
 if ( file_exists( SM_PATH . 'locale/id_ID') ) {
 if ( file_exists( SM_PATH . 'locale/id_ID') ) {
-    $languages['id_ID']['NAME']    = 'Bahasa Indonesia';
+    $languages['id_ID']['NAME']    = 'Indonesian';
+    $languages['id_ID']['ALTNAME'] = 'Bahasa Indonesia';
     $languages['id_ID']['CHARSET'] = 'iso-8859-1';
     $languages['id_ID']['CHARSET'] = 'iso-8859-1';
     $languages['id']['ALIAS'] = 'id_ID';
     $languages['id']['ALIAS'] = 'id_ID';
 }
 }
 if ( file_exists( SM_PATH . 'locale/is_IS') ) {
 if ( file_exists( SM_PATH . 'locale/is_IS') ) {
     $languages['is_IS']['NAME']    = 'Icelandic';
     $languages['is_IS']['NAME']    = 'Icelandic';
+    $languages['is_IS']['ALTNAME'] = 'Íslenska';
     $languages['is_IS']['CHARSET'] = 'iso-8859-1';
     $languages['is_IS']['CHARSET'] = 'iso-8859-1';
     $languages['is']['ALIAS'] = 'is_IS';
     $languages['is']['ALIAS'] = 'is_IS';
 }
 }
@@ -453,6 +463,7 @@ if ( file_exists( SM_PATH . 'locale/it_IT') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/ja_JP') ) {
 if ( file_exists( SM_PATH . 'locale/ja_JP') ) {
     $languages['ja_JP']['NAME']    = 'Japanese';
     $languages['ja_JP']['NAME']    = 'Japanese';
+    $languages['ja_JP']['ALTNAME'] = '日本語';
     $languages['ja_JP']['CHARSET'] = 'iso-2022-jp';
     $languages['ja_JP']['CHARSET'] = 'iso-2022-jp';
     $languages['ja_JP']['XTRA_CODE'] = 'japanese_charset_xtra';
     $languages['ja_JP']['XTRA_CODE'] = 'japanese_charset_xtra';
     $languages['ja']['ALIAS'] = 'ja_JP';
     $languages['ja']['ALIAS'] = 'ja_JP';
@@ -465,26 +476,31 @@ if ( file_exists( SM_PATH . 'locale/ko_KR') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/nl_NL') ) {
 if ( file_exists( SM_PATH . 'locale/nl_NL') ) {
     $languages['nl_NL']['NAME']    = 'Dutch';
     $languages['nl_NL']['NAME']    = 'Dutch';
+    $languages['nl_NL']['ALTNAME'] = 'Nederlands';
     $languages['nl_NL']['CHARSET'] = 'iso-8859-1';
     $languages['nl_NL']['CHARSET'] = 'iso-8859-1';
     $languages['nl']['ALIAS'] = 'nl_NL';
     $languages['nl']['ALIAS'] = 'nl_NL';
 }
 }
 if ( file_exists( SM_PATH . 'locale/ms_MY') ) {
 if ( file_exists( SM_PATH . 'locale/ms_MY') ) {
-    $languages['ms_MY']['NAME']    = 'Bahasa Melayu';
+    $languages['ms_MY']['NAME']    = 'Malay';
+    $languages['ms_MY']['ALTNAME'] = 'Bahasa Melayu';
     $languages['ms_MY']['CHARSET'] = 'iso-8859-1';
     $languages['ms_MY']['CHARSET'] = 'iso-8859-1';
     $languages['my']['ALIAS'] = 'ms_MY';
     $languages['my']['ALIAS'] = 'ms_MY';
 }
 }
 
 
 if ( file_exists( SM_PATH . 'locale/no_NO') ) {
 if ( file_exists( SM_PATH . 'locale/no_NO') ) {
     $languages['no_NO']['NAME']    = 'Norwegian (Bokmål)';
     $languages['no_NO']['NAME']    = 'Norwegian (Bokmål)';
+    $languages['no_NO']['ALTNAME'] = 'Norsk (Bokmål)';
     $languages['no_NO']['CHARSET'] = 'iso-8859-1';
     $languages['no_NO']['CHARSET'] = 'iso-8859-1';
     $languages['no']['ALIAS'] = 'no_NO';
     $languages['no']['ALIAS'] = 'no_NO';
 }
 }
 if ( file_exists( SM_PATH . 'locale/nn_NO') ) {
 if ( file_exists( SM_PATH . 'locale/nn_NO') ) {
     $languages['nn_NO']['NAME']    = 'Norwegian (Nynorsk)';
     $languages['nn_NO']['NAME']    = 'Norwegian (Nynorsk)';
+    $languages['nn_NO']['ALTNAME'] = 'Norsk (Nynorsk)';
     $languages['nn_NO']['CHARSET'] = 'iso-8859-1';
     $languages['nn_NO']['CHARSET'] = 'iso-8859-1';
 }
 }
 if ( file_exists( SM_PATH . 'locale/pl_PL') ) {
 if ( file_exists( SM_PATH . 'locale/pl_PL') ) {
     $languages['pl_PL']['NAME']    = 'Polish';
     $languages['pl_PL']['NAME']    = 'Polish';
+    $languages['pl_PL']['ALTNAME'] = 'Polski';
     $languages['pl_PL']['CHARSET'] = 'iso-8859-2';
     $languages['pl_PL']['CHARSET'] = 'iso-8859-2';
     $languages['pl']['ALIAS'] = 'pl_PL';
     $languages['pl']['ALIAS'] = 'pl_PL';
 }
 }
@@ -495,21 +511,25 @@ if ( file_exists( SM_PATH . 'locale/pt_PT') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/pt_BR') ) {
 if ( file_exists( SM_PATH . 'locale/pt_BR') ) {
     $languages['pt_BR']['NAME']    = 'Portuguese (Brazil)';
     $languages['pt_BR']['NAME']    = 'Portuguese (Brazil)';
+    $languages['pt_BR']['ALTNAME'] = 'Português do Brasil';
     $languages['pt_BR']['CHARSET'] = 'iso-8859-1';
     $languages['pt_BR']['CHARSET'] = 'iso-8859-1';
 }
 }
 if ( file_exists( SM_PATH . 'locale/ru_RU') ) {
 if ( file_exists( SM_PATH . 'locale/ru_RU') ) {
     $languages['ru_RU']['NAME']    = 'Russian';
     $languages['ru_RU']['NAME']    = 'Russian';
+    $languages['ru_RU']['ALTNAME'] = 'Русский';
     $languages['ru_RU']['CHARSET'] = 'utf-8';
     $languages['ru_RU']['CHARSET'] = 'utf-8';
     $languages['ru_RU']['LOCALE'] = 'ru_RU.UTF-8';
     $languages['ru_RU']['LOCALE'] = 'ru_RU.UTF-8';
     $languages['ru']['ALIAS'] = 'ru_RU';
     $languages['ru']['ALIAS'] = 'ru_RU';
 }
 }
 if ( file_exists( SM_PATH . 'locale/sr_YU') ) {
 if ( file_exists( SM_PATH . 'locale/sr_YU') ) {
     $languages['sr_YU']['NAME']    = 'Serbian';
     $languages['sr_YU']['NAME']    = 'Serbian';
+    $languages['sr_YU']['ALTNAME'] = 'Srpski';
     $languages['sr_YU']['CHARSET'] = 'iso-8859-2';
     $languages['sr_YU']['CHARSET'] = 'iso-8859-2';
     $languages['sr']['ALIAS'] = 'sr_YU';
     $languages['sr']['ALIAS'] = 'sr_YU';
 }
 }
 if ( file_exists( SM_PATH . 'locale/sv_SE') ) {
 if ( file_exists( SM_PATH . 'locale/sv_SE') ) {
     $languages['sv_SE']['NAME']    = 'Swedish';
     $languages['sv_SE']['NAME']    = 'Swedish';
+    $languages['sv_SE']['ALTNAME'] = 'Svenska';
     $languages['sv_SE']['CHARSET'] = 'iso-8859-1';
     $languages['sv_SE']['CHARSET'] = 'iso-8859-1';
     $languages['sv']['ALIAS'] = 'sv_SE';
     $languages['sv']['ALIAS'] = 'sv_SE';
 }
 }
@@ -535,6 +555,7 @@ if ( file_exists( SM_PATH . 'locale/sk_SK') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/ro_RO') ) {
 if ( file_exists( SM_PATH . 'locale/ro_RO') ) {
     $languages['ro_RO']['NAME']    = 'Romanian';
     $languages['ro_RO']['NAME']    = 'Romanian';
+    $languages['ro_RO']['ALTNAME'] = 'Română';
     $languages['ro_RO']['CHARSET'] = 'iso-8859-2';
     $languages['ro_RO']['CHARSET'] = 'iso-8859-2';
     $languages['ro']['ALIAS'] = 'ro_RO';
     $languages['ro']['ALIAS'] = 'ro_RO';
 }
 }
@@ -545,17 +566,20 @@ if ( file_exists( SM_PATH . 'locale/th_TH') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/lt_LT') ) {
 if ( file_exists( SM_PATH . 'locale/lt_LT') ) {
     $languages['lt_LT']['NAME']    = 'Lithuanian';
     $languages['lt_LT']['NAME']    = 'Lithuanian';
+    $languages['lt_LT']['ALTNAME'] = 'Lietuvių';
     $languages['lt_LT']['CHARSET'] = 'utf-8';
     $languages['lt_LT']['CHARSET'] = 'utf-8';
     $languages['lt_LT']['LOCALE'] = 'lt_LT.UTF-8';
     $languages['lt_LT']['LOCALE'] = 'lt_LT.UTF-8';
     $languages['lt']['ALIAS'] = 'lt_LT';
     $languages['lt']['ALIAS'] = 'lt_LT';
 }
 }
 if ( file_exists( SM_PATH . 'locale/sl_SI') ) {
 if ( file_exists( SM_PATH . 'locale/sl_SI') ) {
     $languages['sl_SI']['NAME']    = 'Slovenian';
     $languages['sl_SI']['NAME']    = 'Slovenian';
+    $languages['sl_SI']['ALTNAME'] = 'Slovenščina';
     $languages['sl_SI']['CHARSET'] = 'iso-8859-2';
     $languages['sl_SI']['CHARSET'] = 'iso-8859-2';
     $languages['sl']['ALIAS'] = 'sl_SI';
     $languages['sl']['ALIAS'] = 'sl_SI';
 }
 }
 if ( file_exists( SM_PATH . 'locale/bg_BG') ) {
 if ( file_exists( SM_PATH . 'locale/bg_BG') ) {
     $languages['bg_BG']['NAME']    = 'Bulgarian';
     $languages['bg_BG']['NAME']    = 'Bulgarian';
+    $languages['bg_BG']['ALTNAME'] = 'Български';
     $languages['bg_BG']['CHARSET'] = 'windows-1251';
     $languages['bg_BG']['CHARSET'] = 'windows-1251';
     $languages['bg']['ALIAS'] = 'bg_BG';
     $languages['bg']['ALIAS'] = 'bg_BG';
 }
 }
@@ -566,6 +590,7 @@ if ( file_exists( SM_PATH . 'locale/uk_UA') ) {
 }
 }
 if ( file_exists( SM_PATH . 'locale/cy_GB') ) {
 if ( file_exists( SM_PATH . 'locale/cy_GB') ) {
     $languages['cy_GB']['NAME']    = 'Welsh';
     $languages['cy_GB']['NAME']    = 'Welsh';
+    $languages['cy_GB']['ALTNAME'] = 'Cymraeg';
     $languages['cy_GB']['CHARSET'] = 'iso-8859-1';
     $languages['cy_GB']['CHARSET'] = 'iso-8859-1';
     $languages['cy']['ALIAS'] = 'cy_GB';
     $languages['cy']['ALIAS'] = 'cy_GB';
 }
 }

+ 6 - 1
include/options/display.php

@@ -20,7 +20,7 @@ define('SMOPT_GRP_MESSAGE', 2);
 function load_optpage_data_display() {
 function load_optpage_data_display() {
     global $theme, $language, $languages, $js_autodetect_results,
     global $theme, $language, $languages, $js_autodetect_results,
     $compose_new_win, $default_use_mdn, $squirrelmail_language, $allow_thread_sort,
     $compose_new_win, $default_use_mdn, $squirrelmail_language, $allow_thread_sort,
-    $optmode;
+    $optmode, $show_alternative_names;
 
 
     /* Build a simple array into which we will build options. */
     /* Build a simple array into which we will build options. */
     $optgrps = array();
     $optgrps = array();
@@ -75,6 +75,11 @@ function load_optpage_data_display() {
     foreach ($languages as $lang_key => $lang_attributes) {
     foreach ($languages as $lang_key => $lang_attributes) {
         if (isset($lang_attributes['NAME'])) {
         if (isset($lang_attributes['NAME'])) {
             $language_values[$lang_key] = $lang_attributes['NAME'];
             $language_values[$lang_key] = $lang_attributes['NAME'];
+	    if ( isset($show_alternative_names) &&
+		$show_alternative_names &&
+		isset($lang_attributes['ALTNAME']) ) {
+		$language_values[$lang_key] .= " / " . $lang_attributes['ALTNAME'];
+	    }
         }
         }
     }
     }
     asort($language_values);
     asort($language_values);