使用 echo 而不是 printf 是使用 .pot 文件和 Poedit 进行字符串翻译的麻烦制造者吗?

Is using echo rather than printf a trouble maker for string translation using .pot file and Poedit?

我想知道在 php 代码中使用 echo 而不是使用 printf() 是否是 .mo 文件的原因或通常翻译的原因文件根本不起作用?

例如:

在我的 php 代码中有这行代码:
echo __('Twinkle Twinkle little star');

其中有双下划线标识符 __().

使用 Poedit 时,我的字符串显示在可翻译字符串列中,所以这不是问题。

总结
echo 会不会导致翻译出现问题,即使 Poedit 可以索引并理解字符串在那里?

提前感谢您的宝贵时间。

echoprintf 与翻译无关。它们只是输出字符串的方法。

翻译由__()函数执行。因此,假设您将语言环境设置为法语并加载了正确的文件:

echo "Hello";
// Hello
echo __("Hello");
// Bonjour

printf("Hello");
// Hello
printf(__("Hello"));
// Bonjour