aboutsummaryrefslogtreecommitdiff
path: root/src/components/interface_language_switcher/interface_language_switcher.vue
diff options
context:
space:
mode:
authorkaniini <nenolod@gmail.com>2018-08-26 00:01:33 +0000
committerkaniini <nenolod@gmail.com>2018-08-26 00:01:33 +0000
commit5bb5ef43ef272bbabe722b8a3fd4c32c087c3c27 (patch)
treed48ac98c5d75e24e9935e678819b9bc4e6d7e17e /src/components/interface_language_switcher/interface_language_switcher.vue
parent9e111f14fd088d4281b8ac6067313c63df924f84 (diff)
parentc1e4bfa90ffa26e203ca61717b4fb99209ad0d99 (diff)
Merge branch 'language-override' into 'develop'
Make interface language configurable from settings Closes #36 See merge request pleroma/pleroma-fe!315
Diffstat (limited to 'src/components/interface_language_switcher/interface_language_switcher.vue')
-rw-r--r--src/components/interface_language_switcher/interface_language_switcher.vue38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/components/interface_language_switcher/interface_language_switcher.vue b/src/components/interface_language_switcher/interface_language_switcher.vue
new file mode 100644
index 00000000..4b541888
--- /dev/null
+++ b/src/components/interface_language_switcher/interface_language_switcher.vue
@@ -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>