我正在尝试本地化我的应用程序,它似乎工作,但它只是在模拟器上。这很奇怪,因为我已经尝试清理项目,重建等等,但是在模拟器上显示西班牙语文本,但在我的iPhone中使用开发人员配置文件并配置为西班牙语,它仍然显示英文字符串。
我也尝试删除该应用,“暂停”安装新版本的手机,但它似乎无效。
有什么想法?谢谢。
此处的图片:左手机是模拟手机,右手机是反射器显示的物理手机。
答案 0 :(得分:0)
我遇到了同样的问题,并找到了一个可靠的解决方案,尽管我无法查明模拟器为何可以运行而我的设备却不能运行。
检查所有本地化文件
只需检查是否所有本地化文件都已针对设备的语言进行了本地化。它们在iOS11上更改了 Locale 的工作方式,并且由于它们,仅当存在所有本地化文件as commented here时,本地化语言才会设置为设备的语言。否则,它将默认为基本语言。
我的案子
就我而言,我仅使用.strings
文件来本地化我的应用程序中嵌入的框架。但是Main.storyboard
和LaunchScreen.storyboard
默认为基本本地化。
我将设备的语言添加到此故事板本地化列表中,一切在设备上都可以正常工作。
调查
之后,为了进一步调查,我
无论哪种方式,在解决方案之后,即使进行了此更改,所有操作仍可以按预期进行。我想第一个设置会更改project.pbxproj
中的内容。
TL'DR
在任何情况下,都应尝试使每个本地化文件都本地化所有所需的语言,并且一切都应该没问题。不过,这些天的区域设置如何工作仍然有些神秘。