我想更改TinyMCE中使用的语言标签。例如。 “Überschrift2” - > “Überschrift”。
我正在使用TinyMCE的jQuery插件版本。
有没有办法在不编辑标签文件的情况下覆盖这些标签?
答案 0 :(得分:1)
是的,请找'langs'文件夹编辑de.js。
答案 1 :(得分:1)
有可能。 我已经测试了它至少对我自己的本地化字符串,使用帮助 geti18nstring()和 set18nstring()处理tinymce.i18n属性。
BTW,这是属性的“完整”文档http://www.tinymce.com/wiki.php/API3:property.tinymce.i18n。 :) 其余的片段是使用众所周知的敏捷模式“trust-the-source-Luke”完成的。
// 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>
答案 2 :(得分:1)
刚刚发现了这个问题,我是按照以下方式完成的(使用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文件