【问题标题】:react JS i18n locales反应 JS i18n 语言环境
【发布时间】:2018-01-03 14:43:41
【问题描述】:

我在我的 reactJS 应用中使用 react-i18next

可能是这样的:

i18n
    .use(LanguageDetector)
    .init({
        // we init with resources
        resources: {
            en: {en},
            de: {
                application: {
                    name: 'Dashbord DE',
                }
            }
        },

嵌套/分组语言环境

并像这样打印它们:

t('application.dashboard')

问题是不是翻译是printet ...我的关键application.dashboard被打印了...

谢谢。

更新:

de: {
   application: {
      foo: "adsad",
      name: {
        firstname: 'max'
      },
   }
 }

这不起作用:

t('application:name.firstname')

【问题讨论】:

  • 你需要添加更多细节:什么是'en'对象,它包含什么
  • 和de一样
  • 所以你应该调用 t('application.name') 而不是 t('application.dashboard')。您的翻译不包含“application.dashboard”键。
  • 是的,当然这不是问题……是复制粘贴问题。问题是我无法访问最火的名字

标签: reactjs internationalization i18next react-i18next


【解决方案1】:

t('application:name') 可以解决问题。应用程序充当命名空间(加载的文件名),默认情况下需要用: 分隔。而所有其他嵌套都用. 分隔,例如:

de: {
       application: {
          name: {
            firstname: 'max'
          },
       }
    }

t('application:name.firstname'); // -> max

【讨论】:

  • 问题解决了我必须定义分隔符keySeparator: '.'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-25
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多