Javascript 如何在TinyMCE中覆盖语言标签

Javascript 如何在TinyMCE中覆盖语言标签,javascript,jquery,tinymce,rte,Javascript,Jquery,Tinymce,Rte,我想更改TinyMCE中使用的语言标签。例如,“Überschrift 2”->“Überschrift” 我正在使用TinyMCE的jQuery插件版本 有没有一种方法可以在不编辑标签文件的情况下覆盖这些标签?是的,查找'langs'文件夹edit de.js。这是可能的。 我已经使用帮助程序geti18nstring()和set18nstring()处理tinymce.i18n属性,至少对我自己的本地化字符串进行了测试 顺便说一句,这是财产的“完整”文件。:) 代码片段的其余部分使用著名的敏

我想更改TinyMCE中使用的语言标签。例如,“Überschrift 2”->“Überschrift”

我正在使用TinyMCE的jQuery插件版本


有没有一种方法可以在不编辑标签文件的情况下覆盖这些标签?

是的,查找'langs'文件夹edit de.js。

这是可能的。 我已经使用帮助程序geti18nstring()和set18nstring()处理tinymce.i18n属性,至少对我自己的本地化字符串进行了测试

顺便说一句,这是财产的“完整”文件。:) 代码片段的其余部分使用著名的敏捷模式“信任源代码”

// folder: plugins/mycustomtinymceplugin
//
// file: ./langs/en_dlg.js

tinyMCE.addI18n('en.mycustomtinymceplugin_dlg',{charts:"Some charts"});

// file: mycustomtinymceplugin.html <-- opened by ./editor_plugin.js#init ed.windowManager.open({file : url + '/mycustomtinymceplugin.html'
<script>

function geti18nstring( id )
{
    return tinymce.i18n[ tinymce.activeEditor.settings.language + '.mycustomtinymceplugin_dlg.' + id ];
}
function seti18nstring( id, i18nstring )
{
    //just for curiosity if you wan't to modify something in a plugin which is killed after modification
    if( geti18nString( id ) == i18nstring )
    {
    alert( 'id['+id+'] was replaced already with [' + i18nstring +'].' );
    }
    else
    {
    tinymce.i18n[ tinymce.activeEditor.settings.language + '.mycustomtinymceplugin_dlg.' + id ] = i18nstring;
    }
}

function dostuffonpluginstart()
{
    //to get localized strings
    var charts_text = geti18nstring('charts');
    $('#chartlist').append( charts_text );
    ...
    //to manipulate localized strings
    seti18nstring( 'charts', 'karamba' );
    charts_text = geti18nstring('charts');
    $('#chartlist').append( charts_text )
}
</script>
...

<div id"chartlist"></div>
//文件夹:plugins/mycustomtinymceplugin
//
//文件:./langs/en_dlg.js
tinyMCE.addI18n('en.mycustomtinymceplugin_dlg',{charts:“Some charts”});

//文件:mycustomtinymceplugin.html刚刚发现了这个问题,我用以下方法(使用tinyMCE 4.1.x)解决了这个问题:


这样做的目的是在编辑器初始化后用文本覆盖默认值。不需要编辑任何lang文件

没有办法不编辑源文件就可以做到这一点吗?我想把它插入到我创建tinymce实例的脚本中。我相信您可以找到一个解决方法,并以某种方式编辑变量。但是你不能在init上把它们作为参数。最好的方法是编辑lng文件。如果您不想编辑standart文件,请创建一个自定义标签。这肯定是最好的答案,无需进行任何源代码修改Add:您甚至可以为自己使用的标题标签定义新的自定义标签。
tinymce.init({
          language : 'en_GB',
          init_instance_callback : function(editor) {
              tinymce.i18n.data.en_GB['New window'] = 'Open in new tab or window';
              tinymce.i18n.data.en_GB.Target = 'Options';
          }
      });