使用过滤器\'mce_external_languages\'
. 从…起wp-includes/class-wp-editor.php
:
下面的过滤器为TinyMCE插件加载外部语言文件。它采用关联数组“plugin\\u name”=>“path”,其中path是文件的包含路径。语言文件的格式应与/tinymce/langs/wp-langs.php
并且应该定义一个变量$strings,该变量保存所有已翻译的字符串。未使用此筛选器时,函数将尝试加载{mce_locale}.js
. 如果未找到,则为en。接下来将尝试js。
$mce_external_languages = apply_filters(\'mce_external_languages\', array());
我只需要一份
wp-includes/js/tinymce/langs/wp-langs.php
… 放下那些多余的
mce_escape()
支持原件
esc_js()
.
示例文件:
<?php # -*- coding: utf-8 -*-
$strings = \'tinyMCE.addI18n(
{\' . _WP_Editors::$mce_locale . \'.extrastrings:
{
helloworld: "\' . esc_js( __( \'Hello World\', \'my_plugin_text_domain\' ) ) . \'",
foobar: "\' . esc_js( __( \'Foo Bar\', \'my_plugin_text_domain\' ) ) . \'"
}
}
)\';
在插件中,您只需使用:
add_filter( \'mce_external_languages\', \'wpse_44785_add_tinymce_lang\', 10, 1 );
function wpse_44785_add_tinymce_lang( $arr )
{
$arr[] = \'full_path_to_lang_file.php\';
return $arr;
}
要访问JavaScript中的新字符串,请使用以下示例:
title : ed.getLang(\'extrastrings.helloworld\')