首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vue: nuxt-i18n:无法转换keypath的值

vue: nuxt-i18n:无法转换keypath的值
EN

Stack Overflow用户
提问于 2019-01-21 12:12:36
回答 4查看 7.9K关注 0票数 9

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

我的设置:

nuxt.config.js

代码语言:javascript
复制
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',
      },
    ],
  ],

locales/en_US.js

代码语言:javascript
复制
export default {
  Greeting: 'Hello',
  Sign_up: 'Sign up',
};

file.vue

代码语言:javascript
复制
{{ $t('Greeting') }}

控制台:

警告vue-i18n不能转换键盘'Login‘的值。使用键盘的值作为默认值。

EN

回答 4

Stack Overflow用户

发布于 2019-07-20 11:17:46

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

代码语言:javascript
复制
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',
      },
    ],
  ]
票数 12
EN

Stack Overflow用户

发布于 2019-01-31 18:15:06

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

在您的应用程序中,您一定会调用{{ $t('Login') }}

票数 2
EN

Stack Overflow用户

发布于 2020-10-31 12:57:03

我花了一个小时才知道你不能设置你的langDir: 'i18n/'。很明显有些东西搞砸了因为模块本身也是这样命名的..。将文件夹重命名为其他东西,例如"lang“修复了这个问题.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54289732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档