如何本地化ASP.NET MVC应用程序中的控制器名称和操作?
我想完全本地化我的ASP.NET MVC应用程序,虽然有许多文章讨论了ASP.NET MVC本地化的各种缺陷,但没有一篇文章涉及我想处理的方面,那就是URL的本地化,包括控制器名称和操作 我想要一种方法来指定应该出现的字符串,而不是URL中的控制器名称和操作名称,例如在资源文件中 这是如何以理智的方式实现的?提前感谢您的帮助 编辑:如何本地化ASP.NET MVC应用程序中的控制器名称和操作?,.net,asp.net,asp.net-mvc,localization,controller,.net,Asp.net,Asp.net Mvc,Localization,Controller,我想完全本地化我的ASP.NET MVC应用程序,虽然有许多文章讨论了ASP.NET MVC本地化的各种缺陷,但没有一篇文章涉及我想处理的方面,那就是URL的本地化,包括控制器名称和操作 我想要一种方法来指定应该出现的字符串,而不是URL中的控制器名称和操作名称,例如在资源文件中 这是如何以理智的方式实现的?提前感谢您的帮助 编辑: 我仍在寻找一种方法来做到这一点。欢迎任何帮助。 是否已经有任何框架或库实现了这一点?我以前从未这样做过,但您不能为您想要支持的每种语言向routes表中添加一个条目
我仍在寻找一种方法来做到这一点。欢迎任何帮助。
是否已经有任何框架或库实现了这一点?我以前从未这样做过,但您不能为您想要支持的每种语言向routes表中添加一个条目吗?所有本地化路由都可以用您选择的语言重定向到路由。查看以下相关问题: 简短的回答:不要
URL应该是通用的,因此是区域不变的。这就是为什么我们不支持在模型绑定期间本地化控制器、操作或查询字符串值。考虑到本地化操作和控制器名称时尚未完成。 您仍然需要本地化任何路由参数。这对枚举来说尤其痛苦 Ie www.seller.com/catalog/list/wintertouching www.seller.com/catalog/list/summertouching,其中
wintertouching
和summertouching
为枚举
我想说:这是可能的,但不可行。看看这个简单的解决方案:
你也可以试试我刚找到的很棒的项目!你可以通过。嗯,URL绝对不是区域设置不变的。对于说英语的人来说,这可能看起来是这样,但在说英语不太常见的地区,本地化URL可能是相关的。仅仅因为你能做一些事情,并不意味着你应该做一些事情。url中的规范化和不变性是重要的原则,不能轻易抛弃。抱歉,Brad,但我不同意,url应该是资源定位器,因此,如果资源是西班牙语,您需要一个url,如果资源是英语,您需要另一个url,这些是不变的,但使用不同的语言。为这个问题添加另一个维度,在URL结构中包含区域设置对SEO很重要。谢谢,这是唯一实际有用的答案。:)