我有一个足球/足球裁判计时应用程序(https://play.google.com/store/apps/details?id=com.pipperpublishing.soccerrefpro),其中包含GB/AU/NZ的本地化。如果我在手机上将语言/区域设置设置为英语(澳大利亚),应用程序名称将正确更改为"足球裁判专业版"和其他各种语言差异。
但是,在手表上(运行AW1.5的索尼智能手表SW3),我仍然获得该应用程序的美国版本。我尝试在手表上重新安装,重新配对(并在安装时选择英语-英国),但它保持不变。
在运行AW360的Moto2.0上,当我从Play商店下载时,我会获得美国本地化。
我已经重新阅读了本地化开发人员的信息,但实际上找不到任何相关内容。对后续步骤有什么建议吗?
更新:通过使用设置>语言和输入选项,我能够更彻底地测试 4 种不同的语言选项(在我的情况下是 en-US、-UK、-AU、-NZ)。所有 4 个都可以在手机上正常工作,但只有 en-US 和 en-UK 在手表上工作。如果我选择 -AU 或 -NZ,它会默认回到手表上的 en-US 版本。
我将在下面尝试String的建议。
好吧,我不知道这是你的问题,但这里是...
从 buld 中删除"未使用"资源的标准建议是在 build.gradle 中包含resConfigs
属性,仅列出已将应用本地化为的语言。这样:
resConfigs "en", "fr"
但是,此属性将资源限制为仅每种语言的默认值,并删除特定于区域的资源。例如,如果您的应用主要使用英语 (en
),但有一些特定于国家/地区的字符串(例如en-rUS
和en-rGB
),则后者将按上述resConfigs
值删除 - 英国和美国的用户都将看到默认字符串。
AFAICT,解决方案是列出要包含在APK中的所有配置。所以在我的例子中,我们需要:
resConfigs "en", "en-rUS", "en-rGB", "fr"
为了拥有所有国家/地区特定的配置。
请注意,有一个问题为"通配符"resConfigs
打开,但它没有太多的爱:https://issuetracker.google.com/issues/69240488