【问题标题】:React i18n language object mappingReact i18n 语言对象映射
【发布时间】:2020-11-14 16:07:43
【问题描述】:

如何使用 react i18n 遍历 menu 对象项?以下是translation.json 文件的摘录:期望的结果是使用.map(items) 循环输出带有<ul><li></li></ul> 的翻译

{
  "lang": "lv",
  "menu": {
    "index": "galvene",
    "food_menu": "menu",
    "about_us": "par mums",
    "delivery": "piegāde"
  }
}

App 组件,我希望得到输出:

function App() {
    const { t, i18n } = useTranslation();
    const changeLanguage = (language) => {
        i18n.changeLanguage(language)
    };

  return (
      <div>
          /* The output should be here */
      </div>
  );
}

【问题讨论】:

  • 请详细说明

标签: javascript reactjs internationalization


【解决方案1】:

您可以导入 JSON 文件,然后迭代密钥。

import translations from "./translation.json";


function App() {
    const { t, i18n } = useTranslation();
    const changeLanguage = (language) => {
        i18n.changeLanguage(language)
    };

  return (
      <div>
          <ul>
            {Object.keys(translations.menu).map((key) => (
              <li>{t(key)}</li>
            ))}
          </ul>
      </div>
  );
}

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 2020-07-03
    • 2019-03-10
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 2021-05-19
    相关资源
    最近更新 更多