Client: i18n (#8972)

* wip: client: i18n

* remove maxAge from cookies to get same expiration ad localStorage

* set cookies expiration to 10 years

* moment: load translations in browser, moment: only load necessary data, remove jquery, remove bluebird

* ability to change language

* fix logout

* add some requiresLogin: false to static pages

* fix tests
This commit is contained in:
Matteo Pagliazzi
2017-08-22 18:26:53 +02:00
committed by GitHub
parent e5a92f64c0
commit bd46e3e195
21 changed files with 163 additions and 92 deletions

View File

@@ -7,8 +7,8 @@
.col-6
.form-horizontal
h5 {{ $t('language') }}
select.form-control(v-model='selectedLanguage',
@change='changeLanguage()')
select.form-control(:value='user.preferences.language',
@change='changeLanguage($event)')
option(v-for='lang in availableLanguages', :value='lang.code') {{lang.name}}
small
@@ -218,13 +218,7 @@ export default {
return {
SOCIAL_AUTH_NETWORKS: [],
party: {},
// @TODO: import
availableLanguages: [
{
code: 'en',
name: 'English',
},
],
// Made available by the server as a script
availableFormats: ['MM/dd/yyyy', 'dd/MM/yyyy', 'yyyy/MM/dd'],
dayStartOptions,
newDayStart: 0,
@@ -240,7 +234,10 @@ export default {
this.newDayStart = this.user.preferences.dayStart;
},
computed: {
...mapState({user: 'user.data'}),
...mapState({
user: 'user.data',
availableLanguages: 'i18n.availableLanguages',
}),
timezoneOffsetToUtc () {
let offset = this.user.preferences.timezoneOffset;
let sign = offset > 0 ? '-' : '+';
@@ -254,9 +251,6 @@ export default {
return `UTC${sign}${hour}:${minutes}`;
},
selectedLanguage () {
return this.user.preferences.language;
},
dayStart () {
return this.user.preferences.dayStart;
},
@@ -327,9 +321,11 @@ export default {
// @TODO
// Notification.text(response.data.data.message);
},
changeLanguage () {
this.user.preferences.language = this.selectedLanguage.code;
changeLanguage (e) {
const newLang = e.target.value;
this.user.preferences.language = newLang;
this.set('language');
window.location.href = '/';
},
async changeUser (attribute, updates) {
await axios.put(`/api/v3/user/auth/update-${attribute}`, updates);