Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
如何本地化ASP.NET MVC应用程序中的控制器名称和操作?_.net_Asp.net_Asp.net Mvc_Localization_Controller - Fatal编程技术网

如何本地化ASP.NET MVC应用程序中的控制器名称和操作?

如何本地化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表中添加一个条目

我想完全本地化我的ASP.NET MVC应用程序,虽然有许多文章讨论了ASP.NET MVC本地化的各种缺陷,但没有一篇文章涉及我想处理的方面,那就是URL的本地化,包括控制器名称和操作

我想要一种方法来指定应该出现的字符串,而不是URL中的控制器名称和操作名称,例如在资源文件中

这是如何以理智的方式实现的?提前感谢您的帮助

编辑:
我仍在寻找一种方法来做到这一点。欢迎任何帮助。

是否已经有任何框架或库实现了这一点?

我以前从未这样做过,但您不能为您想要支持的每种语言向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很重要。谢谢,这是唯一实际有用的答案。:)