我需要创建mvc3网站的帮助。我需要2种语言的俄语和英语。通过单击标志图像,可以更改站点语言:
标志:
<a id="rus" href="@Url.Content("~/Home/Index_en")" title=" english language"><small> english language </small></a> <a id="eng" href="#" title=" russian language"><small>russian language</small></a>
例如:更改菜单=>
<ul id="mainMenu" >
<nav class="dark">
<li style="margin-left:1px; margin-bottom:5px;"><a href="@Url.Content("~/Home")">home</a></li>
<li><a href="@Url.Content("~/About_us")">about us</a></li>
<li><a href="#">ofers</a></li>
<li><a href="@Url.Content("~/Apply")">Apply</a></li>
<li><a href="#">contact</a></li>
</nav></ul>
这不是一项琐碎的任务。您需要自定义路由,控制器挂钩(例如中的OnActionExecuting
)以及更改服务器端区域性的一些技巧。同样,您所有的字符串都必须位于特定于语言环境的资源文件中。
这里有一些帮助的链接:
我以这些作为参考,为我的MVC应用程序构建了通用的本地化库。
第1部分自定义路由
我的自定义路线如下所示。它要求使用2
字母或2-2
字母语言代码(ISO格式),例如en
或en-EN
等:
//Special localisation route mapping - expects specific language/culture code as first param
routes.MapRoute(
name: "Localisation",
url: "{lang}/{controller}/{action}/{id}",
defaults: new { lang = "en", controller = "Home", action = "List", id = UrlParameter.Optional },
constraints: new { lang = @"[a-z]{2}|[a-z]{2}-[a-zA-Z]{2}" }
);
因此,更改语言的链接将看起来像这样(简化版本):
<a href="en">English language</a>
<a href="ru">Russian language</a>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句