如何简化iPhone本地化?
我需要本地化为英语和西班牙语的开发应用程序 尽管我遵循苹果的方式使用NSLocalizedString&为两者创建笔尖,但我已经失去了需要本地化的新字符串的踪迹,并且惊讶地发现,当我更改主字符串时,我需要用西班牙语重做笔尖 (就这样) 我想知道是否有更好的/替代的/更自动化的方法 我知道gettext和poedit的用法,不知道是否可以使用类似的东西如何简化iPhone本地化?,iphone,localization,Iphone,Localization,我需要本地化为英语和西班牙语的开发应用程序 尽管我遵循苹果的方式使用NSLocalizedString&为两者创建笔尖,但我已经失去了需要本地化的新字符串的踪迹,并且惊讶地发现,当我更改主字符串时,我需要用西班牙语重做笔尖 (就这样) 我想知道是否有更好的/替代的/更自动化的方法 我知道gettext和poedit的用法,不知道是否可以使用类似的东西 或者如果存在用于此的脚本或工具。这里真的没有一个简单的解决方法。每种语言的笔尖都需要单独布置。在某种程度上,这改善了总体用户界面,因为不同的语言实
或者如果存在用于此的脚本或工具。这里真的没有一个简单的解决方法。每种语言的笔尖都需要单独布置。在某种程度上,这改善了总体用户界面,因为不同的语言实际上通常需要不同的布局才能达到最佳效果。俄语和德语在银幕房地产领域比英语“大”得多。中文通常可以小得多,不同的布局用汉字看起来更好。阿拉伯语和希伯来语是从右向左的,可能需要对布局进行彻底的更改。自动布局很容易,但通过在所有语言中使用不同级别的布局来实现这一点。当让开发者在易与丑之间做出选择,而开发者在难与美之间做出选择时,苹果几乎总是选择后者。尽管如此,苹果仍然没有尽可能地简化这一过程 所以这里的第一课是保持笔尖的简单。这在iPhone上比在Mac上容易,因为iPhone没有绑定,iPhone的nib通常更简单。您还可以对具有非常少量文本(如标题)的笔尖使用文本注入。“文本注入”是一种花哨的说法,“在加载视图时,为标签使用插座并将其设置为本地化文本。” ibtool可以将线从笔尖中拉出,也可以将其推回到笔尖中,这会很有帮助。我使用了iLocalize,它有助于使用合同本地化程序,但对您所讨论的问题没有真正的帮助 我试着摆脱笔尖,只使用代码,以为这样会让事情变得更简单,但事实并非如此。在NIB中布局每种语言要比在所有语言中都能找到好的布局逻辑容易得多(见第一段)。文本注入只在少数地方有用。如果你能把笔尖分为需要本地化的和不需要本地化的,那会很有帮助。在iPhone上,我发现只有不到一半的笔尖上有文字或本地化图像
当然你应该阅读,但很抱歉,你的问题确实没有简单的答案。装运19种语言的本地化产品,我感觉到了您的痛苦。有时需要为每种语言布置笔尖,但大多数情况下不必为每种语言重新布置笔尖 如果您使用ibtool从nib生成字符串 ibtool——生成字符串文件 您可以将它们导入每种语言的新NIB ibtool--导入字符串文件
这些是命令行工具,因此可以编写脚本。看看“man ibtool”我所做的是为nib文件中的所有文本ui(UILabel、UITextField、UITextView等)创建IBoutlet,并通过编程将其文本/占位符属性指定给所需的NSLocalizedString 考虑到我已经用不同的语言提供了特定字符串的翻译,当iPhone语言环境发生变化时,文本的翻译版本将出现在nib文件中 希望其他人觉得这有用