Прежде всего, вы должны создать плагин, как показано ниже:
src / plugins / i18n.js:
import Vue from 'vue';
import VueI18n from 'vue-i18n';
const DEFAULT_LOCALE = 'en';
Vue.use(VueI18n);
const i18n = new VueI18n({
locale: yourLocale || DEFAULT_LOCALE, // set locale either from localStorage or config
fallbackLocale: DEFAULT_LOCALE,
messages: require('messages.json'), // set locale messages
sharedMessages: require('other.json if exist'),
silentFallbackWarn: true,
});
export default i18n;
Затем вызовите его из main.js для глобализации:
import i18n from './plugins/i18n.js';
...
new Vue({
i18n,
router,
...
render: h => h(App),
}).$mount('#app');
Затем, если вы хотите продолжить с пользовательскими сообщениями, вы можете установить его с помощью блока i18n, например:
<script>
data(){
...
}
methods: ...
i18n: {
messages: require(your json path....)
}
</script>
Затем вы можете вызвать его как:
$t('test');