【问题标题】:How can i set default language of UWP app?如何设置 UWP 应用的默认语言?
【发布时间】:2020-09-19 00:37:46
【问题描述】:

我有两种语言。 en-US 和 ru-Ru

当我将默认语言设置为 ru-RU 时出现错误:

PRI257: 0xdef00522 - 为语言“ru-ru,en-us”找到资源 但未找到默认语言的资源:“ru-RU”。更改 默认语言或使用默认语言限定资源。

怎么了?

【问题讨论】:

  • 请检查packagemanifest文件Language行是否为<Resource Language="x-generate" />

标签: uwp


【解决方案1】:

我遇到了同样的问题: Resources found for language(s) 'nl-be,en-us' but no resources found for default language(s): 'nl-be,en-us'。所以它抱怨寻找资源,它没有找到。这可能与 OP 问题的根本原因不同,但我想分享我的修复,这就是为什么我将解释我的搜索路径修复它在下面。也许您可以在任何这些步骤中找到适合您特定情况的解决方案。开始:我的项目在其 appxmanifest 中有默认语言 nl-BE

我的搜索把我带到了这个页面https://docs.microsoft.com/en-us/windows/uwp/app-resources/specify-default-resources-installed。在尝试了这个之后,我发现当我构建为Release 而不是Debug 时警告没有出现。在上面的文章中,他们提到了<ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml,所以我去那里看了看。

在这个文件夹中有所有这些resource*.resfiles。我检查了他们每个人。我找不到任何问题(它们都包含两种语言(nl-BE 和 en-US)的资源)。也就是说,当我查看Release 时。但是,当我查看 Debug 对应文件时,我发现了一个 resources.en-us.resfiles 文件。没有对应的nl-be,它包含一个资源obj\x64\Debug\FxResources.System.Text.Json.SR.resw。据我所知,这些是代码分析器的资源(不是我主动添加到我的项目中的),没有 nl-be 对应的资源。

我的项目在其 appxmanifest 中有默认语言 nl-BE。在priconfig.default.xml 中设置<qualifier name="Language" value="nl-BE" /> 当然仍然没有修复Debug 中的警告(没有nl-BE FxResources),但是将appxmanifest 和priconfig.default.xml 中的默认语言更改为en-US 确实修复了Debug 中的警告。 resources.en-us.resfiles 文件不再出现,资源FxResources.System.Text.Json.SR.resw 被添加到resources.resfile。发现这一切后,我将我的项目恢复为nl-BE,并且不再为警告而烦恼。

TL;DR:这只是因为Release 中不包含代码分析器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 2016-09-07
    • 2015-04-26
    相关资源
    最近更新 更多