我有一个包含以下内容的解决方案:
LocalizationStringRes.resx
-拥有中性资源,当前为英语。LocalizationStringRes.en.resx
-保留英语翻译值。LocalizationStringRes.de.resx
-保留德语翻译值。我的应用程序中还有一个组合框,您可以在其中选择语言。当前它包含“德语”和“英语”。除此之外,我还要检查用户的系统设置中的语言。
因此,假设用户选择“英语”,则在获取值时将自动使用LocalizationStringRes.en.resx
,因为应用程序将查找其中包含en
的文件。
我认为同时保留LocalizationStringRes.resx
和LocalizationStringRes.en.resx
的英语翻译是我想避免的双重数据存储。因此,我尝试仅删除LocalizationStringRes.en.resx
。
我的期望:
en
的文件。如果找不到,它将自动使用LocalizationStringRes.resx
作为后备。实际发生的情况:
LocalizationStringRes.de.resx
被用作显示德语翻译值的后备广告。如果找不到对应语言字符串的.resx
文件(en-US
,fr-FR
等),如何强制我的应用程序始终使用中性语言值?
答案 0 :(得分:1)
您可以添加
[assembly: NeutralResourcesLanguage("en", UltimateResourceFallbackLocation.MainAssembly)]
到AssemblyInfo.cs