我正在使用VuePress框架为我的项目构建多语言网站。VuePress文档中的《国际化指南》非常有用,但没有说明如何转换目录中的自定义Vue.js组件.vuepress/components/
。
从我收集的数据来看,最好的解决方案是将vue-i18n插件与VuePress集成在一起,但是似乎没有关于如何执行此操作的指南?
这可能不是完美的解决方案,但可以按预期工作:
npm i vue-i18n
。mkdir ./.vuepress/theme/
。index.js
文件添加到新创建的主题目录:// .vuepress/theme/index.js
module.exports = {
extend: '@vuepress/theme-default' // extend the default VuePress theme
}
enhanceApp.js
文件使您可以进行一些应用程序级增强:// .vuepress/theme/enhanceApp.js
import VueI18n from 'vue-i18n'
export default ({ Vue, options }) => {
Vue.use(VueI18n);
options.i18n = new VueI18n({
locale: 'en',
});
}
$lang
:// .vuepress/components/Foo.vue
export default {
mounted() {
this.$i18n.locale = this.$lang;
},
i18n: {
messages: {
'en-US': { title: 'Foo' },
'de-DE': { title: 'Bar' }
}
}
};
我发现没有简单的解决方案可以挂接到根组件上以全局设置当前语言环境。也许其他人对如何实现这一目标有暗示?