我有2个资源文件:
它们都包含密钥“BtnConnecter”,其中Resource.resx中的法语值和Resource.en-GB.resx中的英语值。在我看来,我使用@ Resource.BtnConnecter。
我的Chrome设置为法语,我的IE设置为英语,但我总是看到法语价值。
(请注意,我有另一个本地化的C#项目。我在IE中有英文值,在Chrome中有法文值。问题不在导航器配置中。)
我错过了什么?
答案 0 :(得分:3)
您是否修改了Web.config以支持全球化?具体而言,culture
,uiCulture
和enableClientBasedCulture
属性。
<configuration>
<system.web>
<globalization fileEncoding="utf-8" requestEncoding="utf-8" culture="auto" uiCulture="auto" enableClientBasedCulture="true" />
有关此属性的更多信息,请参阅MSDN documentation。
答案 1 :(得分:0)
有几件事要检查:首先,你的IE设置为en-GB,还是en-US(或只是en)?您可以尝试将英语resx重命名为'.en.resx'。这将有所帮助,因为resx文件级联。如果在语言中找不到“en-US”的resx文件,它将在求助于默认值之前查找“en”。所以你最好使用特定于语言的resx文件而不是文化特定的文件。
其次,您可能需要在resx文件中指定“BtnConnecter.Text”,而不仅仅是“Btn.Connecter”。这是因为控件的多个部分经常需要全球化,所以格式'control.property'用作关键,而不仅仅是'控制'。
最后,如果你有一个正常运作的功能项目,我会比较两者。它们之间可能存在需要修复的差异。我会仔细检查您的resx文件上的build-action属性以及“Copy to Output Directory”属性。