无法在Visual Studio 2017中更改程序集的默认语言

时间:2017-06-18 20:12:07

标签: visual-studio uwp culture

我的应用程序支持三种语言:en,es和fr。当我构建我的(清理,从模板)UWP应用程序时,我收到消息:

warning PRI257: 0xdef00522 - Resources found for language(s) 'en,es,fr' but no resources found for default language(s): 'en-US'. Change the default language or qualify resources with the default language.

然后我进入清单并将默认语言从en-US更改为en-GB,当我重新编译时,我得到:

warning PRI257: 0xdef00522 - Resources found for language(s) 'en,es,fr' but no resources found for default language(s): 'en-GB,en-US'. Change the default language or qualify resources with the default language.

是什么给出的?如何替换UWP应用程序中的默认语言,以便它不会尝试查找en-US资源?

1 个答案:

答案 0 :(得分:0)

要删除警告,您必须在两个地方更新语言:

  • appxmanifest中的默认语言,它以<DefaultLanguage>en-GB</DefaultLanguage>

  • 的形式保存在csproj文件中
  • 中性汇编语言,它作为[assembly: NeutralResourcesLanguage("en-GB")]保存在AssemblyInfo文件中,也可以通过项目属性&gt;进行更改。装配信息。

Assemly information

接下来,你必须使用完整的语言限定符(en-US,en-GB,...)作为默认语言,因为&#39; en&#39;刚刚被重定向到en-US作为默认语言。其他语言可以是纯语言限定符(fr)。

请注意,使用完整限定符指定资产并不会破坏其他区域语言使用这些资源。

  

Windows确实跨区域匹配。例如,en-US匹配en-US,然后是en,然后是en - *。

使用全限定符更好,因为您的翻译是在一种区域语言(通常是主要区域)中完成的,因此fr-FR标记您的资源文件比仅仅更准确