【发布时间】:2019-05-24 11:37:15
【问题描述】:
在我看来,关于 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
【问题讨论】:
-
我不明白你想要什么。是否要自定义字典以显示自定义消息?
-
@PulkitAggarwal,看看我的
<input>它有一个名称和验证规则 - 必需。如果验证失败,它会显示“需要字段邮件”,并且在我添加了俄语区域设置后,正如我在问题中提到的,它会将其翻译为俄语“поле mail обязательно”。消息本身被翻译,但不是字段名称,在我的例子中是“邮件”,我想将该“邮件”翻译成不同的语言。我希望我解释清楚。 -
medium.com/js-dojo/…我的文章里已经解释过了。
标签: javascript vue.js vee-validate vue-i18n