【发布时间】:2019-04-04 02:16:30
【问题描述】:
我试图找到一种方法使我的应用程序成为多语言,例如当用户单击“en”时,所有应用程序都变为英语,而当用户单击“de”时,所有应用程序都变为德语。我正在使用没有状态管理库的反应。有没有办法正确实施?
【问题讨论】:
标签: reactjs ecmascript-6 react-router react-props
我试图找到一种方法使我的应用程序成为多语言,例如当用户单击“en”时,所有应用程序都变为英语,而当用户单击“de”时,所有应用程序都变为德语。我正在使用没有状态管理库的反应。有没有办法正确实施?
【问题讨论】:
标签: reactjs ecmascript-6 react-router react-props
这里是最流行的 React 国际化库
另外,如果您的项目很小,或者您只想自己做,最简单的方法是将语言数据存储在路由器中,例如你在不同的 URL 上渲染相同的组件
<Route path="/shop" component={Shop} /> // en is default
<Route path="de/shop" component={Shop} />
然后在组件内部,您从路由器获取 lang 变量并有条件地渲染这个或那个翻译。
您的语言切换器会做什么 - 只是为了将您导航到不同路线上的同一组件,例如:/shop -> /de/shop
您可以将翻译数据作为纯 JS 对象存储在本地文件中或从后端获取。
【讨论】: