code: function( editor ) {
  		var pluginName = 'specialchar',
  			plugin = this;
  
  		// Register the dialog.
  		CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/specialchar.js' );
  
  		editor.addCommand( pluginName, {
  			exec: function() {
  				var langCode = editor.langCode;
  				langCode =
  					plugin.availableLangs[ langCode ] ? langCode :
  					plugin.availableLangs[ langCode.replace( /-.*/, '' ) ] ? langCode.replace( /-.*/, '' ) :
  					'en';
  
  				CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( plugin.path + 'dialogs/lang/' + langCode + '.js' ), function() {
  					CKEDITOR.tools.extend( editor.lang.specialchar, plugin.langEntries[ langCode ] );
  					editor.openDialog( pluginName );
  				} );
  			},
  			modes: { wysiwyg: 1 },
  			canUndo: false
  		} );
  
  		// Register the toolbar button.
  		editor.ui.addButton && editor.ui.addButton( 'SpecialChar', {
  			label: editor.lang.specialchar.toolbar,
  			command: pluginName,
  			toolbar: 'insert,50'
  		} );
  	}
docs: %REMOVE_LINE_CORE%