<template>
<div>
<!-- 切換語系 UI -->
<label
v-for="(item, index) in optionsLang"
v-bind:key="index"
>
<input type="radio" v-model="$store.state.lang" :value="item.value" v-on:change="setLang(item.value)"> {{ item.text }}
</label>
<!-- 使用 $t(key) 即可依所選用的語系顯示對應的語言 -->
<h1>{{ $t('title')}}</h1>
<h2>{{ $t('description')}}</h2>
</div>
</template>
<script>
export default {
data () {
return {
optionsLang: [
{ text: '中文', value: 'zh' },
{ text: 'English', value: 'en' }
]
}
},
methods: {
// 儲存切換的語系
setLang (value) {
this.$store.commit('setLang', value);
this.$i18n.locale = value;
localStorage.setItem('footmark-lang', value);
}
}
}
</script>
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter