X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fcore%2Fplugins.js;h=fda9c8879820d4697309e7a7663c303fb011b828;hb=a272c66d841421f8bf933c16535bdcde1c4649fc;hp=c9bba7b512a89d2e177ecf47bacde30aff4ffcd5;hpb=48b1db88210b4160dce439c6e3e32e14af8c106b;p=ckeditor.git diff --git a/_source/core/plugins.js b/_source/core/plugins.js index c9bba7b..fda9c88 100644 --- a/_source/core/plugins.js +++ b/_source/core/plugins.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -76,10 +76,28 @@ CKEDITOR.plugins.load = CKEDITOR.tools.override( CKEDITOR.plugins.load, function }; }); +/** + * Loads a specific language file, or auto detect it. A callback is + * then called when the file gets loaded. + * @param {String} pluginName The name of the plugin to which the provided translation + * should be attached. + * @param {String} languageCode The code of the language translation provided. + * @param {Object} languageEntries An object that contains pairs of label and + * the respective translation. + * @example + * CKEDITOR.plugins.setLang( 'myPlugin', 'en', { + * title : 'My plugin', + * selectOption : 'Please select an option' + * } ); + */ CKEDITOR.plugins.setLang = function( pluginName, languageCode, languageEntries ) { var plugin = this.get( pluginName ), - pluginLang = plugin.lang || ( plugin.lang = {} ); + pluginLangEntries = plugin.langEntries || ( plugin.langEntries = {} ), + pluginLang = plugin.lang || ( plugin.lang = [] ); + + if ( CKEDITOR.tools.indexOf( pluginLang, languageCode ) == -1 ) + pluginLang.push( languageCode ); - pluginLang[ languageCode ] = languageEntries; + pluginLangEntries[ languageCode ] = languageEntries; };