通常在我们的iOS项目中,我们有多种支持的语言。它们存储在标准的.string文件中,类似于:
/* News section */
"news_title" = "News";
"ok_button_title" = "Ok";
这个文件当然可以邮寄给一位非技术性翻译,他被告知“只需用法语中的等效文本替换右边的内容”。这对他们来说并不容易理解,他们可能会在wordpad.exe中打开文件并以奇怪的格式保存它,或者通常会弄乱文件。
其他人如何解决这些问题?是否有可以提供帮助的工具?
这可能不是iOS开发所独有的 - 我认为Rails,C#,Java开发人员也面临同样的挑战?
答案 0 :(得分:1)
https://www.transifex.com/可以处理iOS文件。和其他像这样的平台一样。
答案 1 :(得分:0)
有很多信息可以在Apple's "Introuction to Internationalization Programming Topics" page找到,它可能有点令人生畏,但是至少在某种程度上浏览那里是值得的。
是的,本地化您的应用程序可能就像将字符串文件从一种语言更改为另一种语言一样简单,但有些语言可能会将几个单词分解为一个句子或从根本上改变对话框的外观(在这种情况下,实际的xib可能需要要进行修改以便在该语言上看起来正确 - 谢天你有特定于语言的资源文件夹,其中包含特定于语言的xib文件,您可以将其放入应用程序包的“资源”区域,等等。因此,您需要熟悉在添加其他语言时可能会出现的潜在问题和陷阱。
答案 2 :(得分:0)
如果翻译人员无法理解“只需用法语中的等效文本替换右边的内容”,他就不应该担任翻译。这很好。最多,明确地告诉他们使用文本编辑器而不是文字处理器 - i。即记事本或Gedit或TextEdit适用,Word,OpenOffice Writer和Pages不适用。
答案 3 :(得分:0)
我们使用了电子表格文件,并将其发送给了翻译人员。译者只需添加一个包含翻译文本的列。请参阅下面的示例文件:
http://members.home.nl/bas.de.reuver/files/multilanguage.zip
或者,您可以使用更方便在线分享的Google文档电子表格。
答案 4 :(得分:0)
apple dev网站上有推荐的翻译机构,其中一些提供与开发环境的集成。请查看tethras.com例如 - http://kb.tethras.com/localizing-your-ios-app。
电子表格是另一种选择,但你应该包括描述或字符串的使用位置和截图,因为上下文是翻译中的一切!应包括任何长度限制(对于较长的字符串,英语为+ 30%,对于较长的字符串为200%,等等),并且还应包括有关如何处理令牌的说明。避免向他们发送任何嵌入了代码的内容,因为它有可能被破坏并提高测试要求。
答案 5 :(得分:0)
这个问题绝对不是iOS独有的 - 它通常与软件本地化有关,我在一家软件公司负责这个问题。这意味着:
我们使用CAT工具执行此操作(CAT =计算机辅助翻译)。在我们的例子中,它是SDL Passolo,但这只是一个例子。以前我们有不同的工具,功能和工作流程几乎相同。
CAT工具旨在确保在翻译期间保留源文件格式。例如,Passolo将默认读取Windows资源DLL或Java属性。它将提取需要翻译的内容并确保其他所有内容(例如字符串ID)都是写保护的。我的Passolo版本不会自动识别iOS格式,但我可以使用正则表达式轻松地为这些文件定义一组规则。
此外,在更新的情况下,我只是导入新的源文件,该工具突出显示不同颜色的新字符串和更改的字符串,并允许我过滤它们。其他所有内容都会自动进行预翻译。这称为翻译记忆库。
我们拥有拥有数万个字符串的Windows客户端,并且每年都会有多次更新。虽然我们可能有语言上不好的翻译,但更新总是快速完成,我们从来没有因为本地化而破坏目标文件或功能问题。
缺点是:这些工具并不便宜(虽然事情有所改善,但在我们的情况下,投资回报非常快)。如果您不想自己购买CAT工具,请确保您与使用这些工具的代理商或翻译人员合作。
您可以查看http://www.proz.com和CAT工具:http://wiki.proz.com/wiki/index.php/Category:CAT_tools。
答案 6 :(得分:0)
我想你可能误解了字符串文件格式。我应该看起来更像这样,每个字符串的注释都要本地化,如本地化指南所示,即
/* Error string used for unknown error types. */
"ErrorString_1" = "An unknown error occurred.";
请务必使用描述性文字填写NSLocalizedString()
的评论字段,即评论的来源。
您应该使用genstrings
工具为您生成字符串文件。
答案 7 :(得分:0)
您可以考虑将DMLocalizedString用于未来的iOS + Android项目。目前该源仅适用于iOS,但我相信制作Android版本非常简单。