我正在将TinyMCE 3.x插件迁移到4.x
该插件使用多个由单个HTML文件定义的对话框。这些文件中包含国际化字符串,例如,
<select id="reading" name="reading">
<option value="corr">{#wce.correction}</option>
<option value="comm">{#wce.commentary}</option>
<option value="alt">{#wce.alternative}</option>
</select>在TinyMCE 3.x中,弹出式插件似乎是通过tinymce的翻译工具来运行此内容的,但使用4.x时,调用:
tinymce.activeEditor.windowManager.open字符串不会被翻译。
有什么建议吗?
发布于 2016-03-15 03:58:55
好了,看看3.x的tinymce_popup代码,我已经抓取了适当的行,现在正在我的对话html文件中这样做:
$(document).ready(function() {
translate();
});
function translate() {
var c=document.body.innerHTML;
var d=document.title;
var a;
if(top.tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}
a=c.replace(/\{\#([^\}]+)\}/g, function(a, b) {
var c=top.tinymce.translate(b);
return (c != b) ? c : '{#' + b + '}';
});
if(a!=c){document.body.innerHTML=a}
a=d.replace(/\{\#([^\}]+)\}/g, function(a, b) {
var c=top.tinymce.translate(b);
return (c != b) ? c : '{#' + b + '}';
});
if(a!=d){document.title=d=a}
}我还必须编辑我的插件区域设置文件,以便从字符串的注册中删除插件名称。例如,来自:
tinyMCE.addI18n('en.wce',{
'key' : 'value',
...至
tinymce.addI18n('en',{
'key' : 'value',
...以及我所有的
{#wce.tokens}简单地说
{#tokens}在我的HTML中。
这让我现在大部分时间都在工作。希望对其他人有帮助。
https://stackoverflow.com/questions/35980448
复制相似问题