【问题标题】:A proper way to make React app Multilingual [closed]使 React 应用程序多语言的正确方法 [关闭]
【发布时间】:2019-04-04 02:16:30
【问题描述】:

我试图找到一种方法使我的应用程序成为多语言,例如当用户单击“en”时,所有应用程序都变为英语,而当用户单击“de”时,所有应用程序都变为德语。我正在使用没有状态管理库的反应。有没有办法正确实施?

【问题讨论】:

    标签: reactjs ecmascript-6 react-router react-props


    【解决方案1】:

    这里是最流行的 React 国际化库

    另外,如果您的项目很小,或者您只想自己做,最简单的方法是将语言数据存储在路由器中,例如你在不同的 URL 上渲染相同的组件

    <Route path="/shop" component={Shop} />  // en is default
    <Route path="de/shop" component={Shop} />
    

    然后在组件内部,您从路由器获取 lang 变量并有条件地渲染这个或那个翻译。

    您的语言切换器会做什么 - 只是为了将您导航到不同路线上的同一组件,例如:/shop -> /de/shop

    您可以将翻译数据作为纯 JS 对象存储在本地文件中或从后端获取。

    【讨论】:

    • 谢谢,我检查了 react-i18next,我认为这就是我要找的东西,但是有一件事,当我将它应用于状态对象中的某些东西时,它不起作用。就像我在状态 {example: "example"} 中保存一些键值然后像 (this.state.example) 一样应用它时它根本不起作用
    猜你喜欢
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2013-08-05
    • 1970-01-01
    相关资源
    最近更新 更多