Vue i18n翻译-如何添加ul / ol列表

时间:2020-10-27 10:08:20

标签: javascript vue.js vuejs2 vue-component translation

在我的应用程序中,我将有一个包含大量文本的大型信息框。它们通常会在编号列表中。我想为他们找到最简单的方法,这样我就可以轻松地将它们从开发人员发送到撰稿人。 是否有任何聪明的方法可以使用vue i18n创建HTML列表(ul或ol),而不将其分解为message中的多个变量。我想使用例如Component interpolation,但只能调用一次:<i18n path="info" tag="li">。快速代码显示我的意思:

//translate.js (fragment)

   const messages = {
  en: {
    sample: 'Sample text with numbered list. 1) Find the problem 2) Ask on Slack 3) Solve the problem 4) Keep happy with vue'
  }
}

export const i18n = new VueI18n({
  locale: 'en', 
  messages
});

//App.vue (fragment)
  <ul>
    <i18n path="sample" tag="li">
    </i18n>
    </ul>

我希望“样本”中的文本按子点划分。我关心任何方式,都不必是组件插值。

1 个答案:

答案 0 :(得分:0)

您可以按照手册中的说明在数组中使用数组-https://kazupon.github.io/vue-i18n/guide/messages.html

然后您可以像这样构建模板:

    <ul>
    <i18n v-for="(item,index) in NumberedList" :key="index" :path="`sample[${index}]`" tag="li" />
    </ul>