feat(i18n): add change language button on front page, fix #3530
This commit is contained in:
@@ -47,7 +47,9 @@ angular.module('authCtrl', [])
|
||||
if ($scope.registrationForm.$invalid) {
|
||||
return;
|
||||
}
|
||||
$http.post(API_URL + "/api/v2/register", $scope.registerVals).success(function(data, status, headers, config) {
|
||||
var url = API_URL + "/api/v2/register";
|
||||
if($rootScope.selectedLanguage) url = url + '?lang=' + $rootScope.selectedLanguage.code;
|
||||
$http.post(url, $scope.registerVals).success(function(data, status, headers, config) {
|
||||
runAuth(data.id, data.apiToken);
|
||||
}).error(errorAlert);
|
||||
};
|
||||
|
||||
@@ -4,6 +4,17 @@
|
||||
.controller("FooterCtrl", ['$scope', '$rootScope', 'User', '$http', 'Notification', 'API_URL',
|
||||
function($scope, $rootScope, User, $http, Notification, API_URL) {
|
||||
|
||||
if(typeof habitrpg === "undefined"){
|
||||
$scope.languages = env.avalaibleLanguages;
|
||||
$scope.selectedLanguage = _.find(env.avalaibleLanguages, {code: env.language.code});
|
||||
|
||||
$rootScope.selectedLanguage = $scope.selectedLanguage;
|
||||
|
||||
$scope.changeLang = function(){
|
||||
window.location = '?lang='+$scope.selectedLanguage.code;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
External Scripts
|
||||
JS files not needed right away (google charts) or entirely optional (analytics)
|
||||
|
||||
+5
-2
@@ -81,8 +81,11 @@ var getUserLanguage = function(req, res, next){
|
||||
req.language = lang;
|
||||
next();
|
||||
};
|
||||
|
||||
if(req.locals && req.locals.user){
|
||||
console.log(req.query.lang)
|
||||
if(req.query.lang){
|
||||
req.language = translations[req.query.lang] ? (req.query.lang) : 'en';
|
||||
next();
|
||||
}else if(req.locals && req.locals.user){
|
||||
getFromUser(req.locals.user);
|
||||
}else if(req.session && req.session.userId){
|
||||
User.findOne({_id: req.session.userId}, function(err, user){
|
||||
|
||||
@@ -380,8 +380,6 @@ UserSchema.pre('save', function(next) {
|
||||
return newTask;
|
||||
});
|
||||
});
|
||||
|
||||
this.preferences.language = undefined;
|
||||
}
|
||||
|
||||
//this.markModified('tasks');
|
||||
|
||||
@@ -8,6 +8,10 @@ footer.footer(ng-controller='FooterCtrl')
|
||||
a(href='https://itunes.apple.com/us/app/habitrpg/id689569235?mt=8', target='_blank')=env.t('mobileIOS')
|
||||
li
|
||||
a(href='https://play.google.com/store/apps/details?id=com.ocdevel.habitrpg', target='_blank')=env.t('mobileAndroid')
|
||||
if env.isStaticPage
|
||||
h4=env.t('language')
|
||||
select(ng-change='changeLang()', ng-model='selectedLanguage', ng-options='language.name for language in languages')
|
||||
|
||||
.col-sm-3
|
||||
h4=env.t('footerCompany')
|
||||
ul.list-unstyled
|
||||
|
||||
Reference in New Issue
Block a user