大家好,请教大家一个问题!
我现在有这么一个静态网站,其中根目录下是默认一英文版,如下:
然后里边还有一个版本也是一套完整的网站是简体版的,(只是语言不一样,其他任何东西是一样的 ) 如下
然后里边还有一个版本也是一套完整的网站是繁体版的, 如下:
好了,文件就这么多。以上这些全是静态页面
现在我想做的是:把这些页面放进mvc里边,就是把在这些页面copy到mvc里面,那么问题啦来了,一套版本还好,现在是三个版本,我要怎么处理(现在不考虑后台的问题,只是嵌入到mvc里边),有视图就要有控制器,难道一个版本20多个页面,我要建3个版本的控制器,分别是简体,繁体,英文,然后在每个控制器里面建对应20多个action 么。?有没有更好的办法,我现在很迷茫,请大家帮助下,谢谢啦!
重写mvc路由规则
如果使用 ASP.NET MVC 的多语言支持实现,Action 与 View 只需写一份,但需要写三种语言的资源文件
园子里的参考博文:
支持!如果只是语言不同,没人会写三分重复的文件,都是用多语言
如果只是在想在mvc里能够浏览这些静态文件,可以这么做。
以 .net core mvc 为例:
1)在 Startup.cs 的 Configure() 方法里,添加:app.UseStaticFiles(); 或 app.UseFileServer();
2)把这些静态文件(包含文件夹)复制的到 .net core web 项目的 wwwroot 文件夹下面
这样就可以直接在.net core mvc 项目里浏览这些静态文件了
把所有的 文字 剥离到 一个文件。当你选择中文的时候,系统的文字从 中文文件获得,当你选择英文的时候,系统的文字从 英文文件获得,
给你个思路:
css:
.en, .de, .cn { display:none; }
.en:lang(en), .de:lang(de), .cn:lang(cn) { display:block; }
html:
<div class="en">Good morning</div>
<div class="de">Guten Morgen</div>
<div class="cn">早上好</div>