微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc-3 – 全球化在ASP.Net MVC 3

我试图在我的MVC 3应用程序中实现全球化/本地化。我不想为每种语言使用不同的视图。请建议我如何进行。任何支持链接/ URL将是很大的帮助。

解决方法

你本地化与任何其他应用程序相同的方式,像这样:

>创建文件夹,调用它。资源
>右键单击文件夹并添加类…选择资源文件。称它为你喜欢的任何东西。 Strings.resx
>在文件属性下,将自定义工具更改为PublicResXFileCodeGenerator
>使用Translation键和值对填充资源文件(这将是认翻译)
>使用以下格式创建其他文化名称的资源:{name} .de.resx例如Strings.de.resx
>(这是为Razor)破解在Views文件夹中打开web.config并将其添加到/configuration/system.web.webPages.razor/pages/namespaces:< add namespace =“Resources”/> (假设resources是您创建资源的文件夹的名称,并且您尚未更改资源文件本身的认命名空间)。
此步骤意味着您不需要在每次要引用翻译时完全限定视图中的资源类。
>使用翻译代替视图中的文本,如下面的代码

@Strings.MyString

字符串将根据CultureInfo.CurrentCulture在视图中自动翻译,但不会自动为您设置

您将需要更改CurrentCulture(可能在Application_BeginRequest中)。如何做到这一点取决于你,它可以是一个路由值设置它,或者你可以读取用户的浏览器语言

您可以在HttpContext.Current.Request.UserLanguages中找到用户首选语言的列表(按顺序)。

原文地址:https://www.jb51.cc/aspnet/254405.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐