Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React.js适用于多语言应用程序的结构_Javascript_Reactjs - Fatal编程技术网

Javascript React.js适用于多语言应用程序的结构

Javascript React.js适用于多语言应用程序的结构,javascript,reactjs,Javascript,Reactjs,Background:我使用Django作为后端框架,在这里,我有一个具有多个模型的应用程序(每种语言一个),React.js作为前端框架。一旦主版本结束,我想让网站多语言 问题:我应该复制原始应用程序(假设此应用程序是英文的)部署这两个版本,还是在主版本中创建这些版本 目录结构案例A 目录结构案例B 注意。该网站并不复杂,所以这两个选项都适合我。 提前感谢您的时间和帮助 这样做不需要多个模块。事实上,我强烈建议您不要这样做,它将变得非常难以维护(即:每种语言都需要修复bug和功能) Djang

Background:我使用Django作为后端框架,在这里,我有一个具有多个模型的应用程序(每种语言一个),React.js作为前端框架。一旦主版本结束,我想让网站多语言

问题:我应该复制原始应用程序(假设此应用程序是英文的)部署这两个版本,还是在主版本中创建这些版本

目录结构案例A

目录结构案例B

注意。该网站并不复杂,所以这两个选项都适合我。
提前感谢您的时间和帮助

这样做不需要多个模块。事实上,我强烈建议您不要这样做,它将变得非常难以维护(即:每种语言都需要修复bug和功能)

Django对多个地区的支持非常好():

从django.utils.translation导入gettext作为_
定义我的视图(请求):
输出=((“欢迎访问我的网站”)
返回HttpResponse(输出)
在React方面,有许多库,我喜欢的一个简单的库是:

const西班牙语短语={
区域设置:“es”,
短语:{
“你好”:“你好”
},
};
const polyglot=新polyglot(西班牙语短语);
polyglot.t(“你好”);//返回“hola”
通常,您希望定义一个,例如,
Translate
组件,该组件在引擎盖下执行此操作:

//基本示例,需要进一步细化!
导出默认函数Translate({phrase}){
返回{polyglot.t(短语)}
}
然后使用它:

函数SomeComponent(){
返回(
);
}

尽量使用一些库,避免重复代码。我注意到您定义了
locale='es'
,我可以在同一个变量中定义更多的语言吗,或者我应该创建一个新的polyglot,比如polyglot和polyglotFR?您确实需要用一个新对象覆盖polyglot对象,例如:
让polyglot=new polyglot(短语\u FR)
locale
主要需要设置复数形式才能正确工作(例如,俄语有多种复数形式,汉语没有复数形式,等等)。
mainAPP-EN
mainAPP-ES
mainAPP
  -> EN
  -> ES