Ticket #4740: 4740.patch
File 4740.patch, 16.8 KB (added by , 15 years ago) |
---|
-
_source/includes/cklangtool.js
133 133 missing :Pattern.compile( "\\/\\/\\s*MISSING", Pattern.CASE_INSENSITIVE ), 134 134 blockCommentStart :Pattern.compile( "\\/\\*" ), 135 135 blockCommentEnd :Pattern.compile( "\\*\\/" ), 136 entry :Pattern.compile( "^(\\s*)( [a-z0-9][_a-z0-9]*)(\\s*:\\s*\\').*?(\\'.*)$", Pattern.CASE_INSENSITIVE ),137 arrayEntry :Pattern.compile( "^(\\s*)( [a-z0-9][_a-z0-9]*)(\\s*:\\s*\\[)(.*?)(\\].*)$", Pattern.CASE_INSENSITIVE ),136 entry :Pattern.compile( "^(\\s*)((?:'|\")?)([a-z0-9][_a-z0-9]*)\\2(\\s*:\\s*\\').*?(\\'.*)$", Pattern.CASE_INSENSITIVE ), 137 arrayEntry :Pattern.compile( "^(\\s*)((?:'|\")?)([a-z0-9][_a-z0-9]*)\\2(\\s*:\\s*\\[)(.*?)(\\].*)$", Pattern.CASE_INSENSITIVE ), 138 138 arrayItemEntry :Pattern.compile( "\\s*(?:'(.*?)'(?:\\s*,\\s*)?)" ), 139 139 arrayTranslationKey :Pattern.compile( "^(.*)\\[(\\d+)\\]$" ), 140 objectName :Pattern.compile( "^\\s*( [a-z][_a-z0-9]*)\\s*:\\s*$", Pattern.CASE_INSENSITIVE ),140 objectName :Pattern.compile( "^\\s*((?:'|\")?)([a-z][_a-z0-9]*)\\1\\s*:\\s*(?://.*)?$", Pattern.CASE_INSENSITIVE ), 141 141 objectStart :Pattern.compile( "\\{" ), 142 142 objectEnd :Pattern.compile( "\\}" ), 143 143 fileOverview :Pattern.compile( " @fileOverview" ), … … 182 182 matcher = regexLib.objectName.matcher( line ); 183 183 if ( matcher.find() ) 184 184 { 185 objectName = matcher.group( 1);185 objectName = matcher.group( 2 ); 186 186 continue; 187 187 } 188 188 … … 216 216 matcher = regexLib.entry.matcher( line.replaceAll( "\\\\'", "" ) ); 217 217 if ( matcher.find() && regexLib.missing.matcher( line ).find() ) 218 218 { 219 translationKey = key + "." + matcher.group( 2);219 translationKey = key + "." + matcher.group( 3 ); 220 220 translationKey = translationKey.replace( /^ckeditor_translation\./, "" ); 221 221 out[ translationKey ] = true; 222 222 } … … 227 227 matcher = regexLib.arrayEntry.matcher( line.replaceAll( "\\\\'", "" ) ); 228 228 if ( matcher.find() && regexLib.missing.matcher( line ).find() ) 229 229 { 230 translationKey = key + "." + matcher.group( 2);230 translationKey = key + "." + matcher.group( 3 ); 231 231 translationKey = translationKey.replace( /^ckeditor_translation\./, "" ); 232 232 out[ translationKey ] = true; 233 233 } … … 300 300 matcher = regexLib.objectName.matcher( line ); 301 301 if ( matcher.find() ) 302 302 { 303 objectName = matcher.group( 1);303 objectName = matcher.group( 2 ); 304 304 out.push( line ); 305 305 continue; 306 306 } … … 348 348 matcher = regexLib.entry.matcher( line.replaceAll( "\\\\'", "" ) ); 349 349 if ( matcher.find() ) 350 350 { 351 out.push( matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + "#" + key + "." + matcher.group( 2) + "#"352 + matcher.group( 4) );351 out.push( matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + matcher.group( 2 ) + matcher.group( 4 ) + "#" + key + "." + matcher.group( 3 ) + "#" 352 + matcher.group( 5 ) ); 353 353 continue; 354 354 } 355 355 … … 365 365 { 366 366 i = 0; 367 367 368 arrayEntryLine = matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) ;369 arrayEntryKey = matcher.group( 2);370 arrayEntryLineEnd = matcher.group( 5);371 arrayEntryItems = matcher.group( 4);368 arrayEntryLine = matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + matcher.group( 2 ) + matcher.group( 4 ); 369 arrayEntryKey = matcher.group( 3 ); 370 arrayEntryLineEnd = matcher.group( 6 ); 371 arrayEntryItems = matcher.group( 5 ); 372 372 373 373 arrayEntryItemsMatcher = regexLib.arrayItemEntry.matcher( arrayEntryItems ); 374 374 while ( arrayEntryItemsMatcher.find() ) -
test/_assets/translator/_translationstatus.txt.correct.txt
1 1 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. 2 2 For licensing, see LICENSE.html or http://ckeditor.com/license 3 3 4 de.js Found: 17 Missing: 4 5 pl.js Found: 18 Missing: 3 4 ar.js Found: 24 Missing: 3 5 de.js Found: 22 Missing: 5 6 pl.js Found: 24 Missing: 3 -
test/_assets/translator/ar.js
1 /* 2 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 */ 5 6 /** 7 * @fileOverview Defines the {@link CKEDITOR.lang} object, for the 8 * Arabic language. 9 */ 10 11 /**#@+ 12 @type String 13 @example 14 */ 15 16 /** 17 * Constains the dictionary of language entries. 18 * @namespace 19 */ 20 CKEDITOR.lang['ar'] = 21 { 22 /** 23 * The language reading direction. Possible values are "rtl" for 24 * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right 25 * languages (like English). 26 * @default 'ltr' 27 */ 28 dir : 'rtl', 29 30 // Toolbar buttons without dialogs. 31 source : 'المصدر', 32 newPage : 'صفحة جديدة', 33 save : 'حفظ', 34 preview : 'معاينة الصفحة', 35 36 // Common messages and labels. 37 common : 38 { 39 browseServer : 'تصفح', 40 url : 'الرابط', 41 protocol : 'البروتوكول', 42 confirmCancel : 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟', 43 }, 44 45 // Special char dialog. 46 specialChar : 47 { 48 toolbar : 'إدراج خاص.ِ', 49 title : 'اختر الخواص' 50 }, 51 52 // Link dialog. 53 link : 54 { 55 toolbar : 'رابط', 56 noAnchors : '(لا توجد علامات مرجعية في هذا المستند)', 57 noUrl : 'من فضلك أدخل عنوان الموقع الذي يشير إليه الرابط', 58 noEmail : 'من فضلك أدخل عنوان البريد الإلكتروني' 59 }, 60 61 // Table Dialog 62 table : 63 { 64 toolbar : 'جدول', 65 66 cell : 67 { 68 menu : 'خلية', 69 insertBefore : 'إدراج خلية قبل' 70 }, 71 72 row : 73 { 74 menu : 'صف' 75 } 76 }, 77 78 // Button Dialog. 79 button : 80 { 81 typeRst : 'إعادة تعيين' 82 }, 83 84 colors : 85 { 86 '000' : 'أسود', 87 '800000' : 'كستنائي', 88 'E6E6FA' : 'أرجواني', 89 'FFF' : 'أبيض' 90 } 91 }; -
test/_assets/translator/ar.js.correct.txt
1 /* 2 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 */ 5 6 /** 7 * @fileOverview Defines the {@link CKEDITOR.lang} object, for the 8 * Arabic language. 9 */ 10 11 /**#@+ 12 @type String 13 @example 14 */ 15 16 /** 17 * Constains the dictionary of language entries. 18 * @namespace 19 */ 20 CKEDITOR.lang['ar'] = 21 { 22 /** 23 * The language reading direction. Possible values are "rtl" for 24 * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right 25 * languages (like English). 26 * @default 'ltr' 27 */ 28 dir : 'rtl', 29 30 /* 31 * Screenreader titles. Please note that screenreaders are not always capable 32 * of reading non-English words. So be careful while translating it. 33 */ 34 editorTitle : 'Rich text editor, %1', // MISSING 35 36 DateAmPm : ['AM', 'PM'], // MISSING 37 38 // Toolbar buttons without dialogs. 39 source : 'المصدر', 40 newPage : 'صفحة جديدة', 41 save : 'حفظ', 42 preview : 'معاينة الصفحة', 43 44 // Common messages and labels. 45 // Inline comment 46 // having more than one line. 47 common : 48 { 49 browseServer : 'تصفح', 50 url : 'الرابط', 51 protocol : 'البروتوكول', 52 confirmCancel : 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟' 53 }, 54 55 // Special char dialog. 56 specialChar : // Inline comment for special char dialog. 57 { 58 toolbar : 'إدراج خاص.ِ', 59 title : 'اختر الخواص' 60 }, 61 62 // Link dialog. 63 'link' : 64 { 65 'toolbar' : 'رابط', // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!! 66 noAnchors : '(لا توجد علامات مرجعية في هذا المستند)', 67 noUrl : 'من فضلك أدخل عنوان الموقع الذي يشير إليه الرابط', 68 noEmail : 'من فضلك أدخل عنوان البريد الإلكتروني' 69 }, 70 71 // Table Dialog 72 table : 73 { 74 toolbar : 'جدول', 75 76 cell : 77 { 78 menu : 'خلية', 79 insertBefore : 'إدراج خلية قبل' 80 }, 81 82 row : 83 { 84 menu : 'صف' 85 } 86 }, 87 88 colors : 89 { 90 '000' : 'أسود', 91 '800000' : 'كستنائي', 92 'E6E6FA' : 'أرجواني', 93 'FFF' : 'أبيض' 94 }, 95 96 // Button Dialog. 97 button : 98 { 99 typeRst : 'إعادة تعيين' 100 } 101 }; -
test/_assets/translator/de.js
33 33 */ 34 34 editorTitle : 'Rich text editor, %1', // MISSING 35 35 36 DateAmPm : ['dAM','dPM'], 37 36 38 // Toolbar buttons without dialogs. 37 39 source : 'Quellcode', 38 40 newPage : 'Neue Seite', … … 51 53 // Link dialog. 52 54 link : 53 55 { 54 toolbar : 'Link einfügen/editieren',// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!56 toolbar : 'Link\u200b', // MISSING // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!! 55 57 noAnchors : '(keine Anker im Dokument vorhanden)', 56 58 noUrl : 'Bitte geben Sie die Link-URL an', 57 59 noEmail : 'Bitte geben Sie e-Mail Adresse an' … … 74 76 }, 75 77 }, 76 78 79 colors : 80 { 81 '000' : 'Schwarz', 82 '800000' : 'Kastanienbraun', 83 'E6E6FA' : 'Lavendel', 84 'FFF' : 'Weiß' 85 }, 86 77 87 // Button Dialog. 78 88 button : 79 89 { 80 90 typeRst : 'Zurücksetzen' 81 } ,91 } 82 92 }; 83 93 84 94 -
test/_assets/translator/de.js.correct.txt
33 33 */ 34 34 editorTitle : 'Rich text editor, %1', // MISSING 35 35 36 DateAmPm : ['dAM', 'dPM'], 37 36 38 // Toolbar buttons without dialogs. 37 39 source : 'Quellcode', 38 40 newPage : 'Neue Seite', … … 40 42 preview : 'Vorschau', 41 43 42 44 // Common messages and labels. 45 // Inline comment 46 // having more than one line. 43 47 common : 44 48 { 45 49 browseServer : 'Server durchsuchen', … … 49 53 }, 50 54 51 55 // Special char dialog. 52 specialChar : 56 specialChar : // Inline comment for special char dialog. 53 57 { 54 58 toolbar : 'Insert Special Character', // MISSING 55 59 title : 'Select Special Character' // MISSING 56 60 }, 57 61 58 62 // Link dialog. 59 link:63 'link' : 60 64 { 61 toolbar : 'Link einfügen/editieren',// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!65 'toolbar' : 'Link\u200b', // MISSING // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!! 62 66 noAnchors : '(keine Anker im Dokument vorhanden)', 63 67 noUrl : 'Bitte geben Sie die Link-URL an', 64 68 noEmail : 'Bitte geben Sie e-Mail Adresse an' … … 72 76 cell : 73 77 { 74 78 menu : 'Zelle', 75 insertBefore : 'Zelle davor einfügen' ,79 insertBefore : 'Zelle davor einfügen' 76 80 }, 77 81 78 82 row : 79 83 { 80 menu : 'Zeile' ,81 } ,84 menu : 'Zeile' 85 } 82 86 }, 83 87 88 colors : 89 { 90 '000' : 'Schwarz', 91 '800000' : 'Kastanienbraun', 92 'E6E6FA' : 'Lavendel', 93 'FFF' : 'Weiß' 94 }, 95 84 96 // Button Dialog. 85 97 button : 86 98 { 87 99 typeRst : 'Zurücksetzen' 88 } ,100 } 89 101 }; -
test/_assets/translator/en.js
33 33 */ 34 34 editorTitle : 'Rich text editor, %1', 35 35 36 DateAmPm : ['AM','PM'], 37 36 38 // Toolbar buttons without dialogs. 37 39 source : 'Source', 38 40 newPage : 'New Page', … … 40 42 preview : 'Preview', 41 43 42 44 // Common messages and labels. 45 // Inline comment 46 // having more than one line. 43 47 common : 44 48 { 45 49 browseServer : 'Browser Server', … … 49 53 }, 50 54 51 55 // Special char dialog. 52 specialChar : 56 specialChar : // Inline comment for special char dialog. 53 57 { 54 58 toolbar : 'Insert Special Character', 55 59 title : 'Select Special Character' 56 60 }, 57 61 58 62 // Link dialog. 59 link:63 'link' : 60 64 { 61 toolbar: 'Link\u200b', // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!65 'toolbar' : 'Link\u200b', // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!! 62 66 noAnchors : '(No anchors available in the document)', 63 67 noUrl : 'Please type the link URL', 64 68 noEmail : 'Please type the e-mail address' … … 72 76 cell : 73 77 { 74 78 menu : 'Cell', 75 insertBefore : 'Insert Cell Before' ,79 insertBefore : 'Insert Cell Before' 76 80 }, 77 81 78 82 row : 79 83 { 80 menu : 'Row' ,81 } ,84 menu : 'Row' 85 } 82 86 }, 83 87 88 colors : 89 { 90 '000' : 'Black', 91 '800000' : 'Maroon', 92 'E6E6FA' : 'Lavender', 93 'FFF' : 'White' 94 }, 95 84 96 // Button Dialog. 85 97 button : 86 98 { 87 99 typeRst : 'Reset' 88 } ,100 } 89 101 }; -
test/_assets/translator/pl.js
27 27 */ 28 28 dir : 'ltr', 29 29 30 'DateAmPm' : ['pAM','pPM'], 31 30 32 // Toolbar buttons without dialogs. 31 33 source : 'Źródło dokumentu', 32 34 newPage : 'Nowa strona', 33 save : 'Zapisz',35 save : "Zapisz", 34 36 preview : 'Podgląd', 35 37 36 38 // Common messages and labels. … … 43 45 }, 44 46 45 47 // Special char dialog. 46 specialChar:48 'specialChar' : 47 49 { 48 50 toolbar : 'Wstaw znak specjalny', 49 title: 'Wybierz znak specjalny'51 'title' : 'Wybierz znak specjalny' 50 52 }, 51 53 52 54 // Link dialog. 53 55 link : 54 56 { 55 toolbar: 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!57 'toolbar' : 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!! 56 58 noAnchors : '(W dokumencie nie zdefiniowano żadnych etykiet)', 57 59 noUrl : 'Podaj adres URL', 58 60 noEmail : 'Podaj adres e-mail' … … 75 77 }, 76 78 }, 77 79 80 colors : 81 { 82 '000' : 'Czarny', 83 '800000' : 'Rdzawy', 84 'E6E6FA' : 'Lawendowy', 85 'FFF' : 'Biały' 86 }, 87 78 88 // Button Dialog. 79 89 button : 80 90 { -
test/_assets/translator/pl.js.correct.txt
33 33 */ 34 34 editorTitle : 'Rich text editor, %1', // MISSING 35 35 36 DateAmPm : ['pAM', 'pPM'], 37 36 38 // Toolbar buttons without dialogs. 37 39 source : 'Źródło dokumentu', 38 40 newPage : 'Nowa strona', … … 40 42 preview : 'Podgląd', 41 43 42 44 // Common messages and labels. 45 // Inline comment 46 // having more than one line. 43 47 common : 44 48 { 45 49 browseServer : 'Przeglądaj', … … 49 53 }, 50 54 51 55 // Special char dialog. 52 specialChar : 56 specialChar : // Inline comment for special char dialog. 53 57 { 54 58 toolbar : 'Wstaw znak specjalny', 55 59 title : 'Wybierz znak specjalny' 56 60 }, 57 61 58 62 // Link dialog. 59 link:63 'link' : 60 64 { 61 toolbar: 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!65 'toolbar' : 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!! 62 66 noAnchors : '(W dokumencie nie zdefiniowano żadnych etykiet)', 63 67 noUrl : 'Podaj adres URL', 64 68 noEmail : 'Podaj adres e-mail' … … 72 76 cell : 73 77 { 74 78 menu : 'Komórka', 75 insertBefore : 'Wstaw komórkę z lewej' ,79 insertBefore : 'Wstaw komórkę z lewej' 76 80 }, 77 81 78 82 row : 79 83 { 80 menu : 'Row' ,// MISSING81 } ,84 menu : 'Row' // MISSING 85 } 82 86 }, 83 87 88 colors : 89 { 90 '000' : 'Czarny', 91 '800000' : 'Rdzawy', 92 'E6E6FA' : 'Lawendowy', 93 'FFF' : 'Biały' 94 }, 95 84 96 // Button Dialog. 85 97 button : 86 98 { 87 99 typeRst : 'Wyzeruj' 88 } ,100 } 89 101 };