ASP.NET MVC应用程序,接近完成,然后决定它需要一个语言切换器。它只是两种语言:英语和日语。他们应该能够在两者之间切换,但是如果没有选择它,它应该选择浏览器的默认语言。构建一个语言切换器 - 仅限2种语言 - ASP.NET MVC
我想知道在这种情况下最好的解决方案是什么。
首先想到,路线!所以我改变路线在每条路线的末尾都有一个/{l}
,并且默认l = ""
。然后,在我的BaseController中(每个控制器都基于它),我检查路由中的l变量。每个操作都会根据语言返回一个视图。
我想仅仅是能够破解的URL的末尾/ JA-JP,它会显示出在日本的看法。它似乎不正确的路线。然后,我真的认为我的观点很糟糕,并且手工编码了这些链接......我无法让助手首先输出正确的链接......并陷入了手动编码它们的坏习惯。所以,我不得不重新编码每一个链接 - 最终破解语言变量。
第二个想法 ...好的,使用jQuery将语言变量附加到所有锚点的href。这似乎过于笨拙,难以在某些情况下的HREF被隐藏,直到需要,等等
所以......在这一点上我已经决定只是不惜一切代价。什么是在两种语言之间切换的最优雅的方式 - 不使用资源文件?我只想根据语言在2个视图中进行选择。
我是否会重写每一个必须使用Html帮助程序的链接,然后让路由工作?那么在BaseController中,如果语言没有任何价值,只需将语言设置为英语?
任何意见非常感谢,谢谢。
看到了这一点?:http://oddiandeveloper.blogspot.com/2008/11/localization-with-aspnet-英文内容mvc.html – grenade 2009-07-23 08:31:10