mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-07-20 04:43:54 +00:00
feat(i18n): add change language button on front page, fix #3530
This commit is contained in:
parent
176b39a1a0
commit
1d92ddd645
5 changed files with 23 additions and 5 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue