默认情况下,Windows Store UWP应用仅安装特定于目标计算机的资源。例如,如果将应用程序本地化为5种不同的语言,并且用户在美国英语中拥有计算机,则仅会安装美国英语资源。

问题是我是否想在我的应用程序中使用按需语言切换。即使以为我使用fr-FR资源发布了应用程序,我也无法切换到fr-FR,因为未安装此语言包。

从Windows应用商店安装应用程序时,是否有方法或将设置为强制所有资源下载

请注意,一种解决方法是而不是将应用程序打包为appxbundle,但是一旦将应用程序发布为appxbundle,就不可能返回非appxbundle格式。

编辑,以下可接受的解决方案有效,我刚刚将此配置添加到我的.csproj文件中,现在它在安装过程中下载了所有资源文件:

<AppxBundleAutoResourcePackageQualifiers>Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
<AppxDefaultResourceQualifiers>Language=cs-CZ;de-DE;en-US;es-ES;fr-FR;it-IT;pt-PT;ru-RU</AppxDefaultResourceQualifiers>

最佳答案



如果您需要保留appxbundle,但仍希望保留所有语言资源。您可以通过将配置文件添加到您的应用程序包中来包含资源,或直接修改您的项目文件。

这样,用户可以离线更改语言首选项,并且他们的设备可以切换到最佳资源进行新设置。

有关详细步骤,请遵循Ensure that resources are installed on a device regardless of whether a device requires them,它针对Windows Store 8.1应用程序,但也适用于UWP应用程序。另外,您可以在MSDN论坛上的this thread中查看@Amy Peng的答案。

关于localization - 如何始终在Windows Store UWP app中安装所有本地化的资源?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40957295/

10-11 20:21