找到你要的答案

Q:How to share and work with translators?

Q:如何与译者分享和工作?

Often in our iOS projects we have multiple supported languages. They are stored in standard .string files that look something like:

/* News section */
"news_title" = "News";
"ok_button_title" = "Ok";

This file can of course just be mailed to a non-technical translator who's told "Just replace the stuff to the right with the equivalent text in French". This is not always easy for them to understand, they might open the file in wordpad.exe and save it in a strange format, or generally mess up the file.

How have others solved these problems? Are there tools available that can help?

This might not be unique to iOS development - I suppose Rails, C#, Java developers have the same challenge?

通常我们的iOS我们支持多个语言项目。它们存储在标准字符串文件中,看起来像:

/* News section */
"news_title" = "News";
"ok_button_title" = "Ok";

这个文件当然可以邮寄到一个非技术性的翻译,谁告诉“刚更换的东西权利与对等文本在法国”。这并不总是容易理解的,他们可能在wordpad.exe打开文件并将它保存在一个陌生的格式,或一般混乱的文件。

别人如何解决这些问题?是否有可用的工具可以帮助?

这可能不是iOS开发独特的我想出轨,C #,java开发者同样的挑战?

answer1: 回答1:

https://www.transifex.com/ can handle iOS files. As can other plattforms like this.

https://www.transifex.com/可以处理IOS文件。可这样的其它平台。

answer2: 回答2:

There's a lot of information to be found at Apple's "Introuction to Internationalization Programming Topics" page and it can be a little intimidating, but it would be worth your while to skim through there at least somewhat.

Yes, localizing your app might be as simple as changing string files from one language to another, but some languages can explode a couple words into a sentence or radically alter the appearance of a dialog (in which case the actual xib might need to be modified in order to look proper on that language -- thankfully you have language specific resource folders with language specific xib files that you can drop into the Resources area of your app package, etc.). So you need to be familiar with the potential issues and gotchas that might pop up when you add in additional languages.

有很多信息是在苹果的“基础国际化编程主题”页面,这可能有点吓人,但它会值得你去浏览那里至少有点。

是的,你的应用程序可能会改变本地化字符串文件从一种语言到另一种简单的,但有些语言可能爆炸几个词成句或从根本上改变对话框的外观(在这种情况下,实际的XIB文件可能需要修改以适当的语言看,幸好你有特定的语言资源与特定语言的XIB文件你可以滴在资源领域的应用程序包、文件夹等)。所以你需要了解潜在的问题和陷阱,可能当你添加额外的语言。

answer3: 回答3:

If a translator can't understand "Just replace the stuff to the right with the equivalent text in French", he should probably not be working as a translator. This is just fine. At most, tell them explicitly to use a text editor and not a word processor - i. e. Notepad or Gedit or TextEdit is applicable, Word, OpenOffice Writer and Pages isn't.

如果一个译者不能理解“只需用法语中的等效文本替换右边的东西”,那么他就不应该做翻译工作了。这只是罚款。在大多数,明确地告诉他们使用一个文本编辑器和字处理器-即记事本或gedit或TextEdit适用,Word,OpenOffice的作家和页面不是。

answer4: 回答4:

We worked with a spreadsheet file, which we sent to the translators. And the translator simply adds a column with the translated texts. See example file below:

http://members.home.nl/bas.de.reuver/files/multilanguage.zip

Alternatively, you could use Google docs spreadsheet which is even easier to share online.

我们用电子表格文件,我们发送给翻译。译者只需添加一个列与翻译文本。见下面的示例文件:

http://members.home.nl/bas.de.reuver/files/multilanguage.zip

或者,你可以使用谷歌文档的电子表格更容易在线分享。

answer5: 回答5:

This problem is definitely not unique to iOS - it is related to software localization in general, and I am in charge of this in a software company. This means:

  • I translate user interfaces myself.
  • If I can't do it, maybe one of our offices abroad is able to help, so I will coordinate with them.
  • Or we work with an agency.

We use a CAT tool to do this (CAT = Computer-Aided Translation). In our case, it is SDL Passolo, but that is just an example. Previously we had a different tools, and the feature and workflow were almost identical.

CAT tools are designed to make sure that the source file format is preserved during translation. Passolo will, for example, read Windows resource DLLs or Java Properties by default. It will extract the stuff that needs translation and make sure everything else (string IDs, for example) is write-protected. My version of Passolo wouldn't automatically recognize the iOS format, but I could easily define a set of rules for these files using regular expressions.

In addition, in case of an update, I just import the new source files and the tool highlights new and changed strings in different colors and allows me to filter for them. Everything else is automatically pre-translated. This is called a translation memory.

We have Windows clients with ten thousands of strings and there are updates several times a year. While we may have had linguistically bad translations, updates werde always done quickly and we never ever had broken target files or functional problems due to localization.

The downside is: these tools are not cheap (though things have improved a bit and in our case, the investment payed off really fast). If you don't want to buy a CAT tool yourself, make sure you work with an agency or a translator who is using these tools.

You may wish to check out http://www.proz.com, and on CAT tools: http://wiki.proz.com/wiki/index.php/Category:CAT_tools.

这个问题绝对不是唯一的iOS -这是在一般的软件本地化相关的,我是负责这一软件公司。这意味着:

  • I translate user interfaces myself.
  • If I can't do it, maybe one of our offices abroad is able to help, so I will coordinate with them.
  • Or we work with an agency.

我们使用一个猫工具来做这个(猫=计算机辅助翻译)。在我们的例子中,它是SDL PASSOLO,但这只是一个例子。以前我们有不同的工具,功能和工作流程几乎相同。

CAT工具旨在确保在翻译过程中保存源文件格式。Passolo,例如,默认情况下读取windows资源DLL或java性能。它将提取需要翻译的东西,并确保所有其他(例如字符串ID)都是写保护的。我的版本的软件本地化工具不会自动识别iOS格式,但我可以很容易地定义一组对这些文件使用正则表达式规则。

此外,在更新的情况下,我只是导入新的源文件和工具突出了新的和改变字符串在不同的颜色,并允许我为他们过滤。其他一切都自动翻译。这被称为翻译记忆。

我们有十个字符串的Windows客户端,并有更新几次一年。虽然我们可能有语言翻译的很不好,更新会总是迅速完成,我们永远不会打破了目标文件或功能问题,由于定位。

缺点是:这些工具并不便宜(虽然事情已经改善了一点,在我们的情况下,投资回报的真快)。如果你自己不想买一个猫工具,确保你与一个机构或一个翻译谁使用这些工具的工作。

你不妨看看http://www.proz.com,和CAT工具:HTTP:/ /维基,个人网站/维基/ PHP /类别:cat_tools指数。

answer6: 回答6:

I think you maybe misunderstood the strings file format. I should look more like this, with a comment for each string to be localized, as shown in the localization guidelines, i.e.

/* Error string used for unknown error types. */ 
"ErrorString_1" = "An unknown error occurred.";

Make sure you fill out the comment field of NSLocalizedString() with descriptive text, thats where the comment comes from.

This page looks helpful: https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/NotesForLocalizers.html

You should use the genstrings tool to generate the strings file for you.

我想你可能误解了字符串文件格式。我应该更像这样,对每个字符串进行本地化注释,如本地化指南所示。

/* Error string used for unknown error types. */ 
"ErrorString_1" = "An unknown error occurred.";

确保你填写描述性文本nslocalizedstring()评论领域,这是从哪里来的评论。

这样的页面看起来有帮助:https: / /开发商。苹果。COM /图书馆/ Mac / #文件/ MacOSX /概念/ bpinternational /文章/ notesforlocalizers.html

你应该用genstrings工具生成的字符串文件给你。

answer7: 回答7:

There are recommended translation agencies on the apple dev site, some of them offering integrations with the dev environment. Check out tethras.com for example - http://kb.tethras.com/localizing-your-ios-app.

Spreadsheets are another option, but you should include descriptions or where the strings are used and screenshots too, as context is everything in translation! Any length restrictions should be included (+30% expansion over English for longer strings, 200% for short, etc) and instructions on how to deal with tokens should also be included. Avoid sending them anything with code embedded as it risks being broken and ups the testing requirement.

有推荐翻译机构在苹果开发者网站,他们中的一些人提供的集成开发环境。看看tethras.com例如http://kb.tethras.com/localizing-your-ios-app。

电子表格是另一种选择,但你应该包括描述或使用的字符串和截图,因为上下文是翻译中的一切!任何长度限制应包括(+ 30%扩展的英文较长的字符串,200%短,等)和指示如何处理令牌也应包括在内。避免发送代码嵌入的任何东西,因为它有被破坏和测试需求的缺陷。

answer8: 回答8:

You may consider DMLocalizedString for your future iOS+Android project. Currently the source is for iOS only, but I believe that making the Android version is pretty easy.

你可能会考虑你未来的dmlocalizedstring iOS + Android项目。目前只有来源于iOS,但我相信Android版本是很容易的。

answer9: 回答9:

I've developed an online tool called lokaligo.com. It can handle iOS and Android projects, and allows you to invite your own translators.

It can also take screenshots automatically on iOS.

我已经开发了一个在线工具称为lokaligo.com。它可以处理iOS和Android项目,并允许你邀请自己的翻译。

它还可以自动在iOS截图。

ios  localization