在 PO 文件中交换源语言和目标语言(gettext 翻译)

问题描述 投票:0回答:1

读到标题,你会问“你到底为什么要这样做?”...但这一定是一个非常普遍的挑战,我很惊讶没有好的解决方案:

我负责开发一个带有多种GUI语言的解决方案。我的离岸应用程序开发人员不是母语人士,因此 .pot 文件的英文源文本需要翻译成更精致的英文版本。

所以我创建的第一个文件是“en-DEV > en-GB”。现在是第一个棘手的转换,因为显然我想根据“en-GB”版本翻译成其他语言。

这是我第一次需要一个工具来帮助我创建一个以 en-GB 作为源语言的新 .po 文件。多行条目在这里是一个挑战:

#: src/login/Login.tsx:133
#, fuzzy
#| msgid "Document is locked for $1"
msgid "Account is locked for $1 minute"
msgid_plural "Account is locked for $1 minutes"
msgstr[0] "Document is locked for $1"
msgstr[1] "Document is locked for $1"

或者更复杂:

#: src/workflow/workspace/documents/documentsData/functions/deepl-transation/DeeplTranslateModalWindow.tsx:72
msgid ""
"Warning: This document already contain translated text boxes. If you "
"continue, they will be overwritten."
msgid_plural ""
"Warning: This documents already contain translated text boxes. If you "
"continue, they will be overwritten."
msgstr[0] ""
"Warning: This document already contains translated text boxes. If you "
"continue, they will be overwritten."
msgstr[1] ""
"Warning: These documents already contain translated text boxes. If you "
"continue, they will be overwritten."

以菊花链方式连接一些 GREP 语句 我设法交换源文本和目标文本。但这可能已经更容易了。

然后我创建新的空 .po 文件,这些文件现在以 en-GB 作为源,并将它们翻译/将它们翻译成 de-DE、es-ES 和 fr-FR。

现在是真正困难的部分,因为显然最后一步是再次将 en-GB 与 en-DEV 交换,以便 .mo 文件实际上可以在应用程序中正确解析。

这一切都非常令人伤脑筋 - 有人知道做到这一点的最佳实践方法吗?

grep gettext po
1个回答
0
投票

软件开发中管理翻译的常见最佳实践是使用支持管理源语言和目标语言的工作流程的本地化工具或服务。您可以使用 gettext、Crowdin 或 Transifex 等工具。他们可以帮助自动化翻译过程并处理您所描述的复杂性。

© www.soinside.com 2019 - 2024. All rights reserved.