Printf(__());是如何工作的?

时间:2012-07-02 作者:Denny Mueller

今天我通过一个主题来更好地理解WordPress和模板。我发现:

<?php 
printf( 
    __(\'Designed by %s\', \'Anyword\'), 
    \'<a href="http://www.example.com">Blub</a>\'
); 
?>
我知道它显示的是“由Blub设计”(Blub链接的地方),但__() 或者为什么要插入字符串?Anyword是干什么的?

有人能给我解释一下这句话吗?

1 个回复
最合适的回答,由SO网友:j0k 整理而成

它是用来translate text.

第二个参数是kind of namespace (此处称为域)检索翻译(例如,从专用文件或其他文件)。

所以Anyword 在这里,应该是模板背后的人,或者是公司,或者任何可以是域/命名空间的人。

edit:

wordpress的文档对如何internationalizing a plugin:

将此添加到插件代码以确保加载语言文件:

load_plugin_textdomain(\'your-unique-name\', false, basename( dirname( __FILE__ ) ) . \'/languages\' );
要获取字符串,只需使用__(\'String name\',\'your-unique-name\'); 返回翻译或_e(\'String name\',\'your-unique-name\'); 以回应翻译。翻译将进入插件的/语言文件夹。

对于您的插件/主题your-unique-name 似乎是Anyword.

结束