Added OC.getLanguage() to get Language <html lang=''> still gets language, though according to IETF BCP47 locale should be good. Signed-off-by: Thomas Citharel <tcit@tcit.fr>tags/v14.0.0beta1
@@ -791,6 +791,15 @@ var OCP = {}, | |||
* @return {String} locale string | |||
*/ | |||
getLocale: function() { | |||
return $('html').prop('data-locale'); | |||
}, | |||
/** | |||
* Returns the user's language | |||
* | |||
* @returns {String} language string | |||
*/ | |||
getLanguage: function () { | |||
return $('html').prop('lang'); | |||
}, | |||
@@ -1,5 +1,5 @@ | |||
<!DOCTYPE html> | |||
<html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" > | |||
<html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" data-locale="<?php p($_['locale']); ?>" > | |||
<head data-user="<?php p($_['user_uid']); ?>" data-user-displayname="<?php p($_['user_displayname']); ?>" data-requesttoken="<?php p($_['requesttoken']); ?>"> | |||
<meta charset="utf-8"> | |||
<title> |
@@ -195,7 +195,7 @@ class Factory implements IFactory { | |||
return 'en'; | |||
} | |||
public function findLocale($app = null, $lang = null) | |||
public function findLocale($lang = null) | |||
{ | |||
if ($this->config->getSystemValue('installed', false)) { | |||
$userId = null !== $this->userSession->getUser() ? $this->userSession->getUser()->getUID() : null; |
@@ -131,10 +131,11 @@ class TemplateLayout extends \OC_Template { | |||
parent::__construct('core', 'layout.base'); | |||
} | |||
// Send the language to our layouts | |||
// Send the language and the locale to our layouts | |||
$lang = \OC::$server->getL10NFactory()->findLanguage(); | |||
$lang = str_replace('_', '-', $lang); | |||
$this->assign('language', $lang); | |||
$this->assign('locale', \OC::$server->getL10NFactory()->findLocale()); | |||
if(\OC::$server->getSystemConfig()->getValue('installed', false)) { | |||
if (empty(self::$versionHash)) { |