【问题标题】:How can I translate several HTML files without using Google Translator's Kit如何在不使用 Google Translator's Kit 的情况下翻译多个 HTML 文件
【发布时间】:2012-11-17 22:25:20
【问题描述】:

我需要将几个 PHP 文件(HTML 代码 + PHP 标签)翻译成另一种语言。 Google Translator's Kit 允许这样做,但会清除 PHP 标签,删除 class="" 属性 (?!) 并添加 html、head 标签等等。完全没用。

我如何(最好是批量)使用任何类型的自动翻译服务翻译这些文件?

谢谢。

【问题讨论】:

    标签: php localization internationalization translation


    【解决方案1】:

    bmargulies 是最明确的方法。但是,这需要时间。

    如果您处于紧要关头,或者想偷工减料,一个相对简单的方法是使用正则表达式将您的代码过滤掉您自己。匹配多行(preg 中的 /s 标志),存储匹配,并用哈希替换。任何哈希。只要确保它不映射到任何语言的任何内容。 如果 HTML 标记被证明让 Google 感到厌烦,请对它们执行相同操作。

    用谷歌翻译。

    替换回哈希值。瞧!任务完成!如果您感觉更大胆,与其将哈希替换回去,不如将它们替换为适合 l18n 的结构可能会更值得。

    【讨论】:

    • 这是一种简单实用的方法。我使用 RegEx (?)[[:word:] \.\,\:\!\?_\-()]+?(?=
    【解决方案2】:

    您需要将代码国际化。您需要将所有可翻译的字符串移出到一个单独的文件中,以便您可以通过 Google 将其推送,然后轻松放入结果中。

    研究 PHP I18N 的主题将证明是有益的。

    【讨论】:

      【解决方案3】:

      谷歌翻译工具包是用于文档的 - 而不是源代码。您可以将程序的字符串组织为文档并在 Google 翻译工具包中进行翻译,事实上,有软件项目可以做到这一点,但这是人为的。正如这里的其他人所说,使用不同的方法会更好。

      将可翻译的字符串放在单独的文件中 - 例如,您可以使用 YAML 或 JSON 之类的东西,或者将字符串组织为 PHP 数组(例如,在 MediaWiki 中就是这样做的)。每条消息都应该有一个密钥。对每种语言使用一个文件,或者使用一个包含所有语言的文件,以及按语言分组的字符串。 (顺便说一句,使用 ISO 639-3 语言代码 - 不要自己编造。然后您就可以在 HTML 语言属性中重用它们。)

      这样组织字符串后,编写函数,通过消息键和语言代码从这些文件中加载字符串,并使用这些函数显示消息 - 切勿使用硬编码字符串。

      最后,使用 Pootle、Transifex、Zanata 或 MediaWiki Translate 扩展等软件将您的文件进行翻译。

      (免责声明:我是 MediaWiki 翻译扩展的开发人员。)

      【讨论】:

        【解决方案4】:

        使用类似Gettext(即php-gettext)的东西是恕我直言的最佳方法。另一个广泛使用的选项是简单地将字符串提取到单独的文件(无论是 PHP 还是 JSON)并翻译这些文件。不过,我建议您使用 Gettext,因为您将使用标准格式和各种可用工具。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-10
          • 1970-01-01
          • 2018-11-02
          • 1970-01-01
          • 1970-01-01
          • 2010-09-16
          相关资源
          最近更新 更多