如果我的名字的控制器在我的母语或英语?什么是当前的最佳做法?如果英文的,我该如何确保该网址,留在我的母语?

我知道我的web应用程序不会是多语言的,我宁可不写很多的样板。

有帮助吗?

解决方案

在ASP.NET MVC的约定是,控制器和动作名是相同的,除了在特殊情况下,像模糊的过载的控制器和动作中的URI。我认为这是遵循这一惯例,即使这意味着控制器和动作的名称将在您的本地语言和代码的其余部分将是英语的好主意。如果有人问我调试一个网站,其显示的一些语言,我不明白像斯瓦希里语,我会觉得相当容易找到某个页面适当的控制器和行动,如果他们反映的斯瓦希里语URI比我想如果它被翻译成英语。

请注意,然而,大多数的Unicode字符不能出现在一个URI(无的Punycode ) 。只有ASCII字符的限制子集可以出现在URI。请参阅说明书获得的信息。

其他提示

从SEO的角度来看,我认为它是一个很好的标准,使用相同的语言时,你的MVC网站是基于控制器/视图/行动。

在我来说,我有一个基于我的母语瑞典语几个网站,以获得最佳的搜索引擎优化页排名我使用的是相同的语言时,我名字我的控制器/视图/行动,对网站内容的语言。

在控制器/视图/动作我总是使用英语作为编码和评论语言

我不知道这是不是最好的方法,但它的感觉就像是一个很好的模式,如果你在乎遵循搜索引擎优化页排名

可以写控制器,并且在任何语言控制器的方法名(在UTF-8),这是没有问题的。对于仅支持1种语言的网站要细。

这是你的应用程序,所以当然是你的选择,但如果你有本地语言的URI然后我还去了一致性的母语控制器和动作名称和易于使用的为您服务。

杰夫阿特伍德写了一个有趣的帖子软件开发的主题,英语(不知道我同意,但有趣的是,和相关的)。它不会回答你的问题,但它是值得一读。

如果你将有一个国际研究小组看看你的代码,然后有英文名字。如果你打算自己上的所有工作,或有谁讲当地语言的人,那么你可以在你的当地语言的名字。

但请记住,命名规则是面向对英语而不是当地语言。所以这是一个问题。

我的观点是,也许尝试每种语言显式地加载在你的Global.asax你的路由定义。

常量字符串DEFAULT_LANGUAGE = “EN”;

routes.MapRoute( “Product_EN”, “烯/产品/ {动作}”,新的{控制器= “产品”,动作= “索引”});

routes.MapRoute( “Product_FR”, “FR / Produit / {动作}”,新的{控制器= “产品”,动作= “索引”});

routes.MapRoute( “Product_ES”, “ES / Produto / {动作}”,新的{控制器= “产品”,动作= “索引”});

route.MapRoute( “默认”, “{语言} / {控制器} / {行动} /(编号)”,新的{语言= DEFAULT_LANGUAGE,控制器= “主页”,动作= “索引”,ID =” “});

请注意:这些例子,你应该从全球资源retreive的译名

但是,我们不得不在你的意见是指使用RouteActions正确的路径名。无论如何,这是一个有点变通解决方案,但可以让你有翻译的网址到您的网站,如:

www.mysite.com/produit/afficher www.mysite.com/product/show ...

我希望它能帮助, 干杯

佛瑞德。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top