用于本地化iOS长字符串的标准(或最佳)方法

时间:2014-05-18 18:35:44

标签: ios nslocalizedstring

我有一些与我正在为iPhone构建的应用相关联的帮助菜单。坦率地说,这是很多文本,其中一些是由律师提供的!我正在努力实现这一点,并想知道是否有标准最佳方式。以下是我一直在考虑的选项:

  1. 将所有文本放在数据库中,并根据所选语言在运行时加载文本。
  2. 使用每种语言的文本构建几个不同的ViewControllers,然后根据所选语言切换调用哪个segue。
  3. 使用NSLocalizedStringFromTable
  4. 做一些令人难以置信的麻烦事
  5. 教会全世界说英语......只比想法#3略胜一筹。
  6. 我不需要在这里一步一步,但是指向常见或最佳实践的指针会非常棒。

2 个答案:

答案 0 :(得分:1)

您的应用支持的每种语言都必须包含Localizable.strings文件。 在Localizable.strings文件中进行本地化:

enter image description here

在你的代码中写一下:

self.welcomeLabel.text = NSLocalizedString(@"welcome_text",nil);

无需数据库。

答案 1 :(得分:0)

除非您有理由不使用.strings文件和NSLocalizedString函数。

我只看过一个实例,其中有人实现了在SQLite DB中管理数千个字符串的方法。他们这样做是因为字符串的数量和变化的频率以及启用特定的字符串本地化工作流程和部署模型。 它虽然不优雅但很聪明。 花了很长时间才弄清楚扭结。主要是在维护和部署系统中。 它仍在企业CRM中使用。 关键是除非你已达到标准机制不足的程度,否则不要试图建立更聪明的东西。真的不是一个简单的方法。 Apple提供的是实际使用的。 实现过程的过程是您必须独立完成的部分。