buddypress的方式很愚蠢,你不应该使用翻译来影响服务器和软件行为,翻译应该只针对标签(昨天刚刚花了一个小时试图找出CPT不起作用的原因,结果是因为它的类型是可翻译的,我翻译了它)。
奥托和奥列格的回答在技术上是正确的,但他们忽略了一个问题——未来的升级。插件的升级最终将丢弃您想要覆盖的字符串,然后您的更改将消失,并且由于此更改不是实际代码的一部分,因此没有人会记住您所做的操作,并且能够再次执行。此外,根据您想要进行的更改的类型和数量,您可能会使插件的任何文档都无法使用。
换言之,您正在分叉插件的代码,升级将在任何情况下扼杀您的更改,因此为什么不在代码级别执行这些操作,这样它们将很容易找到,然后更改插件名称和slug以防止错误升级。
说明:假设原始插件具有<? _e(\'give me money!\',\'text-domain\')?>
你想这样而不是打印“给我钱!”您希望打印“请给我您的钱”,您可以使用其他答案中描述的方法来实现这一点。
某个版本之后,插件的作者决定强调这个句子,并将其替换为<? _e(\'GIVE ME THE MONEY!\',\'text-domain\')?>
, 但新字符串不在作为解决方案一部分使用的修改后的转换表中,因此没有得到预期的“请给我钱”,而是得到了“给我钱!”。这是一个很难弄清楚的bug,因为当它发生时,你会忘记你最初做过什么样的黑客。