【发布时间】:2016-04-09 22:40:02
【问题描述】:
我已经设置了我的应用程序,以便根据路由器识别的模式从不同的 RESX 文件中读取内容。每个页面都可以根据 URL 的第一部分以某种语言访问。
routes.MapRoute(
name: "Localization",
url: "{lang}/{controller}/{action}/{id}", ...
);
当我在没有规范的情况下进行测试时,我会使用 Lingo.REXS 的英文版本,当我输入 se 时,我会使用瑞典语版本,即 Lingo.se.RESX .到目前为止一切都很好。
但是,我不确定如何让用户控制语言的设置。我不希望它是自动的,也不希望基于浏览器的设置、地理数据等。我基本上想要三个标志(img 控件)以某种神奇方式设置该用户(或至少该浏览器session) 可以使用与单击的标志语言相对应的前缀进行路由。
所以,我们有 /se/Home/About 和 /ge/Home/About。用户点击德国国旗 - 我们如何将它们路由到后者?如果他们点击瑞典国旗 - 我们如何将他们路由到前者?
我已经使用this blog 进行了验证,但它没有解决如何根据点击的标志图像路由到某种语言的实际问题。我也找到了this blog,但我就是不明白他们是怎么做到的。我看到一堆对数据库的调用,所以我怀疑它不是基于 RESX 文件(我的理解是这是正确的方法),尽管也有一些对 @TestResource 的引用。
现在我很困惑和不确定。有什么建议或澄清吗?
【问题讨论】:
标签: c# asp.net-mvc razor asp.net-mvc-routing multilingual