繁体   English   中英

iPhone应用程序的本地化 - 您的方法是什么?

[英]Localization for iPhone apps - what's your approach?

一般来说,我知道如何进行iOS应用程序的本地化,唯一的办法是在可用的方式之间进行选择并以正确的方式进行。 所以我想问你关于你的项目的l10n方法。

以下是我的意见:

  1. 我有15个XIB文件(包含许多IB出口,这些出口未作为属性合成,但必须进行本地化)。
  2. 我的应用程序很可能会有3-5种语言版本,但有可能我将来会使用10种语言。
  3. 在不久的将来,我计划添加可能改变UI设计(付费/免费版本)的新目标。

我看到了两种可行的方法:

选项A:通过使XIB可本地化并添加语言版本来本地化每个nib文件:

  1. 我担心有15个XIB和3-5种语言,当我将本地化扩展到~10种语言并引入新目标时,维护恐怖将无法控制(维护恐怖不是关于SCM,我正在使用git BTW)。
  2. 我需要保持同步所有版本的XIB,这将影响痛苦的变更请求过程。
  3. 我也担心我的应用程序包会变大(目前XIB使用~1.1 MB并转换为~120 kB的NIB文件)。
  4. 当我决定做iPad版时,XIB的数量会再次增长。

选项B:在代码中进行本地化,将所有需要的出口连接到属性并正确设置其标签/标题:

  1. 我担心我的应用程序内存占用量会非常大。 或者,考虑到适当的mem mgmt,我不应该认为这是一个问题吗?

我会选择第二个选项,因为我看不到它的缺点,它可以允许在每个视图控制器中控制一个地方的所有内容,但我想知道你的选择是什么? 哪种方式更适合你?

编辑:我知道ibtool可以简化计划A中的流程,但我仍然不相信它。

我在所有项目中使用Option B,因为这也使我很容易将字符串文件分发给本地化程序。 之后需要进行测试以确保琴弦适合放置。 另外一些项目不使用XIB文件,因此无论是否使用XIB文件,该过程始终都是相同的。 根据我的经验,该选项根本没有内存问题。

好吧,我期待得到SO用户的更多反馈,但是这很好,因为经过一些研究后我已经决定放弃选项B并选择A的修改版本。

我大量使用了Philippe Casgrain编译时方法 通常,它使用ibtool在构建时自动本地化笔尖。 菲利普的方法使合理的维护现在合理。 我在代码中使用的所有其他字符串都是使用NSLocalizedString方法处理的,这种方法在我的案例中很容易实现(只使用了genstrings工具)。 未来可能遇到的唯一问题是添加具有不同/修改的UI布局的新目标。

很难说它是否是最佳选择。 时间会证明,所以有一天我会更新问题,并与您分享决定如何为我做出决定。 也许有人会从这个功能中受益;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM