【问题标题】:Make a translation for PO files为 PO 文件进行翻译
【发布时间】:2011-11-25 23:01:51
【问题描述】:

我们正在开发 PHP 中的 Web 应用程序,并使用 gettext 来处理字符串以进行翻译。这是我的问题,我们现在正在苦苦挣扎。

如果我们对字符串使用某种单词/id,例如“menu-feature”,并且我们想用英文将其显示为“Our main Features”,我们当然可以这样做,例如第一个英文翻译将是由有权访问应用程序的人制作。因此,我们将准备好“EN” po 文件。 但是,如果我们想将其发送给其他翻译,例如挪威语,那么此人将再次看到我们的“ID”。他/她如何通过该 ID 准确找到我们的想法??

我们对使用 PO 文件有什么不好的想法吗?有什么好办法让它正确吗?

【问题讨论】:

    标签: php localization translation multilingual gettext


    【解决方案1】:

    通常的做法是使用默认语言中的整个实际字符串作为 msgid,这正是您列出的原因:翻译人员很难弄清楚每个占位符背后的含义。

    也就是说,您可以将 cmets 添加到每个 id 中,作为对翻译者的提示。我认为这些行以 .po 文件中的 # 开头。他们还应该出现在 Poedit、Virtaal 或他们正在使用的任何东西中。

    【讨论】:

    • 是的,我们也是这么想的,但是如果我们想更改英文网站上的文本,我们必须更改字符串的 ID,这会弄乱所有其他翻译。
    • 视情况而定。如果您只需要稍微更改措辞,您只需创建一个实际的英语 .po 文件,而不是让它退回到 msgid。如果你改变意思,你无论如何都必须改变所有的翻译。
    • 好点。我们正在考虑其他解决方案,但我们担心这有点“复杂”。制作一个英文文件,然后使用英文翻译作为翻译器的ID(Id->EN-id)到其他语言,翻译后匹配EN-Id->Id->other-translation。这种脚本制作起来并不难,它会在代码中保留实际使用的 ID,并为翻译人员提供更好的概览。
    【解决方案2】:

    好久没用poedit了,为什么不直接把英文文件复制一下,叫挪威语,导入poedit开始编辑呢?

    【讨论】:

    • 因为我们想使用 pasolo,您可以在其中使用自动翻译工具、模糊翻译等,而且据我所知,它作为源“源字符串”未翻译。
    猜你喜欢
    • 2021-01-13
    • 2017-11-02
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 2018-12-13
    • 1970-01-01
    相关资源
    最近更新 更多