Index: CKEditor/trunk/CHANGES.html
===================================================================
--- CKEditor/trunk/CHANGES.html	(revision 4047)
+++ CKEditor/trunk/CHANGES.html	(revision 4048)
@@ -138,15 +138,17 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3782">#3782</a> : Remove empty list in table cell result in collapsed cell.</li>
 		<li>Updated the following language files:<ul>
-			<li><a href="http://dev.fckeditor.net/ticket/3837">#3837</a> : Brazilian Portuguese.</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4115">#4115</a> : Chinese (Simplified)</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4102">#4102</a> : Croatian</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4105">#4105</a> : French</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4104">#4104</a> : German</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4116">#4116</a> : Italian</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4091">#4091</a> : Japanese</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4120">#4120</a> : Polish</li>
-			<li><a href="http://dev.fckeditor.net/ticket/3987">#3987</a> : Spanish.</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4089">#4089</a> : Ukrainian.</li>
-			<li><a href="http://dev.fckeditor.net/ticket/4166">#4166</a> : Vietnamese</li>
+			<li><a href="http://dev.fckeditor.net/ticket/3837">#3837</a> : Brazilian Portuguese;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4171">#4171</a> : Catalan;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4115">#4115</a> : Chinese (Simplified);</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4179">#4179</a> : Chinese (Traditional);</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4102">#4102</a> : Croatian;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4105">#4105</a> : French;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4104">#4104</a> : German;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4116">#4116</a> : Italian;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4091">#4091</a> : Japanese;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4120">#4120</a> : Polish;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/3987">#3987</a> : Spanish;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4089">#4089</a> : Ukrainian;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/4166">#4166</a> : Vietnamese.</li>
 		</ul></li>
 		<li><a href="http://dev.fckeditor.net/ticket/3984">#3984</a> : [IE]The pre-formatted style is generating error.</li>
Index: CKEditor/trunk/_source/lang/_translationstatus.txt
===================================================================
--- CKEditor/trunk/_source/lang/_translationstatus.txt	(revision 4047)
+++ CKEditor/trunk/_source/lang/_translationstatus.txt	(revision 4048)
@@ -7,5 +7,5 @@
 bn.js      Found: 307 Missing: 128
 bs.js      Found: 210 Missing: 225
-ca.js      Found: 327 Missing: 108
+ca.js      Found: 435 Missing: 0
 cs.js      Found: 327 Missing: 108
 da.js      Found: 326 Missing: 109
Index: CKEditor/trunk/_source/lang/ca.js
===================================================================
--- CKEditor/trunk/_source/lang/ca.js	(revision 4047)
+++ CKEditor/trunk/_source/lang/ca.js	(revision 4048)
@@ -32,5 +32,5 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle		: 'Rich text editor, %1', // MISSING
+	editorTitle		: 'Editor de text enriquit, %1',
 
 	// Toolbar buttons without dialogs.
@@ -91,10 +91,10 @@
 		generalTab		: 'General',
 		advancedTab		: 'Avançat',
-		validateNumberFailed	: 'This value is not a number.', // MISSING
-		confirmNewPage	: 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING
-		confirmCancel	: 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING
+		validateNumberFailed	: 'Aquest valor no és un número.',
+		confirmNewPage	: 'Els canvis en aquest contingut que no es desin es perdran. Esteu segur que voleu carregar una pàgina nova?',
+		confirmCancel	: 'Algunes opcions s\'han canviat. Esteu segur que voleu tancar la finestra de diàleg?',
 
 		// Put the voice-only part of the label in the span.
-		unavailable		: '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
+		unavailable		: '%1<span class="cke_accessibility">, no disponible</span>'
 	},
 
@@ -130,5 +130,5 @@
 		targetPopupName	: 'Nom finestra popup',
 		popupFeatures	: 'Característiques finestra popup',
-		popupResizable	: 'Resizable', // MISSING
+		popupResizable	: 'Redimensionable',
 		popupStatusBar	: 'Barra d\'estat',
 		popupLocationBar	: 'Barra d\'adreça',
@@ -142,5 +142,5 @@
 		popupHeight		: 'Alçada',
 		popupTop		: 'Posició dalt',
-		id				: 'Id', // MISSING
+		id				: 'Id',
 		langDir			: 'Direcció de l\'idioma',
 		langDirNotSet	: '<no definit>',
@@ -188,7 +188,7 @@
 		matchCase			: 'Distingeix majúscules/minúscules',
 		matchWord			: 'Només paraules completes',
-		matchCyclic			: 'Match cyclic', // MISSING
+		matchCyclic			: 'Match cyclic',
 		replaceAll			: 'Reemplaça-ho tot',
-		replaceSuccessMsg	: '%1 occurrence(s) replaced.' // MISSING
+		replaceSuccessMsg	: '%1 ocurrència/es reemplaçada/es.'
 	},
 
@@ -216,16 +216,16 @@
 		caption		: 'Títol',
 		summary		: 'Resum',
-		headers		: 'Headers', // MISSING
-		headersNone		: 'None', // MISSING
-		headersColumn	: 'First column', // MISSING
-		headersRow		: 'First Row', // MISSING
-		headersBoth		: 'Both', // MISSING
-		invalidRows		: 'Number of rows must be a number greater than 0.', // MISSING
-		invalidCols		: 'Number of columns must be a number greater than 0.', // MISSING
-		invalidBorder	: 'Border size must be a number.', // MISSING
-		invalidWidth	: 'Table width must be a number.', // MISSING
-		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
+		headers		: 'Capçaleres',
+		headersNone		: 'Cap',
+		headersColumn	: 'Primera columna',
+		headersRow		: 'Primera fila',
+		headersBoth		: 'Ambdues',
+		invalidRows		: 'El nombre de files ha de ser un nombre major que 0.',
+		invalidCols		: 'El nombre de columnes ha de ser un nombre major que 0.',
+		invalidBorder	: 'El gruix de la vora ha de ser un nombre.',
+		invalidWidth	: 'L\'amplada de la taula  ha de ser un nombre.',
+		invalidHeight	: 'L\'alçada de la taula  ha de ser un nombre.',
+		invalidCellSpacing	: 'L\'espaiat de cel·la  ha de ser un nombre.',
+		invalidCellPadding	: 'L\'encoixinament de cel·la  ha de ser un nombre.',
 
 		cell :
@@ -240,25 +240,25 @@
 			splitHorizontal	: 'Divideix la cel·la horitzontalment',
 			splitVertical	: 'Divideix la cel·la verticalment',
-			title			: 'Cell Properties', // MISSING
-			cellType		: 'Cell Type', // MISSING
-			rowSpan			: 'Rows Span', // MISSING
-			colSpan			: 'Columns Span', // MISSING
-			wordWrap		: 'Word Wrap', // MISSING
-			hAlign			: 'Horizontal Alignment', // MISSING
-			vAlign			: 'Vertical Alignment', // MISSING
-			alignTop		: 'Top', // MISSING
-			alignMiddle		: 'Middle', // MISSING
-			alignBottom		: 'Bottom', // MISSING
-			alignBaseline	: 'Baseline', // MISSING
-			bgColor			: 'Background Color', // MISSING
-			borderColor		: 'Border Color', // MISSING
-			data			: 'Data', // MISSING
-			header			: 'Header', // MISSING
-			yes				: 'Yes', // MISSING
-			no				: 'No', // MISSING
-			invalidWidth	: 'Cell width must be a number.', // MISSING
-			invalidHeight	: 'Cell height must be a number.', // MISSING
-			invalidRowSpan	: 'Rows span must be a whole number.', // MISSING
-			invalidColSpan	: 'Columns span must be a whole number.' // MISSING
+			title			: 'Propertiat de la cel·la',
+			cellType		: 'Tipus de cel·la',
+			rowSpan			: 'Expansió de files',
+			colSpan			: 'Expansió de columnes',
+			wordWrap		: 'Ajustar al contingut',
+			hAlign			: 'Aliniació Horizontal',
+			vAlign			: 'Aliniació Vertical',
+			alignTop		: 'A dalt',
+			alignMiddle		: 'Al mig',
+			alignBottom		: 'A baix',
+			alignBaseline	: 'A la línia base',
+			bgColor			: 'Color de fons',
+			borderColor		: 'Color de la vora',
+			data			: 'Data',
+			header			: 'Capçalera',
+			yes				: 'Sí',
+			no				: 'No',
+			invalidWidth	: 'L\'amplada de cel·la ha de ser un nombre.',
+			invalidHeight	: 'L\'alçada de cel·la ha de ser un nombre.',
+			invalidRowSpan	: 'L\'expansió de files ha de ser un nombre enter.',
+			invalidColSpan	: 'L\'expansió de columnes ha de ser un nombre enter.'
 		},
 
@@ -307,5 +307,5 @@
 		action		: 'Acció',
 		method		: 'Mètode',
-		encoding	: 'Encoding', // MISSING
+		encoding	: 'Codificació',
 		target		: 'Destí',
 		targetNotSet	: '<no definit>',
@@ -396,6 +396,6 @@
 		alertUrl	: 'Si us plau, escriviu la URL de la imatge',
 		linkTab	: 'Enllaç',
-		button2Img	: 'Do you want to transform the selected image button on a simple image?', // MISSING
-		img2Button	: 'Do you want to transform the selected image on a image button?' // MISSING
+		button2Img	: 'Voleu transformar el botó d\'imatge seleccionat en una simple imatge?',
+		img2Button	: 'Voleu transformar la imatge seleccionada en un botó d\'imatge?'
 	},
 
@@ -404,18 +404,18 @@
 	{
 		properties		: 'Propietats del Flash',
-		propertiesTab	: 'Properties', // MISSING
+		propertiesTab	: 'Propietats',
 		title		: 'Propietats del Flash',
 		chkPlay		: 'Reprodució automàtica',
 		chkLoop		: 'Bucle',
 		chkMenu		: 'Habilita menú Flash',
-		chkFull		: 'Allow Fullscreen', // MISSING
+		chkFull		: 'Permetre la pantalla completa',
  		scale		: 'Escala',
 		scaleAll		: 'Mostra-ho tot',
 		scaleNoBorder	: 'Sense vores',
 		scaleFit		: 'Mida exacta',
-		access			: 'Script Access', // MISSING
-		accessAlways	: 'Always', // MISSING
-		accessSameDomain	: 'Same domain', // MISSING
-		accessNever	: 'Never', // MISSING
+		access			: 'Accés a scripts',
+		accessAlways	: 'Sempre',
+		accessSameDomain	: 'El mateix domini',
+		accessNever	: 'Mai',
 		align		: 'Alineació',
 		alignLeft	: 'Ajusta a l\'esquerra',
@@ -428,16 +428,16 @@
 		alignTextTop	: 'Text Top',
 		alignTop	: 'Top',
-		quality		: 'Quality', // MISSING
-		qualityBest		 : 'Best', // MISSING
-		qualityHigh		 : 'High', // MISSING
-		qualityAutoHigh	 : 'Auto High', // MISSING
-		qualityMedium	 : 'Medium', // MISSING
-		qualityAutoLow	 : 'Auto Low', // MISSING
-		qualityLow		 : 'Low', // MISSING
-		windowModeWindow	 : 'Window', // MISSING
-		windowModeOpaque	 : 'Opaque', // MISSING
-		windowModeTransparent	 : 'Transparent', // MISSING
-		windowMode	: 'Window mode', // MISSING
-		flashvars	: 'Variables for Flash', // MISSING
+		quality		: 'Qualitat',
+		qualityBest		 : 'La millor',
+		qualityHigh		 : 'Alta',
+		qualityAutoHigh	 : 'Alta automàtica',
+		qualityMedium	 : 'Mitjana',
+		qualityAutoLow	 : 'Baixa automàtica',
+		qualityLow		 : 'Baixa',
+		windowModeWindow	 : 'Finestra',
+		windowModeOpaque	 : 'Opaca',
+		windowModeTransparent	 : 'Transparent',
+		windowMode	: 'Mode de la finestra',
+		flashvars	: 'Variables de Flash',
 		bgcolor	: 'Color de Fons',
 		width	: 'Amplada',
@@ -446,8 +446,8 @@
 		vSpace	: 'Espaiat vert.',
 		validateSrc : 'Si us plau, escrigui l\'enllaç URL',
-		validateWidth : 'Width must be a number.', // MISSING
-		validateHeight : 'Height must be a number.', // MISSING
-		validateHSpace : 'HSpace must be a number.', // MISSING
-		validateVSpace : 'VSpace must be a number.' // MISSING
+		validateWidth : 'L\'amplada ha de ser un nombre.',
+		validateHeight : 'L\'alçada ha de ser un nombre.',
+		validateHSpace : 'L\'espaiat horitzonatal ha de ser un nombre.',
+		validateVSpace : 'L\'espaiat vertical ha de ser un nombre.'
 	},
 
@@ -456,7 +456,7 @@
 	{
 		toolbar			: 'Revisa l\'ortografia',
-		title			: 'Spell Check', // MISSING
-		notAvailable	: 'Sorry, but service is unavailable now.', // MISSING
-		errorLoading	: 'Error loading application service host: %s.', // MISSING
+		title			: 'Comprova l\'ortografia',
+		notAvailable	: 'El servei no es troba disponible ara.',
+		errorLoading	: 'Error carregant el servidor: %s.',
 		notInDic		: 'No és al diccionari',
 		changeTo		: 'Reemplaça amb',
@@ -483,5 +483,5 @@
 	elementsPath :
 	{
-		eleTitle : '%1 element' // MISSING
+		eleTitle : '%1 element'
 	},
 
@@ -539,9 +539,9 @@
 	{
 		label : 'Estil',
-		voiceLabel : 'Styles', // MISSING
-		panelVoiceLabel : 'Select a style', // MISSING
-		panelTitle1 : 'Block Styles', // MISSING
-		panelTitle2 : 'Inline Styles', // MISSING
-		panelTitle3 : 'Object Styles' // MISSING
+		voiceLabel : 'Estils',
+		panelVoiceLabel : 'Seleccioneu un estil',
+		panelTitle1 : 'Estils de bloc',
+		panelTitle2 : 'Estils incrustats',
+		panelTitle3 : 'Estils d\'objecte'
 	},
 
@@ -549,7 +549,7 @@
 	{
 		label : 'Format',
-		voiceLabel : 'Format', // MISSING
+		voiceLabel : 'Format',
 		panelTitle : 'Format',
-		panelVoiceLabel : 'Select a paragraph format', // MISSING
+		panelVoiceLabel : 'Seleccioneu un format de paràgraf',
 
 		tag_p : 'Normal',
@@ -568,7 +568,7 @@
 	{
 		label : 'Tipus de lletra',
-		voiceLabel : 'Font', // MISSING
+		voiceLabel : 'Tipus de lletra',
 		panelTitle : 'Tipus de lletra',
-		panelVoiceLabel : 'Select a font' // MISSING
+		panelVoiceLabel : 'Seleccioneu un tipus de lletra'
 	},
 
@@ -576,7 +576,7 @@
 	{
 		label : 'Mida',
-		voiceLabel : 'Font Size', // MISSING
+		voiceLabel : 'Mida de la lletra',
 		panelTitle : 'Mida',
-		panelVoiceLabel : 'Select a font size' // MISSING
+		panelVoiceLabel : 'Seleccioneu una mida de lletra'
 	},
 
@@ -635,40 +635,40 @@
 	scayt :
 	{
-		title : 'Spell Check As You Type', // MISSING
-		enable : 'Enable SCAYT', // MISSING
-		disable : 'Disable SCAYT', // MISSING
-		about : 'About SCAYT', // MISSING
-		toggle : 'Toggle SCAYT', // MISSING
-		options : 'Options', // MISSING
-		langs : 'Languages', // MISSING
-		moreSuggestions : 'More suggestions', // MISSING
-		ignore : 'Ignore', // MISSING
-		ignoreAll : 'Ignore All', // MISSING
-		addWord : 'Add Word', // MISSING
-		emptyDic : 'Dictionary name should not be empty.', // MISSING
-		optionsTab : 'Options', // MISSING
-		languagesTab : 'Languages', // MISSING
-		dictionariesTab : 'Dictionaries', // MISSING
-		aboutTab : 'About' // MISSING
+		title : 'Spell Check As You Type',
+		enable : 'Habilitat l\'SCAYT',
+		disable : 'Deshabilita SCAYT',
+		about : 'Quant a l\'SCAYT',
+		toggle : 'Commuta l\'SCAYT',
+		options : 'Opcions',
+		langs : 'Idiomes',
+		moreSuggestions : 'Més suggerències',
+		ignore : 'Ignora',
+		ignoreAll : 'Ignora\'ls tots',
+		addWord : 'Afegeix una paraula',
+		emptyDic : 'El nom del diccionari no hauria d\'estar buit.',
+		optionsTab : 'Opcions',
+		languagesTab : 'Idiomes',
+		dictionariesTab : 'Diccionaris',
+		aboutTab : 'Quant a'
 	},
 
 	about :
 	{
-		title : 'About CKEditor', // MISSING
-		dlgTitle : 'About CKEditor', // MISSING
-		moreInfo : 'For licensing information please visit our web site:', // MISSING
-		copy : 'Copyright &copy; $1. All rights reserved.' // MISSING
-	},
-
-	maximize : 'Maximize', // MISSING
+		title : 'Quan al CKEditor',
+		dlgTitle : 'Quan al CKEditor',
+		moreInfo : 'Per informació sobre llicències visiteu el web:',
+		copy : 'Copyright &copy; $1. All rights reserved.'
+	},
+
+	maximize : 'Maximiza',
 
 	fakeobjects :
 	{
-		anchor : 'Anchor', // MISSING
-		flash : 'Flash Animation', // MISSING
-		div : 'Page Break', // MISSING
-		unknown : 'Unknown Object' // MISSING
-	},
-
-	resize : 'Drag to resize' // MISSING
+		anchor : 'Àncora',
+		flash : 'Animació Flash',
+		div : 'Salt de pàgina',
+		unknown : 'Objecte desconegut'
+	},
+
+	resize : 'Arrossegueu per redimensionar'
 };
