java - 典型的java i18n流程——将资源文件发送给翻译公司进行翻译

标签 java internationalization resourcebundle

关于使用 Java ResourceBundle 提供多种语言的 UI 的教程很多。但是,关于与翻译公司的典型互动,有一个流程问题,我似乎找不到答案。

例如,假设我不懂法语,需要聘请翻译公司为我的应用程序翻译,我会发送给他们吗

  1. 默认资源属性文件“whatever_en_US.properties”包括键和英文值,并取回“whatever_fr_FR.properties”?
  2. 具有空值的“whatever_fr_FR.properties”和“whatever_en_US.properties”以供引用?
  3. 一些其他组合?

最佳答案

既然你的问题是关于过程而不是关于技术,我会尽量给你详尽的解释。假设您的申请没有以前的翻译,理想的流程应该是这样的:

  1. 发送英文文件进行翻译。根据您与翻译承包商的协议(protocol),您可以使用:

    • 您的默认属性文件(您将负责正确重命名它们)
    • Excel 电子表格,包含关键字、英文短语和一个用于翻译的空列
    • Gettext *.po 文件(如果您要使用 gettext)
    • 翻译内存库文件(即 Trados *.tmx 文件)
  2. 当您收到返回的文件时,您将这些翻译放入产品中,创建本地化版本并进行测试。当然,会有一些 UI 问题。其中一些你可以自己修复,一些需要额外的翻译(比如硬编码字符串),其他的需要缩短翻译。同样,您将聘请翻译承包商并向他们提供需要(重新)翻译的字符串。这里可以使用电子表格(前提是需要翻译的字符串不多)。

  3. 如果您想同时发货(一次所有语言),您需要尽早聘请翻译人员。由于 UI 字符串会更改(假设没有硬 UI 卡住期或翻译卡住期),您将必须更新您的翻译。在这种情况下,您需要为已翻译的文件提供需要翻译的字符串(英文)。如果变化真的很小,你可以只发送英文字符串并手动合并翻译,否则最好使用某种翻译内存交换格式(gettext *.po 或 trados *.tmx 在这里很棒)。

  4. 翻译文件通常是不够的。由于通常没有给出上下文,不同的词在目标语言中可能有不同的意思,因此会出现翻译错误。除非您懂该语言,否则无法知道它们在其中。这就是为什么您需要截取 UI 屏幕截图并将其发送出去以供审核(可以由您的翻译承包商或其他人根据质量要求进行审核)。

  5. 审核后,您将需要应用翻译更改并测试 UI 问题...

如果我们谈论的是 UI 字符串翻译过程,那就差不多了。但请注意,正确本地化应用程序还有很多(文档、帮助文件、图标、颜色、声音...)。

关于java - 典型的java i18n流程——将资源文件发送给翻译公司进行翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3721882/

相关文章:

java - 以相反的顺序对集合进行排序

java - 干净地停止线程

ios - 基于 Iphone 电话号码格式化语言环境

html - CSS反转整个网站(镜像效果)

spring - JSF - 来自 Spring bean 和数据库的资源包

java - Java资源包放在项目环境中的什么位置

java - 如何避免 Java ResourceBundle 字符串中的重复?

java - Runtime.getRuntime().exec ("path to file") 运行,但程序行为奇怪

java - Spring RestTemplate 连接超时不起作用

html - 关于国际化字符串中 HTML 标签的最佳实践是什么?