我需要帮助创建一个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>
例如: 更改菜单=&gt;
<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>
答案 0 :(得分:0)
这不是一项微不足道的任务。您需要自定义路由,控制器挂钩(例如在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>
答案 1 :(得分:0)
例如,我创建了一个类似的网站:http://www.asp.net/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-1 mvc3音乐商店我想添加语言。
感谢您的帮助。
答案 2 :(得分:0)