在iOS iPad应用程序中遇到Localizable.strings的问题

Pau*_*ris 0 iphone xcode localization objective-c ipad

这是我第一次尝试使用Localizable.strings文件向应用添加一些本地化,我遇到了一个意想不到的问题.为清楚起见,这些是我经历过的步骤.

  1. 文件>>新建>>新文件并添加了一个字符串类型的资源文件.
  2. 将文件命名为"Localizable.strings"
  3. 单击Localizable.strings文件并通过Localization部分添加西班牙语.(我已经在我的项目文件夹中确认我有en和es文件夹).
  4. 开始在Localizable.strings(英文)文件中添加我的KEYS,然后将西班牙语翻译添加到西班牙文件中.

例如,这是我尝试添加的本地化之一.

"CAMERA_ERROR" = "The device does not have a camera";
Run Code Online (Sandbox Code Playgroud)

我在西班牙语.strings文件中添加了完全相同的字符串,但更改了文本以适合西班牙语.在我的应用程序代码中,我使用以下内容:

NSString *cameraError = NSLocalizedString(@"CAMERA_ERROR", nil);
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切似乎都很好,但这是奇怪的地方,我感到困惑.如果我在我的一个iMac上运行应用程序它工作正常,根据我设置模拟器的语言,它会显示正确的英语或西班牙语字符串.

但是,当我在这台MacBook Pro上运行完全相同的应用程序时,它不显示字符串,而是采用"KEY"标题并显示它.因此,它不会将消息显示为"设备没有摄像头",而是将其显示为"CAMERA_ERROR".代码与从git repo克隆的相同项目完全相同.

任何人都可以对此有所了解吗?MacBook上的任何设置都可能有所不同?

ser*_*gio 6

尝试在MacBook Pro上执行以下操作:

  1. 清理项目;

  2. 从模拟器/设备中删除应用程序;

  3. 重建应用程序.

这应该解决它.