我的应用程序中的 en-rZA 字符串文件正在为 en-UK 区域设置设置一个字符串
en-rZA strings file in my app is setting a string for the en-UK locale
我最近为来自南非的用户在我的 Android 应用程序中添加了 en-rZA
、zu
和 xh
字符串文件。
这些文件中的每一个都包含一个 t运行slation。
当我在模拟器上 运行 我的应用程序时,这个 t运行slation 似乎按预期工作(我来自英国,因此我看到默认字符串)但用户报告说,当使用在非仿真设备上的应用程序,他们看到的是南非 t运行slation.
调试时,我注意到这是由 en-rZA
字符串文件引起的,而 zu
和 xh
字符串文件 t运行slate as and when预期(我更改了每个值并重新 运行 应用程序以确定问题的来源)。
我的设备区域设置在调试器中显示为 en_UK,然后继续显示 en-rZA
t运行slation。
我目前使用的解决方法是引入一个具有正确 t运行slation 的 en_rGB
字符串文件,但对我来说我不需要这样做没有意义。
是什么导致了这个错误运行slation,我是不是漏掉了什么?
谢谢
根据 and https://issuetracker.google.com/issues/64429534?pli=1
,这是以 Android N 开头的预期(尽管令人惊讶)行为
解决方案是在values-en/strings.xml
或values-b+en+001/strings.xml
中复制values/strings.xml
我最近为来自南非的用户在我的 Android 应用程序中添加了 en-rZA
、zu
和 xh
字符串文件。
这些文件中的每一个都包含一个 t运行slation。
当我在模拟器上 运行 我的应用程序时,这个 t运行slation 似乎按预期工作(我来自英国,因此我看到默认字符串)但用户报告说,当使用在非仿真设备上的应用程序,他们看到的是南非 t运行slation.
调试时,我注意到这是由 en-rZA
字符串文件引起的,而 zu
和 xh
字符串文件 t运行slate as and when预期(我更改了每个值并重新 运行 应用程序以确定问题的来源)。
我的设备区域设置在调试器中显示为 en_UK,然后继续显示 en-rZA
t运行slation。
我目前使用的解决方法是引入一个具有正确 t运行slation 的 en_rGB
字符串文件,但对我来说我不需要这样做没有意义。
是什么导致了这个错误运行slation,我是不是漏掉了什么?
谢谢
根据
解决方案是在values-en/strings.xml
或values-b+en+001/strings.xml
values/strings.xml