FormMaking V3 目前支持两种语言(中文简体zh-cn、英文en) 默认使用英文,可以通过下面配置修改:

  1. app.use(FormMakingV3, {
  2. locale: 'zh-cn'
  3. // locale: 'en'
  4. })

多语言项目中使用

legacy

  1. import { createI18n } from 'vue-i18n'
  2. const i18n = createI18n({
  3. legacy: true,
  4. messages: {
  5. 'en': {},
  6. 'zh-cn': {}
  7. }
  8. })
  9. app.use(FormMakingV3, {
  10. locale: 'en',
  11. i18n // 需要将配置的 i18n 传入到组件中
  12. })
  13. app.use(i18n)

Composition API

  1. import { createI18n } from 'vue-i18n'
  2. const i18n = createI18n({
  3. legacy: false,
  4. globalInjection: true, // 在所有组件中都可以使用 $i18n $t $rt $d $n $tm
  5. })
  6. app.use(FormMakingV3, {locale: 'zh-cn', i18n})
  7. app.use(i18n)

FormMakingV3 使用的是 legacy 模式,此处需要配置 globalInjection: true

  1. <template>
  2. <a href="/">{{t('home')}}</a>
  3. <select v-model="locale">
  4. <option value="en">en</option>
  5. <option value="zh-cn">zh-cn</option>
  6. </select>
  7. </template>
  8. <script setup>
  9. import { useI18n } from 'vue-i18n'
  10. const { t, locale } = useI18n({
  11. locale: 'zh-cn',
  12. useScope: 'global',
  13. messages: {
  14. en: {
  15. home: 'Home'
  16. },
  17. 'zh-cn': {
  18. home: '首页'
  19. }
  20. }
  21. })
  22. locale.value = 'en' // 动态语言切换
  23. </script>