From e96f6ffa525db949c9a2204f7b769e04e09f81e9 Mon Sep 17 00:00:00 2001 From: Thomas Mueller Date: Thu, 14 Feb 2013 17:24:06 +0100 Subject: filter l10n-* files --- lib/l10n.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/l10n.php b/lib/l10n.php index e272bcd79f3..1e07a9b9557 100644 --- a/lib/l10n.php +++ b/lib/l10n.php @@ -343,7 +343,7 @@ class OC_L10N{ if(is_dir($dir)) { $files=scandir($dir); foreach($files as $file) { - if(substr($file, -4, 4) == '.php') { + if(substr($file, -4, 4) === '.php' && substr($file, 0, 4) !== 'l10n') { $i = substr($file, 0, -4); $available[] = $i; } -- cgit v1.2.3 From 61e3c158b2781630c166875dbf8f8c4063b0c314 Mon Sep 17 00:00:00 2001 From: Thomas Mueller Date: Thu, 14 Feb 2013 17:46:53 +0100 Subject: add some missing fallback language mappings --- settings/languageCodes.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/settings/languageCodes.php b/settings/languageCodes.php index 71655800856..e116a5d2686 100644 --- a/settings/languageCodes.php +++ b/settings/languageCodes.php @@ -50,6 +50,10 @@ return array( 'lv'=>'Latviešu', 'mk'=>'македонски', 'uk'=>'Українська', -'vi'=>'tiếng việt', +'vi'=>'Tiếng Việt', 'zh_TW'=>'臺灣話', +'af_ZA'=> 'Afrikaans', +'bn_BD'=>'Bengali', +'ta_LK'=>'தமிழ்', +'zh_HK'=>'Chinese (Hong Kong)' ); -- cgit v1.2.3 From 2e280167b81e8b8eae0e7bdd33bd3532d847a915 Mon Sep 17 00:00:00 2001 From: Thomas Mueller Date: Thu, 14 Feb 2013 17:51:27 +0100 Subject: adding language code oc --- settings/languageCodes.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/settings/languageCodes.php b/settings/languageCodes.php index e116a5d2686..2c867c19134 100644 --- a/settings/languageCodes.php +++ b/settings/languageCodes.php @@ -55,5 +55,6 @@ return array( 'af_ZA'=> 'Afrikaans', 'bn_BD'=>'Bengali', 'ta_LK'=>'தமிழ்', -'zh_HK'=>'Chinese (Hong Kong)' +'zh_HK'=>'Chinese (Hong Kong)', +'oc'=>'Occitan (post 1500)', ); -- cgit v1.2.3 From a63f5ffa7582af4d3b285ab752e2c35b2ea00df9 Mon Sep 17 00:00:00 2001 From: Thomas Mueller Date: Thu, 14 Feb 2013 20:59:14 +0100 Subject: some more missing language code fallbacks --- settings/languageCodes.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/settings/languageCodes.php b/settings/languageCodes.php index 2c867c19134..2939461f341 100644 --- a/settings/languageCodes.php +++ b/settings/languageCodes.php @@ -57,4 +57,10 @@ return array( 'ta_LK'=>'தமிழ்', 'zh_HK'=>'Chinese (Hong Kong)', 'oc'=>'Occitan (post 1500)', +'is'=>'Icelandic', +'pl_PL'=>'Polski', +'ka_GE'=>'Georgian for Georgia', +'ku_IQ'=>'Kurdish Iraq', +'ru_RU'=>'Русский язык', +'si_LK'=>'Sinhala' ); -- cgit v1.2.3 From d2f34183a6c479aa4724598234a3dfcd3ed0eb1e Mon Sep 17 00:00:00 2001 From: Thomas Mueller Date: Thu, 14 Feb 2013 21:34:15 +0100 Subject: sort languages based on display name not the iso code --- settings/personal.php | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/settings/personal.php b/settings/personal.php index c2df8db1ccc..9bbc66c9b7f 100644 --- a/settings/personal.php +++ b/settings/personal.php @@ -19,26 +19,36 @@ $storageInfo=OC_Helper::getStorageInfo(); $email=OC_Preferences::getValue(OC_User::getUser(), 'settings', 'email', ''); -$lang=OC_Preferences::getValue( OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage() ); +$userLang=OC_Preferences::getValue( OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage() ); $languageCodes=OC_L10N::findAvailableLanguages(); -sort ($languageCodes); - -//put the current language in the front -unset($languageCodes[array_search($lang, $languageCodes)]); -array_unshift($languageCodes, $lang); $languageNames=include 'languageCodes.php'; $languages=array(); foreach($languageCodes as $lang) { $l=OC_L10N::get('settings', $lang); if(substr($l->t('__language_name__'), 0, 1)!='_') {//first check if the language name is in the translation file - $languages[]=array('code'=>$lang, 'name'=>$l->t('__language_name__')); + $ln=array('code'=>$lang, 'name'=> (string)$l->t('__language_name__')); }elseif(isset($languageNames[$lang])) { - $languages[]=array('code'=>$lang, 'name'=>$languageNames[$lang]); + $ln=array('code'=>$lang, 'name'=>$languageNames[$lang]); }else{//fallback to language code - $languages[]=array('code'=>$lang, 'name'=>$lang); + $ln=array('code'=>$lang, 'name'=>$lang); + } + + if ($lang === $userLang) { + $userLang = $ln; + } else { + $languages[]=$ln; } } + +// sort now by displayed language not the iso-code +usort( $languages, function ($a, $b) { + return strcmp($a['name'], $b['name']); +}); + +//put the current language in the front +array_unshift($languages, $userLang); + //links to clients $clients = array( 'desktop' => OC_Config::getValue('customclient_desktop', 'http://owncloud.org/sync-clients/'), -- cgit v1.2.3