【发布时间】:2019-04-18 05:04:50
【问题描述】:
我正在为我的 React 应用程序使用 create-react-app,我目前正在尝试找出翻译。
现在我每个语言环境都有一个大的 JSON 文件,每个语言环境文件都包含所有组件的翻译 - 这并不理想,我希望每个组件都有单独的翻译文件。
因此语言环境的结构将如下所示: 组分A - 语言环境 - en.json - sk.json
组件B - 语言环境 - en.json - sk.json
实现这一目标的最佳方法是什么?我应该使用哪些模块来实现这一点?
我不想将这些语言环境文件包含在构建中,因为我们将支持 10 种语言,所以包大小会太大。
【问题讨论】:
-
github.com/i18next/react-i18next 每个组件使用 i18next 命名空间
-
@jamuhl 谢谢 - 是的,这会很好。但是,当通过 XHR 加载命名空间时,语言环境文件需要位于我的应用程序的公共目录下。我宁愿将它们放在组件旁边,以便于导航。
-
@jamuhl 还有一个问题是一个页面很容易有 100 个组件。在这种情况下,将触发 100 个请求来加载所有语言环境,所以我认为这不是一件好事。
-
@PaloDelinčák 我认为请求的数量无关紧要,因为 http/2 中的多路复用
标签: reactjs internationalization translation create-react-app i18next