加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 19:08:29 所属栏目:asp.Net 来源:网络整理
导读:我试图在我的MVC 3应用程序中实现全球化/本地化。我不想为每种语言使用不同的视图。请建议我如何进行。任何支持的链接/ URL将是很大的帮助。 解决方法 你本地化与任何其他应用程序相同的方式,像这样: 创建文件夹,调用它。资源 右键单击文件夹并添加类…选
我试图在我的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中找到用户首选语言的列表(按顺序)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读