0

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

  1. File >> New >> New File 并添加了 Strings 类型的 Resources 文件。
  2. 将文件命名为“Localizable.strings”
  3. 单击 Localizable.strings 文件并通过 Localization 部分添加西班牙语。(我已经在我的项目文件夹中确认我有 en 和 es 文件夹)。
  4. 开始在 Localizable.strings(英语)文件中添加我的 KEYS,然后将西班牙语翻译添加到西班牙语文件中。

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

"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上的任何设置可能会有所不同?

4

1 回答 1

6

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

  1. 清理项目;

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

  3. 重建应用程序。

这应该解决它。

于 2012-04-08T16:45:00.580 回答