Skip to content
Snippets Groups Projects
LocaleMenu.vue 2.06 KiB
<template>

                <v-list subheader max-width="400">

                <v-subheader>{{$t("settings.language")}}</v-subheader>
                <v-list-item>
                    <v-list-item-content>
                <v-select v-model="updateLocale"
                          :menu-props="{ offsetY: true }"  
                          prepend-inner-icon="language"
                          hide-details
                          :items="locales"
                          :label="$t('settings.locale')"
                          dense>
                    </v-select>
                    </v-list-item-content>
                </v-list-item>
                
                <v-list-item>
                    <v-list-item-content>
                <v-select v-model="updateDefaultDict"
                          :menu-props="{ offsetY: true }"  
                          prepend-inner-icon="book"
                          hide-details
                          :items="dicts"
                          :label="$t('settings.default-dict')"
                          dense>
                    </v-select>
                    </v-list-item-content>
                </v-list-item>
                </v-list>
    
</template>

<script>
export default {
    data() {
        return {
            locales: [{text: "norsk (bokmål)", value: "nob"}, {text: "norsk (nynorsk)", value: "nno"}, {text:"english", value: "eng"}],
            localesMap: {"nob": "norsk (bokmål)", "nno": "norsk (nynorsk)", "eng": "english"},
            dicts: ["bm,nn", "bm", "nn"].map(tag => { return {text: this.$t("dicts."+tag), value: tag}}),
        }
        
    },
    computed: {
        updateLocale: {
            get () { return this.$store.state.currentLocale}, 
            set(value) {
                this.$store.commit("setLocale", {value: value, i18n: this._i18n})
                }
        },
        updateDefaultDict: {
            get () { return this.$store.state.defaultDict}, 
            set(value) {
                this.$store.commit("setDefaultDict", value)
                }
        }
    },
}
</script>