diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2017-06-23 13:15:08 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2017-06-23 13:15:08 +0200 |
commit | d881a3c37b627fa5b5de282df93be3af93ff829c (patch) | |
tree | 0b407617ad384f4af323e2cc03e50613ea723dc3 /lib | |
parent | a596251d6b8b27ad5ea626d1939adab6866dfe61 (diff) | |
download | nextcloud-server-d881a3c37b627fa5b5de282df93be3af93ff829c.tar.gz nextcloud-server-d881a3c37b627fa5b5de282df93be3af93ff829c.zip |
adapt to force language changes
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Settings/Personal/PersonalInfo.php | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/lib/private/Settings/Personal/PersonalInfo.php b/lib/private/Settings/Personal/PersonalInfo.php index eb0ff253db1..fb1f388c599 100644 --- a/lib/private/Settings/Personal/PersonalInfo.php +++ b/lib/private/Settings/Personal/PersonalInfo.php @@ -110,7 +110,7 @@ class PersonalInfo implements ISettings { $totalSpace = \OC_Helper::humanFileSize($storageInfo['total']); } - list($activeLanguage, $commonLanguages, $languages) = $this->getLanguages($user); + $languageParameters = $this->getLanguages($user); $messageParameters = $this->getMessageParameters($userData); $parameters = [ @@ -139,10 +139,7 @@ class PersonalInfo implements ISettings { 'twitterVerification' => $userData[AccountManager::PROPERTY_TWITTER]['verified'], 'groups' => $this->getGroups($user), 'passwordChangeSupported' => \OC_User::canUserChangePassword($uid), - 'activelanguage' => $activeLanguage, - 'commonlanguages' => $commonLanguages, - 'languages' => $languages, - ] + $messageParameters; + ] + $messageParameters + $languageParameters; return new TemplateResponse('settings', 'settings/personal/personal.info', $parameters, ''); @@ -194,11 +191,19 @@ class PersonalInfo implements ISettings { * @return array */ private function getLanguages(IUser $user) { + $forceLanguage = $this->config->getSystemValue('force_language', false); + if($forceLanguage !== false) { + return []; + } + $uid = $user->getUID(); - $commonLanguages = []; $userLang = $this->config->getUserValue($uid, 'core', 'lang', $this->l10nFactory->findLanguage()); $languageCodes = $this->l10nFactory->findAvailableLanguages(); + + $commonLanguages = []; + $languages = []; + foreach($languageCodes as $lang) { $l = \OC::$server->getL10N('settings', $lang); // TRANSLATORS this is the language name for the language switcher in the personal settings and should be the localized version @@ -246,7 +251,11 @@ class PersonalInfo implements ISettings { return strcmp($a['name'], $b['name']); }); - return [$userLang, $commonLanguages, $languages]; + return [ + 'activelanguage' => $userLang, + 'commonlanguages' => $commonLanguages, + 'languages' => $languages + ]; } /** |