Merge branch 'language-override' into 'develop'

Make interface language configurable from settings

Closes #36

See merge request pleroma/pleroma-fe!315
This commit is contained in:
kaniini 2018-08-26 00:01:33 +00:00
commit 5bb5ef43ef
9 changed files with 64 additions and 5 deletions

View file

@ -0,0 +1,38 @@
<template>
<div>
<label for="interface-language-switcher" class='select'>
<select id="interface-language-switcher" v-model="language">
<option v-for="(langCode, i) in languageCodes" :value="langCode">
{{ languageNames[i] }}
</option>
</select>
<i class="icon-down-open"/>
</label>
</div>
</template>
<script>
import languagesObject from '../../i18n/messages'
import ISO6391 from 'iso-639-1'
import _ from 'lodash'
export default {
computed: {
languageCodes () {
return Object.keys(languagesObject)
},
languageNames () {
return _.map(this.languageCodes, ISO6391.getName)
},
language: {
get: function () { return this.$store.state.config.interfaceLanguage },
set: function (val) {
this.$store.dispatch('setOption', { name: 'interfaceLanguage', value: val })
this.$i18n.locale = val
}
}
}
}
</script>

View file

@ -1,5 +1,6 @@
/* eslint-env browser */
import StyleSwitcher from '../style_switcher/style_switcher.vue'
import InterfaceLanguageSwitcher from '../interface_language_switcher/interface_language_switcher.vue'
import { filter, trim } from 'lodash'
const settings = {
@ -28,7 +29,8 @@ const settings = {
}
},
components: {
StyleSwitcher
StyleSwitcher,
InterfaceLanguageSwitcher
},
computed: {
user () {

View file

@ -84,6 +84,10 @@
</li>
</ul>
</div>
<div class="setting-item">
<h2>{{ $t('settings.interfaceLanguage') }}</h2>
<interface-language-switcher />
</div>
</div>
</div>
</template>