2017-06-18 140 views
1

我的應用程序支持三種語言:en,es和fr。當我建立我的(乾淨,從模板)UWP應用程序,我得到的消息:無法更改Visual Studio 2017中程序集的默認語言

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資源?

+0

如果我錯了,請糾正我,但我認爲這與「彙編語言」中的*彙編語言無關,現在呢?您可能希望將標題更改爲不太模糊的內容。 –

回答

0

要刪除的警告,你必須更新2個地方的語言:在appxmanifest

  • 默認語言,它被保存在的csproj文件<DefaultLanguage>en-GB</DefaultLanguage>

  • 中性彙編語言,這保存在AssemblyInfo文件中作爲[assembly: NeutralResourcesLanguage("en-GB")],也可以通過項目的屬性>程序集信息進行更改。

Assemly information

下一步,你必須使用一個完整的語言限定(EN-US,EN-GB,...)作爲默認語言,如 '恩' 剛剛被重定向到en-US作爲默認語言。其他語言可以是僅限語言的限定詞(fr)。

請注意,使用完全限定符指定您的資產不會破壞使用這些資源的其他區域語言。

Windows確實跨區域匹配。例如,en-US與en-US匹配,然後是en,然後是en- *。

恕我直言,這是更好的使用完整的合格者爲您的翻譯在區域語言(經常的主要區域)的一個完成的,所以FR-FR是更準確的標記您的資源文件不僅僅是FR。

+0

>>接下來,您必須使用完整語言限定詞(en-US,en-GB,...)作爲默認語言,因爲'en'只會被重定向到en-US作爲默認語言。其他語言可以是僅限語言的限定詞(fr)。我同意這是它的表現,但我不明白爲什麼這是有道理的。爲什麼當我想要定位所有講英語的文化時,我不得不選擇en-US? –

+0

您提供的本地化(行爲vs行爲)是en-US或en-GB,而不僅僅是'en'。但這並不重要,因爲應用程序將回退到您提供的語言(請參閱引用的塊)。 – Bart

相關問題