feat(i18n): add change language button on front page, fix #3530

This commit is contained in:
Matteo Pagliazzi 2014-08-03 18:23:13 +02:00
parent 176b39a1a0
commit 1d92ddd645
5 changed files with 23 additions and 5 deletions

View file

@ -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);
};

View file

@ -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)

View file

@ -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){

View file

@ -380,8 +380,6 @@ UserSchema.pre('save', function(next) {
return newTask;
});
});
this.preferences.language = undefined;
}
//this.markModified('tasks');

View file

@ -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