gpt4 book ai didi

javascript - 如何使用 vee-validate 和 vue-i18n 翻译字段名称

转载 作者:行者123 更新时间:2023-11-30 11:10:25 26 4
gpt4 key购买 nike

在我看来,有关 i18n 与 vee-validate 集成的文档不完整。如果我将 i18n 与 vee-validate 一起使用,我仍然无法弄清楚如何翻译字段名称。

这是我的 main.js:

import ruValidation from 'vee-validate/dist/locale/ru'
import enValidation from 'vee-validate/dist/locale/en'

Vue.use(VeeValidate, {
i18nRootKey: 'validations',
i18n,
dictionary: {
en: enValidation,
ru: ruValidation
},
errorBagName: 'vErrors',
events: ''
})

但问题是 - 我如何翻译属性?我试过:

import attributesRU from './locales/veevalidate/ru/attributes'

dictionary: {
en: enValidation,
ru: { message: ruValidation, attributes: attributesRU }
},

attributes.js 的内容:

export const attributes = {
mail: 'Эл.почта'
}

输入:

<input type="text" name="mail" v-validate="'required|email'">

但没有成功,即使消息没有被翻译,如果我添加:

ru: { message: ruValidation, attributes: attributesRU }

代替:

ru: ruValidation

最佳答案

如果不查看您的更多代码,很难回答您的问题。我已经为您的输入元素设置了一个工作代码和框 here .这成功翻译了 i18n.locale 修改时的错误消息和字段。

组件:

<input type="text" name="mail" v-validate="'required|email'" />
{{ errors.first("mail") }}

在 index.js 中设置:

import ru from "vee-validate/dist/locale/ru";
import en from "vee-validate/dist/locale/en";
import VueI18n from "vue-i18n";

Vue.use(VueI18n);

const i18n = new VueI18n({
locale: "ru"
});

Vue.use(VeeValidate, {
i18n,
dictionary: {
ru: {
messages: ru.messages,
attributes: { mail: "Эл.почта" }
},
en: {
messages: en.messages,
attributes: { mail: "mail test" }
}
}
});

关于javascript - 如何使用 vee-validate 和 vue-i18n 翻译字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53928123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com