Laravel 5 laravel 5/vue app2中的切换语言

Laravel 5 laravel 5/vue app2中的切换语言,laravel-5,internationalization,vuejs2,Laravel 5,Internationalization,Vuejs2,在我的laravel 5.6/vue.js 2.5.7/中,我使用 vue-i18n 7.8和用于多语言支持的laravel-vue-i18n-generator: 在resources/assets/js/app.js文件中,我喜欢: ... let lang = 'fr'; const i18n = new VueI18n({ // https://github.com/caouecs/Laravel-lang - Additive langs locale: lang, //

在我的laravel 5.6/vue.js 2.5.7/中,我使用 vue-i18n 7.8和用于多语言支持的laravel-vue-i18n-generator:

在resources/assets/js/app.js文件中,我喜欢:

...
let lang = 'fr';
const i18n = new VueI18n({    // https://github.com/caouecs/Laravel-lang - Additive langs
    locale: lang, // set locale
    messages : Locale, // set locale messages
})

new Vue({ router, i18n,
    data:{
...

In my vue file wnen I need to read my current locale I can use like :

        created() {
            this.current_locale = this.$i18n;
        ...
要切换到其他语言环境,我可以使用以下函数:

switchLocale () {
  if (this.$i18n.locale === 'fr') {
    this.$i18n.locale = 'en'
  } else {
    this.$i18n.locale = 'fr'
  }
}
问题是当我移动到其他页面时,在哪里保存当前语言?我是说

let lang = 'fr';
在我的代码顶部是一些默认的语言环境,但如果语言环境已经更改,从哪里读取它?请给我一些简单的解决办法。 在url中生成前缀似乎非常复杂

谢谢

你可以用

然后在下一页:

this.$i18n.locale = localStorage.getItem('locale');
this.$i18n.locale = localStorage.getItem('locale');