Changeset 6979 for CKEditor/trunk
- Timestamp:
- 05/25/11 18:28:43 (2 years ago)
- Location:
- CKEditor/trunk
- Files:
-
- 68 edited
-
CHANGES.html (modified) (1 diff)
-
_source/core/tools.js (modified) (1 diff)
-
_source/lang/_translationstatus.txt (modified) (2 diffs)
-
_source/lang/af.js (modified) (2 diffs)
-
_source/lang/ar.js (modified) (2 diffs)
-
_source/lang/bg.js (modified) (2 diffs)
-
_source/lang/bn.js (modified) (2 diffs)
-
_source/lang/bs.js (modified) (2 diffs)
-
_source/lang/ca.js (modified) (2 diffs)
-
_source/lang/cs.js (modified) (2 diffs)
-
_source/lang/cy.js (modified) (2 diffs)
-
_source/lang/da.js (modified) (2 diffs)
-
_source/lang/de.js (modified) (2 diffs)
-
_source/lang/el.js (modified) (2 diffs)
-
_source/lang/en-au.js (modified) (2 diffs)
-
_source/lang/en-ca.js (modified) (2 diffs)
-
_source/lang/en-gb.js (modified) (2 diffs)
-
_source/lang/en.js (modified) (2 diffs)
-
_source/lang/eo.js (modified) (2 diffs)
-
_source/lang/es.js (modified) (2 diffs)
-
_source/lang/et.js (modified) (2 diffs)
-
_source/lang/eu.js (modified) (2 diffs)
-
_source/lang/fa.js (modified) (2 diffs)
-
_source/lang/fi.js (modified) (2 diffs)
-
_source/lang/fo.js (modified) (2 diffs)
-
_source/lang/fr-ca.js (modified) (2 diffs)
-
_source/lang/fr.js (modified) (2 diffs)
-
_source/lang/gl.js (modified) (2 diffs)
-
_source/lang/gu.js (modified) (2 diffs)
-
_source/lang/he.js (modified) (2 diffs)
-
_source/lang/hi.js (modified) (2 diffs)
-
_source/lang/hr.js (modified) (2 diffs)
-
_source/lang/hu.js (modified) (2 diffs)
-
_source/lang/is.js (modified) (2 diffs)
-
_source/lang/it.js (modified) (2 diffs)
-
_source/lang/ja.js (modified) (2 diffs)
-
_source/lang/ka.js (modified) (2 diffs)
-
_source/lang/km.js (modified) (2 diffs)
-
_source/lang/ko.js (modified) (2 diffs)
-
_source/lang/lt.js (modified) (2 diffs)
-
_source/lang/lv.js (modified) (2 diffs)
-
_source/lang/mn.js (modified) (2 diffs)
-
_source/lang/ms.js (modified) (2 diffs)
-
_source/lang/nb.js (modified) (2 diffs)
-
_source/lang/nl.js (modified) (2 diffs)
-
_source/lang/no.js (modified) (2 diffs)
-
_source/lang/pl.js (modified) (2 diffs)
-
_source/lang/pt-br.js (modified) (2 diffs)
-
_source/lang/pt.js (modified) (2 diffs)
-
_source/lang/ro.js (modified) (2 diffs)
-
_source/lang/ru.js (modified) (2 diffs)
-
_source/lang/sk.js (modified) (2 diffs)
-
_source/lang/sl.js (modified) (2 diffs)
-
_source/lang/sr-latn.js (modified) (2 diffs)
-
_source/lang/sr.js (modified) (2 diffs)
-
_source/lang/sv.js (modified) (2 diffs)
-
_source/lang/th.js (modified) (2 diffs)
-
_source/lang/tr.js (modified) (2 diffs)
-
_source/lang/uk.js (modified) (2 diffs)
-
_source/lang/vi.js (modified) (2 diffs)
-
_source/lang/zh-cn.js (modified) (2 diffs)
-
_source/lang/zh.js (modified) (2 diffs)
-
_source/plugins/dialog/plugin.js (modified) (7 diffs)
-
_source/plugins/dialogadvtab/plugin.js (modified) (1 diff)
-
_source/plugins/fakeobjects/plugin.js (modified) (1 diff)
-
_source/plugins/flash/dialogs/flash.js (modified) (3 diffs)
-
_source/plugins/iframe/dialogs/iframe.js (modified) (7 diffs)
-
_source/plugins/table/dialogs/table.js (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CKEditor/trunk/CHANGES.html
r6978 r6979 42 42 <li><a href="http://dev.ckeditor.com/ticket/6492">#6492</a> : Find/replace dialog now will be populated with editor's selected text.</li> 43 43 <li><a href="http://dev.ckeditor.com/ticket/7323">#7323</a> : New <a href="http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.definition.uiElement.html#align">align</a> property on dialog UI element for field alignment.</li> 44 <li><a href="http://dev.ckeditor.com/ticket/6462">#6462</a> : A wider range of CSS length units (like pt and percentage) are now supported in related dialog fields.</li> 44 45 </ul> 45 46 <p> -
CKEditor/trunk/_source/core/tools.js
r6348 r6979 681 681 cssLength : (function() 682 682 { 683 var decimalRegex = /^\d+(?:\.\d+)?$/;684 683 return function( length ) 685 684 { 686 return length + ( decimalRegex.test( length ) ? 'px' : '' );685 return length + ( !length || isNaN( Number( length ) ) ? '' : 'px' ); 687 686 }; 688 687 })(), -
CKEditor/trunk/_source/lang/_translationstatus.txt
r6952 r6979 2 2 For licensing, see LICENSE.html or http://ckeditor.com/license 3 3 4 af.js Found: 51 9 Missing: 515 ar.js Found: 43 5 Missing: 1354 af.js Found: 517 Missing: 53 5 ar.js Found: 433 Missing: 137 6 6 bg.js Found: 268 Missing: 302 7 7 bn.js Found: 269 Missing: 301 8 8 bs.js Found: 175 Missing: 395 9 ca.js Found: 51 9 Missing: 5110 cs.js Found: 51 8 Missing: 5211 cy.js Found: 5 70 Missing: 012 da.js Found: 38 8 Missing: 18213 de.js Found: 5 20 Missing: 509 ca.js Found: 517 Missing: 53 10 cs.js Found: 516 Missing: 54 11 cy.js Found: 568 Missing: 2 12 da.js Found: 386 Missing: 184 13 de.js Found: 518 Missing: 52 14 14 el.js Found: 274 Missing: 296 15 en-au.js Found: 34 5 Missing: 22516 en-ca.js Found: 34 5 Missing: 22517 en-gb.js Found: 51 8 Missing: 5215 en-au.js Found: 343 Missing: 227 16 en-ca.js Found: 343 Missing: 227 17 en-gb.js Found: 516 Missing: 54 18 18 eo.js Found: 247 Missing: 323 19 es.js Found: 5 70 Missing: 019 es.js Found: 568 Missing: 2 20 20 et.js Found: 289 Missing: 281 21 eu.js Found: 38 7 Missing: 18321 eu.js Found: 385 Missing: 185 22 22 fa.js Found: 290 Missing: 280 23 fi.js Found: 5 20 Missing: 5024 fo.js Found: 51 9 Missing: 5123 fi.js Found: 518 Missing: 52 24 fo.js Found: 517 Missing: 53 25 25 fr-ca.js Found: 289 Missing: 281 26 fr.js Found: 5 20 Missing: 5026 fr.js Found: 518 Missing: 52 27 27 gl.js Found: 271 Missing: 299 28 28 gu.js Found: 288 Missing: 282 29 he.js Found: 5 70 Missing: 029 he.js Found: 568 Missing: 2 30 30 hi.js Found: 290 Missing: 280 31 hr.js Found: 38 8 Missing: 18232 hu.js Found: 5 10 Missing: 6031 hr.js Found: 386 Missing: 184 32 hu.js Found: 508 Missing: 62 33 33 is.js Found: 295 Missing: 275 34 it.js Found: 38 8 Missing: 18235 ja.js Found: 46 9 Missing: 10136 ka.js Found: 56 9 Missing: 134 it.js Found: 386 Missing: 184 35 ja.js Found: 467 Missing: 103 36 ka.js Found: 567 Missing: 3 37 37 km.js Found: 263 Missing: 307 38 38 ko.js Found: 281 Missing: 289 … … 41 41 mn.js Found: 288 Missing: 282 42 42 ms.js Found: 253 Missing: 317 43 nb.js Found: 51 9 Missing: 5144 nl.js Found: 5 70 Missing: 045 no.js Found: 51 9 Missing: 5146 pl.js Found: 5 70 Missing: 047 pt-br.js Found: 50 4 Missing: 6643 nb.js Found: 517 Missing: 53 44 nl.js Found: 568 Missing: 2 45 no.js Found: 517 Missing: 53 46 pl.js Found: 568 Missing: 2 47 pt-br.js Found: 502 Missing: 68 48 48 pt.js Found: 270 Missing: 300 49 49 ro.js Found: 289 Missing: 281 50 ru.js Found: 4 51 Missing: 11951 sk.js Found: 33 4 Missing: 23652 sl.js Found: 39 4 Missing: 17650 ru.js Found: 449 Missing: 121 51 sk.js Found: 332 Missing: 238 52 sl.js Found: 392 Missing: 178 53 53 sr-latn.js Found: 264 Missing: 306 54 54 sr.js Found: 263 Missing: 307 55 sv.js Found: 51 9 Missing: 5155 sv.js Found: 517 Missing: 53 56 56 th.js Found: 275 Missing: 295 57 tr.js Found: 50 4 Missing: 6658 uk.js Found: 5 11 Missing: 5959 vi.js Found: 4 61 Missing: 10960 zh-cn.js Found: 51 6 Missing: 5461 zh.js Found: 38 8 Missing: 18257 tr.js Found: 502 Missing: 68 58 uk.js Found: 509 Missing: 61 59 vi.js Found: 459 Missing: 111 60 zh-cn.js Found: 514 Missing: 56 61 zh.js Found: 386 Missing: 184 -
CKEditor/trunk/_source/lang/af.js
r6952 r6979 122 122 invalidHeight : 'Hoogte moet \'n getal wees', 123 123 invalidWidth : 'Breedte moet \'n getal wees.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Tabelbreedte moet \'n getal wees.', 273 275 invalidHeight : 'Tabelhoogte moet \'n getal wees.', 274 invalidCellSpacing : 'Sel-afstand moet \'n getal wees.',275 invalidCellPadding : 'Sel-spasie moet \'n getal wees.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ar.js
r6952 r6979 122 122 invalidHeight : 'الارتفاع يجب أن يكون عدداً.', 123 123 invalidWidth : 'العرض يجب أن يكون عدداً.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'عرض الجدول يجب أن يكون عدداً.', 273 275 invalidHeight : 'ارتفاع الجدول يجب أن يكون عدداً.', 274 invalidCellSpacing : 'المسافة بين الخلايا يجب أن تكون عدداً.',275 invalidCellPadding : 'المسافة البادئة يجب أن تكون عدداً',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/bg.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/bn.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/bs.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ca.js
r6952 r6979 122 122 invalidHeight : 'L\'alçada ha de ser un nombre.', 123 123 invalidWidth : 'L\'amplada ha de ser un nombre.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'L\'amplada de la taula ha de ser un nombre.', 273 275 invalidHeight : 'L\'alçada de la taula ha de ser un nombre.', 274 invalidCellSpacing : 'L\'espaiat de cel·la ha de ser un nombre.',275 invalidCellPadding : 'L\'encoixinament de cel·la ha de ser un nombre.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/cs.js
r6952 r6979 122 122 invalidHeight : 'Zadaná výška musí být číslo.', 123 123 invalidWidth : 'Zadaná šířka musí být číslo.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Zadaná šířka tabulky musí být číselná.', 273 275 invalidHeight : 'zadaná výška tabulky musí být číselná.', 274 invalidCellSpacing : 'Zadaná vzdálenost buněk musí být číselná.',275 invalidCellPadding : 'Zadané odsazení obsahu v buňce musí být číselné.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/cy.js
r6952 r6979 122 122 invalidHeight : 'Rhaid i\'r Uchder fod yn rhif.', 123 123 invalidWidth : 'Rhaid i\'r Lled fod yn rhif.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Mae\'n rhaid i led y tabl fod yn rhif.', 273 275 invalidHeight : 'Mae\'n rhaid i uchder y tabl fod yn rhif.', 274 invalidCellSpacing : 'Mae\'n rhaid i fylchiad y gell fod yn rhif.',275 invalidCellPadding : 'Mae\'n rhaid i badiad y gell fod yn rhif.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/da.js
r6952 r6979 122 122 invalidHeight : 'Højde skal være et tal.', 123 123 invalidWidth : 'Bredde skal være et tal.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Tabelbredde skal være et tal.', 273 275 invalidHeight : 'Tabelhøjde skal være et tal.', 274 invalidCellSpacing : 'Celleafstand skal være et tal.',275 invalidCellPadding : 'Cellemargen skal være et tal.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/de.js
r6952 r6979 122 122 invalidHeight : 'Höhe muss eine Zahl sein.', 123 123 invalidWidth : 'Breite muss eine Zahl sein.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Die Tabellenbreite muss eine Zahl sein.', 273 275 invalidHeight : 'Die Tabellenbreite muß eine Zahl sein.', 274 invalidCellSpacing : 'Der Zellenabstand außen muß eine Zahl sein.',275 invalidCellPadding : 'Der Zellenabstand innen muß eine Zahl sein.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/el.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/en-au.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', 273 275 invalidHeight : 'Table height must be a number.', 274 invalidCellSpacing : 'Cell spacing must be a number.',275 invalidCellPadding : 'Cell padding must be a number.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/en-ca.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', 273 275 invalidHeight : 'Table height must be a number.', 274 invalidCellSpacing : 'Cell spacing must be a number.',275 invalidCellPadding : 'Cell padding must be a number.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/en-gb.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', 123 123 invalidWidth : 'Width must be a number.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', 273 275 invalidHeight : 'Table height must be a number.', 274 invalidCellSpacing : 'Cell spacing must be a number.',275 invalidCellPadding : 'Cell padding must be a number.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/en.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', 123 123 invalidWidth : 'Width must be a number.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', 273 275 invalidHeight : 'Table height must be a number.', 274 invalidCellSpacing : 'Cell spacing must be a number.',275 invalidCellPadding : 'Cell padding must be a number.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/eo.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/es.js
r6952 r6979 122 122 invalidHeight : 'Altura debe ser un número.', 123 123 invalidWidth : 'Anchura debe ser un número.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'La anchura de tabla debe ser un número.', 273 275 invalidHeight : 'La altura de tabla debe ser un número.', 274 invalidCellSpacing : 'El espaciado entre celdas debe ser un número.',275 invalidCellPadding : 'El espaciado interior debe ser un número.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/et.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/eu.js
r6952 r6979 122 122 invalidHeight : 'Altuera zenbaki bat izan behar da.', 123 123 invalidWidth : 'Zabalera zenbaki bat izan behar da.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Taularen zabalera zenbaki bat izan behar da.', 273 275 invalidHeight : 'Taularen altuera zenbaki bat izan behar da.', 274 invalidCellSpacing : 'Gelaxka arteko tartea zenbaki bat izan behar da.',275 invalidCellPadding : 'Gelaxken betegarria zenbaki bat izan behar da.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/fa.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/fi.js
r6952 r6979 122 122 invalidHeight : 'Korkeuden täytyy olla numero.', 123 123 invalidWidth : 'Leveyden täytyy olla numero.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Taulun leveyden täytyy olla numero.', 273 275 invalidHeight : 'Taulun korkeuden täytyy olla numero.', 274 invalidCellSpacing : 'Solujen välin täytyy olla numero.',275 invalidCellPadding : 'Solujen sisennyksen täytyy olla numero.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/fo.js
r6952 r6979 122 122 invalidHeight : 'Hædd má vera eitt tal.', 123 123 invalidWidth : 'Breidd má vera eitt tal.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Tabell-breidd má vera eitt tal.', 273 275 invalidHeight : 'Tabell-hædd má vera eitt tal.', 274 invalidCellSpacing : 'Cell spacing má vera eitt tal.',275 invalidCellPadding : 'Cell padding má vera eitt tal.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/fr-ca.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/fr.js
r6952 r6979 122 122 invalidHeight : 'La hauteur doit être un nombre.', 123 123 invalidWidth : 'La largeur doit être un nombre.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'La largeur du tableau doit être un nombre.', 273 275 invalidHeight : 'La hauteur du tableau doit être un nombre.', 274 invalidCellSpacing : 'L\'espacement des cellules doit être un nombre.',275 invalidCellPadding : 'La marge intérieure des cellules doit être un nombre.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/gl.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/gu.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/he.js
r6952 r6979 122 122 invalidHeight : 'הגובה חייב להיות מספר.', 123 123 invalidWidth : 'הרוחב חייב להיות מספר.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'שדה רוחב הטבלה חייב להיות מספר.', 273 275 invalidHeight : 'שדה גובה הטבלה חייב להיות מספר.', 274 invalidCellSpacing : 'שדה ריווח התאים חייב להיות מספר.',275 invalidCellPadding : 'שדה ריפוד התאים חייב להיות מספר.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/hi.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/hr.js
r6952 r6979 122 122 invalidHeight : 'Visina mora biti broj.', 123 123 invalidWidth : 'Širina mora biti broj.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Širina tablice mora biti broj.', 273 275 invalidHeight : 'Visina tablice mora biti broj.', 274 invalidCellSpacing : 'Prostornost ćelija mora biti broj.',275 invalidCellPadding : 'Razmak ćelija mora biti broj.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/hu.js
r6952 r6979 122 122 invalidHeight : 'A magasság mezőbe csak számokat írhat.', 123 123 invalidWidth : 'A szélesség mezőbe csak számokat írhat.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'A szélesség mezőbe csak számokat írhat.', 273 275 invalidHeight : 'A magasság mezőbe csak számokat írhat.', 274 invalidCellSpacing : 'A cella térköz mezőbe csak számokat írhat.',275 invalidCellPadding : 'A cella belső margó mezőbe csak számokat írhat.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/is.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/it.js
r6952 r6979 122 122 invalidHeight : 'L\'altezza dev\'essere un numero', 123 123 invalidWidth : 'La Larghezza dev\'essere un numero', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'La larghezza della tabella dev\'essere un numero.', 273 275 invalidHeight : 'L\'altezza della tabella dev\'essere un numero.', 274 invalidCellSpacing : 'La spaziatura tra le celle dev\'essere un numero.',275 invalidCellPadding : 'Il pagging delle celle dev\'essere un numero',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ja.js
r6952 r6979 122 122 invalidHeight : '高さは数値で入力してください。', 123 123 invalidWidth : '幅は数値で入力してください。', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : '幅は数値で入力してください。', 273 275 invalidHeight : '高さは数値で入力してください。', 274 invalidCellSpacing : 'セル内余白は数値で入力してください。',275 invalidCellPadding : 'セル内間隔は数値で入力してください。',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ka.js
r6952 r6979 122 122 invalidHeight : 'სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.', 123 123 invalidWidth : 'სიგანე რიცხვით უნდა იყოს წარმოდგენილი.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'ცხრილის სიგანე რიცხვით უნდა იყოს წარმოდგენილი.', 273 275 invalidHeight : 'ცხრილის სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.', 274 invalidCellSpacing : 'უჯრის სივრცე (spacing) რიცხვით უნდა იყოს წარმოდგენილი.',275 invalidCellPadding : 'უჯრის კიდე (padding) რიცხვით უნდა იყოს წარმოდგენილი.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/km.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ko.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/lt.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/lv.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/mn.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ms.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/nb.js
r6952 r6979 122 122 invalidHeight : 'Høyde må være et tall.', 123 123 invalidWidth : 'Bredde må være et tall.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Tabellbredde må være et tall.', 273 275 invalidHeight : 'Tabellhøyde må være et tall.', 274 invalidCellSpacing : 'Cellemarg må være et tall.',275 invalidCellPadding : 'Cellepolstring må være et tall.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/nl.js
r6952 r6979 122 122 invalidHeight : 'De hoogte moet een getal zijn.', 123 123 invalidWidth : 'De breedte moet een getal zijn.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'De tabel breedte moet een getal zijn.', 273 275 invalidHeight : 'De tabel hoogte moet een getal zijn.', 274 invalidCellSpacing : 'Afstand tussen cellen moet een getal zijn.',275 invalidCellPadding : 'Ruimte in de cel moet een getal zijn.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/no.js
r6952 r6979 122 122 invalidHeight : 'Høyde må være et tall.', 123 123 invalidWidth : 'Bredde må være et tall.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Tabellbredde må være et tall.', 273 275 invalidHeight : 'Tabellhøyde må være et tall.', 274 invalidCellSpacing : 'Cellemarg må være et tall.',275 invalidCellPadding : 'Cellepolstring må være et tall.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/pl.js
r6952 r6979 122 122 invalidHeight : 'Wysokość musi być liczbą.', 123 123 invalidWidth : 'Szerokość musi być liczbą.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Szerokość tabeli musi być liczbą.', 273 275 invalidHeight : 'Wysokość tabeli musi być liczbą.', 274 invalidCellSpacing : 'Odstęp komórek musi być liczbą.',275 invalidCellPadding : 'Dopełnienie komórek musi być liczbą.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/pt-br.js
r6952 r6979 121 121 invalidHeight : 'A altura tem que ser um número', 122 122 invalidWidth : 'A largura tem que ser um número.', 123 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 124 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 123 125 124 126 // Put the voice-only part of the label in the span. … … 271 273 invalidWidth : 'A largura da tabela tem que ser um número.', 272 274 invalidHeight : 'A altura da tabela tem que ser um número.', 273 invalidCellSpacing : 'O espaçamento das células tem que ser um número.',274 invalidCellPadding : 'A margem interna das células tem que ser um número.',275 275 276 276 cell : -
CKEditor/trunk/_source/lang/pt.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ro.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/ru.js
r6952 r6979 122 122 invalidHeight : 'Высота задается числом.', 123 123 invalidWidth : 'Ширина задается числом.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Ширина таблицы должна быть числом.', 273 275 invalidHeight : 'Высота таблицы должна быть числом.', 274 invalidCellSpacing : 'Размер промежутков (cellspacing) между ячейками должны быть числом.',275 invalidCellPadding : 'Отступы внутри ячеек (cellpadding) должны быть числом.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/sk.js
r6952 r6979 122 122 invalidHeight : 'Výška musí byť číslo.', 123 123 invalidWidth : 'Šírka musí byť číslo.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Širka tabuľky musí byť číslo.', 273 275 invalidHeight : 'Výška tabuľky musí byť číslo.', 274 invalidCellSpacing : 'Medzera mädzi bunkami (spacing) musí byť číslo.',275 invalidCellPadding : 'Odsadenie v bunkách (padding) musí byť číslo.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/sl.js
r6952 r6979 122 122 invalidHeight : 'Višina mora biti število.', 123 123 invalidWidth : 'Širina mora biti število.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Širina tabele mora biti število.', 273 275 invalidHeight : 'Višina tabele mora biti število.', 274 invalidCellSpacing : 'Razmik med celicami mora biti število.',275 invalidCellPadding : 'Zamik celic mora biti število',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/sr-latn.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/sr.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/sv.js
r6952 r6979 121 121 invalidHeight : 'Höjd måste vara ett nummer.', 122 122 invalidWidth : 'Bredd måste vara ett nummer.', 123 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 124 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 123 125 124 126 // Put the voice-only part of the label in the span. … … 271 273 invalidWidth : 'Tabell måste vara ett nummer.', 272 274 invalidHeight : 'Tabellens höjd måste vara ett nummer.', 273 invalidCellSpacing : 'Luft i cell måste vara ett nummer.',274 invalidCellPadding : 'Luft i cell måste vara ett nummer.',275 275 276 276 cell : -
CKEditor/trunk/_source/lang/th.js
r6952 r6979 122 122 invalidHeight : 'Height must be a number.', // MISSING 123 123 invalidWidth : 'Width must be a number.', // MISSING 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Table width must be a number.', // MISSING 273 275 invalidHeight : 'Table height must be a number.', // MISSING 274 invalidCellSpacing : 'Cell spacing must be a number.', // MISSING275 invalidCellPadding : 'Cell padding must be a number.', // MISSING276 276 277 277 cell : -
CKEditor/trunk/_source/lang/tr.js
r6952 r6979 121 121 invalidHeight : 'Yükseklik sayı olmalıdır.', 122 122 invalidWidth : 'Genişlik bir sayı olmalıdır.', 123 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 124 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 123 125 124 126 // Put the voice-only part of the label in the span. … … 271 273 invalidWidth : 'Tablo genişliği sayı olmalıdır.', 272 274 invalidHeight : 'Tablo yüksekliği sayı olmalıdır.', 273 invalidCellSpacing : 'Hücre boşluğu (spacing) sayı olmalıdır.',274 invalidCellPadding : 'Hücre aralığı (padding) sayı olmalıdır.',275 275 276 276 cell : -
CKEditor/trunk/_source/lang/uk.js
r6952 r6979 122 122 invalidHeight : 'Висота повинна бути цілим числом.', 123 123 invalidWidth : 'Ширина повинна бути цілим числом.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Ширина таблиці повинна бути цілим числом.', 273 275 invalidHeight : 'Висота таблиці повинна бути цілим числом.', 274 invalidCellSpacing : 'Проміжок між комірками повинен бути цілим числом.',275 invalidCellPadding : 'Внутр. відступ комірки повинен бути цілим числом.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/vi.js
r6952 r6979 122 122 invalidHeight : 'Chiều cao phải là số nguyên.', 123 123 invalidWidth : 'Chiều rộng phải là số nguyên.', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : 'Chiều rộng của bảng phải là một số nguyên.', 273 275 invalidHeight : 'Chiều cao của bảng phải là một số nguyên.', 274 invalidCellSpacing : 'Khoảng cách giữa các ô phải là một số nguyên.',275 invalidCellPadding : 'Khoảng đệm giữa ô và nội dung phải là một số nguyên.',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/zh-cn.js
r6952 r6979 122 122 invalidHeight : '高度必须为数字格式', 123 123 invalidWidth : '宽度必须为数字格式', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : '表格宽度必须为数字格式', 273 275 invalidHeight : '表格高度必须为数字格式', 274 invalidCellSpacing : '单元格间距必须为数字格式',275 invalidCellPadding : '单元格填充必须为数字格式',276 276 277 277 cell : -
CKEditor/trunk/_source/lang/zh.js
r6952 r6979 122 122 invalidHeight : '高度必須為數字格式', 123 123 invalidWidth : '寬度必須為數字格式', 124 invalidCssLength : 'Value must be a valid CSS length unit.', // MISSING 125 invalidHtmlLength : 'Value must be either a number in unit of pixel, or a percentage value', // MISSING 124 126 125 127 // Put the voice-only part of the label in the span. … … 272 274 invalidWidth : '表格寬度必須為數字格式', 273 275 invalidHeight : '表格高度必須為數字格式', 274 invalidCellSpacing : '儲存格間距必須為數字格式',275 invalidCellPadding : '儲存格內距必須為數字格式',276 276 277 277 cell : -
CKEditor/trunk/_source/plugins/dialog/plugin.js
r6955 r6979 2321 2321 this.isChanged = elementDefinition.isChanged; 2322 2322 2323 // Overload 'get(set)Value' on definition. 2324 if ( typeof( elementDefinition.setValue ) == 'function' ) 2325 { 2326 this.setValue = CKEDITOR.tools.override( this.setValue, function( org ) 2327 { 2328 return function( val ){ org.call( this, elementDefinition.setValue.call( this, val ) ); }; 2329 } ); 2330 } 2331 2332 if ( typeof( elementDefinition.getValue ) == 'function' ) 2333 { 2334 this.getValue = CKEDITOR.tools.override( this.getValue, function( org ) 2335 { 2336 return function(){ return elementDefinition.getValue.call( this, org.call( this ) ); }; 2337 } ); 2338 } 2339 2323 2340 // Add events. 2324 2341 CKEDITOR.event.implementOn( this ); … … 2912 2929 var notEmptyRegex = /^([a]|[^a])+$/, 2913 2930 integerRegex = /^\d*$/, 2914 numberRegex = /^\d*(?:\.\d+)?$/; 2931 numberRegex = /^\d*(?:\.\d+)?$/, 2932 htmlLengthRegex = /^([+-]?((\d*(\.\d+))|(\d*))(px|\%)?)?$/, 2933 cssLengthRegex = /^([+-]?((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i; 2915 2934 2916 2935 CKEDITOR.VALIDATE_OR = 1; … … 2921 2940 functions : function() 2922 2941 { 2942 var args = arguments; 2923 2943 return function() 2924 2944 { … … 2929 2949 * validators. 2930 2950 */ 2931 var value = this && this.getValue ? this.getValue() : arg uments[0];2951 var value = this && this.getValue ? this.getValue() : args[ 0 ]; 2932 2952 2933 2953 var msg = undefined, … … 2935 2955 functions = [], i; 2936 2956 2937 for ( i = 0 ; i < arg uments.length ; i++ )2957 for ( i = 0 ; i < args.length ; i++ ) 2938 2958 { 2939 if ( typeof( arg uments[i] ) == 'function' )2940 functions.push( arg uments[i] );2959 if ( typeof( args[i] ) == 'function' ) 2960 functions.push( args[i] ); 2941 2961 else 2942 2962 break; 2943 2963 } 2944 2964 2945 if ( i < arg uments.length && typeof( arguments[i] ) == 'string' )2965 if ( i < args.length && typeof( args[i] ) == 'string' ) 2946 2966 { 2947 msg = arg uments[i];2967 msg = args[i]; 2948 2968 i++; 2949 2969 } 2950 2970 2951 if ( i < arg uments.length && typeof( arguments[i]) == 'number' )2952 relation = arg uments[i];2971 if ( i < args.length && typeof( args[i]) == 'number' ) 2972 relation = args[i]; 2953 2973 2954 2974 var passed = ( relation == CKEDITOR.VALIDATE_AND ? true : false ); … … 2965 2985 if ( msg !== undefined ) 2966 2986 alert( msg ); 2967 if ( this && ( this.select || this.focus ) ) 2968 ( this.select || this.focus )(); 2987 if ( this.select || this.focus ) 2988 { 2989 if ( this.select ) 2990 this.select(); 2991 else 2992 this.focus(); 2993 } 2994 2969 2995 return false; 2970 2996 } … … 3015 3041 }, 3016 3042 3043 'cssLength' : function( msg ) 3044 { 3045 return this.functions( function( val ){ return cssLengthRegex.test( CKEDITOR.tools.trim( val ) ); }, msg ); 3046 }, 3047 3048 'htmlLength' : function( msg ) 3049 { 3050 return this.functions( function( val ){ return htmlLengthRegex.test( CKEDITOR.tools.trim( val ) ); }, msg ); 3051 }, 3052 3017 3053 equals : function( value, msg ) 3018 3054 { -
CKEditor/trunk/_source/plugins/dialogadvtab/plugin.js
r6948 r6979 137 137 getStyle : function( name, defaultValue ) 138 138 { 139 var match = this.getValue().match( new RegExp( name + '\\s*:\ s*([^;]*)', 'i') );139 var match = this.getValue().match( new RegExp( name + '\\s*:\\s*([^;]*)', 'i') ); 140 140 return match ? match[ 1 ] : defaultValue; 141 141 }, -
CKEditor/trunk/_source/plugins/fakeobjects/plugin.js
r6348 r6979 26 26 { 27 27 // Get the width from the style. 28 var match = /(?:^|\s)width\s*:\s*( \d+)/i.exec( style ),28 var match = /(?:^|\s)width\s*:\s*(.*?)(:?;|$)/i.exec( style ), 29 29 width = match && match[1]; 30 30 31 31 // Get the height from the style. 32 match = /(?:^|\s)height\s*:\s*( \d+)/i.exec( style );32 match = /(?:^|\s)height\s*:\s*(.*?)(:?;|$)/i.exec( style ); 33 33 var height = match && match[1]; 34 34 -
CKEditor/trunk/_source/plugins/flash/dialogs/flash.js
r6929 r6979 49 49 for ( i = 0 ; i < names.length ; i++ ) 50 50 attributesMap[ names[i] ][0]['default'] = attributesMap[ names[i] ][1]['default'] = true; 51 52 var defaultToPixel = CKEDITOR.tools.cssLength; 51 53 52 54 function loadValue( objectNode, embedNode, paramMap ) … … 368 370 style : 'width:95px', 369 371 label : editor.lang.common.width, 370 validate : CKEDITOR.dialog.validate. integer( editor.lang.common.invalidWidth ),372 validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ), 371 373 setup : function( objectNode, embedNode, paramMap, fakeImage ) 372 374 { 373 375 loadValue.apply( this, arguments ); 374 if ( fakeImage ) 375 { 376 var fakeImageWidth = parseInt( fakeImage.$.style.width, 10 ); 377 if ( !isNaN( fakeImageWidth ) ) 378 this.setValue( fakeImageWidth ); 379 } 376 fakeImage && this.setValue( fakeImage.getStyle( 'width' ) ); 380 377 }, 381 378 commit : function( objectNode, embedNode, paramMap, extraStyles ) 382 379 { 383 380 commitValue.apply( this, arguments ); 384 if ( this.getValue() )385 extraStyles.width = this.getValue() + 'px';381 var val = this.getValue(); 382 val && ( extraStyles.width = defaultToPixel( val ) ); 386 383 } 387 384 }, … … 391 388 style : 'width:95px', 392 389 label : editor.lang.common.height, 393 validate : CKEDITOR.dialog.validate. integer( editor.lang.common.invalidHeight),390 validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ), 394 391 setup : function( objectNode, embedNode, paramMap, fakeImage ) 395 392 { 396 393 loadValue.apply( this, arguments ); 397 if ( fakeImage ) 398 { 399 var fakeImageHeight = parseInt( fakeImage.$.style.height, 10 ); 400 if ( !isNaN( fakeImageHeight ) ) 401 this.setValue( fakeImageHeight ); 402 } 394 fakeImage && this.setValue( fakeImage.getStyle( 'height' ) ); 403 395 }, 404 396 commit : function( objectNode, embedNode, paramMap, extraStyles ) 405 397 { 406 398 commitValue.apply( this, arguments ); 407 if ( this.getValue() )408 extraStyles.height = this.getValue() + 'px';399 var val = this.getValue(); 400 val && ( extraStyles.height = defaultToPixel( val ) ); 409 401 } 410 402 }, -
CKEditor/trunk/_source/plugins/iframe/dialogs/iframe.js
r6958 r6979 13 13 frameborder : { 'true' : '1', 'false' : '0' } 14 14 }; 15 16 var defaultToPixel = CKEDITOR.tools.cssLength; 15 17 16 18 function loadValue( iframeNode ) … … 57 59 { 58 60 // Synchronize width value. 59 var width = parseInt( this.getStyle( 'width', '' ) || '', 10),61 var width = this.getStyle( 'width', '' ), 60 62 txtWidth = dialog.getContentElement( 'info', 'width' ); 61 63 … … 63 65 64 66 // Synchronize height value. 65 var height = parseInt( this.getStyle( 'height', '' ) || '', 10),67 var height = this.getStyle( 'height', '' ), 66 68 txtHeight = dialog.getContentElement( 'info', 'height' ); 67 69 … … 151 153 labelLayout : 'vertical', 152 154 label : commonLang.width, 153 validate : CKEDITOR.dialog.validate.integer( commonLang.invalidWidth ), 155 validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ), 156 getValue : defaultToPixel, 154 157 setup : function( iframeNode, fakeImage ) 155 158 { 156 159 loadValue.apply( this, arguments ); 157 if ( fakeImage ) 158 { 159 var fakeImageWidth = parseInt( fakeImage.$.style.width, 10 ); 160 if ( !isNaN( fakeImageWidth ) ) 161 this.setValue( fakeImageWidth ); 162 } 160 fakeImage && this.setValue( fakeImage.getStyle( 'width' ) ); 163 161 }, 164 162 commit : function( iframeNode, extraStyles ) 165 163 { 166 164 commitValue.apply( this, arguments ); 167 if ( this.getValue() )168 extraStyles.width = this.getValue() + 'px';165 var val = this.getValue(); 166 val && ( extraStyles.width = val ); 169 167 }, 170 168 onChange : function() … … 172 170 var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ), 173 171 value = this.getValue(); 174 styles && styles.updateStyle( 'width', value && ( value + 'px' ));172 styles && styles.updateStyle( 'width', value ); 175 173 } 176 174 }, … … 181 179 labelLayout : 'vertical', 182 180 label : commonLang.height, 183 validate : CKEDITOR.dialog.validate.integer( commonLang.invalidHeight ), 181 validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ), 182 getValue : defaultToPixel, 184 183 setup : function( iframeNode, fakeImage ) 185 184 { 186 185 loadValue.apply( this, arguments ); 187 if ( fakeImage ) 188 { 189 var fakeImageHeight = parseInt( fakeImage.$.style.height, 10 ); 190 if ( !isNaN( fakeImageHeight ) ) 191 this.setValue( fakeImageHeight ); 192 } 186 fakeImage && this.setValue( fakeImage.getStyle( 'height' ) ); 193 187 }, 194 188 commit : function( iframeNode, extraStyles ) 195 189 { 196 190 commitValue.apply( this, arguments ); 197 if ( this.getValue() )198 extraStyles.height = this.getValue() + 'px';191 var val = this.getValue(); 192 val && ( extraStyles.height = val ); 199 193 }, 200 194 onChange : function() … … 202 196 var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ), 203 197 value = this.getValue(); 204 styles && styles.updateStyle( 'height', value && ( value + 'px' ));198 styles && styles.updateStyle( 'height', value ); 205 199 } 206 200 }, -
CKEditor/trunk/_source/plugins/table/dialogs/table.js
r6956 r6979 6 6 (function() 7 7 { 8 var widthPattern = /^(\d+(?:\.\d+)?)(px|%)$/, 9 heightPattern = /^(\d+(?:\.\d+)?)px$/; 8 var defaultToPixel = CKEDITOR.tools.cssLength; 10 9 11 10 var commitValue = function( data ) … … 43 42 // Synchronize width value. 44 43 var width = this.getStyle( 'width', '' ), 45 txtWidth = dialog.getContentElement( 'info', 'txtWidth' ), 46 cmbWidthType = dialog.getContentElement( 'info', 'cmbWidthType' ), 47 isPx = 1; 48 49 if ( width ) 50 { 51 isPx = ( width.length < 3 || width.substr( width.length - 1 ) != '%' ); 52 width = parseInt( width, 10 ); 53 } 44 txtWidth = dialog.getContentElement( 'info', 'txtWidth' ); 54 45 55 46 txtWidth && txtWidth.setValue( width, true ); 56 cmbWidthType && cmbWidthType.setValue( isPx ? 'pixels' : 'percents', true );57 47 58 48 // Synchronize height value. … … 60 50 txtHeight = dialog.getContentElement( 'info', 'txtHeight' ); 61 51 62 height && ( height = parseInt( height, 10 ) );63 52 txtHeight && txtHeight.setValue( height, true ); 64 53 }); … … 225 214 226 215 // Set the width and height. 227 var styles = []; 228 if ( info.txtHeight ) 229 table.setStyle( 'height', CKEDITOR.tools.cssLength( info.txtHeight ) ); 230 else 231 table.removeStyle( 'height' ); 232 233 if ( info.txtWidth ) 234 { 235 var type = info.cmbWidthType || 'pixels'; 236 table.setStyle( 'width', info.txtWidth + ( type == 'pixels' ? 'px' : '%' ) ); 237 } 238 else 239 table.removeStyle( 'width' ); 216 info.txtHeight ? table.setStyle( 'height', info.txtHeight ) : table.removeStyle( 'height' ); 217 info.txtWidth ? table.setStyle( 'width', info.txtWidth ) : table.removeStyle( 'width' ); 240 218 241 219 if ( !table.getAttribute( 'style' ) ) … … 424 402 label : editor.lang.common.width, 425 403 'default' : 500, 426 validate : CKEDITOR.dialog.validate['number']( editor.lang.table.invalidWidth ), 427 428 // Extra labelling of width unit type. 429 onLoad : function() 430 { 431 var widthType = this.getDialog().getContentElement( 'info', 'cmbWidthType' ), 432 labelElement = widthType.getElement(), 433 inputElement = this.getInputElement(), 434 ariaLabelledByAttr = inputElement.getAttribute( 'aria-labelledby' ); 435 436 inputElement.setAttribute( 'aria-labelledby', [ ariaLabelledByAttr, labelElement.$.id ].join( ' ' ) ); 437 }, 438 404 getValue : defaultToPixel, 405 validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ), 439 406 onChange : function() 440 407 { 441 408 var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ); 442 443 if ( styles ) 444 { 445 var value = this.getValue(); 446 447 if ( value ) 448 value += this.getDialog().getContentElement( 'info', 'cmbWidthType' ).getValue() == 'percents' ? '%' : 'px'; 449 450 styles.updateStyle( 'width', value ); 451 } 409 styles && styles.updateStyle( 'width', this.getValue() ); 452 410 }, 453 454 411 setup : function( selectedTable ) 455 412 { 456 var widthMatch = widthPattern.exec( selectedTable.$.style.width ); 457 if ( widthMatch ) 458 this.setValue( widthMatch[1] ); 459 else 460 this.setValue( '' ); 461 }, 462 commit : commitValue 463 }, 464 { 465 id : 'cmbWidthType', 466 type : 'select', 467 label : editor.lang.table.widthUnit, 468 labelStyle: 'visibility:hidden', 469 'default' : 'pixels', 470 items : 471 [ 472 [ editor.lang.table.widthPx , 'pixels'], 473 [ editor.lang.table.widthPc , 'percents'] 474 ], 475 setup : function( selectedTable ) 476 { 477 var widthMatch = widthPattern.exec( selectedTable.$.style.width ); 478 if ( widthMatch ) 479 this.setValue( widthMatch[2] == 'px' ? 'pixels' : 'percents' ); 480 }, 481 onChange : function() 482 { 483 this.getDialog().getContentElement( 'info', 'txtWidth' ).onChange(); 413 var val = selectedTable.getStyle( 'width' ); 414 val && this.setValue( val ); 484 415 }, 485 416 commit : commitValue … … 498 429 label : editor.lang.common.height, 499 430 'default' : '', 500 validate : CKEDITOR.dialog.validate['number']( editor.lang.table.invalidHeight ), 501 502 // Extra labelling of height unit type. 503 onLoad : function() 504 { 505 var heightType = this.getDialog().getContentElement( 'info', 'htmlHeightType' ), 506 labelElement = heightType.getElement(), 507 inputElement = this.getInputElement(), 508 ariaLabelledByAttr = inputElement.getAttribute( 'aria-labelledby' ); 509 510 inputElement.setAttribute( 'aria-labelledby', [ ariaLabelledByAttr, labelElement.$.id ].join( ' ' ) ); 511 }, 512 431 getValue : defaultToPixel, 432 validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ), 513 433 onChange : function() 514 434 { 515 435 var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ); 516 517 if ( styles ) 518 { 519 var value = this.getValue(); 520 styles.updateStyle( 'height', value && ( value + 'px' ) ); 521 } 436 styles && styles.updateStyle( 'height', this.getValue() ); 522 437 }, 523 438 524 439 setup : function( selectedTable ) 525 440 { 526 var heightMatch = heightPattern.exec( selectedTable.$.style.height ); 527 if ( heightMatch ) 528 this.setValue( heightMatch[1] ); 441 var val = selectedTable.getStyle( 'width' ); 442 val && this.setValue( val ); 529 443 }, 530 444 commit : commitValue 531 },532 {533 id : 'htmlHeightType',534 type : 'html',535 html : '<div><br />' + editor.lang.table.widthPx + '</div>'536 445 } 537 446 ] … … 547 456 label : editor.lang.table.cellSpace, 548 457 'default' : 1, 549 validate : CKEDITOR.dialog.validate ['number']( editor.lang.table.invalidCellSpacing),458 validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ), 550 459 setup : function( selectedTable ) 551 460 { … … 566 475 label : editor.lang.table.cellPad, 567 476 'default' : 1, 568 validate : CKEDITOR.dialog.validate ['number']( editor.lang.table.invalidCellPadding),477 validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ), 569 478 setup : function( selectedTable ) 570 479 {
Note: See TracChangeset
for help on using the changeset viewer.
