Как переписать языковые метки в TinyMCE - PullRequest
2 голосов
/ 16 апреля 2010

Я хочу изменить языковые метки, используемые в TinyMCE. Например. "Überschrift 2" -> "Überschrift".

Я использую версию плагинов JQuery для TinyMCE.

Есть ли способ перезаписать эти метки без редактирования файлов меток?

Ответы [ 3 ]

1 голос
/ 27 октября 2011

Это возможно. Я проверил это по крайней мере для моих собственных строк локализации, используя хелперы geti18nstring () и set18nstring () , обрабатывающие свойство tinymce.i18n.

Кстати, вот «полная» документация http://www.tinymce.com/wiki.php/API3:property.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>
1 голос
/ 19 июня 2015

Только что нашел этот вопрос, и я сделал это следующим образом (используя tinyMCE 4.1.x):

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';
          }
      });

То, что это делает, переопределяет значения по умолчанию на ваш текст после инициализации редактора. Нет необходимости редактировать файлы lang

1 голос
/ 16 апреля 2010

да, ищите папку 'langs' edit.js.

...