Это очень просто, доступ к сообщениям свойство из $i18n
.Например:
<slide v-for="(item, index) in Object.keys($i18n.messages[$i18n.fallbackLocale].message[page]).length">
<p v-html="$t('message.'+page+'.slide'+index)"></p>
</slide>
Более подробно, $i18n.messages
содержит все ваши переводы, например,
en: {
security_signin: {
slide1: 'Kitten1',
slide2: 'Kitten2',
},
signup: {
slide1: 'Kitten1',
slide2: 'Kitten2',
slide3: 'Kitten3'
}
}
Подмножество локали по вашему выбору, $i18n.fallbackLocale
для резервной локали или $i18n.locale
для вашей текущей локали.Вы должны получить свой объект javascript.
Будьте очень осторожны, когда вы переводите с помощью $t()
, все пропущенные переводы восстанавливаются из резервной локали.Но когда вы обращаетесь к объекту javascript напрямую, вы отказываетесь от этой сети безопасности.В некоторых локалях могут отсутствовать ключи.
В этом случае достаточно fallbackLocale
, потому что мы не хотим получать доступ к переводам, только количество элементов.