mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-08-27 21:15:40 +02:00
92 lines
2.4 KiB
JavaScript
92 lines
2.4 KiB
JavaScript
|
/**
|
|||
|
* $Id: Developer.js 520 2008-01-07 16:30:32Z spocke $
|
|||
|
*
|
|||
|
* @author Moxiecode
|
|||
|
* @copyright Copyright <EFBFBD> 2004-2008, Moxiecode Systems AB, All rights reserved.
|
|||
|
*/
|
|||
|
|
|||
|
(function() {
|
|||
|
var EditorManager = tinymce.EditorManager, each = tinymce.each, DOM = tinymce.DOM;
|
|||
|
|
|||
|
/**
|
|||
|
* This class patches in various development features. This class is only available for the dev version of TinyMCE.
|
|||
|
*/
|
|||
|
tinymce.create('static tinymce.Developer', {
|
|||
|
_piggyBack : function() {
|
|||
|
var t = this, em = tinymce.EditorManager, lo = false;
|
|||
|
|
|||
|
// Makes sure that XML language pack is used instead of JS files
|
|||
|
t._runBefore(em, 'init', function(s) {
|
|||
|
var par = new tinymce.xml.Parser({async : false}), lng = s.language || "en", i18n = tinymce.EditorManager.i18n, sl = tinymce.ScriptLoader;
|
|||
|
|
|||
|
if (!s.translate_mode)
|
|||
|
return;
|
|||
|
|
|||
|
if (lo)
|
|||
|
return;
|
|||
|
|
|||
|
lo = true;
|
|||
|
|
|||
|
// Common language loaded
|
|||
|
sl.markDone(tinymce.baseURL + '/langs/' + lng + '.js');
|
|||
|
|
|||
|
// Theme languages loaded
|
|||
|
sl.markDone(tinymce.baseURL + '/themes/simple/langs/' + lng + '.js');
|
|||
|
sl.markDone(tinymce.baseURL + '/themes/advanced/langs/' + lng + '.js');
|
|||
|
|
|||
|
// All plugin packs loaded
|
|||
|
each(s.plugins.split(','), function(p) {
|
|||
|
sl.markDone(tinymce.baseURL + '/plugins/' + p + '/langs/' + lng + '.js');
|
|||
|
});
|
|||
|
|
|||
|
// Load XML language pack
|
|||
|
par.load(tinymce.baseURL + '/langs/' + lng + '.xml', function(doc, ex) {
|
|||
|
var c;
|
|||
|
|
|||
|
if (!doc) {
|
|||
|
alert(ex.message);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (doc.documentElement.nodeName == 'parsererror') {
|
|||
|
alert('Parse error!!');
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
c = doc.getElementsByTagName('language')[0].getAttribute("code");
|
|||
|
|
|||
|
each(doc.getElementsByTagName('group'), function(g) {
|
|||
|
var gn = g.getAttribute("target"), o = {};
|
|||
|
|
|||
|
// Build object from XML items
|
|||
|
each(g.getElementsByTagName('item'), function(it) {
|
|||
|
var itn = it.getAttribute("name");
|
|||
|
|
|||
|
if (gn == "common")
|
|||
|
i18n[c + '.' + itn] = par.getText(it);
|
|||
|
else
|
|||
|
i18n[c + '.' + gn + "." + itn] = par.getText(it);
|
|||
|
});
|
|||
|
});
|
|||
|
}, {
|
|||
|
async : false
|
|||
|
});
|
|||
|
});
|
|||
|
},
|
|||
|
|
|||
|
_runBefore : function(o, n, f) {
|
|||
|
var e = o[n];
|
|||
|
|
|||
|
o[n] = function() {
|
|||
|
var s = f.apply(o, arguments);
|
|||
|
|
|||
|
if (s !== false)
|
|||
|
return e.apply(o, arguments);
|
|||
|
};
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
tinymce.Developer._piggyBack();
|
|||
|
})();
|
|||
|
|