【问题标题】:How to lowercase a nested key in I18Next如何小写 I18Next 中的嵌套键
【发布时间】:2019-07-02 15:05:51
【问题描述】:

假设我有一个翻译(在 JSON 文件中),例如:

{
    "first": "John",
    "last": "Doe",
    "welcome": "Welcome $t(first) $t(last)",
}

是否可以选择小写引用的键? 因此,它会输出“Welcome john doe”而不是“Welcome John Doe”。

【问题讨论】:

  • 也许他可以帮助你:github.com/i18next/i18next/issues/765
  • 是的,我找到了该解决方案,但它使用的是我需要从外部指定的额外变量。而且我非常喜欢嵌套的干净方法。
  • 我没有找到那个线程。它是从 2016 年开始的,所以现在可能支持它。好像没找到。

标签: javascript i18next


【解决方案1】:

您可以使用get 语法。

get 语法将对象属性绑定到查找该属性时将调用的函数。

var obj = {
    "first": "John",
    "last": "Doe",
    get welcome() {
      return `Welcome ${this.first.toLowerCase()} ${this.last.toLowerCase()}`;
    }
};
console.log(obj.welcome);

【讨论】:

  • 好的,看起来不错。但是...我的翻译在一个 json 文件中
  • 如果您可以使用 get 语法更新翻译,那么简单的 JSON 解析就可以实现您的目的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-14
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
相关资源
最近更新 更多