在 i18next 中更改 keySeparator 以进行插值

问题描述 投票:0回答:0

我有一个通过 HTTP 请求从外部接收到的对象,需要将其插入到我的密钥中。

加载对象很好,但是它包含诸如

Example.NotNested

之类的键

我在文档中看到并成功地使用了 keySeparator 选项来翻译键,但是看不到使用

{{MyObject::Example.NotNested}}
进行插值的方法,其中
keySeparator
选项已更改为
"::"

这可能吗?如果不可能,解决这个问题的最佳方法是什么?

我希望能够做到以下几点,

// Interpolation Object
{
  MyObject: {
    "Example.NotNested": "A basic value"
  }
}
// Translation resource store
{
  "Basic": "{{MyObject::Example.NotNested}}"
}


I18nextInstance.init({
      keySeparator: "::",
      nsSeparator: ":::",
})

const works = I18nextInstance.t("Basic")

expect(works).toBe("A basic value") // Fails with "{{MyObject::Example.NotNested}}"
interpolation i18next
© www.soinside.com 2019 - 2024. All rights reserved.