【发布时间】:2014-05-19 12:48:09
【问题描述】:
我目前正在将插件从 TinyMCE 3.x 切换到新版本 TinyMCE 4.0.26。我在尝试国际化我的插件标签时遇到了严重的问题。
在我的 plugin.js 中,我通过调用
来加载语言包tinymce.PluginManager.requireLangPack('myplugin');
我的 i18n 文件 langs/de.js 看起来像这样:
tinyMCE.addI18n('de', {
myplugin: {
button : 'Link einf\u00FCgen/bearbeiten',
title : 'Link einf\u00FCgen/bearbeiten'
}
});
当我访问静态上下文时
tinymce.i18n.data.myplugin
我可以看到 button 和 title 两个变量都可用。
问题:
当调用 editor.getLang('myplugin.button') 我得到 {#myplugin.button} 而不是适当的变量值。
我稍微研究了一下源代码,发现它期望语言代码存在于tinyMCE.i18n.data.....中,这是不可用的
getLang: function(name, defaultVal) {
return (
this.editorManager.i18n[(this.settings.language || 'en') + '.' + name] ||
(defaultVal !== undefined ? defaultVal : '{#' + name + '}')
);
},
@见https://github.com/tinymce/tinymce/blob/4.0.26/js/tinymce/classes/Editor.js#L1105
我做错了什么吗?有没有人为新的 TinyMCE 版本创建插件并设法让国际化工作?
【问题讨论】:
-
至少你可以看到可用的变量,在我的身上,对象数据是空的:(到目前为止有什么解决方案吗?我遇到了同样的问题。使用 Tiny 4.1.10。
标签: javascript jquery tinymce tinymce-4