ios - SpriteKit 本地化连接

标签 ios objective-c string localization

我尝试阅读有关如何本地化字符串的在线教程。我有一款游戏使用 SpriteKit 作为引擎,并且在 .m 文件中有用户可读的文本。

我对本地化这些字符串的猜测是在我有可读字符串 (... .text = @"some string") 的地方调用 NSLocalizedString().

比如说,当游戏以英文启动时,我有一个标签,上面写着“play”。在西类牙语中,它会说“jugar”。此外,我还有一个选项菜单,用英语写的是“options”,用西类牙语写的是“opciones”。

如果我是正确的,我会向项目添加两个 .strings 文件:en.stringes.string

在代码中,我会添加:

playLabel.text = NSLocalizedString(@"play", nil)

optionsLabel.text = NSLocalizedString(@"options", nil)

并且,在 en.strings 文件中,它会说,

"play" = "play";
"options" = "options";

es.strings 文件中,它会说,

"play" = "jugar";
"options" = "opciones";

我如何才能将这些 .strings 文件连接到 GameScene.m 文件?

最佳答案

我发现了问题以及如何解决它。我阅读了 Ray Wanderlich 关于此的教程,可用 here .

如何解决这个错误,对于那些在未来试图解决这个问题的人:

  1. 创建一个名为 Localizable.strings 的新 strings 文件。
  2. 如果“实用程序”选项卡(右侧)尚未打开,请将其打开。
  3. en.strings 复制文本并将其粘贴到 Localizable.strings 文件中。
  4. 通过单击文件检查器中标有“本地化”的按钮,将其本地化为您要将其本地化为的所有语言(包括 Base)。很难错过。 (注意:您现在会注意到文件夹的下拉菜单。打开它,您会发现 Localizable.strings 已复制到您选择的每种语言中。但是,它没有翻译。)
  5. 删除en.strings。不再需要了。
  6. es.strings 中的文本复制并粘贴到 Localizable.strings 的西类牙语文件中,然后删除 es.strings。对您将其本地化的每种语言重复此操作。

关于ios - SpriteKit 本地化连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30689794/

相关文章:

ios - 水平 ScrollView 不滚动

objective-c - 如何使用 Objective-C 在 Mac Os X 中模拟 Unicode Char "key press"?

php - mysql中插入特殊字符

javascript - 使用正则表达式从 JavaScript 中的字符串获取值数组

c# - 使用字符串连接构建 XML 有什么不好?

iOS 发送音频文件到网络服务器

ios - 尝试在 Flutter 中设置背景图像时出现 MediaQuery.of() 错误

ios - 为什么我的 Xcode 界面生成器显示红色 block 并且无法呈现

objective-c - 使用 NSDate 获取每年 7 月的日期

iphone - 播放png动画时出现延迟