]> source.dussan.org Git - nextcloud-server.git/commitdiff
Priorize common languages.
authorkondou <kondou@ts.unde.re>
Thu, 18 Apr 2013 12:17:37 +0000 (14:17 +0200)
committerkondou <kondou@ts.unde.re>
Thu, 18 Apr 2013 13:14:42 +0000 (15:14 +0200)
settings/js/personal.js
settings/personal.php
settings/templates/personal.php

index 7c879bcafe91beb2aed699b9051a33357737f89c..271de1599d93bb62355f257138735161af176cfc 100644 (file)
@@ -88,6 +88,10 @@ $(document).ready(function(){
        $("#languageinput").chosen();
 
        $("#languageinput").change( function(){
+               // the divider is no language
+               if ($("#languageinput option").hasClass('divider')) {
+                       return false;
+               }
                // Serialize the data
                var post = $( "#languageinput" ).serialize();
                // Ajax foo
index 9bbc66c9b7fcf644f61713b9cfa596a84b701ff4..57a7e4ee9cde2908227badaa22b68dcbbfb781eb 100644 (file)
@@ -22,8 +22,14 @@ $email=OC_Preferences::getValue(OC_User::getUser(), 'settings', 'email', '');
 $userLang=OC_Preferences::getValue( OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage() );
 $languageCodes=OC_L10N::findAvailableLanguages();
 
+// array of common languages
+$commonlangcodes = array(
+       'en', 'es', 'fr', 'de', 'de_DE', 'ja_JP', 'nl', 'it', 'pt_BR', 'pt_PT', 'da', 'fi_FI', 'nb_NO', 'sv', 'zh_CN', 'ko'
+);
+
 $languageNames=include 'languageCodes.php';
 $languages=array();
+$commonlanguages = 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
@@ -34,8 +40,12 @@ foreach($languageCodes as $lang) {
                $ln=array('code'=>$lang, 'name'=>$lang);
        }
 
+       // put apropriate languages into apropriate arrays, to print them sorted
+       // used language -> common languages -> divider -> other languages
        if ($lang === $userLang) {
                $userLang = $ln;
+       } elseif (in_array($lang, $commonlangcodes)) {
+               $commonlanguages[]=$ln;
        } else {
                $languages[]=$ln;
        }
@@ -46,9 +56,6 @@ 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/'),
@@ -64,6 +71,8 @@ $tmpl->assign('usage_relative', $storageInfo['relative']);
 $tmpl->assign('clients', $clients);
 $tmpl->assign('email', $email);
 $tmpl->assign('languages', $languages);
+$tmpl->assign('commonlanguages', $commonlanguages);
+$tmpl->assign('activelanguage', $userLang);
 $tmpl->assign('passwordChangeSupported', OC_User::canUserChangePassword(OC_User::getUser()));
 $tmpl->assign('displayNameChangeSupported', OC_User::canUserChangeDisplayName(OC_User::getUser()));
 $tmpl->assign('displayName', OC_User::getDisplayName());
index 03073069ab77688cd3888cbc45d56785b529317d..c0fcf5c1bd655074be242b32bd31cbea48166465 100644 (file)
@@ -78,11 +78,16 @@ if($_['displayNameChangeSupported']) {
        <fieldset class="personalblock">
                <legend><strong><?php p($l->t('Language'));?></strong></legend>
                <select id="languageinput" class="chzen-select" name="lang" data-placeholder="<?php p($l->t('Language'));?>">
+               <option value="<?php p($_['activelanguage']['code']);?>"><?php p($_['activelanguage']['name']);?></option>
+               <?php foreach($_['commonlanguages'] as $language):?>
+                       <option value="<?php p($language['code']);?>"><?php p($language['name']);?></option>
+               <?php endforeach;?>
+               <option class="divider">––––––––––</option>
                <?php foreach($_['languages'] as $language):?>
                        <option value="<?php p($language['code']);?>"><?php p($language['name']);?></option>
                <?php endforeach;?>
                </select>
-               <a href="https://www.transifex.net/projects/p/owncloud/team/<?php p($_['languages'][0]['code']);?>/"
+               <a href="https://www.transifex.net/projects/p/owncloud/team/<?php p($_['activelanguage']['code']);?>/"
                        target="_blank"><em><?php p($l->t('Help translate'));?></em></a>
        </fieldset>
 </form>