iOS16本地化的应用名称问题

2022-10-20  本文已影响0人  Trigger_o

桌面上显示的应用名称,取自info中的Bundle display name,对应key是CFBundleDisplayName.
假如配置了简中,日语,英语,在每个InfoPlist中分别设置CFBundleDisplayName = "简中/日/英的AppName"
就可以实现这三种语言的本地化.

但是如果是第四种语言,如繁中,法语,就会有一个设置默认语言的问题.
起作用的是info中的Development localization,对应key是CFBundleDevelopmentRegion,
它的值是字符串,可以在添加本地化的地方看到,比如简中zh-Hans(或者zh_CN).


image.png

在iOS15之前,CFBundleDevelopmentRegion同时作用于CFBundleDisplayName和应用内的本地化.
但是iOS16似乎有问题,如果没有配置该语言,应用内的本地化会正常的按照CFBundleDevelopmentRegion的设定;
但是桌面应用名称CFBundleDisplayName会选取InfoPlist(English)里的.

所以就有三种情况:


image.png

华为运动健康是适配了繁体的
京东没有适配繁体,系统选择了英语的名称
而头条也没有适配繁体,但是不是英语名称,因为头条把InfoPlist(English)的CFBundleDisplayName也设置成了"今日头条",看下图就知道了


image.png

最后,如果想要在iOS16,使用未配置本地化的语言的时候,默认显示简中,就得舍弃英语名称,把InfoPlist(English)的CFBundleDisplayName设置成简中.

上一篇下一篇

猜你喜欢

热点阅读