Index: /CKEditor/branches/prototype/_source/lang/en.js
===================================================================
--- /CKEditor/branches/prototype/_source/lang/en.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/lang/en.js	(revision 2825)
@@ -44,5 +44,5 @@
 	dir : 'ltr',
 
-	// Toolbar buttons.
+	// Toolbar buttons without dialogs.
 	source			: 'Source',
 	underline		: 'Underline',
@@ -54,92 +54,100 @@
 	subscript		: 'Subscript',
 	superscript		: 'Superscript',
-	ok				: 'OK',
-	cancel			: 'Cancel',
 	horizontalrule	: 'Insert Horizontal Line',
-	specialChar		: 'Insert Special Character',
-
-	// Common terms.
-	browseServer	: 'Browser Server',
-	url				: 'URL',
-	protocol		: 'Protocol',
-	upload			: 'Upload',
-	uploadSubmit	: 'Send it to the Server',
-	image			: 'Image',
-	form			: 'Form',
-	checkbox		: 'Checkbox',
-	radio		: 'Radio Button',
-	textField		: 'Text Field',
-	textarea		: 'Textarea',
-	hiddenField		: 'Hidden Field',
-	button			: 'Button',
-	select	: 'Selection Field',
-	imageButton		: 'Image Button',
-	find			: 'Find',
-	replace			: 'Replace',
-
-	// Common dialog messages.
-	dlgConfirmCancel: 'Some of the options have been changed. Are you sure to close the dialog?',
+	unlink			: 'Unlink',
+
+	// Common messages and labels.
+	common :
+	{
+		browseServer	: 'Browser Server',
+		url				: 'URL',
+		protocol		: 'Protocol',
+		upload			: 'Upload',
+		uploadSubmit	: 'Send it to the Server',
+		image			: 'Image',
+		form			: 'Form',
+		checkbox		: 'Checkbox',
+		radio		: 'Radio Button',
+		textField		: 'Text Field',
+		textarea		: 'Textarea',
+		hiddenField		: 'Hidden Field',
+		button			: 'Button',
+		select	: 'Selection Field',
+		imageButton		: 'Image Button',
+		ok				: 'OK',
+		cancel			: 'Cancel',
+		generalTab		: 'General',
+		advancedTab		: 'Advanced',
+		confirmCancel	: 'Some of the options have been changed. Are you sure to close the dialog?'
+	},
+
+	// Special char dialog.
+	specialChar		: 
+	{
+		toolbar		: 'Insert Special Character',
+		title		: 'Select Special Character'
+	},
 
 	// Link dialog.
-	link			: 'Link\u200b',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
-	linkTitle		: 'Link',
-	linkInfo		: 'Link Info',
-	linkTarget		: 'Target',
-	linkUpload		: 'Upload',
-	linkAdvanced	: 'Advanced',
-	linkType		: 'Link Type',
-	linkToAnchor	: 'Link to anchor in the text',
-	linkToEmail		: 'E-mail',
-	linkTarget		: 'Target',
-	linkTargetNotSet	: '<not set>',
-	linkTargetFrame	: '<frame>',
-	linkTargetPopup	: '<popup window>',
-	linkTargetNew	: 'New Window (_blank)',
-	linkTargetTop	: 'Topmost Window (_top)',
-	linkTargetSelf	: 'Same Window (_self)',
-	linkTargetParent	: 'Parent Window (_parent)',
-	linkTargetFrameName	: 'Target Frame Name',
-	linkTargetPopupName	: 'Popup Window Name',
-	linkPopupFeatures	: 'Popup Window Features',
-	linkPopupResizable	: 'Resizable',
-	linkPopupStatusBar	: 'Status Bar',
-	linkPopupLocationBar	: 'Location Bar',
-	linkPopupToolbar	: 'Toolbar',
-	linkPopupMenuBar	: 'Menu Bar',
-	linkPopupFullScreen	: 'Full Screen (IE)',
-	linkPopupScrollBars	: 'Scroll Bars',
-	linkPopupDependent	: 'Dependent (Netscape)',
-	linkPopupWidth		: 'Width',
-	linkPopupLeft		: 'Left Position',
-	linkPopupHeight		: 'Height',
-	linkPopupTop		: 'Top Position',
-	linkId				: 'Id',
-	linkLangDir			: 'Language Direction',
-	linkLangDirNotSet	: '<not set>',
-	linkLangDirLTR		: 'Left to Right',
-	linkLangDirRTL		: 'Right to Left',
-	linkAcccessKey		: 'Access Key',
-	linkName			: 'Name',
-	linkLangCode		: 'Language Code',
-	linkTabIndex		: 'Tab Index',
-	linkAdvisoryTitle	: 'Advisory Title',
-	linkAdvisoryContentType	: 'Advisory Content Type',
-	linkCSSClasses		: 'Stylesheet Classes',
-	linkCharset			: 'Linked Resource Charset',
-	linkStyles			: 'Style',
-	linkSelectAnchor	: 'Select an Anchor',
-	linkAnchorName		: 'By Anchor Name',
-	linkAnchorId		: 'By Element Id',
-	linkEmailAddress	: 'E-Mail Address',
-	linkEmailSubject	: 'Message Subject',
-	linkEmailBody		: 'Message Body',
-	linkNoAnchors		: '(No anchors available in the document)',
-	linkNoUrl			: 'Please type the link URL',
-	linkNoEmail			: 'Please type the e-mail address',
-
-	// Unlink command.
-	unlink			: 'Unlink',
-
-	// Dialog titles.
+	link :
+	{
+		toolbar		: 'Link\u200b',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
+		title		: 'Link',
+		info		: 'Link Info',
+		target		: 'Target',
+		upload		: 'Upload',
+		advanced	: 'Advanced',
+		type		: 'Link Type',
+		toAnchor	: 'Link to anchor in the text',
+		toEmail		: 'E-mail',
+		target		: 'Target',
+		targetNotSet	: '<not set>',
+		targetFrame	: '<frame>',
+		targetPopup	: '<popup window>',
+		targetNew	: 'New Window (_blank)',
+		targetTop	: 'Topmost Window (_top)',
+		targetSelf	: 'Same Window (_self)',
+		targetParent	: 'Parent Window (_parent)',
+		targetFrameName	: 'Target Frame Name',
+		targetPopupName	: 'Popup Window Name',
+		popupFeatures	: 'Popup Window Features',
+		popupResizable	: 'Resizable',
+		popupStatusBar	: 'Status Bar',
+		popupLocationBar	: 'Location Bar',
+		popupToolbar	: 'Toolbar',
+		popupMenuBar	: 'Menu Bar',
+		popupFullScreen	: 'Full Screen (IE)',
+		popupScrollBars	: 'Scroll Bars',
+		popupDependent	: 'Dependent (Netscape)',
+		popupWidth		: 'Width',
+		popupLeft		: 'Left Position',
+		popupHeight		: 'Height',
+		popupTop		: 'Top Position',
+		id				: 'Id',
+		langDir			: 'Language Direction',
+		langDirNotSet	: '<not set>',
+		langDirLTR		: 'Left to Right',
+		langDirRTL		: 'Right to Left',
+		acccessKey		: 'Access Key',
+		name			: 'Name',
+		langCode		: 'Language Code',
+		tabIndex		: 'Tab Index',
+		advisoryTitle	: 'Advisory Title',
+		advisoryContentType	: 'Advisory Content Type',
+		cssClasses		: 'Stylesheet Classes',
+		charset			: 'Linked Resource Charset',
+		styles			: 'Style',
+		selectAnchor	: 'Select an Anchor',
+		anchorName		: 'By Anchor Name',
+		anchorId		: 'By Element Id',
+		emailAddress	: 'E-Mail Address',
+		emailSubject	: 'Message Subject',
+		emailBody		: 'Message Body',
+		noAnchors		: '(No anchors available in the document)',
+		noUrl			: 'Please type the link URL',
+		noEmail			: 'Please type the e-mail address'
+	},
+
+	// Dialog titles. TODO: Group these with their dialogs.
 	formProp		: 'Form Properties',
 	buttonProp		: 'Button Properties',
@@ -152,11 +160,5 @@
 	extareaProp	: 'Textarea Properties',
 
-	// Div Dialog
-	dlgDivGeneralTab	: 'General',
-	dlgDivAdvancedTab	: 'Advanced',
-	dlgDivStyle		: 'Style',
-	dlgDivInlineStyle	: 'Inline Style',
-
-	// General Dialogs Labels
+	// General Dialogs Labels. TODO: Group these to common terms.
 	dlgGenNotSet		: '<not set>',
 	dlgGenId			: 'Id',
@@ -175,49 +177,47 @@
 	dlgGenStyle			: 'Style',
 
-	// Special Character Dialog
-	dlgSpecialCharTitle	: 'Select Special Character',
-
-	// Find and Replace Dialog
-	dlgFindAndReplaceTitle	: 'Find and Replace',
-
-	// Find Dialog
-	dlgFindTitle		: 'Find',
-	dlgFindFindBtn		: 'Find',
-	dlgFindNotFoundMsg	: 'The specified text was not found.',
-
-	// Replace Dialog
-	dlgReplaceTitle			: 'Replace',
-	dlgReplaceFindLbl		: 'Find what:',
-	dlgReplaceReplaceLbl	: 'Replace with:',
-	dlgReplaceCaseChk		: 'Match case',
-	dlgReplaceReplaceBtn	: 'Replace',
-	dlgReplaceReplAllBtn	: 'Replace All',
-	dlgReplaceWordChk		: 'Match whole word',
+	// Find And Replace Dialog
+	findAndReplace :
+	{
+		title				: 'Find and Replace',
+		find				: 'Find',
+		replace				: 'Replace',
+		findWhat			: 'Find what:',
+		replaceWith			: 'Replace with:',
+		notFoundMsg			: 'The specified text was not found.',
+		matchCase			: 'Match case',
+		matchWord			: 'Match whole word',
+		replaceAll			: 'Replace All'
+	},
 
 	// Table Dialog
-	dlgTableTitle		: 'Table Properties',
-	dlgTableRows		: 'Rows',
-	dlgTableColumns		: 'Columns',
-	dlgTableBorder		: 'Border size',
-	dlgTableAlign		: 'Alignment',
-	dlgTableAlignNotSet	: '<Not set>',
-	dlgTableAlignLeft	: 'Left',
-	dlgTableAlignCenter	: 'Center',
-	dlgTableAlignRight	: 'Right',
-	dlgTableWidth		: 'Width',
-	dlgTableWidthPx		: 'pixels',
-	dlgTableWidthPc		: 'percent',
-	dlgTableHeight		: 'Height',
-	dlgTableCellSpace	: 'Cell spacing',
-	dlgTableCellPad		: 'Cell padding',
-	dlgTableCaption		: 'Caption',
-	dlgTableSummary		: 'Summary',
-	dlgTableHeaders		: 'Headers',
-	dlgTableHeadersNone		: 'None',
-	dlgTableHeadersColumn	: 'First column',
-	dlgTableHeadersRow		: 'First Row',
-	dlgTableHeadersBoth		: 'Both',
-
-	// Button Dialog
+	table :
+	{
+		toolbar		: 'Table',
+		title		: 'Table Properties',
+		rows		: 'Rows',
+		columns		: 'Columns',
+		border		: 'Border size',
+		align		: 'Alignment',
+		alignNotSet	: '<Not set>',
+		alignLeft	: 'Left',
+		alignCenter	: 'Center',
+		alignRight	: 'Right',
+		width		: 'Width',
+		widthPx		: 'pixels',
+		widthPc		: 'percent',
+		height		: 'Height',
+		cellSpace	: 'Cell spacing',
+		cellPad		: 'Cell padding',
+		caption		: 'Caption',
+		summary		: 'Summary',
+		headers		: 'Headers',
+		headersNone		: 'None',
+		headersColumn	: 'First column',
+		headersRow		: 'First Row',
+		headersBoth		: 'Both'
+	},
+
+	// Button Dialog. TODO: Group these under button.
 	dlgButtonText		: 'Text (Value)',
 	dlgButtonType		: 'Type',
@@ -226,15 +226,15 @@
 	dlgButtonTypeRst	: 'Reset',
 
-	// Checkbox and Radio Button Dialogs
+	// Checkbox and Radio Button Dialogs. TODO: Group these under checkboxAndRadio.
 	dlgCheckboxName		: 'Name',
 	dlgCheckboxValue	: 'Value',
 	dlgCheckboxSelected	: 'Selected',
 
-	// Form Dialog
+	// Form Dialog. TODO: Group these under form.
 	dlgFormName		: 'Name',
 	dlgFormAction	: 'Action',
 	dlgFormMethod	: 'Method',
 
-	// Select Field Dialog
+	// Select Field Dialog. TODO: Group these under selectBox.
 	dlgSelectSelectInfo	: 'Select Info',
 	dlgSelectOpAvail	: 'Available Options',
@@ -253,10 +253,10 @@
 	dlgSelectBtnDelete	: 'Delete',
 
-	// Textarea Dialog
+	// Textarea Dialog. TODO: Group these under textarea.
 	dlgTextareaName	: 'Name',
 	dlgTextareaCols	: 'Columns',
 	dlgTextareaRows	: 'Rows',
 
-	// Text Field Dialog
+	// Text Field Dialog. TODO: Group these under textField.
 	dlgTextName			: 'Name',
 	dlgTextValue		: 'Value',
@@ -267,9 +267,9 @@
 	dlgTextTypePass		: 'Password',
 
-	// Hidden Field Dialog
+	// Hidden Field Dialog. TODO: Group these under hiddenField.
 	dlgHiddenName	: 'Name',
 	dlgHiddenValue	: 'Value',
 
-	// Image Dialog
+	// Image Dialog. TODO: Group these under image.
 	dlgImgTitle		: 'Image Properties',
 	dlgImgInfoTab	: 'Image Info',
Index: /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2825)
@@ -227,5 +227,5 @@
 						if ( item.isChanged() )
 						{
-							if ( !confirm( editor.lang.dlgConfirmCancel ) )
+							if ( !confirm( editor.lang.common.confirmCancel ) )
 								evt.data.hide = false;
 							return true;
@@ -869,5 +869,5 @@
 					id : 'ok',
 					type : 'button',
-					label : editor.lang.ok,
+					label : editor.lang.common.ok,
 					style : 'width: 60px',
 					onClick : function( evt )
@@ -903,5 +903,5 @@
 					id : 'cancel',
 					type : 'button',
-					label : editor.lang.cancel,
+					label : editor.lang.common.cancel,
 					style : 'width: 60px',
 					onClick : function( evt )
Index: /CKEditor/branches/prototype/_source/plugins/find/dialogs/find.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/find/dialogs/find.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/find/dialogs/find.js	(revision 2825)
@@ -24,5 +24,5 @@
 {
 	return {
-		title : editor.lang.dlgFindAndReplaceTitle,
+		title : editor.lang.findAndReplace.title,
 		resizable : CKEDITOR.DIALOG_RESIZE_NONE,
 		minWidth : 400,
@@ -32,6 +32,6 @@
 			{
 				id : 'find',
-				label : editor.lang.dlgFindTitle,
-				title : editor.lang.dlgFindTitle,
+				label : editor.lang.findAndReplace.find,
+				title : editor.lang.findAndReplace.find,
 				accessKey : '',
 				elements : [
@@ -44,5 +44,5 @@
 								type : 'text',
 								id : 'txtFindFind',
-								label : editor.lang.dlgReplaceFindLbl,
+								label : editor.lang.findAndReplace.findWhat,
 								isChanged : false,
 								labelLayout : 'horizontal',
@@ -53,8 +53,8 @@
 								align : 'left',
 								style : 'width:100%',
-								label : editor.lang.dlgFindFindBtn,
+								label : editor.lang.findAndReplace.find,
 								onClick : function()
 								{
-									alert( editor.lang.dlgFindNotFoundMsg );
+									alert( editor.lang.findAndReplace.notFoundMsg );
 								}
 							},
@@ -65,5 +65,5 @@
 						id : 'txtFindCaseChk',
 						isChanged : false,
-						label : editor.lang.dlgReplaceCaseChk,
+						label : editor.lang.findAndReplace.matchCase,
 					},
 					{
@@ -71,5 +71,5 @@
 						id : 'txtFindWordChk',
 						isChanged : false,
-						label : editor.lang.dlgReplaceWordChk,
+						label : editor.lang.findAndReplace.matchWord,
 					},
 				]
@@ -77,5 +77,5 @@
 			{
 				id : 'replace',
-				label : editor.lang.dlgReplaceTitle,
+				label : editor.lang.findAndReplace.replace,
 				accessKey : 'M',
 				elements : [
@@ -88,5 +88,5 @@
 								type : 'text',
 								id : 'txtFindReplace',
-								label : editor.lang.dlgReplaceFindLbl,
+								label : editor.lang.findAndReplace.findWhat,
 								isChanged : false,
 								labelLayout : 'horizontal',
@@ -97,8 +97,8 @@
 								align : 'left',
 								style : 'width:100%',
-								label : editor.lang.dlgReplaceReplaceBtn,
+								label : editor.lang.findAndReplace.replace,
 								onClick : function()
 								{
-									alert( editor.lang.dlgFindNotFoundMsg );
+									alert( editor.lang.findAndReplace.notFoundMsg );
 								}
 							},
@@ -113,5 +113,5 @@
 								type : 'text',
 								id : 'txtReplace',
-								label : editor.lang.dlgReplaceReplaceLbl,
+								label : editor.lang.findAndReplace.replaceWith,
 								isChanged : false,
 								labelLayout : 'horizontal',
@@ -122,9 +122,9 @@
 								align : 'left',
 								style : 'width:100%',
-								label : editor.lang.dlgReplaceReplAllBtn,
+								label : editor.lang.findAndReplace.replaceAll,
 								isChanged : false,
 								onClick : function()
 								{
-									alert( editor.lang.dlgFindNotFoundMsg );
+									alert( editor.lang.findAndReplace.notFoundMsg );
 								}
 							},
@@ -135,5 +135,5 @@
 						id : 'txtReplaceCaseChk',
 						isChanged : false,
-						label : editor.lang.dlgReplaceCaseChk,
+						label : editor.lang.findAndReplace.matchCase,
 					},
 					{
@@ -141,5 +141,5 @@
 						id : 'txtReplaceWordChk',
 						isChanged : false,
-						label : editor.lang.dlgReplaceWordChk,
+						label : editor.lang.findAndReplace.matchWord,
 					},
 				]
Index: /CKEditor/branches/prototype/_source/plugins/find/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/find/plugin.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/find/plugin.js	(revision 2825)
@@ -27,5 +27,5 @@
 		editor.ui.addButton( 'Find',
 			{
-				label : editor.lang.find,
+				label : editor.lang.findAndReplace.find,
 				command : 'find'
 			});
@@ -34,5 +34,5 @@
 		editor.ui.addButton( 'Replace',
 			{
-				label : editor.lang.replace,
+				label : editor.lang.findAndReplace.replace,
 				command : 'replace'
 			});
Index: /CKEditor/branches/prototype/_source/plugins/forms/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/forms/plugin.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/forms/plugin.js	(revision 2825)
@@ -27,5 +27,5 @@
 		editor.ui.addButton( 'Form',
 			{
-				label : editor.lang.form,
+				label : editor.lang.common.form,
 				command : 'form'
 			});
@@ -34,5 +34,5 @@
 		editor.ui.addButton( 'Checkbox',
 			{
-				label : editor.lang.checkbox,
+				label : editor.lang.common.checkbox,
 				command : 'checkbox'
 			});
@@ -41,5 +41,5 @@
 		editor.ui.addButton( 'Radio',
 			{
-				label : editor.lang.radio,
+				label : editor.lang.common.radio,
 				command : 'radio'
 			});
@@ -48,5 +48,5 @@
 		editor.ui.addButton( 'TextField',
 			{
-				label : editor.lang.textField,
+				label : editor.lang.common.textField,
 				command : 'textfield'
 			});
@@ -55,5 +55,5 @@
 		editor.ui.addButton( 'Textarea',
 			{
-				label : editor.lang.textarea,
+				label : editor.lang.common.textarea,
 				command : 'textarea'
 			});
@@ -62,5 +62,5 @@
 		editor.ui.addButton( 'Select',
 			{
-				label : editor.lang.select,
+				label : editor.lang.common.select,
 				command : 'select'
 			});
@@ -69,5 +69,5 @@
 		editor.ui.addButton( 'Button',
 			{
-				label : editor.lang.button,
+				label : editor.lang.common.button,
 				command : 'button'
 			});
@@ -76,5 +76,5 @@
 		editor.ui.addButton( 'ImageButton',
 			{
-				label : editor.lang.imageButton,
+				label : editor.lang.common.imageButton,
 				command : 'imagebutton'
 			});
@@ -83,5 +83,5 @@
 		editor.ui.addButton( 'HiddenField',
 			{
-				label : editor.lang.hiddenField,
+				label : editor.lang.common.hiddenField,
 				command : 'hiddenfield'
 			});
Index: /CKEditor/branches/prototype/_source/plugins/image/dialogs/image.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/image/dialogs/image.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/image/dialogs/image.js	(revision 2825)
@@ -711,5 +711,5 @@
 										id : 'browse',
 										align : 'center',
-										label : editor.lang.browseServer,
+										label : editor.lang.common.browseServer,
 										onClick : function()
 										{
@@ -921,5 +921,5 @@
 			{
 				id : 'Link',
-				label : editor.lang.linkTitle,
+				label : editor.lang.link.title,
 				padding : 0,
 				elements :
@@ -940,5 +940,5 @@
 						id : 'browse',
 						style : 'float:right',
-						label : editor.lang.browseServer,
+						label : editor.lang.common.browseServer,
 						onClick : function()
 						{
@@ -950,12 +950,12 @@
 						id : 'cmbTarget',
 						type : 'select',
-						label : editor.lang.linkTarget,
+						label : editor.lang.link.target,
 						items :
 						[
-							[ editor.lang.linkTargetNotSet , ''],
-							[ editor.lang.linkTargetNew , '_blank'],
-							[ editor.lang.linkTargetTop , '_top'],
-							[ editor.lang.linkTargetSelf , '_self'],
-							[ editor.lang.linkTargetParent , '_parent']
+							[ editor.lang.link.targetNotSet , ''],
+							[ editor.lang.link.targetNew , '_blank'],
+							[ editor.lang.link.targetTop , '_top'],
+							[ editor.lang.link.targetSelf , '_self'],
+							[ editor.lang.link.targetParent , '_parent']
 						],
 						validate: function()
@@ -989,5 +989,5 @@
 			{
 				id : 'advanced',
-				label : editor.lang.dlgDivAdvancedTab,
+				label : editor.lang.common.advancedTab,
 				elements :
 				[
Index: /CKEditor/branches/prototype/_source/plugins/image/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/image/plugin.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/image/plugin.js	(revision 2825)
@@ -29,5 +29,5 @@
 		editor.ui.addButton( 'Image',
 			{
-				label : editor.lang.image,
+				label : editor.lang.common.image,
 				command : 'image'
 			});
Index: /CKEditor/branches/prototype/_source/plugins/link/dialogs/link.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/link/dialogs/link.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/link/dialogs/link.js	(revision 2825)
@@ -31,10 +31,10 @@
 		{
 			popupFeatures.show();
-			targetName.setLabel( editor.lang.linkTargetPopupName );
+			targetName.setLabel( editor.lang.link.targetPopupName );
 		}
 		else
 		{
 			popupFeatures.hide();
-			targetName.setLabel( editor.lang.linkTargetFrameName );
+			targetName.setLabel( editor.lang.link.targetFrameName );
 			this.getDialog().setValueOf( 'target', 'linkTargetName', value.charAt( 0 ) == '_' ? value : '' );
 		}
@@ -171,5 +171,5 @@
 
 	return {
-		title : editor.lang.linkTitle,
+		title : editor.lang.link.title,
 		minWidth : 400,
 		minHeight : 320,
@@ -177,6 +177,6 @@
 			{
 				id : 'info',
-				label : editor.lang.linkInfo,
-				title : editor.lang.linkInfo,
+				label : editor.lang.link.info,
+				title : editor.lang.link.info,
 				elements :
 				[
@@ -184,11 +184,11 @@
 						id : 'linkType',
 						type : 'select',
-						label : editor.lang.linkType,
+						label : editor.lang.link.type,
 						'default' : 'url',
 						items :
 						[
-							[ editor.lang.url, 'url' ],
-							[ editor.lang.linkToAnchor, 'anchor' ],
-							[ editor.lang.linkToEmail, 'email' ]
+							[ editor.lang.common.url, 'url' ],
+							[ editor.lang.link.toAnchor, 'anchor' ],
+							[ editor.lang.link.toEmail, 'email' ]
 						],
 						onChange : linkTypeChanged
@@ -207,5 +207,5 @@
 										id : 'protocol',
 										type : 'select',
-										label : editor.lang.protocol,
+										label : editor.lang.common.protocol,
 										'default' : 'http://',
 										style : 'width : 100%;',
@@ -222,5 +222,5 @@
 										type : 'text',
 										id : 'url',
-										label : editor.lang.url,
+										label : editor.lang.common.url,
 										validate : function()
 										{
@@ -228,5 +228,5 @@
 												return true;
 
-											var func = CKEDITOR.dialog.validate.notEmpty( editor.lang.linkNoUrl );
+											var func = CKEDITOR.dialog.validate.notEmpty( editor.lang.link.noUrl );
 											return func.apply( this );
 										}
@@ -237,5 +237,5 @@
 								type : 'button',
 								id : 'browse',
-								label : editor.lang.browseServer
+								label : editor.lang.common.browseServer
 							}
 						]
@@ -252,5 +252,5 @@
 								type : 'html',
 								id : 'selectAnchorText',
-								html : CKEDITOR.tools.htmlEncode( editor.lang.linkSelectAnchor )
+								html : CKEDITOR.tools.htmlEncode( editor.lang.link.selectAnchor )
 							},
 							{
@@ -258,5 +258,5 @@
 								id : 'noAnchors',
 								style : 'text-align: center;',
-								html : '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.linkNoAnchors ) + '</div>'
+								html : '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.link.noAnchors ) + '</div>'
 							},
 							{
@@ -269,5 +269,5 @@
 										id : 'anchorName',
 										'default' : '',
-										label : editor.lang.linkAnchorName,
+										label : editor.lang.link.anchorName,
 										style : 'width: 100%;',
 										items :
@@ -280,5 +280,5 @@
 										id : 'anchorId',
 										'default' : '',
-										label : editor.lang.linkAnchorId,
+										label : editor.lang.link.anchorId,
 										style : 'width: 100%;',
 										items :
@@ -300,5 +300,5 @@
 								type : 'text',
 								id : 'emailAddress',
-								label : editor.lang.linkEmailAddress,
+								label : editor.lang.link.emailAddress,
 								validate : function()
 								{
@@ -306,5 +306,5 @@
 										return true;
 
-									var func = CKEDITOR.dialog.validate.notEmpty( editor.lang.linkNoEmail );
+									var func = CKEDITOR.dialog.validate.notEmpty( editor.lang.link.noEmail );
 									return func.apply( this );
 								}
@@ -313,10 +313,10 @@
 								type : 'text',
 								id : 'emailSubject',
-								label : editor.lang.linkEmailSubject
+								label : editor.lang.link.emailSubject
 							},
 							{
 								type : 'textarea',
 								id : 'emailBody',
-								label : editor.lang.linkEmailBody,
+								label : editor.lang.link.emailBody,
 								rows : 3,
 								'default' : ''
@@ -328,6 +328,6 @@
 			{
 				id : 'target',
-				label : editor.lang.linkTarget,
-				title : editor.lang.linkTarget,
+				label : editor.lang.link.target,
+				title : editor.lang.link.target,
 				elements :
 				[
@@ -340,16 +340,16 @@
 								type : 'select',
 								id : 'linkTargetType',
-								label : editor.lang.linkTarget,
+								label : editor.lang.link.target,
 								'default' : 'notSet',
 								style : 'width : 100%;',
 								'items' :
 								[
-									[ editor.lang.linkTargetNotSet, 'notSet' ],
-									[ editor.lang.linkTargetFrame, 'frame' ],
-									[ editor.lang.linkTargetPopup, 'popup' ],
-									[ editor.lang.linkTargetNew, '_blank' ],
-									[ editor.lang.linkTargetTop, '_top' ],
-									[ editor.lang.linkTargetSelf, '_self' ],
-									[ editor.lang.linkTargetParent, '_parent' ]
+									[ editor.lang.link.targetNotSet, 'notSet' ],
+									[ editor.lang.link.targetFrame, 'frame' ],
+									[ editor.lang.link.targetPopup, 'popup' ],
+									[ editor.lang.link.targetNew, '_blank' ],
+									[ editor.lang.link.targetTop, '_top' ],
+									[ editor.lang.link.targetSelf, '_self' ],
+									[ editor.lang.link.targetParent, '_parent' ]
 								],
 								onChange : targetChanged
@@ -358,5 +358,5 @@
 								type : 'text',
 								id : 'linkTargetName',
-								label : editor.lang.linkTargetFrameName
+								label : editor.lang.link.targetFrameName
 							}
 						]
@@ -372,5 +372,5 @@
 							{
 								type : 'html',
-								html : CKEDITOR.tools.htmlEncode( editor.lang.linkPopupFeatures )
+								html : CKEDITOR.tools.htmlEncode( editor.lang.link.popupFeatures )
 							},
 							{
@@ -381,10 +381,10 @@
 										type : 'checkbox',
 										id : 'resizable',
-										label : editor.lang.linkPopupResizable
+										label : editor.lang.link.popupResizable
 									},
 									{
 										type : 'checkbox',
 										id : 'status',
-										label : editor.lang.linkPopupStatusBar
+										label : editor.lang.link.popupStatusBar
 									}
 								]
@@ -397,10 +397,10 @@
 										type : 'checkbox',
 										id : 'location',
-										label : editor.lang.linkPopupLocationBar
+										label : editor.lang.link.popupLocationBar
 									},
 									{
 										type : 'checkbox',
 										id : 'toolbar',
-										label : editor.lang.linkPopupToolbar
+										label : editor.lang.link.popupToolbar
 									}
 								]
@@ -413,10 +413,10 @@
 										type : 'checkbox',
 										id : 'menubar',
-										label : editor.lang.linkPopupMenuBar
+										label : editor.lang.link.popupMenuBar
 									},
 									{
 										type : 'checkbox',
 										id : 'fullscreen',
-										label : editor.lang.linkPopupFullScreen
+										label : editor.lang.link.popupFullScreen
 									}
 								]
@@ -429,10 +429,10 @@
 										type : 'checkbox',
 										id : 'scrollbars',
-										label : editor.lang.linkPopupScrollBars
+										label : editor.lang.link.popupScrollBars
 									},
 									{
 										type : 'checkbox',
 										id : 'dependent',
-										label : editor.lang.linkPopupDependent
+										label : editor.lang.link.popupDependent
 									}
 								]
@@ -446,5 +446,5 @@
 										widths : [ '30%', '70%' ],
 										labelLayout : 'horizontal',
-										label : editor.lang.linkPopupWidth,
+										label : editor.lang.link.popupWidth,
 										id : 'width'
 									},
@@ -453,5 +453,5 @@
 										labelLayout : 'horizontal',
 										widths : [ '55%', '45%' ],
-										label : editor.lang.linkPopupLeft,
+										label : editor.lang.link.popupLeft,
 										id : 'left'
 									}
@@ -466,5 +466,5 @@
 										labelLayout : 'horizontal',
 										widths : [ '30%', '70%' ],
-										label : editor.lang.linkPopupHeight,
+										label : editor.lang.link.popupHeight,
 										id : 'height'
 									},
@@ -472,5 +472,5 @@
 										type :  'text',
 										labelLayout : 'horizontal',
-										label : editor.lang.linkPopupTop,
+										label : editor.lang.link.popupTop,
 										widths : [ '55%', '45%' ],
 										id : 'top'
@@ -484,6 +484,6 @@
 			{
 				id : 'upload',
-				label : editor.lang.linkUpload,
-				title : editor.lang.linkUpload,
+				label : editor.lang.link.upload,
+				title : editor.lang.link.upload,
 				elements :
 				[
@@ -491,5 +491,5 @@
 						type : 'file',
 						id : 'upload',
-						label : editor.lang.upload,
+						label : editor.lang.common.upload,
 						action : 'nowhere.php',
 						size : 38
@@ -498,5 +498,5 @@
 						type : 'fileButton',
 						id : 'uploadButton',
-						label : editor.lang.uploadSubmit,
+						label : editor.lang.common.uploadSubmit,
 						'for' : [ 'upload', 'upload' ]
 					}
@@ -505,6 +505,6 @@
 			{
 				id : 'advanced',
-				label : editor.lang.linkAdvanced,
-				title : editor.lang.linkAdvanced,
+				label : editor.lang.link.advanced,
+				title : editor.lang.link.advanced,
 				elements :
 				[
@@ -522,17 +522,17 @@
 										type : 'text',
 										id : 'advId',
-										label : editor.lang.linkId
+										label : editor.lang.link.id
 									},
 									{
 										type : 'select',
 										id : 'advLangDir',
-										label : editor.lang.linkLangDir,
+										label : editor.lang.link.langDir,
 										'default' : '',
 										style : 'width: 100%;',
 										items :
 										[
-											[ editor.lang.linkLangDirNotSet, '' ],
-											[ editor.lang.linkLangDirLTR, 'ltr' ],
-											[ editor.lang.linkLangDirRTL, 'rtl' ]
+											[ editor.lang.link.langDirNotSet, '' ],
+											[ editor.lang.link.langDirLTR, 'ltr' ],
+											[ editor.lang.link.langDirRTL, 'rtl' ]
 										]
 									},
@@ -540,5 +540,5 @@
 										type : 'text',
 										id : 'advAccessKey',
-										label : editor.lang.linkAcccessKey,
+										label : editor.lang.link.acccessKey,
 										maxLength : 1
 									}
@@ -552,15 +552,15 @@
 									{
 										type : 'text',
-										label : editor.lang.linkName,
+										label : editor.lang.link.name,
 										id : 'advName'
 									},
 									{
 										type : 'text',
-										label : editor.lang.linkLangCode,
+										label : editor.lang.link.langCode,
 										id : 'advLangCode'
 									},
 									{
 										type : 'text',
-										label : editor.lang.linkTabIndex,
+										label : editor.lang.link.tabIndex,
 										id : 'advTabIndex',
 										maxLength : 5
@@ -582,10 +582,10 @@
 									{
 										type : 'text',
-										label : editor.lang.linkAdvisoryTitle,
+										label : editor.lang.link.advisoryTitle,
 										id : 'advTitle'
 									},
 									{
 										type : 'text',
-										label : editor.lang.linkAdvisoryContentType,
+										label : editor.lang.link.advisoryContentType,
 										id : 'advContentType'
 									}
@@ -599,10 +599,10 @@
 									{
 										type : 'text',
-										label : editor.lang.linkCSSClasses,
+										label : editor.lang.link.cssClasses,
 										id : 'advCSSClasses'
 									},
 									{
 										type : 'text',
-										label : editor.lang.linkCharset,
+										label : editor.lang.link.charset,
 										id : 'advCharset'
 									}
@@ -615,5 +615,5 @@
 									{
 										type : 'text',
-										label : editor.lang.linkStyles,
+										label : editor.lang.link.styles,
 										id : 'advStyles'
 									}
Index: /CKEditor/branches/prototype/_source/plugins/link/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/link/plugin.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/link/plugin.js	(revision 2825)
@@ -29,5 +29,5 @@
 		editor.ui.addButton( 'Link',
 			{
-				label : editor.lang.link,
+				label : editor.lang.link.toolbar,
 				command : 'link'
 			} );
Index: /CKEditor/branches/prototype/_source/plugins/specialchar/dialogs/specialchar.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/specialchar/dialogs/specialchar.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/specialchar/dialogs/specialchar.js	(revision 2825)
@@ -23,5 +23,5 @@
 {
 	return {
-		title : editor.lang.dlgSpecialCharTitle,
+		title : editor.lang.specialChar.title,
 		minWidth : 400,
 		minHeight : 300,
@@ -59,6 +59,6 @@
 			{
 				id : 'info',
-				label : editor.lang.dlgDivGeneralTab,
-				title : editor.lang.dlgDivGeneralTab,
+				label : editor.lang.common.generalTab,
+				title : editor.lang.common.generalTab,
 				elements : [
 					{
Index: /CKEditor/branches/prototype/_source/plugins/specialchar/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/specialchar/plugin.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/specialchar/plugin.js	(revision 2825)
@@ -63,5 +63,5 @@
 		editor.ui.addButton( 'SpecialChar',
 			{
-				label : editor.lang.specialChar,
+				label : editor.lang.specialChar.toolbar,
 				command : 'specialchar'
 			});
Index: /CKEditor/branches/prototype/_source/plugins/table/dialogs/table.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/table/dialogs/table.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/table/dialogs/table.js	(revision 2825)
@@ -27,5 +27,5 @@
 
 	return {
-		title : editor.lang.dlgTableTitle,
+		title : editor.lang.table.title,
 		minWidth : 480,
 		minHeight : 290,
@@ -175,5 +175,5 @@
 			{
 				id : 'info',
-				label : editor.lang.dlgTableTitle,
+				label : editor.lang.table.title,
 				accessKey : 'I',
 				elements :
@@ -195,5 +195,5 @@
 										style : 'width:105px',
 										'default' : 3,
-										label : editor.lang.dlgTableRows,
+										label : editor.lang.table.rows,
 										validate: function( ) {
 											if ( this.getValue() != '' )
@@ -215,5 +215,5 @@
 										style : 'width:105px',
 										'default' : '2',
-										label : editor.lang.dlgTableColumns,
+										label : editor.lang.table.columns,
 										validate: function( ) {
 											if ( this.getValue() != '' )
@@ -235,5 +235,5 @@
 										style : 'width:105px',
 										'default' : '1',
-										label : editor.lang.dlgTableBorder,
+										label : editor.lang.table.border,
 										validate: function( ) {
 											if ( this.getValue() != '' )
@@ -253,11 +253,11 @@
 										labelLayout : 'horizontal',	
 										widths : [ '40%','60%' ],
-										label : editor.lang.dlgTableAlign,
+										label : editor.lang.table.align,
 										items :
 										[
-											[ editor.lang.dlgTableAlignNotSet , ''],
-											[ editor.lang.dlgTableAlignLeft , 'left'],
-											[ editor.lang.dlgTableAlignCenter , 'center'],
-											[ editor.lang.dlgTableAlignRight , 'right']
+											[ editor.lang.table.alignNotSet , ''],
+											[ editor.lang.table.alignLeft , 'left'],
+											[ editor.lang.table.alignCenter , 'center'],
+											[ editor.lang.table.alignRight , 'right']
 										]
 									}
@@ -285,5 +285,5 @@
 												labelLayout : 'horizontal',	
 												widths : [ '50%','50%' ],
-												label : editor.lang.dlgTableWidth,
+												label : editor.lang.table.width,
 												'default' : 200,
 												validate: function( ) {
@@ -308,6 +308,6 @@
 												items :
 												[
-													[ editor.lang.dlgTableWidthPx , 'pixels'],
-													[ editor.lang.dlgTableWidthPc , 'percents']
+													[ editor.lang.table.widthPx , 'pixels'],
+													[ editor.lang.table.widthPc , 'percents']
 												]
 											}
@@ -324,5 +324,5 @@
 												labelLayout : 'horizontal',
 												widths : [ '50%','50%' ],
-												label : editor.lang.dlgTableHeight,
+												label : editor.lang.table.height,
 												validate: function( ) {
 													if ( this.getValue() != '' )
@@ -339,5 +339,5 @@
 											{
 												type : 'html',
-												html : editor.lang.dlgTableWidthPx
+												html : editor.lang.table.widthPx
 											}	
 										]
@@ -349,5 +349,5 @@
 										widths : [ '50%','50%' ],
 										style : 'width:140px',
-										label : editor.lang.dlgTableCellSpace,
+										label : editor.lang.table.cellSpace,
 										validate: function( ) {
 											if ( this.getValue() != '' )
@@ -368,5 +368,5 @@
 										widths : [ '50%','50%' ],
 										style : 'width:140px',
-										label : editor.lang.dlgTableCellPad,
+										label : editor.lang.table.cellPad,
 										validate: function( ) {
 											if ( this.getValue() != '' )
@@ -393,5 +393,5 @@
 						id : 'txtCaption',
 						type : 'text',
-						label : editor.lang.dlgTableCaption,
+						label : editor.lang.table.caption,
 						widths : [ '30%','70%' ],
 						labelLayout : 'horizontal',	
@@ -402,5 +402,5 @@
 						type : 'text',
 						labelLayout : 'horizontal',	
-						label : editor.lang.dlgTableSummary,
+						label : editor.lang.table.summary,
 						widths : [ '30%','70%' ],
 						accessKey : 'A',
Index: /CKEditor/branches/prototype/_source/plugins/table/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/table/plugin.js	(revision 2824)
+++ /CKEditor/branches/prototype/_source/plugins/table/plugin.js	(revision 2825)
@@ -29,5 +29,5 @@
 		editor.ui.addButton( 'Table',
 			{
-				label : editor.lang.table,
+				label : editor.lang.table.toolbar,
 				command : 'table'
 			});
