@mdaemon/html-editor 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +388 -10
- package/dist/index.d.ts +53 -0
- package/dist/index.js +2822 -78
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2822 -78
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +211 -10
- package/package.json +22 -20
package/dist/index.mjs
CHANGED
|
@@ -2432,7 +2432,7 @@ function isTagRule(rule) {
|
|
|
2432
2432
|
function isStyleRule(rule) {
|
|
2433
2433
|
return rule.style != null;
|
|
2434
2434
|
}
|
|
2435
|
-
|
|
2435
|
+
let DOMParser$1 = class DOMParser2 {
|
|
2436
2436
|
/**
|
|
2437
2437
|
Create a parser that targets the given schema, using the given
|
|
2438
2438
|
parsing rules.
|
|
@@ -2558,9 +2558,9 @@ class DOMParser {
|
|
|
2558
2558
|
[priority](https://prosemirror.net/docs/ref/#model.GenericParseRule.priority).
|
|
2559
2559
|
*/
|
|
2560
2560
|
static fromSchema(schema) {
|
|
2561
|
-
return schema.cached.domParser || (schema.cached.domParser = new
|
|
2561
|
+
return schema.cached.domParser || (schema.cached.domParser = new DOMParser2(schema, DOMParser2.schemaRules(schema)));
|
|
2562
2562
|
}
|
|
2563
|
-
}
|
|
2563
|
+
};
|
|
2564
2564
|
const blockTags = {
|
|
2565
2565
|
address: true,
|
|
2566
2566
|
article: true,
|
|
@@ -3621,11 +3621,11 @@ class Step {
|
|
|
3621
3621
|
register an ID for your step classes. Try to pick something
|
|
3622
3622
|
that's unlikely to clash with steps from other modules.
|
|
3623
3623
|
*/
|
|
3624
|
-
static jsonID(
|
|
3625
|
-
if (
|
|
3626
|
-
throw new RangeError("Duplicate use of step JSON ID " +
|
|
3627
|
-
stepsByID[
|
|
3628
|
-
stepClass.prototype.jsonID =
|
|
3624
|
+
static jsonID(id2, stepClass) {
|
|
3625
|
+
if (id2 in stepsByID)
|
|
3626
|
+
throw new RangeError("Duplicate use of step JSON ID " + id2);
|
|
3627
|
+
stepsByID[id2] = stepClass;
|
|
3628
|
+
stepClass.prototype.jsonID = id2;
|
|
3629
3629
|
return stepClass;
|
|
3630
3630
|
}
|
|
3631
3631
|
}
|
|
@@ -5300,11 +5300,11 @@ class Selection {
|
|
|
5300
5300
|
can be disambiguated. Try to pick something that's unlikely to
|
|
5301
5301
|
clash with classes from other modules.
|
|
5302
5302
|
*/
|
|
5303
|
-
static jsonID(
|
|
5304
|
-
if (
|
|
5305
|
-
throw new RangeError("Duplicate use of selection JSON ID " +
|
|
5306
|
-
classesById[
|
|
5307
|
-
selectionClass.prototype.jsonID =
|
|
5303
|
+
static jsonID(id2, selectionClass) {
|
|
5304
|
+
if (id2 in classesById)
|
|
5305
|
+
throw new RangeError("Duplicate use of selection JSON ID " + id2);
|
|
5306
|
+
classesById[id2] = selectionClass;
|
|
5307
|
+
selectionClass.prototype.jsonID = id2;
|
|
5308
5308
|
return selectionClass;
|
|
5309
5309
|
}
|
|
5310
5310
|
/**
|
|
@@ -9247,7 +9247,7 @@ function parseFromClipboard(view, text, html, plainText, $context) {
|
|
|
9247
9247
|
dom = child;
|
|
9248
9248
|
}
|
|
9249
9249
|
if (!slice2) {
|
|
9250
|
-
let parser = view.someProp("clipboardParser") || view.someProp("domParser") || DOMParser.fromSchema(view.state.schema);
|
|
9250
|
+
let parser = view.someProp("clipboardParser") || view.someProp("domParser") || DOMParser$1.fromSchema(view.state.schema);
|
|
9251
9251
|
slice2 = parser.parseSlice(dom, {
|
|
9252
9252
|
preserveWhitespace: !!(asText || sliceData),
|
|
9253
9253
|
context: $context,
|
|
@@ -11111,7 +11111,7 @@ function parseBetween(view, from_, to_) {
|
|
|
11111
11111
|
}
|
|
11112
11112
|
}
|
|
11113
11113
|
let startDoc = view.state.doc;
|
|
11114
|
-
let parser = view.someProp("domParser") || DOMParser.fromSchema(view.state.schema);
|
|
11114
|
+
let parser = view.someProp("domParser") || DOMParser$1.fromSchema(view.state.schema);
|
|
11115
11115
|
let $from = startDoc.resolve(from2);
|
|
11116
11116
|
let sel = null, doc2 = parser.parse(parent, {
|
|
11117
11117
|
topNode: $from.parent,
|
|
@@ -12655,9 +12655,9 @@ function createNodeFromContent(content, schema, options) {
|
|
|
12655
12655
|
})
|
|
12656
12656
|
});
|
|
12657
12657
|
if (options.slice) {
|
|
12658
|
-
DOMParser.fromSchema(contentCheckSchema).parseSlice(elementFromString(content), options.parseOptions);
|
|
12658
|
+
DOMParser$1.fromSchema(contentCheckSchema).parseSlice(elementFromString(content), options.parseOptions);
|
|
12659
12659
|
} else {
|
|
12660
|
-
DOMParser.fromSchema(contentCheckSchema).parse(elementFromString(content), options.parseOptions);
|
|
12660
|
+
DOMParser$1.fromSchema(contentCheckSchema).parse(elementFromString(content), options.parseOptions);
|
|
12661
12661
|
}
|
|
12662
12662
|
if (options.errorOnInvalidContent && hasInvalidContent) {
|
|
12663
12663
|
throw new Error("[tiptap error]: Invalid HTML content", {
|
|
@@ -12665,7 +12665,7 @@ function createNodeFromContent(content, schema, options) {
|
|
|
12665
12665
|
});
|
|
12666
12666
|
}
|
|
12667
12667
|
}
|
|
12668
|
-
const parser = DOMParser.fromSchema(schema);
|
|
12668
|
+
const parser = DOMParser$1.fromSchema(schema);
|
|
12669
12669
|
if (options.slice) {
|
|
12670
12670
|
return parser.parseSlice(elementFromString(content), options.parseOptions).content;
|
|
12671
12671
|
}
|
|
@@ -13503,7 +13503,7 @@ function getSchemaByResolvedExtensions(extensions, editor) {
|
|
|
13503
13503
|
});
|
|
13504
13504
|
}
|
|
13505
13505
|
function findDuplicates(items) {
|
|
13506
|
-
const filtered = items.filter((
|
|
13506
|
+
const filtered = items.filter((el2, index) => items.indexOf(el2) !== index);
|
|
13507
13507
|
return Array.from(new Set(filtered));
|
|
13508
13508
|
}
|
|
13509
13509
|
function sortExtensions(extensions) {
|
|
@@ -16102,13 +16102,13 @@ var Editor = class extends EventEmitter {
|
|
|
16102
16102
|
/**
|
|
16103
16103
|
* Attach the editor to the DOM, creating a new editor view.
|
|
16104
16104
|
*/
|
|
16105
|
-
mount(
|
|
16105
|
+
mount(el2) {
|
|
16106
16106
|
if (typeof document === "undefined") {
|
|
16107
16107
|
throw new Error(
|
|
16108
16108
|
`[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.`
|
|
16109
16109
|
);
|
|
16110
16110
|
}
|
|
16111
|
-
this.createView(
|
|
16111
|
+
this.createView(el2);
|
|
16112
16112
|
this.emit("mount", { editor: this });
|
|
16113
16113
|
if (this.css && !document.head.contains(this.css)) {
|
|
16114
16114
|
document.head.appendChild(this.css);
|
|
@@ -17015,7 +17015,7 @@ var ResizableNodeView = class {
|
|
|
17015
17015
|
* Cleans up the handle map and removes each handle element from the DOM.
|
|
17016
17016
|
*/
|
|
17017
17017
|
removeHandles() {
|
|
17018
|
-
this.handleMap.forEach((
|
|
17018
|
+
this.handleMap.forEach((el2) => el2.remove());
|
|
17019
17019
|
this.handleMap.clear();
|
|
17020
17020
|
}
|
|
17021
17021
|
/**
|
|
@@ -18869,7 +18869,7 @@ State.prototype = {
|
|
|
18869
18869
|
}
|
|
18870
18870
|
};
|
|
18871
18871
|
const ta = (state, input, next, flags, groups) => state.ta(input, next, flags, groups);
|
|
18872
|
-
const tr = (state, regexp, next, flags, groups) => state.tr(regexp, next, flags, groups);
|
|
18872
|
+
const tr$1 = (state, regexp, next, flags, groups) => state.tr(regexp, next, flags, groups);
|
|
18873
18873
|
const ts = (state, input, next, flags, groups) => state.ts(input, next, flags, groups);
|
|
18874
18874
|
const tt = (state, input, next, flags, groups) => state.tt(input, next, flags, groups);
|
|
18875
18875
|
const WORD = "WORD";
|
|
@@ -19047,58 +19047,58 @@ function init$2(customSchemes = []) {
|
|
|
19047
19047
|
tt(Start, "_", UNDERSCORE);
|
|
19048
19048
|
tt(Start, "\\", BACKSLASH);
|
|
19049
19049
|
tt(Start, "・", FULLWIDTHMIDDLEDOT);
|
|
19050
|
-
const Num = tr(Start, DIGIT, NUM, {
|
|
19050
|
+
const Num = tr$1(Start, DIGIT, NUM, {
|
|
19051
19051
|
[numeric]: true
|
|
19052
19052
|
});
|
|
19053
|
-
tr(Num, DIGIT, Num);
|
|
19054
|
-
const Asciinumeric = tr(Num, ASCII_LETTER, ASCIINUMERICAL, {
|
|
19053
|
+
tr$1(Num, DIGIT, Num);
|
|
19054
|
+
const Asciinumeric = tr$1(Num, ASCII_LETTER, ASCIINUMERICAL, {
|
|
19055
19055
|
[asciinumeric]: true
|
|
19056
19056
|
});
|
|
19057
|
-
const Alphanumeric = tr(Num, LETTER, ALPHANUMERICAL, {
|
|
19057
|
+
const Alphanumeric = tr$1(Num, LETTER, ALPHANUMERICAL, {
|
|
19058
19058
|
[alphanumeric]: true
|
|
19059
19059
|
});
|
|
19060
|
-
const Word = tr(Start, ASCII_LETTER, WORD, {
|
|
19060
|
+
const Word = tr$1(Start, ASCII_LETTER, WORD, {
|
|
19061
19061
|
[ascii]: true
|
|
19062
19062
|
});
|
|
19063
|
-
tr(Word, DIGIT, Asciinumeric);
|
|
19064
|
-
tr(Word, ASCII_LETTER, Word);
|
|
19065
|
-
tr(Asciinumeric, DIGIT, Asciinumeric);
|
|
19066
|
-
tr(Asciinumeric, ASCII_LETTER, Asciinumeric);
|
|
19067
|
-
const UWord = tr(Start, LETTER, UWORD, {
|
|
19063
|
+
tr$1(Word, DIGIT, Asciinumeric);
|
|
19064
|
+
tr$1(Word, ASCII_LETTER, Word);
|
|
19065
|
+
tr$1(Asciinumeric, DIGIT, Asciinumeric);
|
|
19066
|
+
tr$1(Asciinumeric, ASCII_LETTER, Asciinumeric);
|
|
19067
|
+
const UWord = tr$1(Start, LETTER, UWORD, {
|
|
19068
19068
|
[alpha]: true
|
|
19069
19069
|
});
|
|
19070
|
-
tr(UWord, ASCII_LETTER);
|
|
19071
|
-
tr(UWord, DIGIT, Alphanumeric);
|
|
19072
|
-
tr(UWord, LETTER, UWord);
|
|
19073
|
-
tr(Alphanumeric, DIGIT, Alphanumeric);
|
|
19074
|
-
tr(Alphanumeric, ASCII_LETTER);
|
|
19075
|
-
tr(Alphanumeric, LETTER, Alphanumeric);
|
|
19070
|
+
tr$1(UWord, ASCII_LETTER);
|
|
19071
|
+
tr$1(UWord, DIGIT, Alphanumeric);
|
|
19072
|
+
tr$1(UWord, LETTER, UWord);
|
|
19073
|
+
tr$1(Alphanumeric, DIGIT, Alphanumeric);
|
|
19074
|
+
tr$1(Alphanumeric, ASCII_LETTER);
|
|
19075
|
+
tr$1(Alphanumeric, LETTER, Alphanumeric);
|
|
19076
19076
|
const Nl2 = tt(Start, LF, NL, {
|
|
19077
19077
|
[whitespace]: true
|
|
19078
19078
|
});
|
|
19079
19079
|
const Cr = tt(Start, CR, WS, {
|
|
19080
19080
|
[whitespace]: true
|
|
19081
19081
|
});
|
|
19082
|
-
const Ws = tr(Start, SPACE, WS, {
|
|
19082
|
+
const Ws = tr$1(Start, SPACE, WS, {
|
|
19083
19083
|
[whitespace]: true
|
|
19084
19084
|
});
|
|
19085
19085
|
tt(Start, OBJECT_REPLACEMENT, Ws);
|
|
19086
19086
|
tt(Cr, LF, Nl2);
|
|
19087
19087
|
tt(Cr, OBJECT_REPLACEMENT, Ws);
|
|
19088
|
-
tr(Cr, SPACE, Ws);
|
|
19088
|
+
tr$1(Cr, SPACE, Ws);
|
|
19089
19089
|
tt(Ws, CR);
|
|
19090
19090
|
tt(Ws, LF);
|
|
19091
|
-
tr(Ws, SPACE, Ws);
|
|
19091
|
+
tr$1(Ws, SPACE, Ws);
|
|
19092
19092
|
tt(Ws, OBJECT_REPLACEMENT, Ws);
|
|
19093
|
-
const Emoji = tr(Start, EMOJI, EMOJI$1, {
|
|
19093
|
+
const Emoji = tr$1(Start, EMOJI, EMOJI$1, {
|
|
19094
19094
|
[emoji]: true
|
|
19095
19095
|
});
|
|
19096
19096
|
tt(Emoji, "#");
|
|
19097
|
-
tr(Emoji, EMOJI, Emoji);
|
|
19097
|
+
tr$1(Emoji, EMOJI, Emoji);
|
|
19098
19098
|
tt(Emoji, EMOJI_VARIATION, Emoji);
|
|
19099
19099
|
const EmojiJoiner = tt(Emoji, EMOJI_JOINER);
|
|
19100
19100
|
tt(EmojiJoiner, "#");
|
|
19101
|
-
tr(EmojiJoiner, EMOJI, Emoji);
|
|
19101
|
+
tr$1(EmojiJoiner, EMOJI, Emoji);
|
|
19102
19102
|
const wordjr = [[ASCII_LETTER, Word], [DIGIT, Asciinumeric]];
|
|
19103
19103
|
const uwordjr = [[ASCII_LETTER, null], [LETTER, UWord], [DIGIT, Alphanumeric]];
|
|
19104
19104
|
for (let i = 0; i < tlds.length; i++) {
|
|
@@ -23302,7 +23302,7 @@ var Image = Node3.create({
|
|
|
23302
23302
|
}
|
|
23303
23303
|
const { directions, minWidth, minHeight, alwaysPreserveAspectRatio } = this.options.resize;
|
|
23304
23304
|
return ({ node, getPos, HTMLAttributes, editor }) => {
|
|
23305
|
-
const
|
|
23305
|
+
const el2 = document.createElement("img");
|
|
23306
23306
|
Object.entries(HTMLAttributes).forEach(([key, value]) => {
|
|
23307
23307
|
if (value != null) {
|
|
23308
23308
|
switch (key) {
|
|
@@ -23310,20 +23310,20 @@ var Image = Node3.create({
|
|
|
23310
23310
|
case "height":
|
|
23311
23311
|
break;
|
|
23312
23312
|
default:
|
|
23313
|
-
|
|
23313
|
+
el2.setAttribute(key, value);
|
|
23314
23314
|
break;
|
|
23315
23315
|
}
|
|
23316
23316
|
}
|
|
23317
23317
|
});
|
|
23318
|
-
|
|
23318
|
+
el2.src = HTMLAttributes.src;
|
|
23319
23319
|
const nodeView = new ResizableNodeView({
|
|
23320
|
-
element:
|
|
23320
|
+
element: el2,
|
|
23321
23321
|
editor,
|
|
23322
23322
|
node,
|
|
23323
23323
|
getPos,
|
|
23324
23324
|
onResize: (width, height) => {
|
|
23325
|
-
|
|
23326
|
-
|
|
23325
|
+
el2.style.width = `${width}px`;
|
|
23326
|
+
el2.style.height = `${height}px`;
|
|
23327
23327
|
},
|
|
23328
23328
|
onCommit: (width, height) => {
|
|
23329
23329
|
const pos = getPos();
|
|
@@ -23353,7 +23353,7 @@ var Image = Node3.create({
|
|
|
23353
23353
|
const dom = nodeView.dom;
|
|
23354
23354
|
dom.style.visibility = "hidden";
|
|
23355
23355
|
dom.style.pointerEvents = "none";
|
|
23356
|
-
|
|
23356
|
+
el2.onload = () => {
|
|
23357
23357
|
dom.style.visibility = "";
|
|
23358
23358
|
dom.style.pointerEvents = "";
|
|
23359
23359
|
};
|
|
@@ -25841,7 +25841,7 @@ function requireCore() {
|
|
|
25841
25841
|
static _collapse(node) {
|
|
25842
25842
|
if (typeof node === "string") return;
|
|
25843
25843
|
if (!node.children) return;
|
|
25844
|
-
if (node.children.every((
|
|
25844
|
+
if (node.children.every((el2) => typeof el2 === "string")) {
|
|
25845
25845
|
node.children = [node.children.join("")];
|
|
25846
25846
|
} else {
|
|
25847
25847
|
node.children.forEach((child) => {
|
|
@@ -26363,7 +26363,7 @@ function requireCore() {
|
|
|
26363
26363
|
if (this.regexes.length === 0) {
|
|
26364
26364
|
this.exec = () => null;
|
|
26365
26365
|
}
|
|
26366
|
-
const terminators = this.regexes.map((
|
|
26366
|
+
const terminators = this.regexes.map((el2) => el2[1]);
|
|
26367
26367
|
this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: "|" }), true);
|
|
26368
26368
|
this.lastIndex = 0;
|
|
26369
26369
|
}
|
|
@@ -26374,7 +26374,7 @@ function requireCore() {
|
|
|
26374
26374
|
if (!match) {
|
|
26375
26375
|
return null;
|
|
26376
26376
|
}
|
|
26377
|
-
const i = match.findIndex((
|
|
26377
|
+
const i = match.findIndex((el2, i2) => i2 > 0 && el2 !== void 0);
|
|
26378
26378
|
const matchData = this.matchIndexes[i];
|
|
26379
26379
|
match.splice(0, i);
|
|
26380
26380
|
return Object.assign(match, matchData);
|
|
@@ -27134,10 +27134,10 @@ function requireCore() {
|
|
|
27134
27134
|
}
|
|
27135
27135
|
});
|
|
27136
27136
|
}
|
|
27137
|
-
function deprecateHighlightBlock(
|
|
27137
|
+
function deprecateHighlightBlock(el2) {
|
|
27138
27138
|
deprecated("10.7.0", "highlightBlock will be removed entirely in v12.0");
|
|
27139
27139
|
deprecated("10.7.0", "Please use highlightElement now.");
|
|
27140
|
-
return highlightElement(
|
|
27140
|
+
return highlightElement(el2);
|
|
27141
27141
|
}
|
|
27142
27142
|
Object.assign(hljs, {
|
|
27143
27143
|
highlight: highlight2,
|
|
@@ -41484,6 +41484,506 @@ class EmojiPicker {
|
|
|
41484
41484
|
}
|
|
41485
41485
|
}
|
|
41486
41486
|
}
|
|
41487
|
+
const DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
41488
|
+
const ACCEPTED_IMAGE_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp", "image/svg+xml"];
|
|
41489
|
+
const SVG_DANGEROUS_TAGS = [
|
|
41490
|
+
"script",
|
|
41491
|
+
"foreignobject",
|
|
41492
|
+
"set",
|
|
41493
|
+
"animate",
|
|
41494
|
+
"animatetransform",
|
|
41495
|
+
"animatemotion",
|
|
41496
|
+
"handler",
|
|
41497
|
+
"listener"
|
|
41498
|
+
];
|
|
41499
|
+
const SVG_EVENT_ATTR_PATTERN = /^on/i;
|
|
41500
|
+
const SVG_DANGEROUS_ATTR_VALUES = /javascript:|data:text\/html/i;
|
|
41501
|
+
function sanitizeSVG(svgText) {
|
|
41502
|
+
const parser = new DOMParser();
|
|
41503
|
+
const doc2 = parser.parseFromString(svgText, "image/svg+xml");
|
|
41504
|
+
const parseError = doc2.querySelector("parsererror");
|
|
41505
|
+
if (parseError) {
|
|
41506
|
+
return null;
|
|
41507
|
+
}
|
|
41508
|
+
const walk = (node) => {
|
|
41509
|
+
const tagName = node.tagName.toLowerCase();
|
|
41510
|
+
if (SVG_DANGEROUS_TAGS.includes(tagName)) {
|
|
41511
|
+
node.remove();
|
|
41512
|
+
return;
|
|
41513
|
+
}
|
|
41514
|
+
const attrs = Array.from(node.attributes);
|
|
41515
|
+
for (const attr of attrs) {
|
|
41516
|
+
if (SVG_EVENT_ATTR_PATTERN.test(attr.name)) {
|
|
41517
|
+
node.removeAttribute(attr.name);
|
|
41518
|
+
} else if (SVG_DANGEROUS_ATTR_VALUES.test(attr.value)) {
|
|
41519
|
+
node.removeAttribute(attr.name);
|
|
41520
|
+
}
|
|
41521
|
+
}
|
|
41522
|
+
const children = Array.from(node.children);
|
|
41523
|
+
for (const child of children) {
|
|
41524
|
+
walk(child);
|
|
41525
|
+
}
|
|
41526
|
+
};
|
|
41527
|
+
walk(doc2.documentElement);
|
|
41528
|
+
return new XMLSerializer().serializeToString(doc2.documentElement);
|
|
41529
|
+
}
|
|
41530
|
+
class ImageUpload {
|
|
41531
|
+
options;
|
|
41532
|
+
overlay = null;
|
|
41533
|
+
dialog = null;
|
|
41534
|
+
activeTab = "upload";
|
|
41535
|
+
currentFile = null;
|
|
41536
|
+
fileInput = null;
|
|
41537
|
+
uploading = false;
|
|
41538
|
+
constructor(options) {
|
|
41539
|
+
this.options = options;
|
|
41540
|
+
}
|
|
41541
|
+
open() {
|
|
41542
|
+
if (this.overlay) {
|
|
41543
|
+
this.reset();
|
|
41544
|
+
this.overlay.style.display = "flex";
|
|
41545
|
+
return;
|
|
41546
|
+
}
|
|
41547
|
+
this.createDialog();
|
|
41548
|
+
}
|
|
41549
|
+
close() {
|
|
41550
|
+
if (this.overlay) {
|
|
41551
|
+
this.overlay.style.display = "none";
|
|
41552
|
+
}
|
|
41553
|
+
this.reset();
|
|
41554
|
+
}
|
|
41555
|
+
reset() {
|
|
41556
|
+
this.currentFile = null;
|
|
41557
|
+
this.uploading = false;
|
|
41558
|
+
if (!this.dialog) return;
|
|
41559
|
+
if (this.fileInput) {
|
|
41560
|
+
this.fileInput.value = "";
|
|
41561
|
+
}
|
|
41562
|
+
const dropzoneText = this.dialog.querySelector(".md-image-upload-dropzone-text");
|
|
41563
|
+
if (dropzoneText) {
|
|
41564
|
+
dropzoneText.textContent = this.options.trans("Drop image here or click to browse");
|
|
41565
|
+
}
|
|
41566
|
+
const urlInput = this.dialog.querySelector(".md-image-upload-url-input");
|
|
41567
|
+
if (urlInput) {
|
|
41568
|
+
urlInput.value = "";
|
|
41569
|
+
}
|
|
41570
|
+
const altInput = this.dialog.querySelector(".md-image-upload-alt-input");
|
|
41571
|
+
if (altInput) {
|
|
41572
|
+
altInput.value = "";
|
|
41573
|
+
}
|
|
41574
|
+
const preview = this.dialog.querySelector(".md-image-upload-preview");
|
|
41575
|
+
if (preview) {
|
|
41576
|
+
preview.innerHTML = "";
|
|
41577
|
+
preview.style.display = "none";
|
|
41578
|
+
}
|
|
41579
|
+
const progress = this.dialog.querySelector(".md-image-upload-progress");
|
|
41580
|
+
if (progress) {
|
|
41581
|
+
progress.style.display = "none";
|
|
41582
|
+
}
|
|
41583
|
+
const insertBtn = this.dialog.querySelector(".md-image-upload-insert");
|
|
41584
|
+
if (insertBtn) {
|
|
41585
|
+
insertBtn.disabled = true;
|
|
41586
|
+
}
|
|
41587
|
+
const error = this.dialog.querySelector(".md-image-upload-error");
|
|
41588
|
+
if (error) {
|
|
41589
|
+
error.style.display = "none";
|
|
41590
|
+
error.textContent = "";
|
|
41591
|
+
}
|
|
41592
|
+
this.switchTab("upload");
|
|
41593
|
+
}
|
|
41594
|
+
createDialog() {
|
|
41595
|
+
const t = this.options.trans;
|
|
41596
|
+
this.overlay = document.createElement("div");
|
|
41597
|
+
this.overlay.className = "md-dialog-overlay";
|
|
41598
|
+
this.overlay.addEventListener("click", (e) => {
|
|
41599
|
+
if (e.target === this.overlay) {
|
|
41600
|
+
this.close();
|
|
41601
|
+
}
|
|
41602
|
+
});
|
|
41603
|
+
this.dialog = document.createElement("div");
|
|
41604
|
+
this.dialog.className = "md-dialog md-image-upload-dialog";
|
|
41605
|
+
const header = document.createElement("div");
|
|
41606
|
+
header.className = "md-dialog-header";
|
|
41607
|
+
header.innerHTML = `
|
|
41608
|
+
<h3>${t("Insert image")}</h3>
|
|
41609
|
+
<button type="button" class="md-dialog-close">×</button>
|
|
41610
|
+
`;
|
|
41611
|
+
header.querySelector(".md-dialog-close")?.addEventListener("click", () => this.close());
|
|
41612
|
+
const body = document.createElement("div");
|
|
41613
|
+
body.className = "md-dialog-body";
|
|
41614
|
+
const tabs = document.createElement("div");
|
|
41615
|
+
tabs.className = "md-image-upload-tabs";
|
|
41616
|
+
const uploadTab = document.createElement("button");
|
|
41617
|
+
uploadTab.type = "button";
|
|
41618
|
+
uploadTab.className = "md-image-upload-tab md-image-upload-tab-active";
|
|
41619
|
+
uploadTab.textContent = t("Upload");
|
|
41620
|
+
uploadTab.addEventListener("click", () => this.switchTab("upload"));
|
|
41621
|
+
const urlTab = document.createElement("button");
|
|
41622
|
+
urlTab.type = "button";
|
|
41623
|
+
urlTab.className = "md-image-upload-tab";
|
|
41624
|
+
urlTab.textContent = t("URL");
|
|
41625
|
+
urlTab.addEventListener("click", () => this.switchTab("url"));
|
|
41626
|
+
tabs.appendChild(uploadTab);
|
|
41627
|
+
tabs.appendChild(urlTab);
|
|
41628
|
+
const uploadPanel = document.createElement("div");
|
|
41629
|
+
uploadPanel.className = "md-image-upload-panel md-image-upload-panel-upload";
|
|
41630
|
+
this.fileInput = document.createElement("input");
|
|
41631
|
+
this.fileInput.type = "file";
|
|
41632
|
+
this.fileInput.accept = "image/*";
|
|
41633
|
+
this.fileInput.style.display = "none";
|
|
41634
|
+
this.fileInput.addEventListener("change", () => {
|
|
41635
|
+
const file = this.fileInput?.files?.[0];
|
|
41636
|
+
if (file) {
|
|
41637
|
+
this.handleFileSelected(file);
|
|
41638
|
+
}
|
|
41639
|
+
});
|
|
41640
|
+
const dropzone = document.createElement("div");
|
|
41641
|
+
dropzone.className = "md-image-upload-dropzone";
|
|
41642
|
+
dropzone.innerHTML = `
|
|
41643
|
+
<div class="md-image-upload-dropzone-icon">
|
|
41644
|
+
<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
41645
|
+
<rect x="3" y="3" width="18" height="18" rx="2"/>
|
|
41646
|
+
<circle cx="8.5" cy="8.5" r="1.5"/>
|
|
41647
|
+
<polyline points="21 15 16 10 5 21"/>
|
|
41648
|
+
</svg>
|
|
41649
|
+
</div>
|
|
41650
|
+
<div class="md-image-upload-dropzone-text">${t("Drop image here or click to browse")}</div>
|
|
41651
|
+
<button type="button" class="md-btn md-btn-primary md-image-upload-browse">${t("Browse...")}</button>
|
|
41652
|
+
`;
|
|
41653
|
+
dropzone.querySelector(".md-image-upload-browse")?.addEventListener("click", (e) => {
|
|
41654
|
+
e.stopPropagation();
|
|
41655
|
+
this.fileInput?.click();
|
|
41656
|
+
});
|
|
41657
|
+
dropzone.addEventListener("click", () => {
|
|
41658
|
+
this.fileInput?.click();
|
|
41659
|
+
});
|
|
41660
|
+
dropzone.addEventListener("dragover", (e) => {
|
|
41661
|
+
e.preventDefault();
|
|
41662
|
+
e.stopPropagation();
|
|
41663
|
+
dropzone.classList.add("md-image-upload-dropzone-active");
|
|
41664
|
+
if (e.dataTransfer) {
|
|
41665
|
+
e.dataTransfer.dropEffect = "copy";
|
|
41666
|
+
}
|
|
41667
|
+
});
|
|
41668
|
+
dropzone.addEventListener("dragleave", (e) => {
|
|
41669
|
+
e.preventDefault();
|
|
41670
|
+
e.stopPropagation();
|
|
41671
|
+
dropzone.classList.remove("md-image-upload-dropzone-active");
|
|
41672
|
+
});
|
|
41673
|
+
dropzone.addEventListener("drop", (e) => {
|
|
41674
|
+
e.preventDefault();
|
|
41675
|
+
e.stopPropagation();
|
|
41676
|
+
dropzone.classList.remove("md-image-upload-dropzone-active");
|
|
41677
|
+
const file = e.dataTransfer?.files?.[0];
|
|
41678
|
+
if (file) {
|
|
41679
|
+
this.handleFileSelected(file);
|
|
41680
|
+
}
|
|
41681
|
+
});
|
|
41682
|
+
uploadPanel.appendChild(this.fileInput);
|
|
41683
|
+
uploadPanel.appendChild(dropzone);
|
|
41684
|
+
const urlPanel = document.createElement("div");
|
|
41685
|
+
urlPanel.className = "md-image-upload-panel md-image-upload-panel-url";
|
|
41686
|
+
urlPanel.style.display = "none";
|
|
41687
|
+
const urlRow = document.createElement("div");
|
|
41688
|
+
urlRow.className = "md-image-upload-row";
|
|
41689
|
+
urlRow.innerHTML = `
|
|
41690
|
+
<label>${t("URL")}</label>
|
|
41691
|
+
<input type="url" class="md-image-upload-url-input" placeholder="https://..." />
|
|
41692
|
+
`;
|
|
41693
|
+
const urlInput = urlRow.querySelector(".md-image-upload-url-input");
|
|
41694
|
+
urlInput.addEventListener("input", () => {
|
|
41695
|
+
this.handleUrlInput(urlInput.value);
|
|
41696
|
+
});
|
|
41697
|
+
urlPanel.appendChild(urlRow);
|
|
41698
|
+
const preview = document.createElement("div");
|
|
41699
|
+
preview.className = "md-image-upload-preview";
|
|
41700
|
+
preview.style.display = "none";
|
|
41701
|
+
const altRow = document.createElement("div");
|
|
41702
|
+
altRow.className = "md-image-upload-row";
|
|
41703
|
+
altRow.innerHTML = `
|
|
41704
|
+
<label>${t("Alt text")}</label>
|
|
41705
|
+
<input type="text" class="md-image-upload-alt-input" />
|
|
41706
|
+
`;
|
|
41707
|
+
const errorEl = document.createElement("div");
|
|
41708
|
+
errorEl.className = "md-image-upload-error";
|
|
41709
|
+
errorEl.style.display = "none";
|
|
41710
|
+
const progressEl = document.createElement("div");
|
|
41711
|
+
progressEl.className = "md-image-upload-progress";
|
|
41712
|
+
progressEl.style.display = "none";
|
|
41713
|
+
progressEl.innerHTML = `
|
|
41714
|
+
<div class="md-image-upload-progress-bar"><div class="md-image-upload-progress-fill"></div></div>
|
|
41715
|
+
<span class="md-image-upload-progress-text">${t("Uploading...")}</span>
|
|
41716
|
+
`;
|
|
41717
|
+
const footer = document.createElement("div");
|
|
41718
|
+
footer.className = "md-image-upload-footer";
|
|
41719
|
+
footer.innerHTML = `
|
|
41720
|
+
<button type="button" class="md-btn md-image-upload-cancel">${t("Cancel")}</button>
|
|
41721
|
+
<button type="button" class="md-btn md-btn-primary md-image-upload-insert" disabled>${t("Insert")}</button>
|
|
41722
|
+
`;
|
|
41723
|
+
footer.querySelector(".md-image-upload-cancel")?.addEventListener("click", () => this.close());
|
|
41724
|
+
footer.querySelector(".md-image-upload-insert")?.addEventListener("click", () => this.handleInsert());
|
|
41725
|
+
body.appendChild(tabs);
|
|
41726
|
+
body.appendChild(uploadPanel);
|
|
41727
|
+
body.appendChild(urlPanel);
|
|
41728
|
+
body.appendChild(preview);
|
|
41729
|
+
body.appendChild(errorEl);
|
|
41730
|
+
body.appendChild(progressEl);
|
|
41731
|
+
body.appendChild(altRow);
|
|
41732
|
+
body.appendChild(footer);
|
|
41733
|
+
this.dialog.appendChild(header);
|
|
41734
|
+
this.dialog.appendChild(body);
|
|
41735
|
+
this.overlay.appendChild(this.dialog);
|
|
41736
|
+
document.body.appendChild(this.overlay);
|
|
41737
|
+
}
|
|
41738
|
+
switchTab(tab) {
|
|
41739
|
+
this.activeTab = tab;
|
|
41740
|
+
if (!this.dialog) return;
|
|
41741
|
+
const tabs = this.dialog.querySelectorAll(".md-image-upload-tab");
|
|
41742
|
+
tabs[0]?.classList.toggle("md-image-upload-tab-active", tab === "upload");
|
|
41743
|
+
tabs[1]?.classList.toggle("md-image-upload-tab-active", tab === "url");
|
|
41744
|
+
const uploadPanel = this.dialog.querySelector(".md-image-upload-panel-upload");
|
|
41745
|
+
const urlPanel = this.dialog.querySelector(".md-image-upload-panel-url");
|
|
41746
|
+
if (uploadPanel) uploadPanel.style.display = tab === "upload" ? "" : "none";
|
|
41747
|
+
if (urlPanel) urlPanel.style.display = tab === "url" ? "" : "none";
|
|
41748
|
+
}
|
|
41749
|
+
showError(message) {
|
|
41750
|
+
const errorEl = this.dialog?.querySelector(".md-image-upload-error");
|
|
41751
|
+
if (errorEl) {
|
|
41752
|
+
errorEl.textContent = message;
|
|
41753
|
+
errorEl.style.display = "block";
|
|
41754
|
+
}
|
|
41755
|
+
}
|
|
41756
|
+
clearError() {
|
|
41757
|
+
const errorEl = this.dialog?.querySelector(".md-image-upload-error");
|
|
41758
|
+
if (errorEl) {
|
|
41759
|
+
errorEl.style.display = "none";
|
|
41760
|
+
errorEl.textContent = "";
|
|
41761
|
+
}
|
|
41762
|
+
}
|
|
41763
|
+
handleFileSelected(file) {
|
|
41764
|
+
this.clearError();
|
|
41765
|
+
const t = this.options.trans;
|
|
41766
|
+
if (!ACCEPTED_IMAGE_TYPES.includes(file.type)) {
|
|
41767
|
+
this.showError(t("Invalid file type"));
|
|
41768
|
+
return;
|
|
41769
|
+
}
|
|
41770
|
+
const maxSize = this.options.uploadMaxSize ?? DEFAULT_MAX_FILE_SIZE;
|
|
41771
|
+
if (file.size > maxSize) {
|
|
41772
|
+
this.showError(t("File too large"));
|
|
41773
|
+
return;
|
|
41774
|
+
}
|
|
41775
|
+
this.currentFile = file;
|
|
41776
|
+
this.showFilePreview(file);
|
|
41777
|
+
const dropzoneText = this.dialog?.querySelector(".md-image-upload-dropzone-text");
|
|
41778
|
+
if (dropzoneText) {
|
|
41779
|
+
dropzoneText.textContent = file.name;
|
|
41780
|
+
}
|
|
41781
|
+
const insertBtn = this.dialog?.querySelector(".md-image-upload-insert");
|
|
41782
|
+
if (insertBtn) {
|
|
41783
|
+
insertBtn.disabled = false;
|
|
41784
|
+
}
|
|
41785
|
+
}
|
|
41786
|
+
showFilePreview(file) {
|
|
41787
|
+
const preview = this.dialog?.querySelector(".md-image-upload-preview");
|
|
41788
|
+
if (!preview) return;
|
|
41789
|
+
const objectUrl = URL.createObjectURL(file);
|
|
41790
|
+
const img = document.createElement("img");
|
|
41791
|
+
img.src = objectUrl;
|
|
41792
|
+
img.alt = "Preview";
|
|
41793
|
+
img.onload = () => URL.revokeObjectURL(objectUrl);
|
|
41794
|
+
preview.innerHTML = "";
|
|
41795
|
+
preview.appendChild(img);
|
|
41796
|
+
preview.style.display = "block";
|
|
41797
|
+
}
|
|
41798
|
+
handleUrlInput(url) {
|
|
41799
|
+
this.clearError();
|
|
41800
|
+
const preview = this.dialog?.querySelector(".md-image-upload-preview");
|
|
41801
|
+
const insertBtn = this.dialog?.querySelector(".md-image-upload-insert");
|
|
41802
|
+
if (!url.trim()) {
|
|
41803
|
+
if (preview) {
|
|
41804
|
+
preview.innerHTML = "";
|
|
41805
|
+
preview.style.display = "none";
|
|
41806
|
+
}
|
|
41807
|
+
if (insertBtn) insertBtn.disabled = true;
|
|
41808
|
+
return;
|
|
41809
|
+
}
|
|
41810
|
+
if (!this.isValidUrl(url)) {
|
|
41811
|
+
if (insertBtn) insertBtn.disabled = true;
|
|
41812
|
+
return;
|
|
41813
|
+
}
|
|
41814
|
+
if (preview) {
|
|
41815
|
+
const img = document.createElement("img");
|
|
41816
|
+
img.src = url;
|
|
41817
|
+
img.alt = "Preview";
|
|
41818
|
+
img.onerror = () => {
|
|
41819
|
+
preview.innerHTML = "";
|
|
41820
|
+
preview.style.display = "none";
|
|
41821
|
+
if (insertBtn) insertBtn.disabled = true;
|
|
41822
|
+
this.showError(this.options.trans("Invalid image URL"));
|
|
41823
|
+
};
|
|
41824
|
+
img.onload = () => {
|
|
41825
|
+
if (insertBtn) insertBtn.disabled = false;
|
|
41826
|
+
};
|
|
41827
|
+
preview.innerHTML = "";
|
|
41828
|
+
preview.appendChild(img);
|
|
41829
|
+
preview.style.display = "block";
|
|
41830
|
+
}
|
|
41831
|
+
}
|
|
41832
|
+
isValidUrl(url) {
|
|
41833
|
+
try {
|
|
41834
|
+
const parsed = new URL(url, window.location.href);
|
|
41835
|
+
return parsed.protocol === "http:" || parsed.protocol === "https:";
|
|
41836
|
+
} catch {
|
|
41837
|
+
return false;
|
|
41838
|
+
}
|
|
41839
|
+
}
|
|
41840
|
+
async handleInsert() {
|
|
41841
|
+
if (this.uploading) return;
|
|
41842
|
+
const altInput = this.dialog?.querySelector(".md-image-upload-alt-input");
|
|
41843
|
+
const alt = altInput?.value?.trim() || void 0;
|
|
41844
|
+
if (this.activeTab === "url") {
|
|
41845
|
+
const urlInput = this.dialog?.querySelector(".md-image-upload-url-input");
|
|
41846
|
+
const url = urlInput?.value?.trim();
|
|
41847
|
+
if (url && this.isValidUrl(url)) {
|
|
41848
|
+
this.options.onInsert(url, alt);
|
|
41849
|
+
this.close();
|
|
41850
|
+
}
|
|
41851
|
+
return;
|
|
41852
|
+
}
|
|
41853
|
+
if (!this.currentFile) return;
|
|
41854
|
+
try {
|
|
41855
|
+
const src = await this.uploadFile(this.currentFile);
|
|
41856
|
+
this.options.onInsert(src, alt);
|
|
41857
|
+
this.close();
|
|
41858
|
+
} catch (err) {
|
|
41859
|
+
this.showError(this.options.trans("Upload failed"));
|
|
41860
|
+
}
|
|
41861
|
+
}
|
|
41862
|
+
uploadFile(file) {
|
|
41863
|
+
if (!ACCEPTED_IMAGE_TYPES.includes(file.type)) {
|
|
41864
|
+
return Promise.reject(new Error("Invalid file type"));
|
|
41865
|
+
}
|
|
41866
|
+
const maxSize = this.options.uploadMaxSize ?? DEFAULT_MAX_FILE_SIZE;
|
|
41867
|
+
if (file.size > maxSize) {
|
|
41868
|
+
return Promise.reject(new Error("File too large"));
|
|
41869
|
+
}
|
|
41870
|
+
if (file.type === "image/svg+xml") {
|
|
41871
|
+
return this.sanitizeAndUploadSVG(file);
|
|
41872
|
+
}
|
|
41873
|
+
if (!this.options.uploadUrl) {
|
|
41874
|
+
return this.readAsBase64(file);
|
|
41875
|
+
}
|
|
41876
|
+
return this.uploadViaXHR(file);
|
|
41877
|
+
}
|
|
41878
|
+
sanitizeAndUploadSVG(file) {
|
|
41879
|
+
return new Promise((resolve, reject) => {
|
|
41880
|
+
const reader = new FileReader();
|
|
41881
|
+
reader.onload = () => {
|
|
41882
|
+
const svgText = reader.result;
|
|
41883
|
+
const sanitized = sanitizeSVG(svgText);
|
|
41884
|
+
if (!sanitized) {
|
|
41885
|
+
reject(new Error("Invalid SVG file"));
|
|
41886
|
+
return;
|
|
41887
|
+
}
|
|
41888
|
+
const sanitizedBlob = new Blob([sanitized], { type: "image/svg+xml" });
|
|
41889
|
+
const sanitizedFile = new File([sanitizedBlob], file.name, { type: "image/svg+xml" });
|
|
41890
|
+
if (!this.options.uploadUrl) {
|
|
41891
|
+
this.readAsBase64(sanitizedFile).then(resolve, reject);
|
|
41892
|
+
} else {
|
|
41893
|
+
this.uploadViaXHR(sanitizedFile).then(resolve, reject);
|
|
41894
|
+
}
|
|
41895
|
+
};
|
|
41896
|
+
reader.onerror = () => reject(new Error("Failed to read file"));
|
|
41897
|
+
reader.readAsText(file);
|
|
41898
|
+
});
|
|
41899
|
+
}
|
|
41900
|
+
readAsBase64(file) {
|
|
41901
|
+
return new Promise((resolve, reject) => {
|
|
41902
|
+
const reader = new FileReader();
|
|
41903
|
+
reader.onload = () => {
|
|
41904
|
+
if (typeof reader.result === "string") {
|
|
41905
|
+
resolve(reader.result);
|
|
41906
|
+
} else {
|
|
41907
|
+
reject(new Error("Failed to read file"));
|
|
41908
|
+
}
|
|
41909
|
+
};
|
|
41910
|
+
reader.onerror = () => reject(new Error("Failed to read file"));
|
|
41911
|
+
reader.readAsDataURL(file);
|
|
41912
|
+
});
|
|
41913
|
+
}
|
|
41914
|
+
uploadViaXHR(file) {
|
|
41915
|
+
return new Promise((resolve, reject) => {
|
|
41916
|
+
this.uploading = true;
|
|
41917
|
+
const progressEl = this.dialog?.querySelector(".md-image-upload-progress");
|
|
41918
|
+
const progressFill = this.dialog?.querySelector(".md-image-upload-progress-fill");
|
|
41919
|
+
const progressText = this.dialog?.querySelector(".md-image-upload-progress-text");
|
|
41920
|
+
const insertBtn = this.dialog?.querySelector(".md-image-upload-insert");
|
|
41921
|
+
if (progressEl) progressEl.style.display = "flex";
|
|
41922
|
+
if (insertBtn) insertBtn.disabled = true;
|
|
41923
|
+
const xhr = new XMLHttpRequest();
|
|
41924
|
+
const formData = new FormData();
|
|
41925
|
+
formData.append("file", file, file.name);
|
|
41926
|
+
xhr.upload.addEventListener("progress", (e) => {
|
|
41927
|
+
if (e.lengthComputable && progressFill && progressText) {
|
|
41928
|
+
const pct = Math.round(e.loaded / e.total * 100);
|
|
41929
|
+
progressFill.style.width = `${pct}%`;
|
|
41930
|
+
progressText.textContent = `${pct}%`;
|
|
41931
|
+
}
|
|
41932
|
+
});
|
|
41933
|
+
xhr.addEventListener("load", () => {
|
|
41934
|
+
this.uploading = false;
|
|
41935
|
+
if (progressEl) progressEl.style.display = "none";
|
|
41936
|
+
if (xhr.status >= 200 && xhr.status < 300) {
|
|
41937
|
+
try {
|
|
41938
|
+
const response = JSON.parse(xhr.responseText);
|
|
41939
|
+
let url = response.location || response.url || response.link;
|
|
41940
|
+
if (!url) {
|
|
41941
|
+
reject(new Error("No URL returned from server"));
|
|
41942
|
+
return;
|
|
41943
|
+
}
|
|
41944
|
+
const basePath = this.options.uploadBasePath ?? "/";
|
|
41945
|
+
if (url && !url.startsWith("http://") && !url.startsWith("https://") && !url.startsWith("data:")) {
|
|
41946
|
+
url = basePath.replace(/\/$/, "") + "/" + url.replace(/^\//, "");
|
|
41947
|
+
}
|
|
41948
|
+
resolve(url);
|
|
41949
|
+
} catch {
|
|
41950
|
+
reject(new Error("Invalid server response"));
|
|
41951
|
+
}
|
|
41952
|
+
} else {
|
|
41953
|
+
reject(new Error(`Upload failed: ${xhr.status}`));
|
|
41954
|
+
}
|
|
41955
|
+
});
|
|
41956
|
+
xhr.addEventListener("error", () => {
|
|
41957
|
+
this.uploading = false;
|
|
41958
|
+
if (progressEl) progressEl.style.display = "none";
|
|
41959
|
+
reject(new Error("Network error"));
|
|
41960
|
+
});
|
|
41961
|
+
xhr.addEventListener("abort", () => {
|
|
41962
|
+
this.uploading = false;
|
|
41963
|
+
if (progressEl) progressEl.style.display = "none";
|
|
41964
|
+
reject(new Error("Upload aborted"));
|
|
41965
|
+
});
|
|
41966
|
+
xhr.open("POST", this.options.uploadUrl);
|
|
41967
|
+
if (this.options.uploadCredentials !== false) {
|
|
41968
|
+
xhr.withCredentials = true;
|
|
41969
|
+
}
|
|
41970
|
+
if (this.options.uploadHeaders) {
|
|
41971
|
+
for (const [key, value] of Object.entries(this.options.uploadHeaders)) {
|
|
41972
|
+
xhr.setRequestHeader(key, value);
|
|
41973
|
+
}
|
|
41974
|
+
}
|
|
41975
|
+
xhr.send(formData);
|
|
41976
|
+
});
|
|
41977
|
+
}
|
|
41978
|
+
destroy() {
|
|
41979
|
+
if (this.overlay) {
|
|
41980
|
+
this.overlay.remove();
|
|
41981
|
+
this.overlay = null;
|
|
41982
|
+
this.dialog = null;
|
|
41983
|
+
this.fileInput = null;
|
|
41984
|
+
}
|
|
41985
|
+
}
|
|
41986
|
+
}
|
|
41487
41987
|
class SearchReplace {
|
|
41488
41988
|
options;
|
|
41489
41989
|
overlay = null;
|
|
@@ -41771,8 +42271,13 @@ class Toolbar {
|
|
|
41771
42271
|
dropdowns = /* @__PURE__ */ new Map();
|
|
41772
42272
|
charMap = null;
|
|
41773
42273
|
emojiPicker = null;
|
|
42274
|
+
imageUpload = null;
|
|
41774
42275
|
searchReplace = null;
|
|
41775
42276
|
updateInterval = null;
|
|
42277
|
+
boundClickHandler = null;
|
|
42278
|
+
boundKeydownHandler = null;
|
|
42279
|
+
overflowEl = null;
|
|
42280
|
+
toggleBtn = null;
|
|
41776
42281
|
constructor(container, options) {
|
|
41777
42282
|
this.container = container;
|
|
41778
42283
|
this.options = options;
|
|
@@ -41793,7 +42298,30 @@ class Toolbar {
|
|
|
41793
42298
|
render() {
|
|
41794
42299
|
this.container.innerHTML = "";
|
|
41795
42300
|
this.container.className = `md-toolbar md-toolbar-${this.options.mode}${this.options.sticky ? " md-toolbar-sticky" : ""}`;
|
|
41796
|
-
const
|
|
42301
|
+
const rows = this.options.buttons.split("||");
|
|
42302
|
+
const hasOverflow = rows.length > 1;
|
|
42303
|
+
if (hasOverflow) {
|
|
42304
|
+
const primaryEl = document.createElement("div");
|
|
42305
|
+
primaryEl.className = "md-toolbar-primary";
|
|
42306
|
+
this.renderGroups(rows[0].trim(), primaryEl);
|
|
42307
|
+
this.toggleBtn = this.createToggleButton();
|
|
42308
|
+
primaryEl.appendChild(this.toggleBtn);
|
|
42309
|
+
this.container.appendChild(primaryEl);
|
|
42310
|
+
this.overflowEl = document.createElement("div");
|
|
42311
|
+
this.overflowEl.className = "md-toolbar-overflow";
|
|
42312
|
+
const overflowStr = rows.slice(1).join("||").trim();
|
|
42313
|
+
this.renderGroups(overflowStr, this.overflowEl);
|
|
42314
|
+
this.container.appendChild(this.overflowEl);
|
|
42315
|
+
if (this.state.showMoreButtons) {
|
|
42316
|
+
this.overflowEl.classList.add("md-toolbar-overflow-visible");
|
|
42317
|
+
this.toggleBtn.classList.add("md-toolbar-btn-active");
|
|
42318
|
+
}
|
|
42319
|
+
} else {
|
|
42320
|
+
this.renderGroups(this.options.buttons, this.container);
|
|
42321
|
+
}
|
|
42322
|
+
}
|
|
42323
|
+
renderGroups(buttonsStr, parent) {
|
|
42324
|
+
const groups = buttonsStr.split("|").map((g) => g.trim()).filter(Boolean);
|
|
41797
42325
|
groups.forEach((group, index) => {
|
|
41798
42326
|
const groupEl = document.createElement("div");
|
|
41799
42327
|
groupEl.className = "md-toolbar-group";
|
|
@@ -41805,14 +42333,36 @@ class Toolbar {
|
|
|
41805
42333
|
this.buttonElements.set(buttonName, buttonEl);
|
|
41806
42334
|
}
|
|
41807
42335
|
});
|
|
41808
|
-
|
|
42336
|
+
parent.appendChild(groupEl);
|
|
41809
42337
|
if (index < groups.length - 1) {
|
|
41810
42338
|
const separator = document.createElement("div");
|
|
41811
42339
|
separator.className = "md-toolbar-separator";
|
|
41812
|
-
|
|
42340
|
+
parent.appendChild(separator);
|
|
41813
42341
|
}
|
|
41814
42342
|
});
|
|
41815
42343
|
}
|
|
42344
|
+
createToggleButton() {
|
|
42345
|
+
const button = document.createElement("button");
|
|
42346
|
+
button.type = "button";
|
|
42347
|
+
button.className = "md-toolbar-btn md-toolbar-toggle-btn";
|
|
42348
|
+
button.setAttribute("data-button", "togglemore");
|
|
42349
|
+
button.title = this.trans("More");
|
|
42350
|
+
button.innerHTML = '<span class="md-toolbar-btn-icon">…</span>';
|
|
42351
|
+
button.addEventListener("click", (e) => {
|
|
42352
|
+
e.preventDefault();
|
|
42353
|
+
this.toggleOverflow();
|
|
42354
|
+
});
|
|
42355
|
+
return button;
|
|
42356
|
+
}
|
|
42357
|
+
toggleOverflow() {
|
|
42358
|
+
this.state.showMoreButtons = !this.state.showMoreButtons;
|
|
42359
|
+
if (this.overflowEl) {
|
|
42360
|
+
this.overflowEl.classList.toggle("md-toolbar-overflow-visible", this.state.showMoreButtons);
|
|
42361
|
+
}
|
|
42362
|
+
if (this.toggleBtn) {
|
|
42363
|
+
this.toggleBtn.classList.toggle("md-toolbar-btn-active", this.state.showMoreButtons);
|
|
42364
|
+
}
|
|
42365
|
+
}
|
|
41816
42366
|
createButton(name) {
|
|
41817
42367
|
const customSpec = this.options.customButtons.get(name);
|
|
41818
42368
|
if (customSpec) {
|
|
@@ -41866,19 +42416,19 @@ class Toolbar {
|
|
|
41866
42416
|
case "lineheight":
|
|
41867
42417
|
return this.createLineHeightDropdown();
|
|
41868
42418
|
case "alignleft":
|
|
41869
|
-
return this.createActionButton("alignleft", "
|
|
42419
|
+
return this.createActionButton("alignleft", '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="15" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>', this.trans("Align left"), () => {
|
|
41870
42420
|
this.tiptap?.chain().focus().setTextAlign("left").run();
|
|
41871
42421
|
}, () => this.tiptap?.isActive({ textAlign: "left" }) ?? false);
|
|
41872
42422
|
case "aligncenter":
|
|
41873
|
-
return this.createActionButton("aligncenter", "
|
|
42423
|
+
return this.createActionButton("aligncenter", '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="6" y1="12" x2="18" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>', this.trans("Align center"), () => {
|
|
41874
42424
|
this.tiptap?.chain().focus().setTextAlign("center").run();
|
|
41875
42425
|
}, () => this.tiptap?.isActive({ textAlign: "center" }) ?? false);
|
|
41876
42426
|
case "alignright":
|
|
41877
|
-
return this.createActionButton("alignright", "
|
|
42427
|
+
return this.createActionButton("alignright", '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="9" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>', this.trans("Align right"), () => {
|
|
41878
42428
|
this.tiptap?.chain().focus().setTextAlign("right").run();
|
|
41879
42429
|
}, () => this.tiptap?.isActive({ textAlign: "right" }) ?? false);
|
|
41880
42430
|
case "alignjustify":
|
|
41881
|
-
return this.createActionButton("alignjustify", "
|
|
42431
|
+
return this.createActionButton("alignjustify", '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>', this.trans("Justify"), () => {
|
|
41882
42432
|
this.tiptap?.chain().focus().setTextAlign("justify").run();
|
|
41883
42433
|
}, () => this.tiptap?.isActive({ textAlign: "justify" }) ?? false);
|
|
41884
42434
|
case "forecolor":
|
|
@@ -41914,7 +42464,7 @@ class Toolbar {
|
|
|
41914
42464
|
this.tiptap?.chain().focus().redo().run();
|
|
41915
42465
|
});
|
|
41916
42466
|
case "image":
|
|
41917
|
-
return this.createActionButton("image", "
|
|
42467
|
+
return this.createActionButton("image", '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg>', this.trans("Insert image"), () => {
|
|
41918
42468
|
this.openImageDialog();
|
|
41919
42469
|
});
|
|
41920
42470
|
case "charmap":
|
|
@@ -41934,7 +42484,7 @@ class Toolbar {
|
|
|
41934
42484
|
this.openPreview();
|
|
41935
42485
|
});
|
|
41936
42486
|
case "code":
|
|
41937
|
-
return this.createActionButton("code", "
|
|
42487
|
+
return this.createActionButton("code", '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg>', this.trans("Source code"), () => {
|
|
41938
42488
|
this.openSourceCode();
|
|
41939
42489
|
});
|
|
41940
42490
|
case "link":
|
|
@@ -42053,8 +42603,12 @@ class Toolbar {
|
|
|
42053
42603
|
value: t.content,
|
|
42054
42604
|
description: t.description
|
|
42055
42605
|
}));
|
|
42056
|
-
return this.createDropdown("template", this.trans("Templates"), options, (
|
|
42057
|
-
this.tiptap?.chain().focus().insertContent(
|
|
42606
|
+
return this.createDropdown("template", this.trans("Templates"), options, (selected) => {
|
|
42607
|
+
this.tiptap?.chain().focus().insertContent(selected.value).run();
|
|
42608
|
+
const matched = templates.find((t) => t.content === selected.value);
|
|
42609
|
+
if (matched) {
|
|
42610
|
+
this.options.editor.fire("templatechange", matched);
|
|
42611
|
+
}
|
|
42058
42612
|
});
|
|
42059
42613
|
}
|
|
42060
42614
|
createDropdown(name, label, options, onSelect, getCurrentValue) {
|
|
@@ -42192,13 +42746,15 @@ class Toolbar {
|
|
|
42192
42746
|
return wrapper;
|
|
42193
42747
|
}
|
|
42194
42748
|
bindEvents() {
|
|
42195
|
-
|
|
42749
|
+
this.unbindEvents();
|
|
42750
|
+
this.boundClickHandler = (e) => {
|
|
42196
42751
|
const target = e.target;
|
|
42197
42752
|
if (!target.closest(".md-toolbar-dropdown, .md-toolbar-colorpicker")) {
|
|
42198
42753
|
this.closeAllDropdowns();
|
|
42199
42754
|
}
|
|
42200
|
-
}
|
|
42201
|
-
document.addEventListener("
|
|
42755
|
+
};
|
|
42756
|
+
document.addEventListener("click", this.boundClickHandler);
|
|
42757
|
+
this.boundKeydownHandler = (e) => {
|
|
42202
42758
|
if (!this.tiptap?.isFocused) return;
|
|
42203
42759
|
const isMod = e.ctrlKey || e.metaKey;
|
|
42204
42760
|
if (isMod && e.key === "b") {
|
|
@@ -42221,7 +42777,18 @@ class Toolbar {
|
|
|
42221
42777
|
e.preventDefault();
|
|
42222
42778
|
this.openSearchReplace();
|
|
42223
42779
|
}
|
|
42224
|
-
}
|
|
42780
|
+
};
|
|
42781
|
+
document.addEventListener("keydown", this.boundKeydownHandler);
|
|
42782
|
+
}
|
|
42783
|
+
unbindEvents() {
|
|
42784
|
+
if (this.boundClickHandler) {
|
|
42785
|
+
document.removeEventListener("click", this.boundClickHandler);
|
|
42786
|
+
this.boundClickHandler = null;
|
|
42787
|
+
}
|
|
42788
|
+
if (this.boundKeydownHandler) {
|
|
42789
|
+
document.removeEventListener("keydown", this.boundKeydownHandler);
|
|
42790
|
+
this.boundKeydownHandler = null;
|
|
42791
|
+
}
|
|
42225
42792
|
}
|
|
42226
42793
|
closeAllDropdowns() {
|
|
42227
42794
|
this.dropdowns.forEach((dropdown) => {
|
|
@@ -42290,10 +42857,20 @@ class Toolbar {
|
|
|
42290
42857
|
}
|
|
42291
42858
|
// Dialog methods
|
|
42292
42859
|
openImageDialog() {
|
|
42293
|
-
|
|
42294
|
-
|
|
42295
|
-
|
|
42860
|
+
if (!this.imageUpload) {
|
|
42861
|
+
this.imageUpload = new ImageUpload({
|
|
42862
|
+
onInsert: (src, alt) => {
|
|
42863
|
+
this.tiptap?.chain().focus().setImage({ src, alt: alt ?? "" }).run();
|
|
42864
|
+
},
|
|
42865
|
+
uploadUrl: this.options.config.images_upload_url,
|
|
42866
|
+
uploadCredentials: this.options.config.images_upload_credentials,
|
|
42867
|
+
uploadBasePath: this.options.config.images_upload_base_path,
|
|
42868
|
+
uploadMaxSize: this.options.config.images_upload_max_size,
|
|
42869
|
+
uploadHeaders: this.options.config.images_upload_headers,
|
|
42870
|
+
trans: this.trans
|
|
42871
|
+
});
|
|
42296
42872
|
}
|
|
42873
|
+
this.imageUpload.open();
|
|
42297
42874
|
}
|
|
42298
42875
|
openLinkDialog() {
|
|
42299
42876
|
const previousUrl = this.tiptap?.getAttributes("link").href ?? "";
|
|
@@ -42373,12 +42950,30 @@ class Toolbar {
|
|
|
42373
42950
|
}
|
|
42374
42951
|
this.updateButtonStates();
|
|
42375
42952
|
}
|
|
42953
|
+
rebuild() {
|
|
42954
|
+
this.charMap?.destroy();
|
|
42955
|
+
this.charMap = null;
|
|
42956
|
+
this.emojiPicker?.destroy();
|
|
42957
|
+
this.emojiPicker = null;
|
|
42958
|
+
this.imageUpload?.destroy();
|
|
42959
|
+
this.imageUpload = null;
|
|
42960
|
+
this.searchReplace?.destroy();
|
|
42961
|
+
this.searchReplace = null;
|
|
42962
|
+
this.buttonElements.clear();
|
|
42963
|
+
this.dropdowns.clear();
|
|
42964
|
+
this.overflowEl = null;
|
|
42965
|
+
this.toggleBtn = null;
|
|
42966
|
+
this.render();
|
|
42967
|
+
this.bindEvents();
|
|
42968
|
+
}
|
|
42376
42969
|
destroy() {
|
|
42377
42970
|
if (this.updateInterval) {
|
|
42378
42971
|
clearInterval(this.updateInterval);
|
|
42379
42972
|
}
|
|
42973
|
+
this.unbindEvents();
|
|
42380
42974
|
this.charMap?.destroy();
|
|
42381
42975
|
this.emojiPicker?.destroy();
|
|
42976
|
+
this.imageUpload?.destroy();
|
|
42382
42977
|
this.searchReplace?.destroy();
|
|
42383
42978
|
this.buttonElements.clear();
|
|
42384
42979
|
this.dropdowns.clear();
|
|
@@ -42512,20 +43107,2083 @@ const TextDirection = Extension.create({
|
|
|
42512
43107
|
};
|
|
42513
43108
|
}
|
|
42514
43109
|
});
|
|
43110
|
+
const en = {
|
|
43111
|
+
"Bold": "Bold",
|
|
43112
|
+
"Italic": "Italic",
|
|
43113
|
+
"Underline": "Underline",
|
|
43114
|
+
"Strikethrough": "Strikethrough",
|
|
43115
|
+
"Bullet list": "Bullet list",
|
|
43116
|
+
"Numbered list": "Numbered list",
|
|
43117
|
+
"Decrease indent": "Decrease indent",
|
|
43118
|
+
"Increase indent": "Increase indent",
|
|
43119
|
+
"Blockquote": "Blockquote",
|
|
43120
|
+
"Align left": "Align left",
|
|
43121
|
+
"Align center": "Align center",
|
|
43122
|
+
"Align right": "Align right",
|
|
43123
|
+
"Justify": "Justify",
|
|
43124
|
+
"Text color": "Text color",
|
|
43125
|
+
"Background color": "Background color",
|
|
43126
|
+
"Remove formatting": "Remove formatting",
|
|
43127
|
+
"Copy": "Copy",
|
|
43128
|
+
"Cut": "Cut",
|
|
43129
|
+
"Paste": "Paste",
|
|
43130
|
+
"Undo": "Undo",
|
|
43131
|
+
"Redo": "Redo",
|
|
43132
|
+
"Insert image": "Insert image",
|
|
43133
|
+
"Special character": "Special character",
|
|
43134
|
+
"Emoticons": "Emoticons",
|
|
43135
|
+
"Fullscreen": "Fullscreen",
|
|
43136
|
+
"Preview": "Preview",
|
|
43137
|
+
"Source code": "Source code",
|
|
43138
|
+
"Insert link": "Insert link",
|
|
43139
|
+
"Code sample": "Code sample",
|
|
43140
|
+
"Left to right": "Left to right",
|
|
43141
|
+
"Right to left": "Right to left",
|
|
43142
|
+
"Find and replace": "Find and replace",
|
|
43143
|
+
"Font": "Font",
|
|
43144
|
+
"Font size": "Font size",
|
|
43145
|
+
"Line height": "Line height",
|
|
43146
|
+
"Templates": "Templates",
|
|
43147
|
+
"Apply": "Apply",
|
|
43148
|
+
"Enter image URL:": "Enter image URL:",
|
|
43149
|
+
"Enter URL:": "Enter URL:",
|
|
43150
|
+
"Edit HTML source:": "Edit HTML source:",
|
|
43151
|
+
"Find and Replace": "Find and Replace",
|
|
43152
|
+
"Find": "Find",
|
|
43153
|
+
"Replace": "Replace",
|
|
43154
|
+
"Case sensitive": "Case sensitive",
|
|
43155
|
+
"Whole word": "Whole word",
|
|
43156
|
+
"Previous": "Previous",
|
|
43157
|
+
"Next": "Next",
|
|
43158
|
+
"Replace All": "Replace All",
|
|
43159
|
+
"Search...": "Search...",
|
|
43160
|
+
"Special Character": "Special Character",
|
|
43161
|
+
"Upload": "Upload",
|
|
43162
|
+
"URL": "URL",
|
|
43163
|
+
"Browse...": "Browse...",
|
|
43164
|
+
"Drop image here or click to browse": "Drop image here or click to browse",
|
|
43165
|
+
"Alt text": "Alt text",
|
|
43166
|
+
"Insert": "Insert",
|
|
43167
|
+
"Cancel": "Cancel",
|
|
43168
|
+
"Uploading...": "Uploading...",
|
|
43169
|
+
"Upload failed": "Upload failed",
|
|
43170
|
+
"Invalid image URL": "Invalid image URL",
|
|
43171
|
+
"File too large": "File too large",
|
|
43172
|
+
"Invalid file type": "Invalid file type",
|
|
43173
|
+
"More": "More"
|
|
43174
|
+
};
|
|
43175
|
+
const ar = {
|
|
43176
|
+
"Bold": "غامق",
|
|
43177
|
+
"Italic": "مائل",
|
|
43178
|
+
"Underline": "تسطير",
|
|
43179
|
+
"Strikethrough": "يتوسطه خط",
|
|
43180
|
+
"Bullet list": "قائمة نقطية",
|
|
43181
|
+
"Numbered list": "قائمة مرقمة",
|
|
43182
|
+
"Decrease indent": "تقليل المسافة البادئة",
|
|
43183
|
+
"Increase indent": "زيادة المسافة البادئة",
|
|
43184
|
+
"Blockquote": "اقتباس",
|
|
43185
|
+
"Align left": "محاذاة لليسار",
|
|
43186
|
+
"Align center": "توسيط",
|
|
43187
|
+
"Align right": "محاذاة لليمين",
|
|
43188
|
+
"Justify": "ضبط",
|
|
43189
|
+
"Text color": "لون النص",
|
|
43190
|
+
"Background color": "لون الخلفية",
|
|
43191
|
+
"Remove formatting": "إزالة التنسيق",
|
|
43192
|
+
"Copy": "نسخ",
|
|
43193
|
+
"Cut": "قص",
|
|
43194
|
+
"Paste": "لصق",
|
|
43195
|
+
"Undo": "تراجع",
|
|
43196
|
+
"Redo": "إعادة",
|
|
43197
|
+
"Insert image": "إدراج صورة",
|
|
43198
|
+
"Special character": "حرف خاص",
|
|
43199
|
+
"Emoticons": "رموز تعبيرية",
|
|
43200
|
+
"Fullscreen": "ملء الشاشة",
|
|
43201
|
+
"Preview": "معاينة",
|
|
43202
|
+
"Source code": "شفرة المصدر",
|
|
43203
|
+
"Insert link": "إدراج رابط",
|
|
43204
|
+
"Code sample": "عينة من الشفرة",
|
|
43205
|
+
"Left to right": "من اليسار إلى اليمين",
|
|
43206
|
+
"Right to left": "من اليمين إلى اليسار",
|
|
43207
|
+
"Find and replace": "بحث واستبدال",
|
|
43208
|
+
"Font": "الخط",
|
|
43209
|
+
"Font size": "حجم الخط",
|
|
43210
|
+
"Line height": "ارتفاع السطر",
|
|
43211
|
+
"Templates": "قوالب",
|
|
43212
|
+
"Apply": "تطبيق",
|
|
43213
|
+
"Enter image URL:": "أدخل رابط الصورة:",
|
|
43214
|
+
"Enter URL:": "أدخل الرابط:",
|
|
43215
|
+
"Edit HTML source:": "تحرير مصدر HTML:",
|
|
43216
|
+
"Find and Replace": "بحث واستبدال",
|
|
43217
|
+
"Find": "بحث",
|
|
43218
|
+
"Replace": "استبدال",
|
|
43219
|
+
"Case sensitive": "حساس لحالة الأحرف",
|
|
43220
|
+
"Whole word": "كلمة كاملة",
|
|
43221
|
+
"Previous": "السابق",
|
|
43222
|
+
"Next": "التالي",
|
|
43223
|
+
"Replace All": "استبدال الكل",
|
|
43224
|
+
"Search...": "بحث...",
|
|
43225
|
+
"Special Character": "حرف خاص",
|
|
43226
|
+
"Upload": "رفع",
|
|
43227
|
+
"URL": "رابط",
|
|
43228
|
+
"Browse...": "استعراض...",
|
|
43229
|
+
"Drop image here or click to browse": "أسقط الصورة هنا أو انقر للاستعراض",
|
|
43230
|
+
"Alt text": "نص بديل",
|
|
43231
|
+
"Insert": "إدراج",
|
|
43232
|
+
"Cancel": "إلغاء",
|
|
43233
|
+
"Uploading...": "جارٍ الرفع...",
|
|
43234
|
+
"Upload failed": "فشل الرفع",
|
|
43235
|
+
"Invalid image URL": "رابط صورة غير صالح",
|
|
43236
|
+
"File too large": "الملف كبير جداً",
|
|
43237
|
+
"Invalid file type": "نوع ملف غير صالح",
|
|
43238
|
+
"More": "المزيد"
|
|
43239
|
+
};
|
|
43240
|
+
const ca = {
|
|
43241
|
+
"Bold": "Negreta",
|
|
43242
|
+
"Italic": "Cursiva",
|
|
43243
|
+
"Underline": "Subratllat",
|
|
43244
|
+
"Strikethrough": "Barrat",
|
|
43245
|
+
"Bullet list": "Llista de pics",
|
|
43246
|
+
"Numbered list": "Llista numerada",
|
|
43247
|
+
"Decrease indent": "Reduir sagnat",
|
|
43248
|
+
"Increase indent": "Augmentar sagnat",
|
|
43249
|
+
"Blockquote": "Citació",
|
|
43250
|
+
"Align left": "Alinear a l'esquerra",
|
|
43251
|
+
"Align center": "Centrar",
|
|
43252
|
+
"Align right": "Alinear a la dreta",
|
|
43253
|
+
"Justify": "Justificar",
|
|
43254
|
+
"Text color": "Color del text",
|
|
43255
|
+
"Background color": "Color de fons",
|
|
43256
|
+
"Remove formatting": "Eliminar format",
|
|
43257
|
+
"Copy": "Copiar",
|
|
43258
|
+
"Cut": "Tallar",
|
|
43259
|
+
"Paste": "Enganxar",
|
|
43260
|
+
"Undo": "Desfer",
|
|
43261
|
+
"Redo": "Refer",
|
|
43262
|
+
"Insert image": "Inserir imatge",
|
|
43263
|
+
"Special character": "Caràcter especial",
|
|
43264
|
+
"Emoticons": "Emoticones",
|
|
43265
|
+
"Fullscreen": "Pantalla completa",
|
|
43266
|
+
"Preview": "Previsualització",
|
|
43267
|
+
"Source code": "Codi font",
|
|
43268
|
+
"Insert link": "Inserir enllaç",
|
|
43269
|
+
"Code sample": "Mostra de codi",
|
|
43270
|
+
"Left to right": "D'esquerra a dreta",
|
|
43271
|
+
"Right to left": "De dreta a esquerra",
|
|
43272
|
+
"Find and replace": "Cercar i reemplaçar",
|
|
43273
|
+
"Font": "Tipus de lletra",
|
|
43274
|
+
"Font size": "Mida de lletra",
|
|
43275
|
+
"Line height": "Alçada de línia",
|
|
43276
|
+
"Templates": "Plantilles",
|
|
43277
|
+
"Apply": "Aplicar",
|
|
43278
|
+
"Enter image URL:": "Introduïu l'URL de la imatge:",
|
|
43279
|
+
"Enter URL:": "Introduïu l'URL:",
|
|
43280
|
+
"Edit HTML source:": "Editar codi font HTML:",
|
|
43281
|
+
"Find and Replace": "Cercar i reemplaçar",
|
|
43282
|
+
"Find": "Cercar",
|
|
43283
|
+
"Replace": "Reemplaçar",
|
|
43284
|
+
"Case sensitive": "Distingir majúscules",
|
|
43285
|
+
"Whole word": "Paraula sencera",
|
|
43286
|
+
"Previous": "Anterior",
|
|
43287
|
+
"Next": "Següent",
|
|
43288
|
+
"Replace All": "Reemplaçar tot",
|
|
43289
|
+
"Search...": "Cercar...",
|
|
43290
|
+
"Special Character": "Caràcter especial",
|
|
43291
|
+
"Upload": "Pujar",
|
|
43292
|
+
"URL": "URL",
|
|
43293
|
+
"Browse...": "Explorar...",
|
|
43294
|
+
"Drop image here or click to browse": "Deixa anar la imatge aquí o fes clic per explorar",
|
|
43295
|
+
"Alt text": "Text alternatiu",
|
|
43296
|
+
"Insert": "Inserir",
|
|
43297
|
+
"Cancel": "Cancel·lar",
|
|
43298
|
+
"Uploading...": "Pujant...",
|
|
43299
|
+
"Upload failed": "Error en pujar",
|
|
43300
|
+
"Invalid image URL": "URL d'imatge no vàlida",
|
|
43301
|
+
"File too large": "Fitxer massa gran",
|
|
43302
|
+
"Invalid file type": "Tipus de fitxer no vàlid",
|
|
43303
|
+
"More": "Més"
|
|
43304
|
+
};
|
|
43305
|
+
const zh = {
|
|
43306
|
+
"Bold": "粗体",
|
|
43307
|
+
"Italic": "斜体",
|
|
43308
|
+
"Underline": "下划线",
|
|
43309
|
+
"Strikethrough": "删除线",
|
|
43310
|
+
"Bullet list": "项目符号列表",
|
|
43311
|
+
"Numbered list": "编号列表",
|
|
43312
|
+
"Decrease indent": "减少缩进",
|
|
43313
|
+
"Increase indent": "增加缩进",
|
|
43314
|
+
"Blockquote": "引用",
|
|
43315
|
+
"Align left": "左对齐",
|
|
43316
|
+
"Align center": "居中对齐",
|
|
43317
|
+
"Align right": "右对齐",
|
|
43318
|
+
"Justify": "两端对齐",
|
|
43319
|
+
"Text color": "文字颜色",
|
|
43320
|
+
"Background color": "背景颜色",
|
|
43321
|
+
"Remove formatting": "清除格式",
|
|
43322
|
+
"Copy": "复制",
|
|
43323
|
+
"Cut": "剪切",
|
|
43324
|
+
"Paste": "粘贴",
|
|
43325
|
+
"Undo": "撤销",
|
|
43326
|
+
"Redo": "重做",
|
|
43327
|
+
"Insert image": "插入图片",
|
|
43328
|
+
"Special character": "特殊字符",
|
|
43329
|
+
"Emoticons": "表情符号",
|
|
43330
|
+
"Fullscreen": "全屏",
|
|
43331
|
+
"Preview": "预览",
|
|
43332
|
+
"Source code": "源代码",
|
|
43333
|
+
"Insert link": "插入链接",
|
|
43334
|
+
"Code sample": "代码示例",
|
|
43335
|
+
"Left to right": "从左到右",
|
|
43336
|
+
"Right to left": "从右到左",
|
|
43337
|
+
"Find and replace": "查找和替换",
|
|
43338
|
+
"Font": "字体",
|
|
43339
|
+
"Font size": "字号",
|
|
43340
|
+
"Line height": "行高",
|
|
43341
|
+
"Templates": "模板",
|
|
43342
|
+
"Apply": "应用",
|
|
43343
|
+
"Enter image URL:": "输入图片链接:",
|
|
43344
|
+
"Enter URL:": "输入链接:",
|
|
43345
|
+
"Edit HTML source:": "编辑HTML源代码:",
|
|
43346
|
+
"Find and Replace": "查找和替换",
|
|
43347
|
+
"Find": "查找",
|
|
43348
|
+
"Replace": "替换",
|
|
43349
|
+
"Case sensitive": "区分大小写",
|
|
43350
|
+
"Whole word": "全字匹配",
|
|
43351
|
+
"Previous": "上一个",
|
|
43352
|
+
"Next": "下一个",
|
|
43353
|
+
"Replace All": "全部替换",
|
|
43354
|
+
"Search...": "搜索...",
|
|
43355
|
+
"Special Character": "特殊字符",
|
|
43356
|
+
"Upload": "上传",
|
|
43357
|
+
"URL": "URL",
|
|
43358
|
+
"Browse...": "浏览...",
|
|
43359
|
+
"Drop image here or click to browse": "将图片拖放到此处或点击浏览",
|
|
43360
|
+
"Alt text": "替代文本",
|
|
43361
|
+
"Insert": "插入",
|
|
43362
|
+
"Cancel": "取消",
|
|
43363
|
+
"Uploading...": "上传中...",
|
|
43364
|
+
"Upload failed": "上传失败",
|
|
43365
|
+
"Invalid image URL": "无效的图片 URL",
|
|
43366
|
+
"File too large": "文件过大",
|
|
43367
|
+
"Invalid file type": "无效的文件类型",
|
|
43368
|
+
"More": "更多"
|
|
43369
|
+
};
|
|
43370
|
+
const cs = {
|
|
43371
|
+
"Bold": "Tučné",
|
|
43372
|
+
"Italic": "Kurzíva",
|
|
43373
|
+
"Underline": "Podtržené",
|
|
43374
|
+
"Strikethrough": "Přeškrtnuté",
|
|
43375
|
+
"Bullet list": "Odrážkový seznam",
|
|
43376
|
+
"Numbered list": "Číslovaný seznam",
|
|
43377
|
+
"Decrease indent": "Zmenšit odsazení",
|
|
43378
|
+
"Increase indent": "Zvětšit odsazení",
|
|
43379
|
+
"Blockquote": "Citace",
|
|
43380
|
+
"Align left": "Zarovnat vlevo",
|
|
43381
|
+
"Align center": "Zarovnat na střed",
|
|
43382
|
+
"Align right": "Zarovnat vpravo",
|
|
43383
|
+
"Justify": "Zarovnat do bloku",
|
|
43384
|
+
"Text color": "Barva textu",
|
|
43385
|
+
"Background color": "Barva pozadí",
|
|
43386
|
+
"Remove formatting": "Odstranit formátování",
|
|
43387
|
+
"Copy": "Kopírovat",
|
|
43388
|
+
"Cut": "Vyjmout",
|
|
43389
|
+
"Paste": "Vložit",
|
|
43390
|
+
"Undo": "Zpět",
|
|
43391
|
+
"Redo": "Znovu",
|
|
43392
|
+
"Insert image": "Vložit obrázek",
|
|
43393
|
+
"Special character": "Speciální znak",
|
|
43394
|
+
"Emoticons": "Emotikony",
|
|
43395
|
+
"Fullscreen": "Celá obrazovka",
|
|
43396
|
+
"Preview": "Náhled",
|
|
43397
|
+
"Source code": "Zdrojový kód",
|
|
43398
|
+
"Insert link": "Vložit odkaz",
|
|
43399
|
+
"Code sample": "Ukázka kódu",
|
|
43400
|
+
"Left to right": "Zleva doprava",
|
|
43401
|
+
"Right to left": "Zprava doleva",
|
|
43402
|
+
"Find and replace": "Najít a nahradit",
|
|
43403
|
+
"Font": "Písmo",
|
|
43404
|
+
"Font size": "Velikost písma",
|
|
43405
|
+
"Line height": "Výška řádku",
|
|
43406
|
+
"Templates": "Šablony",
|
|
43407
|
+
"Apply": "Použít",
|
|
43408
|
+
"Enter image URL:": "Zadejte URL obrázku:",
|
|
43409
|
+
"Enter URL:": "Zadejte URL:",
|
|
43410
|
+
"Edit HTML source:": "Upravit HTML zdroj:",
|
|
43411
|
+
"Find and Replace": "Najít a nahradit",
|
|
43412
|
+
"Find": "Najít",
|
|
43413
|
+
"Replace": "Nahradit",
|
|
43414
|
+
"Case sensitive": "Rozlišovat velikost písmen",
|
|
43415
|
+
"Whole word": "Celé slovo",
|
|
43416
|
+
"Previous": "Předchozí",
|
|
43417
|
+
"Next": "Další",
|
|
43418
|
+
"Replace All": "Nahradit vše",
|
|
43419
|
+
"Search...": "Hledat...",
|
|
43420
|
+
"Special Character": "Speciální znak",
|
|
43421
|
+
"Upload": "Nahrát",
|
|
43422
|
+
"URL": "URL",
|
|
43423
|
+
"Browse...": "Procházet...",
|
|
43424
|
+
"Drop image here or click to browse": "Přetáhněte obrázek sem nebo klikněte pro výběr",
|
|
43425
|
+
"Alt text": "Alternativní text",
|
|
43426
|
+
"Insert": "Vložit",
|
|
43427
|
+
"Cancel": "Zrušit",
|
|
43428
|
+
"Uploading...": "Nahrávání...",
|
|
43429
|
+
"Upload failed": "Nahrávání selhalo",
|
|
43430
|
+
"Invalid image URL": "Neplatná URL obrázku",
|
|
43431
|
+
"File too large": "Soubor je příliš velký",
|
|
43432
|
+
"Invalid file type": "Neplatný typ souboru",
|
|
43433
|
+
"More": "Více"
|
|
43434
|
+
};
|
|
43435
|
+
const da = {
|
|
43436
|
+
"Bold": "Fed",
|
|
43437
|
+
"Italic": "Kursiv",
|
|
43438
|
+
"Underline": "Understreget",
|
|
43439
|
+
"Strikethrough": "Gennemstreget",
|
|
43440
|
+
"Bullet list": "Punktliste",
|
|
43441
|
+
"Numbered list": "Nummereret liste",
|
|
43442
|
+
"Decrease indent": "Formindsk indrykning",
|
|
43443
|
+
"Increase indent": "Forøg indrykning",
|
|
43444
|
+
"Blockquote": "Blokcitat",
|
|
43445
|
+
"Align left": "Venstrejuster",
|
|
43446
|
+
"Align center": "Centrer",
|
|
43447
|
+
"Align right": "Højrejuster",
|
|
43448
|
+
"Justify": "Lige margener",
|
|
43449
|
+
"Text color": "Tekstfarve",
|
|
43450
|
+
"Background color": "Baggrundsfarve",
|
|
43451
|
+
"Remove formatting": "Fjern formatering",
|
|
43452
|
+
"Copy": "Kopier",
|
|
43453
|
+
"Cut": "Klip",
|
|
43454
|
+
"Paste": "Indsæt",
|
|
43455
|
+
"Undo": "Fortryd",
|
|
43456
|
+
"Redo": "Annuller fortryd",
|
|
43457
|
+
"Insert image": "Indsæt billede",
|
|
43458
|
+
"Special character": "Specialtegn",
|
|
43459
|
+
"Emoticons": "Humørikoner",
|
|
43460
|
+
"Fullscreen": "Fuldskærm",
|
|
43461
|
+
"Preview": "Forhåndsvisning",
|
|
43462
|
+
"Source code": "Kildekode",
|
|
43463
|
+
"Insert link": "Indsæt link",
|
|
43464
|
+
"Code sample": "Kodeeksempel",
|
|
43465
|
+
"Left to right": "Venstre mod højre",
|
|
43466
|
+
"Right to left": "Højre mod venstre",
|
|
43467
|
+
"Find and replace": "Søg og erstat",
|
|
43468
|
+
"Font": "Skrifttype",
|
|
43469
|
+
"Font size": "Skriftstørrelse",
|
|
43470
|
+
"Line height": "Linjehøjde",
|
|
43471
|
+
"Templates": "Skabeloner",
|
|
43472
|
+
"Apply": "Anvend",
|
|
43473
|
+
"Enter image URL:": "Indtast billed-URL:",
|
|
43474
|
+
"Enter URL:": "Indtast URL:",
|
|
43475
|
+
"Edit HTML source:": "Rediger HTML-kilde:",
|
|
43476
|
+
"Find and Replace": "Søg og erstat",
|
|
43477
|
+
"Find": "Søg",
|
|
43478
|
+
"Replace": "Erstat",
|
|
43479
|
+
"Case sensitive": "Forskel på store/små bogstaver",
|
|
43480
|
+
"Whole word": "Helt ord",
|
|
43481
|
+
"Previous": "Forrige",
|
|
43482
|
+
"Next": "Næste",
|
|
43483
|
+
"Replace All": "Erstat alle",
|
|
43484
|
+
"Search...": "Søg...",
|
|
43485
|
+
"Special Character": "Specialtegn",
|
|
43486
|
+
"Upload": "Upload",
|
|
43487
|
+
"URL": "URL",
|
|
43488
|
+
"Browse...": "Gennemse...",
|
|
43489
|
+
"Drop image here or click to browse": "Træk billede hertil eller klik for at gennemse",
|
|
43490
|
+
"Alt text": "Alternativ tekst",
|
|
43491
|
+
"Insert": "Indsæt",
|
|
43492
|
+
"Cancel": "Annuller",
|
|
43493
|
+
"Uploading...": "Uploader...",
|
|
43494
|
+
"Upload failed": "Upload mislykkedes",
|
|
43495
|
+
"Invalid image URL": "Ugyldig billed-URL",
|
|
43496
|
+
"File too large": "Filen er for stor",
|
|
43497
|
+
"Invalid file type": "Ugyldig filtype",
|
|
43498
|
+
"More": "Mere"
|
|
43499
|
+
};
|
|
43500
|
+
const enGb = {
|
|
43501
|
+
"Bold": "Bold",
|
|
43502
|
+
"Italic": "Italic",
|
|
43503
|
+
"Underline": "Underline",
|
|
43504
|
+
"Strikethrough": "Strikethrough",
|
|
43505
|
+
"Bullet list": "Bullet list",
|
|
43506
|
+
"Numbered list": "Numbered list",
|
|
43507
|
+
"Decrease indent": "Decrease indent",
|
|
43508
|
+
"Increase indent": "Increase indent",
|
|
43509
|
+
"Blockquote": "Blockquote",
|
|
43510
|
+
"Align left": "Align left",
|
|
43511
|
+
"Align center": "Align centre",
|
|
43512
|
+
"Align right": "Align right",
|
|
43513
|
+
"Justify": "Justify",
|
|
43514
|
+
"Text color": "Text colour",
|
|
43515
|
+
"Background color": "Background colour",
|
|
43516
|
+
"Remove formatting": "Remove formatting",
|
|
43517
|
+
"Copy": "Copy",
|
|
43518
|
+
"Cut": "Cut",
|
|
43519
|
+
"Paste": "Paste",
|
|
43520
|
+
"Undo": "Undo",
|
|
43521
|
+
"Redo": "Redo",
|
|
43522
|
+
"Insert image": "Insert image",
|
|
43523
|
+
"Special character": "Special character",
|
|
43524
|
+
"Emoticons": "Emoticons",
|
|
43525
|
+
"Fullscreen": "Fullscreen",
|
|
43526
|
+
"Preview": "Preview",
|
|
43527
|
+
"Source code": "Source code",
|
|
43528
|
+
"Insert link": "Insert link",
|
|
43529
|
+
"Code sample": "Code sample",
|
|
43530
|
+
"Left to right": "Left to right",
|
|
43531
|
+
"Right to left": "Right to left",
|
|
43532
|
+
"Find and replace": "Find and replace",
|
|
43533
|
+
"Font": "Font",
|
|
43534
|
+
"Font size": "Font size",
|
|
43535
|
+
"Line height": "Line height",
|
|
43536
|
+
"Templates": "Templates",
|
|
43537
|
+
"Apply": "Apply",
|
|
43538
|
+
"Enter image URL:": "Enter image URL:",
|
|
43539
|
+
"Enter URL:": "Enter URL:",
|
|
43540
|
+
"Edit HTML source:": "Edit HTML source:",
|
|
43541
|
+
"Find and Replace": "Find and Replace",
|
|
43542
|
+
"Find": "Find",
|
|
43543
|
+
"Replace": "Replace",
|
|
43544
|
+
"Case sensitive": "Case sensitive",
|
|
43545
|
+
"Whole word": "Whole word",
|
|
43546
|
+
"Previous": "Previous",
|
|
43547
|
+
"Next": "Next",
|
|
43548
|
+
"Replace All": "Replace All",
|
|
43549
|
+
"Search...": "Search...",
|
|
43550
|
+
"Special Character": "Special Character",
|
|
43551
|
+
"Upload": "Upload",
|
|
43552
|
+
"URL": "URL",
|
|
43553
|
+
"Browse...": "Browse...",
|
|
43554
|
+
"Drop image here or click to browse": "Drop image here or click to browse",
|
|
43555
|
+
"Alt text": "Alt text",
|
|
43556
|
+
"Insert": "Insert",
|
|
43557
|
+
"Cancel": "Cancel",
|
|
43558
|
+
"Uploading...": "Uploading...",
|
|
43559
|
+
"Upload failed": "Upload failed",
|
|
43560
|
+
"Invalid image URL": "Invalid image URL",
|
|
43561
|
+
"File too large": "File too large",
|
|
43562
|
+
"Invalid file type": "Invalid file type",
|
|
43563
|
+
"More": "More"
|
|
43564
|
+
};
|
|
43565
|
+
const fi = {
|
|
43566
|
+
"Bold": "Lihavoitu",
|
|
43567
|
+
"Italic": "Kursivoitu",
|
|
43568
|
+
"Underline": "Alleviivattu",
|
|
43569
|
+
"Strikethrough": "Yliviivattu",
|
|
43570
|
+
"Bullet list": "Luettelomerkkilista",
|
|
43571
|
+
"Numbered list": "Numeroitu lista",
|
|
43572
|
+
"Decrease indent": "Pienennä sisennystä",
|
|
43573
|
+
"Increase indent": "Suurenna sisennystä",
|
|
43574
|
+
"Blockquote": "Lainaus",
|
|
43575
|
+
"Align left": "Tasaa vasemmalle",
|
|
43576
|
+
"Align center": "Keskitä",
|
|
43577
|
+
"Align right": "Tasaa oikealle",
|
|
43578
|
+
"Justify": "Tasaa molemmat reunat",
|
|
43579
|
+
"Text color": "Tekstin väri",
|
|
43580
|
+
"Background color": "Taustaväri",
|
|
43581
|
+
"Remove formatting": "Poista muotoilu",
|
|
43582
|
+
"Copy": "Kopioi",
|
|
43583
|
+
"Cut": "Leikkaa",
|
|
43584
|
+
"Paste": "Liitä",
|
|
43585
|
+
"Undo": "Kumoa",
|
|
43586
|
+
"Redo": "Tee uudelleen",
|
|
43587
|
+
"Insert image": "Lisää kuva",
|
|
43588
|
+
"Special character": "Erikoismerkki",
|
|
43589
|
+
"Emoticons": "Hymiöt",
|
|
43590
|
+
"Fullscreen": "Koko näyttö",
|
|
43591
|
+
"Preview": "Esikatselu",
|
|
43592
|
+
"Source code": "Lähdekoodi",
|
|
43593
|
+
"Insert link": "Lisää linkki",
|
|
43594
|
+
"Code sample": "Koodiesimerkki",
|
|
43595
|
+
"Left to right": "Vasemmalta oikealle",
|
|
43596
|
+
"Right to left": "Oikealta vasemmalle",
|
|
43597
|
+
"Find and replace": "Etsi ja korvaa",
|
|
43598
|
+
"Font": "Kirjasin",
|
|
43599
|
+
"Font size": "Kirjasinkoko",
|
|
43600
|
+
"Line height": "Rivin korkeus",
|
|
43601
|
+
"Templates": "Mallipohjat",
|
|
43602
|
+
"Apply": "Käytä",
|
|
43603
|
+
"Enter image URL:": "Syötä kuvan URL:",
|
|
43604
|
+
"Enter URL:": "Syötä URL:",
|
|
43605
|
+
"Edit HTML source:": "Muokkaa HTML-lähdekoodia:",
|
|
43606
|
+
"Find and Replace": "Etsi ja korvaa",
|
|
43607
|
+
"Find": "Etsi",
|
|
43608
|
+
"Replace": "Korvaa",
|
|
43609
|
+
"Case sensitive": "Huomioi kirjainkoko",
|
|
43610
|
+
"Whole word": "Koko sana",
|
|
43611
|
+
"Previous": "Edellinen",
|
|
43612
|
+
"Next": "Seuraava",
|
|
43613
|
+
"Replace All": "Korvaa kaikki",
|
|
43614
|
+
"Search...": "Etsi...",
|
|
43615
|
+
"Special Character": "Erikoismerkki",
|
|
43616
|
+
"Upload": "Lataa",
|
|
43617
|
+
"URL": "URL",
|
|
43618
|
+
"Browse...": "Selaa...",
|
|
43619
|
+
"Drop image here or click to browse": "Pudota kuva tähän tai napsauta selataksesi",
|
|
43620
|
+
"Alt text": "Vaihtoehtoinen teksti",
|
|
43621
|
+
"Insert": "Lisää",
|
|
43622
|
+
"Cancel": "Peruuta",
|
|
43623
|
+
"Uploading...": "Ladataan...",
|
|
43624
|
+
"Upload failed": "Lataus epäonnistui",
|
|
43625
|
+
"Invalid image URL": "Virheellinen kuvan URL",
|
|
43626
|
+
"File too large": "Tiedosto on liian suuri",
|
|
43627
|
+
"Invalid file type": "Virheellinen tiedostotyyppi",
|
|
43628
|
+
"More": "Lisää"
|
|
43629
|
+
};
|
|
43630
|
+
const fr = {
|
|
43631
|
+
"Bold": "Gras",
|
|
43632
|
+
"Italic": "Italique",
|
|
43633
|
+
"Underline": "Souligné",
|
|
43634
|
+
"Strikethrough": "Barré",
|
|
43635
|
+
"Bullet list": "Liste à puces",
|
|
43636
|
+
"Numbered list": "Liste numérotée",
|
|
43637
|
+
"Decrease indent": "Réduire le retrait",
|
|
43638
|
+
"Increase indent": "Augmenter le retrait",
|
|
43639
|
+
"Blockquote": "Citation",
|
|
43640
|
+
"Align left": "Aligner à gauche",
|
|
43641
|
+
"Align center": "Centrer",
|
|
43642
|
+
"Align right": "Aligner à droite",
|
|
43643
|
+
"Justify": "Justifier",
|
|
43644
|
+
"Text color": "Couleur du texte",
|
|
43645
|
+
"Background color": "Couleur d'arrière-plan",
|
|
43646
|
+
"Remove formatting": "Supprimer la mise en forme",
|
|
43647
|
+
"Copy": "Copier",
|
|
43648
|
+
"Cut": "Couper",
|
|
43649
|
+
"Paste": "Coller",
|
|
43650
|
+
"Undo": "Annuler",
|
|
43651
|
+
"Redo": "Rétablir",
|
|
43652
|
+
"Insert image": "Insérer une image",
|
|
43653
|
+
"Special character": "Caractère spécial",
|
|
43654
|
+
"Emoticons": "Émoticônes",
|
|
43655
|
+
"Fullscreen": "Plein écran",
|
|
43656
|
+
"Preview": "Aperçu",
|
|
43657
|
+
"Source code": "Code source",
|
|
43658
|
+
"Insert link": "Insérer un lien",
|
|
43659
|
+
"Code sample": "Exemple de code",
|
|
43660
|
+
"Left to right": "De gauche à droite",
|
|
43661
|
+
"Right to left": "De droite à gauche",
|
|
43662
|
+
"Find and replace": "Rechercher et remplacer",
|
|
43663
|
+
"Font": "Police",
|
|
43664
|
+
"Font size": "Taille de police",
|
|
43665
|
+
"Line height": "Hauteur de ligne",
|
|
43666
|
+
"Templates": "Modèles",
|
|
43667
|
+
"Apply": "Appliquer",
|
|
43668
|
+
"Enter image URL:": "Entrez l'URL de l'image :",
|
|
43669
|
+
"Enter URL:": "Entrez l'URL :",
|
|
43670
|
+
"Edit HTML source:": "Modifier le code source HTML :",
|
|
43671
|
+
"Find and Replace": "Rechercher et remplacer",
|
|
43672
|
+
"Find": "Rechercher",
|
|
43673
|
+
"Replace": "Remplacer",
|
|
43674
|
+
"Case sensitive": "Sensible à la casse",
|
|
43675
|
+
"Whole word": "Mot entier",
|
|
43676
|
+
"Previous": "Précédent",
|
|
43677
|
+
"Next": "Suivant",
|
|
43678
|
+
"Replace All": "Tout remplacer",
|
|
43679
|
+
"Search...": "Rechercher...",
|
|
43680
|
+
"Special Character": "Caractère spécial",
|
|
43681
|
+
"Upload": "Télécharger",
|
|
43682
|
+
"URL": "URL",
|
|
43683
|
+
"Browse...": "Parcourir...",
|
|
43684
|
+
"Drop image here or click to browse": "Déposez l'image ici ou cliquez pour parcourir",
|
|
43685
|
+
"Alt text": "Texte alternatif",
|
|
43686
|
+
"Insert": "Insérer",
|
|
43687
|
+
"Cancel": "Annuler",
|
|
43688
|
+
"Uploading...": "Téléchargement...",
|
|
43689
|
+
"Upload failed": "Échec du téléchargement",
|
|
43690
|
+
"Invalid image URL": "URL d'image invalide",
|
|
43691
|
+
"File too large": "Fichier trop volumineux",
|
|
43692
|
+
"Invalid file type": "Type de fichier invalide",
|
|
43693
|
+
"More": "Plus"
|
|
43694
|
+
};
|
|
43695
|
+
const frCa = {
|
|
43696
|
+
"Bold": "Gras",
|
|
43697
|
+
"Italic": "Italique",
|
|
43698
|
+
"Underline": "Souligné",
|
|
43699
|
+
"Strikethrough": "Barré",
|
|
43700
|
+
"Bullet list": "Liste à puces",
|
|
43701
|
+
"Numbered list": "Liste numérotée",
|
|
43702
|
+
"Decrease indent": "Réduire le retrait",
|
|
43703
|
+
"Increase indent": "Augmenter le retrait",
|
|
43704
|
+
"Blockquote": "Citation",
|
|
43705
|
+
"Align left": "Aligner à gauche",
|
|
43706
|
+
"Align center": "Centrer",
|
|
43707
|
+
"Align right": "Aligner à droite",
|
|
43708
|
+
"Justify": "Justifier",
|
|
43709
|
+
"Text color": "Couleur du texte",
|
|
43710
|
+
"Background color": "Couleur d'arrière-plan",
|
|
43711
|
+
"Remove formatting": "Supprimer la mise en forme",
|
|
43712
|
+
"Copy": "Copier",
|
|
43713
|
+
"Cut": "Couper",
|
|
43714
|
+
"Paste": "Coller",
|
|
43715
|
+
"Undo": "Annuler",
|
|
43716
|
+
"Redo": "Rétablir",
|
|
43717
|
+
"Insert image": "Insérer une image",
|
|
43718
|
+
"Special character": "Caractère spécial",
|
|
43719
|
+
"Emoticons": "Émoticônes",
|
|
43720
|
+
"Fullscreen": "Plein écran",
|
|
43721
|
+
"Preview": "Aperçu",
|
|
43722
|
+
"Source code": "Code source",
|
|
43723
|
+
"Insert link": "Insérer un lien",
|
|
43724
|
+
"Code sample": "Exemple de code",
|
|
43725
|
+
"Left to right": "De gauche à droite",
|
|
43726
|
+
"Right to left": "De droite à gauche",
|
|
43727
|
+
"Find and replace": "Rechercher et remplacer",
|
|
43728
|
+
"Font": "Police",
|
|
43729
|
+
"Font size": "Taille de police",
|
|
43730
|
+
"Line height": "Hauteur de ligne",
|
|
43731
|
+
"Templates": "Modèles",
|
|
43732
|
+
"Apply": "Appliquer",
|
|
43733
|
+
"Enter image URL:": "Entrez l'URL de l'image :",
|
|
43734
|
+
"Enter URL:": "Entrez l'URL :",
|
|
43735
|
+
"Edit HTML source:": "Modifier le code source HTML :",
|
|
43736
|
+
"Find and Replace": "Rechercher et remplacer",
|
|
43737
|
+
"Find": "Rechercher",
|
|
43738
|
+
"Replace": "Remplacer",
|
|
43739
|
+
"Case sensitive": "Sensible à la casse",
|
|
43740
|
+
"Whole word": "Mot entier",
|
|
43741
|
+
"Previous": "Précédent",
|
|
43742
|
+
"Next": "Suivant",
|
|
43743
|
+
"Replace All": "Tout remplacer",
|
|
43744
|
+
"Search...": "Rechercher...",
|
|
43745
|
+
"Special Character": "Caractère spécial",
|
|
43746
|
+
"Upload": "Téléverser",
|
|
43747
|
+
"URL": "URL",
|
|
43748
|
+
"Browse...": "Parcourir...",
|
|
43749
|
+
"Drop image here or click to browse": "Déposez l'image ici ou cliquez pour parcourir",
|
|
43750
|
+
"Alt text": "Texte alternatif",
|
|
43751
|
+
"Insert": "Insérer",
|
|
43752
|
+
"Cancel": "Annuler",
|
|
43753
|
+
"Uploading...": "Téléversement...",
|
|
43754
|
+
"Upload failed": "Échec du téléversement",
|
|
43755
|
+
"Invalid image URL": "URL d'image invalide",
|
|
43756
|
+
"File too large": "Fichier trop volumineux",
|
|
43757
|
+
"Invalid file type": "Type de fichier invalide",
|
|
43758
|
+
"More": "Plus"
|
|
43759
|
+
};
|
|
43760
|
+
const de = {
|
|
43761
|
+
"Bold": "Fett",
|
|
43762
|
+
"Italic": "Kursiv",
|
|
43763
|
+
"Underline": "Unterstrichen",
|
|
43764
|
+
"Strikethrough": "Durchgestrichen",
|
|
43765
|
+
"Bullet list": "Aufzählung",
|
|
43766
|
+
"Numbered list": "Nummerierte Liste",
|
|
43767
|
+
"Decrease indent": "Einzug verkleinern",
|
|
43768
|
+
"Increase indent": "Einzug vergrößern",
|
|
43769
|
+
"Blockquote": "Zitat",
|
|
43770
|
+
"Align left": "Linksbündig",
|
|
43771
|
+
"Align center": "Zentriert",
|
|
43772
|
+
"Align right": "Rechtsbündig",
|
|
43773
|
+
"Justify": "Blocksatz",
|
|
43774
|
+
"Text color": "Textfarbe",
|
|
43775
|
+
"Background color": "Hintergrundfarbe",
|
|
43776
|
+
"Remove formatting": "Formatierung entfernen",
|
|
43777
|
+
"Copy": "Kopieren",
|
|
43778
|
+
"Cut": "Ausschneiden",
|
|
43779
|
+
"Paste": "Einfügen",
|
|
43780
|
+
"Undo": "Rückgängig",
|
|
43781
|
+
"Redo": "Wiederherstellen",
|
|
43782
|
+
"Insert image": "Bild einfügen",
|
|
43783
|
+
"Special character": "Sonderzeichen",
|
|
43784
|
+
"Emoticons": "Emoticons",
|
|
43785
|
+
"Fullscreen": "Vollbild",
|
|
43786
|
+
"Preview": "Vorschau",
|
|
43787
|
+
"Source code": "Quellcode",
|
|
43788
|
+
"Insert link": "Link einfügen",
|
|
43789
|
+
"Code sample": "Codebeispiel",
|
|
43790
|
+
"Left to right": "Links nach rechts",
|
|
43791
|
+
"Right to left": "Rechts nach links",
|
|
43792
|
+
"Find and replace": "Suchen und ersetzen",
|
|
43793
|
+
"Font": "Schriftart",
|
|
43794
|
+
"Font size": "Schriftgröße",
|
|
43795
|
+
"Line height": "Zeilenhöhe",
|
|
43796
|
+
"Templates": "Vorlagen",
|
|
43797
|
+
"Apply": "Anwenden",
|
|
43798
|
+
"Enter image URL:": "Bild-URL eingeben:",
|
|
43799
|
+
"Enter URL:": "URL eingeben:",
|
|
43800
|
+
"Edit HTML source:": "HTML-Quellcode bearbeiten:",
|
|
43801
|
+
"Find and Replace": "Suchen und Ersetzen",
|
|
43802
|
+
"Find": "Suchen",
|
|
43803
|
+
"Replace": "Ersetzen",
|
|
43804
|
+
"Case sensitive": "Groß-/Kleinschreibung",
|
|
43805
|
+
"Whole word": "Ganzes Wort",
|
|
43806
|
+
"Previous": "Zurück",
|
|
43807
|
+
"Next": "Weiter",
|
|
43808
|
+
"Replace All": "Alle ersetzen",
|
|
43809
|
+
"Search...": "Suchen...",
|
|
43810
|
+
"Special Character": "Sonderzeichen",
|
|
43811
|
+
"Upload": "Hochladen",
|
|
43812
|
+
"URL": "URL",
|
|
43813
|
+
"Browse...": "Durchsuchen...",
|
|
43814
|
+
"Drop image here or click to browse": "Bild hierher ziehen oder klicken zum Durchsuchen",
|
|
43815
|
+
"Alt text": "Alternativtext",
|
|
43816
|
+
"Insert": "Einfügen",
|
|
43817
|
+
"Cancel": "Abbrechen",
|
|
43818
|
+
"Uploading...": "Wird hochgeladen...",
|
|
43819
|
+
"Upload failed": "Hochladen fehlgeschlagen",
|
|
43820
|
+
"Invalid image URL": "Ungültige Bild-URL",
|
|
43821
|
+
"File too large": "Datei zu groß",
|
|
43822
|
+
"Invalid file type": "Ungültiger Dateityp",
|
|
43823
|
+
"More": "Mehr"
|
|
43824
|
+
};
|
|
43825
|
+
const el = {
|
|
43826
|
+
"Bold": "Έντονα",
|
|
43827
|
+
"Italic": "Πλάγια",
|
|
43828
|
+
"Underline": "Υπογράμμιση",
|
|
43829
|
+
"Strikethrough": "Διαγράμμιση",
|
|
43830
|
+
"Bullet list": "Λίστα με κουκκίδες",
|
|
43831
|
+
"Numbered list": "Αριθμημένη λίστα",
|
|
43832
|
+
"Decrease indent": "Μείωση εσοχής",
|
|
43833
|
+
"Increase indent": "Αύξηση εσοχής",
|
|
43834
|
+
"Blockquote": "Παράθεση",
|
|
43835
|
+
"Align left": "Στοίχιση αριστερά",
|
|
43836
|
+
"Align center": "Κεντράρισμα",
|
|
43837
|
+
"Align right": "Στοίχιση δεξιά",
|
|
43838
|
+
"Justify": "Πλήρης στοίχιση",
|
|
43839
|
+
"Text color": "Χρώμα κειμένου",
|
|
43840
|
+
"Background color": "Χρώμα φόντου",
|
|
43841
|
+
"Remove formatting": "Αφαίρεση μορφοποίησης",
|
|
43842
|
+
"Copy": "Αντιγραφή",
|
|
43843
|
+
"Cut": "Αποκοπή",
|
|
43844
|
+
"Paste": "Επικόλληση",
|
|
43845
|
+
"Undo": "Αναίρεση",
|
|
43846
|
+
"Redo": "Επανάληψη",
|
|
43847
|
+
"Insert image": "Εισαγωγή εικόνας",
|
|
43848
|
+
"Special character": "Ειδικός χαρακτήρας",
|
|
43849
|
+
"Emoticons": "Εικονίδια συναισθημάτων",
|
|
43850
|
+
"Fullscreen": "Πλήρης οθόνη",
|
|
43851
|
+
"Preview": "Προεπισκόπηση",
|
|
43852
|
+
"Source code": "Πηγαίος κώδικας",
|
|
43853
|
+
"Insert link": "Εισαγωγή συνδέσμου",
|
|
43854
|
+
"Code sample": "Δείγμα κώδικα",
|
|
43855
|
+
"Left to right": "Αριστερά προς δεξιά",
|
|
43856
|
+
"Right to left": "Δεξιά προς αριστερά",
|
|
43857
|
+
"Find and replace": "Εύρεση και αντικατάσταση",
|
|
43858
|
+
"Font": "Γραμματοσειρά",
|
|
43859
|
+
"Font size": "Μέγεθος γραμματοσειράς",
|
|
43860
|
+
"Line height": "Ύψος γραμμής",
|
|
43861
|
+
"Templates": "Πρότυπα",
|
|
43862
|
+
"Apply": "Εφαρμογή",
|
|
43863
|
+
"Enter image URL:": "Εισάγετε URL εικόνας:",
|
|
43864
|
+
"Enter URL:": "Εισάγετε URL:",
|
|
43865
|
+
"Edit HTML source:": "Επεξεργασία πηγαίου κώδικα HTML:",
|
|
43866
|
+
"Find and Replace": "Εύρεση και αντικατάσταση",
|
|
43867
|
+
"Find": "Εύρεση",
|
|
43868
|
+
"Replace": "Αντικατάσταση",
|
|
43869
|
+
"Case sensitive": "Διάκριση πεζών-κεφαλαίων",
|
|
43870
|
+
"Whole word": "Ολόκληρη λέξη",
|
|
43871
|
+
"Previous": "Προηγούμενο",
|
|
43872
|
+
"Next": "Επόμενο",
|
|
43873
|
+
"Replace All": "Αντικατάσταση όλων",
|
|
43874
|
+
"Search...": "Αναζήτηση...",
|
|
43875
|
+
"Special Character": "Ειδικός χαρακτήρας",
|
|
43876
|
+
"Upload": "Μεταφόρτωση",
|
|
43877
|
+
"URL": "URL",
|
|
43878
|
+
"Browse...": "Αναζήτηση...",
|
|
43879
|
+
"Drop image here or click to browse": "Σύρτε την εικόνα εδώ ή κάντε κλικ για αναζήτηση",
|
|
43880
|
+
"Alt text": "Εναλλακτικό κείμενο",
|
|
43881
|
+
"Insert": "Εισαγωγή",
|
|
43882
|
+
"Cancel": "Ακύρωση",
|
|
43883
|
+
"Uploading...": "Μεταφόρτωση...",
|
|
43884
|
+
"Upload failed": "Η μεταφόρτωση απέτυχε",
|
|
43885
|
+
"Invalid image URL": "Μη έγκυρο URL εικόνας",
|
|
43886
|
+
"File too large": "Το αρχείο είναι πολύ μεγάλο",
|
|
43887
|
+
"Invalid file type": "Μη έγκυρος τύπος αρχείου",
|
|
43888
|
+
"More": "Περισσότερα"
|
|
43889
|
+
};
|
|
43890
|
+
const hu = {
|
|
43891
|
+
"Bold": "Félkövér",
|
|
43892
|
+
"Italic": "Dőlt",
|
|
43893
|
+
"Underline": "Aláhúzott",
|
|
43894
|
+
"Strikethrough": "Áthúzott",
|
|
43895
|
+
"Bullet list": "Felsorolás",
|
|
43896
|
+
"Numbered list": "Számozott lista",
|
|
43897
|
+
"Decrease indent": "Behúzás csökkentése",
|
|
43898
|
+
"Increase indent": "Behúzás növelése",
|
|
43899
|
+
"Blockquote": "Idézet",
|
|
43900
|
+
"Align left": "Balra igazítás",
|
|
43901
|
+
"Align center": "Középre igazítás",
|
|
43902
|
+
"Align right": "Jobbra igazítás",
|
|
43903
|
+
"Justify": "Sorkizárt",
|
|
43904
|
+
"Text color": "Szöveg színe",
|
|
43905
|
+
"Background color": "Háttérszín",
|
|
43906
|
+
"Remove formatting": "Formázás eltávolítása",
|
|
43907
|
+
"Copy": "Másolás",
|
|
43908
|
+
"Cut": "Kivágás",
|
|
43909
|
+
"Paste": "Beillesztés",
|
|
43910
|
+
"Undo": "Visszavonás",
|
|
43911
|
+
"Redo": "Újra",
|
|
43912
|
+
"Insert image": "Kép beszúrása",
|
|
43913
|
+
"Special character": "Speciális karakter",
|
|
43914
|
+
"Emoticons": "Hangulatjelek",
|
|
43915
|
+
"Fullscreen": "Teljes képernyő",
|
|
43916
|
+
"Preview": "Előnézet",
|
|
43917
|
+
"Source code": "Forráskód",
|
|
43918
|
+
"Insert link": "Hivatkozás beszúrása",
|
|
43919
|
+
"Code sample": "Kódminta",
|
|
43920
|
+
"Left to right": "Balról jobbra",
|
|
43921
|
+
"Right to left": "Jobbról balra",
|
|
43922
|
+
"Find and replace": "Keresés és csere",
|
|
43923
|
+
"Font": "Betűtípus",
|
|
43924
|
+
"Font size": "Betűméret",
|
|
43925
|
+
"Line height": "Sormagasság",
|
|
43926
|
+
"Templates": "Sablonok",
|
|
43927
|
+
"Apply": "Alkalmaz",
|
|
43928
|
+
"Enter image URL:": "Adja meg a kép URL-jét:",
|
|
43929
|
+
"Enter URL:": "Adja meg az URL-t:",
|
|
43930
|
+
"Edit HTML source:": "HTML forráskód szerkesztése:",
|
|
43931
|
+
"Find and Replace": "Keresés és csere",
|
|
43932
|
+
"Find": "Keresés",
|
|
43933
|
+
"Replace": "Csere",
|
|
43934
|
+
"Case sensitive": "Kis- és nagybetű érzékeny",
|
|
43935
|
+
"Whole word": "Teljes szó",
|
|
43936
|
+
"Previous": "Előző",
|
|
43937
|
+
"Next": "Következő",
|
|
43938
|
+
"Replace All": "Összes cseréje",
|
|
43939
|
+
"Search...": "Keresés...",
|
|
43940
|
+
"Special Character": "Speciális karakter",
|
|
43941
|
+
"Upload": "Feltöltés",
|
|
43942
|
+
"URL": "URL",
|
|
43943
|
+
"Browse...": "Tallózás...",
|
|
43944
|
+
"Drop image here or click to browse": "Húzza ide a képet, vagy kattintson a tallózáshoz",
|
|
43945
|
+
"Alt text": "Alternatív szöveg",
|
|
43946
|
+
"Insert": "Beszúrás",
|
|
43947
|
+
"Cancel": "Mégse",
|
|
43948
|
+
"Uploading...": "Feltöltés...",
|
|
43949
|
+
"Upload failed": "A feltöltés sikertelen",
|
|
43950
|
+
"Invalid image URL": "Érvénytelen kép URL",
|
|
43951
|
+
"File too large": "A fájl túl nagy",
|
|
43952
|
+
"Invalid file type": "Érvénytelen fájltípus",
|
|
43953
|
+
"More": "Több"
|
|
43954
|
+
};
|
|
43955
|
+
const id = {
|
|
43956
|
+
"Bold": "Tebal",
|
|
43957
|
+
"Italic": "Miring",
|
|
43958
|
+
"Underline": "Garis bawah",
|
|
43959
|
+
"Strikethrough": "Coret",
|
|
43960
|
+
"Bullet list": "Daftar berpoin",
|
|
43961
|
+
"Numbered list": "Daftar bernomor",
|
|
43962
|
+
"Decrease indent": "Kurangi indentasi",
|
|
43963
|
+
"Increase indent": "Tambah indentasi",
|
|
43964
|
+
"Blockquote": "Kutipan",
|
|
43965
|
+
"Align left": "Rata kiri",
|
|
43966
|
+
"Align center": "Rata tengah",
|
|
43967
|
+
"Align right": "Rata kanan",
|
|
43968
|
+
"Justify": "Rata kiri-kanan",
|
|
43969
|
+
"Text color": "Warna teks",
|
|
43970
|
+
"Background color": "Warna latar belakang",
|
|
43971
|
+
"Remove formatting": "Hapus pemformatan",
|
|
43972
|
+
"Copy": "Salin",
|
|
43973
|
+
"Cut": "Potong",
|
|
43974
|
+
"Paste": "Tempel",
|
|
43975
|
+
"Undo": "Batalkan",
|
|
43976
|
+
"Redo": "Ulangi",
|
|
43977
|
+
"Insert image": "Sisipkan gambar",
|
|
43978
|
+
"Special character": "Karakter khusus",
|
|
43979
|
+
"Emoticons": "Emotikon",
|
|
43980
|
+
"Fullscreen": "Layar penuh",
|
|
43981
|
+
"Preview": "Pratinjau",
|
|
43982
|
+
"Source code": "Kode sumber",
|
|
43983
|
+
"Insert link": "Sisipkan tautan",
|
|
43984
|
+
"Code sample": "Contoh kode",
|
|
43985
|
+
"Left to right": "Kiri ke kanan",
|
|
43986
|
+
"Right to left": "Kanan ke kiri",
|
|
43987
|
+
"Find and replace": "Cari dan ganti",
|
|
43988
|
+
"Font": "Font",
|
|
43989
|
+
"Font size": "Ukuran font",
|
|
43990
|
+
"Line height": "Tinggi baris",
|
|
43991
|
+
"Templates": "Templat",
|
|
43992
|
+
"Apply": "Terapkan",
|
|
43993
|
+
"Enter image URL:": "Masukkan URL gambar:",
|
|
43994
|
+
"Enter URL:": "Masukkan URL:",
|
|
43995
|
+
"Edit HTML source:": "Edit kode sumber HTML:",
|
|
43996
|
+
"Find and Replace": "Cari dan ganti",
|
|
43997
|
+
"Find": "Cari",
|
|
43998
|
+
"Replace": "Ganti",
|
|
43999
|
+
"Case sensitive": "Peka huruf besar/kecil",
|
|
44000
|
+
"Whole word": "Kata utuh",
|
|
44001
|
+
"Previous": "Sebelumnya",
|
|
44002
|
+
"Next": "Berikutnya",
|
|
44003
|
+
"Replace All": "Ganti semua",
|
|
44004
|
+
"Search...": "Cari...",
|
|
44005
|
+
"Special Character": "Karakter khusus",
|
|
44006
|
+
"Upload": "Unggah",
|
|
44007
|
+
"URL": "URL",
|
|
44008
|
+
"Browse...": "Telusuri...",
|
|
44009
|
+
"Drop image here or click to browse": "Seret gambar ke sini atau klik untuk menelusuri",
|
|
44010
|
+
"Alt text": "Teks alternatif",
|
|
44011
|
+
"Insert": "Sisipkan",
|
|
44012
|
+
"Cancel": "Batal",
|
|
44013
|
+
"Uploading...": "Mengunggah...",
|
|
44014
|
+
"Upload failed": "Gagal mengunggah",
|
|
44015
|
+
"Invalid image URL": "URL gambar tidak valid",
|
|
44016
|
+
"File too large": "File terlalu besar",
|
|
44017
|
+
"Invalid file type": "Jenis file tidak valid",
|
|
44018
|
+
"More": "Lainnya"
|
|
44019
|
+
};
|
|
44020
|
+
const it = {
|
|
44021
|
+
"Bold": "Grassetto",
|
|
44022
|
+
"Italic": "Corsivo",
|
|
44023
|
+
"Underline": "Sottolineato",
|
|
44024
|
+
"Strikethrough": "Barrato",
|
|
44025
|
+
"Bullet list": "Elenco puntato",
|
|
44026
|
+
"Numbered list": "Elenco numerato",
|
|
44027
|
+
"Decrease indent": "Riduci rientro",
|
|
44028
|
+
"Increase indent": "Aumenta rientro",
|
|
44029
|
+
"Blockquote": "Citazione",
|
|
44030
|
+
"Align left": "Allinea a sinistra",
|
|
44031
|
+
"Align center": "Centra",
|
|
44032
|
+
"Align right": "Allinea a destra",
|
|
44033
|
+
"Justify": "Giustifica",
|
|
44034
|
+
"Text color": "Colore testo",
|
|
44035
|
+
"Background color": "Colore sfondo",
|
|
44036
|
+
"Remove formatting": "Rimuovi formattazione",
|
|
44037
|
+
"Copy": "Copia",
|
|
44038
|
+
"Cut": "Taglia",
|
|
44039
|
+
"Paste": "Incolla",
|
|
44040
|
+
"Undo": "Annulla",
|
|
44041
|
+
"Redo": "Ripristina",
|
|
44042
|
+
"Insert image": "Inserisci immagine",
|
|
44043
|
+
"Special character": "Carattere speciale",
|
|
44044
|
+
"Emoticons": "Emoticon",
|
|
44045
|
+
"Fullscreen": "Schermo intero",
|
|
44046
|
+
"Preview": "Anteprima",
|
|
44047
|
+
"Source code": "Codice sorgente",
|
|
44048
|
+
"Insert link": "Inserisci collegamento",
|
|
44049
|
+
"Code sample": "Esempio di codice",
|
|
44050
|
+
"Left to right": "Da sinistra a destra",
|
|
44051
|
+
"Right to left": "Da destra a sinistra",
|
|
44052
|
+
"Find and replace": "Trova e sostituisci",
|
|
44053
|
+
"Font": "Carattere",
|
|
44054
|
+
"Font size": "Dimensione carattere",
|
|
44055
|
+
"Line height": "Altezza riga",
|
|
44056
|
+
"Templates": "Modelli",
|
|
44057
|
+
"Apply": "Applica",
|
|
44058
|
+
"Enter image URL:": "Inserisci URL immagine:",
|
|
44059
|
+
"Enter URL:": "Inserisci URL:",
|
|
44060
|
+
"Edit HTML source:": "Modifica codice sorgente HTML:",
|
|
44061
|
+
"Find and Replace": "Trova e sostituisci",
|
|
44062
|
+
"Find": "Trova",
|
|
44063
|
+
"Replace": "Sostituisci",
|
|
44064
|
+
"Case sensitive": "Maiuscole/minuscole",
|
|
44065
|
+
"Whole word": "Parola intera",
|
|
44066
|
+
"Previous": "Precedente",
|
|
44067
|
+
"Next": "Successivo",
|
|
44068
|
+
"Replace All": "Sostituisci tutto",
|
|
44069
|
+
"Search...": "Cerca...",
|
|
44070
|
+
"Special Character": "Carattere speciale",
|
|
44071
|
+
"Upload": "Carica",
|
|
44072
|
+
"URL": "URL",
|
|
44073
|
+
"Browse...": "Sfoglia...",
|
|
44074
|
+
"Drop image here or click to browse": "Trascina l'immagine qui o fai clic per sfogliare",
|
|
44075
|
+
"Alt text": "Testo alternativo",
|
|
44076
|
+
"Insert": "Inserisci",
|
|
44077
|
+
"Cancel": "Annulla",
|
|
44078
|
+
"Uploading...": "Caricamento...",
|
|
44079
|
+
"Upload failed": "Caricamento fallito",
|
|
44080
|
+
"Invalid image URL": "URL immagine non valido",
|
|
44081
|
+
"File too large": "File troppo grande",
|
|
44082
|
+
"Invalid file type": "Tipo di file non valido",
|
|
44083
|
+
"More": "Altro"
|
|
44084
|
+
};
|
|
44085
|
+
const ja = {
|
|
44086
|
+
"Bold": "太字",
|
|
44087
|
+
"Italic": "斜体",
|
|
44088
|
+
"Underline": "下線",
|
|
44089
|
+
"Strikethrough": "取り消し線",
|
|
44090
|
+
"Bullet list": "箇条書き",
|
|
44091
|
+
"Numbered list": "番号付きリスト",
|
|
44092
|
+
"Decrease indent": "インデント解除",
|
|
44093
|
+
"Increase indent": "インデント",
|
|
44094
|
+
"Blockquote": "引用",
|
|
44095
|
+
"Align left": "左揃え",
|
|
44096
|
+
"Align center": "中央揃え",
|
|
44097
|
+
"Align right": "右揃え",
|
|
44098
|
+
"Justify": "両端揃え",
|
|
44099
|
+
"Text color": "文字色",
|
|
44100
|
+
"Background color": "背景色",
|
|
44101
|
+
"Remove formatting": "書式のクリア",
|
|
44102
|
+
"Copy": "コピー",
|
|
44103
|
+
"Cut": "切り取り",
|
|
44104
|
+
"Paste": "貼り付け",
|
|
44105
|
+
"Undo": "元に戻す",
|
|
44106
|
+
"Redo": "やり直し",
|
|
44107
|
+
"Insert image": "画像の挿入",
|
|
44108
|
+
"Special character": "特殊文字",
|
|
44109
|
+
"Emoticons": "絵文字",
|
|
44110
|
+
"Fullscreen": "全画面",
|
|
44111
|
+
"Preview": "プレビュー",
|
|
44112
|
+
"Source code": "ソースコード",
|
|
44113
|
+
"Insert link": "リンクの挿入",
|
|
44114
|
+
"Code sample": "コードサンプル",
|
|
44115
|
+
"Left to right": "左から右",
|
|
44116
|
+
"Right to left": "右から左",
|
|
44117
|
+
"Find and replace": "検索と置換",
|
|
44118
|
+
"Font": "フォント",
|
|
44119
|
+
"Font size": "フォントサイズ",
|
|
44120
|
+
"Line height": "行の高さ",
|
|
44121
|
+
"Templates": "テンプレート",
|
|
44122
|
+
"Apply": "適用",
|
|
44123
|
+
"Enter image URL:": "画像のURLを入力:",
|
|
44124
|
+
"Enter URL:": "URLを入力:",
|
|
44125
|
+
"Edit HTML source:": "HTMLソースを編集:",
|
|
44126
|
+
"Find and Replace": "検索と置換",
|
|
44127
|
+
"Find": "検索",
|
|
44128
|
+
"Replace": "置換",
|
|
44129
|
+
"Case sensitive": "大文字小文字を区別",
|
|
44130
|
+
"Whole word": "単語全体",
|
|
44131
|
+
"Previous": "前へ",
|
|
44132
|
+
"Next": "次へ",
|
|
44133
|
+
"Replace All": "すべて置換",
|
|
44134
|
+
"Search...": "検索...",
|
|
44135
|
+
"Special Character": "特殊文字",
|
|
44136
|
+
"Upload": "アップロード",
|
|
44137
|
+
"URL": "URL",
|
|
44138
|
+
"Browse...": "参照...",
|
|
44139
|
+
"Drop image here or click to browse": "画像をここにドロップするかクリックして参照",
|
|
44140
|
+
"Alt text": "代替テキスト",
|
|
44141
|
+
"Insert": "挿入",
|
|
44142
|
+
"Cancel": "キャンセル",
|
|
44143
|
+
"Uploading...": "アップロード中...",
|
|
44144
|
+
"Upload failed": "アップロードに失敗しました",
|
|
44145
|
+
"Invalid image URL": "無効な画像URL",
|
|
44146
|
+
"File too large": "ファイルが大きすぎます",
|
|
44147
|
+
"Invalid file type": "無効なファイル形式",
|
|
44148
|
+
"More": "もっと見る"
|
|
44149
|
+
};
|
|
44150
|
+
const ko = {
|
|
44151
|
+
"Bold": "굵게",
|
|
44152
|
+
"Italic": "기울임꼴",
|
|
44153
|
+
"Underline": "밑줄",
|
|
44154
|
+
"Strikethrough": "취소선",
|
|
44155
|
+
"Bullet list": "글머리 기호 목록",
|
|
44156
|
+
"Numbered list": "번호 매기기 목록",
|
|
44157
|
+
"Decrease indent": "내어쓰기",
|
|
44158
|
+
"Increase indent": "들여쓰기",
|
|
44159
|
+
"Blockquote": "인용구",
|
|
44160
|
+
"Align left": "왼쪽 맞춤",
|
|
44161
|
+
"Align center": "가운데 맞춤",
|
|
44162
|
+
"Align right": "오른쪽 맞춤",
|
|
44163
|
+
"Justify": "양쪽 맞춤",
|
|
44164
|
+
"Text color": "글자 색",
|
|
44165
|
+
"Background color": "배경색",
|
|
44166
|
+
"Remove formatting": "서식 제거",
|
|
44167
|
+
"Copy": "복사",
|
|
44168
|
+
"Cut": "잘라내기",
|
|
44169
|
+
"Paste": "붙여넣기",
|
|
44170
|
+
"Undo": "실행 취소",
|
|
44171
|
+
"Redo": "다시 실행",
|
|
44172
|
+
"Insert image": "이미지 삽입",
|
|
44173
|
+
"Special character": "특수 문자",
|
|
44174
|
+
"Emoticons": "이모티콘",
|
|
44175
|
+
"Fullscreen": "전체 화면",
|
|
44176
|
+
"Preview": "미리보기",
|
|
44177
|
+
"Source code": "소스 코드",
|
|
44178
|
+
"Insert link": "링크 삽입",
|
|
44179
|
+
"Code sample": "코드 샘플",
|
|
44180
|
+
"Left to right": "왼쪽에서 오른쪽",
|
|
44181
|
+
"Right to left": "오른쪽에서 왼쪽",
|
|
44182
|
+
"Find and replace": "찾기 및 바꾸기",
|
|
44183
|
+
"Font": "글꼴",
|
|
44184
|
+
"Font size": "글꼴 크기",
|
|
44185
|
+
"Line height": "줄 높이",
|
|
44186
|
+
"Templates": "템플릿",
|
|
44187
|
+
"Apply": "적용",
|
|
44188
|
+
"Enter image URL:": "이미지 URL 입력:",
|
|
44189
|
+
"Enter URL:": "URL 입력:",
|
|
44190
|
+
"Edit HTML source:": "HTML 소스 편집:",
|
|
44191
|
+
"Find and Replace": "찾기 및 바꾸기",
|
|
44192
|
+
"Find": "찾기",
|
|
44193
|
+
"Replace": "바꾸기",
|
|
44194
|
+
"Case sensitive": "대/소문자 구분",
|
|
44195
|
+
"Whole word": "단어 단위",
|
|
44196
|
+
"Previous": "이전",
|
|
44197
|
+
"Next": "다음",
|
|
44198
|
+
"Replace All": "모두 바꾸기",
|
|
44199
|
+
"Search...": "검색...",
|
|
44200
|
+
"Special Character": "특수 문자",
|
|
44201
|
+
"Upload": "업로드",
|
|
44202
|
+
"URL": "URL",
|
|
44203
|
+
"Browse...": "찾아보기...",
|
|
44204
|
+
"Drop image here or click to browse": "이미지를 여기에 끌어다 놓거나 클릭하여 찾아보기",
|
|
44205
|
+
"Alt text": "대체 텍스트",
|
|
44206
|
+
"Insert": "삽입",
|
|
44207
|
+
"Cancel": "취소",
|
|
44208
|
+
"Uploading...": "업로드 중...",
|
|
44209
|
+
"Upload failed": "업로드 실패",
|
|
44210
|
+
"Invalid image URL": "잘못된 이미지 URL",
|
|
44211
|
+
"File too large": "파일이 너무 큽니다",
|
|
44212
|
+
"Invalid file type": "잘못된 파일 형식",
|
|
44213
|
+
"More": "더 보기"
|
|
44214
|
+
};
|
|
44215
|
+
const nl = {
|
|
44216
|
+
"Bold": "Vet",
|
|
44217
|
+
"Italic": "Cursief",
|
|
44218
|
+
"Underline": "Onderstreept",
|
|
44219
|
+
"Strikethrough": "Doorgehaald",
|
|
44220
|
+
"Bullet list": "Opsommingslijst",
|
|
44221
|
+
"Numbered list": "Genummerde lijst",
|
|
44222
|
+
"Decrease indent": "Inspringing verkleinen",
|
|
44223
|
+
"Increase indent": "Inspringing vergroten",
|
|
44224
|
+
"Blockquote": "Citaat",
|
|
44225
|
+
"Align left": "Links uitlijnen",
|
|
44226
|
+
"Align center": "Centreren",
|
|
44227
|
+
"Align right": "Rechts uitlijnen",
|
|
44228
|
+
"Justify": "Uitvullen",
|
|
44229
|
+
"Text color": "Tekstkleur",
|
|
44230
|
+
"Background color": "Achtergrondkleur",
|
|
44231
|
+
"Remove formatting": "Opmaak verwijderen",
|
|
44232
|
+
"Copy": "Kopiëren",
|
|
44233
|
+
"Cut": "Knippen",
|
|
44234
|
+
"Paste": "Plakken",
|
|
44235
|
+
"Undo": "Ongedaan maken",
|
|
44236
|
+
"Redo": "Opnieuw",
|
|
44237
|
+
"Insert image": "Afbeelding invoegen",
|
|
44238
|
+
"Special character": "Speciaal teken",
|
|
44239
|
+
"Emoticons": "Emoticons",
|
|
44240
|
+
"Fullscreen": "Volledig scherm",
|
|
44241
|
+
"Preview": "Voorbeeld",
|
|
44242
|
+
"Source code": "Broncode",
|
|
44243
|
+
"Insert link": "Link invoegen",
|
|
44244
|
+
"Code sample": "Codevoorbeeld",
|
|
44245
|
+
"Left to right": "Links naar rechts",
|
|
44246
|
+
"Right to left": "Rechts naar links",
|
|
44247
|
+
"Find and replace": "Zoeken en vervangen",
|
|
44248
|
+
"Font": "Lettertype",
|
|
44249
|
+
"Font size": "Lettergrootte",
|
|
44250
|
+
"Line height": "Regelhoogte",
|
|
44251
|
+
"Templates": "Sjablonen",
|
|
44252
|
+
"Apply": "Toepassen",
|
|
44253
|
+
"Enter image URL:": "Voer afbeeldings-URL in:",
|
|
44254
|
+
"Enter URL:": "Voer URL in:",
|
|
44255
|
+
"Edit HTML source:": "HTML-bron bewerken:",
|
|
44256
|
+
"Find and Replace": "Zoeken en vervangen",
|
|
44257
|
+
"Find": "Zoeken",
|
|
44258
|
+
"Replace": "Vervangen",
|
|
44259
|
+
"Case sensitive": "Hoofdlettergevoelig",
|
|
44260
|
+
"Whole word": "Heel woord",
|
|
44261
|
+
"Previous": "Vorige",
|
|
44262
|
+
"Next": "Volgende",
|
|
44263
|
+
"Replace All": "Alles vervangen",
|
|
44264
|
+
"Search...": "Zoeken...",
|
|
44265
|
+
"Special Character": "Speciaal teken",
|
|
44266
|
+
"Upload": "Uploaden",
|
|
44267
|
+
"URL": "URL",
|
|
44268
|
+
"Browse...": "Bladeren...",
|
|
44269
|
+
"Drop image here or click to browse": "Sleep afbeelding hierheen of klik om te bladeren",
|
|
44270
|
+
"Alt text": "Alt-tekst",
|
|
44271
|
+
"Insert": "Invoegen",
|
|
44272
|
+
"Cancel": "Annuleren",
|
|
44273
|
+
"Uploading...": "Uploaden...",
|
|
44274
|
+
"Upload failed": "Upload mislukt",
|
|
44275
|
+
"Invalid image URL": "Ongeldige afbeeldings-URL",
|
|
44276
|
+
"File too large": "Bestand te groot",
|
|
44277
|
+
"Invalid file type": "Ongeldig bestandstype",
|
|
44278
|
+
"More": "Meer"
|
|
44279
|
+
};
|
|
44280
|
+
const nb = {
|
|
44281
|
+
"Bold": "Fet",
|
|
44282
|
+
"Italic": "Kursiv",
|
|
44283
|
+
"Underline": "Understreket",
|
|
44284
|
+
"Strikethrough": "Gjennomstreket",
|
|
44285
|
+
"Bullet list": "Punktliste",
|
|
44286
|
+
"Numbered list": "Nummerert liste",
|
|
44287
|
+
"Decrease indent": "Reduser innrykk",
|
|
44288
|
+
"Increase indent": "Øk innrykk",
|
|
44289
|
+
"Blockquote": "Blokksitat",
|
|
44290
|
+
"Align left": "Venstrejuster",
|
|
44291
|
+
"Align center": "Midtstill",
|
|
44292
|
+
"Align right": "Høyrejuster",
|
|
44293
|
+
"Justify": "Blokkjuster",
|
|
44294
|
+
"Text color": "Tekstfarge",
|
|
44295
|
+
"Background color": "Bakgrunnsfarge",
|
|
44296
|
+
"Remove formatting": "Fjern formatering",
|
|
44297
|
+
"Copy": "Kopier",
|
|
44298
|
+
"Cut": "Klipp ut",
|
|
44299
|
+
"Paste": "Lim inn",
|
|
44300
|
+
"Undo": "Angre",
|
|
44301
|
+
"Redo": "Gjør om",
|
|
44302
|
+
"Insert image": "Sett inn bilde",
|
|
44303
|
+
"Special character": "Spesialtegn",
|
|
44304
|
+
"Emoticons": "Humørifjes",
|
|
44305
|
+
"Fullscreen": "Fullskjerm",
|
|
44306
|
+
"Preview": "Forhåndsvisning",
|
|
44307
|
+
"Source code": "Kildekode",
|
|
44308
|
+
"Insert link": "Sett inn lenke",
|
|
44309
|
+
"Code sample": "Kodeeksempel",
|
|
44310
|
+
"Left to right": "Venstre mot høyre",
|
|
44311
|
+
"Right to left": "Høyre mot venstre",
|
|
44312
|
+
"Find and replace": "Søk og erstatt",
|
|
44313
|
+
"Font": "Skrifttype",
|
|
44314
|
+
"Font size": "Skriftstørrelse",
|
|
44315
|
+
"Line height": "Linjehøyde",
|
|
44316
|
+
"Templates": "Maler",
|
|
44317
|
+
"Apply": "Bruk",
|
|
44318
|
+
"Enter image URL:": "Skriv inn bilde-URL:",
|
|
44319
|
+
"Enter URL:": "Skriv inn URL:",
|
|
44320
|
+
"Edit HTML source:": "Rediger HTML-kilde:",
|
|
44321
|
+
"Find and Replace": "Søk og erstatt",
|
|
44322
|
+
"Find": "Søk",
|
|
44323
|
+
"Replace": "Erstatt",
|
|
44324
|
+
"Case sensitive": "Skille mellom store/små bokstaver",
|
|
44325
|
+
"Whole word": "Helt ord",
|
|
44326
|
+
"Previous": "Forrige",
|
|
44327
|
+
"Next": "Neste",
|
|
44328
|
+
"Replace All": "Erstatt alle",
|
|
44329
|
+
"Search...": "Søk...",
|
|
44330
|
+
"Special Character": "Spesialtegn",
|
|
44331
|
+
"Upload": "Last opp",
|
|
44332
|
+
"URL": "URL",
|
|
44333
|
+
"Browse...": "Bla gjennom...",
|
|
44334
|
+
"Drop image here or click to browse": "Slipp bildet her eller klikk for å bla gjennom",
|
|
44335
|
+
"Alt text": "Alternativ tekst",
|
|
44336
|
+
"Insert": "Sett inn",
|
|
44337
|
+
"Cancel": "Avbryt",
|
|
44338
|
+
"Uploading...": "Laster opp...",
|
|
44339
|
+
"Upload failed": "Opplasting mislyktes",
|
|
44340
|
+
"Invalid image URL": "Ugyldig bilde-URL",
|
|
44341
|
+
"File too large": "Filen er for stor",
|
|
44342
|
+
"Invalid file type": "Ugyldig filtype",
|
|
44343
|
+
"More": "Mer"
|
|
44344
|
+
};
|
|
44345
|
+
const pl = {
|
|
44346
|
+
"Bold": "Pogrubienie",
|
|
44347
|
+
"Italic": "Kursywa",
|
|
44348
|
+
"Underline": "Podkreślenie",
|
|
44349
|
+
"Strikethrough": "Przekreślenie",
|
|
44350
|
+
"Bullet list": "Lista punktowana",
|
|
44351
|
+
"Numbered list": "Lista numerowana",
|
|
44352
|
+
"Decrease indent": "Zmniejsz wcięcie",
|
|
44353
|
+
"Increase indent": "Zwiększ wcięcie",
|
|
44354
|
+
"Blockquote": "Cytat blokowy",
|
|
44355
|
+
"Align left": "Wyrównaj do lewej",
|
|
44356
|
+
"Align center": "Wyśrodkuj",
|
|
44357
|
+
"Align right": "Wyrównaj do prawej",
|
|
44358
|
+
"Justify": "Wyjustuj",
|
|
44359
|
+
"Text color": "Kolor tekstu",
|
|
44360
|
+
"Background color": "Kolor tła",
|
|
44361
|
+
"Remove formatting": "Usuń formatowanie",
|
|
44362
|
+
"Copy": "Kopiuj",
|
|
44363
|
+
"Cut": "Wytnij",
|
|
44364
|
+
"Paste": "Wklej",
|
|
44365
|
+
"Undo": "Cofnij",
|
|
44366
|
+
"Redo": "Ponów",
|
|
44367
|
+
"Insert image": "Wstaw obraz",
|
|
44368
|
+
"Special character": "Znak specjalny",
|
|
44369
|
+
"Emoticons": "Emotikony",
|
|
44370
|
+
"Fullscreen": "Pełny ekran",
|
|
44371
|
+
"Preview": "Podgląd",
|
|
44372
|
+
"Source code": "Kod źródłowy",
|
|
44373
|
+
"Insert link": "Wstaw odnośnik",
|
|
44374
|
+
"Code sample": "Przykład kodu",
|
|
44375
|
+
"Left to right": "Od lewej do prawej",
|
|
44376
|
+
"Right to left": "Od prawej do lewej",
|
|
44377
|
+
"Find and replace": "Znajdź i zamień",
|
|
44378
|
+
"Font": "Czcionka",
|
|
44379
|
+
"Font size": "Rozmiar czcionki",
|
|
44380
|
+
"Line height": "Wysokość wiersza",
|
|
44381
|
+
"Templates": "Szablony",
|
|
44382
|
+
"Apply": "Zastosuj",
|
|
44383
|
+
"Enter image URL:": "Wprowadź adres URL obrazu:",
|
|
44384
|
+
"Enter URL:": "Wprowadź adres URL:",
|
|
44385
|
+
"Edit HTML source:": "Edytuj źródło HTML:",
|
|
44386
|
+
"Find and Replace": "Znajdź i zamień",
|
|
44387
|
+
"Find": "Znajdź",
|
|
44388
|
+
"Replace": "Zamień",
|
|
44389
|
+
"Case sensitive": "Rozróżniaj wielkość liter",
|
|
44390
|
+
"Whole word": "Całe słowo",
|
|
44391
|
+
"Previous": "Poprzedni",
|
|
44392
|
+
"Next": "Następny",
|
|
44393
|
+
"Replace All": "Zamień wszystko",
|
|
44394
|
+
"Search...": "Szukaj...",
|
|
44395
|
+
"Special Character": "Znak specjalny",
|
|
44396
|
+
"Upload": "Prześlij",
|
|
44397
|
+
"URL": "URL",
|
|
44398
|
+
"Browse...": "Przeglądaj...",
|
|
44399
|
+
"Drop image here or click to browse": "Przeciągnij obraz tutaj lub kliknij, aby przeglądać",
|
|
44400
|
+
"Alt text": "Tekst alternatywny",
|
|
44401
|
+
"Insert": "Wstaw",
|
|
44402
|
+
"Cancel": "Anuluj",
|
|
44403
|
+
"Uploading...": "Przesyłanie...",
|
|
44404
|
+
"Upload failed": "Przesyłanie nie powiodło się",
|
|
44405
|
+
"Invalid image URL": "Nieprawidłowy URL obrazu",
|
|
44406
|
+
"File too large": "Plik jest za duży",
|
|
44407
|
+
"Invalid file type": "Nieprawidłowy typ pliku",
|
|
44408
|
+
"More": "Więcej"
|
|
44409
|
+
};
|
|
44410
|
+
const pt = {
|
|
44411
|
+
"Bold": "Negrito",
|
|
44412
|
+
"Italic": "Itálico",
|
|
44413
|
+
"Underline": "Sublinhado",
|
|
44414
|
+
"Strikethrough": "Riscado",
|
|
44415
|
+
"Bullet list": "Lista com marcadores",
|
|
44416
|
+
"Numbered list": "Lista numerada",
|
|
44417
|
+
"Decrease indent": "Diminuir recuo",
|
|
44418
|
+
"Increase indent": "Aumentar recuo",
|
|
44419
|
+
"Blockquote": "Citação",
|
|
44420
|
+
"Align left": "Alinhar à esquerda",
|
|
44421
|
+
"Align center": "Centralizar",
|
|
44422
|
+
"Align right": "Alinhar à direita",
|
|
44423
|
+
"Justify": "Justificar",
|
|
44424
|
+
"Text color": "Cor do texto",
|
|
44425
|
+
"Background color": "Cor de fundo",
|
|
44426
|
+
"Remove formatting": "Remover formatação",
|
|
44427
|
+
"Copy": "Copiar",
|
|
44428
|
+
"Cut": "Cortar",
|
|
44429
|
+
"Paste": "Colar",
|
|
44430
|
+
"Undo": "Desfazer",
|
|
44431
|
+
"Redo": "Refazer",
|
|
44432
|
+
"Insert image": "Inserir imagem",
|
|
44433
|
+
"Special character": "Caractere especial",
|
|
44434
|
+
"Emoticons": "Emoticons",
|
|
44435
|
+
"Fullscreen": "Tela cheia",
|
|
44436
|
+
"Preview": "Pré-visualização",
|
|
44437
|
+
"Source code": "Código fonte",
|
|
44438
|
+
"Insert link": "Inserir link",
|
|
44439
|
+
"Code sample": "Exemplo de código",
|
|
44440
|
+
"Left to right": "Esquerda para a direita",
|
|
44441
|
+
"Right to left": "Direita para a esquerda",
|
|
44442
|
+
"Find and replace": "Localizar e substituir",
|
|
44443
|
+
"Font": "Fonte",
|
|
44444
|
+
"Font size": "Tamanho da fonte",
|
|
44445
|
+
"Line height": "Altura da linha",
|
|
44446
|
+
"Templates": "Modelos",
|
|
44447
|
+
"Apply": "Aplicar",
|
|
44448
|
+
"Enter image URL:": "Insira o URL da imagem:",
|
|
44449
|
+
"Enter URL:": "Insira o URL:",
|
|
44450
|
+
"Edit HTML source:": "Editar código fonte HTML:",
|
|
44451
|
+
"Find and Replace": "Localizar e substituir",
|
|
44452
|
+
"Find": "Localizar",
|
|
44453
|
+
"Replace": "Substituir",
|
|
44454
|
+
"Case sensitive": "Diferenciar maiúsculas/minúsculas",
|
|
44455
|
+
"Whole word": "Palavra inteira",
|
|
44456
|
+
"Previous": "Anterior",
|
|
44457
|
+
"Next": "Próximo",
|
|
44458
|
+
"Replace All": "Substituir tudo",
|
|
44459
|
+
"Search...": "Pesquisar...",
|
|
44460
|
+
"Special Character": "Caractere especial",
|
|
44461
|
+
"Upload": "Carregar",
|
|
44462
|
+
"URL": "URL",
|
|
44463
|
+
"Browse...": "Procurar...",
|
|
44464
|
+
"Drop image here or click to browse": "Arraste a imagem aqui ou clique para procurar",
|
|
44465
|
+
"Alt text": "Texto alternativo",
|
|
44466
|
+
"Insert": "Inserir",
|
|
44467
|
+
"Cancel": "Cancelar",
|
|
44468
|
+
"Uploading...": "Carregando...",
|
|
44469
|
+
"Upload failed": "Falha no carregamento",
|
|
44470
|
+
"Invalid image URL": "URL de imagem inválido",
|
|
44471
|
+
"File too large": "Arquivo muito grande",
|
|
44472
|
+
"Invalid file type": "Tipo de arquivo inválido",
|
|
44473
|
+
"More": "Mais"
|
|
44474
|
+
};
|
|
44475
|
+
const ro = {
|
|
44476
|
+
"Bold": "Îngroșat",
|
|
44477
|
+
"Italic": "Cursiv",
|
|
44478
|
+
"Underline": "Subliniat",
|
|
44479
|
+
"Strikethrough": "Tăiat",
|
|
44480
|
+
"Bullet list": "Listă cu marcatori",
|
|
44481
|
+
"Numbered list": "Listă numerotată",
|
|
44482
|
+
"Decrease indent": "Micșorare indentare",
|
|
44483
|
+
"Increase indent": "Mărire indentare",
|
|
44484
|
+
"Blockquote": "Citat",
|
|
44485
|
+
"Align left": "Aliniere la stânga",
|
|
44486
|
+
"Align center": "Centrare",
|
|
44487
|
+
"Align right": "Aliniere la dreapta",
|
|
44488
|
+
"Justify": "Aliniere stânga-dreapta",
|
|
44489
|
+
"Text color": "Culoare text",
|
|
44490
|
+
"Background color": "Culoare fundal",
|
|
44491
|
+
"Remove formatting": "Eliminare formatare",
|
|
44492
|
+
"Copy": "Copiere",
|
|
44493
|
+
"Cut": "Decupare",
|
|
44494
|
+
"Paste": "Lipire",
|
|
44495
|
+
"Undo": "Anulare",
|
|
44496
|
+
"Redo": "Refacere",
|
|
44497
|
+
"Insert image": "Inserare imagine",
|
|
44498
|
+
"Special character": "Caracter special",
|
|
44499
|
+
"Emoticons": "Emoticoane",
|
|
44500
|
+
"Fullscreen": "Ecran complet",
|
|
44501
|
+
"Preview": "Previzualizare",
|
|
44502
|
+
"Source code": "Cod sursă",
|
|
44503
|
+
"Insert link": "Inserare link",
|
|
44504
|
+
"Code sample": "Exemplu de cod",
|
|
44505
|
+
"Left to right": "De la stânga la dreapta",
|
|
44506
|
+
"Right to left": "De la dreapta la stânga",
|
|
44507
|
+
"Find and replace": "Căutare și înlocuire",
|
|
44508
|
+
"Font": "Font",
|
|
44509
|
+
"Font size": "Dimensiune font",
|
|
44510
|
+
"Line height": "Înălțime linie",
|
|
44511
|
+
"Templates": "Șabloane",
|
|
44512
|
+
"Apply": "Aplicare",
|
|
44513
|
+
"Enter image URL:": "Introduceți URL-ul imaginii:",
|
|
44514
|
+
"Enter URL:": "Introduceți URL-ul:",
|
|
44515
|
+
"Edit HTML source:": "Editare sursă HTML:",
|
|
44516
|
+
"Find and Replace": "Căutare și înlocuire",
|
|
44517
|
+
"Find": "Căutare",
|
|
44518
|
+
"Replace": "Înlocuire",
|
|
44519
|
+
"Case sensitive": "Sensibil la majuscule",
|
|
44520
|
+
"Whole word": "Cuvânt întreg",
|
|
44521
|
+
"Previous": "Anterior",
|
|
44522
|
+
"Next": "Următor",
|
|
44523
|
+
"Replace All": "Înlocuire totală",
|
|
44524
|
+
"Search...": "Căutare...",
|
|
44525
|
+
"Special Character": "Caracter special",
|
|
44526
|
+
"Upload": "Încarcă",
|
|
44527
|
+
"URL": "URL",
|
|
44528
|
+
"Browse...": "Răsfoiește...",
|
|
44529
|
+
"Drop image here or click to browse": "Trage imaginea aici sau dă clic pentru a răsfoi",
|
|
44530
|
+
"Alt text": "Text alternativ",
|
|
44531
|
+
"Insert": "Inserează",
|
|
44532
|
+
"Cancel": "Anulează",
|
|
44533
|
+
"Uploading...": "Se încarcă...",
|
|
44534
|
+
"Upload failed": "Încarcare eșuată",
|
|
44535
|
+
"Invalid image URL": "URL imagine invalid",
|
|
44536
|
+
"File too large": "Fișierul este prea mare",
|
|
44537
|
+
"Invalid file type": "Tip de fișier invalid",
|
|
44538
|
+
"More": "Mai mult"
|
|
44539
|
+
};
|
|
44540
|
+
const ru = {
|
|
44541
|
+
"Bold": "Полужирный",
|
|
44542
|
+
"Italic": "Курсив",
|
|
44543
|
+
"Underline": "Подчёркнутый",
|
|
44544
|
+
"Strikethrough": "Зачёркнутый",
|
|
44545
|
+
"Bullet list": "Маркированный список",
|
|
44546
|
+
"Numbered list": "Нумерованный список",
|
|
44547
|
+
"Decrease indent": "Уменьшить отступ",
|
|
44548
|
+
"Increase indent": "Увеличить отступ",
|
|
44549
|
+
"Blockquote": "Цитата",
|
|
44550
|
+
"Align left": "По левому краю",
|
|
44551
|
+
"Align center": "По центру",
|
|
44552
|
+
"Align right": "По правому краю",
|
|
44553
|
+
"Justify": "По ширине",
|
|
44554
|
+
"Text color": "Цвет текста",
|
|
44555
|
+
"Background color": "Цвет фона",
|
|
44556
|
+
"Remove formatting": "Очистить форматирование",
|
|
44557
|
+
"Copy": "Копировать",
|
|
44558
|
+
"Cut": "Вырезать",
|
|
44559
|
+
"Paste": "Вставить",
|
|
44560
|
+
"Undo": "Отменить",
|
|
44561
|
+
"Redo": "Повторить",
|
|
44562
|
+
"Insert image": "Вставить изображение",
|
|
44563
|
+
"Special character": "Специальный символ",
|
|
44564
|
+
"Emoticons": "Смайлики",
|
|
44565
|
+
"Fullscreen": "Полный экран",
|
|
44566
|
+
"Preview": "Предварительный просмотр",
|
|
44567
|
+
"Source code": "Исходный код",
|
|
44568
|
+
"Insert link": "Вставить ссылку",
|
|
44569
|
+
"Code sample": "Пример кода",
|
|
44570
|
+
"Left to right": "Слева направо",
|
|
44571
|
+
"Right to left": "Справа налево",
|
|
44572
|
+
"Find and replace": "Найти и заменить",
|
|
44573
|
+
"Font": "Шрифт",
|
|
44574
|
+
"Font size": "Размер шрифта",
|
|
44575
|
+
"Line height": "Высота строки",
|
|
44576
|
+
"Templates": "Шаблоны",
|
|
44577
|
+
"Apply": "Применить",
|
|
44578
|
+
"Enter image URL:": "Введите URL изображения:",
|
|
44579
|
+
"Enter URL:": "Введите URL:",
|
|
44580
|
+
"Edit HTML source:": "Редактировать HTML-код:",
|
|
44581
|
+
"Find and Replace": "Найти и заменить",
|
|
44582
|
+
"Find": "Найти",
|
|
44583
|
+
"Replace": "Заменить",
|
|
44584
|
+
"Case sensitive": "С учётом регистра",
|
|
44585
|
+
"Whole word": "Слово целиком",
|
|
44586
|
+
"Previous": "Предыдущий",
|
|
44587
|
+
"Next": "Следующий",
|
|
44588
|
+
"Replace All": "Заменить все",
|
|
44589
|
+
"Search...": "Поиск...",
|
|
44590
|
+
"Special Character": "Специальный символ",
|
|
44591
|
+
"Upload": "Загрузить",
|
|
44592
|
+
"URL": "URL",
|
|
44593
|
+
"Browse...": "Обзор...",
|
|
44594
|
+
"Drop image here or click to browse": "Перетащите изображение сюда или нажмите для обзора",
|
|
44595
|
+
"Alt text": "Альтернативный текст",
|
|
44596
|
+
"Insert": "Вставить",
|
|
44597
|
+
"Cancel": "Отмена",
|
|
44598
|
+
"Uploading...": "Загрузка...",
|
|
44599
|
+
"Upload failed": "Ошибка загрузки",
|
|
44600
|
+
"Invalid image URL": "Недопустимый URL изображения",
|
|
44601
|
+
"File too large": "Файл слишком большой",
|
|
44602
|
+
"Invalid file type": "Недопустимый тип файла",
|
|
44603
|
+
"More": "Ещё"
|
|
44604
|
+
};
|
|
44605
|
+
const sr = {
|
|
44606
|
+
"Bold": "Подебљано",
|
|
44607
|
+
"Italic": "Курзив",
|
|
44608
|
+
"Underline": "Подвучено",
|
|
44609
|
+
"Strikethrough": "Прецртано",
|
|
44610
|
+
"Bullet list": "Листа са знаковима",
|
|
44611
|
+
"Numbered list": "Нумерисана листа",
|
|
44612
|
+
"Decrease indent": "Смањи увлачење",
|
|
44613
|
+
"Increase indent": "Повећај увлачење",
|
|
44614
|
+
"Blockquote": "Цитат",
|
|
44615
|
+
"Align left": "Поравнај лево",
|
|
44616
|
+
"Align center": "Центрирај",
|
|
44617
|
+
"Align right": "Поравнај десно",
|
|
44618
|
+
"Justify": "Обострано поравнање",
|
|
44619
|
+
"Text color": "Боја текста",
|
|
44620
|
+
"Background color": "Боја позадине",
|
|
44621
|
+
"Remove formatting": "Уклони форматирање",
|
|
44622
|
+
"Copy": "Копирај",
|
|
44623
|
+
"Cut": "Исеци",
|
|
44624
|
+
"Paste": "Налепи",
|
|
44625
|
+
"Undo": "Опозови",
|
|
44626
|
+
"Redo": "Понови",
|
|
44627
|
+
"Insert image": "Уметни слику",
|
|
44628
|
+
"Special character": "Специјални знак",
|
|
44629
|
+
"Emoticons": "Емотикони",
|
|
44630
|
+
"Fullscreen": "Цео екран",
|
|
44631
|
+
"Preview": "Преглед",
|
|
44632
|
+
"Source code": "Изворни код",
|
|
44633
|
+
"Insert link": "Уметни везу",
|
|
44634
|
+
"Code sample": "Пример кода",
|
|
44635
|
+
"Left to right": "Слева надесно",
|
|
44636
|
+
"Right to left": "Здесна налево",
|
|
44637
|
+
"Find and replace": "Пронађи и замени",
|
|
44638
|
+
"Font": "Фонт",
|
|
44639
|
+
"Font size": "Величина фонта",
|
|
44640
|
+
"Line height": "Висина реда",
|
|
44641
|
+
"Templates": "Шаблони",
|
|
44642
|
+
"Apply": "Примени",
|
|
44643
|
+
"Enter image URL:": "Унесите URL слике:",
|
|
44644
|
+
"Enter URL:": "Унесите URL:",
|
|
44645
|
+
"Edit HTML source:": "Уреди HTML извор:",
|
|
44646
|
+
"Find and Replace": "Пронађи и замени",
|
|
44647
|
+
"Find": "Пронађи",
|
|
44648
|
+
"Replace": "Замени",
|
|
44649
|
+
"Case sensitive": "Разликуј велика/мала слова",
|
|
44650
|
+
"Whole word": "Цела реч",
|
|
44651
|
+
"Previous": "Претходно",
|
|
44652
|
+
"Next": "Следеће",
|
|
44653
|
+
"Replace All": "Замени све",
|
|
44654
|
+
"Search...": "Претрага...",
|
|
44655
|
+
"Special Character": "Специјални знак",
|
|
44656
|
+
"Upload": "Отпреми",
|
|
44657
|
+
"URL": "URL",
|
|
44658
|
+
"Browse...": "Претражи...",
|
|
44659
|
+
"Drop image here or click to browse": "Превуците слику овде или кликните за претрагу",
|
|
44660
|
+
"Alt text": "Алтернативни текст",
|
|
44661
|
+
"Insert": "Уметни",
|
|
44662
|
+
"Cancel": "Откажи",
|
|
44663
|
+
"Uploading...": "Отпремање...",
|
|
44664
|
+
"Upload failed": "Отпремање није успело",
|
|
44665
|
+
"Invalid image URL": "Неважећи URL слике",
|
|
44666
|
+
"File too large": "Датотека је превелика",
|
|
44667
|
+
"Invalid file type": "Неважећи тип датотеке",
|
|
44668
|
+
"More": "Још"
|
|
44669
|
+
};
|
|
44670
|
+
const sl = {
|
|
44671
|
+
"Bold": "Krepko",
|
|
44672
|
+
"Italic": "Ležeče",
|
|
44673
|
+
"Underline": "Podčrtano",
|
|
44674
|
+
"Strikethrough": "Prečrtano",
|
|
44675
|
+
"Bullet list": "Seznam z oznakami",
|
|
44676
|
+
"Numbered list": "Oštevilčen seznam",
|
|
44677
|
+
"Decrease indent": "Zmanjšaj zamik",
|
|
44678
|
+
"Increase indent": "Povečaj zamik",
|
|
44679
|
+
"Blockquote": "Citat",
|
|
44680
|
+
"Align left": "Poravnaj levo",
|
|
44681
|
+
"Align center": "Sredinska poravnava",
|
|
44682
|
+
"Align right": "Poravnaj desno",
|
|
44683
|
+
"Justify": "Obojestranska poravnava",
|
|
44684
|
+
"Text color": "Barva besedila",
|
|
44685
|
+
"Background color": "Barva ozadja",
|
|
44686
|
+
"Remove formatting": "Odstrani oblikovanje",
|
|
44687
|
+
"Copy": "Kopiraj",
|
|
44688
|
+
"Cut": "Izreži",
|
|
44689
|
+
"Paste": "Prilepi",
|
|
44690
|
+
"Undo": "Razveljavi",
|
|
44691
|
+
"Redo": "Uveljavi",
|
|
44692
|
+
"Insert image": "Vstavi sliko",
|
|
44693
|
+
"Special character": "Posebni znak",
|
|
44694
|
+
"Emoticons": "Emotikoni",
|
|
44695
|
+
"Fullscreen": "Celoten zaslon",
|
|
44696
|
+
"Preview": "Predogled",
|
|
44697
|
+
"Source code": "Izvorna koda",
|
|
44698
|
+
"Insert link": "Vstavi povezavo",
|
|
44699
|
+
"Code sample": "Primer kode",
|
|
44700
|
+
"Left to right": "Od leve proti desni",
|
|
44701
|
+
"Right to left": "Od desne proti levi",
|
|
44702
|
+
"Find and replace": "Najdi in zamenjaj",
|
|
44703
|
+
"Font": "Pisava",
|
|
44704
|
+
"Font size": "Velikost pisave",
|
|
44705
|
+
"Line height": "Višina vrstice",
|
|
44706
|
+
"Templates": "Predloge",
|
|
44707
|
+
"Apply": "Uporabi",
|
|
44708
|
+
"Enter image URL:": "Vnesite URL slike:",
|
|
44709
|
+
"Enter URL:": "Vnesite URL:",
|
|
44710
|
+
"Edit HTML source:": "Uredi HTML izvorno kodo:",
|
|
44711
|
+
"Find and Replace": "Najdi in zamenjaj",
|
|
44712
|
+
"Find": "Najdi",
|
|
44713
|
+
"Replace": "Zamenjaj",
|
|
44714
|
+
"Case sensitive": "Razlikuj velike/male črke",
|
|
44715
|
+
"Whole word": "Cela beseda",
|
|
44716
|
+
"Previous": "Prejšnji",
|
|
44717
|
+
"Next": "Naslednji",
|
|
44718
|
+
"Replace All": "Zamenjaj vse",
|
|
44719
|
+
"Search...": "Iskanje...",
|
|
44720
|
+
"Special Character": "Posebni znak",
|
|
44721
|
+
"Upload": "Naloži",
|
|
44722
|
+
"URL": "URL",
|
|
44723
|
+
"Browse...": "Prebrskaj...",
|
|
44724
|
+
"Drop image here or click to browse": "Povlecite sliko sem ali kliknite za brskanje",
|
|
44725
|
+
"Alt text": "Nadomestno besedilo",
|
|
44726
|
+
"Insert": "Vstavi",
|
|
44727
|
+
"Cancel": "Prekliči",
|
|
44728
|
+
"Uploading...": "Nalaganje...",
|
|
44729
|
+
"Upload failed": "Nalaganje ni uspelo",
|
|
44730
|
+
"Invalid image URL": "Neveljaven URL slike",
|
|
44731
|
+
"File too large": "Datoteka je prevelika",
|
|
44732
|
+
"Invalid file type": "Neveljavna vrsta datoteke",
|
|
44733
|
+
"More": "Več"
|
|
44734
|
+
};
|
|
44735
|
+
const es = {
|
|
44736
|
+
"Bold": "Negrita",
|
|
44737
|
+
"Italic": "Cursiva",
|
|
44738
|
+
"Underline": "Subrayado",
|
|
44739
|
+
"Strikethrough": "Tachado",
|
|
44740
|
+
"Bullet list": "Lista con viñetas",
|
|
44741
|
+
"Numbered list": "Lista numerada",
|
|
44742
|
+
"Decrease indent": "Disminuir sangría",
|
|
44743
|
+
"Increase indent": "Aumentar sangría",
|
|
44744
|
+
"Blockquote": "Cita",
|
|
44745
|
+
"Align left": "Alinear a la izquierda",
|
|
44746
|
+
"Align center": "Centrar",
|
|
44747
|
+
"Align right": "Alinear a la derecha",
|
|
44748
|
+
"Justify": "Justificar",
|
|
44749
|
+
"Text color": "Color del texto",
|
|
44750
|
+
"Background color": "Color de fondo",
|
|
44751
|
+
"Remove formatting": "Quitar formato",
|
|
44752
|
+
"Copy": "Copiar",
|
|
44753
|
+
"Cut": "Cortar",
|
|
44754
|
+
"Paste": "Pegar",
|
|
44755
|
+
"Undo": "Deshacer",
|
|
44756
|
+
"Redo": "Rehacer",
|
|
44757
|
+
"Insert image": "Insertar imagen",
|
|
44758
|
+
"Special character": "Carácter especial",
|
|
44759
|
+
"Emoticons": "Emoticonos",
|
|
44760
|
+
"Fullscreen": "Pantalla completa",
|
|
44761
|
+
"Preview": "Vista previa",
|
|
44762
|
+
"Source code": "Código fuente",
|
|
44763
|
+
"Insert link": "Insertar enlace",
|
|
44764
|
+
"Code sample": "Ejemplo de código",
|
|
44765
|
+
"Left to right": "De izquierda a derecha",
|
|
44766
|
+
"Right to left": "De derecha a izquierda",
|
|
44767
|
+
"Find and replace": "Buscar y reemplazar",
|
|
44768
|
+
"Font": "Fuente",
|
|
44769
|
+
"Font size": "Tamaño de fuente",
|
|
44770
|
+
"Line height": "Altura de línea",
|
|
44771
|
+
"Templates": "Plantillas",
|
|
44772
|
+
"Apply": "Aplicar",
|
|
44773
|
+
"Enter image URL:": "Introduzca la URL de la imagen:",
|
|
44774
|
+
"Enter URL:": "Introduzca la URL:",
|
|
44775
|
+
"Edit HTML source:": "Editar código fuente HTML:",
|
|
44776
|
+
"Find and Replace": "Buscar y reemplazar",
|
|
44777
|
+
"Find": "Buscar",
|
|
44778
|
+
"Replace": "Reemplazar",
|
|
44779
|
+
"Case sensitive": "Distinguir mayúsculas/minúsculas",
|
|
44780
|
+
"Whole word": "Palabra completa",
|
|
44781
|
+
"Previous": "Anterior",
|
|
44782
|
+
"Next": "Siguiente",
|
|
44783
|
+
"Replace All": "Reemplazar todo",
|
|
44784
|
+
"Search...": "Buscar...",
|
|
44785
|
+
"Special Character": "Carácter especial",
|
|
44786
|
+
"Upload": "Subir",
|
|
44787
|
+
"URL": "URL",
|
|
44788
|
+
"Browse...": "Examinar...",
|
|
44789
|
+
"Drop image here or click to browse": "Arrastra la imagen aquí o haz clic para examinar",
|
|
44790
|
+
"Alt text": "Texto alternativo",
|
|
44791
|
+
"Insert": "Insertar",
|
|
44792
|
+
"Cancel": "Cancelar",
|
|
44793
|
+
"Uploading...": "Subiendo...",
|
|
44794
|
+
"Upload failed": "Error al subir",
|
|
44795
|
+
"Invalid image URL": "URL de imagen no válida",
|
|
44796
|
+
"File too large": "Archivo demasiado grande",
|
|
44797
|
+
"Invalid file type": "Tipo de archivo no válido",
|
|
44798
|
+
"More": "Más"
|
|
44799
|
+
};
|
|
44800
|
+
const sv = {
|
|
44801
|
+
"Bold": "Fet",
|
|
44802
|
+
"Italic": "Kursiv",
|
|
44803
|
+
"Underline": "Understruken",
|
|
44804
|
+
"Strikethrough": "Genomstruken",
|
|
44805
|
+
"Bullet list": "Punktlista",
|
|
44806
|
+
"Numbered list": "Numrerad lista",
|
|
44807
|
+
"Decrease indent": "Minska indrag",
|
|
44808
|
+
"Increase indent": "Öka indrag",
|
|
44809
|
+
"Blockquote": "Blockcitat",
|
|
44810
|
+
"Align left": "Vänsterjustera",
|
|
44811
|
+
"Align center": "Centrera",
|
|
44812
|
+
"Align right": "Högerjustera",
|
|
44813
|
+
"Justify": "Marginaljustera",
|
|
44814
|
+
"Text color": "Textfärg",
|
|
44815
|
+
"Background color": "Bakgrundsfärg",
|
|
44816
|
+
"Remove formatting": "Ta bort formatering",
|
|
44817
|
+
"Copy": "Kopiera",
|
|
44818
|
+
"Cut": "Klipp ut",
|
|
44819
|
+
"Paste": "Klistra in",
|
|
44820
|
+
"Undo": "Ångra",
|
|
44821
|
+
"Redo": "Gör om",
|
|
44822
|
+
"Insert image": "Infoga bild",
|
|
44823
|
+
"Special character": "Specialtecken",
|
|
44824
|
+
"Emoticons": "Emotikoner",
|
|
44825
|
+
"Fullscreen": "Helskärm",
|
|
44826
|
+
"Preview": "Förhandsgranska",
|
|
44827
|
+
"Source code": "Källkod",
|
|
44828
|
+
"Insert link": "Infoga länk",
|
|
44829
|
+
"Code sample": "Kodexempel",
|
|
44830
|
+
"Left to right": "Vänster till höger",
|
|
44831
|
+
"Right to left": "Höger till vänster",
|
|
44832
|
+
"Find and replace": "Sök och ersätt",
|
|
44833
|
+
"Font": "Teckensnitt",
|
|
44834
|
+
"Font size": "Teckenstorlek",
|
|
44835
|
+
"Line height": "Radhöjd",
|
|
44836
|
+
"Templates": "Mallar",
|
|
44837
|
+
"Apply": "Tillämpa",
|
|
44838
|
+
"Enter image URL:": "Ange bild-URL:",
|
|
44839
|
+
"Enter URL:": "Ange URL:",
|
|
44840
|
+
"Edit HTML source:": "Redigera HTML-källa:",
|
|
44841
|
+
"Find and Replace": "Sök och ersätt",
|
|
44842
|
+
"Find": "Sök",
|
|
44843
|
+
"Replace": "Ersätt",
|
|
44844
|
+
"Case sensitive": "Skiftlägeskänslig",
|
|
44845
|
+
"Whole word": "Helt ord",
|
|
44846
|
+
"Previous": "Föregående",
|
|
44847
|
+
"Next": "Nästa",
|
|
44848
|
+
"Replace All": "Ersätt alla",
|
|
44849
|
+
"Search...": "Sök...",
|
|
44850
|
+
"Special Character": "Specialtecken",
|
|
44851
|
+
"Upload": "Ladda upp",
|
|
44852
|
+
"URL": "URL",
|
|
44853
|
+
"Browse...": "Bläddra...",
|
|
44854
|
+
"Drop image here or click to browse": "Dra bilden hit eller klicka för att bläddra",
|
|
44855
|
+
"Alt text": "Alternativtext",
|
|
44856
|
+
"Insert": "Infoga",
|
|
44857
|
+
"Cancel": "Avbryt",
|
|
44858
|
+
"Uploading...": "Laddar upp...",
|
|
44859
|
+
"Upload failed": "Uppladdning misslyckades",
|
|
44860
|
+
"Invalid image URL": "Ogiltig bild-URL",
|
|
44861
|
+
"File too large": "Filen är för stor",
|
|
44862
|
+
"Invalid file type": "Ogiltig filtyp",
|
|
44863
|
+
"More": "Mer"
|
|
44864
|
+
};
|
|
44865
|
+
const zhTw = {
|
|
44866
|
+
"Bold": "粗體",
|
|
44867
|
+
"Italic": "斜體",
|
|
44868
|
+
"Underline": "底線",
|
|
44869
|
+
"Strikethrough": "刪除線",
|
|
44870
|
+
"Bullet list": "項目符號清單",
|
|
44871
|
+
"Numbered list": "編號清單",
|
|
44872
|
+
"Decrease indent": "減少縮排",
|
|
44873
|
+
"Increase indent": "增加縮排",
|
|
44874
|
+
"Blockquote": "引用",
|
|
44875
|
+
"Align left": "靠左對齊",
|
|
44876
|
+
"Align center": "置中對齊",
|
|
44877
|
+
"Align right": "靠右對齊",
|
|
44878
|
+
"Justify": "左右對齊",
|
|
44879
|
+
"Text color": "文字顏色",
|
|
44880
|
+
"Background color": "背景顏色",
|
|
44881
|
+
"Remove formatting": "清除格式",
|
|
44882
|
+
"Copy": "複製",
|
|
44883
|
+
"Cut": "剪下",
|
|
44884
|
+
"Paste": "貼上",
|
|
44885
|
+
"Undo": "復原",
|
|
44886
|
+
"Redo": "重做",
|
|
44887
|
+
"Insert image": "插入圖片",
|
|
44888
|
+
"Special character": "特殊字元",
|
|
44889
|
+
"Emoticons": "表情符號",
|
|
44890
|
+
"Fullscreen": "全螢幕",
|
|
44891
|
+
"Preview": "預覽",
|
|
44892
|
+
"Source code": "原始碼",
|
|
44893
|
+
"Insert link": "插入連結",
|
|
44894
|
+
"Code sample": "程式碼範例",
|
|
44895
|
+
"Left to right": "由左至右",
|
|
44896
|
+
"Right to left": "由右至左",
|
|
44897
|
+
"Find and replace": "尋找與取代",
|
|
44898
|
+
"Font": "字型",
|
|
44899
|
+
"Font size": "字型大小",
|
|
44900
|
+
"Line height": "行高",
|
|
44901
|
+
"Templates": "範本",
|
|
44902
|
+
"Apply": "套用",
|
|
44903
|
+
"Enter image URL:": "輸入圖片網址:",
|
|
44904
|
+
"Enter URL:": "輸入網址:",
|
|
44905
|
+
"Edit HTML source:": "編輯HTML原始碼:",
|
|
44906
|
+
"Find and Replace": "尋找與取代",
|
|
44907
|
+
"Find": "尋找",
|
|
44908
|
+
"Replace": "取代",
|
|
44909
|
+
"Case sensitive": "區分大小寫",
|
|
44910
|
+
"Whole word": "全字拼寫",
|
|
44911
|
+
"Previous": "上一個",
|
|
44912
|
+
"Next": "下一個",
|
|
44913
|
+
"Replace All": "全部取代",
|
|
44914
|
+
"Search...": "搜尋...",
|
|
44915
|
+
"Special Character": "特殊字元",
|
|
44916
|
+
"Upload": "上傳",
|
|
44917
|
+
"URL": "URL",
|
|
44918
|
+
"Browse...": "瀏覽...",
|
|
44919
|
+
"Drop image here or click to browse": "將圖片拖放至此處或點擊瀏覽",
|
|
44920
|
+
"Alt text": "替代文字",
|
|
44921
|
+
"Insert": "插入",
|
|
44922
|
+
"Cancel": "取消",
|
|
44923
|
+
"Uploading...": "上傳中...",
|
|
44924
|
+
"Upload failed": "上傳失敗",
|
|
44925
|
+
"Invalid image URL": "無效的圖片 URL",
|
|
44926
|
+
"File too large": "檔案過大",
|
|
44927
|
+
"Invalid file type": "無效的檔案類型",
|
|
44928
|
+
"More": "更多"
|
|
44929
|
+
};
|
|
44930
|
+
const th = {
|
|
44931
|
+
"Bold": "ตัวหนา",
|
|
44932
|
+
"Italic": "ตัวเอียง",
|
|
44933
|
+
"Underline": "ขีดเส้นใต้",
|
|
44934
|
+
"Strikethrough": "ขีดฆ่า",
|
|
44935
|
+
"Bullet list": "รายการสัญลักษณ์",
|
|
44936
|
+
"Numbered list": "รายการลำดับเลข",
|
|
44937
|
+
"Decrease indent": "ลดการเยื้อง",
|
|
44938
|
+
"Increase indent": "เพิ่มการเยื้อง",
|
|
44939
|
+
"Blockquote": "บล็อกอ้างอิง",
|
|
44940
|
+
"Align left": "จัดชิดซ้าย",
|
|
44941
|
+
"Align center": "จัดกึ่งกลาง",
|
|
44942
|
+
"Align right": "จัดชิดขวา",
|
|
44943
|
+
"Justify": "จัดเต็มบรรทัด",
|
|
44944
|
+
"Text color": "สีตัวอักษร",
|
|
44945
|
+
"Background color": "สีพื้นหลัง",
|
|
44946
|
+
"Remove formatting": "ล้างการจัดรูปแบบ",
|
|
44947
|
+
"Copy": "คัดลอก",
|
|
44948
|
+
"Cut": "ตัด",
|
|
44949
|
+
"Paste": "วาง",
|
|
44950
|
+
"Undo": "เลิกทำ",
|
|
44951
|
+
"Redo": "ทำซ้ำ",
|
|
44952
|
+
"Insert image": "แทรกรูปภาพ",
|
|
44953
|
+
"Special character": "อักขระพิเศษ",
|
|
44954
|
+
"Emoticons": "อิโมติคอน",
|
|
44955
|
+
"Fullscreen": "เต็มจอ",
|
|
44956
|
+
"Preview": "ดูตัวอย่าง",
|
|
44957
|
+
"Source code": "ซอร์สโค้ด",
|
|
44958
|
+
"Insert link": "แทรกลิงก์",
|
|
44959
|
+
"Code sample": "ตัวอย่างโค้ด",
|
|
44960
|
+
"Left to right": "ซ้ายไปขวา",
|
|
44961
|
+
"Right to left": "ขวาไปซ้าย",
|
|
44962
|
+
"Find and replace": "ค้นหาและแทนที่",
|
|
44963
|
+
"Font": "แบบอักษร",
|
|
44964
|
+
"Font size": "ขนาดอักษร",
|
|
44965
|
+
"Line height": "ความสูงบรรทัด",
|
|
44966
|
+
"Templates": "เทมเพลต",
|
|
44967
|
+
"Apply": "นำไปใช้",
|
|
44968
|
+
"Enter image URL:": "ป้อน URL รูปภาพ:",
|
|
44969
|
+
"Enter URL:": "ป้อน URL:",
|
|
44970
|
+
"Edit HTML source:": "แก้ไขซอร์สโค้ด HTML:",
|
|
44971
|
+
"Find and Replace": "ค้นหาและแทนที่",
|
|
44972
|
+
"Find": "ค้นหา",
|
|
44973
|
+
"Replace": "แทนที่",
|
|
44974
|
+
"Case sensitive": "ตรงตามตัวพิมพ์",
|
|
44975
|
+
"Whole word": "ทั้งคำ",
|
|
44976
|
+
"Previous": "ก่อนหน้า",
|
|
44977
|
+
"Next": "ถัดไป",
|
|
44978
|
+
"Replace All": "แทนที่ทั้งหมด",
|
|
44979
|
+
"Search...": "ค้นหา...",
|
|
44980
|
+
"Special Character": "อักขระพิเศษ",
|
|
44981
|
+
"Upload": "อัปโหลด",
|
|
44982
|
+
"URL": "URL",
|
|
44983
|
+
"Browse...": "เรียกดู...",
|
|
44984
|
+
"Drop image here or click to browse": "ลากรูปภาพมาที่นี่หรือคลิกเพื่อเรียกดู",
|
|
44985
|
+
"Alt text": "ข้อความทดแทน",
|
|
44986
|
+
"Insert": "แทรก",
|
|
44987
|
+
"Cancel": "ยกเลิก",
|
|
44988
|
+
"Uploading...": "กำลังอัปโหลด...",
|
|
44989
|
+
"Upload failed": "อัปโหลดล้มเหลว",
|
|
44990
|
+
"Invalid image URL": "URL รูปภาพไม่ถูกต้อง",
|
|
44991
|
+
"File too large": "ไฟล์ใหญ่เกินไป",
|
|
44992
|
+
"Invalid file type": "ประเภทไฟล์ไม่ถูกต้อง",
|
|
44993
|
+
"More": "เพิ่มเติม"
|
|
44994
|
+
};
|
|
44995
|
+
const tr = {
|
|
44996
|
+
"Bold": "Kalın",
|
|
44997
|
+
"Italic": "İtalik",
|
|
44998
|
+
"Underline": "Altı çizili",
|
|
44999
|
+
"Strikethrough": "Üstü çizili",
|
|
45000
|
+
"Bullet list": "Madde işaretli liste",
|
|
45001
|
+
"Numbered list": "Numaralı liste",
|
|
45002
|
+
"Decrease indent": "Girintiyi azalt",
|
|
45003
|
+
"Increase indent": "Girintiyi artır",
|
|
45004
|
+
"Blockquote": "Alıntı",
|
|
45005
|
+
"Align left": "Sola hizala",
|
|
45006
|
+
"Align center": "Ortala",
|
|
45007
|
+
"Align right": "Sağa hizala",
|
|
45008
|
+
"Justify": "İki yana yasla",
|
|
45009
|
+
"Text color": "Metin rengi",
|
|
45010
|
+
"Background color": "Arka plan rengi",
|
|
45011
|
+
"Remove formatting": "Biçimlendirmeyi kaldır",
|
|
45012
|
+
"Copy": "Kopyala",
|
|
45013
|
+
"Cut": "Kes",
|
|
45014
|
+
"Paste": "Yapıştır",
|
|
45015
|
+
"Undo": "Geri al",
|
|
45016
|
+
"Redo": "Yinele",
|
|
45017
|
+
"Insert image": "Resim ekle",
|
|
45018
|
+
"Special character": "Özel karakter",
|
|
45019
|
+
"Emoticons": "İfadeler",
|
|
45020
|
+
"Fullscreen": "Tam ekran",
|
|
45021
|
+
"Preview": "Önizleme",
|
|
45022
|
+
"Source code": "Kaynak kodu",
|
|
45023
|
+
"Insert link": "Bağlantı ekle",
|
|
45024
|
+
"Code sample": "Kod örneği",
|
|
45025
|
+
"Left to right": "Soldan sağa",
|
|
45026
|
+
"Right to left": "Sağdan sola",
|
|
45027
|
+
"Find and replace": "Bul ve değiştir",
|
|
45028
|
+
"Font": "Yazı tipi",
|
|
45029
|
+
"Font size": "Yazı tipi boyutu",
|
|
45030
|
+
"Line height": "Satır yüksekliği",
|
|
45031
|
+
"Templates": "Şablonlar",
|
|
45032
|
+
"Apply": "Uygula",
|
|
45033
|
+
"Enter image URL:": "Resim URL'sini girin:",
|
|
45034
|
+
"Enter URL:": "URL girin:",
|
|
45035
|
+
"Edit HTML source:": "HTML kaynağını düzenle:",
|
|
45036
|
+
"Find and Replace": "Bul ve değiştir",
|
|
45037
|
+
"Find": "Bul",
|
|
45038
|
+
"Replace": "Değiştir",
|
|
45039
|
+
"Case sensitive": "Büyük/küçük harf duyarlı",
|
|
45040
|
+
"Whole word": "Tam kelime",
|
|
45041
|
+
"Previous": "Önceki",
|
|
45042
|
+
"Next": "Sonraki",
|
|
45043
|
+
"Replace All": "Tümünü değiştir",
|
|
45044
|
+
"Search...": "Ara...",
|
|
45045
|
+
"Special Character": "Özel karakter",
|
|
45046
|
+
"Upload": "Yükle",
|
|
45047
|
+
"URL": "URL",
|
|
45048
|
+
"Browse...": "Gözat...",
|
|
45049
|
+
"Drop image here or click to browse": "Resmi buraya sürükleyin veya gözatmak için tıklayın",
|
|
45050
|
+
"Alt text": "Alternatif metin",
|
|
45051
|
+
"Insert": "Ekle",
|
|
45052
|
+
"Cancel": "İptal",
|
|
45053
|
+
"Uploading...": "Yükleniyor...",
|
|
45054
|
+
"Upload failed": "Yükleme başarısız",
|
|
45055
|
+
"Invalid image URL": "Geçersiz resim URL'si",
|
|
45056
|
+
"File too large": "Dosya çok büyük",
|
|
45057
|
+
"Invalid file type": "Geçersiz dosya türü",
|
|
45058
|
+
"More": "Daha fazla"
|
|
45059
|
+
};
|
|
45060
|
+
const vi = {
|
|
45061
|
+
"Bold": "In đậm",
|
|
45062
|
+
"Italic": "In nghiêng",
|
|
45063
|
+
"Underline": "Gạch chân",
|
|
45064
|
+
"Strikethrough": "Gạch ngang",
|
|
45065
|
+
"Bullet list": "Danh sách có dấu đầu dòng",
|
|
45066
|
+
"Numbered list": "Danh sách đánh số",
|
|
45067
|
+
"Decrease indent": "Giảm thụt lề",
|
|
45068
|
+
"Increase indent": "Tăng thụt lề",
|
|
45069
|
+
"Blockquote": "Trích dẫn",
|
|
45070
|
+
"Align left": "Căn trái",
|
|
45071
|
+
"Align center": "Căn giữa",
|
|
45072
|
+
"Align right": "Căn phải",
|
|
45073
|
+
"Justify": "Căn đều",
|
|
45074
|
+
"Text color": "Màu chữ",
|
|
45075
|
+
"Background color": "Màu nền",
|
|
45076
|
+
"Remove formatting": "Xóa định dạng",
|
|
45077
|
+
"Copy": "Sao chép",
|
|
45078
|
+
"Cut": "Cắt",
|
|
45079
|
+
"Paste": "Dán",
|
|
45080
|
+
"Undo": "Hoàn tác",
|
|
45081
|
+
"Redo": "Làm lại",
|
|
45082
|
+
"Insert image": "Chèn hình ảnh",
|
|
45083
|
+
"Special character": "Ký tự đặc biệt",
|
|
45084
|
+
"Emoticons": "Biểu tượng cảm xúc",
|
|
45085
|
+
"Fullscreen": "Toàn màn hình",
|
|
45086
|
+
"Preview": "Xem trước",
|
|
45087
|
+
"Source code": "Mã nguồn",
|
|
45088
|
+
"Insert link": "Chèn liên kết",
|
|
45089
|
+
"Code sample": "Mẫu mã",
|
|
45090
|
+
"Left to right": "Trái sang phải",
|
|
45091
|
+
"Right to left": "Phải sang trái",
|
|
45092
|
+
"Find and replace": "Tìm và thay thế",
|
|
45093
|
+
"Font": "Phông chữ",
|
|
45094
|
+
"Font size": "Cỡ chữ",
|
|
45095
|
+
"Line height": "Chiều cao dòng",
|
|
45096
|
+
"Templates": "Mẫu",
|
|
45097
|
+
"Apply": "Áp dụng",
|
|
45098
|
+
"Enter image URL:": "Nhập URL hình ảnh:",
|
|
45099
|
+
"Enter URL:": "Nhập URL:",
|
|
45100
|
+
"Edit HTML source:": "Chỉnh sửa mã nguồn HTML:",
|
|
45101
|
+
"Find and Replace": "Tìm và thay thế",
|
|
45102
|
+
"Find": "Tìm",
|
|
45103
|
+
"Replace": "Thay thế",
|
|
45104
|
+
"Case sensitive": "Phân biệt chữ hoa/thường",
|
|
45105
|
+
"Whole word": "Toàn bộ từ",
|
|
45106
|
+
"Previous": "Trước",
|
|
45107
|
+
"Next": "Tiếp",
|
|
45108
|
+
"Replace All": "Thay thế tất cả",
|
|
45109
|
+
"Search...": "Tìm kiếm...",
|
|
45110
|
+
"Special Character": "Ký tự đặc biệt",
|
|
45111
|
+
"Upload": "Tải lên",
|
|
45112
|
+
"URL": "URL",
|
|
45113
|
+
"Browse...": "Duyệt...",
|
|
45114
|
+
"Drop image here or click to browse": "Kéo thả hình ảnh vào đây hoặc nhấp để duyệt",
|
|
45115
|
+
"Alt text": "Văn bản thay thế",
|
|
45116
|
+
"Insert": "Chèn",
|
|
45117
|
+
"Cancel": "Hủy",
|
|
45118
|
+
"Uploading...": "Đang tải lên...",
|
|
45119
|
+
"Upload failed": "Tải lên thất bại",
|
|
45120
|
+
"Invalid image URL": "URL hình ảnh không hợp lệ",
|
|
45121
|
+
"File too large": "Tệp quá lớn",
|
|
45122
|
+
"Invalid file type": "Loại tệp không hợp lệ",
|
|
45123
|
+
"More": "Thêm"
|
|
45124
|
+
};
|
|
45125
|
+
const locales = {
|
|
45126
|
+
en,
|
|
45127
|
+
ar,
|
|
45128
|
+
ca,
|
|
45129
|
+
zh,
|
|
45130
|
+
cs,
|
|
45131
|
+
da,
|
|
45132
|
+
"en-gb": enGb,
|
|
45133
|
+
fi,
|
|
45134
|
+
fr,
|
|
45135
|
+
"fr-ca": frCa,
|
|
45136
|
+
de,
|
|
45137
|
+
el,
|
|
45138
|
+
hu,
|
|
45139
|
+
id,
|
|
45140
|
+
it,
|
|
45141
|
+
ja,
|
|
45142
|
+
ko,
|
|
45143
|
+
nl,
|
|
45144
|
+
nb,
|
|
45145
|
+
pl,
|
|
45146
|
+
pt,
|
|
45147
|
+
ro,
|
|
45148
|
+
ru,
|
|
45149
|
+
sr,
|
|
45150
|
+
sl,
|
|
45151
|
+
es,
|
|
45152
|
+
sv,
|
|
45153
|
+
"zh-tw": zhTw,
|
|
45154
|
+
th,
|
|
45155
|
+
tr,
|
|
45156
|
+
vi
|
|
45157
|
+
};
|
|
45158
|
+
function getLocale(code) {
|
|
45159
|
+
return locales[code] ?? locales["en"];
|
|
45160
|
+
}
|
|
45161
|
+
function createTranslateFunction(code) {
|
|
45162
|
+
const locale = getLocale(code);
|
|
45163
|
+
return (key) => locale[key] ?? key;
|
|
45164
|
+
}
|
|
45165
|
+
const availableLocales = Object.keys(locales);
|
|
45166
|
+
const TRANSLATION_KEYS = Object.keys(en);
|
|
42515
45167
|
const lowlight = createLowlight(grammars);
|
|
42516
45168
|
const fontNames = "Andale Mono=andale mono,times; Arial=arial,helvetica,sans-serif; Arial Black=arial black,avant garde; Book Antiqua=book antiqua,palatino; Comic Sans MS=comic sans ms,sans-serif; Courier New=courier new,courier; Georgia=georgia,palatino; Helvetica=helvetica; Impact=impact,chicago; Tahoma=tahoma,arial,helvetica,sans-serif; Terminal=terminal,monaco; Times New Roman=times new roman,times; Trebuchet MS=trebuchet ms,geneva; Verdana=verdana,geneva";
|
|
42517
|
-
const FULL_TOOLBAR = "bold italic underline strikethrough | bullist numlist outdent indent blockquote | fontfamily fontsize
|
|
42518
|
-
const BASIC_TOOLBAR = "bold italic underline strikethrough | bullist numlist outdent indent | fontfamily fontsize blockquote
|
|
45169
|
+
const FULL_TOOLBAR = "bold italic underline strikethrough | bullist numlist outdent indent blockquote | fontfamily fontsize || lineheight alignleft aligncenter alignright alignjustify | forecolor backcolor | removeformat copy cut paste | undo redo | image charmap emoticons | fullscreen preview | code link codesample | ltr rtl | searchreplace";
|
|
45170
|
+
const BASIC_TOOLBAR = "bold italic underline strikethrough | bullist numlist outdent indent | fontfamily fontsize blockquote || lineheight alignleft aligncenter alignright alignjustify | forecolor backcolor | removeformat copy cut paste | undo redo | charmap emoticons | link | ltr rtl | searchreplace";
|
|
42519
45171
|
const DEFAULT_FONT_SIZES = "8pt 9pt 10pt 12pt 14pt 18pt 24pt 36pt";
|
|
42520
45172
|
let editorIdCounter = 0;
|
|
42521
45173
|
let globalTranslate = (key) => key;
|
|
45174
|
+
let globalTranslateCustomized = false;
|
|
42522
45175
|
let globalGetFileSrc = (path) => path;
|
|
42523
45176
|
function setTranslate(fn) {
|
|
42524
45177
|
globalTranslate = fn;
|
|
45178
|
+
globalTranslateCustomized = true;
|
|
42525
45179
|
}
|
|
42526
45180
|
function getTranslate() {
|
|
42527
45181
|
return globalTranslate;
|
|
42528
45182
|
}
|
|
45183
|
+
function resetTranslate() {
|
|
45184
|
+
globalTranslate = (key) => key;
|
|
45185
|
+
globalTranslateCustomized = false;
|
|
45186
|
+
}
|
|
42529
45187
|
function setGetFileSrc(fn) {
|
|
42530
45188
|
globalGetFileSrc = fn;
|
|
42531
45189
|
}
|
|
@@ -42544,6 +45202,7 @@ class HTMLEditor {
|
|
|
42544
45202
|
customButtons = /* @__PURE__ */ new Map();
|
|
42545
45203
|
eventListeners = /* @__PURE__ */ new Map();
|
|
42546
45204
|
changeTimeout = null;
|
|
45205
|
+
imageUploadHelper = null;
|
|
42547
45206
|
constructor(container, config = {}) {
|
|
42548
45207
|
this.id = `md-editor-${++editorIdCounter}`;
|
|
42549
45208
|
this.container = container;
|
|
@@ -42570,6 +45229,8 @@ class HTMLEditor {
|
|
|
42570
45229
|
images_upload_url: config.images_upload_url,
|
|
42571
45230
|
images_upload_credentials: config.images_upload_credentials ?? true,
|
|
42572
45231
|
images_upload_base_path: config.images_upload_base_path ?? "/",
|
|
45232
|
+
images_upload_max_size: config.images_upload_max_size,
|
|
45233
|
+
images_upload_headers: config.images_upload_headers,
|
|
42573
45234
|
font_family_formats: config.font_family_formats ?? fontNames,
|
|
42574
45235
|
font_size_formats: config.font_size_formats ?? DEFAULT_FONT_SIZES,
|
|
42575
45236
|
fontName: config.fontName,
|
|
@@ -42583,7 +45244,7 @@ class HTMLEditor {
|
|
|
42583
45244
|
content_css: config.content_css ?? "default",
|
|
42584
45245
|
content_style: config.content_style,
|
|
42585
45246
|
toolbar: config.toolbar ?? (config.basicEditor ? BASIC_TOOLBAR : FULL_TOOLBAR),
|
|
42586
|
-
toolbar_mode: config.toolbar_mode ?? "
|
|
45247
|
+
toolbar_mode: config.toolbar_mode ?? "wrap",
|
|
42587
45248
|
toolbar_sticky: config.toolbar_sticky ?? true,
|
|
42588
45249
|
menubar: config.menubar ?? false,
|
|
42589
45250
|
contextmenu: config.contextmenu ?? "",
|
|
@@ -42599,6 +45260,9 @@ class HTMLEditor {
|
|
|
42599
45260
|
};
|
|
42600
45261
|
}
|
|
42601
45262
|
createEditor() {
|
|
45263
|
+
if (!globalTranslateCustomized) {
|
|
45264
|
+
globalTranslate = createTranslateFunction(this.config.language ?? "en");
|
|
45265
|
+
}
|
|
42602
45266
|
this.editorWrapper = document.createElement("div");
|
|
42603
45267
|
this.editorWrapper.className = `md-editor md-editor-${this.config.skin}`;
|
|
42604
45268
|
this.editorWrapper.id = this.id;
|
|
@@ -42666,6 +45330,70 @@ class HTMLEditor {
|
|
|
42666
45330
|
}
|
|
42667
45331
|
}, 10);
|
|
42668
45332
|
}
|
|
45333
|
+
if (!this.config.basicEditor) {
|
|
45334
|
+
this.setupImageHandlers(editorContent);
|
|
45335
|
+
}
|
|
45336
|
+
}
|
|
45337
|
+
getImageUploadHelper() {
|
|
45338
|
+
if (!this.imageUploadHelper) {
|
|
45339
|
+
this.imageUploadHelper = new ImageUpload({
|
|
45340
|
+
onInsert: () => {
|
|
45341
|
+
},
|
|
45342
|
+
uploadUrl: this.config.images_upload_url,
|
|
45343
|
+
uploadCredentials: this.config.images_upload_credentials,
|
|
45344
|
+
uploadBasePath: this.config.images_upload_base_path,
|
|
45345
|
+
uploadMaxSize: this.config.images_upload_max_size,
|
|
45346
|
+
uploadHeaders: this.config.images_upload_headers,
|
|
45347
|
+
trans: globalTranslate
|
|
45348
|
+
});
|
|
45349
|
+
}
|
|
45350
|
+
return this.imageUploadHelper;
|
|
45351
|
+
}
|
|
45352
|
+
setupImageHandlers(editorContent) {
|
|
45353
|
+
editorContent.addEventListener("dragover", (e) => {
|
|
45354
|
+
if (e.dataTransfer?.types.includes("Files")) {
|
|
45355
|
+
e.preventDefault();
|
|
45356
|
+
e.dataTransfer.dropEffect = "copy";
|
|
45357
|
+
this.editorWrapper?.classList.add("md-editor-dragover");
|
|
45358
|
+
}
|
|
45359
|
+
});
|
|
45360
|
+
editorContent.addEventListener("dragleave", (e) => {
|
|
45361
|
+
const related = e.relatedTarget;
|
|
45362
|
+
if (!related || !editorContent.contains(related)) {
|
|
45363
|
+
this.editorWrapper?.classList.remove("md-editor-dragover");
|
|
45364
|
+
}
|
|
45365
|
+
});
|
|
45366
|
+
editorContent.addEventListener("drop", (e) => {
|
|
45367
|
+
this.editorWrapper?.classList.remove("md-editor-dragover");
|
|
45368
|
+
const files = e.dataTransfer?.files;
|
|
45369
|
+
if (!files || files.length === 0) return;
|
|
45370
|
+
const imageFile = Array.from(files).find((f) => f.type.startsWith("image/"));
|
|
45371
|
+
if (!imageFile) return;
|
|
45372
|
+
e.preventDefault();
|
|
45373
|
+
e.stopPropagation();
|
|
45374
|
+
this.handleImageFileUpload(imageFile);
|
|
45375
|
+
});
|
|
45376
|
+
editorContent.addEventListener("paste", (e) => {
|
|
45377
|
+
const items = e.clipboardData?.items;
|
|
45378
|
+
if (!items) return;
|
|
45379
|
+
for (const item of Array.from(items)) {
|
|
45380
|
+
if (item.type.startsWith("image/")) {
|
|
45381
|
+
const file = item.getAsFile();
|
|
45382
|
+
if (file) {
|
|
45383
|
+
e.preventDefault();
|
|
45384
|
+
this.handleImageFileUpload(file);
|
|
45385
|
+
return;
|
|
45386
|
+
}
|
|
45387
|
+
}
|
|
45388
|
+
}
|
|
45389
|
+
});
|
|
45390
|
+
}
|
|
45391
|
+
handleImageFileUpload(file) {
|
|
45392
|
+
const helper = this.getImageUploadHelper();
|
|
45393
|
+
helper.uploadFile(file).then((src) => {
|
|
45394
|
+
this.tiptap?.chain().focus().setImage({ src }).run();
|
|
45395
|
+
}).catch(() => {
|
|
45396
|
+
});
|
|
42669
45397
|
}
|
|
42670
45398
|
buildExtensions() {
|
|
42671
45399
|
const extensions = [
|
|
@@ -42876,6 +45604,8 @@ class HTMLEditor {
|
|
|
42876
45604
|
this.toolbar = null;
|
|
42877
45605
|
this.tiptap?.destroy();
|
|
42878
45606
|
this.tiptap = null;
|
|
45607
|
+
this.imageUploadHelper?.destroy();
|
|
45608
|
+
this.imageUploadHelper = null;
|
|
42879
45609
|
if (this.editorWrapper) {
|
|
42880
45610
|
this.editorWrapper.remove();
|
|
42881
45611
|
}
|
|
@@ -42886,6 +45616,15 @@ class HTMLEditor {
|
|
|
42886
45616
|
getTipTap() {
|
|
42887
45617
|
return this.tiptap;
|
|
42888
45618
|
}
|
|
45619
|
+
/**
|
|
45620
|
+
* Set the UI language, updating all toolbar and dialog translations.
|
|
45621
|
+
*/
|
|
45622
|
+
setLanguage(code) {
|
|
45623
|
+
this.config.language = code;
|
|
45624
|
+
globalTranslate = createTranslateFunction(code);
|
|
45625
|
+
this.toolbar?.rebuild();
|
|
45626
|
+
this.fire("languagechange", code);
|
|
45627
|
+
}
|
|
42889
45628
|
/**
|
|
42890
45629
|
* Get the editor config
|
|
42891
45630
|
*/
|
|
@@ -42908,11 +45647,16 @@ export {
|
|
|
42908
45647
|
HTMLEditor,
|
|
42909
45648
|
LineHeight,
|
|
42910
45649
|
SearchReplace,
|
|
45650
|
+
TRANSLATION_KEYS,
|
|
42911
45651
|
TextDirection,
|
|
42912
45652
|
Toolbar,
|
|
45653
|
+
availableLocales,
|
|
45654
|
+
createTranslateFunction,
|
|
42913
45655
|
fontNames,
|
|
42914
45656
|
getGetFileSrc,
|
|
45657
|
+
getLocale,
|
|
42915
45658
|
getTranslate,
|
|
45659
|
+
resetTranslate,
|
|
42916
45660
|
setGetFileSrc,
|
|
42917
45661
|
setTranslate
|
|
42918
45662
|
};
|