Javascript React-在app init之前加载big.json以处理翻译?

Javascript React-在app init之前加载big.json以处理翻译?,javascript,reactjs,gettext,Javascript,Reactjs,Gettext,我有一个数据库中存储了翻译的旧应用程序,我正在上面构建React应用程序 我决定我的应用程序将以一个大的.json文件的形式从后端获得翻译(不确定是否有其他合理的、可扩展的方式,很可能是-没有)。在翻译到位之前,我无法向用户展示该应用程序,因此我正在考虑这样做: 设置预加载程序(比如在index.html上) 获取.json,当获取成功时,我将json数据推送到localStorage 使用react gettext或其附近的内容应用所有翻译 删除预加载程序,并可能使用react router

我有一个数据库中存储了翻译的旧应用程序,我正在上面构建React应用程序

我决定我的应用程序将以一个大的.json文件的形式从后端获得翻译(不确定是否有其他合理的、可扩展的方式,很可能是-没有)。在翻译到位之前,我无法向用户展示该应用程序,因此我正在考虑这样做:

  • 设置预加载程序(比如在index.html上)
  • 获取.json,当获取成功时,我将json数据推送到localStorage
  • 使用react gettext或其附近的内容应用所有翻译
  • 删除预加载程序,并可能使用react router将用户重定向到正确的url
不过,我的总体规划存在一些问题:

  • 如果翻译不适合本地存储,我应该使用什么?我只希望用户只提取一次,然后我将从他们的本地存储加载所有内容,这样他们就不会一直从服务器提取数据
  • 如果我们谈论的是加载MB的json(我会尝试加载400kbs的最高速度,但仅在翻译中,应用程序就有可能增长到2-5MB),这不是很慢吗
  • 如果我们讨论的是10000个字符串(用户已经等了很长时间才加载json),react gettext是否足够快

谢谢你的提示。

你能把这个json和你的应用程序代码捆绑在一起吗?在我们的项目中,我们这样做是为了在本地存储中匹配转换,您可以尝试压缩数据(例如,使用)。另一种方法是高效缓存-用户将第一次从网络获取数据,下一次从本地缓存获取数据,直到文件的新版本可用。嗯,您使用的是redux吗。我会加载应用程序,默认情况下显示预加载程序。在后台,获取json,然后将其存储在应用程序状态中。填充状态后,您可以应用
react gettext
进行翻译,然后您可以重定向用户以在主应用程序组件中使用条件呈现。@AndrzejSmyk它将从数据库中动态获取,因此我恐怕不能(翻译将更改,不确定更改频率)。Giad Artzi,谢谢我会查出来的!Chase DeAnda不确定Redux,应用程序非常简单(只有几个视图,本身没有太多状态)。你能将这个json与你的应用程序代码捆绑在一起吗?在我们的项目中,我们这样做是为了在本地存储中匹配转换,您可以尝试压缩数据(例如,使用)。另一种方法是高效缓存-用户将第一次从网络获取数据,下一次从本地缓存获取数据,直到文件的新版本可用。嗯,您使用的是redux吗。我会加载应用程序,默认情况下显示预加载程序。在后台,获取json,然后将其存储在应用程序状态中。填充状态后,您可以应用
react gettext
进行翻译,然后您可以重定向用户以在主应用程序组件中使用条件呈现。@AndrzejSmyk它将从数据库中动态获取,因此我恐怕不能(翻译将更改,不确定更改频率)。Giad Artzi,谢谢我会查出来的!Chase DeAnda不确定Redux,该应用程序非常简单(只有少数视图,本身状态不多)。