Asp.net mvc 如何使用ASP.NET MVC路由实现本地化?

Asp.net mvc 如何使用ASP.NET MVC路由实现本地化?,asp.net-mvc,localization,routing,Asp.net Mvc,Localization,Routing,我正试图为未来(几个月后)一个新的ASP.NET MVC站点的本地化做准备 就构建URL和路由而言,尝试决定做什么最有意义 例如,我应该立即从以下内容开始: http://www.example.com/en/Products/1001 http://www.example.com/es/Products/1001 或者只是 http://www.example.com/Products/1001 然后再添加其他语言 http://www.example.com/en/Product

我正试图为未来(几个月后)一个新的ASP.NET MVC站点的本地化做准备

就构建URL和路由而言,尝试决定做什么最有意义

例如,我应该立即从以下内容开始:

 http://www.example.com/en/Products/1001
 http://www.example.com/es/Products/1001
或者只是

 http://www.example.com/Products/1001
然后再添加其他语言

 http://www.example.com/en/Products/1001
这是我现在最基本的主要问题,努力使路线正确。我希望我的URL能够被搜索引擎正确地索引。我甚至不确定我是否希望在URL中使用语言,但我认为没有一个好的替代方案不会混淆搜索引擎


这导致了各种各样的问题,比如“我不应该本地化产品这个词吗?”但现在我只想在我启动英文网站之前把路线安排好

我和你有完全相同的URL\u映射。我的路线也使用约束。 对我有用

   routes.MapRoute(
            // Route name
            "LocalizedController", 
            // URL with parameters                                             
            "{language}/{controller}/{action}",
            // Parameter defaults
            new {
                controller = "Home", action = "Index", 
                language = "de"
            },
              //Parameter constraints
            new { language = @"de|en" }

我会使用不同的URL方案,如下所示:

en.mysite.com (English)
mysite.com (default language)
ro.mysite.com (Romanian)
等等


然后,我将创建一个自定义路由,如中所示。

因此,您选择将该语言包括在英语中。只是为了方便?我默认的是德语。如果你看到了第一页,你就没有URL中的语言。但这意味着你会懂德语。只要你使用了一个动作链接或一个动作的帖子,你就会在URL中找到语言。你可以试试我刚找到的很棒的项目!你可以搞定的。可能是