这是我第一次尝试使用Localizable.strings文件向应用添加一些本地化,我遇到了一个意想不到的问题。为清楚起见,这些是我经历过的步骤。
举个例子,这是我想要添加的本地化之一。
"CAMERA_ERROR" = "The device does not have a camera";
我在西班牙语.strings文件中添加了完全相同的字符串,但更改了文本以适合西班牙语。在我的应用代码中,我使用以下内容:
NSString *cameraError = NSLocalizedString(@"CAMERA_ERROR", nil);
直到这一刻,一切似乎都很好,但这是奇怪的地方,我感到困惑。如果我在我的一个iMac上运行应用程序它工作正常,根据我设置模拟器的语言,它会显示正确的英语或西班牙语字符串。
然而,当我在这台MacBook Pro上运行完全相同的应用程序时,它不会显示字符串,而是采用“KEY”标题并显示它。因此,它不会将消息显示为“设备没有摄像头”,而是将其显示为“CAMERA_ERROR”。代码与从git repo克隆的相同项目完全相同。
任何人都可以对此有所了解吗? MacBook上的任何设置都可能不同?
答案 0 :(得分:6)
尝试在MacBook Pro上执行以下操作:
清理项目;
从模拟器/设备中删除应用程序;
重建应用。
这应该解决它。