asp.net 本地化资源显式本地化不加载本地化文件

Posted

技术标签:

【中文标题】asp.net 本地化资源显式本地化不加载本地化文件【英文标题】:asp.net Localized Resources Explicit Localization not loading localized files 【发布时间】:2012-06-10 18:09:12 【问题描述】:

当存在具有相同名称但具有后缀语言国家的文件时,不同文化的 asp.net 资源会加载,例如法国的 fr-FR。

使用本教程创建具有显式本地化的本地化资源:

http://msdn.microsoft.com/en-us/library/fw69ke6f(v=vs.80).aspx

但它不会加载本地化资源(加载全局资源文件,即没有文化名称的文件)。 我将区域设置设置为 fr(我在葡萄牙尝试的本地化文化),将区域设置中的本地化设置为法国,检查 fr-FR 语言是否位于 IE9 浏览器语言之上(在 Internet 选项上) ,重新编译应用,清理文件夹C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files,还是不行。

还尝试将 fr 文件放入名为 fr 的子目录中,并使用 fr-FR 而不是仅使用 fr。

为什么没有加载 fr 资源?也许我必须更改主文件名(.net 是如何知道主资源文件文件名的)?

【问题讨论】:

你应该编辑你的问题(点击它下面的编辑链接)并添加与你的语言/框架(.Net?)相关的标签。 用新的提示和关键字编辑 由于你的问题比较老了,你得到的答案可能比较少,在这种情况下你可以删除它并重新发布它。 【参考方案1】:

我不知道您使用的是哪个版本的 IIS,但在 7 中您必须明确打开基于客户端的文化,详细信息 here。这会将以下行添加到您的 web.config

<system.web>
    <globalization enableClientBasedCulture="true" />
</system.web>

这个article 进一步说明你还需要另外设置这些值:

<system.web>
    <globalization culture="auto" uiculture="auto" enableClientBasedCulture="true" />
</system.web>

【讨论】:

以上是关于asp.net 本地化资源显式本地化不加载本地化文件的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net MVC 3 中的全球化

ASP.NET Core 模型绑定错误消息本地化

ASP.NET-本地化全球化

asp.net core 2 从本地磁盘驱动器加载和显示图像

如何提取本地化字符串资源进行翻译?

本地Debug Asp.net MVC 无法加载css与js