本地化ios应用程序以支持多种语言时出错

时间:2014-03-05 10:49:17

标签: ios iphone objective-c

我有两个问题

  1. 是否有任何教程可以使用 app不使用storyboard
  2. 来本地化iOS应用以支持多种语言?
  3. 我在没有故事板的情况下做我的应用程序,我通过在项目方向创建了Base.lproj文件夹对其进行了本地化,将.xib复制到它,并在Project-> Info-> Localization中添加了语言。(我在演示中成功测试了)但是当我在我的应用程序上构建并在模拟器上运行时,我的应用程序不会根据模拟器上的设置语言进行更新,它只会在我重建时更新。任何人都可以给我一个理由或疑问?

1 个答案:

答案 0 :(得分:3)

当你在Xcode项目中本地化资源时,你不需要复制任何东西:Xcode为你做了一切。如果您开始在这里和那里复制内容,您可能会迷路,文件甚至可能无法复制到您的应用包中。

您需要做的是:

1 /参考Xcode项目中的所有语言

Project localization

2 /使用Xcode在项目中创建一个新的“Strings”文件,将其命名为“Localizable.strings”,并使用“Localization”窗格中的“Localization”窗格创建到Xcode 的本地化版本文件检查员

File localization

3 /一旦您创建了Strings文件的多个版本,请输入您将在应用中测试的示例字符串,例如:

"HELLO_STR" = "Hello, world";

在您的英文版本中,

"HELLO_STR" = "Bonjour tout le monde";

在你的法文版中。 然后在您的应用程序启动代码中添加以下行:

NSLog(@"%@", NSLocalizedString(@"HELLO_STR", nil));

控制台中记录的消息现在应与您的设备或模拟器语言设置相对应。

4 /您现在需要将所有本地化字符串添加到Localizable.strings文件中。

5 /对于XIB,它的工作原理与故事板完全相同:您可以让Xcode创建所有XIB的可本地化版本。它们由Xcode复制和捆绑,其方式与我们在步骤1-4中已经构建的字符串文件非常相似。一旦“完成”设计接口,最好这样做,因为必须在所有其他本地化版本中重复对一个本地化XIB版本的任何后续修改。

祝你好运。