1. 首页
  2.  » 
  3. 文档
  4.  » 
  5. LP Translate
  6.  » 
  7. 翻译模板

翻译模板

在 LP Translate 中处理 POT 文件

不要与 WordPress 模板(它们是 PHP 文件)混淆,POT 文件基本上是一个没有任何翻译的 PO 文件。如果您不熟悉 Gettext 工作流程,以下是 POT 文件用途的基本要点:

  1. 作者编写了一些包含可翻译字符串的 PHP 代码(源文本);
  2. 作者生成一个 POT 文件,告诉翻译软件哪些字符串可用;
  3. 翻译人员从模板创建新的语言文件,以便他们拥有正确的字符串;
  4. 如果作者更新模板,翻译人员可以 同步 他们的文件以反映任何更改。

我需要模板吗?

您可能认为上面的第 2 步有点多余。为什么不直接从源代码创建翻译文件?LP Translate 可以做到这一点,但我们建议在大多数情况下不要这样做:

  1. 可靠性
    如果没有模板,就不能保证字符串提取能够正常工作。作者可以随心所欲地编写代码,即使这意味着其他软件无法理解。如果他们自己提供了模板,那么这不是问题。
  2. 速度
    扫描可翻译字符串的源代码可能很慢。您不会注意到小包的区别,但是对于跨许多源文件的数千行代码,您确实会注意到。即使读取大型 POT 文件也非常快。
  3. 内存
    扫描特别大的源文件会占用大量内存。如果您对共享服务器有严格的内存限制,您可能会发现它需要的比您拥有的要多。请参阅有关 内存崩溃 的常见问题解答。
  4. 权威
    POT 文件是作者告诉您什么是可正式翻译的方式 – 没有参数。他们可能对源代码进行了更改,但在这些更改完成并提供新模板之前,模板是可用字符串的规范来源。
  5. 公约
    这是一个Gettext的约定有一个模板文件。WordPress 不需要它,但大多数 Gettext 软件没有它就无法运行。出于最佳实践的考虑,我们建议作者在其捆绑包的每个版本中都附带一个最新的 POT 文件。只是对翻译人员很友好。

如果没有模板怎么办?

作者没有义务提供模板,而且通常也没有。WordPress 不再在核心代码库或其主题中提供翻译模板。如果没有模板文件,您的选择是:

  1. 直接从源代码创建翻译文件。(不建议)
  2. 从源代码生成模板。(如果你知道你在做什么)
  3. 请作者提供模板。(最好,但通常是最慢的选择)
  4. 选择一个现有的翻译文件作为模板。(在可能的情况下推荐)

我应该创建一个模板吗?

在许多情况下,生成模板文件很简单。遵循 WordPress 标准的主题和简单插件通常可以快速且无错误地提取。但是,有些产品更复杂。插件可能有非常大的文件,大量使用 JavaScript,或者附带某种有自己翻译的框架。有很多陷阱,所以通常我们不建议提取字符串,除非您是作者。

如果您决定从其他人的代码创建模板(或直接从源代码同步),那么您很可能会在某个时候遇到困难。请注意,我们不提供有关源代码的帮助,其中包括调试第三方主题或插件以找出未提取源字符串的原因。

有关此主题的更多信息,请参阅 从源代码中提取可翻译字符串

选择替代模板

作者经常为模板使用非常规名称,您可能会发现它隐藏在显眼的地方。如果您看到一个名为"default.po"or的文件,"en_US.po"那么很可能作者打算将其用作模板。我们不会自动使用不遵守约定的文件,但您可以 配置 要使用的任何文件。

即使没有这样的官方模板,LP Translate 也可以使用任何 PO 文件作为替代模板。如上配置,或在仪表板中找到它并单击“复制”。在我们的 自定义翻译 指南和关于 缺少模板 的常见问题解答中有一个这样做的例子。

如果您安装了社区翻译并且只想覆盖某些字符串,则使用现有翻译文件是一种特别好的方法。如果 PO 文件来自 WordPress 翻译社区,那么它作为最新模板可能是可靠的。我们建议您始终在编辑 WordPress 核心翻译时执行此操作,并在可以编辑插件和主题时执行此操作。

我应该编辑还是同步模板?

LP Translate 允许您手动编辑模板,并在可用字符串更改时将它们与源代码同步。如果你不是包的作者,你应该避免做这两件事。

  • 将字符串添加到 POT 文件不会使它们可翻译。作者还必须将字符串添加到他们的代码中。
  • 除非您是作者,否则我们不建议将 POT 文件与源代码同步。

如果您决定编辑或同步作者的模板,请注意您可能会覆盖作者打算翻译的字符串。如果您通过修改作者的文件破坏了功能,我们将无法提供任何帮助。

有关同步模板的更多信息,请参阅 同步功能

如何知道模板是否是最新的?

作者发布源代码的新版本而不更新他们提供的模板的情况并不少见。不能保证 在 LP Translate 编辑器中打开模板并单击“同步” 。这使得很难知道模板是否准确。

您可以通过打开“源”选项卡并单击每个字符串随附的文件引用之一来抽查文件的准确性。弹出的突出显示的代码行应该包含提取它的确切行上的确切字符串。如果它不对齐,则该文件不是最新的代码。

如果您发现模板中的字符串不在您的站点上(反之亦然),则向作者报告这是一个错误。

我应该将我的翻译与模板同步吗?

如果提供了模板——并且你信任它——那么是的

您只需要在修改模板后执行此操作。这通常意味着在 WordPress 更新之后。如果 PO 文件已过期,LP Translate 会警告您并提示您单击同步。

单击编辑器中的同步将添加任何新字符串并删除所有旧字符串。在您单击“保存”之前,此时不会保存任何内容,因此出于好奇同步文件是完全安全的。您始终可以放弃发生的任何更改。

有关此主题的更多信息,请参阅 同步功能

该文章对您有帮助吗?

需要什么帮助?

加入 LitePress 手册资源 ,参与知识分享与交流
登录 注册 进行评论
立即加入