gpt4 book ai didi

c# - asp.net mvc 项目中 NeutralResourcesLanguageAttribute 和 uiCulture 的区别是什么

转载 作者:太空狗 更新时间:2023-10-29 20:36:47 28 4
gpt4 key购买 nike

我创建了一个 asp.net MVC4 web 项目,该项目必须支持多种语言。

我想为这个网络项目设置默认语言。经过一番研究,似乎可以在两个地方设置默认语言。

AssemblyInfo 中的 NeutralResourcesLanguageAttribute

[assembly: NeutralResourcesLanguageAttribute("en")]

来自 msdn:Informs the resource manager of an app's default culture. This class cannot be inherited.

web.config 中的全局化 uiCultur

  <system.web>
<globalization uiCulture="en"/>

来自 mdsn:Specifies the default culture for processing locale-dependent resource searches. For valid culture strings, see System.Globalization.CultureInfo Class.

现在我的问题:

在 Web 项目中设置默认语言的正确方法是什么(NeutralResourcesLanguageAttribute 或全局化 uiCultur)?

最佳答案

示例资源文件

  • Stuff.resx(包含英文,为默认资源文件)
  • Stuff.de.resx(包含德语)
  • Stuff.fr.resx(包含法语)

现在在web.config中使用

<globalization 
enableClientBasedCulture="true"
uiCulture="auto:en"
culture="auto:en" />

这(“自动”)将让浏览器设置决定(德语浏览器获取德语资源等)

但是(在上面的示例中)如果瑞典浏览器出现,它将默认为en,因为没有se(瑞典语)资源文件和后备英语(“自动:en”)uiCulture 将被使用。

那么……那么:

[assembly: NeutralResourcesLanguageAttribute("en")]

现在让应用程序将英文请求直接转到 default.resx,而不首先查找 en resx。

此外,如果英文浏览器请求它应该直接转到默认资源文件,而不先尝试其他内容。所以 NeutralResourcesLanguageAttribute 设置也在这里发挥作用。应用知道直接转到默认 resx。

关于c# - asp.net mvc 项目中 NeutralResourcesLanguageAttribute 和 uiCulture 的区别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16010238/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com