iOS应用程序本地化在模拟器上工作但不在手机上

时间:2014-04-27 18:21:18

标签: ios localization xcode5 simulator

我正在尝试本地化我的应用程序,它似乎工作,但它只是在模拟器上。这很奇怪,因为我已经尝试清理项目,重建等等,但是在模拟器上显示西班牙语文本,但在我的iPhone中使用开发人员配置文件并配置为西班牙语,它仍然显示英文字符串。

我也尝试删除该应用,“暂停”安装新版本的手机,但它似乎无效。

有什么想法?谢谢。

此处的图片:左手机是模拟手机,右手机是反射器显示的物理手机。

12

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并找到了一个可靠的解决方案,尽管我无法查明模拟器为何可以运行而我的设备却不能运行。

检查所有本地化文件

只需检查是否所有本地化文件都已针对设备的语言进行了本地化。它们在iOS11上更改了 Locale 的工作方式,并且由于它们,仅当存在所有本地化文件as commented here时,本地化语言才会设置为设备的语言。否则,它将默认为基本语言。

我的案子

就我而言,我仅使用.strings文件来本地化我的应用程序中嵌入的框架。但是Main.storyboardLaunchScreen.storyboard默认为基本本地化。 我将设备的语言添加到此故事板本地化列表中,一切在设备上都可以正常工作。

调查

之后,为了进一步调查,我

  • 将此文件的本地化恢复为以前的状态; <​​/ li>
  • 删除了所有本地化with this method

无论哪种方式,在解决方案之后,即使进行了此更改,所有操作仍可以按预期进行。我想第一个设置会更改project.pbxproj中的内容。

TL'DR

在任何情况下,都应尝试使每个本地化文件都本地化所有所需的语言,并且一切都应该没问题。不过,这些天的区域设置如何工作仍然有些神秘。