objective-c - 国际化:在模拟器中只显示键名而不是本地化字符串

标签 objective-c xcode internationalization ios-simulator

除英语外,其他语言的本地化效果非常好。每次我编译我的应用程序时,我都会看到键名而不是本地化字符串。示例:

NSLocalizedString(@"WelcomeKey", @"")

在 Localizable.strings 中我有相应的条目:

"WelcomeKey" = "Welcome";

在模拟器中,我总是得到键名 WelcomeKey 而不是 Welcome。在设备上,这是完美的。在模拟器中没有!

我还发现我的 EN Localizable.strings 文件充满了“????????”符号。所以我输入旧值并将其保存在 Xcode 中。我还手动添加了一个条目,而不是使用 genstrings。在模拟器中,第二种语言也能完美运行。只有英语似乎有问题。也许我删除了 English.lproj 并创建了一个 EN.lproj 文件夹?

我尝试过:

  1. 清空缓存
  2. 清理所有目标
  3. 删除“User/xxx/Library/Application Support/iPhone Simulator/User”文件夹
  4. 重启苹果
  5. 转换为 UTF-16
  6. 为 EN 创建了新的 Localizable.strings
  7. 删除 EN.lproj 文件夹和文件。使本地化变得全新。

我错过了什么?我认为模拟器讨厌英语......

编辑:

所以我尝试在另一台 Mac 上编译这个 App。它在模拟器中可以正常工作!因此要么是 Xcode 中的设置,要么是缓存问题

最佳答案

So you have to remove your application from iPhone/iPhone simulator first.

在模拟器中的应用程序上按住鼠标,直到它开始摆动。然后点击 X。它将删除。然后按下主页按钮,使按钮停止摆动。

关于objective-c - 国际化:在模拟器中只显示键名而不是本地化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3785441/

相关文章:

objective-c - 如何制作一个小的透明模态整体来表示加载数据?

objective-c - NSTableViewCell版本事件完成

ios - 在 dynamicLinks.handleUniversalLink(url) 的回调中接收 nil

ios - XCode 和 Facebook IOS SDK - 说明不正确

php - Phalcon 中的翻译工具

ruby-on-rails-3 - Rails 3 条 I18n 路线

ios - 单例类为其 NSString 属性返回 nil 值

iphone - Objective C 等同于 javascript setTimeout?

iphone - 链接器错误 - 类不再存在

c++ - 在 Visual Studio 中更新 Qt 翻译(.ts 文件)时出现未指定错误