На мой взгляд, документация по интеграции 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 }
},
Содержимое attribute.js:
export const attributes = {
mail: 'Эл.почта'
}
Вход:
<input type="text" name="mail" v-validate="'required|email'">
Но безуспешно, даже сообщения не переводятся, если я добавлю:
ru: { message: ruValidation, attributes: attributesRU }
вместо:
ru: ruValidation
<input>
, у него есть имя и правило проверки - обязательно. Если проверка не удалась, это показывает, что требуется поле mail, и после того, как я добавил русский язык, как я уже упоминал в вопросе, он обязательно перевел его на русский поле mail. Само сообщение переводится, но не имя поля, в моем случае это почта, я хочу перевести это письмо на другие языки. Надеюсь, я ясно объяснил. - person Alexander Kim   schedule 26.12.2018