Browse Source

Inline images in formatted case log & descriptions: beta version fixperms js The inline images are now no longer stored stored as Attachments but using a specific object InlineImage...

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@3926 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 9 years ago
parent
commit
991cd359fc
100 changed files with 4400 additions and 176 deletions
  1. 8 0
      application/cmdbabstract.class.inc.php
  2. 3 12
      application/displayblock.class.inc.php
  3. 6 2
      application/itopwebpage.class.inc.php
  4. 0 31
      application/utils.inc.php
  5. 2 2
      core/attributedef.class.inc.php
  6. 18 1
      core/config.class.inc.php
  7. 3 3
      core/email.class.inc.php
  8. 3 3
      core/htmlsanitizer.class.inc.php
  9. 467 0
      core/inlineimage.class.inc.php
  10. 3 3
      core/ormcaselog.class.inc.php
  11. 0 0
      css/magnific-popup.css
  12. 2 58
      datamodels/2.x/itop-attachments/main.attachments.php
  13. 7 0
      dictionaries/dictionary.itop.ui.php
  14. 7 0
      dictionaries/fr.dictionary.itop.ui.php
  15. 3 2
      js/ckeditor/build-config.js
  16. 16 59
      js/ckeditor/ckeditor.js
  17. 0 0
      js/ckeditor/lang/de.js
  18. 0 0
      js/ckeditor/lang/en.js
  19. 0 0
      js/ckeditor/lang/es.js
  20. 0 0
      js/ckeditor/lang/fr.js
  21. 0 0
      js/ckeditor/lang/it.js
  22. 0 0
      js/ckeditor/lang/pt-br.js
  23. BIN
      js/ckeditor/plugins/colorbutton/icons/bgcolor.png
  24. BIN
      js/ckeditor/plugins/colorbutton/icons/hidpi/bgcolor.png
  25. BIN
      js/ckeditor/plugins/colorbutton/icons/hidpi/textcolor.png
  26. BIN
      js/ckeditor/plugins/colorbutton/icons/textcolor.png
  27. 53 0
      js/ckeditor/plugins/colorbutton/lang/af.js
  28. 53 0
      js/ckeditor/plugins/colorbutton/lang/ar.js
  29. 53 0
      js/ckeditor/plugins/colorbutton/lang/bg.js
  30. 53 0
      js/ckeditor/plugins/colorbutton/lang/bn.js
  31. 53 0
      js/ckeditor/plugins/colorbutton/lang/bs.js
  32. 53 0
      js/ckeditor/plugins/colorbutton/lang/ca.js
  33. 53 0
      js/ckeditor/plugins/colorbutton/lang/cs.js
  34. 53 0
      js/ckeditor/plugins/colorbutton/lang/cy.js
  35. 53 0
      js/ckeditor/plugins/colorbutton/lang/da.js
  36. 53 0
      js/ckeditor/plugins/colorbutton/lang/de-ch.js
  37. 53 0
      js/ckeditor/plugins/colorbutton/lang/de.js
  38. 53 0
      js/ckeditor/plugins/colorbutton/lang/el.js
  39. 53 0
      js/ckeditor/plugins/colorbutton/lang/en-au.js
  40. 53 0
      js/ckeditor/plugins/colorbutton/lang/en-ca.js
  41. 53 0
      js/ckeditor/plugins/colorbutton/lang/en-gb.js
  42. 53 0
      js/ckeditor/plugins/colorbutton/lang/en.js
  43. 53 0
      js/ckeditor/plugins/colorbutton/lang/eo.js
  44. 53 0
      js/ckeditor/plugins/colorbutton/lang/es.js
  45. 53 0
      js/ckeditor/plugins/colorbutton/lang/et.js
  46. 53 0
      js/ckeditor/plugins/colorbutton/lang/eu.js
  47. 53 0
      js/ckeditor/plugins/colorbutton/lang/fa.js
  48. 53 0
      js/ckeditor/plugins/colorbutton/lang/fi.js
  49. 53 0
      js/ckeditor/plugins/colorbutton/lang/fo.js
  50. 53 0
      js/ckeditor/plugins/colorbutton/lang/fr-ca.js
  51. 53 0
      js/ckeditor/plugins/colorbutton/lang/fr.js
  52. 53 0
      js/ckeditor/plugins/colorbutton/lang/gl.js
  53. 53 0
      js/ckeditor/plugins/colorbutton/lang/gu.js
  54. 53 0
      js/ckeditor/plugins/colorbutton/lang/he.js
  55. 53 0
      js/ckeditor/plugins/colorbutton/lang/hi.js
  56. 53 0
      js/ckeditor/plugins/colorbutton/lang/hr.js
  57. 53 0
      js/ckeditor/plugins/colorbutton/lang/hu.js
  58. 53 0
      js/ckeditor/plugins/colorbutton/lang/id.js
  59. 53 0
      js/ckeditor/plugins/colorbutton/lang/is.js
  60. 53 0
      js/ckeditor/plugins/colorbutton/lang/it.js
  61. 53 0
      js/ckeditor/plugins/colorbutton/lang/ja.js
  62. 53 0
      js/ckeditor/plugins/colorbutton/lang/ka.js
  63. 53 0
      js/ckeditor/plugins/colorbutton/lang/km.js
  64. 53 0
      js/ckeditor/plugins/colorbutton/lang/ko.js
  65. 53 0
      js/ckeditor/plugins/colorbutton/lang/ku.js
  66. 53 0
      js/ckeditor/plugins/colorbutton/lang/lt.js
  67. 53 0
      js/ckeditor/plugins/colorbutton/lang/lv.js
  68. 53 0
      js/ckeditor/plugins/colorbutton/lang/mk.js
  69. 53 0
      js/ckeditor/plugins/colorbutton/lang/mn.js
  70. 53 0
      js/ckeditor/plugins/colorbutton/lang/ms.js
  71. 53 0
      js/ckeditor/plugins/colorbutton/lang/nb.js
  72. 53 0
      js/ckeditor/plugins/colorbutton/lang/nl.js
  73. 53 0
      js/ckeditor/plugins/colorbutton/lang/no.js
  74. 53 0
      js/ckeditor/plugins/colorbutton/lang/pl.js
  75. 53 0
      js/ckeditor/plugins/colorbutton/lang/pt-br.js
  76. 53 0
      js/ckeditor/plugins/colorbutton/lang/pt.js
  77. 53 0
      js/ckeditor/plugins/colorbutton/lang/ro.js
  78. 53 0
      js/ckeditor/plugins/colorbutton/lang/ru.js
  79. 53 0
      js/ckeditor/plugins/colorbutton/lang/si.js
  80. 53 0
      js/ckeditor/plugins/colorbutton/lang/sk.js
  81. 53 0
      js/ckeditor/plugins/colorbutton/lang/sl.js
  82. 53 0
      js/ckeditor/plugins/colorbutton/lang/sq.js
  83. 53 0
      js/ckeditor/plugins/colorbutton/lang/sr-latn.js
  84. 53 0
      js/ckeditor/plugins/colorbutton/lang/sr.js
  85. 53 0
      js/ckeditor/plugins/colorbutton/lang/sv.js
  86. 53 0
      js/ckeditor/plugins/colorbutton/lang/th.js
  87. 53 0
      js/ckeditor/plugins/colorbutton/lang/tr.js
  88. 53 0
      js/ckeditor/plugins/colorbutton/lang/tt.js
  89. 53 0
      js/ckeditor/plugins/colorbutton/lang/ug.js
  90. 53 0
      js/ckeditor/plugins/colorbutton/lang/uk.js
  91. 53 0
      js/ckeditor/plugins/colorbutton/lang/vi.js
  92. 53 0
      js/ckeditor/plugins/colorbutton/lang/zh-cn.js
  93. 53 0
      js/ckeditor/plugins/colorbutton/lang/zh.js
  94. 301 0
      js/ckeditor/plugins/colorbutton/plugin.js
  95. BIN
      js/ckeditor/plugins/icons.png
  96. BIN
      js/ckeditor/plugins/icons_hidpi.png
  97. 0 0
      js/ckeditor/skins/flat/editor.css
  98. 0 0
      js/ckeditor/skins/flat/editor_gecko.css
  99. 0 0
      js/ckeditor/skins/flat/editor_ie.css
  100. 0 0
      js/ckeditor/skins/flat/editor_ie7.css

+ 8 - 0
application/cmdbabstract.class.inc.php

@@ -2216,6 +2216,8 @@ EOF
 		$sJsonFieldsMap = json_encode($aFieldsMap);
 		$sState = $this->GetState();
 		$sSessionStorageKey = $sClass.'_'.$iKey;
+		$sTempId = session_id().'_'.$iTransactionId;
+		$oPage->add_ready_script(InlineImage::EnableCKEditorImageUpload($this, $sTempId));
 		
 		$oPage->add_script(
 <<<EOF
@@ -3129,6 +3131,10 @@ EOF
 			$aFinalValues[$sAttCode] = $aValues[$sAttCode];
 		}
 		$this->UpdateObjectFromArray($aFinalValues);
+		if (!$this->IsNew()) // for new objects this is performed in DBInsertNoReload()
+		{
+			InlineImage::FinalizeInlineImages($this);
+		}
 		
 		// Invoke extensions after the update of the object from the form
 		foreach (MetaModel::EnumPlugins('iApplicationUIExtension') as $oExtensionInstance)
@@ -3172,6 +3178,8 @@ EOF
 	{
 		$res = parent::DBInsertNoReload();
 
+		InlineImage::FinalizeInlineImages($this);
+		
 		// Invoke extensions after insertion (the object must exist, have an id, etc.)
 		foreach (MetaModel::EnumPlugins('iApplicationObjectExtension') as $oExtensionInstance)
 		{

+ 3 - 12
application/displayblock.class.inc.php

@@ -1290,22 +1290,13 @@ class HistoryBlock extends DisplayBlock
 			{
 				$sHtml .= $this->GetHistoryTable($oPage, $oSet);
 			}
-			$sMaxWidth = MetaModel::GetModuleSetting('itop-attachment', 'inline_image_max_width', '450px');
+			$oPage->add_ready_script(InlineImage::FixImagesWidth());
 		
 			$oPage->add_ready_script("$('.case-log-history-entry-toggle').on('click', function () { $(this).closest('.case-log-history-entry').toggleClass('expanded');});");
 			$oPage->add_ready_script(
 <<<EOF
 $('.history_entry').each(function() {
-	var jMe = $(this)
-	jMe.find('img[data-att-id]').each(function() {
-		if ('$sMaxWidth' != '')
-		{
-			$(this).css({'max-width': '$sMaxWidth', width: '', height: '', 'max-height': ''});
-		}
-		$(this).addClass('inline-image');
-		$(this).attr('href', $(this).attr('src'));
-	}).magnificPopup({type: 'image', closeOnContentClick: true });
-				
+	var jMe = $(this);
 	var oContent = $(this).find('.history_html_content');
 	if (jMe.height() < oContent.height())
 	{
@@ -1345,7 +1336,7 @@ EOF
 		}
 		$aAttribs = array('date' => array('label' => Dict::S('UI:History:Date'), 'description' => Dict::S('UI:History:Date+')),
 						  'userinfo' => array('label' => Dict::S('UI:History:User'), 'description' => Dict::S('UI:History:User+')),
-						  'log' => array('label' => Dict::S('UI:History:Changes').'<span style="display:block;float:right">Expand All / Collapse All</span>', 'description' => Dict::S('UI:History:Changes+')),
+						  'log' => array('label' => Dict::S('UI:History:Changes') , 'description' => Dict::S('UI:History:Changes+')),
 						 );
 		$aValues = array();
 		foreach($aChanges as $aChange)

+ 6 - 2
application/itopwebpage.class.inc.php

@@ -54,6 +54,8 @@ class iTopWebPage extends NiceWebPage implements iTabbedPage
 		$this->add_linked_stylesheet("../css/jquery.autocomplete.css");
 		$this->add_linked_stylesheet("../css/fg.menu.css");
 		$this->add_linked_stylesheet("../css/jquery.multiselect.css");
+		$this->add_linked_stylesheet("../css/magnific-popup.css");
+		
 		$this->add_linked_script('../js/jquery.layout.min.js');
 		$this->add_linked_script('../js/jquery.ba-bbq.min.js');
 		$this->add_linked_script("../js/jquery.treeview.js");
@@ -76,6 +78,8 @@ class iTopWebPage extends NiceWebPage implements iTabbedPage
 		$this->add_linked_script('../js/jquery.multiselect.js');
 		$this->add_linked_script('../js/ajaxfileupload.js');
 		$this->add_linked_script('../js/jquery.mousewheel.js');
+		$this->add_linked_script('../js/jquery.magnific-popup.min.js');
+			
 		
 		$sSearchAny = addslashes(Dict::S('UI:SearchValue:Any'));
 		$sSearchNbSelected = addslashes(Dict::S('UI:SearchValue:NbSelected'));
@@ -436,9 +440,9 @@ EOF
 			});
 		}
 	});
-			
 EOF
 		);
+		$this->add_ready_script(InlineImage::FixImagesWidth());
 		$sUserPrefs = appUserPreferences::GetAsJSON();
 		$this->add_script(
 <<<EOF
@@ -513,7 +517,7 @@ EOF
 		}
 EOF
 		);
-	}
+	}	
 
 	public function AddToMenu($sHtml)
 	{

+ 0 - 31
application/utils.inc.php

@@ -34,7 +34,6 @@ define('ITOP_CONFIG_FILE', 'config-itop.php');
 define('ITOP_DEFAULT_CONFIG_FILE', APPCONF.ITOP_DEFAULT_ENV.'/'.ITOP_CONFIG_FILE);
 
 define('SERVER_NAME_PLACEHOLDER', '$SERVER_NAME$');
-define('ATTACHMENT_DOWNLOAD_URL', 'pages/ajax.render.php?operation=download_document&class=Attachment&field=contents&id=');
 
 class FileUploadException extends Exception
 {
@@ -1169,34 +1168,4 @@ class utils
 		$sText = str_replace("\r", "\n", $sText);
 		return str_replace("\n", '</br>', htmlentities($sText, ENT_QUOTES, 'UTF-8'));
 	}
-	
-	/**
-	 * Parses the supplied HTML fragment to rebuild the attribute src="" for images
-	 * that refer to an attachment (detected via the attribute data-att-id="") so that
-	 * the URL is consistent with the current URL of the application.
-	 * @param string $sHtml The HTML fragment to process
-	 * @return string The modified HTML
-	 */
-	public static function FixInlineAttachments($sHtml)
-	{
-		$aNeedles = array();
-		$aReplacements = array();
-		// Find img tags with an attribute data-att-id
-		if (preg_match_all('/<img ([^>]*)data-att-id="([0-9]+)"([^>]*)>/i', $sHtml, $aMatches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE))
-		{
-			$sUrl = utils::GetAbsoluteUrlAppRoot().ATTACHMENT_DOWNLOAD_URL;
-			foreach($aMatches as $aImgInfo)
-			{
-				$sImgTag = $aImgInfo[0][0];
-				$sAttId = $aImgInfo[2][0];
-				
-				$sNewImgTag = preg_replace('/src="[^"]+"/', 'src="'.$sUrl.$sAttId.'"', $sImgTag); // preserve other attributes
-				$aNeedles[] = $sImgTag;
-				$aReplacements[] = $sNewImgTag;
-			}
-			$sHtml = str_replace($aNeedles, $aReplacements, $sHtml);
-		}
-		return $sHtml;
-	}
-	
 }

+ 2 - 2
core/attributedef.class.inc.php

@@ -2297,7 +2297,7 @@ class AttributeText extends AttributeString
 		}
 		else
 		{
-			return "<div class=\"HTML\" $sStyle>".utils::FixInlineAttachments($sValue).'</div>';
+			return "<div class=\"HTML\" $sStyle>".InlineImage::FixUrls($sValue).'</div>';
 		}
 		
 	}
@@ -2430,7 +2430,7 @@ class AttributeText extends AttributeString
 			}
 			else
 			{
-				$value = utils::FixInlineAttachments((string)$value);
+				$value = InlineImage::FixUrls((string)$value);
 			}
 			break;
 			

+ 18 - 1
core/config.class.inc.php

@@ -882,7 +882,23 @@ class Config
 			'value' => '',
 			'source_of_value' => '',
 			'show_in_conf_sample' => false,
-		), 
+		),
+		'inline_image_max_display_width' => array(
+			'type' => 'integer',
+			'description' => 'The maximum width (in pixels) when displaying images inside an HTML formatted attribute. Images will be displayed using this this maximum width.',
+			'default' => '600',
+			'value' => '',
+			'source_of_value' => '',
+			'show_in_conf_sample' => true,
+		),
+		'inline_image_max_storage_width' => array(
+			'type' => 'integer',
+			'description' => 'The maximum width (in pixels) when uploading images to be used inside an HTML formatted attribute. Images larger than the given size will be downsampled before storing them in the database.',
+			'default' => '1600',
+			'value' => '',
+			'source_of_value' => '',
+			'show_in_conf_sample' => true,
+		),
 	);
 
 	public function IsProperty($sPropCode)
@@ -1027,6 +1043,7 @@ class Config
 			'core/ownershiplock.class.inc.php',
 			'synchro/synchrodatasource.class.inc.php',
 			'core/backgroundtask.class.inc.php',
+			'core/inlineimage.class.inc.php',
 		);
 		$this->m_aDataModels = array();
 		$this->m_aWebServiceCategories = array(

+ 3 - 3
core/email.class.inc.php

@@ -226,15 +226,15 @@ class EMail
 			@$oDOMDoc->loadHTML('<?xml encoding="UTF-8"?>'.$this->m_aData['body']['body']); // For loading HTML chunks where the character set is not specified
 			
 			$oXPath = new DOMXPath($oDOMDoc);
-			$sXPath = "//img[@data-att-id]";
+			$sXPath = "//img[@data-img-id]";
 			$oImagesList = $oXPath->query($sXPath);
 			
 			if ($oImagesList->length != 0)
 			{
 				foreach($oImagesList as $oImg)
 				{
-					$iAttId = $oImg->getAttribute('data-att-id');
-					$oAttachment = MetaModel::GetObject('Attachment', $iAttId, false, true /* Allow All Data */);
+					$iAttId = $oImg->getAttribute('data-img-id');
+					$oAttachment = MetaModel::GetObject('InlineImage', $iAttId, false, true /* Allow All Data */);
 					if ($oAttachment)
 					{
 						$oDoc = $oAttachment->Get('contents');

+ 3 - 3
core/htmlsanitizer.class.inc.php

@@ -295,18 +295,18 @@ class HTMLDOMSanitizer extends HTMLSanitizer
 	}
 	
 	/**
-	 * Add an extra attribute data-att-id for images which are based on an actual attachment
+	 * Add an extra attribute data-img-id for images which are based on an actual InlineImage
 	 * so that we can later reconstruct the full "src" URL when needed
 	 * @param DOMNode $oElement
 	 */
 	protected function ProcessImage(DOMNode $oElement)
 	{
 		$sSrc = $oElement->getAttribute('src');
-		$sDownloadUrl = str_replace(array('.', '?'), array('\.', '\?'), ATTACHMENT_DOWNLOAD_URL); // Escape . and ?
+		$sDownloadUrl = str_replace(array('.', '?'), array('\.', '\?'), INLINEIMAGE_DOWNLOAD_URL); // Escape . and ?
 		$sUrlPattern = '|'.$sDownloadUrl.'([0-9]+)|';
 		if (preg_match($sUrlPattern, $sSrc, $aMatches))
 		{
-			$oElement->setAttribute('data-att-id', $aMatches[1]);
+			$oElement->setAttribute('data-img-id', $aMatches[1]);
 		}
 	}
 	

+ 467 - 0
core/inlineimage.class.inc.php

@@ -0,0 +1,467 @@
+<?php
+// Copyright (C) 2016 Combodo SARL
+//
+//   This file is part of iTop.
+//
+//   iTop is free software; you can redistribute it and/or modify	
+//   it under the terms of the GNU Affero General Public License as published by
+//   the Free Software Foundation, either version 3 of the License, or
+//   (at your option) any later version.
+//
+//   iTop is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU Affero General Public License for more details.
+//
+//   You should have received a copy of the GNU Affero General Public License
+//   along with iTop. If not, see <http://www.gnu.org/licenses/>
+
+define('INLINEIMAGE_DOWNLOAD_URL', 'pages/ajax.render.php?operation=download_document&class=InlineImage&field=contents&id=');
+
+/**
+ * Persistent classes (internal): store images referenced inside HTML formatted text fields
+ *
+ * @copyright   Copyright (C) 2016 Combodo SARL
+ * @license     http://opensource.org/licenses/AGPL-3.0
+ */
+
+class InlineImage extends DBObject
+{
+	public static function Init()
+	{
+		$aParams = array
+		(
+			'category' => 'addon',
+			'key_type' => 'autoincrement',
+			'name_attcode' => array('item_class', 'temp_id'),
+			'state_attcode' => '',
+			'reconc_keys' => array(''),
+			'db_table' => 'inline_image',
+			'db_key_field' => 'id',
+			'db_finalclass_field' => '',
+			'indexes' => array(
+				array('temp_id'),
+				array('item_class', 'item_id'),
+				array('item_org_id'),
+			),
+		);
+		MetaModel::Init_Params($aParams);
+		MetaModel::Init_InheritAttributes();
+		MetaModel::Init_AddAttribute(new AttributeDateTime("expire", array("allowed_values"=>null, "sql"=>'expire', "default_value"=>'', "is_null_allowed"=>false, "depends_on"=>array(), "always_load_in_tables"=>false)));
+		MetaModel::Init_AddAttribute(new AttributeString("temp_id", array("allowed_values"=>null, "sql"=>'temp_id', "default_value"=>'', "is_null_allowed"=>true, "depends_on"=>array(), "always_load_in_tables"=>false)));
+		MetaModel::Init_AddAttribute(new AttributeString("item_class", array("allowed_values"=>null, "sql"=>'item_class', "default_value"=>'', "is_null_allowed"=>false, "depends_on"=>array(), "always_load_in_tables"=>false)));
+		MetaModel::Init_AddAttribute(new AttributeObjectKey("item_id", array("class_attcode"=>'item_class', "allowed_values"=>null, "sql"=>'item_id', "is_null_allowed"=>true, "depends_on"=>array(), "always_load_in_tables"=>false)));
+		MetaModel::Init_AddAttribute(new AttributeInteger("item_org_id", array("allowed_values"=>null, "sql"=>'item_org_id', "default_value"=>'0', "is_null_allowed"=>true, "depends_on"=>array(), "always_load_in_tables"=>false)));
+		MetaModel::Init_AddAttribute(new AttributeBlob("contents", array("is_null_allowed"=>false, "depends_on"=>array(), "always_load_in_tables"=>false)));
+
+
+
+		MetaModel::Init_SetZListItems('details', array('temp_id', 'item_class', 'item_id', 'item_org_id'));
+		MetaModel::Init_SetZListItems('standard_search', array('temp_id', 'item_class', 'item_id'));
+		MetaModel::Init_SetZListItems('list', array('temp_id', 'item_class', 'item_id' ));
+	}
+
+
+	/**
+	 * Maps the given context parameter name to the appropriate filter/search code for this class
+	 * @param string $sContextParam Name of the context parameter, e.g. 'org_id'
+	 * @return string Filter code, e.g. 'customer_id'
+	 */
+	public static function MapContextParam($sContextParam)
+	{
+		if ($sContextParam == 'org_id')
+		{
+			return 'item_org_id';
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Set/Update all of the '_item' fields
+	 * @param DBObject $oItem Container item
+	 * @return void
+	 */
+	public function SetItem(DBObject $oItem, $bUpdateOnChange = false)
+	{
+		$sClass = get_class($oItem);
+		$iItemId = $oItem->GetKey();
+
+ 		$this->Set('item_class', $sClass);
+ 		$this->Set('item_id', $iItemId);
+
+		$aCallSpec = array($sClass, 'MapContextParam');
+		if (is_callable($aCallSpec))
+		{
+			$sAttCode = call_user_func($aCallSpec, 'org_id'); // Returns null when there is no mapping for this parameter					
+			if (MetaModel::IsValidAttCode($sClass, $sAttCode))
+			{
+				$iOrgId = $oItem->Get($sAttCode);
+				if ($iOrgId > 0)
+				{
+					if ($iOrgId != $this->Get('item_org_id'))
+					{
+						$this->Set('item_org_id', $iOrgId);
+						if ($bUpdateOnChange)
+						{
+							$this->DBUpdate();
+						}
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Give a default value for item_org_id (if relevant...)
+	 * @return void
+	 */
+	public function SetDefaultOrgId()
+	{
+		// First check that the organization CAN be fetched from the target class
+		//
+		$sClass = $this->Get('item_class');
+		$aCallSpec = array($sClass, 'MapContextParam');
+		if (is_callable($aCallSpec))
+		{
+			$sAttCode = call_user_func($aCallSpec, 'org_id'); // Returns null when there is no mapping for this parameter					
+			if (MetaModel::IsValidAttCode($sClass, $sAttCode))
+			{
+				// Second: check that the organization CAN be fetched from the current user
+				//
+				if (MetaModel::IsValidClass('Person'))
+				{
+					$aCallSpec = array($sClass, 'MapContextParam');
+					if (is_callable($aCallSpec))
+					{
+						$sAttCode = call_user_func($aCallSpec, 'org_id'); // Returns null when there is no mapping for this parameter					
+						if (MetaModel::IsValidAttCode($sClass, $sAttCode))
+						{
+							// OK - try it
+							//
+							$oCurrentPerson = MetaModel::GetObject('Person', UserRights::GetContactId(), false);
+							if ($oCurrentPerson)
+							{
+						 		$this->Set('item_org_id', $oCurrentPerson->Get($sAttCode));
+						 	}
+						}
+					}
+				}
+			}
+		}
+	}
+	
+	/**
+	 * When posting a form, finalize the creation of the inline images
+	 * related to the specified object
+	 * 
+	 * @param DBObject $oObject
+	 */
+	public static function FinalizeInlineImages(DBObject $oObject)
+	{
+		$iTransactionId = utils::ReadParam('transaction_id', null);
+		if (!is_null($iTransactionId))
+		{
+			// Attach new (temporary) inline images
+			
+			$sTempId = session_id().'_'.$iTransactionId;
+			// The object is being created from a form, check if there are pending inline images for this object
+			$sOQL = 'SELECT InlineImage WHERE temp_id = :temp_id';
+			$oSearch = DBObjectSearch::FromOQL($sOQL);
+			$oSet = new DBObjectSet($oSearch, array(), array('temp_id' => $sTempId));
+			while($oInlineImage = $oSet->Fetch())
+			{
+				$oInlineImage->SetItem($oObject);
+				$oInlineImage->Set('temp_id', '');
+				$oInlineImage->DBUpdate();
+			}
+		}
+	}
+	
+	/**
+	 * Cleanup the pending images if the form is not submitted
+	 * @param string $sTempId
+	 */
+	public static function OnFormCancel($sTempId)
+	{
+		// Delete all "pending" InlineImages for this form
+		$sOQL = 'SELECT InlineImage WHERE temp_id = :temp_id';
+		$oSearch = DBObjectSearch::FromOQL($sOQL);
+		$oSet = new DBObjectSet($oSearch, array(), array('temp_id' => $sTempId));
+		while($oInlineImage = $oSet->Fetch())
+		{
+			$oInlineImage->DBDelete();
+		}
+	}
+	
+	/**
+	 * Parses the supplied HTML fragment to rebuild the attribute src="" for images
+	 * that refer to an InlineImage (detected via the attribute data-img-id="") so that
+	 * the URL is consistent with the current URL of the application.
+	 * @param string $sHtml The HTML fragment to process
+	 * @return string The modified HTML
+	 */
+	public static function FixUrls($sHtml)
+	{
+		$aNeedles = array();
+		$aReplacements = array();
+		// Find img tags with an attribute data-img-id
+		if (preg_match_all('/<img ([^>]*)data-img-id="([0-9]+)"([^>]*)>/i', $sHtml, $aMatches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE))
+		{
+			$sUrl = utils::GetAbsoluteUrlAppRoot().INLINEIMAGE_DOWNLOAD_URL;
+			foreach($aMatches as $aImgInfo)
+			{
+				$sImgTag = $aImgInfo[0][0];
+				$sAttId = $aImgInfo[2][0];
+	
+				$sNewImgTag = preg_replace('/src="[^"]+"/', 'src="'.$sUrl.$sAttId.'"', $sImgTag); // preserve other attributes
+				$aNeedles[] = $sImgTag;
+				$aReplacements[] = $sNewImgTag;
+			}
+			$sHtml = str_replace($aNeedles, $aReplacements, $sHtml);
+		}
+		return $sHtml;
+	}
+
+	/**
+	 * Get the javascript fragment  - to be added to "on document ready" - to adjust (on the fly) the width on Inline Images
+	 */
+	public static function FixImagesWidth()
+	{
+		$iMaxWidth = (int)MetaModel::GetConfig()->Get('inline_image_max_display_width', 0);
+		$sJS = '';
+		if ($iMaxWidth != 0)
+		{
+			$sJS =
+<<<EOF
+$('img[data-img-id]').each(function() {
+	if ($(this).width() > $iMaxWidth)
+	{
+		$(this).css({'max-width': '{$iMaxWidth}px', width: '', height: '', 'max-height': ''});
+	}
+	$(this).addClass('inline-image').attr('href', $(this).attr('src'));
+}).magnificPopup({type: 'image', closeOnContentClick: true });
+EOF
+			;
+		}
+		
+		return $sJS;
+	}
+	
+	/**
+	 * Check if an the given mimeType is an image that can be processed by the system
+	 * @param string $sMimeType
+	 * @return boolean
+	 */
+	public static function IsImage($sMimeType)
+	{
+		if (!function_exists('gd_info')) return false; // no image processing capability on this system
+	
+		$bRet = false;
+		$aInfo = gd_info(); // What are the capabilities
+		switch($sMimeType)
+		{
+			case 'image/gif':
+				return $aInfo['GIF Read Support'];
+				break;
+					
+			case 'image/jpeg':
+				return $aInfo['JPEG Support'];
+				break;
+					
+			case 'image/png':
+				return $aInfo['PNG Support'];
+				break;
+	
+		}
+		return $bRet;
+	}
+	
+	/**
+	 * Resize an image so that it fits the maximum width/height defined in the config file
+	 * @param ormDocument $oImage The original image stored as an array (content / mimetype / filename)
+	 * @return ormDocument The resampled image (or the original one if it already fit)
+	 */
+	public static function ResizeImageToFit(ormDocument $oImage, &$aDimensions = null)
+	{
+		$img = false;
+		switch($oImage->GetMimeType())
+		{
+			case 'image/gif':
+			case 'image/jpeg':
+			case 'image/png':
+				$img = @imagecreatefromstring($oImage->GetData());
+				break;
+					
+			default:
+				// Unsupported image type, return the image as-is
+				$aDimensions = null;
+				return $oImage;
+		}
+		if ($img === false)
+		{
+			$aDimensions = null;
+			return $oImage;
+		}
+		else
+		{
+			// Let's scale the image, preserving the transparency for GIFs and PNGs
+			$iWidth = imagesx($img);
+			$iHeight = imagesy($img);
+			$aDimensions = array('width' => $iWidth, 'height' => $iHeight);
+			$iMaxImageSize = (int)MetaModel::GetConfig()->Get('inline_image_max_storage_width', 0);
+						
+			if (($iMaxImageSize > 0) && ($iWidth <= $iMaxImageSize) && ($iHeight <= $iMaxImageSize))
+			{
+				// No need to resize
+				return $oImage;
+			}
+				
+			$fScale = min($iMaxImageSize / $iWidth, $iMaxImageSize / $iHeight);
+	
+			$iNewWidth = $iWidth * $fScale;
+			$iNewHeight = $iHeight * $fScale;
+			
+			$aDimensions['width'] = $iNewWidth;
+			$aDimensions['height'] = $iNewHeight;
+				
+			$new = imagecreatetruecolor($iNewWidth, $iNewHeight);
+				
+			// Preserve transparency
+			if(($oImage->GetMimeType() == "image/gif") || ($oImage->GetMimeType() == "image/png"))
+			{
+				imagecolortransparent($new, imagecolorallocatealpha($new, 0, 0, 0, 127));
+				imagealphablending($new, false);
+				imagesavealpha($new, true);
+			}
+				
+			imagecopyresampled($new, $img, 0, 0, 0, 0, $iNewWidth, $iNewHeight, $iWidth, $iHeight);
+				
+			ob_start();
+			switch ($oImage->GetMimeType())
+			{
+				case 'image/gif':
+					imagegif($new); // send image to output buffer
+					break;
+	
+				case 'image/jpeg':
+					imagejpeg($new, null, 80); // null = send image to output buffer, 80 = good quality
+					break;
+						
+				case 'image/png':
+					imagepng($new, null, 5); // null = send image to output buffer, 5 = medium compression
+					break;
+			}
+			$oNewImage = new ormDocument(ob_get_contents(), $oImage->GetMimeType(), $oImage->GetFileName());
+			@ob_end_clean();
+				
+			imagedestroy($img);
+			imagedestroy($new);
+	
+			return $oNewImage;
+		}
+	
+	}
+
+	/**
+	 * Get the (localized) textual representation of the max upload size
+	 * @return string
+	 */
+	public static function GetMaxUpload()
+	{
+		$iMaxUpload = ini_get('upload_max_filesize');
+		if (!$iMaxUpload)
+		{
+			$sRet = Dict::S('Attachments:UploadNotAllowedOnThisSystem');
+		}
+		else
+		{
+			$iMaxUpload = utils::ConvertToBytes($iMaxUpload);
+			if ($iMaxUpload > 1024*1024*1024)
+			{
+				$sRet = Dict::Format('Attachment:Max_Go', sprintf('%0.2f', $iMaxUpload/(1024*1024*1024)));
+			}
+			else if ($iMaxUpload > 1024*1024)
+			{
+				$sRet = Dict::Format('Attachment:Max_Mo', sprintf('%0.2f', $iMaxUpload/(1024*1024)));
+			}
+			else
+			{
+				$sRet = Dict::Format('Attachment:Max_Ko', sprintf('%0.2f', $iMaxUpload/(1024)));
+			}
+		}
+		return $sRet;
+	}
+	
+	/**
+	 * Get the fragment of javascript needed to complete the initialization of
+	 * CKEditor when creating/modifying an object
+	 *
+	 * @param DBObject $oObject The object being edited
+	 * @param string $sTempId The concatenation of session_id().'_'.$iTransactionId.
+	 * @return string The JS fragment to insert in "on document ready"
+	 */
+	public static function EnableCKEditorImageUpload(DBObject $oObject, $sTempId)
+	{
+		$sObjClass = get_class($oObject);
+		$iObjKey = $oObject->GetKey();
+		
+		return
+<<<EOF
+		// Hook the file upload of all CKEditor instances
+		$('.htmlEditor').each(function() {
+			var oEditor = $(this).ckeditorGet();
+			oEditor.config.extraPlugins = 'uploadimage';
+			oEditor.config.uploadUrl = GetAbsoluteUrlAppRoot()+'pages/ajax.render.php';
+			oEditor.config.filebrowserBrowseUrl = GetAbsoluteUrlAppRoot()+'pages/ajax.render.php?operation=cke_browse&temp_id=$sTempId&obj_class=$sObjClass&obj_key=$iObjKey';
+			oEditor.on( 'fileUploadResponse', function( evt ) {
+				var fileLoader = evt.data.fileLoader;
+				var xhr = fileLoader.xhr;
+				var data = evt.data;
+				try {
+			        var response = JSON.parse( xhr.responseText );
+		
+			        // Error message does not need to mean that upload finished unsuccessfully.
+			        // It could mean that ex. file name was changes during upload due to naming collision.
+			        if ( response.error && response.error.message ) {
+			            data.message = response.error.message;
+			        }
+		
+			        // But !uploaded means error.
+			        if ( !response.uploaded ) {
+			            evt.cancel();
+			        } else {
+			            data.fileName = response.fileName;
+			           	data.url = response.url;
+	
+			            // Do not call the default listener.
+			            evt.stop();
+			        }
+			    } catch ( err ) {
+			        // Response parsing error.
+			        data.message = fileLoader.lang.filetools.responseError;
+			        window.console && window.console.log( xhr.responseText );
+		
+			        evt.cancel();
+			    }
+			} );
+	
+			oEditor.on( 'fileUploadRequest', function( evt ) {
+				evt.data.fileLoader.uploadUrl += '?operation=cke_img_upload&temp_id=$sTempId&obj_class=$sObjClass';
+			}, null, null, 4 ); // Listener with priority 4 will be executed before priority 5.
+		
+			oEditor.on( 'instanceReady', function() {
+				oEditor.widgets.registered.uploadimage.onUploaded = function( upload ) {
+				var oData = JSON.parse(upload.xhr.responseText);
+			    	this.replaceWith( '<img src="' + upload.url + '" ' +
+			    		'width="' + oData.width + '" ' +
+						'height="' + oData.height + '">' );
+			    }
+			});
+		});
+EOF
+		;
+	}
+}

+ 3 - 3
core/ormcaselog.class.inc.php

@@ -198,7 +198,7 @@ class ormCaseLog {
 			}
 			else
 			{
-				$sTextEntry = utils::FixInlineAttachments($sTextEntry);
+				$sTextEntry = InlineImage::FixUrls($sTextEntry);
 			}
 			$iPos += $aIndex[$index]['text_length'];
 
@@ -286,7 +286,7 @@ class ormCaseLog {
 			}
 			else
 			{
-				$sTextEntry = utils::FixInlineAttachments($sTextEntry);
+				$sTextEntry = InlineImage::FixUrls($sTextEntry);
 			}			
 			$iPos += $aIndex[$index]['text_length'];
 
@@ -389,7 +389,7 @@ class ormCaseLog {
 			}
 			else
 			{
-				$sTextEntry = utils::FixInlineAttachments($sTextEntry);
+				$sTextEntry = InlineImage::FixUrls($sTextEntry);
 			}
 			$iPos += $aIndex[$index]['text_length'];
 

+ 0 - 0
datamodels/2.x/itop-attachments/css/magnific-popup.css → css/magnific-popup.css


+ 2 - 58
datamodels/2.x/itop-attachments/main.attachments.php

@@ -16,6 +16,8 @@
 //   You should have received a copy of the GNU Affero General Public License
 //   along with iTop. If not, see <http://www.gnu.org/licenses/>
 
+define('ATTACHMENT_DOWNLOAD_URL', 'pages/ajax.render.php?operation=download_document&class=Attachment&field=contents&id=');
+
 class AttachmentPlugIn implements iApplicationUIExtension, iApplicationObjectExtension
 {
 	protected static $m_bIsModified = false;
@@ -241,9 +243,6 @@ EOF
 		$oPage->add('<fieldset>');
 		$oPage->add('<legend>'.Dict::S('Attachments:FieldsetTitle').'</legend>');
 
-		$oPage->add_linked_stylesheet(utils::GetAbsoluteUrlModulesRoot().'itop-attachments/css/magnific-popup.css');
-		$oPage->add_linked_script(utils::GetAbsoluteUrlModulesRoot().'itop-attachments/js/jquery.magnific-popup.min.js');
-			
 		if ($bEditMode)
 		{
 			$sIsDeleteEnabled = $this->m_bDeleteEnabled ? 'true' : 'false';
@@ -322,15 +321,6 @@ EOF
 			$oPage->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery.iframe-transport.js');
 			$oPage->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery.fileupload.js');		
 			
-			$maxWidth = MetaModel::GetModuleSetting('itop-standard-email-synchro', 'inline_image_max_width', '');
-			if ($maxWidth !== '')
-			{
-				$sStyle = "style=\"max-width:{$maxWidth}px;cursor:zoom-in;\"";
-			}
-			else
-			{
-				$sStyle = "style=\"cursor:zoom-in;\"";
-			}
 			$sDownloadLink = utils::GetAbsoluteUrlAppRoot().ATTACHMENT_DOWNLOAD_URL;		
 			$oPage->add_ready_script(
 <<< EOF
@@ -406,43 +396,6 @@ EOF
 	        dropZone.removeClass('drag_in');
 	    }, 300);
 	});
-
-	// Hook the file upload of all CKEditor instances
-	$('.htmlEditor').each(function() {
-		var oEditor = $(this).ckeditorGet();
-		oEditor.config.extraPlugins = 'uploadimage';
-		oEditor.config.uploadUrl = GetAbsoluteUrlModulesRoot()+'itop-attachments/ajax.attachment.php';
-		oEditor.config.filebrowserBrowseUrl = GetAbsoluteUrlModulesRoot()+'itop-attachments/ajax.attachment.php?operation=cke_browse&temp_id=$sTempId&obj_class=$sClass&obj_key=$iObjectId';
-		oEditor.on( 'fileUploadResponse', function( evt ) {
-		    // Get XHR and response.
-		    var data = evt.data,
-		        xhr = data.fileLoader.xhr,
-		        response = xhr.responseText.split( '|' );
-				
-			var oValues = JSON.parse(response[0]);
-				
-			var sDownloadLink = '$sDownloadLink'+oValues.att_id;
-			$('#attachments').append('<div class="attachment" id="display_attachment_'+oValues.att_id+'"><a data-preview="'+oValues.preview+'" href="'+sDownloadLink+'"><img src="'+oValues.icon+'"><br/>'+oValues.msg+'<input id="attachment_'+oValues.att_id+'" type="hidden" name="attachments[]" value="'+oValues.att_id+'"/></a><br/><input type="button" class="btn_hidden" value="{$sDeleteBtn}" onClick="RemoveAttachment('+oValues.att_id+');"/></div>');
-			if(true)
-			{
-				$('#display_attachment_'+oValues.att_id).hover( function() { $(this).children(':button').toggleClass('btn_hidden'); } );
-			}
-			$('#attachment_plugin').trigger('add_attachment', [oValues.att_id, oValues.msg, true /* inline image */]);
-		} );
-				
-		oEditor.on( 'fileUploadRequest', function( evt ) {
-		    evt.data.fileLoader.uploadUrl += '?operation=cke_img_upload&temp_id=$sTempId&obj_class=$sClass';
-		}, null, null, 4 ); // Listener with priority 4 will be executed before priority 5.
-								
-			});
-			
-	$('img[data-att-id]').each(function() {
-		if ('$sMaxWidth' != '')
-		{
-			$(this).css({'max-width': '$sMaxWidth', width: '', height: '', 'max-height': ''});
-		}
-		$(this).addClass('inline-image').attr('href', $(this).attr('src'));
-	}).magnificPopup({type: 'image', closeOnContentClick: true });
 	
 	// check if the attachments are used by inline images
 	window.setTimeout( function() {
@@ -505,15 +458,6 @@ EOF
 		position: { my: 'left top', at: 'right top', using: function( position, feedback ) { $( this ).css( position ); }},
 		content: function() { if ($(this).attr('data-preview') == 'true') { return('<img style=\"max-width:{$iMaxWidth}px\" src=\"'+$(this).attr('href')+'\"></img>');} else { return '$sPreviewNotAvailable'; }}
 	});
-			
-	$('img[data-att-id]').each(function() {
-		if ('$sMaxWidth' != '')
-		{
-			$(this).css({'max-width': '$sMaxWidth', width: '', height: '', 'max-height': ''});
-		}
-		$(this).addClass('inline-image');
-		$(this).attr('href', $(this).attr('src'));
-	}).magnificPopup({type: 'image', closeOnContentClick: true });
 EOF
 		);
 	}

+ 7 - 0
dictionaries/dictionary.itop.ui.php

@@ -383,6 +383,7 @@ Dict::Add('EN US', 'English', 'English', array(
 	'UI:Button:Rename' => ' Rename... ',
 	'UI:Button:ChangePassword' => ' Change Password ',
 	'UI:Button:ResetPassword' => ' Reset Password ',
+	'UI:Button:Insert' => 'Insert',
 	
 	'UI:SearchToggle' => 'Search',
 	'UI:ClickToCreateNew' => 'Create a new %1$s',
@@ -1293,5 +1294,11 @@ When associated with a trigger, each action is given an "order" number, specifyi
 	
 	'UI:Menu:ExportPDF' => 'Export as PDF...',
 	'UI:Menu:PrintableVersion' => 'Printer friendly version',
+	
+	'UI:BrowseInlineImages' => 'Browse images...',
+	'UI:UploadInlineImageLegend' => 'Upload a new image',
+	'UI:SelectInlineImageToUpload' => 'Select the image to upload',
+	'UI:AvailableInlineImagesLegend' => 'Available images',
+	'UI:NoInlineImage' => 'There is no image available on the server. Use the "Browse" button above to select an image from your computer and upload it to the server.',
 ));
 ?>

+ 7 - 0
dictionaries/fr.dictionary.itop.ui.php

@@ -263,6 +263,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
 	'UI:Button:Rename' => ' Renommer... ',
 	'UI:Button:ChangePassword' => ' Changer ! ',
 	'UI:Button:ResetPassword' => ' Ràz du mot de passe ',
+	'UI:Button:Insert' => 'Insérer',
 	'UI:SearchToggle' => 'Recherche',
 	'UI:ClickToCreateNew' => 'Créer un nouvel objet de type %1$s',
 	'UI:SearchFor_Class' => 'Rechercher des objets de type %1$s',
@@ -1135,4 +1136,10 @@ Lors de l\'association à un déclencheur, on attribue à chaque action un numé
 	
 	'UI:Menu:ExportPDF' => 'Exporter en PDF...',
 	'UI:Menu:PrintableVersion' => 'Version imprimable',
+
+	'UI:BrowseInlineImages' => 'Parcourir les images...',
+	'UI:UploadInlineImageLegend' => 'Ajouter une image',
+	'UI:SelectInlineImageToUpload' => 'Sélectionnez l\'image à ajouter',
+	'UI:AvailableInlineImagesLegend' => 'Images disponibles',
+	'UI:NoInlineImage' => 'Il n\'y a aucune image de disponible sur le serveur. Utilisez le bouton "Parcourir" (ci-dessus) pour sélectionner une image sur votre ordinateur et la télécharger sur le serveur.',
 ));

+ 3 - 2
js/ckeditor/build-config.js

@@ -13,10 +13,10 @@
  * (1) http://ckeditor.com/builder
  *     Visit online builder to build CKEditor from scratch.
  *
- * (2) http://ckeditor.com/builder/1de7fad5b64ec63d0b3f735553a4b527
+ * (2) http://ckeditor.com/builder/e55cbf89ec0d2a5ac973d24e8726b9f1
  *     Visit online builder to build CKEditor, starting with the same setup as before.
  *
- * (3) http://ckeditor.com/builder/download/1de7fad5b64ec63d0b3f735553a4b527
+ * (3) http://ckeditor.com/builder/download/e55cbf89ec0d2a5ac973d24e8726b9f1
  *     Straight download link to the latest version of CKEditor (Optimized) with the same setup as before.
  *
  * NOTE:
@@ -55,6 +55,7 @@ var CKBUILDER_CONFIG = {
 		'basicstyles' : 1,
 		'blockquote' : 1,
 		'clipboard' : 1,
+		'colorbutton' : 1,
 		'contextmenu' : 1,
 		'elementspath' : 1,
 		'enterkey' : 1,

File diff suppressed because it is too large
+ 16 - 59
js/ckeditor/ckeditor.js


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/lang/de.js


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/lang/en.js


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/lang/es.js


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/lang/fr.js


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/lang/it.js


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/lang/pt-br.js


BIN
js/ckeditor/plugins/colorbutton/icons/bgcolor.png


BIN
js/ckeditor/plugins/colorbutton/icons/hidpi/bgcolor.png


BIN
js/ckeditor/plugins/colorbutton/icons/hidpi/textcolor.png


BIN
js/ckeditor/plugins/colorbutton/icons/textcolor.png


+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/af.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'af', {
+	auto: 'Outomaties',
+	bgColorTitle: 'Agtergrondkleur',
+	colors: {
+		'000': 'Swart',
+		'800000': 'Meroen',
+		'8B4513': 'Sjokoladebruin',
+		'2F4F4F': 'Donkerleisteengrys',
+		'008080': 'Blougroen',
+		'000080': 'Vlootblou',
+		'4B0082': 'Indigo',
+		'696969': 'Donkergrys',
+		B22222: 'Rooibaksteen',
+		A52A2A: 'Bruin',
+		DAA520: 'Donkergeel',
+		'006400': 'Donkergroen',
+		'40E0D0': 'Turkoois',
+		'0000CD': 'Middelblou',
+		'800080': 'Pers',
+		'808080': 'Grys',
+		F00: 'Rooi',
+		FF8C00: 'Donkeroranje',
+		FFD700: 'Goud',
+		'008000': 'Groen',
+		'0FF': 'Siaan',
+		'00F': 'Blou',
+		EE82EE: 'Viooltjieblou',
+		A9A9A9: 'Donkergrys',
+		FFA07A: 'Ligsalm',
+		FFA500: 'Oranje',
+		FFFF00: 'Geel',
+		'00FF00': 'Lemmetjie',
+		AFEEEE: 'Ligturkoois',
+		ADD8E6: 'Ligblou',
+		DDA0DD: 'Pruim',
+		D3D3D3: 'Liggrys',
+		FFF0F5: 'Linne',
+		FAEBD7: 'Ivoor',
+		FFFFE0: 'Liggeel',
+		F0FFF0: 'Heuningdou',
+		F0FFFF: 'Asuur',
+		F0F8FF: 'Ligte hemelsblou',
+		E6E6FA: 'Laventel',
+		FFF: 'Wit'
+	},
+	more: 'Meer Kleure...',
+	panelTitle: 'Kleure',
+	textColorTitle: 'Tekskleur'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ar.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ar', {
+	auto: 'تلقائي',
+	bgColorTitle: 'لون الخلفية',
+	colors: {
+		'000': 'أسود',
+		'800000': 'كستنائي',
+		'8B4513': 'بني فاتح',
+		'2F4F4F': 'رمادي أردوازي غامق',
+		'008080': 'أزرق مخضر',
+		'000080': 'أزرق داكن',
+		'4B0082': 'كحلي',
+		'696969': 'رمادي داكن',
+		B22222: 'طوبي',
+		A52A2A: 'بني',
+		DAA520: 'ذهبي داكن',
+		'006400': 'أخضر داكن',
+		'40E0D0': 'فيروزي',
+		'0000CD': 'أزرق متوسط',
+		'800080': 'بنفسجي غامق',
+		'808080': 'رمادي',
+		F00: 'أحمر',
+		FF8C00: 'برتقالي داكن',
+		FFD700: 'ذهبي',
+		'008000': 'أخضر',
+		'0FF': 'تركواز',
+		'00F': 'أزرق',
+		EE82EE: 'بنفسجي',
+		A9A9A9: 'رمادي شاحب',
+		FFA07A: 'برتقالي وردي',
+		FFA500: 'برتقالي',
+		FFFF00: 'أصفر',
+		'00FF00': 'ليموني',
+		AFEEEE: 'فيروزي شاحب',
+		ADD8E6: 'أزرق فاتح',
+		DDA0DD: 'بنفسجي فاتح',
+		D3D3D3: 'رمادي فاتح',
+		FFF0F5: 'وردي فاتح',
+		FAEBD7: 'أبيض عتيق',
+		FFFFE0: 'أصفر فاتح',
+		F0FFF0: 'أبيض مائل للأخضر',
+		F0FFFF: 'سماوي',
+		F0F8FF: 'لبني',
+		E6E6FA: 'أرجواني',
+		FFF: 'أبيض'
+	},
+	more: 'ألوان إضافية...',
+	panelTitle: 'Colors',
+	textColorTitle: 'لون النص'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/bg.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'bg', {
+	auto: 'Автоматично',
+	bgColorTitle: 'Фонов цвят',
+	colors: {
+		'000': 'Черно',
+		'800000': 'Кестеняво',
+		'8B4513': 'Светлокафяво',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Индиго',
+		'696969': 'Тъмно сиво',
+		B22222: 'Огнено червено',
+		A52A2A: 'Кафяво',
+		DAA520: 'Златисто',
+		'006400': 'Тъмно зелено',
+		'40E0D0': 'Тюркуазено',
+		'0000CD': 'Средно синьо',
+		'800080': 'Пурпурно',
+		'808080': 'Сиво',
+		F00: 'Червено',
+		FF8C00: 'Тъмно оранжево',
+		FFD700: 'Златно',
+		'008000': 'Зелено',
+		'0FF': 'Светло синьо',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Още цветове',
+	panelTitle: 'Цветове',
+	textColorTitle: 'Цвят на шрифт'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/bn.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'bn', {
+	auto: 'অটোমেটিক',
+	bgColorTitle: 'বেকগ্রাউন্ড রং',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'আরও রং...',
+	panelTitle: 'Colors',
+	textColorTitle: 'টেক্স্ট রং'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/bs.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'bs', {
+	auto: 'Automatska',
+	bgColorTitle: 'Boja pozadine',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Više boja...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Boja teksta'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ca.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ca', {
+	auto: 'Automàtic',
+	bgColorTitle: 'Color de Fons',
+	colors: {
+		'000': 'Negre',
+		'800000': 'Grana',
+		'8B4513': 'Marró sella',
+		'2F4F4F': 'Gris pissarra fosca',
+		'008080': 'Blau xarxet',
+		'000080': 'Blau marí',
+		'4B0082': 'Indi',
+		'696969': 'Gris Fosc',
+		B22222: 'Foc Maó',
+		A52A2A: 'Marró',
+		DAA520: 'Solidago',
+		'006400': 'Verd Fosc',
+		'40E0D0': 'Turquesa',
+		'0000CD': 'Blau 1/2',
+		'800080': 'Lila',
+		'808080': 'Gris',
+		F00: 'Vermell',
+		FF8C00: 'Taronja Fosc',
+		FFD700: 'Or',
+		'008000': 'Verd',
+		'0FF': 'Cian',
+		'00F': 'Blau',
+		EE82EE: 'Violat',
+		A9A9A9: 'Gris clar',
+		FFA07A: 'Salmó clar',
+		FFA500: 'Taronja',
+		FFFF00: 'Groc',
+		'00FF00': 'Verd Llima',
+		AFEEEE: 'Turquesa Pàl·lid',
+		ADD8E6: 'Blau Clar',
+		DDA0DD: 'Pruna',
+		D3D3D3: 'Gris Clar',
+		FFF0F5: 'Lavanda rosat',
+		FAEBD7: 'Blanc Antic',
+		FFFFE0: 'Groc Clar',
+		F0FFF0: 'Verd Pàl·lid',
+		F0FFFF: 'Atzur',
+		F0F8FF: 'Cian pàlid',
+		E6E6FA: 'Lavanda',
+		FFF: 'Blanc'
+	},
+	more: 'Més Colors...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Color del Text'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/cs.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'cs', {
+	auto: 'Automaticky',
+	bgColorTitle: 'Barva pozadí',
+	colors: {
+		'000': 'Černá',
+		'800000': 'Kaštanová',
+		'8B4513': 'Sedlová hněď',
+		'2F4F4F': 'Tmavě bledě šedá',
+		'008080': 'Čírka',
+		'000080': 'Námořnická modř',
+		'4B0082': 'Inkoustová',
+		'696969': 'Tmavě šedá',
+		B22222: 'Pálená cihla',
+		A52A2A: 'Hnědá',
+		DAA520: 'Zlatý prut',
+		'006400': 'Tmavě zelená',
+		'40E0D0': 'Tyrkisová',
+		'0000CD': 'Středně modrá',
+		'800080': 'Purpurová',
+		'808080': 'Šedá',
+		F00: 'Červená',
+		FF8C00: 'Tmavě oranžová',
+		FFD700: 'Zlatá',
+		'008000': 'Zelená',
+		'0FF': 'Azurová',
+		'00F': 'Modrá',
+		EE82EE: 'Fialová',
+		A9A9A9: 'Kalně šedá',
+		FFA07A: 'Světle lososová',
+		FFA500: 'Oranžová',
+		FFFF00: 'Žlutá',
+		'00FF00': 'Limetková',
+		AFEEEE: 'Bledě tyrkisová',
+		ADD8E6: 'Světle modrá',
+		DDA0DD: 'Švestková',
+		D3D3D3: 'Světle šedá',
+		FFF0F5: 'Levandulově ruměnná',
+		FAEBD7: 'Antická bílá',
+		FFFFE0: 'Světle žlutá',
+		F0FFF0: 'Medová rosa',
+		F0FFFF: 'Azurová',
+		F0F8FF: 'Alenčina modrá',
+		E6E6FA: 'Levandulová',
+		FFF: 'Bílá'
+	},
+	more: 'Více barev...',
+	panelTitle: 'Barvy',
+	textColorTitle: 'Barva textu'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/cy.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'cy', {
+	auto: 'Awtomatig',
+	bgColorTitle: 'Lliw Cefndir',
+	colors: {
+		'000': 'Du',
+		'800000': 'Marwn',
+		'8B4513': 'Brown Cyfrwy',
+		'2F4F4F': 'Llechen Tywyll',
+		'008080': 'Corhwyad',
+		'000080': 'Nefi',
+		'4B0082': 'Indigo',
+		'696969': 'Llwyd Tywyll',
+		B22222: 'Bric Tân',
+		A52A2A: 'Brown',
+		DAA520: 'Rhoden Aur',
+		'006400': 'Gwyrdd Tywyll',
+		'40E0D0': 'Gwyrddlas',
+		'0000CD': 'Glas Canolig',
+		'800080': 'Porffor',
+		'808080': 'Llwyd',
+		F00: 'Coch',
+		FF8C00: 'Oren Tywyll',
+		FFD700: 'Aur',
+		'008000': 'Gwyrdd',
+		'0FF': 'Cyan',
+		'00F': 'Glas',
+		EE82EE: 'Fioled',
+		A9A9A9: 'Llwyd Pwl',
+		FFA07A: 'Samwn Golau',
+		FFA500: 'Oren',
+		FFFF00: 'Melyn',
+		'00FF00': 'Leim',
+		AFEEEE: 'Gwyrddlas Golau',
+		ADD8E6: 'Glas Golau',
+		DDA0DD: 'Eirinen',
+		D3D3D3: 'Llwyd Golau',
+		FFF0F5: 'Gwrid Lafant',
+		FAEBD7: 'Gwyn Hynafol',
+		FFFFE0: 'Melyn Golau',
+		F0FFF0: 'Melwn Gwyrdd Golau',
+		F0FFFF: 'Aswr',
+		F0F8FF: 'Glas Alys',
+		E6E6FA: 'Lafant',
+		FFF: 'Gwyn'
+	},
+	more: 'Mwy o Liwiau...',
+	panelTitle: 'Lliwiau',
+	textColorTitle: 'Lliw Testun'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/da.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'da', {
+	auto: 'Automatisk',
+	bgColorTitle: 'Baggrundsfarve',
+	colors: {
+		'000': 'Sort',
+		'800000': 'Mørkerød',
+		'8B4513': 'Mørk orange',
+		'2F4F4F': 'Dark Slate Grå',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Mørkegrå',
+		B22222: 'Scarlet / Rød',
+		A52A2A: 'Brun',
+		DAA520: 'Guld',
+		'006400': 'Mørkegrøn',
+		'40E0D0': 'Tyrkis',
+		'0000CD': 'Mellemblå',
+		'800080': 'Lilla',
+		'808080': 'Grå',
+		F00: 'Rød',
+		FF8C00: 'Mørk orange',
+		FFD700: 'Guld',
+		'008000': 'Grøn',
+		'0FF': 'Cyan',
+		'00F': 'Blå',
+		EE82EE: 'Violet',
+		A9A9A9: 'Matgrå',
+		FFA07A: 'Laksefarve',
+		FFA500: 'Orange',
+		FFFF00: 'Gul',
+		'00FF00': 'Lime',
+		AFEEEE: 'Mat tyrkis',
+		ADD8E6: 'Lyseblå',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Lysegrå',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antikhvid',
+		FFFFE0: 'Lysegul',
+		F0FFF0: 'Gul / Beige',
+		F0FFFF: 'Himmeblå',
+		F0F8FF: 'Alice blue',
+		E6E6FA: 'Lavendel',
+		FFF: 'Hvid'
+	},
+	more: 'Flere farver...',
+	panelTitle: 'Farver',
+	textColorTitle: 'Tekstfarve'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/de-ch.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'de-ch', {
+	auto: 'Automatisch',
+	bgColorTitle: 'Hintergrundfarbe',
+	colors: {
+		'000': 'Schwarz',
+		'800000': 'Kastanienbraun',
+		'8B4513': 'Braun',
+		'2F4F4F': 'Dunkles Schiefergrau',
+		'008080': 'Blaugrün',
+		'000080': 'Marineblau',
+		'4B0082': 'Indigo',
+		'696969': 'Dunkelgrau',
+		B22222: 'Ziegelrot',
+		A52A2A: 'Braun',
+		DAA520: 'Goldgelb',
+		'006400': 'Dunkelgrün',
+		'40E0D0': 'Türkis',
+		'0000CD': 'Mittelblau',
+		'800080': 'Lila',
+		'808080': 'Grau',
+		F00: 'Rot',
+		FF8C00: 'Dunkelorange',
+		FFD700: 'Gold',
+		'008000': 'Grün',
+		'0FF': 'Cyan',
+		'00F': 'Blau',
+		EE82EE: 'Violett',
+		A9A9A9: 'Dunkelgrau',
+		FFA07A: 'Helles Lachsrosa',
+		FFA500: 'Orange',
+		FFFF00: 'Gelb',
+		'00FF00': 'Lime',
+		AFEEEE: 'Blasstürkis',
+		ADD8E6: 'Hellblau',
+		DDA0DD: 'Pflaumenblau',
+		D3D3D3: 'Hellgrau',
+		FFF0F5: 'Lavendel',
+		FAEBD7: 'Antik Weiss',
+		FFFFE0: 'Hellgelb',
+		F0FFF0: 'Honigtau',
+		F0FFFF: 'Azurblau',
+		F0F8FF: 'Alice Blau',
+		E6E6FA: 'Lavendel',
+		FFF: 'Weiss'
+	},
+	more: 'Weitere Farben...',
+	panelTitle: 'Farben',
+	textColorTitle: 'Textfarbe'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/de.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'de', {
+	auto: 'Automatisch',
+	bgColorTitle: 'Hintergrundfarbe',
+	colors: {
+		'000': 'Schwarz',
+		'800000': 'Kastanienbraun',
+		'8B4513': 'Braun',
+		'2F4F4F': 'Dunkles Schiefergrau',
+		'008080': 'Blaugrün',
+		'000080': 'Marineblau',
+		'4B0082': 'Indigo',
+		'696969': 'Dunkelgrau',
+		B22222: 'Ziegelrot',
+		A52A2A: 'Braun',
+		DAA520: 'Goldgelb',
+		'006400': 'Dunkelgrün',
+		'40E0D0': 'Türkis',
+		'0000CD': 'Mittelblau',
+		'800080': 'Lila',
+		'808080': 'Grau',
+		F00: 'Rot',
+		FF8C00: 'Dunkelorange',
+		FFD700: 'Gold',
+		'008000': 'Grün',
+		'0FF': 'Cyan',
+		'00F': 'Blau',
+		EE82EE: 'Violett',
+		A9A9A9: 'Dunkelgrau',
+		FFA07A: 'Helles Lachsrosa',
+		FFA500: 'Orange',
+		FFFF00: 'Gelb',
+		'00FF00': 'Lime',
+		AFEEEE: 'Blasstürkis',
+		ADD8E6: 'Hellblau',
+		DDA0DD: 'Pflaumenblau',
+		D3D3D3: 'Hellgrau',
+		FFF0F5: 'Lavendel',
+		FAEBD7: 'Antik Weiß',
+		FFFFE0: 'Hellgelb',
+		F0FFF0: 'Honigtau',
+		F0FFFF: 'Azurblau',
+		F0F8FF: 'Alice Blau',
+		E6E6FA: 'Lavendel',
+		FFF: 'Weiß'
+	},
+	more: 'Weitere Farben...',
+	panelTitle: 'Farben',
+	textColorTitle: 'Textfarbe'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/el.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'el', {
+	auto: 'Αυτόματα',
+	bgColorTitle: 'Χρώμα Φόντου',
+	colors: {
+		'000': 'Μαύρο',
+		'800000': 'Καστανέρυθρο',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Βαθυκύανο',
+		'000080': 'Μπλε μαρέν',
+		'4B0082': 'Ινδικό',
+		'696969': 'Σκούρο Γκρι',
+		B22222: 'Ανοικτό Κόκκινο',
+		A52A2A: 'Καφέ',
+		DAA520: 'Golden Rod',
+		'006400': 'Σκούρο Πράσινο',
+		'40E0D0': 'Τυρκουάζ',
+		'0000CD': 'Medium Blue',
+		'800080': 'Μοβ',
+		'808080': 'Γκρι',
+		F00: 'Κόκκινο',
+		FF8C00: 'Σκούρο Πορτοκαλί',
+		FFD700: 'Χρυσαφί',
+		'008000': 'Πράσινο',
+		'0FF': 'Κυανό',
+		'00F': 'Μπλε',
+		EE82EE: 'Μενεξεδί',
+		A9A9A9: 'Ποντικί',
+		FFA07A: 'Ανοικτό Σομόν',
+		FFA500: 'Πορτοκαλί',
+		FFFF00: 'Κίτρινο',
+		'00FF00': 'Μοσχολέμονο',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Γαλάζιο',
+		DDA0DD: 'Δαμασκηνί',
+		D3D3D3: 'Ανοικτό Γκρι',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Ανοικτό Κίτρινο',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Γαλανό',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Ελαφρός Ιώδες',
+		FFF: 'Λευκό'
+	},
+	more: 'Περισσότερα Χρώματα…',
+	panelTitle: 'Χρώματα',
+	textColorTitle: 'Χρώμα Κειμένου'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/en-au.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'en-au', {
+	auto: 'Automatic',
+	bgColorTitle: 'Background Colour',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'More Colours...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Text Colour'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/en-ca.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'en-ca', {
+	auto: 'Automatic',
+	bgColorTitle: 'Background Colour',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'More Colours...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Text Colour'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/en-gb.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'en-gb', {
+	auto: 'Automatic',
+	bgColorTitle: 'Background Colour',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Grey',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Grey',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Grey',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Grey',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'More Colours...',
+	panelTitle: 'Colours',
+	textColorTitle: 'Text Colour'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/en.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'en', {
+	auto: 'Automatic',
+	bgColorTitle: 'Background Color',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'More Colors...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Text Color'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/eo.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'eo', {
+	auto: 'Aŭtomata',
+	bgColorTitle: 'Fona Koloro',
+	colors: {
+		'000': 'Nigra',
+		'800000': 'Kaŝtankolora',
+		'8B4513': 'Mezbruna',
+		'2F4F4F': 'Ardezgriza',
+		'008080': 'Marĉanaskolora',
+		'000080': 'Maristblua',
+		'4B0082': 'Indigokolora',
+		'696969': 'Malhelgriza',
+		B22222: 'Brikruĝa',
+		A52A2A: 'Bruna',
+		DAA520: 'Senbrilorkolora',
+		'006400': 'Malhelverda',
+		'40E0D0': 'Turkisblua',
+		'0000CD': 'Reĝblua',
+		'800080': 'Purpura',
+		'808080': 'Griza',
+		F00: 'Ruĝa',
+		FF8C00: 'Malheloranĝkolora',
+		FFD700: 'Orkolora',
+		'008000': 'Verda',
+		'0FF': 'Verdblua',
+		'00F': 'Blua',
+		EE82EE: 'Viola',
+		A9A9A9: 'Mezgriza',
+		FFA07A: 'Salmokolora',
+		FFA500: 'Oranĝkolora',
+		FFFF00: 'Flava',
+		'00FF00': 'Limetkolora',
+		AFEEEE: 'Helturkiskolora',
+		ADD8E6: 'Helblua',
+		DDA0DD: 'Prunkolora',
+		D3D3D3: 'Helgriza',
+		FFF0F5: 'Lavendkolora vangoŝminko',
+		FAEBD7: 'Antikvablanka',
+		FFFFE0: 'Helflava',
+		F0FFF0: 'Vintromelonkolora',
+		F0FFFF: 'Lazura',
+		F0F8FF: 'Aliceblua',
+		E6E6FA: 'Lavendkolora',
+		FFF: 'Blanka'
+	},
+	more: 'Pli da Koloroj...',
+	panelTitle: 'Koloroj',
+	textColorTitle: 'Teksta Koloro'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/es.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'es', {
+	auto: 'Automático',
+	bgColorTitle: 'Color de Fondo',
+	colors: {
+		'000': 'Negro',
+		'800000': 'Marrón oscuro',
+		'8B4513': 'Marrón tierra',
+		'2F4F4F': 'Pizarra Oscuro',
+		'008080': 'Azul verdoso',
+		'000080': 'Azul marino',
+		'4B0082': 'Añil',
+		'696969': 'Gris oscuro',
+		B22222: 'Ladrillo',
+		A52A2A: 'Marrón',
+		DAA520: 'Oro oscuro',
+		'006400': 'Verde oscuro',
+		'40E0D0': 'Turquesa',
+		'0000CD': 'Azul medio-oscuro',
+		'800080': 'Púrpura',
+		'808080': 'Gris',
+		F00: 'Rojo',
+		FF8C00: 'Naranja oscuro',
+		FFD700: 'Oro',
+		'008000': 'Verde',
+		'0FF': 'Cian',
+		'00F': 'Azul',
+		EE82EE: 'Violeta',
+		A9A9A9: 'Gris medio',
+		FFA07A: 'Salmón claro',
+		FFA500: 'Naranja',
+		FFFF00: 'Amarillo',
+		'00FF00': 'Lima',
+		AFEEEE: 'Turquesa claro',
+		ADD8E6: 'Azul claro',
+		DDA0DD: 'Violeta claro',
+		D3D3D3: 'Gris claro',
+		FFF0F5: 'Lavanda rojizo',
+		FAEBD7: 'Blanco antiguo',
+		FFFFE0: 'Amarillo claro',
+		F0FFF0: 'Miel',
+		F0FFFF: 'Azul celeste',
+		F0F8FF: 'Azul pálido',
+		E6E6FA: 'Lavanda',
+		FFF: 'Blanco'
+	},
+	more: 'Más Colores...',
+	panelTitle: 'Colores',
+	textColorTitle: 'Color de Texto'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/et.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'et', {
+	auto: 'Automaatne',
+	bgColorTitle: 'Tausta värv',
+	colors: {
+		'000': 'Must',
+		'800000': 'Kastanpruun',
+		'8B4513': 'Sadulapruun',
+		'2F4F4F': 'Tume paehall',
+		'008080': 'Sinakasroheline',
+		'000080': 'Meresinine',
+		'4B0082': 'Indigosinine',
+		'696969': 'Tumehall',
+		B22222: 'Šamottkivi',
+		A52A2A: 'Pruun',
+		DAA520: 'Kuldkollane',
+		'006400': 'Tumeroheline',
+		'40E0D0': 'Türkiissinine',
+		'0000CD': 'Keskmine sinine',
+		'800080': 'Lilla',
+		'808080': 'Hall',
+		F00: 'Punanae',
+		FF8C00: 'Tumeoranž',
+		FFD700: 'Kuldne',
+		'008000': 'Roheline',
+		'0FF': 'Tsüaniidsinine',
+		'00F': 'Sinine',
+		EE82EE: 'Violetne',
+		A9A9A9: 'Tuhm hall',
+		FFA07A: 'Hele lõhe',
+		FFA500: 'Oranž',
+		FFFF00: 'Kollane',
+		'00FF00': 'Lubja hall',
+		AFEEEE: 'Kahvatu türkiis',
+		ADD8E6: 'Helesinine',
+		DDA0DD: 'Ploomililla',
+		D3D3D3: 'Helehall',
+		FFF0F5: 'Lavendlipunane',
+		FAEBD7: 'Antiikvalge',
+		FFFFE0: 'Helekollane',
+		F0FFF0: 'Meloniroheline',
+		F0FFFF: 'Taevasinine',
+		F0F8FF: 'Beebisinine',
+		E6E6FA: 'Lavendel',
+		FFF: 'Valge'
+	},
+	more: 'Rohkem värve...',
+	panelTitle: 'Värvid',
+	textColorTitle: 'Teksti värv'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/eu.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'eu', {
+	auto: 'Automatikoa',
+	bgColorTitle: 'Atzeko planoko kolorea',
+	colors: {
+		'000': 'Beltza',
+		'800000': 'Granatea',
+		'8B4513': 'Zela marroia',
+		'2F4F4F': 'Arbel gris iluna',
+		'008080': 'Urdin berdexka',
+		'000080': 'Urdin iluna',
+		'4B0082': 'Indigoa',
+		'696969': 'Gris iluna',
+		B22222: 'Adreilu erregogorra',
+		A52A2A: 'Marroia',
+		DAA520: 'Urrezko makila',
+		'006400': 'Berde iluna',
+		'40E0D0': 'Turkesa',
+		'0000CD': 'Urdin ertaina',
+		'800080': 'Morea',
+		'808080': 'Grisa',
+		F00: 'Gorria',
+		FF8C00: 'Laranja iluna',
+		FFD700: 'Urrea',
+		'008000': 'Berdea',
+		'0FF': 'Ziana',
+		'00F': 'Urdina',
+		EE82EE: 'Bioleta',
+		A9A9A9: 'Gris ahula',
+		FFA07A: 'Izokin-kolore argia',
+		FFA500: 'Laranja',
+		FFFF00: 'Horia',
+		'00FF00': 'Lima',
+		AFEEEE: 'Turkesa argia',
+		ADD8E6: 'Urdin argia',
+		DDA0DD: 'Aran-kolorea',
+		D3D3D3: 'Gris argia',
+		FFF0F5: 'Izpiliku-gorrixka',
+		FAEBD7: 'Zuri zaharra',
+		FFFFE0: 'Hori argia',
+		F0FFF0: 'Ezti-ihintza',
+		F0FFFF: 'Zeru-urdina',
+		F0F8FF: 'Alizia urdina',
+		E6E6FA: 'Izpilikua',
+		FFF: 'Zuria'
+	},
+	more: 'Kolore gehiago...',
+	panelTitle: 'Koloreak',
+	textColorTitle: 'Testu-kolorea'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/fa.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'fa', {
+	auto: 'خودکار',
+	bgColorTitle: 'رنگ پس​زمینه',
+	colors: {
+		'000': 'سیاه',
+		'800000': 'خرمایی',
+		'8B4513': 'قهوه​ای شکلاتی',
+		'2F4F4F': 'ارغوانی مایل به خاکستری',
+		'008080': 'آبی مایل به خاکستری',
+		'000080': 'آبی سیر',
+		'4B0082': 'نیلی',
+		'696969': 'خاکستری تیره',
+		B22222: 'آتش آجری',
+		A52A2A: 'قهوه​ای',
+		DAA520: 'میله​ی طلایی',
+		'006400': 'سبز تیره',
+		'40E0D0': 'فیروزه​ای',
+		'0000CD': 'آبی روشن',
+		'800080': 'ارغوانی',
+		'808080': 'خاکستری',
+		F00: 'قرمز',
+		FF8C00: 'نارنجی پررنگ',
+		FFD700: 'طلایی',
+		'008000': 'سبز',
+		'0FF': 'آبی مایل به سبز',
+		'00F': 'آبی',
+		EE82EE: 'بنفش',
+		A9A9A9: 'خاکستری مات',
+		FFA07A: 'صورتی کدر روشن',
+		FFA500: 'نارنجی',
+		FFFF00: 'زرد',
+		'00FF00': 'فسفری',
+		AFEEEE: 'فیروزه​ای رنگ پریده',
+		ADD8E6: 'آبی کمرنگ',
+		DDA0DD: 'آلویی',
+		D3D3D3: 'خاکستری روشن',
+		FFF0F5: 'بنفش کمرنگ',
+		FAEBD7: 'عتیقه سفید',
+		FFFFE0: 'زرد روشن',
+		F0FFF0: 'عسلی',
+		F0FFFF: 'لاجوردی',
+		F0F8FF: 'آبی براق',
+		E6E6FA: 'بنفش کمرنگ',
+		FFF: 'سفید'
+	},
+	more: 'رنگ​های بیشتر...',
+	panelTitle: 'رنگها',
+	textColorTitle: 'رنگ متن'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/fi.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'fi', {
+	auto: 'Automaattinen',
+	bgColorTitle: 'Taustaväri',
+	colors: {
+		'000': 'Musta',
+		'800000': 'Kastanjanruskea',
+		'8B4513': 'Satulanruskea',
+		'2F4F4F': 'Tumma liuskekivenharmaa',
+		'008080': 'Sinivihreä',
+		'000080': 'Laivastonsininen',
+		'4B0082': 'Indigonsininen',
+		'696969': 'Tummanharmaa',
+		B22222: 'Tiili',
+		A52A2A: 'Ruskea',
+		DAA520: 'Kultapiisku',
+		'006400': 'Tummanvihreä',
+		'40E0D0': 'Turkoosi',
+		'0000CD': 'Keskisininen',
+		'800080': 'Purppura',
+		'808080': 'Harmaa',
+		F00: 'Punainen',
+		FF8C00: 'Tumma oranssi',
+		FFD700: 'Kulta',
+		'008000': 'Vihreä',
+		'0FF': 'Syaani',
+		'00F': 'Sininen',
+		EE82EE: 'Violetti',
+		A9A9A9: 'Tummanharmaa',
+		FFA07A: 'Vaaleanlohenpunainen',
+		FFA500: 'Oranssi',
+		FFFF00: 'Keltainen',
+		'00FF00': 'Limetin vihreä',
+		AFEEEE: 'Haalea turkoosi',
+		ADD8E6: 'Vaaleansininen',
+		DDA0DD: 'Luumu',
+		D3D3D3: 'Vaaleanharmaa',
+		FFF0F5: 'Laventelinpunainen',
+		FAEBD7: 'Antiikinvalkoinen',
+		FFFFE0: 'Vaaleankeltainen',
+		F0FFF0: 'Hunajameloni',
+		F0FFFF: 'Asurinsininen',
+		F0F8FF: 'Alice Blue -sininen',
+		E6E6FA: 'Lavanteli',
+		FFF: 'Valkoinen'
+	},
+	more: 'Lisää värejä...',
+	panelTitle: 'Värit',
+	textColorTitle: 'Tekstiväri'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/fo.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'fo', {
+	auto: 'Automatiskt',
+	bgColorTitle: 'Bakgrundslitur',
+	colors: {
+		'000': 'Svart',
+		'800000': 'Maroon',
+		'8B4513': 'Saðilsbrúnt',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Myrkagrátt',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brúnt',
+		DAA520: 'Gullstavur',
+		'006400': 'Myrkagrønt',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Meðal blátt',
+		'800080': 'Purple',
+		'808080': 'Grátt',
+		F00: 'Reytt',
+		FF8C00: 'Myrkt appelsingult',
+		FFD700: 'Gull',
+		'008000': 'Grønt',
+		'0FF': 'Cyan',
+		'00F': 'Blátt',
+		EE82EE: 'Violet',
+		A9A9A9: 'Døkt grátt',
+		FFA07A: 'Ljósur laksur',
+		FFA500: 'Appelsingult',
+		FFFF00: 'Gult',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Ljósablátt',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Ljósagrátt',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Klassiskt hvítt',
+		FFFFE0: 'Ljósagult',
+		F0FFF0: 'Hunangsdøggur',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blátt',
+		E6E6FA: 'Lavender',
+		FFF: 'Hvítt'
+	},
+	more: 'Fleiri litir...',
+	panelTitle: 'Litir',
+	textColorTitle: 'Tekstlitur'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/fr-ca.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'fr-ca', {
+	auto: 'Automatique',
+	bgColorTitle: 'Couleur de fond',
+	colors: {
+		'000': 'Noir',
+		'800000': 'Marron',
+		'8B4513': 'Brun foncé',
+		'2F4F4F': 'Gris ardoise foncé',
+		'008080': 'Sarcelle',
+		'000080': 'Marine',
+		'4B0082': 'Indigo',
+		'696969': 'Gris foncé',
+		B22222: 'Rouge brique',
+		A52A2A: 'Brun',
+		DAA520: 'Doré',
+		'006400': 'Vert foncé',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Bleu',
+		'800080': 'Mauve',
+		'808080': 'Gris',
+		F00: 'Rouge',
+		FF8C00: 'Orange foncé',
+		FFD700: 'Or',
+		'008000': 'Vert',
+		'0FF': 'Cyan',
+		'00F': 'Bleu',
+		EE82EE: 'Violet',
+		A9A9A9: 'Gris pâle',
+		FFA07A: 'Saumon clair',
+		FFA500: 'Orange',
+		FFFF00: 'Jaune',
+		'00FF00': 'Vert lime',
+		AFEEEE: 'Turquoise pâle',
+		ADD8E6: 'Bleu pâle',
+		DDA0DD: 'Prune',
+		D3D3D3: 'Gris pâle',
+		FFF0F5: 'Bleu lavande',
+		FAEBD7: 'Blanc antique',
+		FFFFE0: 'Jaune pâle',
+		F0FFF0: 'Miel doré',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Bleu alice',
+		E6E6FA: 'Lavande',
+		FFF: 'Blanc'
+	},
+	more: 'Plus de couleurs...',
+	panelTitle: 'Couleurs',
+	textColorTitle: 'Couleur de texte'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/fr.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'fr', {
+	auto: 'Automatique',
+	bgColorTitle: 'Couleur d\'arrière plan',
+	colors: {
+		'000': 'Noir',
+		'800000': 'Marron',
+		'8B4513': 'Brun moyen',
+		'2F4F4F': 'Vert sombre',
+		'008080': 'Canard',
+		'000080': 'Bleu marine',
+		'4B0082': 'Indigo',
+		'696969': 'Gris foncé',
+		B22222: 'Rouge brique',
+		A52A2A: 'Brun',
+		DAA520: 'Or terni',
+		'006400': 'Vert foncé',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Bleu royal',
+		'800080': 'Pourpre',
+		'808080': 'Gris',
+		F00: 'Rouge',
+		FF8C00: 'Orange foncé',
+		FFD700: 'Or',
+		'008000': 'Vert',
+		'0FF': 'Cyan',
+		'00F': 'Bleu',
+		EE82EE: 'Violet',
+		A9A9A9: 'Gris moyen',
+		FFA07A: 'Saumon',
+		FFA500: 'Orange',
+		FFFF00: 'Jaune',
+		'00FF00': 'Lime',
+		AFEEEE: 'Turquoise clair',
+		ADD8E6: 'Bleu clair',
+		DDA0DD: 'Prune',
+		D3D3D3: 'Gris clair',
+		FFF0F5: 'Fard Lavande',
+		FAEBD7: 'Blanc antique',
+		FFFFE0: 'Jaune clair',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azur',
+		F0F8FF: 'Bleu Alice',
+		E6E6FA: 'Lavande',
+		FFF: 'Blanc'
+	},
+	more: 'Plus de couleurs...',
+	panelTitle: 'Couleurs',
+	textColorTitle: 'Couleur de texte'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/gl.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'gl', {
+	auto: 'Automático',
+	bgColorTitle: 'Cor do fondo',
+	colors: {
+		'000': 'Negro',
+		'800000': 'Marrón escuro',
+		'8B4513': 'Ocre',
+		'2F4F4F': 'Pizarra escuro',
+		'008080': 'Verde azulado',
+		'000080': 'Azul mariño',
+		'4B0082': 'Índigo',
+		'696969': 'Gris escuro',
+		B22222: 'Ladrillo',
+		A52A2A: 'Marrón',
+		DAA520: 'Dourado escuro',
+		'006400': 'Verde escuro',
+		'40E0D0': 'Turquesa',
+		'0000CD': 'Azul medio',
+		'800080': 'Púrpura',
+		'808080': 'Gris',
+		F00: 'Vermello',
+		FF8C00: 'Laranxa escuro',
+		FFD700: 'Dourado',
+		'008000': 'Verde',
+		'0FF': 'Cian',
+		'00F': 'Azul',
+		EE82EE: 'Violeta',
+		A9A9A9: 'Gris medio',
+		FFA07A: 'Salmón claro',
+		FFA500: 'Laranxa',
+		FFFF00: 'Amarelo',
+		'00FF00': 'Lima',
+		AFEEEE: 'Turquesa pálido',
+		ADD8E6: 'Azul claro',
+		DDA0DD: 'Violeta pálido',
+		D3D3D3: 'Verde claro',
+		FFF0F5: 'Lavanda vermello',
+		FAEBD7: 'Branco antigo',
+		FFFFE0: 'Amarelo claro',
+		F0FFF0: 'Mel',
+		F0FFFF: 'Azul celeste',
+		F0F8FF: 'Azul pálido',
+		E6E6FA: 'Lavanda',
+		FFF: 'Branco'
+	},
+	more: 'Máis cores...',
+	panelTitle: 'Cores',
+	textColorTitle: 'Cor do texto'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/gu.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'gu', {
+	auto: 'સ્વચાલિત',
+	bgColorTitle: 'બૅકગ્રાઉન્ડ રંગ,',
+	colors: {
+		'000': 'કાળો',
+		'800000': 'મરુન',
+		'8B4513': 'છીક',
+		'2F4F4F': 'ડાર્ક સ્લેટ ગ્રે ',
+		'008080': 'ટીલ',
+		'000080': 'નેવી',
+		'4B0082': 'જામલી',
+		'696969': 'ડાર્ક ગ્રે',
+		B22222: 'ઈટ',
+		A52A2A: 'બ્રાઉન',
+		DAA520: 'ગોલ્ડન રોડ',
+		'006400': 'ડાર્ક લીલો',
+		'40E0D0': 'ટ્રકોઈસ',
+		'0000CD': 'મધ્યમ વાદળી',
+		'800080': 'પર્પલ',
+		'808080': 'ગ્રે',
+		F00: 'લાલ',
+		FF8C00: 'ડાર્ક ઓરંજ',
+		FFD700: 'ગોલ્ડ',
+		'008000': 'ગ્રીન',
+		'0FF': 'સાયન',
+		'00F': 'વાદળી',
+		EE82EE: 'વાયોલેટ',
+		A9A9A9: 'ડીમ ',
+		FFA07A: 'લાઈટ સાલમન',
+		FFA500: 'ઓરંજ',
+		FFFF00: 'પીળો',
+		'00FF00': 'લાઈમ',
+		AFEEEE: 'પેલ કોઈસ',
+		ADD8E6: 'લાઈટ બ્લુ',
+		DDA0DD: 'પલ્મ',
+		D3D3D3: 'લાઈટ ગ્રે',
+		FFF0F5: 'લવંડર ',
+		FAEBD7: 'એન્ટીક સફેદ',
+		FFFFE0: 'લાઈટ પીળો',
+		F0FFF0: 'હનીડઉય',
+		F0FFFF: 'અઝુરે',
+		F0F8FF: 'એલીસ બ્લુ',
+		E6E6FA: 'લવંડર',
+		FFF: 'સફેદ'
+	},
+	more: 'ઔર રંગ...',
+	panelTitle: 'રંગ',
+	textColorTitle: 'શબ્દનો રંગ'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/he.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'he', {
+	auto: 'אוטומטי',
+	bgColorTitle: 'צבע רקע',
+	colors: {
+		'000': 'שחור',
+		'800000': 'סגול כהה',
+		'8B4513': 'חום בהיר',
+		'2F4F4F': 'אפור צפחה',
+		'008080': 'כחול-ירוק',
+		'000080': 'כחול-סגול',
+		'4B0082': 'אינדיגו',
+		'696969': 'אפור מעומעם',
+		B22222: 'אדום-חום',
+		A52A2A: 'חום',
+		DAA520: 'כתום זהב',
+		'006400': 'ירוק כהה',
+		'40E0D0': 'טורקיז',
+		'0000CD': 'כחול בינוני',
+		'800080': 'סגול',
+		'808080': 'אפור',
+		F00: 'אדום',
+		FF8C00: 'כתום כהה',
+		FFD700: 'זהב',
+		'008000': 'ירוק',
+		'0FF': 'ציאן',
+		'00F': 'כחול',
+		EE82EE: 'סגלגל',
+		A9A9A9: 'אפור כהה',
+		FFA07A: 'כתום-וורוד',
+		FFA500: 'כתום',
+		FFFF00: 'צהוב',
+		'00FF00': 'ליים',
+		AFEEEE: 'טורקיז בהיר',
+		ADD8E6: 'כחול בהיר',
+		DDA0DD: 'שזיף',
+		D3D3D3: 'אפור בהיר',
+		FFF0F5: 'לבנדר מסמיק',
+		FAEBD7: 'לבן עתיק',
+		FFFFE0: 'צהוב בהיר',
+		F0FFF0: 'טל דבש',
+		F0FFFF: 'תכלת',
+		F0F8FF: 'כחול טיפת מים',
+		E6E6FA: 'לבנדר',
+		FFF: 'לבן'
+	},
+	more: 'צבעים נוספים...',
+	panelTitle: 'צבעים',
+	textColorTitle: 'צבע טקסט'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/hi.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'hi', {
+	auto: 'स्वचालित',
+	bgColorTitle: 'बैक्ग्राउन्ड रंग',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'और रंग...',
+	panelTitle: 'Colors',
+	textColorTitle: 'टेक्स्ट रंग'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/hr.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'hr', {
+	auto: 'Automatski',
+	bgColorTitle: 'Boja pozadine',
+	colors: {
+		'000': 'Crna',
+		'800000': 'Kesten',
+		'8B4513': 'Smeđa',
+		'2F4F4F': 'Tamno siva',
+		'008080': 'Teal',
+		'000080': 'Mornarska',
+		'4B0082': 'Indigo',
+		'696969': 'Tamno siva',
+		B22222: 'Vatrena cigla',
+		A52A2A: 'Smeđa',
+		DAA520: 'Zlatna',
+		'006400': 'Tamno zelena',
+		'40E0D0': 'Tirkizna',
+		'0000CD': 'Srednje plava',
+		'800080': 'Ljubičasta',
+		'808080': 'Siva',
+		F00: 'Crvena',
+		FF8C00: 'Tamno naranđasta',
+		FFD700: 'Zlatna',
+		'008000': 'Zelena',
+		'0FF': 'Cijan',
+		'00F': 'Plava',
+		EE82EE: 'Ljubičasta',
+		A9A9A9: 'Mutno siva',
+		FFA07A: 'Svijetli losos',
+		FFA500: 'Naranđasto',
+		FFFF00: 'Žuto',
+		'00FF00': 'Limun',
+		AFEEEE: 'Blijedo tirkizna',
+		ADD8E6: 'Svijetlo plava',
+		DDA0DD: 'Šljiva',
+		D3D3D3: 'Svijetlo siva',
+		FFF0F5: 'Lavanda rumeno',
+		FAEBD7: 'Antikno bijela',
+		FFFFE0: 'Svijetlo žuta',
+		F0FFF0: 'Med',
+		F0FFFF: 'Azurna',
+		F0F8FF: 'Alice plava',
+		E6E6FA: 'Lavanda',
+		FFF: 'Bijela'
+	},
+	more: 'Više boja...',
+	panelTitle: 'Boje',
+	textColorTitle: 'Boja teksta'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/hu.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'hu', {
+	auto: 'Automatikus',
+	bgColorTitle: 'Háttérszín',
+	colors: {
+		'000': 'Fekete',
+		'800000': 'Bordó',
+		'8B4513': 'Barna',
+		'2F4F4F': 'Sötét türkiz',
+		'008080': 'Türkiz',
+		'000080': 'Király kék',
+		'4B0082': 'Indigó kék',
+		'696969': 'Szürke',
+		B22222: 'Tégla vörös',
+		A52A2A: 'Vörös',
+		DAA520: 'Arany sárga',
+		'006400': 'Sötét zöld',
+		'40E0D0': 'Türkiz',
+		'0000CD': 'Kék',
+		'800080': 'Lila',
+		'808080': 'Szürke',
+		F00: 'Piros',
+		FF8C00: 'Sötét narancs',
+		FFD700: 'Arany',
+		'008000': 'Zöld',
+		'0FF': 'Türkiz',
+		'00F': 'Kék',
+		EE82EE: 'Rózsaszín',
+		A9A9A9: 'Sötét szürke',
+		FFA07A: 'Lazac',
+		FFA500: 'Narancs',
+		FFFF00: 'Citromsárga',
+		'00FF00': 'Neon zöld',
+		AFEEEE: 'Világos türkiz',
+		ADD8E6: 'Világos kék',
+		DDA0DD: 'Világos lila',
+		D3D3D3: 'Világos szürke',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Törtfehér',
+		FFFFE0: 'Világos sárga',
+		F0FFF0: 'Menta',
+		F0FFFF: 'Azúr kék',
+		F0F8FF: 'Halvány kék',
+		E6E6FA: 'Lavender',
+		FFF: 'Fehér'
+	},
+	more: 'További színek...',
+	panelTitle: 'Színek',
+	textColorTitle: 'Betűszín'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/id.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'id', {
+	auto: 'Automatic', // MISSING
+	bgColorTitle: 'Warna Latar Belakang',
+	colors: {
+		'000': 'Hitam',
+		'800000': 'Merah Tua',
+		'8B4513': 'Saddle Brown', // MISSING
+		'2F4F4F': 'Dark Slate Gray', // MISSING
+		'008080': 'Teal', // MISSING
+		'000080': 'Navy', // MISSING
+		'4B0082': 'Indigo', // MISSING
+		'696969': 'Abu-abu Gelap',
+		B22222: 'Merah Bata',
+		A52A2A: 'Coklat',
+		DAA520: 'Golden Rod', // MISSING
+		'006400': 'Hijau Gelap',
+		'40E0D0': 'Turquoise', // MISSING
+		'0000CD': 'Biru Sedang',
+		'800080': 'Ungu',
+		'808080': 'Abu-abu',
+		F00: 'Merah',
+		FF8C00: 'Jingga Gelap',
+		FFD700: 'Emas',
+		'008000': 'Hijau',
+		'0FF': 'Cyan', // MISSING
+		'00F': 'Biru',
+		EE82EE: 'Violet', // MISSING
+		A9A9A9: 'Abu-abu Redup',
+		FFA07A: 'Salmon Cerah',
+		FFA500: 'Jingga',
+		FFFF00: 'Kuning',
+		'00FF00': 'Jeruk Lemon',
+		AFEEEE: 'Biru Hijau Pucat',
+		ADD8E6: 'Biru Cerah',
+		DDA0DD: 'Plum', // MISSING
+		D3D3D3: 'Abu-abu Cerah',
+		FFF0F5: 'Lavender Blush', // MISSING
+		FAEBD7: 'Antique White', // MISSING
+		FFFFE0: 'Kuning Cerah',
+		F0FFF0: 'Honeydew', // MISSING
+		F0FFFF: 'Azure', // MISSING
+		F0F8FF: 'Alice Blue', // MISSING
+		E6E6FA: 'Lavender', // MISSING
+		FFF: 'Putih'
+	},
+	more: 'Warna lainnya...',
+	panelTitle: 'Warna',
+	textColorTitle: 'Warna Teks'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/is.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'is', {
+	auto: 'Sjálfval',
+	bgColorTitle: 'Bakgrunnslitur',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Fleiri liti...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Litur texta'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/it.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'it', {
+	auto: 'Automatico',
+	bgColorTitle: 'Colore sfondo',
+	colors: {
+		'000': 'Nero',
+		'800000': 'Marrone Castagna',
+		'8B4513': 'Marrone Cuoio',
+		'2F4F4F': 'Grigio Fumo di Londra',
+		'008080': 'Acquamarina',
+		'000080': 'Blu Oceano',
+		'4B0082': 'Indigo',
+		'696969': 'Grigio Scuro',
+		B22222: 'Giallo Fiamma',
+		A52A2A: 'Marrone',
+		DAA520: 'Giallo Mimosa',
+		'006400': 'Verde Scuro',
+		'40E0D0': 'Turchese',
+		'0000CD': 'Blue Scuro',
+		'800080': 'Viola',
+		'808080': 'Grigio',
+		F00: 'Rosso',
+		FF8C00: 'Arancio Scuro',
+		FFD700: 'Oro',
+		'008000': 'Verde',
+		'0FF': 'Ciano',
+		'00F': 'Blu',
+		EE82EE: 'Violetto',
+		A9A9A9: 'Grigio Scuro',
+		FFA07A: 'Salmone',
+		FFA500: 'Arancio',
+		FFFF00: 'Giallo',
+		'00FF00': 'Lime',
+		AFEEEE: 'Turchese Chiaro',
+		ADD8E6: 'Blu Chiaro',
+		DDA0DD: 'Rosso Ciliegia',
+		D3D3D3: 'Grigio Chiaro',
+		FFF0F5: 'Lavanda Chiara',
+		FAEBD7: 'Bianco Antico',
+		FFFFE0: 'Giallo Chiaro',
+		F0FFF0: 'Verde Mela',
+		F0FFFF: 'Azzurro',
+		F0F8FF: 'Celeste',
+		E6E6FA: 'Lavanda',
+		FFF: 'Bianco'
+	},
+	more: 'Altri colori...',
+	panelTitle: 'Colori',
+	textColorTitle: 'Colore testo'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ja.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ja', {
+	auto: '自動',
+	bgColorTitle: '背景色',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'その他の色...',
+	panelTitle: '色',
+	textColorTitle: '文字色'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ka.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ka', {
+	auto: 'ავტომატური',
+	bgColorTitle: 'ფონის ფერი',
+	colors: {
+		'000': 'შავი',
+		'800000': 'მუქი შინდისფერი',
+		'8B4513': 'ყავისფერი',
+		'2F4F4F': 'მოლურჯო ნაცრისფერი',
+		'008080': 'ჩამქრალი ლურჯი',
+		'000080': 'მუქი ლურჯი',
+		'4B0082': 'იასამნისფერი',
+		'696969': 'მუქი ნაცრისფერი',
+		B22222: 'აგურისფერი',
+		A52A2A: 'მუქი ყავისფერი',
+		DAA520: 'მოყვითალო',
+		'006400': 'მუქი მწვანე',
+		'40E0D0': 'ცისფერი',
+		'0000CD': 'ზომიერად ლურჯი',
+		'800080': 'იისფერი',
+		'808080': 'ნაცრისფერი',
+		F00: 'წითელი',
+		FF8C00: 'მუქი სტაფილოსფერი',
+		FFD700: 'ოქროსფერი',
+		'008000': 'მწვანე',
+		'0FF': 'ღია ცისფერი',
+		'00F': 'ლურჯი',
+		EE82EE: 'იისფერი',
+		A9A9A9: 'ბაცი ნაცრისფერი',
+		FFA07A: 'ჩამქრალი ვარდისფერი',
+		FFA500: 'სტაფილოსფერი',
+		FFFF00: 'ყვითელი',
+		'00FF00': 'ლურჯი',
+		AFEEEE: 'ცისფერი',
+		ADD8E6: 'ღია ლურჯი',
+		DDA0DD: 'ღია იისფერი',
+		D3D3D3: 'ღია ნაცრისფერი',
+		FFF0F5: 'ღია ვარდისფერი',
+		FAEBD7: 'ღია ყავისფერი',
+		FFFFE0: 'ნათელი ყვითელი',
+		F0FFF0: 'ღია მწვანე',
+		F0FFFF: 'ღია ცისფერი 2',
+		F0F8FF: 'ღია ცისფერი 3',
+		E6E6FA: 'ღია იისფერი 2',
+		FFF: 'თეთრი'
+	},
+	more: 'მეტი ფერი...',
+	panelTitle: 'ფერები',
+	textColorTitle: 'ტექსტის ფერი'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/km.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'km', {
+	auto: 'ស្វ័យប្រវត្តិ',
+	bgColorTitle: 'ពណ៌ផ្ទៃខាងក្រោយ',
+	colors: {
+		'000': 'ខ្មៅ',
+		'800000': 'ត្នោត​ចាស់',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'ខៀវ​ចាស់',
+		'4B0082': 'ធ្លះ',
+		'696969': 'ប្រផេះ​ក្រាស់',
+		B22222: 'Fire Brick',
+		A52A2A: 'ត្នោត',
+		DAA520: 'Golden Rod',
+		'006400': 'បៃតង​ចាស់',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'ប្រផេះ',
+		F00: 'ក្រហម',
+		FF8C00: 'ទឹក​ក្រូច​ចាស់',
+		FFD700: 'មាស',
+		'008000': 'បៃតង',
+		'0FF': 'Cyan',
+		'00F': 'ខៀវ',
+		EE82EE: 'ស្វាយ',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'ទឹក​ក្រូច',
+		FFFF00: 'លឿង',
+		'00FF00': 'ក្រូច​ឆ្មារ',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'លឿង​ស្ដើង',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'ផ្ទៃមេឃ',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'ឡាវិនដឺ',
+		FFF: 'ស'
+	},
+	more: 'ពណ៌​ផ្សេង​ទៀត..',
+	panelTitle: 'ពណ៌',
+	textColorTitle: 'ពណ៌អក្សរ'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ko.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ko', {
+	auto: '기본 색상',
+	bgColorTitle: '배경 색상',
+	colors: {
+		'000': '검정',
+		'800000': '밤색',
+		'8B4513': '새들 브라운',
+		'2F4F4F': '다크 슬레이트 그레이',
+		'008080': '틸',
+		'000080': '네이비',
+		'4B0082': '남색',
+		'696969': '짙은 회색',
+		B22222: '벽돌색',
+		A52A2A: '갈색',
+		DAA520: '골든 로드',
+		'006400': '암록색',
+		'40E0D0': '터코이즈',
+		'0000CD': '미디엄 블루',
+		'800080': '보라',
+		'808080': '회색',
+		F00: '빨강',
+		FF8C00: '짙은 주황',
+		FFD700: '금색',
+		'008000': '녹색',
+		'0FF': '시안',
+		'00F': '파랑',
+		EE82EE: '남보라',
+		A9A9A9: '딤 그레이',
+		FFA07A: '라이트 새먼',
+		FFA500: '주황',
+		FFFF00: '노랑',
+		'00FF00': '라임',
+		AFEEEE: '패일 터코이즈',
+		ADD8E6: '연한 파랑',
+		DDA0DD: '자두',
+		D3D3D3: '연한 회색',
+		FFF0F5: '라벤더 블러쉬',
+		FAEBD7: '앤틱 화이트',
+		FFFFE0: '연한 노랑',
+		F0FFF0: '허니듀',
+		F0FFFF: '하늘색',
+		F0F8FF: '앨리스 블루',
+		E6E6FA: '라벤더',
+		FFF: '흰색'
+	},
+	more: '색상 선택...',
+	panelTitle: '색상',
+	textColorTitle: '글자 색상'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ku.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ku', {
+	auto: 'خۆکار',
+	bgColorTitle: 'ڕەنگی پاشبنەما',
+	colors: {
+		'000': 'ڕەش',
+		'800000': 'سۆرو ماڕوونی',
+		'8B4513': 'ماڕوونی',
+		'2F4F4F': 'سەوزی تاریك',
+		'008080': 'سەوز و شین',
+		'000080': 'شینی تۆخ',
+		'4B0082': 'مۆری تۆخ',
+		'696969': 'ڕەساسی تۆخ',
+		B22222: 'سۆری تۆخ',
+		A52A2A: 'قاوەیی',
+		DAA520: 'قاوەیی بریسکەدار',
+		'006400': 'سەوزی تۆخ',
+		'40E0D0': 'شینی ناتۆخی بریسکەدار',
+		'0000CD': 'شینی مامناوەند',
+		'800080': 'پەمبەیی',
+		'808080': 'ڕەساسی',
+		F00: 'سۆر',
+		FF8C00: 'نارەنجی تۆخ',
+		FFD700: 'زەرد',
+		'008000': 'سەوز',
+		'0FF': 'شینی ئاسمانی',
+		'00F': 'شین',
+		EE82EE: 'پەمەیی',
+		A9A9A9: 'ڕەساسی ناتۆخ',
+		FFA07A: 'نارەنجی ناتۆخ',
+		FFA500: 'نارەنجی',
+		FFFF00: 'زەرد',
+		'00FF00': 'سەوز',
+		AFEEEE: 'شینی ناتۆخ',
+		ADD8E6: 'شینی زۆر ناتۆخ',
+		DDA0DD: 'پەمەیی ناتۆخ',
+		D3D3D3: 'ڕەساسی بریسکەدار',
+		FFF0F5: 'جەرگی زۆر ناتۆخ',
+		FAEBD7: 'جەرگی ناتۆخ',
+		FFFFE0: 'سپی ناتۆخ',
+		F0FFF0: 'هەنگوینی ناتۆخ',
+		F0FFFF: 'شینێکی زۆر ناتۆخ',
+		F0F8FF: 'شینێکی ئاسمانی زۆر ناتۆخ',
+		E6E6FA: 'شیری',
+		FFF: 'سپی'
+	},
+	more: 'ڕەنگی زیاتر...',
+	panelTitle: 'ڕەنگەکان',
+	textColorTitle: 'ڕەنگی دەق'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/lt.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'lt', {
+	auto: 'Automatinis',
+	bgColorTitle: 'Fono spalva',
+	colors: {
+		'000': 'Juoda',
+		'800000': 'Kaštoninė',
+		'8B4513': 'Tamsiai ruda',
+		'2F4F4F': 'Pilka tamsaus šiferio',
+		'008080': 'Teal',
+		'000080': 'Karinis',
+		'4B0082': 'Indigo',
+		'696969': 'Tamsiai pilka',
+		B22222: 'Ugnies',
+		A52A2A: 'Ruda',
+		DAA520: 'Aukso',
+		'006400': 'Tamsiai žalia',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Vidutinė mėlyna',
+		'800080': 'Violetinė',
+		'808080': 'Pilka',
+		F00: 'Raudona',
+		FF8C00: 'Tamsiai oranžinė',
+		FFD700: 'Auksinė',
+		'008000': 'Žalia',
+		'0FF': 'Žydra',
+		'00F': 'Mėlyna',
+		EE82EE: 'Violetinė',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Oranžinė',
+		FFFF00: 'Geltona',
+		'00FF00': 'Citrinų',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Šviesiai mėlyna',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Šviesiai pilka',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Šviesiai geltona',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'Balta'
+	},
+	more: 'Daugiau spalvų...',
+	panelTitle: 'Spalva',
+	textColorTitle: 'Teksto spalva'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/lv.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'lv', {
+	auto: 'Automātiska',
+	bgColorTitle: 'Fona krāsa',
+	colors: {
+		'000': 'Melns',
+		'800000': 'Sarkanbrūns',
+		'8B4513': 'Sedlu brūns',
+		'2F4F4F': 'Tumšas tāfeles pelēks',
+		'008080': 'Zili-zaļš',
+		'000080': 'Jūras',
+		'4B0082': 'Indigo',
+		'696969': 'Tumši pelēks',
+		B22222: 'Ķieģeļsarkans',
+		A52A2A: 'Brūns',
+		DAA520: 'Zelta',
+		'006400': 'Tumši zaļš',
+		'40E0D0': 'Tirkīzs',
+		'0000CD': 'Vidēji zils',
+		'800080': 'Purpurs',
+		'808080': 'Pelēks',
+		F00: 'Sarkans',
+		FF8C00: 'Tumši oranžs',
+		FFD700: 'Zelta',
+		'008000': 'Zaļš',
+		'0FF': 'Tumšzils',
+		'00F': 'Zils',
+		EE82EE: 'Violets',
+		A9A9A9: 'Pelēks',
+		FFA07A: 'Gaiši laškrāsas',
+		FFA500: 'Oranžs',
+		FFFF00: 'Dzeltens',
+		'00FF00': 'Laima',
+		AFEEEE: 'Gaiši tirkīza',
+		ADD8E6: 'Gaiši zils',
+		DDA0DD: 'Plūmju',
+		D3D3D3: 'Gaiši pelēks',
+		FFF0F5: 'Lavandas sārts',
+		FAEBD7: 'Antīki balts',
+		FFFFE0: 'Gaiši dzeltens',
+		F0FFF0: 'Meduspile',
+		F0FFFF: 'Debesszils',
+		F0F8FF: 'Alises zils',
+		E6E6FA: 'Lavanda',
+		FFF: 'Balts'
+	},
+	more: 'Plašāka palete...',
+	panelTitle: 'Krāsa',
+	textColorTitle: 'Teksta krāsa'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/mk.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'mk', {
+	auto: 'Automatic', // MISSING
+	bgColorTitle: 'Background Color',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'More Colors...', // MISSING
+	panelTitle: 'Colors',
+	textColorTitle: 'Text Color' // MISSING
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/mn.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'mn', {
+	auto: 'Автоматаар',
+	bgColorTitle: 'Дэвсгэр өнгө',
+	colors: {
+		'000': 'Хар',
+		'800000': 'Хүрэн',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Саарал',
+		F00: 'Улаан',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Алт',
+		'008000': 'Ногоон',
+		'0FF': 'Цэнхэр',
+		'00F': 'Хөх',
+		EE82EE: 'Ягаан',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Улбар шар',
+		FFFF00: 'Шар',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Цайвар саарал',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'Цагаан'
+	},
+	more: 'Нэмэлт өнгөнүүд...',
+	panelTitle: 'Өнгөнүүд',
+	textColorTitle: 'Бичвэрийн өнгө'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ms.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ms', {
+	auto: 'Otomatik',
+	bgColorTitle: 'Warna Latarbelakang',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Warna lain-lain...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Warna Text'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/nb.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'nb', {
+	auto: 'Automatisk',
+	bgColorTitle: 'Bakgrunnsfarge',
+	colors: {
+		'000': 'Svart',
+		'800000': 'Rødbrun',
+		'8B4513': 'Salbrun',
+		'2F4F4F': 'Grønnsvart',
+		'008080': 'Blågrønn',
+		'000080': 'Marineblått',
+		'4B0082': 'Indigo',
+		'696969': 'Mørk grå',
+		B22222: 'Mørkerød',
+		A52A2A: 'Brun',
+		DAA520: 'Lys brun',
+		'006400': 'Mørk grønn',
+		'40E0D0': 'Turkis',
+		'0000CD': 'Medium blå',
+		'800080': 'Purpur',
+		'808080': 'Grå',
+		F00: 'Rød',
+		FF8C00: 'Mørk oransje',
+		FFD700: 'Gull',
+		'008000': 'Grønn',
+		'0FF': 'Cyan',
+		'00F': 'Blå',
+		EE82EE: 'Fiolett',
+		A9A9A9: 'Svak grå',
+		FFA07A: 'Rosa-oransje',
+		FFA500: 'Oransje',
+		FFFF00: 'Gul',
+		'00FF00': 'Lime',
+		AFEEEE: 'Svak turkis',
+		ADD8E6: 'Lys Blå',
+		DDA0DD: 'Plomme',
+		D3D3D3: 'Lys grå',
+		FFF0F5: 'Svak lavendelrosa',
+		FAEBD7: 'Antikk-hvit',
+		FFFFE0: 'Lys gul',
+		F0FFF0: 'Honningmelon',
+		F0FFFF: 'Svakt asurblått',
+		F0F8FF: 'Svak cyan',
+		E6E6FA: 'Lavendel',
+		FFF: 'Hvit'
+	},
+	more: 'Flere farger...',
+	panelTitle: 'Farger',
+	textColorTitle: 'Tekstfarge'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/nl.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'nl', {
+	auto: 'Automatisch',
+	bgColorTitle: 'Achtergrondkleur',
+	colors: {
+		'000': 'Zwart',
+		'800000': 'Kastanjebruin',
+		'8B4513': 'Chocoladebruin',
+		'2F4F4F': 'Donkerleigrijs',
+		'008080': 'Blauwgroen',
+		'000080': 'Marine',
+		'4B0082': 'Indigo',
+		'696969': 'Donkergrijs',
+		B22222: 'Baksteen',
+		A52A2A: 'Bruin',
+		DAA520: 'Donkergeel',
+		'006400': 'Donkergroen',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Middenblauw',
+		'800080': 'Paars',
+		'808080': 'Grijs',
+		F00: 'Rood',
+		FF8C00: 'Donkeroranje',
+		FFD700: 'Goud',
+		'008000': 'Groen',
+		'0FF': 'Cyaan',
+		'00F': 'Blauw',
+		EE82EE: 'Violet',
+		A9A9A9: 'Donkergrijs',
+		FFA07A: 'Lichtzalm',
+		FFA500: 'Oranje',
+		FFFF00: 'Geel',
+		'00FF00': 'Felgroen',
+		AFEEEE: 'Lichtturquoise',
+		ADD8E6: 'Lichtblauw',
+		DDA0DD: 'Pruim',
+		D3D3D3: 'Lichtgrijs',
+		FFF0F5: 'Linnen',
+		FAEBD7: 'Ivoor',
+		FFFFE0: 'Lichtgeel',
+		F0FFF0: 'Honingdauw',
+		F0FFFF: 'Azuur',
+		F0F8FF: 'Licht hemelsblauw',
+		E6E6FA: 'Lavendel',
+		FFF: 'Wit'
+	},
+	more: 'Meer kleuren...',
+	panelTitle: 'Kleuren',
+	textColorTitle: 'Tekstkleur'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/no.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'no', {
+	auto: 'Automatisk',
+	bgColorTitle: 'Bakgrunnsfarge',
+	colors: {
+		'000': 'Svart',
+		'800000': 'Rødbrun',
+		'8B4513': 'Salbrun',
+		'2F4F4F': 'Grønnsvart',
+		'008080': 'Blågrønn',
+		'000080': 'Marineblått',
+		'4B0082': 'Indigo',
+		'696969': 'Mørk grå',
+		B22222: 'Mørkerød',
+		A52A2A: 'Brun',
+		DAA520: 'Lys brun',
+		'006400': 'Mørk grønn',
+		'40E0D0': 'Turkis',
+		'0000CD': 'Medium blå',
+		'800080': 'Purpur',
+		'808080': 'Grå',
+		F00: 'Rød',
+		FF8C00: 'Mørk oransje',
+		FFD700: 'Gull',
+		'008000': 'Grønn',
+		'0FF': 'Cyan',
+		'00F': 'Blå',
+		EE82EE: 'Fiolett',
+		A9A9A9: 'Svak grå',
+		FFA07A: 'Rosa-oransje',
+		FFA500: 'Oransje',
+		FFFF00: 'Gul',
+		'00FF00': 'Lime',
+		AFEEEE: 'Svak turkis',
+		ADD8E6: 'Lys Blå',
+		DDA0DD: 'Plomme',
+		D3D3D3: 'Lys grå',
+		FFF0F5: 'Svak lavendelrosa',
+		FAEBD7: 'Antikk-hvit',
+		FFFFE0: 'Lys gul',
+		F0FFF0: 'Honningmelon',
+		F0FFFF: 'Svakt asurblått',
+		F0F8FF: 'Svak cyan',
+		E6E6FA: 'Lavendel',
+		FFF: 'Hvit'
+	},
+	more: 'Flere farger...',
+	panelTitle: 'Farger',
+	textColorTitle: 'Tekstfarge'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/pl.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'pl', {
+	auto: 'Automatycznie',
+	bgColorTitle: 'Kolor tła',
+	colors: {
+		'000': 'Czarny',
+		'800000': 'Kasztanowy',
+		'8B4513': 'Czekoladowy',
+		'2F4F4F': 'Ciemnografitowy',
+		'008080': 'Morski',
+		'000080': 'Granatowy',
+		'4B0082': 'Indygo',
+		'696969': 'Ciemnoszary',
+		B22222: 'Czerwień żelazowa',
+		A52A2A: 'Brązowy',
+		DAA520: 'Ciemnozłoty',
+		'006400': 'Ciemnozielony',
+		'40E0D0': 'Turkusowy',
+		'0000CD': 'Ciemnoniebieski',
+		'800080': 'Purpurowy',
+		'808080': 'Szary',
+		F00: 'Czerwony',
+		FF8C00: 'Ciemnopomarańczowy',
+		FFD700: 'Złoty',
+		'008000': 'Zielony',
+		'0FF': 'Cyjan',
+		'00F': 'Niebieski',
+		EE82EE: 'Fioletowy',
+		A9A9A9: 'Przygaszony szary',
+		FFA07A: 'Łososiowy',
+		FFA500: 'Pomarańczowy',
+		FFFF00: 'Żółty',
+		'00FF00': 'Limonkowy',
+		AFEEEE: 'Bladoturkusowy',
+		ADD8E6: 'Jasnoniebieski',
+		DDA0DD: 'Śliwkowy',
+		D3D3D3: 'Jasnoszary',
+		FFF0F5: 'Jasnolawendowy',
+		FAEBD7: 'Kremowobiały',
+		FFFFE0: 'Jasnożółty',
+		F0FFF0: 'Bladozielony',
+		F0FFFF: 'Jasnolazurowy',
+		F0F8FF: 'Jasnobłękitny',
+		E6E6FA: 'Lawendowy',
+		FFF: 'Biały'
+	},
+	more: 'Więcej kolorów...',
+	panelTitle: 'Kolory',
+	textColorTitle: 'Kolor tekstu'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/pt-br.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'pt-br', {
+	auto: 'Automático',
+	bgColorTitle: 'Cor do Plano de Fundo',
+	colors: {
+		'000': 'Preto',
+		'800000': 'Foquete',
+		'8B4513': 'Marrom 1',
+		'2F4F4F': 'Cinza 1',
+		'008080': 'Cerceta',
+		'000080': 'Azul Marinho',
+		'4B0082': 'Índigo',
+		'696969': 'Cinza 2',
+		B22222: 'Tijolo de Fogo',
+		A52A2A: 'Marrom 2',
+		DAA520: 'Vara Dourada',
+		'006400': 'Verde Escuro',
+		'40E0D0': 'Turquesa',
+		'0000CD': 'Azul Médio',
+		'800080': 'Roxo',
+		'808080': 'Cinza 3',
+		F00: 'Vermelho',
+		FF8C00: 'Laranja Escuro',
+		FFD700: 'Dourado',
+		'008000': 'Verde',
+		'0FF': 'Ciano',
+		'00F': 'Azul',
+		EE82EE: 'Violeta',
+		A9A9A9: 'Cinza Escuro',
+		FFA07A: 'Salmão Claro',
+		FFA500: 'Laranja',
+		FFFF00: 'Amarelo',
+		'00FF00': 'Lima',
+		AFEEEE: 'Turquesa Pálido',
+		ADD8E6: 'Azul Claro',
+		DDA0DD: 'Ameixa',
+		D3D3D3: 'Cinza Claro',
+		FFF0F5: 'Lavanda 1',
+		FAEBD7: 'Branco Antiguidade',
+		FFFFE0: 'Amarelo Claro',
+		F0FFF0: 'Orvalho',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Azul Alice',
+		E6E6FA: 'Lavanda 2',
+		FFF: 'Branco'
+	},
+	more: 'Mais Cores...',
+	panelTitle: 'Cores',
+	textColorTitle: 'Cor do Texto'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/pt.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'pt', {
+	auto: 'Automático',
+	bgColorTitle: 'Cor de Fundo',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Cinza claro',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Branco velho',
+		FFFFE0: 'Amarelo claro',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'Branco'
+	},
+	more: 'Mais cores...',
+	panelTitle: 'Cores',
+	textColorTitle: 'Cor do texto'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ro.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ro', {
+	auto: 'Automatic',
+	bgColorTitle: 'Coloarea fundalului',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Mai multe culori...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Culoarea textului'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ru.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ru', {
+	auto: 'Автоматически',
+	bgColorTitle: 'Цвет фона',
+	colors: {
+		'000': 'Чёрный',
+		'800000': 'Бордовый',
+		'8B4513': 'Кожано-коричневый',
+		'2F4F4F': 'Темный синевато-серый',
+		'008080': 'Сине-зелёный',
+		'000080': 'Тёмно-синий',
+		'4B0082': 'Индиго',
+		'696969': 'Тёмно-серый',
+		B22222: 'Кирпичный',
+		A52A2A: 'Коричневый',
+		DAA520: 'Золотисто-берёзовый',
+		'006400': 'Темно-зелёный',
+		'40E0D0': 'Бирюзовый',
+		'0000CD': 'Умеренно синий',
+		'800080': 'Пурпурный',
+		'808080': 'Серый',
+		F00: 'Красный',
+		FF8C00: 'Темно-оранжевый',
+		FFD700: 'Золотистый',
+		'008000': 'Зелёный',
+		'0FF': 'Васильковый',
+		'00F': 'Синий',
+		EE82EE: 'Фиолетовый',
+		A9A9A9: 'Тускло-серый',
+		FFA07A: 'Светло-лососевый',
+		FFA500: 'Оранжевый',
+		FFFF00: 'Жёлтый',
+		'00FF00': 'Лайма',
+		AFEEEE: 'Бледно-синий',
+		ADD8E6: 'Свелто-голубой',
+		DDA0DD: 'Сливовый',
+		D3D3D3: 'Светло-серый',
+		FFF0F5: 'Розово-лавандовый',
+		FAEBD7: 'Античный белый',
+		FFFFE0: 'Светло-жёлтый',
+		F0FFF0: 'Медвяной росы',
+		F0FFFF: 'Лазурный',
+		F0F8FF: 'Бледно-голубой',
+		E6E6FA: 'Лавандовый',
+		FFF: 'Белый'
+	},
+	more: 'Ещё цвета...',
+	panelTitle: 'Цвета',
+	textColorTitle: 'Цвет текста'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/si.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'si', {
+	auto: 'Automatic', // MISSING
+	bgColorTitle: 'පසුබිම් වර්ණය',
+	colors: {
+		'000': 'Black', // MISSING
+		'800000': 'Maroon', // MISSING
+		'8B4513': 'Saddle Brown', // MISSING
+		'2F4F4F': 'Dark Slate Gray', // MISSING
+		'008080': 'Teal', // MISSING
+		'000080': 'Navy', // MISSING
+		'4B0082': 'Indigo', // MISSING
+		'696969': 'Dark Gray', // MISSING
+		B22222: 'Fire Brick', // MISSING
+		A52A2A: 'Brown', // MISSING
+		DAA520: 'Golden Rod', // MISSING
+		'006400': 'Dark Green', // MISSING
+		'40E0D0': 'Turquoise', // MISSING
+		'0000CD': 'Medium Blue', // MISSING
+		'800080': 'Purple', // MISSING
+		'808080': 'Gray', // MISSING
+		F00: 'Red', // MISSING
+		FF8C00: 'Dark Orange', // MISSING
+		FFD700: 'Gold', // MISSING
+		'008000': 'Green', // MISSING
+		'0FF': 'Cyan', // MISSING
+		'00F': 'Blue', // MISSING
+		EE82EE: 'Violet', // MISSING
+		A9A9A9: 'Dim Gray', // MISSING
+		FFA07A: 'Light Salmon', // MISSING
+		FFA500: 'Orange', // MISSING
+		FFFF00: 'Yellow', // MISSING
+		'00FF00': 'Lime', // MISSING
+		AFEEEE: 'Pale Turquoise', // MISSING
+		ADD8E6: 'Light Blue', // MISSING
+		DDA0DD: 'Plum', // MISSING
+		D3D3D3: 'Light Grey', // MISSING
+		FFF0F5: 'Lavender Blush', // MISSING
+		FAEBD7: 'Antique White', // MISSING
+		FFFFE0: 'Light Yellow', // MISSING
+		F0FFF0: 'Honeydew', // MISSING
+		F0FFFF: 'Azure', // MISSING
+		F0F8FF: 'Alice Blue', // MISSING
+		E6E6FA: 'Lavender', // MISSING
+		FFF: 'White' // MISSING
+	},
+	more: 'More Colors...', // MISSING
+	panelTitle: 'වර්ණය',
+	textColorTitle: 'අක්ෂර වර්ණ'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/sk.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'sk', {
+	auto: 'Automaticky',
+	bgColorTitle: 'Farba pozadia',
+	colors: {
+		'000': 'Čierna',
+		'800000': 'Gaštanová',
+		'8B4513': 'Sedlová hnedá',
+		'2F4F4F': 'Tmavo bridlicovo sivá',
+		'008080': 'Modrozelená',
+		'000080': 'Tmavomodrá',
+		'4B0082': 'Indigo',
+		'696969': 'Tmavá sivá',
+		B22222: 'Ohňová tehlová',
+		A52A2A: 'Hnedá',
+		DAA520: 'Zlatobyľ',
+		'006400': 'Tmavá zelená',
+		'40E0D0': 'Tyrkysová',
+		'0000CD': 'Stredná modrá',
+		'800080': 'Purpurová',
+		'808080': 'Sivá',
+		F00: 'Červená',
+		FF8C00: 'Tmavá oranžová',
+		FFD700: 'Zlatá',
+		'008000': 'Zelená',
+		'0FF': 'Azúrová',
+		'00F': 'Modrá',
+		EE82EE: 'Fialová',
+		A9A9A9: 'Tmavá sivá',
+		FFA07A: 'Svetlá lososová',
+		FFA500: 'Oranžová',
+		FFFF00: 'Žltá',
+		'00FF00': 'Vápenná',
+		AFEEEE: 'Svetlá tyrkysová',
+		ADD8E6: 'Svetlá modrá',
+		DDA0DD: 'Slivková',
+		D3D3D3: 'Svetlá sivá',
+		FFF0F5: 'Levanduľovo červená',
+		FAEBD7: 'Antická biela',
+		FFFFE0: 'Svetlá žltá',
+		F0FFF0: 'Medová',
+		F0FFFF: 'Azúrová',
+		F0F8FF: 'Alicovo modrá',
+		E6E6FA: 'Levanduľová',
+		FFF: 'Biela'
+	},
+	more: 'Viac farieb...',
+	panelTitle: 'Farby',
+	textColorTitle: 'Farba textu'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/sl.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'sl', {
+	auto: 'Samodejno',
+	bgColorTitle: 'Barva ozadja',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Več barv...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Barva besedila'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/sq.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'sq', {
+	auto: 'Automatik',
+	bgColorTitle: 'Ngjyra e Prapavijës',
+	colors: {
+		'000': 'E zezë',
+		'800000': 'Ngjyrë gështenjë',
+		'8B4513': 'Ngjyrë Shale Kafe',
+		'2F4F4F': 'Ngjyrë Gri të errët ardëz',
+		'008080': 'Ngjyrë bajukë',
+		'000080': 'Ngjyrë Marine',
+		'4B0082': 'Indigo',
+		'696969': 'Gri e Errët',
+		B22222: 'Tullë në Flakë',
+		A52A2A: 'Ngjytë Kafe',
+		DAA520: 'Shkop i Artë',
+		'006400': 'E Gjelbër e Errët',
+		'40E0D0': 'Ngjyrë e Bruztë',
+		'0000CD': 'E Kaltër e Mesme',
+		'800080': 'Vjollcë',
+		'808080': 'Gri',
+		F00: 'E Kuqe',
+		FF8C00: 'E Portokalltë e Errët',
+		FFD700: 'Ngjyrë Ari',
+		'008000': 'E Gjelbërt',
+		'0FF': 'Cyan',
+		'00F': 'E Kaltër',
+		EE82EE: 'Vjollcë',
+		A9A9A9: 'Gri e Zbehtë',
+		FFA07A: 'Salmon i Ndritur',
+		FFA500: 'E Portokalltë',
+		FFFF00: 'E Verdhë',
+		'00FF00': 'Ngjyrë Gëlqere',
+		AFEEEE: 'Ngjyrë e Bruztë e Zbehtë',
+		ADD8E6: 'E Kaltër e Ndritur',
+		DDA0DD: 'Ngjyrë Llokumi',
+		D3D3D3: 'Gri e Ndritur',
+		FFF0F5: 'Ngjyrë Purpur e Skuqur',
+		FAEBD7: 'E Bardhë Antike',
+		FFFFE0: 'E verdhë e Ndritur',
+		F0FFF0: 'Ngjyrë Nektari',
+		F0FFFF: 'Ngjyrë Qielli',
+		F0F8FF: 'E Kaltër Alice',
+		E6E6FA: 'Ngjyrë Purpur e Zbetë',
+		FFF: 'E bardhë'
+	},
+	more: 'Më Shumë Ngjyra...',
+	panelTitle: 'Ngjyrat',
+	textColorTitle: 'Ngjyra e Tekstit'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/sr-latn.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'sr-latn', {
+	auto: 'Automatski',
+	bgColorTitle: 'Boja pozadine',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Više boja...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Boja teksta'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/sr.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'sr', {
+	auto: 'Аутоматски',
+	bgColorTitle: 'Боја позадине',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'Више боја...',
+	panelTitle: 'Colors',
+	textColorTitle: 'Боја текста'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/sv.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'sv', {
+	auto: 'Automatisk',
+	bgColorTitle: 'Bakgrundsfärg',
+	colors: {
+		'000': 'Svart',
+		'800000': 'Rödbrun',
+		'8B4513': 'Mörkbrun',
+		'2F4F4F': 'Skiffergrå',
+		'008080': 'Kricka',
+		'000080': 'Marinblå',
+		'4B0082': 'Indigo',
+		'696969': 'Mörkgrå',
+		B22222: 'Tegelsten',
+		A52A2A: 'Brun',
+		DAA520: 'Mörk guld',
+		'006400': 'Mörkgrön',
+		'40E0D0': 'Turkos',
+		'0000CD': 'Medium blå',
+		'800080': 'Lila',
+		'808080': 'Grå',
+		F00: 'Röd',
+		FF8C00: 'Mörkorange',
+		FFD700: 'Guld',
+		'008000': 'Grön',
+		'0FF': 'Turkos',
+		'00F': 'Blå',
+		EE82EE: 'Violett',
+		A9A9A9: 'Matt grå',
+		FFA07A: 'Laxrosa',
+		FFA500: 'Orange',
+		FFFF00: 'Gul',
+		'00FF00': 'Lime',
+		AFEEEE: 'Ljusturkos',
+		ADD8E6: 'Ljusblå',
+		DDA0DD: 'Plommon',
+		D3D3D3: 'Ljusgrå',
+		FFF0F5: 'Ljus lavendel',
+		FAEBD7: 'Antikvit',
+		FFFFE0: 'Ljusgul',
+		F0FFF0: 'Honungsdagg',
+		F0FFFF: 'Azurblå',
+		F0F8FF: 'Aliceblå',
+		E6E6FA: 'Lavendel',
+		FFF: 'Vit'
+	},
+	more: 'Fler färger...',
+	panelTitle: 'Färger',
+	textColorTitle: 'Textfärg'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/th.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'th', {
+	auto: 'สีอัตโนมัติ',
+	bgColorTitle: 'สีพื้นหลัง',
+	colors: {
+		'000': 'Black',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Brown',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Gray',
+		F00: 'Red',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Gold',
+		'008000': 'Green',
+		'0FF': 'Cyan',
+		'00F': 'Blue',
+		EE82EE: 'Violet',
+		A9A9A9: 'Dim Gray',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Orange',
+		FFFF00: 'Yellow',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'White'
+	},
+	more: 'เลือกสีอื่นๆ...',
+	panelTitle: 'Colors',
+	textColorTitle: 'สีตัวอักษร'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/tr.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'tr', {
+	auto: 'Otomatik',
+	bgColorTitle: 'Arka Renk',
+	colors: {
+		'000': 'Siyah',
+		'800000': 'Kestane',
+		'8B4513': 'Koyu Kahverengi',
+		'2F4F4F': 'Koyu Kurşuni Gri',
+		'008080': 'Teal',
+		'000080': 'Mavi',
+		'4B0082': 'Çivit Mavisi',
+		'696969': 'Silik Gri',
+		B22222: 'Ateş Tuğlası',
+		A52A2A: 'Kahverengi',
+		DAA520: 'Altun Sırık',
+		'006400': 'Koyu Yeşil',
+		'40E0D0': 'Turkuaz',
+		'0000CD': 'Orta Mavi',
+		'800080': 'Pembe',
+		'808080': 'Gri',
+		F00: 'Kırmızı',
+		FF8C00: 'Koyu Portakal',
+		FFD700: 'Altın',
+		'008000': 'Yeşil',
+		'0FF': 'Ciyan',
+		'00F': 'Mavi',
+		EE82EE: 'Menekşe',
+		A9A9A9: 'Koyu Gri',
+		FFA07A: 'Açık Sarımsı',
+		FFA500: 'Portakal',
+		FFFF00: 'Sarı',
+		'00FF00': 'Açık Yeşil',
+		AFEEEE: 'Sönük Turkuaz',
+		ADD8E6: 'Açık Mavi',
+		DDA0DD: 'Mor',
+		D3D3D3: 'Açık Gri',
+		FFF0F5: 'Eflatun Pembe',
+		FAEBD7: 'Antik Beyaz',
+		FFFFE0: 'Açık Sarı',
+		F0FFF0: 'Balsarısı',
+		F0FFFF: 'Gök Mavisi',
+		F0F8FF: 'Reha Mavi',
+		E6E6FA: 'Eflatun',
+		FFF: 'Beyaz'
+	},
+	more: 'Diğer renkler...',
+	panelTitle: 'Renkler',
+	textColorTitle: 'Yazı Rengi'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/tt.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'tt', {
+	auto: 'Автоматик',
+	bgColorTitle: 'Фон төсе',
+	colors: {
+		'000': 'Кара',
+		'800000': 'Бордо',
+		'8B4513': 'Дарчин',
+		'2F4F4F': 'Аспид соры',
+		'008080': 'Күкле-яшелле',
+		'000080': 'Куе күк',
+		'4B0082': 'Индиго',
+		'696969': 'Куе соры',
+		B22222: 'Кармин',
+		A52A2A: 'Чия кызыл',
+		DAA520: 'Алтын каен',
+		'006400': 'Үлән',
+		'40E0D0': 'Фирәзә',
+		'0000CD': 'Фарсы күк',
+		'800080': 'Шәмәхә',
+		'808080': 'Соры',
+		F00: 'Кызыл',
+		FF8C00: 'Кабак',
+		FFD700: 'Алтын',
+		'008000': 'Яшел',
+		'0FF': 'Ачык зәңгәр',
+		'00F': 'Зәңгәр',
+		EE82EE: 'Миләүшә',
+		A9A9A9: 'Ачык соры',
+		FFA07A: 'Кызгылт сары алсу',
+		FFA500: 'Кызгылт сары',
+		FFFF00: 'Сары',
+		'00FF00': 'Лайм',
+		AFEEEE: 'Тонык күк',
+		ADD8E6: 'Тонык күкбаш',
+		DDA0DD: 'Аксыл шәмәхә',
+		D3D3D3: 'Ачык соры',
+		FFF0F5: 'Ал ала миләүшә',
+		FAEBD7: 'Җитен',
+		FFFFE0: 'Ачык сары',
+		F0FFF0: 'Аксыл көрән',
+		F0FFFF: 'Ап-ак',
+		F0F8FF: 'Аксыл зәңгәр диңгез',
+		E6E6FA: 'Ала миләүшә',
+		FFF: 'Ак'
+	},
+	more: 'Башка төсләр...',
+	panelTitle: 'Төсләр',
+	textColorTitle: 'Текст төсе'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/ug.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'ug', {
+	auto: 'ئۆزلۈكىدىن',
+	bgColorTitle: 'تەگلىك رەڭگى',
+	colors: {
+		'000': 'قارا',
+		'800000': 'قىزغۇچ سېرىق',
+		'8B4513': 'توق قوڭۇر',
+		'2F4F4F': 'قارامتۇل يېشىل',
+		'008080': 'كۆكۈش يېشىل',
+		'000080': 'قارامتۇل كۆك',
+		'4B0082': 'كۆكۈش كۈلرەڭ',
+		'696969': 'قارامتۇل كۈلرەڭ',
+		B22222: 'خىش قىزىل',
+		A52A2A: 'قوڭۇر',
+		DAA520: 'ئالتۇن سېرىق',
+		'006400': 'توق يېشىل',
+		'40E0D0': 'كۆكۈچ يېشىل',
+		'0000CD': 'ئوتتۇراھال كۆك',
+		'800080': 'بىنەپشە',
+		'808080': 'كۈلرەڭ',
+		F00: 'قىزىل',
+		FF8C00: 'توق قىزغۇچ سېرىق',
+		FFD700: 'ئالتۇن',
+		'008000': 'يېشىل',
+		'0FF': 'يېشىل كۆك',
+		'00F': 'كۆك',
+		EE82EE: 'قىزغۇچ بىنەپشە',
+		A9A9A9: 'توق كۈلرەڭ',
+		FFA07A: 'كاۋا چېچىكى سېرىق',
+		FFA500: 'قىزغۇچ سېرىق',
+		FFFF00: 'سېرىق',
+		'00FF00': 'Lime',
+		AFEEEE: 'سۇس ھاۋا رەڭ',
+		ADD8E6: 'ئوچۇق كۆك',
+		DDA0DD: 'قىزغۇچ بىنەپشە',
+		D3D3D3: 'سۇس كۆكۈچ كۈلرەڭ',
+		FFF0F5: 'سۇس قىزغۇچ بىنەپشە',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'سۇس سېرىق',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'ئاسمان كۆكى',
+		F0F8FF: 'سۇس كۆك',
+		E6E6FA: 'سۇس بىنەپشە',
+		FFF: 'ئاق'
+	},
+	more: 'باشقا رەڭ',
+	panelTitle: 'رەڭ',
+	textColorTitle: 'تېكىست رەڭگى'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/uk.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'uk', {
+	auto: 'Авто',
+	bgColorTitle: 'Колір фону',
+	colors: {
+		'000': 'Чорний',
+		'800000': 'Бордовий',
+		'8B4513': 'Коричневий',
+		'2F4F4F': 'Темний сіро-зелений',
+		'008080': 'Морської хвилі',
+		'000080': 'Сливовий',
+		'4B0082': 'Індиго',
+		'696969': 'Темносірий',
+		B22222: 'Темночервоний',
+		A52A2A: 'Каштановий',
+		DAA520: 'Бежевий',
+		'006400': 'Темнозелений',
+		'40E0D0': 'Бірюзовий',
+		'0000CD': 'Темносиній',
+		'800080': 'Пурпурний',
+		'808080': 'Сірий',
+		F00: 'Червоний',
+		FF8C00: 'Темнооранжевий',
+		FFD700: 'Жовтий',
+		'008000': 'Зелений',
+		'0FF': 'Синьо-зелений',
+		'00F': 'Синій',
+		EE82EE: 'Фіолетовий',
+		A9A9A9: 'Світлосірий',
+		FFA07A: 'Рожевий',
+		FFA500: 'Оранжевий',
+		FFFF00: 'Яскравожовтий',
+		'00FF00': 'Салатовий',
+		AFEEEE: 'Світлобірюзовий',
+		ADD8E6: 'Блакитний',
+		DDA0DD: 'Світлофіолетовий',
+		D3D3D3: 'Сріблястий',
+		FFF0F5: 'Світлорожевий',
+		FAEBD7: 'Світлооранжевий',
+		FFFFE0: 'Світложовтий',
+		F0FFF0: 'Світлозелений',
+		F0FFFF: 'Світлий синьо-зелений',
+		F0F8FF: 'Світлоблакитний',
+		E6E6FA: 'Лавандовий',
+		FFF: 'Білий'
+	},
+	more: 'Кольори...',
+	panelTitle: 'Кольори',
+	textColorTitle: 'Колір тексту'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/vi.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'vi', {
+	auto: 'Tự động',
+	bgColorTitle: 'Màu nền',
+	colors: {
+		'000': 'Đen',
+		'800000': 'Maroon',
+		'8B4513': 'Saddle Brown',
+		'2F4F4F': 'Dark Slate Gray',
+		'008080': 'Teal',
+		'000080': 'Navy',
+		'4B0082': 'Indigo',
+		'696969': 'Dark Gray',
+		B22222: 'Fire Brick',
+		A52A2A: 'Nâu',
+		DAA520: 'Golden Rod',
+		'006400': 'Dark Green',
+		'40E0D0': 'Turquoise',
+		'0000CD': 'Medium Blue',
+		'800080': 'Purple',
+		'808080': 'Xám',
+		F00: 'Đỏ',
+		FF8C00: 'Dark Orange',
+		FFD700: 'Vàng',
+		'008000': 'Xanh lá cây',
+		'0FF': 'Cyan',
+		'00F': 'Xanh da trời',
+		EE82EE: 'Tím',
+		A9A9A9: 'Xám tối',
+		FFA07A: 'Light Salmon',
+		FFA500: 'Màu cam',
+		FFFF00: 'Vàng',
+		'00FF00': 'Lime',
+		AFEEEE: 'Pale Turquoise',
+		ADD8E6: 'Light Blue',
+		DDA0DD: 'Plum',
+		D3D3D3: 'Light Grey',
+		FFF0F5: 'Lavender Blush',
+		FAEBD7: 'Antique White',
+		FFFFE0: 'Light Yellow',
+		F0FFF0: 'Honeydew',
+		F0FFFF: 'Azure',
+		F0F8FF: 'Alice Blue',
+		E6E6FA: 'Lavender',
+		FFF: 'Trắng'
+	},
+	more: 'Màu khác...',
+	panelTitle: 'Màu sắc',
+	textColorTitle: 'Màu chữ'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/zh-cn.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'zh-cn', {
+	auto: '自动',
+	bgColorTitle: '背景颜色',
+	colors: {
+		'000': '黑',
+		'800000': '褐红',
+		'8B4513': '深褐',
+		'2F4F4F': '墨绿',
+		'008080': '绿松石',
+		'000080': '海军蓝',
+		'4B0082': '靛蓝',
+		'696969': '暗灰',
+		B22222: '砖红',
+		A52A2A: '褐',
+		DAA520: '金黄',
+		'006400': '深绿',
+		'40E0D0': '蓝绿',
+		'0000CD': '中蓝',
+		'800080': '紫',
+		'808080': '灰',
+		F00: '红',
+		FF8C00: '深橙',
+		FFD700: '金',
+		'008000': '绿',
+		'0FF': '青',
+		'00F': '蓝',
+		EE82EE: '紫罗兰',
+		A9A9A9: '深灰',
+		FFA07A: '亮橙',
+		FFA500: '橙',
+		FFFF00: '黄',
+		'00FF00': '水绿',
+		AFEEEE: '粉蓝',
+		ADD8E6: '亮蓝',
+		DDA0DD: '梅红',
+		D3D3D3: '淡灰',
+		FFF0F5: '淡紫红',
+		FAEBD7: '古董白',
+		FFFFE0: '淡黄',
+		F0FFF0: '蜜白',
+		F0FFFF: '天蓝',
+		F0F8FF: '淡蓝',
+		E6E6FA: '淡紫',
+		FFF: '白'
+	},
+	more: '其它颜色...',
+	panelTitle: '颜色',
+	textColorTitle: '文本颜色'
+} );

+ 53 - 0
js/ckeditor/plugins/colorbutton/lang/zh.js

@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'colorbutton', 'zh', {
+	auto: '自動',
+	bgColorTitle: '背景顏色',
+	colors: {
+		'000': '黑色',
+		'800000': '栗色',
+		'8B4513': '鞍褐色',
+		'2F4F4F': '暗瓦灰色',
+		'008080': '水壓色',
+		'000080': '丈青澀',
+		'4B0082': '靛青',
+		'696969': '深灰色',
+		B22222: '磚紅色',
+		A52A2A: '褐色',
+		DAA520: '金黃色',
+		'006400': '深綠色',
+		'40E0D0': '青綠色',
+		'0000CD': '藍色',
+		'800080': '紫色',
+		'808080': '灰色',
+		F00: '紅色',
+		FF8C00: '深橘色',
+		FFD700: '金色',
+		'008000': '綠色',
+		'0FF': '藍綠色',
+		'00F': '藍色',
+		EE82EE: '紫色',
+		A9A9A9: '暗灰色',
+		FFA07A: '亮鮭紅',
+		FFA500: '橘色',
+		FFFF00: '黃色',
+		'00FF00': '鮮綠色',
+		AFEEEE: '綠松色',
+		ADD8E6: '淺藍色',
+		DDA0DD: '枚紅色',
+		D3D3D3: '淺灰色',
+		FFF0F5: '淺紫色',
+		FAEBD7: '骨董白',
+		FFFFE0: '淺黃色',
+		F0FFF0: '蜜瓜綠',
+		F0FFFF: '天藍色',
+		F0F8FF: '愛麗斯蘭',
+		E6E6FA: '淺紫色',
+		FFF: '白色'
+	},
+	more: '更多顏色',
+	panelTitle: '顏色',
+	textColorTitle: '文字顏色'
+} );

+ 301 - 0
js/ckeditor/plugins/colorbutton/plugin.js

@@ -0,0 +1,301 @@
+/**
+ * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or http://ckeditor.com/license
+ */
+
+/**
+ * @fileOverview The "colorbutton" plugin that makes it possible to assign
+ *               text and background colors to editor contents.
+ *
+ */
+CKEDITOR.plugins.add( 'colorbutton', {
+	requires: 'panelbutton,floatpanel',
+	// jscs:disable maximumLineLength
+	lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%
+	// jscs:enable maximumLineLength
+	icons: 'bgcolor,textcolor', // %REMOVE_LINE_CORE%
+	hidpi: true, // %REMOVE_LINE_CORE%
+	init: function( editor ) {
+		var config = editor.config,
+			lang = editor.lang.colorbutton;
+
+		if ( !CKEDITOR.env.hc ) {
+			addButton( 'TextColor', 'fore', lang.textColorTitle, 10 );
+			addButton( 'BGColor', 'back', lang.bgColorTitle, 20 );
+		}
+
+		function addButton( name, type, title, order ) {
+			var style = new CKEDITOR.style( config[ 'colorButton_' + type + 'Style' ] ),
+				colorBoxId = CKEDITOR.tools.getNextId() + '_colorBox';
+
+			editor.ui.add( name, CKEDITOR.UI_PANELBUTTON, {
+				label: title,
+				title: title,
+				modes: { wysiwyg: 1 },
+				editorFocus: 0,
+				toolbar: 'colors,' + order,
+				allowedContent: style,
+				requiredContent: style,
+
+				panel: {
+					css: CKEDITOR.skin.getPath( 'editor' ),
+					attributes: { role: 'listbox', 'aria-label': lang.panelTitle }
+				},
+
+				onBlock: function( panel, block ) {
+					block.autoSize = true;
+					block.element.addClass( 'cke_colorblock' );
+					block.element.setHtml( renderColors( panel, type, colorBoxId ) );
+					// The block should not have scrollbars (#5933, #6056)
+					block.element.getDocument().getBody().setStyle( 'overflow', 'hidden' );
+
+					CKEDITOR.ui.fire( 'ready', this );
+
+					var keys = block.keys;
+					var rtl = editor.lang.dir == 'rtl';
+					keys[ rtl ? 37 : 39 ] = 'next'; // ARROW-RIGHT
+					keys[ 40 ] = 'next'; // ARROW-DOWN
+					keys[ 9 ] = 'next'; // TAB
+					keys[ rtl ? 39 : 37 ] = 'prev'; // ARROW-LEFT
+					keys[ 38 ] = 'prev'; // ARROW-UP
+					keys[ CKEDITOR.SHIFT + 9 ] = 'prev'; // SHIFT + TAB
+					keys[ 32 ] = 'click'; // SPACE
+				},
+
+				refresh: function() {
+					if ( !editor.activeFilter.check( style ) )
+						this.setState( CKEDITOR.TRISTATE_DISABLED );
+				},
+
+				// The automatic colorbox should represent the real color (#6010)
+				onOpen: function() {
+
+					var selection = editor.getSelection(),
+						block = selection && selection.getStartElement(),
+						path = editor.elementPath( block ),
+						color;
+
+					if ( !path )
+						return;
+
+					// Find the closest block element.
+					block = path.block || path.blockLimit || editor.document.getBody();
+
+					// The background color might be transparent. In that case, look up the color in the DOM tree.
+					do {
+						color = block && block.getComputedStyle( type == 'back' ? 'background-color' : 'color' ) || 'transparent';
+					}
+					while ( type == 'back' && color == 'transparent' && block && ( block = block.getParent() ) );
+
+					// The box should never be transparent.
+					if ( !color || color == 'transparent' )
+						color = '#ffffff';
+
+					this._.panel._.iframe.getFrameDocument().getById( colorBoxId ).setStyle( 'background-color', color );
+
+					return color;
+				}
+			} );
+		}
+
+		function renderColors( panel, type, colorBoxId ) {
+			var output = [],
+				colors = config.colorButton_colors.split( ',' ),
+				// Tells if we should include "More Colors..." button.
+				moreColorsEnabled = editor.plugins.colordialog && config.colorButton_enableMore !== false,
+				// aria-setsize and aria-posinset attributes are used to indicate size of options, because
+				// screen readers doesn't play nice with table, based layouts (#12097).
+				total = colors.length + ( moreColorsEnabled ? 2 : 1 );
+
+			var clickFn = CKEDITOR.tools.addFunction( function( color, type ) {
+				var applyColorStyle = arguments.callee;
+				function onColorDialogClose( evt ) {
+					this.removeListener( 'ok', onColorDialogClose );
+					this.removeListener( 'cancel', onColorDialogClose );
+
+					evt.name == 'ok' && applyColorStyle( this.getContentElement( 'picker', 'selectedColor' ).getValue(), type );
+				}
+
+				if ( color == '?' ) {
+					editor.openDialog( 'colordialog', function() {
+						this.on( 'ok', onColorDialogClose );
+						this.on( 'cancel', onColorDialogClose );
+					} );
+
+					return;
+				}
+
+				editor.focus();
+
+				panel.hide();
+
+				editor.fire( 'saveSnapshot' );
+
+				// Clean up any conflicting style within the range.
+				editor.removeStyle( new CKEDITOR.style( config[ 'colorButton_' + type + 'Style' ], { color: 'inherit' } ) );
+
+				if ( color ) {
+					var colorStyle = config[ 'colorButton_' + type + 'Style' ];
+
+					colorStyle.childRule = type == 'back' ?
+					function( element ) {
+						// It's better to apply background color as the innermost style. (#3599)
+						// Except for "unstylable elements". (#6103)
+						return isUnstylable( element );
+					} : function( element ) {
+						// Fore color style must be applied inside links instead of around it. (#4772,#6908)
+						return !( element.is( 'a' ) || element.getElementsByTag( 'a' ).count() ) || isUnstylable( element );
+					};
+
+					editor.applyStyle( new CKEDITOR.style( colorStyle, { color: color } ) );
+				}
+
+				editor.fire( 'saveSnapshot' );
+			} );
+
+			// Render the "Automatic" button.
+			output.push( '<a class="cke_colorauto" _cke_focus=1 hidefocus=true' +
+				' title="', lang.auto, '"' +
+				' onclick="CKEDITOR.tools.callFunction(', clickFn, ',null,\'', type, '\');return false;"' +
+				' href="javascript:void(\'', lang.auto, '\')"' +
+				' role="option" aria-posinset="1" aria-setsize="', total, '">' +
+				'<table role="presentation" cellspacing=0 cellpadding=0 width="100%">' +
+					'<tr>' +
+						'<td>' +
+							'<span class="cke_colorbox" id="', colorBoxId, '"></span>' +
+						'</td>' +
+						'<td colspan=7 align=center>', lang.auto, '</td>' +
+					'</tr>' +
+				'</table>' +
+				'</a>' +
+				'<table role="presentation" cellspacing=0 cellpadding=0 width="100%">' );
+
+			// Render the color boxes.
+			for ( var i = 0; i < colors.length; i++ ) {
+				if ( ( i % 8 ) === 0 )
+					output.push( '</tr><tr>' );
+
+				var parts = colors[ i ].split( '/' ),
+					colorName = parts[ 0 ],
+					colorCode = parts[ 1 ] || colorName;
+
+				// The data can be only a color code (without #) or colorName + color code
+				// If only a color code is provided, then the colorName is the color with the hash
+				// Convert the color from RGB to RRGGBB for better compatibility with IE and <font>. See #5676
+				if ( !parts[ 1 ] )
+					colorName = '#' + colorName.replace( /^(.)(.)(.)$/, '$1$1$2$2$3$3' );
+
+				var colorLabel = editor.lang.colorbutton.colors[ colorCode ] || colorCode;
+				output.push( '<td>' +
+					'<a class="cke_colorbox" _cke_focus=1 hidefocus=true' +
+						' title="', colorLabel, '"' +
+						' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'', colorName, '\',\'', type, '\'); return false;"' +
+						' href="javascript:void(\'', colorLabel, '\')"' +
+						' role="option" aria-posinset="', ( i + 2 ), '" aria-setsize="', total, '">' +
+						'<span class="cke_colorbox" style="background-color:#', colorCode, '"></span>' +
+					'</a>' +
+					'</td>' );
+			}
+
+			// Render the "More Colors" button.
+			if ( moreColorsEnabled ) {
+				output.push( '</tr>' +
+					'<tr>' +
+						'<td colspan=8 align=center>' +
+							'<a class="cke_colormore" _cke_focus=1 hidefocus=true' +
+								' title="', lang.more, '"' +
+								' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'?\',\'', type, '\');return false;"' +
+								' href="javascript:void(\'', lang.more, '\')"', ' role="option" aria-posinset="', total, '" aria-setsize="', total, '">', lang.more, '</a>' +
+						'</td>' ); // tr is later in the code.
+			}
+
+			output.push( '</tr></table>' );
+
+			return output.join( '' );
+		}
+
+		function isUnstylable( ele ) {
+			return ( ele.getAttribute( 'contentEditable' ) == 'false' ) || ele.getAttribute( 'data-nostyle' );
+		}
+	}
+} );
+
+/**
+ * Whether to enable the **More Colors*** button in the color selectors.
+ *
+ * Read more in the [documentation](#!/guide/dev_colorbutton)
+ * and see the [SDK sample](http://sdk.ckeditor.com/samples/colorbutton.html).
+ *
+ *		config.colorButton_enableMore = false;
+ *
+ * @cfg {Boolean} [colorButton_enableMore=true]
+ * @member CKEDITOR.config
+ */
+
+/**
+ * Defines the colors to be displayed in the color selectors. This is a string
+ * containing hexadecimal notation for HTML colors, without the `'#'` prefix.
+ *
+ * **Since 3.3:** A color name may optionally be defined by prefixing the entries with
+ * a name and the slash character. For example, `'FontColor1/FF9900'` will be
+ * displayed as the color `#FF9900` in the selector, but will be output as `'FontColor1'`.
+ *
+ * Read more in the [documentation](#!/guide/dev_colorbutton)
+ * and see the [SDK sample](http://sdk.ckeditor.com/samples/colorbutton.html).
+ *
+ *		// Brazil colors only.
+ *		config.colorButton_colors = '00923E,F8C100,28166F';
+ *
+ *		config.colorButton_colors = 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00';
+ *
+ * @cfg {String} [colorButton_colors=see source]
+ * @member CKEDITOR.config
+ */
+CKEDITOR.config.colorButton_colors = '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,' +
+	'B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,' +
+	'F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,' +
+	'FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,' +
+	'FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';
+
+/**
+ * Stores the style definition that applies the text foreground color.
+ *
+ * Read more in the [documentation](#!/guide/dev_colorbutton)
+ * and see the [SDK sample](http://sdk.ckeditor.com/samples/colorbutton.html).
+ *
+ *		// This is actually the default value.
+ *		config.colorButton_foreStyle = {
+ *			element: 'span',
+ *			styles: { color: '#(color)' }
+ *		};
+ *
+ * @cfg [colorButton_foreStyle=see source]
+ * @member CKEDITOR.config
+ */
+CKEDITOR.config.colorButton_foreStyle = {
+	element: 'span',
+	styles: { 'color': '#(color)' },
+	overrides: [ {
+		element: 'font', attributes: { 'color': null }
+	} ]
+};
+
+/**
+ * Stores the style definition that applies the text background color.
+ *
+ * Read more in the [documentation](#!/guide/dev_colorbutton)
+ * and see the [SDK sample](http://sdk.ckeditor.com/samples/colorbutton.html).
+ *
+ *		// This is actually the default value.
+ *		config.colorButton_backStyle = {
+ *			element: 'span',
+ *			styles: { 'background-color': '#(color)' }
+ *		};
+ *
+ * @cfg [colorButton_backStyle=see source]
+ * @member CKEDITOR.config
+ */
+CKEDITOR.config.colorButton_backStyle = {
+	element: 'span',
+	styles: { 'background-color': '#(color)' }
+};

BIN
js/ckeditor/plugins/icons.png


BIN
js/ckeditor/plugins/icons_hidpi.png


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/skins/flat/editor.css


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/skins/flat/editor_gecko.css


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/skins/flat/editor_ie.css


File diff suppressed because it is too large
+ 0 - 0
js/ckeditor/skins/flat/editor_ie7.css


Some files were not shown because too many files changed in this diff