可可 – 本地化现代的基于xib的Mac应用程序

我们是志愿者本地化的开源Mac应用程序。这些志愿者将在软件的特殊本地化构建(未分配的笔尖)上进行工作,然后将更改发送到整合到原始xib和字符串文件中。

问题是,虽然有a way to integrate string changes without blowing away previous size changes,我看不到一种方法来整合新的字符串和大小的更改(当我们添加或替换视图时)。

我能看到的唯一方法是让本地化人员直接与原始xibs一起工作,并发送我们的差异。这意味着他们必须下载整个源代码,而不仅仅是本地化版本的版本,在Xcode和IB中工作,并且自己运行diff命令(每个xib)或安装和使用Mercurial。

是否有更好的方式基于xib的应用程序?

2014年1月更新:苹果的“自动布局”代码与他们的“基地”本地化功能相结合,大部分我的想法和改进。我建议不要使用我在这个答案中谈到的旧工具。但是,也是,我是对的!

我非常强烈地强烈反对本地化中的框架更改。我知道这与苹果的建议背道而驰,但是在允许框架更改方面存在许多问题 – 您最终会遇到十亿个边缘案例。

想象你的应用程序中有10个XIB,你支持12种语言。现在有120种不同的布局来支持。你只是不能这样做。

更改字符串,将视图留在他们的位置。如果需要,请使用所有语言进行更大的扩展。听起来这个不行,但它不行。 (我赢得了三个苹果设计奖,一个应用程序,本地化在10种左右的语言这样)。

具体细节:

>对于收音机和复选框,只要让它们向右延伸,超出最后一个英文字符。这也为不精确的山羊提供了一个不错的大着陆区域。
>对于按钮,无论如何,它们应该是宽的,因为在按钮的中间有文本挤压,看起来并不好看。
>对于tableview列的标题,如果需要,您应该自动调整加载em的大小。
>对于说明文字,你应该有一些额外的空间,也许是一个额外的线。它只是使英文版的XIB似乎不那么混乱。当然,德国人会看到一个稍微紧张的XIB,但是,他们是德国人 – 他们可能习惯了。甚至有一个德语单词。 “Deutscheninterfakkenclutterlongen。”
>如果文本字段居中,则只需在两边添加相等的空格。没有理由不去。

我结合了这些脚本,将所有的字符串从我的XIB中吸取,并将它们放在.strings文件中,然后在运行时动态地将字符串放回来,所以任何人都可以在没有任何特殊工具的情况下本地化我的应用程序。只需放入一堆.strings文件并运行它!

博客文章包括全文来源:[失去翻译]¹。

http://stackoverflow.com/questions/1494999/localizing-a-modern-xib-based-mac-application

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:可可 – 本地化现代的基于xib的Mac应用程序