正在检查文件/wp-admin/edit-tags.php
, 我们看到它正在使用函数_ex()
转换字符串的步骤Description
.
下列的_ex
路径,我们发现它最终使用了过滤器gettext_with_context
翻译文本。因此,有可能钩住它并修改所需的字符串。
以下代码是@toscho的简化版本Retranslate
plugin. 请检查原始代码,以获得更通用的代码。
作为插件使用,或者只需将代码复制到主题的functions.php
文件<在这个例子中,我们有一个额外的上下文和替换
要解决OP问题,请从两个数组中删除第二个数组项
中的配置值$params_71992
:
context
如中所示/wp-admin/edit-tags.php
replacements
, 原始和所需翻译的字符串taxonomy
, 分类名称,category
, post_tags
或custom-taxonomy
<?php
/*
Plugin Name: Translate Taxonomy Admin Strings
Plugin URI: https://wordpress.stackexchange.com/q/71992/12615
Description: Translate specific strings in admin screens Edit Tag
Version: 0.1
Author: Rodolfo Buaiz
License: GPL v2
*/
/**
Configuration
@params_71992[\'context\'] as defined in /wp-admin/edit-tags.php
@params_71992[\'replacements\'] original text and translation
@params_71992[\'taxonomy\'] name of the taxonomy (category, post_tag, custom_taxonomy)
*/
$params_71992 = array (
\'context\' => array (
\'Taxonomy Description\'
, \'Taxonomy Name\'
)
, \'replacements\' => array (
\'Description\' => \'Title\'
, \'Name\' => \'The Name\'
)
, \'taxonomy\' => \'category\'
);
// Run only in Edit Tags screens
add_action( \'admin_head-edit-tags.php\', \'wpse_71992_register_filter\' );
function wpse_71992_register_filter()
{
add_filter( \'gettext_with_context\', \'wpse_71992_translate\', 10, 4 );
}
function wpse_71992_translate( $translated, $original, $context, $domain )
{
global $params_71992;
// If not our taxonomy, exit early
if( $params_71992[\'taxonomy\'] !== $_GET[\'taxonomy\'] )
return $translated;
// Text is not from WordPress, exit early
if ( \'default\' !== $domain )
return $translated;
// Check desired contexts
if( !in_array( $context, $params_71992[\'context\'] ) )
return $translated;
// Finally replace
return strtr( $original, $params_71992[\'replacements\'] );
}