如果要在文本中翻译变量,通常的方法是使用如下字符串格式:
<?php
printf(__("text %s text2."), $message);
?>
带整数:
<?php
printf(__("text %d text2."), $count);
?>
具有多个占位符:
<?php
printf(__("text %1$s text2 %2$S."), $message, $message2);
?>
但变量本身不会以任何方式转换。
WPML以前不运行代码__();
或_e();
函数它只在文件中搜索它们,这就是为什么当您编写以下内容时:
$message = \'test\'; // here I get the information of the DB
__($message, \'my-plugin\');
WPML只看到
__($message, \'my-plugin\');
其中$消息为空。