我需要通过以下方式修改本地化(捷克)Wordpress中评论表单中姓名和电子邮件字段的标签:
Emailová adresa => Email
Webová stránka => Web
我所做的是我打开了
wp-content\\languages\\cs_CZ.po
在poEdit中,找到字符串并编译的新版本
cs_CZ.mo
. 它工作得很好。
然而,我想象,当新版本的Wordpress问世,本地化团队发布新版本的本地化文件时,我的更改将被覆盖,对吗?
所以问题是,how to change the localized strings in a future-proof way?
我在想,也许注释机制提供了一些钩子来替换这两个标签,这样我就可以创建*。采购订单和*。我的主题目录中的mo文件,但这似乎并不普遍适用。更好的做法是创建如下文件cs_CZ-custom.mo
这将能够覆盖主语言文件中已经定义的值,但我不确定WordPress是否支持这一点。
有什么建议吗?
最合适的回答,由SO网友:helgatheviking 整理而成
我想你需要gettext过滤器。直接摘自《法典》,以下是一个例子:
add_filter( \'gettext\', \'theme_change_comment_field_names\', 20, 3 );
/**
* Change comment form default field names.
*
* @link http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
*/
function theme_change_comment_field_names( $translated_text, $text, $domain ) {
if ( is_singular() ) {
switch ( $translated_text ) {
case \'Name\' :
$translated_text = __( \'First Name\', \'theme_text_domain\' );
break;
case \'Email\' :
$translated_text = __( \'Email Address\', \'theme_text_domain\' );
break;
}
}
return $translated_text;
}
http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext#Change_the_Comment_Form