Php Poedit-从源更新-不使用常量

Php Poedit-从源更新-不使用常量,php,symfony,po,poedit,Php,Symfony,Po,Poedit,上下文: 我目前有一个混合应用程序。 我一直在使用poedit作为工具在.po文件中生成密钥,到目前为止,一切正常 虽然我遇到了一个奇怪的情况,但我在网上找不到任何相关的东西。你是我最大的希望,克诺比 说明: 我目前正在重构一些代码,并评估了在整个应用程序中重复出现的许多错误消息 我已经创建了一些常量来这样使用 public const ERROR_UNKNOWN = 'An stupid error happenned, but we don't know why'; 然后,我在控制器中工作

上下文: 我目前有一个混合应用程序。 我一直在使用poedit作为工具在.po文件中生成密钥,到目前为止,一切正常

虽然我遇到了一个奇怪的情况,但我在网上找不到任何相关的东西。你是我最大的希望,克诺比

说明: 我目前正在重构一些代码,并评估了在整个应用程序中重复出现的许多错误消息

我已经创建了一些常量来这样使用

public const ERROR_UNKNOWN = 'An stupid error happenned, but we don't know why';
然后,我在控制器中工作,以显示正确的错误消息

//some code
$this->translator->translate(self::ERROR_UNKNOWN);
//more code
问题:执行此操作时,密钥不再位于.po文件中

有人遇到过这种情况吗?你有没有找到解决办法使事情顺利进行? 我还没看到有人在网上谈论这件事。希望这里有人找到什么


祝您度过愉快的一天,感谢您阅读

所以我想您想要的是
xgettext
来解析变量

扰流板:没那么容易(afaik)

我能想到的最好办法就是用这种方式欺骗它解析密钥:


您可以在一个专用字典(即
xgettext
“parsable”)中列出所有可能的错误,并且只将键存储在常量中

,但您不会将字符串作为参数传递,是吗?否,因为拥有常量的目的不是复制所述字符串。如果我必须写两次,整个重构就没有意义了。我明白了,但是你不能使用常量,否则你就必须改变你的工具。