8
0
Просмотр исходного кода

Merge branch 'master' into i/7444-2SCM-refactor

Tomek Wytrębowicz 5 лет назад
Родитель
Сommit
304ea9f743
100 измененных файлов с 560 добавлено и 194 удалено
  1. 152 152
      docs/builds/guides/integration/content-styles.md
  2. 9 9
      package.json
  3. 2 2
      packages/ckeditor5-adapter-ckfinder/lang/translations/ug.po
  4. 2 2
      packages/ckeditor5-basic-styles/lang/translations/ug.po
  5. 2 2
      packages/ckeditor5-block-quote/lang/translations/ug.po
  6. 0 0
      packages/ckeditor5-build-balloon-block/build/ckeditor.js
  7. 0 0
      packages/ckeditor5-build-balloon-block/build/ckeditor.js.map
  8. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/de.js
  9. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ug.js
  10. 0 0
      packages/ckeditor5-build-balloon/build/ckeditor.js
  11. 0 0
      packages/ckeditor5-build-balloon/build/ckeditor.js.map
  12. 0 0
      packages/ckeditor5-build-balloon/build/translations/de.js
  13. 1 1
      packages/ckeditor5-build-balloon/build/translations/ug.js
  14. 0 0
      packages/ckeditor5-build-classic/build/ckeditor.js
  15. 0 0
      packages/ckeditor5-build-classic/build/ckeditor.js.map
  16. 0 0
      packages/ckeditor5-build-classic/build/translations/de.js
  17. 1 1
      packages/ckeditor5-build-classic/build/translations/ug.js
  18. 0 0
      packages/ckeditor5-build-decoupled-document/build/ckeditor.js
  19. 0 0
      packages/ckeditor5-build-decoupled-document/build/ckeditor.js.map
  20. 0 0
      packages/ckeditor5-build-decoupled-document/build/translations/de.js
  21. 0 0
      packages/ckeditor5-build-decoupled-document/build/translations/ug.js
  22. 0 0
      packages/ckeditor5-build-inline/build/ckeditor.js
  23. 0 0
      packages/ckeditor5-build-inline/build/ckeditor.js.map
  24. 0 0
      packages/ckeditor5-build-inline/build/translations/de.js
  25. 1 1
      packages/ckeditor5-build-inline/build/translations/ug.js
  26. 1 1
      packages/ckeditor5-code-block/lang/translations/de.po
  27. 2 2
      packages/ckeditor5-core/lang/translations/ug.po
  28. 2 2
      packages/ckeditor5-heading/lang/translations/ug.po
  29. 2 0
      packages/ckeditor5-image/docs/_snippets/features/build-image-source.js
  30. 1 1
      packages/ckeditor5-image/docs/_snippets/features/image-caption.js
  31. 10 0
      packages/ckeditor5-image/docs/_snippets/features/image-link.html
  32. 33 0
      packages/ckeditor5-image/docs/_snippets/features/image-link.js
  33. 1 0
      packages/ckeditor5-image/docs/_snippets/features/image-resize-px.js
  34. 1 0
      packages/ckeditor5-image/docs/_snippets/features/image-resize.js
  35. 1 1
      packages/ckeditor5-image/docs/_snippets/features/image-style-custom.js
  36. 1 1
      packages/ckeditor5-image/docs/_snippets/features/image-style.js
  37. 1 1
      packages/ckeditor5-image/docs/_snippets/features/image-toolbar.js
  38. 1 1
      packages/ckeditor5-image/docs/_snippets/features/image.js
  39. 21 0
      packages/ckeditor5-image/docs/features/image.md
  40. 2 2
      packages/ckeditor5-image/lang/translations/ug.po
  41. 2 0
      packages/ckeditor5-link/docs/features/link.md
  42. 1 0
      packages/ckeditor5-link/lang/contexts.json
  43. 4 0
      packages/ckeditor5-link/lang/translations/ar.po
  44. 4 0
      packages/ckeditor5-link/lang/translations/ast.po
  45. 4 0
      packages/ckeditor5-link/lang/translations/az.po
  46. 4 0
      packages/ckeditor5-link/lang/translations/cs.po
  47. 4 0
      packages/ckeditor5-link/lang/translations/da.po
  48. 4 0
      packages/ckeditor5-link/lang/translations/de.po
  49. 4 0
      packages/ckeditor5-link/lang/translations/el.po
  50. 4 0
      packages/ckeditor5-link/lang/translations/en-au.po
  51. 4 0
      packages/ckeditor5-link/lang/translations/en-gb.po
  52. 4 0
      packages/ckeditor5-link/lang/translations/en.po
  53. 4 0
      packages/ckeditor5-link/lang/translations/eo.po
  54. 4 0
      packages/ckeditor5-link/lang/translations/es.po
  55. 4 0
      packages/ckeditor5-link/lang/translations/et.po
  56. 4 0
      packages/ckeditor5-link/lang/translations/eu.po
  57. 4 0
      packages/ckeditor5-link/lang/translations/fa.po
  58. 4 0
      packages/ckeditor5-link/lang/translations/fi.po
  59. 4 0
      packages/ckeditor5-link/lang/translations/fr.po
  60. 4 0
      packages/ckeditor5-link/lang/translations/gl.po
  61. 4 0
      packages/ckeditor5-link/lang/translations/he.po
  62. 4 0
      packages/ckeditor5-link/lang/translations/hr.po
  63. 4 0
      packages/ckeditor5-link/lang/translations/hu.po
  64. 4 0
      packages/ckeditor5-link/lang/translations/id.po
  65. 4 0
      packages/ckeditor5-link/lang/translations/it.po
  66. 4 0
      packages/ckeditor5-link/lang/translations/ja.po
  67. 4 0
      packages/ckeditor5-link/lang/translations/km.po
  68. 4 0
      packages/ckeditor5-link/lang/translations/kn.po
  69. 4 0
      packages/ckeditor5-link/lang/translations/ko.po
  70. 4 0
      packages/ckeditor5-link/lang/translations/ku.po
  71. 4 0
      packages/ckeditor5-link/lang/translations/lt.po
  72. 4 0
      packages/ckeditor5-link/lang/translations/lv.po
  73. 4 0
      packages/ckeditor5-link/lang/translations/nb.po
  74. 4 0
      packages/ckeditor5-link/lang/translations/ne.po
  75. 4 0
      packages/ckeditor5-link/lang/translations/nl.po
  76. 4 0
      packages/ckeditor5-link/lang/translations/no.po
  77. 4 0
      packages/ckeditor5-link/lang/translations/pl.po
  78. 4 0
      packages/ckeditor5-link/lang/translations/pt-br.po
  79. 4 0
      packages/ckeditor5-link/lang/translations/pt.po
  80. 4 0
      packages/ckeditor5-link/lang/translations/ro.po
  81. 4 0
      packages/ckeditor5-link/lang/translations/ru.po
  82. 4 0
      packages/ckeditor5-link/lang/translations/sk.po
  83. 4 0
      packages/ckeditor5-link/lang/translations/sq.po
  84. 4 0
      packages/ckeditor5-link/lang/translations/sr-latn.po
  85. 4 0
      packages/ckeditor5-link/lang/translations/sr.po
  86. 4 0
      packages/ckeditor5-link/lang/translations/sv.po
  87. 4 0
      packages/ckeditor5-link/lang/translations/tr.po
  88. 6 2
      packages/ckeditor5-link/lang/translations/ug.po
  89. 4 0
      packages/ckeditor5-link/lang/translations/uk.po
  90. 4 0
      packages/ckeditor5-link/lang/translations/vi.po
  91. 4 0
      packages/ckeditor5-link/lang/translations/zh-cn.po
  92. 4 0
      packages/ckeditor5-link/lang/translations/zh.po
  93. 1 1
      packages/ckeditor5-link/package.json
  94. 2 2
      packages/ckeditor5-link/src/linkcommand.js
  95. 4 4
      packages/ckeditor5-link/src/unlinkcommand.js
  96. 71 0
      packages/ckeditor5-link/tests/linkimage-integration.js
  97. 2 2
      packages/ckeditor5-list/lang/translations/ug.po
  98. 8 0
      packages/ckeditor5-table/docs/_snippets/features/table-styling-colors.js
  99. 8 0
      packages/ckeditor5-table/docs/_snippets/features/table-styling.js
  100. 8 0
      packages/ckeditor5-table/docs/_snippets/features/table.js

+ 152 - 152
docs/builds/guides/integration/content-styles.md

@@ -49,7 +49,7 @@ Below there is a full list of content styles used by the editor features. You ca
 ```css
 /*
  * CKEditor 5 (v19.1.1) content styles.
- * Generated on Tue, 09 Jun 2020 10:37:49 GMT.
+ * Generated on Fri, 19 Jun 2020 01:26:44 GMT.
  * For more information, check out https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/content-styles.html
  */
 
@@ -64,30 +64,79 @@ Below there is a full list of content styles used by the editor features. You ca
 	--ck-todo-list-checkmark-size: 16px;
 }
 
-/* ckeditor5-image/theme/imageresize.css */
-.ck-content .image.image_resized {
-	max-width: 100%;
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list {
+	list-style: none;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list li {
+	margin-bottom: 5px;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list li .todo-list {
+	margin-top: 5px;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input {
+	-webkit-appearance: none;
+	display: inline-block;
+	position: relative;
+	width: var(--ck-todo-list-checkmark-size);
+	height: var(--ck-todo-list-checkmark-size);
+	vertical-align: middle;
+	border: 0;
+	left: -25px;
+	margin-right: -15px;
+	right: 0;
+	margin-left: 0;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input::before {
 	display: block;
+	position: absolute;
 	box-sizing: border-box;
-}
-/* ckeditor5-image/theme/imageresize.css */
-.ck-content .image.image_resized img {
+	content: '';
 	width: 100%;
+	height: 100%;
+	border: 1px solid hsl(0, 0%, 20%);
+	border-radius: 2px;
+	transition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, 250ms ease-in-out border;
 }
-/* ckeditor5-image/theme/imageresize.css */
-.ck-content .image.image_resized > figcaption {
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input::after {
 	display: block;
+	position: absolute;
+	box-sizing: content-box;
+	pointer-events: none;
+	content: '';
+	left: calc( var(--ck-todo-list-checkmark-size) / 3 );
+	top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
+	width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
+	height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
+	border-style: solid;
+	border-color: transparent;
+	border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
+	transform: rotate(45deg);
 }
-/* ckeditor5-image/theme/imagecaption.css */
-.ck-content .image > figcaption {
-	display: table-caption;
-	caption-side: bottom;
-	word-break: break-word;
-	color: hsl(0, 0%, 20%);
-	background-color: hsl(0, 0%, 97%);
-	padding: .6em;
-	font-size: .75em;
-	outline-offset: -1px;
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input[checked]::before {
+	background: hsl(126, 64%, 41%);
+	border-color: hsl(126, 64%, 41%);
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input[checked]::after {
+	border-color: hsl(0, 0%, 100%);
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label .todo-list__label__description {
+	vertical-align: middle;
+}
+/* ckeditor5-media-embed/theme/mediaembed.css */
+.ck-content .media {
+	clear: both;
+	margin: 1em 0;
+	display: block;
+	min-width: 15em;
 }
 /* ckeditor5-basic-styles/theme/code.css */
 .ck-content code {
@@ -95,33 +144,6 @@ Below there is a full list of content styles used by the editor features. You ca
 	padding: .15em;
 	border-radius: 2px;
 }
-/* ckeditor5-image/theme/imagestyle.css */
-.ck-content .image-style-side,
-.ck-content .image-style-align-left,
-.ck-content .image-style-align-center,
-.ck-content .image-style-align-right {
-	max-width: 50%;
-}
-/* ckeditor5-image/theme/imagestyle.css */
-.ck-content .image-style-side {
-	float: right;
-	margin-left: var(--ck-image-style-spacing);
-}
-/* ckeditor5-image/theme/imagestyle.css */
-.ck-content .image-style-align-left {
-	float: left;
-	margin-right: var(--ck-image-style-spacing);
-}
-/* ckeditor5-image/theme/imagestyle.css */
-.ck-content .image-style-align-center {
-	margin-left: auto;
-	margin-right: auto;
-}
-/* ckeditor5-image/theme/imagestyle.css */
-.ck-content .image-style-align-right {
-	float: right;
-	margin-left: var(--ck-image-style-spacing);
-}
 /* ckeditor5-block-quote/theme/blockquote.css */
 .ck-content blockquote {
 	overflow: hidden;
@@ -137,47 +159,6 @@ Below there is a full list of content styles used by the editor features. You ca
 	border-left: 0;
 	border-right: solid 5px hsl(0, 0%, 80%);
 }
-/* ckeditor5-code-block/theme/codeblock.css */
-.ck-content pre {
-	padding: 1em;
-	color: hsl(0, 0%, 20.8%);
-	background: hsla(0, 0%, 78%, 0.3);
-	border: 1px solid hsl(0, 0%, 77%);
-	border-radius: 2px;
-	text-align: left;
-	direction: ltr;
-	tab-size: 4;
-	white-space: pre-wrap;
-	font-style: normal;
-	min-width: 200px;
-}
-/* ckeditor5-code-block/theme/codeblock.css */
-.ck-content pre code {
-	background: unset;
-	padding: 0;
-	border-radius: 0;
-}
-/* ckeditor5-horizontal-line/theme/horizontalline.css */
-.ck-content hr {
-	border-width: 1px 0 0;
-	border-style: solid;
-	border-color: hsl(0, 0%, 37%);
-	margin: 0;
-}
-/* ckeditor5-image/theme/image.css */
-.ck-content .image {
-	display: table;
-	clear: both;
-	text-align: center;
-	margin: 1em auto;
-}
-/* ckeditor5-image/theme/image.css */
-.ck-content .image > img {
-	display: block;
-	margin: 0 auto;
-	max-width: 100%;
-	min-width: 50px;
-}
 /* ckeditor5-table/theme/table.css */
 .ck-content .table {
 	margin: 1em auto;
@@ -211,79 +192,44 @@ Below there is a full list of content styles used by the editor features. You ca
 .ck-content[dir="ltr"] .table th {
 	text-align: left;
 }
-/* ckeditor5-media-embed/theme/mediaembed.css */
-.ck-content .media {
-	clear: both;
-	margin: 1em 0;
-	display: block;
-	min-width: 15em;
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list {
-	list-style: none;
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list li {
-	margin-bottom: 5px;
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list li .todo-list {
-	margin-top: 5px;
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input {
-	-webkit-appearance: none;
-	display: inline-block;
-	position: relative;
-	width: var(--ck-todo-list-checkmark-size);
-	height: var(--ck-todo-list-checkmark-size);
-	vertical-align: middle;
-	border: 0;
-	left: -25px;
-	margin-right: -15px;
-	right: 0;
-	margin-left: 0;
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input::before {
+/* ckeditor5-image/theme/imageresize.css */
+.ck-content .image.image_resized {
+	max-width: 100%;
 	display: block;
-	position: absolute;
 	box-sizing: border-box;
-	content: '';
+}
+/* ckeditor5-image/theme/imageresize.css */
+.ck-content .image.image_resized img {
 	width: 100%;
-	height: 100%;
-	border: 1px solid hsl(0, 0%, 20%);
-	border-radius: 2px;
-	transition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, 250ms ease-in-out border;
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input::after {
+/* ckeditor5-image/theme/imageresize.css */
+.ck-content .image.image_resized > figcaption {
 	display: block;
-	position: absolute;
-	box-sizing: content-box;
-	pointer-events: none;
-	content: '';
-	left: calc( var(--ck-todo-list-checkmark-size) / 3 );
-	top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
-	width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
-	height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
-	border-style: solid;
-	border-color: transparent;
-	border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
-	transform: rotate(45deg);
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input[checked]::before {
-	background: hsl(126, 64%, 41%);
-	border-color: hsl(126, 64%, 41%);
+/* ckeditor5-image/theme/image.css */
+.ck-content .image {
+	display: table;
+	clear: both;
+	text-align: center;
+	margin: 1em auto;
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input[checked]::after {
-	border-color: hsl(0, 0%, 100%);
+/* ckeditor5-image/theme/image.css */
+.ck-content .image img {
+	display: block;
+	margin: 0 auto;
+	max-width: 100%;
+	min-width: 50px;
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label .todo-list__label__description {
-	vertical-align: middle;
+/* ckeditor5-image/theme/imagecaption.css */
+.ck-content .image > figcaption {
+	display: table-caption;
+	caption-side: bottom;
+	word-break: break-word;
+	color: hsl(0, 0%, 20%);
+	background-color: hsl(0, 0%, 97%);
+	padding: .6em;
+	font-size: .75em;
+	outline-offset: -1px;
 }
 /* ckeditor5-highlight/theme/highlight.css */
 .ck-content .marker-yellow {
@@ -311,6 +257,33 @@ Below there is a full list of content styles used by the editor features. You ca
 	color: var(--ck-highlight-pen-green);
 	background-color: transparent;
 }
+/* ckeditor5-image/theme/imagestyle.css */
+.ck-content .image-style-side,
+.ck-content .image-style-align-left,
+.ck-content .image-style-align-center,
+.ck-content .image-style-align-right {
+	max-width: 50%;
+}
+/* ckeditor5-image/theme/imagestyle.css */
+.ck-content .image-style-side {
+	float: right;
+	margin-left: var(--ck-image-style-spacing);
+}
+/* ckeditor5-image/theme/imagestyle.css */
+.ck-content .image-style-align-left {
+	float: left;
+	margin-right: var(--ck-image-style-spacing);
+}
+/* ckeditor5-image/theme/imagestyle.css */
+.ck-content .image-style-align-center {
+	margin-left: auto;
+	margin-right: auto;
+}
+/* ckeditor5-image/theme/imagestyle.css */
+.ck-content .image-style-align-right {
+	float: right;
+	margin-left: var(--ck-image-style-spacing);
+}
 /* ckeditor5-page-break/theme/pagebreak.css */
 .ck-content .page-break {
 	position: relative;
@@ -363,6 +336,33 @@ Below there is a full list of content styles used by the editor features. You ca
 .ck-content .text-huge {
 	font-size: 1.8em;
 }
+/* ckeditor5-code-block/theme/codeblock.css */
+.ck-content pre {
+	padding: 1em;
+	color: hsl(0, 0%, 20.8%);
+	background: hsla(0, 0%, 78%, 0.3);
+	border: 1px solid hsl(0, 0%, 77%);
+	border-radius: 2px;
+	text-align: left;
+	direction: ltr;
+	tab-size: 4;
+	white-space: pre-wrap;
+	font-style: normal;
+	min-width: 200px;
+}
+/* ckeditor5-code-block/theme/codeblock.css */
+.ck-content pre code {
+	background: unset;
+	padding: 0;
+	border-radius: 0;
+}
+/* ckeditor5-horizontal-line/theme/horizontalline.css */
+.ck-content hr {
+	margin: 15px 0;
+	height: 4px;
+	background: hsl(0, 0%, 87%);
+	border: 0;
+}
 @media print {
 	/* ckeditor5-page-break/theme/pagebreak.css */
 	.ck-content .page-break {

+ 9 - 9
package.json

@@ -77,21 +77,21 @@
   },
   "devDependencies": {
     "@ckeditor/ckeditor5-comments": "^19.0.2",
-    "@ckeditor/ckeditor5-dev-docs": "^20.0.0",
-    "@ckeditor/ckeditor5-dev-env": "^20.1.0",
-    "@ckeditor/ckeditor5-dev-tests": "^20.0.1",
-    "@ckeditor/ckeditor5-dev-utils": "^20.0.0",
-    "@ckeditor/ckeditor5-dev-webpack-plugin": "^20.0.0",
+    "@ckeditor/ckeditor5-dev-docs": "^21.0.0",
+    "@ckeditor/ckeditor5-dev-env": "^21.0.0",
+    "@ckeditor/ckeditor5-dev-tests": "^21.0.0",
+    "@ckeditor/ckeditor5-dev-utils": "^21.0.0",
+    "@ckeditor/ckeditor5-dev-webpack-plugin": "^21.0.0",
     "@ckeditor/ckeditor5-inspector": "^2.1.0",
     "@ckeditor/ckeditor5-react": "^2.1.0",
     "@ckeditor/ckeditor5-real-time-collaboration": "^19.0.2",
     "@ckeditor/ckeditor5-track-changes": "^19.1.0",
-    "@wiris/mathtype-ckeditor5": "^7.20.0",
+    "@wiris/mathtype-ckeditor5": "7.20.0",
     "babel-standalone": "^6.26.0",
     "coveralls": "^3.1.0",
     "css-loader": "^3.5.3",
     "eslint": "^7.1.0",
-    "eslint-config-ckeditor5": "^2.1.0",
+    "eslint-config-ckeditor5": "^3.0.0",
     "glob": "^7.1.6",
     "http-server": "^0.12.3",
     "husky": "^4.2.5",
@@ -106,10 +106,10 @@
     "react-dom": "^16.13.1",
     "style-loader": "^1.2.1",
     "stylelint": "^13.5.0",
-    "stylelint-config-ckeditor5": "^1.0.3",
+    "stylelint-config-ckeditor5": "^2.0.0",
     "svgo": "^1.3.2",
     "terser-webpack-plugin": "^3.0.2",
-    "umberto": "^1.3.2",
+    "umberto": "^1.4.1",
     "webpack": "^4.43.0"
   },
   "engines": {

+ 2 - 2
packages/ckeditor5-adapter-ckfinder/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "A generic error message displayed on upload failure. The file name is concatenated to this text."
 msgid "Cannot upload file:"

+ 2 - 2
packages/ckeditor5-basic-styles/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "Toolbar button tooltip for the Bold feature."
 msgid "Bold"

+ 2 - 2
packages/ckeditor5-block-quote/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "Toolbar button tooltip for the Block quote feature."
 msgid "Block quote"

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/ckeditor.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/ckeditor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/de.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ug.js

@@ -1 +1 @@
-(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return 0;;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return (n != 1);;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-balloon/build/ckeditor.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-balloon/build/ckeditor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/de.js


+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/ug.js

@@ -1 +1 @@
-(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return 0;;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return (n != 1);;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-classic/build/ckeditor.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-classic/build/ckeditor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-classic/build/translations/de.js


+ 1 - 1
packages/ckeditor5-build-classic/build/translations/ug.js

@@ -1 +1 @@
-(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor":"تېكىست تەھرىرلىگۈچ","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return 0;;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor":"تېكىست تەھرىرلىگۈچ","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return (n != 1);;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-decoupled-document/build/ckeditor.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-decoupled-document/build/ckeditor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-decoupled-document/build/translations/de.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-decoupled-document/build/translations/ug.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-inline/build/ckeditor.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-inline/build/ckeditor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
packages/ckeditor5-build-inline/build/translations/de.js


+ 1 - 1
packages/ckeditor5-build-inline/build/translations/ug.js

@@ -1 +1 @@
-(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return 0;;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+(function(d){	const l = d['ug'] = d['ug'] || {};	l.dictionary=Object.assign(		l.dictionary||{},		{"%0 of %1":"","Block quote":"قىسمەن قوللىنىش",Bold:"توم","Bulleted List":"بەلگە جەدىۋېلى",Cancel:"قالدۇرۇش","Cannot upload file:":"چىقىرىشقا بولمايدىغان ھۆججەت :","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Choose heading":"تېما تاللاش",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم",Heading:"تېما","Heading 1":"تېما 1","Heading 2":"تېما 2","Heading 3":"تېما 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"رەسىمچىك","Insert image":"رەسىم قىستۇرۇش",Italic:"يانتۇ","Left aligned image":"سولغا توغۇرلانغان رەسىم",Link:"ئۇلاش","Link URL":"ئۇلاش ئادىرسى",Next:"","Numbered List":"نومۇر جەدىۋېلى","Open in a new tab":"","Open link in new tab":"",Paragraph:"بۆلەك",Previous:"",Redo:"قايتا قىلىش","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم",Save:"ساقلاش","Show more items":"","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش","This link has no URL":"",Undo:"قالدۇرۇش",Unlink:"ئۈزۈش","Upload failed":"چىقىرىش مەغلۇپ بولدى"}	);l.getPluralForm=function(n){return (n != 1);;};})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

+ 1 - 1
packages/ckeditor5-code-block/lang/translations/de.po

@@ -18,7 +18,7 @@ msgstr ""
 
 msgctxt "A label of the button that allows inserting a new code block into the editor content."
 msgid "Insert code block"
-msgstr "Block einfügen"
+msgstr "Code-Block einfügen"
 
 msgctxt "A language of the code block in the editor content when no specific programming language is associated with it."
 msgid "Plain text"

+ 2 - 2
packages/ckeditor5-core/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "Label for the Save button."
 msgid "Save"

+ 2 - 2
packages/ckeditor5-heading/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "Dropdown option label for the paragraph format."
 msgid "Paragraph"

+ 2 - 0
packages/ckeditor5-image/docs/_snippets/features/build-image-source.js

@@ -8,7 +8,9 @@
 import ClassicEditor from '@ckeditor/ckeditor5-build-classic/src/ckeditor';
 
 import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize';
+import LinkImage from '@ckeditor/ckeditor5-link/src/linkimage';
 
 ClassicEditor.builtinPlugins.push( ImageResize );
+ClassicEditor.builtinPlugins.push( LinkImage );
 
 window.ClassicEditor = ClassicEditor;

+ 1 - 1
packages/ckeditor5-image/docs/_snippets/features/image-caption.js

@@ -9,7 +9,7 @@ import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-image-caption' ), {
-		removePlugins: [ 'ImageStyle', 'ImageResize' ],
+		removePlugins: [ 'ImageStyle', 'ImageResize', 'LinkImage' ],
 		image: {
 			toolbar: [ 'imageTextAlternative' ]
 		},

+ 10 - 0
packages/ckeditor5-image/docs/_snippets/features/image-link.html

@@ -0,0 +1,10 @@
+<div id="snippet-image-link">
+	<h3>Click me!</h3>
+
+	<figure class="image image-style-side">
+		<a href="https://cksource.com">
+			<img src="%BASE_PATH%/assets/img/fields.jpg" alt="Autumn fields">
+		</a>
+		<figcaption>Autumn fields by Aleksander Nowodziński</figcaption>
+	</figure>
+</div>

+ 33 - 0
packages/ckeditor5-image/docs/_snippets/features/image-link.js

@@ -0,0 +1,33 @@
+/**
+ * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+/* globals ClassicEditor, console, window, document */
+
+import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config.js';
+
+ClassicEditor
+	.create( document.querySelector( '#snippet-image-link' ), {
+		removePlugins: [ 'ImageResize' ],
+		toolbar: {
+			viewportTopOffset: window.getViewportTopOffsetConfig()
+		},
+		image: {
+			toolbar: [
+				'imageStyle:full',
+				'imageStyle:side',
+				'|',
+				'imageTextAlternative',
+				'|',
+				'linkImage'
+			]
+		},
+		cloudServices: CS_CONFIG
+	} )
+	.then( editor => {
+		window.editorResize = editor;
+	} )
+	.catch( err => {
+		console.error( err );
+	} );

+ 1 - 0
packages/ckeditor5-image/docs/_snippets/features/image-resize-px.js

@@ -9,6 +9,7 @@ import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-image-resize-px' ), {
+		removePlugins: [ 'LinkImage' ],
 		image: {
 			resizeUnit: 'px'
 		},

+ 1 - 0
packages/ckeditor5-image/docs/_snippets/features/image-resize.js

@@ -9,6 +9,7 @@ import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-image-resize' ), {
+		removePlugins: [ 'LinkImage' ],
 		toolbar: {
 			viewportTopOffset: window.getViewportTopOffsetConfig()
 		},

+ 1 - 1
packages/ckeditor5-image/docs/_snippets/features/image-style-custom.js

@@ -9,7 +9,7 @@ import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-image-style-custom' ), {
-		removePlugins: [ 'ImageResize' ],
+		removePlugins: [ 'ImageResize', 'LinkImage' ],
 		image: {
 			styles: [
 				// This option is equal to a situation where no style is applied.

+ 1 - 1
packages/ckeditor5-image/docs/_snippets/features/image-style.js

@@ -9,7 +9,7 @@ import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-image-style' ), {
-		removePlugins: [ 'ImageResize' ],
+		removePlugins: [ 'ImageResize', 'LinkImage' ],
 		toolbar: {
 			viewportTopOffset: window.getViewportTopOffsetConfig()
 		},

+ 1 - 1
packages/ckeditor5-image/docs/_snippets/features/image-toolbar.js

@@ -9,7 +9,7 @@ import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-image-toolbar' ), {
-		removePlugins: [ 'ImageCaption', 'ImageStyle', 'ImageResize' ],
+		removePlugins: [ 'ImageCaption', 'ImageStyle', 'ImageResize', 'LinkImage' ],
 		image: {
 			toolbar: [ 'imageTextAlternative' ]
 		},

+ 1 - 1
packages/ckeditor5-image/docs/_snippets/features/image.js

@@ -9,7 +9,7 @@ import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-image' ), {
-		removePlugins: [ 'ImageToolbar', 'ImageCaption', 'ImageStyle', 'ImageResize' ],
+		removePlugins: [ 'ImageToolbar', 'ImageCaption', 'ImageStyle', 'ImageResize', 'LinkImage' ],
 		toolbar: {
 			viewportTopOffset: window.getViewportTopOffsetConfig()
 		},

+ 21 - 0
packages/ckeditor5-image/docs/features/image.md

@@ -14,6 +14,7 @@ The [`@ckeditor/ckeditor5-image`](https://www.npmjs.com/package/@ckeditor/ckedit
 * {@link module:image/imagetextalternative~ImageTextAlternative} adds support for adding text alternative.
 * {@link module:image/imageupload~ImageUpload} adds support for uploading dropped or pasted images (see: {@link features/image-upload Image upload}).
 * {@link module:image/imageresize~ImageResize} adds support for resizing images.
+* {@link module:link/linkimage~LinkImage} adds support for linking images.
 
 <info-box info>
 	All features listed above except the image resize are enabled by default in all WYSIWYG editor builds.
@@ -267,6 +268,26 @@ Resizing by dragging handles displayed over the image is the first option provid
 
 We count on your feedback. React with 👍 under the respective tickets or [report new ones](https://github.com/ckeditor/ckeditor5-image/issues) if you have different ideas.
 
+## Linking images
+
+The {@link module:link/linkimage~LinkImage} plugin adds support for linking images:
+
+```html
+<figure class="image">
+	<a href="...">
+	    <img src="..." alt="...">
+    </a>
+</figure>
+```
+
+Enabling linking images brings support for link editing to the rich-text editor. See the {@link features/link Link guide} to read more about the feature.
+
+{@snippet features/image-link}
+
+<info-box info>
+	The {@link module:link/linkimage~LinkImage} plugin is available in the [@ckeditor/ckeditor5-link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link) package.
+</info-box>
+
 ## Installation
 
 To add image features to your rich-text editor, install the [`@ckeditor/ckeditor5-image`](https://www.npmjs.com/package/@ckeditor/ckeditor5-image) package:

+ 2 - 2
packages/ckeditor5-image/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "Label for the image widget."
 msgid "image widget"

+ 2 - 0
packages/ckeditor5-link/docs/features/link.md

@@ -283,6 +283,8 @@ editor.execute( 'link', 'http://example.com', { linkIsExternal: true } );
 editor.execute( 'unlink' );
 ```
 
+The package provides a plugin for {@link module:link/linkimage~LinkImage linking images}. See the {@link features/image#linking-images Linking images} section in the {@link features/image feature guide}.
+
 Links are represented in the {@link module:engine/model/model~Model model} using the `linkHref` attribute. [Manual link decorators](#adding-attributes-to-links-using-the-ui-manual-decorators) are represented in the model using text attributes corresponding to their names, as configured in {@link module:link/link~LinkConfig#decorators `config.link.decorators`}.
 
 <info-box>

+ 1 - 0
packages/ckeditor5-link/lang/contexts.json

@@ -2,6 +2,7 @@
 	"Unlink": "Toolbar button tooltip for the Unlink feature.",
 	"Link": "Toolbar button tooltip for the Link feature.",
 	"Link URL": "Label for the URL input in the Link URL editing balloon.",
+	"Link image": "Label for the image link button.",
 	"Edit link": "Button opening the Link URL editing balloon.",
 	"Open link in new tab": "Button opening the link in new browser tab.",
 	"This link has no URL": "Label explaining that a link has no URL set (the URL is empty).",

+ 4 - 0
packages/ckeditor5-link/lang/translations/ar.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "رابط عنوان"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "تحرير الرابط"

+ 4 - 0
packages/ckeditor5-link/lang/translations/ast.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL del enllaz"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/az.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Linkin URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Linki redaktə et"

+ 4 - 0
packages/ckeditor5-link/lang/translations/cs.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL odkazu"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Upravit odkaz"

+ 4 - 0
packages/ckeditor5-link/lang/translations/da.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Link URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Redigér link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/de.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Link Adresse"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Link bearbeiten"

+ 4 - 0
packages/ckeditor5-link/lang/translations/el.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Διεύθυνση συνδέσμου"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/en-au.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Link URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Edit link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/en-gb.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Link URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Edit link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/en.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Link URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr "Link image"
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Edit link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/eo.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL de la ligilo"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/es.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL del enlace"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Editar enlace"

+ 4 - 0
packages/ckeditor5-link/lang/translations/et.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Lingi URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Muuda linki"

+ 4 - 0
packages/ckeditor5-link/lang/translations/eu.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Estekaren URLa"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/fa.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "نشانی اینترنتی پیوند"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "ویرایش پیوند"

+ 4 - 0
packages/ckeditor5-link/lang/translations/fi.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Linkin osoite"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Muokkaa linkkiä"

+ 4 - 0
packages/ckeditor5-link/lang/translations/fr.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL du lien"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Modifier le lien"

+ 4 - 0
packages/ckeditor5-link/lang/translations/gl.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL de ligazón"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Editar a ligazón"

+ 4 - 0
packages/ckeditor5-link/lang/translations/he.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "קישור כתובת אתר"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "עריכת קישור"

+ 4 - 0
packages/ckeditor5-link/lang/translations/hr.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL veze"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Uredi vezu"

+ 4 - 0
packages/ckeditor5-link/lang/translations/hu.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL link"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Link szerkesztése"

+ 4 - 0
packages/ckeditor5-link/lang/translations/id.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL tautan"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Sunting tautan"

+ 4 - 0
packages/ckeditor5-link/lang/translations/it.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL del collegamento"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Modifica collegamento"

+ 4 - 0
packages/ckeditor5-link/lang/translations/ja.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "リンクURL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "リンクを編集"

+ 4 - 0
packages/ckeditor5-link/lang/translations/km.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL តំណ"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/kn.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "‍ಕೊಂಡಿ ಸಂಪರ್ಕಿಸು"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/ko.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "링크 주소"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "링크 편집"

+ 4 - 0
packages/ckeditor5-link/lang/translations/ku.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "ناونیشانی بەستەر"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "دەستکاری بەستەر"

+ 4 - 0
packages/ckeditor5-link/lang/translations/lt.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Nuorodos URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Keisti nuorodą"

+ 4 - 0
packages/ckeditor5-link/lang/translations/lv.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Saites URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Labot Saiti"

+ 4 - 0
packages/ckeditor5-link/lang/translations/nb.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL for lenke"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Rediger lenke"

+ 4 - 0
packages/ckeditor5-link/lang/translations/ne.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "लिङ्क यूआरएल"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "लिङ्क सम्पादन गर्नुहोस्"

+ 4 - 0
packages/ckeditor5-link/lang/translations/nl.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Link URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Bewerk link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/no.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Lenke-URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Rediger lenke"

+ 4 - 0
packages/ckeditor5-link/lang/translations/pl.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Adres URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Edytuj odnośnik"

+ 4 - 0
packages/ckeditor5-link/lang/translations/pt-br.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Editar link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/pt.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL da ligação"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/ro.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Link URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Modifică link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/ru.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Ссылка URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Редактировать ссылку"

+ 4 - 0
packages/ckeditor5-link/lang/translations/sk.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL adresa"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Upraviť odkaz"

+ 4 - 0
packages/ckeditor5-link/lang/translations/sq.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Nyja e URL-së"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Redakto nyjën"

+ 4 - 0
packages/ckeditor5-link/lang/translations/sr-latn.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL link"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Ispravi link"

+ 4 - 0
packages/ckeditor5-link/lang/translations/sr.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "УРЛ линк"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Исправи линк"

+ 4 - 0
packages/ckeditor5-link/lang/translations/sv.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Länkens URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Redigera länk"

+ 4 - 0
packages/ckeditor5-link/lang/translations/tr.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Bağlantı Adresi"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Bağlantıyı değiştir"

+ 6 - 2
packages/ckeditor5-link/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "Toolbar button tooltip for the Unlink feature."
 msgid "Unlink"
@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "ئۇلاش ئادىرسى"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr ""

+ 4 - 0
packages/ckeditor5-link/lang/translations/uk.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "URL посилання"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Редагувати посилання"

+ 4 - 0
packages/ckeditor5-link/lang/translations/vi.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "Đường dẫn liên kết"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "Sửa liên kết"

+ 4 - 0
packages/ckeditor5-link/lang/translations/zh-cn.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "链接网址"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "修改链接"

+ 4 - 0
packages/ckeditor5-link/lang/translations/zh.po

@@ -28,6 +28,10 @@ msgctxt "Label for the URL input in the Link URL editing balloon."
 msgid "Link URL"
 msgstr "連結˙ URL"
 
+msgctxt "Label for the image link button."
+msgid "Link image"
+msgstr ""
+
 msgctxt "Button opening the Link URL editing balloon."
 msgid "Edit link"
 msgstr "編輯連結"

+ 1 - 1
packages/ckeditor5-link/package.json

@@ -12,6 +12,7 @@
   "dependencies": {
     "@ckeditor/ckeditor5-core": "^19.0.1",
     "@ckeditor/ckeditor5-engine": "^19.0.1",
+    "@ckeditor/ckeditor5-image": "^19.0.1",
     "@ckeditor/ckeditor5-ui": "^19.0.1",
     "@ckeditor/ckeditor5-utils": "^19.0.1",
     "lodash-es": "^4.17.15"
@@ -22,7 +23,6 @@
     "@ckeditor/ckeditor5-clipboard": "^19.0.1",
     "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
     "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
     "@ckeditor/ckeditor5-paragraph": "^19.1.0",
     "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
     "@ckeditor/ckeditor5-typing": "^19.0.1",

+ 2 - 2
packages/ckeditor5-link/src/linkcommand.js

@@ -61,8 +61,8 @@ export default class LinkCommand extends Command {
 		const selectedElement = first( doc.selection.getSelectedBlocks() );
 
 		// A check for the `LinkImage` plugin. If the selection contains an element, get values from the element.
-		// Currently the selection reads attributes from text nodes only. See #7429.
-		if ( selectedElement && selectedElement.is( 'image' ) ) {
+		// Currently the selection reads attributes from text nodes only. See #7429 and #7465.
+		if ( selectedElement && selectedElement.is( 'image' ) && model.schema.checkAttribute( 'image', 'linkHref' ) ) {
 			this.value = selectedElement.getAttribute( 'linkHref' );
 			this.isEnabled = model.schema.checkAttribute( selectedElement, 'linkHref' );
 		} else {

+ 4 - 4
packages/ckeditor5-link/src/unlinkcommand.js

@@ -24,12 +24,12 @@ export default class UnlinkCommand extends Command {
 		const model = this.editor.model;
 		const doc = model.document;
 
-		const selectedImage = first( doc.selection.getSelectedBlocks() );
+		const selectedElement = first( doc.selection.getSelectedBlocks() );
 
 		// A check for the `LinkImage` plugin. If the selection contains an image element, get values from the element.
-		// Currently the selection reads attributes from text nodes only. See #7429.
-		if ( selectedImage && selectedImage.name === 'image' ) {
-			this.isEnabled = model.schema.checkAttribute( selectedImage, 'linkHref' );
+		// Currently the selection reads attributes from text nodes only. See #7429 and #7465.
+		if ( selectedElement && selectedElement.is( 'image' ) && model.schema.checkAttribute( 'image', 'linkHref' ) ) {
+			this.isEnabled = model.schema.checkAttribute( selectedElement, 'linkHref' );
 		} else {
 			this.isEnabled = model.schema.checkAttributeInSelection( doc.selection, 'linkHref' );
 		}

+ 71 - 0
packages/ckeditor5-link/tests/linkimage-integration.js

@@ -0,0 +1,71 @@
+/**
+ * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+import Image from '@ckeditor/ckeditor5-image/src/image';
+import ImageCaption from '@ckeditor/ckeditor5-image/src/imagecaption';
+import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
+import Enter from '@ckeditor/ckeditor5-enter/src/enter';
+import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
+import Typing from '@ckeditor/ckeditor5-typing/src/typing';
+import Link from '../src/link';
+
+import { getData as getModelData, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
+import global from '@ckeditor/ckeditor5-utils/src/dom/global';
+
+describe( 'LinkImage integration', () => {
+	let editorElement, editor, model;
+
+	beforeEach( () => {
+		editorElement = global.document.createElement( 'div' );
+		global.document.body.appendChild( editorElement );
+	} );
+
+	afterEach( () => {
+		editorElement.remove();
+	} );
+
+	describe( 'when LinkImage is not loaded', () => {
+		beforeEach( () => {
+			return ClassicEditor
+				.create( editorElement, {
+					plugins: [
+						Enter, Typing, Paragraph, Image, ImageCaption, Link
+					]
+				} )
+				.then( newEditor => {
+					editor = newEditor;
+					model = editor.model;
+				} );
+		} );
+
+		afterEach( () => {
+			return editor.destroy();
+		} );
+
+		it( 'link command should link a figcaption element if an image is selected', () => {
+			setModelData(
+				model,
+				'<paragraph>Foo.</paragraph>[<image src="/assets/sample.png"><caption>Foo.</caption></image>]'
+			);
+
+			editor.execute( 'link', 'https://cksource.com' );
+
+			expect( getModelData( model ) ).to.equal(
+				'<paragraph>Foo.</paragraph>' +
+				'[<image src="/assets/sample.png"><caption><$text linkHref="https://cksource.com">Foo.</$text></caption></image>]'
+			);
+		} );
+
+		it( 'unlink command should be enabled when an image with a linked figcaption is selected', () => {
+			setModelData(
+				model,
+				'<paragraph>Foo.</paragraph>' +
+				'[<image src="/assets/sample.png"><caption><$text linkHref="https://cksource.com">Foo.</$text></caption></image>]'
+			);
+
+			expect( editor.commands.get( 'unlink' ).isEnabled ).to.equal( true );
+		} );
+	} );
+} );

+ 2 - 2
packages/ckeditor5-list/lang/translations/ug.po

@@ -12,9 +12,9 @@
 #
 msgid ""
 msgstr ""
-"Language-Team: Uighur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
+"Language-Team: Uyghur (https://www.transifex.com/ckeditor/teams/11143/ug/)\n"
 "Language: ug\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgctxt "Toolbar button tooltip for the Numbered List feature."
 msgid "Numbered List"

+ 8 - 0
packages/ckeditor5-table/docs/_snippets/features/table-styling-colors.js

@@ -104,6 +104,14 @@ ClassicEditor
 				borderColors: customColorPalette,
 				backgroundColors: customColorPalette
 			}
+		},
+		image: {
+			toolbar: [
+				'imageStyle:full',
+				'imageStyle:side',
+				'|',
+				'imageTextAlternative'
+			]
 		}
 	} )
 	.then( editor => {

+ 8 - 0
packages/ckeditor5-table/docs/_snippets/features/table-styling.js

@@ -105,6 +105,14 @@ ClassicEditor
 				borderColors: COLOR_PALETTE,
 				backgroundColors: COLOR_PALETTE
 			}
+		},
+		image: {
+			toolbar: [
+				'imageStyle:full',
+				'imageStyle:side',
+				'|',
+				'imageTextAlternative'
+			]
 		}
 	} )
 	.then( editor => {

+ 8 - 0
packages/ckeditor5-table/docs/_snippets/features/table.js

@@ -9,6 +9,14 @@ ClassicEditor
 	.create( document.querySelector( '#snippet-table' ), {
 		table: {
 			contentToolbar: [ 'tableColumn', 'tableRow', 'mergeTableCells' ]
+		},
+		image: {
+			toolbar: [
+				'imageStyle:full',
+				'imageStyle:side',
+				'|',
+				'imageTextAlternative'
+			]
 		}
 	} )
 	.then( editor => {

Некоторые файлы не были показаны из-за большого количества измененных файлов