vue:nuxt-i18n:无法转换键路径的值

Hug*_*ugo 6 internationalization vue.js nuxt.js

我正在使用nuxt-i18n来翻译我的页面,但找不到翻译字符串。

我的设置:

nuxt.config.js

modules: [
    [
      'nuxt-i18n', {
        locales: [
          {
            code: 'en',
            name: 'English',
            iso: 'en-US',
            langFile: 'en_US.js',
          },
          {
            code: 'pt',
            name: 'Português',
            iso: 'pt-BR',
            langFile: 'pt_BR.js',
          },
        ],
        loadLanguagesAsync: true,
        langDir: 'locales/',
        defaultLocale: 'en',
      },
    ],
  ],
Run Code Online (Sandbox Code Playgroud)

语言环境/en_US.js

export default {
  Greeting: 'Hello',
  Sign_up: 'Sign up',
};
Run Code Online (Sandbox Code Playgroud)

file.vue

{{ $t('Greeting') }}
Run Code Online (Sandbox Code Playgroud)

安慰:

WARN [vue-i18n]无法转换键路径'Login'的值。将keypath的值用作默认值。

Bin*_*ali 12

解决方案是将惰性属性值设置为 true。下面是代码片段。

modules: [
    [
      'nuxt-i18n', {
        lazy:true,
        locales: [
          {
            code: 'en',
            name: 'English',
            iso: 'en-US',
            langFile: 'en_US.js',
          },
          {
            code: 'pt',
            name: 'Português',
            iso: 'pt-BR',
            langFile: 'pt_BR.js',
          },
        ],
        loadLanguagesAsync: true,
        langDir: 'locales/',
        defaultLocale: 'en',
      },
    ],
  ]
Run Code Online (Sandbox Code Playgroud)


Dan*_*Dan 2

警告说明了一切 - 您没有在en_US.js文件中定义登录消息。

您肯定会在应用程序的某个地方调用{{ $t('Login') }}.