总的来说,我知道如何实现iOS应用程序的本地化,唯一的办法就是在可用的方式之间做出选择,并以正确的方式进行。因此,我想问您关于您的项目的l10n方法。
以下是我的意见:
我看到了我可以走的两条路:
选项A:通过使XIB可本地化并添加语言版本来本地化每个nib文件:
选项B:通过将所有需要的插座连接起来,将它们合成成属性并正确设置标签/标题,从而实现代码中的本地化:
我会选择第二个选项,因为我看到它的缺点较少,它可以允许在一个地方的每一个视图控制器控制一切,但我想知道什么是你的选择?哪条路更适合你?
编辑:--我知道ibtool可以简化A计划中的过程,但我仍然不相信。
发布于 2011-02-01 15:58:54
嗯,我原以为SO用户会给我更多的反馈,但这很好,因为经过一些研究后,我自己决定放弃选项B,转而选择一个修改版本的选项A。
我大量地使用了来自菲利普·卡斯格伦的编译时方法的想法。通常,它使用ibtool在构建时自动地本地化nib。菲利普的方法保持了合理的维护,目前是合理的。我在代码中使用的所有其他字符串都是使用NSLocalizedString方法处理的,这在我的示例中非常容易实现(只是使用了genstrings工具)。未来唯一可能影响我的问题是添加具有不同/修改过的UI布局的新目标。
很难说这是否是最好的选择。时间会告诉你的,所以总有一天我会更新这个问题,并和你分享这个决定是如何为我做出的。也许有人会从这一特性中受益;)
发布于 2011-01-31 12:36:49
我在所有项目中都使用选项B,因为这也使我很容易将字符串文件分发给本地化程序。当然,在此之后还需要进行测试,以确保字符串符合位置。另外,有些项目不使用XIB文件,因此无论是否使用XIB文件,进程总是相同的。在我的经验中,这个选项完全没有记忆问题。
https://stackoverflow.com/questions/4850658
复制相似问题