From 5ddf54466c084df0288686c5c2bc12429f4542f9 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Tue, 12 Nov 2013 16:13:35 +0100 Subject: [PATCH] can change language from setting --- public/js/controllers/settingsCtrl.js | 11 +++++++++++ src/middleware.js | 2 ++ views/options/settings.jade | 3 +++ 3 files changed, 16 insertions(+) diff --git a/public/js/controllers/settingsCtrl.js b/public/js/controllers/settingsCtrl.js index dec606770f..6617c1536a 100644 --- a/public/js/controllers/settingsCtrl.js +++ b/public/js/controllers/settingsCtrl.js @@ -33,6 +33,17 @@ habitrpg.controller('SettingsCtrl', User.log({'op':'set', data:{'preferences.dayStart': dayStart}}); } + $scope.language = window.env.language; + $scope.avalaibleLanguages = window.env.avalaibleLanguages; + + $scope.changeLanguage = function(){ + User.set('preferences.language', $scope.language); + // FIXME we wait 1sec hoping that in the meantime the server has responded to the `set` + setTimeout(function(){ + location.reload(); + }, 1000); + } + $scope.reroll = function(){ $http.post(API_URL + '/api/v1/user/reroll') diff --git a/src/middleware.js b/src/middleware.js index 3b1b3e89e3..d2f273066b 100644 --- a/src/middleware.js +++ b/src/middleware.js @@ -127,6 +127,8 @@ module.exports.locals = function(req, res, next) { getManifestFiles: getManifestFiles, getBuildUrl: getBuildUrl, avalaibleLanguages: Object.keys(translations), + // should send something like {en: "English"} instead of [en, it, ...] + language: language, t: function(string){ return getTranslatedString(language, string); } diff --git a/views/options/settings.jade b/views/options/settings.jade index 4c957c119b..36fa72b489 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -10,6 +10,9 @@ script(type='text/ng-template', id='partials/options.settings.html') small | Habit defaults to check and reset your dailies at midnight in your time zone each day. You can customize the hour here (enter a number between 0 and 24). hr + h4 Language + select(ng-model='language', ng-options='language for language in avalaibleLanguages', ng-change='changeLanguage()') + hr h4 Misc button.btn(ng-hide='user.preferences.hideHeader', ng-click='set("preferences.hideHeader",true)') Hide Header button.btn(ng-show='user.preferences.hideHeader', ng-click='set("preferences.hideHeader",false)') Show Header