首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone应用程序的本地化--您的方法是什么?

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

Stack Overflow用户
提问于 2011-01-31 12:08:18
回答 2查看 793关注 0票数 9

总的来说,我知道如何实现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.1MB,转换为NIB文件的~120 kB )。
  4. 当我决定执行iPad版本时,XIB的数量将再次增加。

选项B:通过将所有需要的插座连接起来,将它们合成成属性并正确设置标签/标题,从而实现代码中的本地化:

  1. 我担心我的应用程序内存占用会很大。或者,从适当的角度来看,我不应该把这当成一个问题吗?

我会选择第二个选项,因为我看到它的缺点较少,它可以允许在一个地方的每一个视图控制器控制一切,但我想知道什么是你的选择?哪条路更适合你?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-01 15:58:54

嗯,我原以为SO用户会给我更多的反馈,但这很好,因为经过一些研究后,我自己决定放弃选项B,转而选择一个修改版本的选项A。

我大量地使用了来自菲利普·卡斯格伦的编译时方法的想法。通常,它使用ibtool在构建时自动地本地化nib。菲利普的方法保持了合理的维护,目前是合理的。我在代码中使用的所有其他字符串都是使用NSLocalizedString方法处理的,这在我的示例中非常容易实现(只是使用了genstrings工具)。未来唯一可能影响我的问题是添加具有不同/修改过的UI布局的新目标。

很难说这是否是最好的选择。时间会告诉你的,所以总有一天我会更新这个问题,并和你分享这个决定是如何为我做出的。也许有人会从这一特性中受益;)

票数 1
EN

Stack Overflow用户

发布于 2011-01-31 12:36:49

我在所有项目中都使用选项B,因为这也使我很容易将字符串文件分发给本地化程序。当然,在此之后还需要进行测试,以确保字符串符合位置。另外,有些项目不使用XIB文件,因此无论是否使用XIB文件,进程总是相同的。在我的经验中,这个选项完全没有记忆问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4850658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档