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

时间:2019-01-21 12:12:37

标签: vue.js internationalization nuxt.js

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

我的设置:

nuxt.config.js

 INSERT INTO statystyka_kierownikow 
    (nr_kier , naziwsko_kier, suma_pensji, ostatnia_mod)
       SELECT empno, ename, SUM(SAL) sal 
       FROM EMP where job = 'MANAGER'
       GROUP BY empno, ename;

locales / en_US.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',
      },
    ],
  ],

file.vue

export default {
  Greeting: 'Hello',
  Sign_up: 'Sign up',
};

控制台:

  

WARN [vue-i18n]无法转换键路径“ Login”的值。采用   密钥路径的默认值。

3 个答案:

答案 0 :(得分:1)

在警告说,这一切 - 你没有的登录的在 en_US.js 文件中定义的消息

在某处你的应用程序你肯定调用{{ $t('Login') }}

答案 1 :(得分:0)

解决方案是将惰性属性值设置为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',
      },
    ],
  ]

答案 2 :(得分:0)

我花了一个小时才发现您不能设置println!("a_{} = {}", 48, 0x11e8d0a40u64) 。显然有些事情搞砸了,因为模块本身也是这样命名的... 将文件夹重命名为其他名称,例如“ lang”解决了该问题...