Switch language of CKEditor automatically

This commit is contained in:
2015-07-29 09:30:36 +02:00
parent 47fe408f50
commit e9da213026
3 changed files with 45 additions and 11 deletions
+2 -2
View File
@@ -7,12 +7,12 @@ CKEDITOR.editorConfig = function( config ) {
// %REMOVE_START%
// The configuration options below are needed when running CKEditor from source files.
config.plugins = 'dialogui,dialog,about,a11yhelp,dialogadvtab,basicstyles,bidi,blockquote,clipboard,button,panelbutton,panel,floatpanel,colorbutton,colordialog,templates,menu,contextmenu,div,resize,toolbar,elementspath,enterkey,entities,popup,filebrowser,find,fakeobjects,flash,floatingspace,listblock,richcombo,font,forms,format,horizontalrule,htmlwriter,iframe,wysiwygarea,image,indent,indentblock,indentlist,smiley,justify,menubutton,language,link,list,liststyle,magicline,maximize,newpage,pagebreak,pastetext,pastefromword,preview,print,removeformat,save,selectall,showblocks,showborders,sourcearea,specialchar,scayt,stylescombo,tab,table,tabletools,undo,wsc,lineutils,widget,imagepaste';
config.plugins = 'dialogui,dialog,about,a11yhelp,dialogadvtab,basicstyles,bidi,blockquote,clipboard,button,panelbutton,panel,floatpanel,colorbutton,colordialog,templates,menu,contextmenu,div,resize,toolbar,elementspath,enterkey,entities,popup,filebrowser,find,fakeobjects,flash,floatingspace,listblock,richcombo,font,forms,format,horizontalrule,htmlwriter,iframe,wysiwygarea,image,indent,indentblock,indentlist,smiley,justify,menubutton,language,link,list,liststyle,magicline,maximize,newpage,pagebreak,pastetext,pastefromword,preview,print,removeformat,save,selectall,showblocks,showborders,sourcearea,specialchar,scayt,stylescombo,tab,table,tabletools,undo,wsc,lineutils,widget,image2,imagepaste';
config.skin = 'moono';
// %REMOVE_END%
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.language = 'de';
// config.uiColor = '#AADC6E';
config.customConfig = '../ckeditor-config.js'
};
+1 -1
View File
@@ -70,7 +70,7 @@ $(document).ready(function() {
});
// Replace the textarea with the CKeditor
CKEDITOR.replace('Text');
CKEDITOR.replace('Text', { language: CKEditorLang });
// Workaround function for the drag and drop events, it disallows
// dragstart and dragend events firing for each child elements of a specific elements.
+42 -8
View File
@@ -183,6 +183,32 @@ struct {
"", ""},};
struct {
char language[32];
char abbrev[32];
} lang_table[] = {
{ "brazilian", "br"},
{ "bulgarian", "bg"},
{ "czech", "cz"},
{ "danish", "dk"},
{ "dutch", "nl"},
{ "french", "fr"},
{ "german", "de"},
{ "indonesia", "id"},
{ "italian", "it"},
{ "japanese", "jp"},
{ "polish", "pl"},
{ "ru_CP1251", "ru"},
{ "slowak", "sk"},
{ "spanish", "es"},
{ "swedish", "se"},
{ "turkish", "tr"},
{ "zh_CN-GB2314", "zh"},
{ "zh_CN-UTF8", "zh"},
{ "", "" }
};
char _convert_cmd[256];
char _identify_cmd[256];
@@ -10342,23 +10368,31 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
/* ToggleAll() to toggle MOptions buttons */
rsprintf("function ToggleAll(attrib)\n");
rsprintf(" {\n");
rsprintf(" for (var i = 0; i < document.form1.elements.length; i++)\n");
rsprintf(" {\n");
rsprintf("{\n");
rsprintf(" for (var i = 0; i < document.form1.elements.length; i++) {\n");
rsprintf(" if (document.form1.elements[i].type == 'checkbox' && document.form1.elements[i].disabled == false) {\n");
rsprintf(" a = document.form1.elements[i].name;\n");
rsprintf(" a = a.substring(0, attrib.length);\n");
rsprintf(" if (a == attrib)\n");
rsprintf(" document.form1.elements[i].checked = !(document.form1.elements[i].checked);\n");
rsprintf(" }\n");
rsprintf(" }\n");
rsprintf(" }\n\n");
rsprintf(" }\n");
rsprintf("}\n\n");
/* language for CKEDITOR */
if (getcfg("global", "language", str, sizeof(str))) {
for (i=0 ; lang_table[i].language[0] ; i++)
if (stricmp(str, lang_table[i].language) == 0)
break;
if (lang_table[i].language[0])
rsprintf("var CKEditorLang = '%s';", lang_table[i].abbrev);
}
/* strings for elcode.js */
if (enc_selected == 0) {
rsprintf("linkText_prompt = \"%s\";\n", loc("Enter name of hyperlink"));
rsprintf("linkURL_prompt = \"%s\";\n", loc("Enter URL of hyperlink"));
rsprintf("linkHeading_prompt = \"%s\";\n", loc("Enter heading level (1, 2 or 3)"));
rsprintf("var linkText_prompt = \"%s\";\n", loc("Enter name of hyperlink"));
rsprintf("var linkURL_prompt = \"%s\";\n", loc("Enter URL of hyperlink"));
rsprintf("var linkHeading_prompt = \"%s\";\n", loc("Enter heading level (1, 2 or 3)"));
}
show_browser(browser);