Index: _source/includes/cklangtool.js
===================================================================
--- _source/includes/cklangtool.js (revision 4591)
+++ _source/includes/cklangtool.js (working copy)
@@ -133,11 +133,11 @@
missing :Pattern.compile( "\\/\\/\\s*MISSING", Pattern.CASE_INSENSITIVE ),
blockCommentStart :Pattern.compile( "\\/\\*" ),
blockCommentEnd :Pattern.compile( "\\*\\/" ),
- entry :Pattern.compile( "^(\\s*)([a-z0-9][_a-z0-9]*)(\\s*:\\s*\\').*?(\\'.*)$", Pattern.CASE_INSENSITIVE ),
- arrayEntry :Pattern.compile( "^(\\s*)([a-z0-9][_a-z0-9]*)(\\s*:\\s*\\[)(.*?)(\\].*)$", Pattern.CASE_INSENSITIVE ),
+ entry :Pattern.compile( "^(\\s*)((?:'|\")?)([a-z0-9][_a-z0-9]*)\\2(\\s*:\\s*\\').*?(\\'.*)$", Pattern.CASE_INSENSITIVE ),
+ arrayEntry :Pattern.compile( "^(\\s*)((?:'|\")?)([a-z0-9][_a-z0-9]*)\\2(\\s*:\\s*\\[)(.*?)(\\].*)$", Pattern.CASE_INSENSITIVE ),
arrayItemEntry :Pattern.compile( "\\s*(?:'(.*?)'(?:\\s*,\\s*)?)" ),
arrayTranslationKey :Pattern.compile( "^(.*)\\[(\\d+)\\]$" ),
- objectName :Pattern.compile( "^\\s*([a-z][_a-z0-9]*)\\s*:\\s*$", Pattern.CASE_INSENSITIVE ),
+ objectName :Pattern.compile( "^\\s*((?:'|\")?)([a-z][_a-z0-9]*)\\1\\s*:\\s*(?://.*)?$", Pattern.CASE_INSENSITIVE ),
objectStart :Pattern.compile( "\\{" ),
objectEnd :Pattern.compile( "\\}" ),
fileOverview :Pattern.compile( " @fileOverview" ),
@@ -182,7 +182,7 @@
matcher = regexLib.objectName.matcher( line );
if ( matcher.find() )
{
- objectName = matcher.group( 1 );
+ objectName = matcher.group( 2 );
continue;
}
@@ -216,7 +216,7 @@
matcher = regexLib.entry.matcher( line.replaceAll( "\\\\'", "" ) );
if ( matcher.find() && regexLib.missing.matcher( line ).find() )
{
- translationKey = key + "." + matcher.group( 2 );
+ translationKey = key + "." + matcher.group( 3 );
translationKey = translationKey.replace( /^ckeditor_translation\./, "" );
out[ translationKey ] = true;
}
@@ -227,7 +227,7 @@
matcher = regexLib.arrayEntry.matcher( line.replaceAll( "\\\\'", "" ) );
if ( matcher.find() && regexLib.missing.matcher( line ).find() )
{
- translationKey = key + "." + matcher.group( 2 );
+ translationKey = key + "." + matcher.group( 3 );
translationKey = translationKey.replace( /^ckeditor_translation\./, "" );
out[ translationKey ] = true;
}
@@ -300,7 +300,7 @@
matcher = regexLib.objectName.matcher( line );
if ( matcher.find() )
{
- objectName = matcher.group( 1 );
+ objectName = matcher.group( 2 );
out.push( line );
continue;
}
@@ -348,8 +348,8 @@
matcher = regexLib.entry.matcher( line.replaceAll( "\\\\'", "" ) );
if ( matcher.find() )
{
- out.push( matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + "#" + key + "." + matcher.group( 2 ) + "#"
- + matcher.group( 4 ) );
+ out.push( matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + matcher.group( 2 ) + matcher.group( 4 ) + "#" + key + "." + matcher.group( 3 ) + "#"
+ + matcher.group( 5 ) );
continue;
}
@@ -365,10 +365,10 @@
{
i = 0;
- arrayEntryLine = matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 );
- arrayEntryKey = matcher.group( 2 );
- arrayEntryLineEnd = matcher.group( 5 );
- arrayEntryItems = matcher.group( 4 );
+ arrayEntryLine = matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + matcher.group( 2 ) + matcher.group( 4 );
+ arrayEntryKey = matcher.group( 3 );
+ arrayEntryLineEnd = matcher.group( 6 );
+ arrayEntryItems = matcher.group( 5 );
arrayEntryItemsMatcher = regexLib.arrayItemEntry.matcher( arrayEntryItems );
while ( arrayEntryItemsMatcher.find() )
Index: test/_assets/translator/_translationstatus.txt.correct.txt
===================================================================
--- test/_assets/translator/_translationstatus.txt.correct.txt (revision 4560)
+++ test/_assets/translator/_translationstatus.txt.correct.txt (working copy)
@@ -1,5 +1,6 @@
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
-de.js Found: 17 Missing: 4
-pl.js Found: 18 Missing: 3
+ar.js Found: 24 Missing: 3
+de.js Found: 22 Missing: 5
+pl.js Found: 24 Missing: 3
Index: test/_assets/translator/ar.js
===================================================================
--- test/_assets/translator/ar.js (revision 0)
+++ test/_assets/translator/ar.js (revision 0)
@@ -0,0 +1,91 @@
+/*
+Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+/**
+ * @fileOverview Defines the {@link CKEDITOR.lang} object, for the
+ * Arabic language.
+ */
+
+/**#@+
+ @type String
+ @example
+*/
+
+/**
+ * Constains the dictionary of language entries.
+ * @namespace
+ */
+CKEDITOR.lang['ar'] =
+{
+ /**
+ * The language reading direction. Possible values are "rtl" for
+ * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right
+ * languages (like English).
+ * @default 'ltr'
+ */
+ dir : 'rtl',
+
+ // Toolbar buttons without dialogs.
+ source : 'المصدر',
+ newPage : 'صفحة جديدة',
+ save : 'حفظ',
+ preview : 'معاينة الصفحة',
+
+ // Common messages and labels.
+ common :
+ {
+ browseServer : 'تصفح',
+ url : 'الرابط',
+ protocol : 'البروتوكول',
+ confirmCancel : 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟',
+ },
+
+ // Special char dialog.
+ specialChar :
+ {
+ toolbar : 'إدراج خاص.ِ',
+ title : 'اختر الخواص'
+ },
+
+ // Link dialog.
+ link :
+ {
+ toolbar : 'رابط',
+ noAnchors : '(لا توجد علامات مرجعية في هذا المستند)',
+ noUrl : 'من فضلك أدخل عنوان الموقع الذي يشير إليه الرابط',
+ noEmail : 'من فضلك أدخل عنوان البريد الإلكتروني'
+ },
+
+ // Table Dialog
+ table :
+ {
+ toolbar : 'جدول',
+
+ cell :
+ {
+ menu : 'خلية',
+ insertBefore : 'إدراج خلية قبل'
+ },
+
+ row :
+ {
+ menu : 'صف'
+ }
+ },
+
+ // Button Dialog.
+ button :
+ {
+ typeRst : 'إعادة تعيين'
+ },
+
+ colors :
+ {
+ '000' : 'أسود',
+ '800000' : 'كستنائي',
+ 'E6E6FA' : 'أرجواني',
+ 'FFF' : 'أبيض'
+ }
+};
Index: test/_assets/translator/ar.js.correct.txt
===================================================================
--- test/_assets/translator/ar.js.correct.txt (revision 0)
+++ test/_assets/translator/ar.js.correct.txt (revision 0)
@@ -0,0 +1,101 @@
+/*
+Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+/**
+ * @fileOverview Defines the {@link CKEDITOR.lang} object, for the
+ * Arabic language.
+ */
+
+/**#@+
+ @type String
+ @example
+*/
+
+/**
+ * Constains the dictionary of language entries.
+ * @namespace
+ */
+CKEDITOR.lang['ar'] =
+{
+ /**
+ * The language reading direction. Possible values are "rtl" for
+ * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right
+ * languages (like English).
+ * @default 'ltr'
+ */
+ dir : 'rtl',
+
+ /*
+ * Screenreader titles. Please note that screenreaders are not always capable
+ * of reading non-English words. So be careful while translating it.
+ */
+ editorTitle : 'Rich text editor, %1', // MISSING
+
+ DateAmPm : ['AM', 'PM'], // MISSING
+
+ // Toolbar buttons without dialogs.
+ source : 'المصدر',
+ newPage : 'صفحة جديدة',
+ save : 'حفظ',
+ preview : 'معاينة الصفحة',
+
+ // Common messages and labels.
+ // Inline comment
+ // having more than one line.
+ common :
+ {
+ browseServer : 'تصفح',
+ url : 'الرابط',
+ protocol : 'البروتوكول',
+ confirmCancel : 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟'
+ },
+
+ // Special char dialog.
+ specialChar : // Inline comment for special char dialog.
+ {
+ toolbar : 'إدراج خاص.ِ',
+ title : 'اختر الخواص'
+ },
+
+ // Link dialog.
+ 'link' :
+ {
+ 'toolbar' : 'رابط', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
+ noAnchors : '(لا توجد علامات مرجعية في هذا المستند)',
+ noUrl : 'من فضلك أدخل عنوان الموقع الذي يشير إليه الرابط',
+ noEmail : 'من فضلك أدخل عنوان البريد الإلكتروني'
+ },
+
+ // Table Dialog
+ table :
+ {
+ toolbar : 'جدول',
+
+ cell :
+ {
+ menu : 'خلية',
+ insertBefore : 'إدراج خلية قبل'
+ },
+
+ row :
+ {
+ menu : 'صف'
+ }
+ },
+
+ colors :
+ {
+ '000' : 'أسود',
+ '800000' : 'كستنائي',
+ 'E6E6FA' : 'أرجواني',
+ 'FFF' : 'أبيض'
+ },
+
+ // Button Dialog.
+ button :
+ {
+ typeRst : 'إعادة تعيين'
+ }
+};
Index: test/_assets/translator/de.js
===================================================================
--- test/_assets/translator/de.js (revision 4560)
+++ test/_assets/translator/de.js (working copy)
@@ -33,6 +33,8 @@
*/
editorTitle : 'Rich text editor, %1', // MISSING
+ DateAmPm : ['dAM','dPM'],
+
// Toolbar buttons without dialogs.
source : 'Quellcode',
newPage : 'Neue Seite',
@@ -51,7 +53,7 @@
// Link dialog.
link :
{
- toolbar : 'Link einfügen/editieren', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
+ toolbar : 'Link\u200b', // MISSING // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
noAnchors : '(keine Anker im Dokument vorhanden)',
noUrl : 'Bitte geben Sie die Link-URL an',
noEmail : 'Bitte geben Sie e-Mail Adresse an'
@@ -74,11 +76,19 @@
},
},
+ colors :
+ {
+ '000' : 'Schwarz',
+ '800000' : 'Kastanienbraun',
+ 'E6E6FA' : 'Lavendel',
+ 'FFF' : 'Weiß'
+ },
+
// Button Dialog.
button :
{
typeRst : 'Zurücksetzen'
- },
+ }
};
Index: test/_assets/translator/de.js.correct.txt
===================================================================
--- test/_assets/translator/de.js.correct.txt (revision 4560)
+++ test/_assets/translator/de.js.correct.txt (working copy)
@@ -33,6 +33,8 @@
*/
editorTitle : 'Rich text editor, %1', // MISSING
+ DateAmPm : ['dAM', 'dPM'],
+
// Toolbar buttons without dialogs.
source : 'Quellcode',
newPage : 'Neue Seite',
@@ -40,6 +42,8 @@
preview : 'Vorschau',
// Common messages and labels.
+ // Inline comment
+ // having more than one line.
common :
{
browseServer : 'Server durchsuchen',
@@ -49,16 +53,16 @@
},
// Special char dialog.
- specialChar :
+ specialChar : // Inline comment for special char dialog.
{
toolbar : 'Insert Special Character', // MISSING
title : 'Select Special Character' // MISSING
},
// Link dialog.
- link :
+ 'link' :
{
- toolbar : 'Link einfügen/editieren', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
+ 'toolbar' : 'Link\u200b', // MISSING // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
noAnchors : '(keine Anker im Dokument vorhanden)',
noUrl : 'Bitte geben Sie die Link-URL an',
noEmail : 'Bitte geben Sie e-Mail Adresse an'
@@ -72,18 +76,26 @@
cell :
{
menu : 'Zelle',
- insertBefore : 'Zelle davor einfügen',
+ insertBefore : 'Zelle davor einfügen'
},
row :
{
- menu : 'Zeile',
- },
+ menu : 'Zeile'
+ }
},
+ colors :
+ {
+ '000' : 'Schwarz',
+ '800000' : 'Kastanienbraun',
+ 'E6E6FA' : 'Lavendel',
+ 'FFF' : 'Weiß'
+ },
+
// Button Dialog.
button :
{
typeRst : 'Zurücksetzen'
- },
+ }
};
Index: test/_assets/translator/en.js
===================================================================
--- test/_assets/translator/en.js (revision 4560)
+++ test/_assets/translator/en.js (working copy)
@@ -33,6 +33,8 @@
*/
editorTitle : 'Rich text editor, %1',
+ DateAmPm : ['AM','PM'],
+
// Toolbar buttons without dialogs.
source : 'Source',
newPage : 'New Page',
@@ -40,6 +42,8 @@
preview : 'Preview',
// Common messages and labels.
+ // Inline comment
+ // having more than one line.
common :
{
browseServer : 'Browser Server',
@@ -49,16 +53,16 @@
},
// Special char dialog.
- specialChar :
+ specialChar : // Inline comment for special char dialog.
{
toolbar : 'Insert Special Character',
title : 'Select Special Character'
},
// Link dialog.
- link :
+ 'link' :
{
- toolbar : 'Link\u200b', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
+ 'toolbar' : 'Link\u200b', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
noAnchors : '(No anchors available in the document)',
noUrl : 'Please type the link URL',
noEmail : 'Please type the e-mail address'
@@ -72,18 +76,26 @@
cell :
{
menu : 'Cell',
- insertBefore : 'Insert Cell Before',
+ insertBefore : 'Insert Cell Before'
},
row :
{
- menu : 'Row',
- },
+ menu : 'Row'
+ }
},
+ colors :
+ {
+ '000' : 'Black',
+ '800000' : 'Maroon',
+ 'E6E6FA' : 'Lavender',
+ 'FFF' : 'White'
+ },
+
// Button Dialog.
button :
{
typeRst : 'Reset'
- },
+ }
};
Index: test/_assets/translator/pl.js
===================================================================
--- test/_assets/translator/pl.js (revision 4560)
+++ test/_assets/translator/pl.js (working copy)
@@ -27,10 +27,12 @@
*/
dir : 'ltr',
+ 'DateAmPm' : ['pAM','pPM'],
+
// Toolbar buttons without dialogs.
source : 'Źródło dokumentu',
newPage : 'Nowa strona',
- save : 'Zapisz',
+ save : "Zapisz",
preview : 'Podgląd',
// Common messages and labels.
@@ -43,16 +45,16 @@
},
// Special char dialog.
- specialChar :
+ 'specialChar' :
{
toolbar : 'Wstaw znak specjalny',
- title : 'Wybierz znak specjalny'
+ 'title' : 'Wybierz znak specjalny'
},
// Link dialog.
link :
{
- toolbar : 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
+ 'toolbar' : 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
noAnchors : '(W dokumencie nie zdefiniowano żadnych etykiet)',
noUrl : 'Podaj adres URL',
noEmail : 'Podaj adres e-mail'
@@ -75,6 +77,14 @@
},
},
+ colors :
+ {
+ '000' : 'Czarny',
+ '800000' : 'Rdzawy',
+ 'E6E6FA' : 'Lawendowy',
+ 'FFF' : 'Biały'
+ },
+
// Button Dialog.
button :
{
Index: test/_assets/translator/pl.js.correct.txt
===================================================================
--- test/_assets/translator/pl.js.correct.txt (revision 4560)
+++ test/_assets/translator/pl.js.correct.txt (working copy)
@@ -33,6 +33,8 @@
*/
editorTitle : 'Rich text editor, %1', // MISSING
+ DateAmPm : ['pAM', 'pPM'],
+
// Toolbar buttons without dialogs.
source : 'Źródło dokumentu',
newPage : 'Nowa strona',
@@ -40,6 +42,8 @@
preview : 'Podgląd',
// Common messages and labels.
+ // Inline comment
+ // having more than one line.
common :
{
browseServer : 'Przeglądaj',
@@ -49,16 +53,16 @@
},
// Special char dialog.
- specialChar :
+ specialChar : // Inline comment for special char dialog.
{
toolbar : 'Wstaw znak specjalny',
title : 'Wybierz znak specjalny'
},
// Link dialog.
- link :
+ 'link' :
{
- toolbar : 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
+ 'toolbar' : 'Wstaw/edytuj hiperłącze', // IE6 BUG: A title called "Link" in an tag would invalidate its padding!!
noAnchors : '(W dokumencie nie zdefiniowano żadnych etykiet)',
noUrl : 'Podaj adres URL',
noEmail : 'Podaj adres e-mail'
@@ -72,18 +76,26 @@
cell :
{
menu : 'Komórka',
- insertBefore : 'Wstaw komórkę z lewej',
+ insertBefore : 'Wstaw komórkę z lewej'
},
row :
{
- menu : 'Row', // MISSING
- },
+ menu : 'Row' // MISSING
+ }
},
+ colors :
+ {
+ '000' : 'Czarny',
+ '800000' : 'Rdzawy',
+ 'E6E6FA' : 'Lawendowy',
+ 'FFF' : 'Biały'
+ },
+
// Button Dialog.
button :
{
typeRst : 'Wyzeruj'
- },
+ }
};