使用 POEdit 进行翻译,但始终无法读取字符串 (PHP/WordPress)

Using POEdit to translate, but strings not always read (PHP/WordPress)

我使用的 WordPress 插件比我喜欢的多。

我翻译/扩展翻译文件。但是,有些翻译根本不起作用。

现在我正在为WordPress翻译一个插件。无论我做什么,"Save" 这个词都不会出现翻译。其他大多数都有效,但少数翻译无效。

我想知道可能的原因是什么。到目前为止,我唯一的猜测是翻译是以某种方式从另一个翻译文件中读取的,该文件在其索引中定义了相同的词(但未翻译)

但是,还有其他可能的解释吗?这个问题经常让我发疯,我最终只是试图忽略它,但这似乎也是一个糟糕的解决方案:)

. My only guess so far is that the translation is somehow read from a nother translation file that has the same word defined in its index (but not translated)

可能由于某种原因(名称错误、位置错误、在更高优先级位置被同一个文件遮盖)文件没有被选中。第一步:通过更改一些其他翻译来验证情况并非如此。

如果不是,好吧,那么use the Source Luke!去插件源代码中查找字符串。也许字符串根本没有包含在 gettext 函数中。也许是,但在读取文本域之前评估得太早了。或者它可能是从错误的域读取的。甚至来自默认的。我都看过了。关键是,没有人可以检查他们的 crystal 球并告诉你原因是什么 在这种特殊情况下 — 它是不同的。你需要调试它。

但是 "Poedit" 是一个转移注意力的问题,一旦一个字符串在 PO 中(因此在 MO 中)并且它的翻译没有被提取,您的问题是 使用 gettext 的代码plugin/theme/whatever 中的库 ,不是您用来编辑翻译的工具。