【问题标题】:vue-i18n not use vuetify components stringsvue-i18n 不使用 vuetify 组件字符串
【发布时间】:2021-03-24 11:28:08
【问题描述】:

我尝试使用 vue-i18n 来翻译我的应用程序。我也使用 vuetify 和 vue cli。

目前我有英语和德语两种语言。 这是我的项目结构和代码。

ma​​in.js

import Vue from "vue";
import i18n from "./plugins/i18n";
import vuetify from "./plugins/vuetify";

Vue.config.productionTip = false;

new Vue({
  vuetify,
  i18n,
  render: (h) => h(App),
}).$mount("#app");

plugins/i18n.js

import Vue from "vue";
import VueI18n from "vue-i18n";
import de from "@/locale/de";
import en from "@/locale/en";

Vue.use(VueI18n);

const messages = {
  de: de,
  en: en,
};

const i18n = new VueI18n({
  locale: "de",
  fallbackLocale: "en",
  messages,
});

export default i18n;

locale/en.js

export default {
    hello: "hello",
};

locale/de.js

export default {
    hello: "Hallo",
    $vuetify: {
        dataIterator: {
          rowsPerPageText: "Einträge pro Seite:",
          pageText: "{0}-{1} von {2}",
        },
    }
};

plugins/vuetify.js

import Vue from "vue";
import Vuetify from "vuetify/lib/framework";
import i18n from "./i18n";

Vue.use(Vuetify);

export default new Vuetify({
  lang: {
    t: (key, ...params) => i18n.t(key, params),
  },
});

hello 翻译一切正常,但 vuetify 组件无法按预期工作。 我想在未来为少数 vuetify 组件添加德语翻译。 但目前 a 想使用 vuetify 的原始名称。那是行不通的。

例如,v-select 组件如下所示:

其他组件也无法正常工作。

我做错了什么?

【问题讨论】:

    标签: vue.js vuejs2 vuetify.js vue-i18n


    【解决方案1】:

    您缺少默认的 vuetify 组件语言环境。您应该通过在您的语言环境中重写它们来提供它,或者在每个语言环境文件的开头导入它。

    locale/en.js

    import { en } from 'vuetify/lib/locale'
    
    export default {
      $vuetify: { ...en },
      hello: "hello",
    };
    

    locale/de.js

    import { de } from 'vuetify/lib/locale'
    
    export default {
      hello: "Hallo",
      $vuetify: {
        ...de,
        dataIterator: {
          rowsPerPageText: "Einträge pro Seite:",
          pageText: "{0}-{1} von {2}",
        },
      }
    };
    

    【讨论】:

      猜你喜欢
      • 2022-12-01
      • 2020-05-06
      • 2019-04-19
      • 2021-10-20
      • 2020-11-29
      • 2019-10-01
      • 1970-01-01
      • 2023-04-02
      • 2020-07-16
      相关资源
      最近更新 更多