Android 7.0 以上字符串资源匹配策略

2021-12-01  本文已影响0人  Vic_wkx

关于 Android 7.0 以上的字符串资源匹配,官方文档 介绍如下:

Android 7.0 以上资源匹配策略官方介绍

笔者实测结果与官方介绍却有些出入。

笔者定义了一个字符串,在 valuesvalues-envalues-en-rUSvalues-en-rCAvalues-ja 文件夹中均做了翻译:

国际化

Android 9.0 的设备上测试,设备的语言是 en-US,项目的设置是 minSdkVersion 26 + targetSdkVersion 30

根据实测结果,Android 9.0 上感觉还是采用的官方文档中介绍的 Android 7.0 以前的字符串匹配策略:

Android 7.0 以前资源匹配策略官方介绍

但我注意到官方文档中有这样一段话:

Android 7.0(API 级别 24)可提供更稳健的资源解析,并自动查找更好的备用方法。不过,为了加速解析和提升可维护性,您应以最常用的母语存储资源。例如,如果您之前将西班牙语资源存储在 values-es-rUS 目录中,请将其移至包含拉丁美洲西班牙语的 values-b+es+419 目录中。同样,如果您在名为 values-en-rGB 的目录中存储有资源字符串,请将此目录重命名为 values-b+en+001(国际英语),因为 en-GB 字符串的最常用母语为 en-001。

这让我不确定是否是文件夹命名问题导致的,但我暂不太理解 values-b+es+419values-b+en+001 这样的命名规则和含义在哪里有介绍,如果读者知晓,望不吝赐教。

目前找到的资料是 419 来自于 维基百科-UN M49,代表 Americas

上一篇下一篇

猜你喜欢

热点阅读