Asp.net mvc 3 ASP.NETMVC3中的全球化
我试图在我的MVC 3应用程序中实现全球化/本地化。我不希望每种语言都有不同的观点。请建议我如何进行。任何受支持的链接/URL都会有很大帮助。您可以像其他应用程序一样对其进行本地化,如下所示:Asp.net mvc 3 ASP.NETMVC3中的全球化,asp.net-mvc-3,globalization,Asp.net Mvc 3,Globalization,我试图在我的MVC 3应用程序中实现全球化/本地化。我不希望每种语言都有不同的观点。请建议我如何进行。任何受支持的链接/URL都会有很大帮助。您可以像其他应用程序一样对其进行本地化,如下所示: 创建一个文件夹,称之为Resources 右键单击文件夹并添加类。。。选择资源文件。可以随意称呼它,例如Strings.resx 在文件属性下,将自定义工具更改为PublicResXFileCodeGenerator 使用翻译键和值对填充资源文件(这将是默认翻译) 使用其所在区域性的名称以以下格式创建其他
PublicResXFileCodeGenerator
@Strings.MyString
CurrentCulture
(可能在应用程序中_BeginRequest
)。如何做到这一点取决于您,它可以是设置它的路由值,也可以是用户的浏览器语言
您可以在
HttpContext.Current.Request.UserLanguages
中找到用户首选语言的列表(按顺序) 这是一篇关于MVC 3全球化/国际化的详细文章下一步需要的是本地化Javascript库。
请看这里:要添加一些详细信息(以防他的MediaFire链接消失),以下是我如何识别它的:
我使用了两个文件,因为我现在只需要英语和德语(“de”):
对于每个文件的属性,我必须为每个文件手动输入自定义工具以及自定义工具命名空间值:
最后,我在根Web.Config文件的
部分下面输入了以下内容:
<globalization uiCulture="auto" culture="auto" />
当然,我还将namespace指令添加到了Views文件夹下的Web.Config文件中(即不是根目录),如Martin所述:
<add namespace="ViewResources" />
然后我终于可以访问我(部分)Razor视图中的强类型资源:
<h2>@ViewResources.Test1</h2>
@ViewResources.Test1
顺便说一句:这也适用于MVC4,而不仅仅是MVC3。在第7步中,我在web中也这样做。配置为Highlighted,但出现错误“找不到类型或命名空间名称******‘资源’(是否缺少using指令或程序集引用?)”****“请详细说明或提供任何示例应用程序。这是实现此功能所需的最低要求。您应该添加如何访问javascript中的资源字符串?如果您希望通过javascript访问它们,您需要对返回字符串的服务执行一些ajax调用。这篇文章非常适合于讨论语言、区域性和区域性之间的差异,但它在调用Web.config中不完整的命名空间时犯了与上面文章相同的错误。它提到您需要将命名空间添加到视图Web.configSee中