回退本地化

以下语言环境信息的 ja 语言环境中不存在 message 键:

  1. const messages = {
  2. en: {
  3. message: 'hello world'
  4. },
  5. ja: {
  6. }
  7. }

当为 VueI18n 构造函数选项指定 fallbackLocale 选项时,message 键使用 en 语言环境进行本地化:

  1. const i18n = new VueI18n({
  2. locale: 'ja',
  3. fallbackLocale: 'en',
  4. messages
  5. })

模板如下:

  1. <p>{{ $t('message') }}</p>

输出如下:

  1. <p>hello world</p>

注意,默认情况下回退到 fallbackLocale 会产生两个控制台警告:

  1. [vue-i18n] Value of key 'message' is not a string!
  2. [vue-i18n] Fall back to translate the keypath 'message' with 'en' locale.

为了避免这些警告 (同时保留那些完全没有翻译给定关键字的警告),需初始化 VueI18n 实例时设置 silentFallbackWarn:true