Changeset 7294


Ignore:
Timestamp:
10/25/11 10:33:09 (3 years ago)
Author:
wwalc
Message:

CKLangTool can now process language files located in plugins folders.

Location:
CKLangTool/trunk
Files:
5 added
4 edited

Legend:

Unmodified
Added
Removed
  • CKLangTool/trunk/_source/includes/cklangtool.js

    r7089 r7294  
    5656                { 
    5757                        case CKLANGTOOL.FORMAT_JSON: 
    58                                 var translationCode = 'var CKEDITOR = { lang : {} }; ' + CKLANGTOOL.io.readFile( file ); 
     58                                var translationCode = 'var CKEDITOR = { lang : {}, plugins : { setLang : function(plugin, langCode, obj) { CKEDITOR.lang[langCode] = obj; } } }; ' + CKLANGTOOL.io.readFile( file ); 
    5959 
    6060                                var cx = Context.enter(), scope = cx.initStandardObjects(); 
     
    243243                fileOverview :Pattern.compile( " @fileOverview" ), 
    244244                translation :Pattern.compile( "#ckeditor_translation[^#]*?#" ), 
    245                 ckeditorLang :Pattern.compile( "(.*CKEDITOR\\.lang\\[).*?(\\]\\s*=.*)" ) 
     245                ckeditorLang :Pattern.compile( "(.*CKEDITOR\\.lang\\[).*?(\\]\\s*=.*)" ), 
     246                ckeditorSetLang :Pattern.compile( "(.*CKEDITOR\\.plugins\\.setLang\\s*\\(.*?,)\\s*['\"][a-z-]+['\"](.*)" ) 
    246247        }; 
    247248 
     
    440441                                } 
    441442 
     443                                /* 
     444                                 * CKEDITOR.plugins.setLang( 'uicolor', 'en', 
     445                                 */ 
     446                                matcher = regexLib.ckeditorSetLang.matcher( line ); 
     447                                if ( matcher.find() ) 
     448                                { 
     449                                        out.push( matcher.group( 1 ) + "'#ckeditor_translation.__languageCode#'" + matcher.group( 2 ) ); 
     450                                        continue; 
     451                                } 
     452 
    442453                                /*  
    443454                                 * Get rid of all escaped quotes, we don't need the exact content at this stage, just the key. 
  • CKLangTool/trunk/test/test.js

    r7083 r7294  
    11/* 
    2 Copyright (c) 2003-2008, Frederico Caldeira Knabben. All rights reserved. 
     2Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
    44*/ 
     
    9999                        error( "Can't create temp directory: " + tempDir ); 
    100100 
    101                 var tests = [ 'gettext', 'gettext/out', 'jprops', 'jprops/out', 'translator' ]; 
     101                var tests = [ 'gettext', 'gettext/out', 'jprops', 'jprops/out', 'translator', 'translator2' ]; 
    102102 
    103103                for ( var i = 0 ; i < tests.length ; i++ ) 
     
    109109        } 
    110110         
    111         function testTranslator() 
     111        function testTranslator( folder ) 
    112112        { 
    113                 CKLANGTOOL.languageDir = new File( 'tmp/translator' ); 
    114                 CKLANGTOOL.templateFile = new File( 'tmp/translator', 'en.js' ); 
     113                CKLANGTOOL.languageDir = new File( 'tmp/' + folder ); 
     114                CKLANGTOOL.templateFile = new File( 'tmp/' + folder, 'en.js' ); 
    115115                 
    116                 var name = 'translator'; 
    117                 var dir = new File( '_assets/translator' ); 
     116                var dir = new File( '_assets/' + folder ); 
    118117                var dirList = dir.list(); 
    119118                 
     
    135134                        testName = dirList[i].replace( ".correct.txt", "" ); 
    136135 
    137                         tempFile = new File( 'tmp/' + name + '/' + testName ); 
    138                         correctFile = new File( 'tmp/' + name + '/' + testName + '.correct.txt' ); 
     136                        tempFile = new File( 'tmp/' + folder + '/' + testName ); 
     137                        correctFile = new File( 'tmp/' + folder + '/' + testName + '.correct.txt' ); 
    139138 
    140139                        var date = new Date(), 
     
    181180 
    182181        prepareTempDirs(); 
    183         testTranslator(); 
     182        testTranslator('translator'); 
     183        testTranslator('translator2'); 
    184184        testFormat('gettext'); 
    185185        testFormat('jprops'); 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy