具有不同默认语言资源字符串的Productflavors

问题描述 投票:0回答:1

我有一个有两种产品口味的应用程序。一个(INT)有德语和英语两种,另一种只有德语(GER),但德语中的字符串比第一种不同。

我目前的设置是:

INT在默认strings.xml中具有英语,在values-de文件夹中具有德语。 GER的两个文件只填充了与INT不同的德语字符串(它们不足以将它们放在默认文件夹中,因为在德语设备上,将使用INT的-de字符串)。

我遇到的问题是,当设备设置为德语以外的其他语言时,INT的默认字符串用于GER中没有差异的字符串,因此不在其自己的默认资源文件中。所以我在GER-App中混合了德语和英语字符串。我希望你明白我的意思;)

我理解为什么gradle表现得那样,但我希望有一个更好的解决方案,而不是手动保留INT-App中的所有字符串也在GER-App的默认字符串中......?

告诉resConfigs只使用德语没有帮助。我需要一些东西告诉gradle总是首先检查德国字符串资源的味道。我看到了在构建过程中将字符串从一个资源文件复制到另一个资源文件的建议,这可能对我有用,但我可能会随着时间的推移添加更多的buildFlavor,实际上我不想为每个构建复制资源文件。 。

有什么办法可以实现吗?

非常感谢! JPM

android gradle android-gradle
1个回答
0
投票

在德国风味中,不要将德语字符串放在strings.xml资源文件中,而是放入英文字符串。

这样,即使用户使用应用程序的德语风格,他们也会根据设备语言看到正确的字符串。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.