autumnnote 1.0.8 → 1.0.9
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 +331 -637
- package/dist/autumnnote.es.js +2865 -158
- package/dist/autumnnote.es.js.map +1 -1
- package/dist/autumnnote.umd.js +2864 -157
- package/dist/autumnnote.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/js/Context.js +4 -0
- package/src/js/i18n/de.js +320 -0
- package/src/js/i18n/en.js +328 -0
- package/src/js/i18n/es.js +320 -0
- package/src/js/i18n/fr.js +321 -0
- package/src/js/i18n/index.js +59 -0
- package/src/js/i18n/ja.js +321 -0
- package/src/js/i18n/ko.js +320 -0
- package/src/js/i18n/vi.js +321 -0
- package/src/js/i18n/zh.js +321 -0
- package/src/js/index.js +2 -1
- package/src/js/module/CodeTooltip.js +12 -9
- package/src/js/module/ContextMenu.js +13 -11
- package/src/js/module/EmojiDialog.js +8 -7
- package/src/js/module/FindReplace.js +14 -13
- package/src/js/module/IconDialog.js +14 -13
- package/src/js/module/ImageDialog.js +17 -16
- package/src/js/module/ImageTooltip.js +13 -12
- package/src/js/module/LinkDialog.js +10 -9
- package/src/js/module/LinkTooltip.js +6 -5
- package/src/js/module/ShortcutsDialog.js +5 -4
- package/src/js/module/Statusbar.js +6 -5
- package/src/js/module/TableTooltip.js +22 -19
- package/src/js/module/Toolbar.js +21 -15
- package/src/js/module/VideoDialog.js +10 -9
- package/src/js/module/VideoTooltip.js +12 -11
- package/src/js/settings.js +4 -0
- package/types/index.d.ts +58 -1
package/dist/autumnnote.umd.js
CHANGED
|
@@ -1161,9 +1161,2699 @@
|
|
|
1161
1161
|
onDestroy: null,
|
|
1162
1162
|
onCharLimitReached: null,
|
|
1163
1163
|
onWordLimitReached: null,
|
|
1164
|
-
focusColor: null
|
|
1164
|
+
focusColor: null,
|
|
1165
|
+
lang: "en"
|
|
1165
1166
|
};
|
|
1166
1167
|
//#endregion
|
|
1168
|
+
//#region src/js/i18n/en.js
|
|
1169
|
+
/**
|
|
1170
|
+
* en.js - English locale (canonical reference)
|
|
1171
|
+
* All other locales deep-merge against this to fill missing keys.
|
|
1172
|
+
*/
|
|
1173
|
+
/** @type {import('../../../types/index.js').AsnLocale} */
|
|
1174
|
+
var en = {
|
|
1175
|
+
toolbar: {
|
|
1176
|
+
bold: "Bold (Ctrl+B)",
|
|
1177
|
+
italic: "Italic (Ctrl+I)",
|
|
1178
|
+
underline: "Underline (Ctrl+U)",
|
|
1179
|
+
strikethrough: "Strikethrough",
|
|
1180
|
+
superscript: "Superscript",
|
|
1181
|
+
subscript: "Subscript",
|
|
1182
|
+
alignLeft: "Align Left",
|
|
1183
|
+
alignCenter: "Align Center",
|
|
1184
|
+
alignRight: "Align Right",
|
|
1185
|
+
alignJustify: "Justify",
|
|
1186
|
+
ul: "Unordered List",
|
|
1187
|
+
ol: "Ordered List",
|
|
1188
|
+
checklist: "Checklist",
|
|
1189
|
+
indent: "Indent",
|
|
1190
|
+
outdent: "Outdent",
|
|
1191
|
+
undo: "Undo (Ctrl+Z)",
|
|
1192
|
+
redo: "Redo (Ctrl+Y)",
|
|
1193
|
+
hr: "Horizontal Rule",
|
|
1194
|
+
link: "Insert Link",
|
|
1195
|
+
image: "Insert Image",
|
|
1196
|
+
video: "Insert Video",
|
|
1197
|
+
emoji: "Insert Emoji",
|
|
1198
|
+
icon: "Insert FA Icon",
|
|
1199
|
+
table: "Insert Table",
|
|
1200
|
+
fontSize: "Font Size",
|
|
1201
|
+
fontSizePlaceholder: "Size",
|
|
1202
|
+
removeFormat: "Remove Format",
|
|
1203
|
+
direction: "Toggle Text Direction (LTR / RTL)",
|
|
1204
|
+
fontFamily: "Font Family",
|
|
1205
|
+
paragraphStyle: "Paragraph Style",
|
|
1206
|
+
paragraphStylePlaceholder: "Style",
|
|
1207
|
+
lineHeight: "Line Height",
|
|
1208
|
+
lineHeightPlaceholder: "↕ Line",
|
|
1209
|
+
codeview: "HTML Code View",
|
|
1210
|
+
fullscreen: "Fullscreen",
|
|
1211
|
+
shortcuts: "Keyboard Shortcuts (Ctrl+Shift+/)",
|
|
1212
|
+
find: "Find (Ctrl+F)",
|
|
1213
|
+
findReplace: "Find & Replace (Ctrl+H)",
|
|
1214
|
+
inlineCode: "Inline Code (Ctrl+`)",
|
|
1215
|
+
print: "Print",
|
|
1216
|
+
foreColor: "Text Color",
|
|
1217
|
+
backColor: "Highlight Color",
|
|
1218
|
+
chooseTextColor: "Choose text color",
|
|
1219
|
+
chooseHighlightColor: "Choose highlight color",
|
|
1220
|
+
customColor: "Custom color",
|
|
1221
|
+
insertTableLabel: "Insert Table",
|
|
1222
|
+
paragraphItems: {
|
|
1223
|
+
p: "Normal",
|
|
1224
|
+
blockquote: "Quote",
|
|
1225
|
+
pre: "Code"
|
|
1226
|
+
}
|
|
1227
|
+
},
|
|
1228
|
+
linkDialog: {
|
|
1229
|
+
ariaLabel: "Insert link",
|
|
1230
|
+
title: "Insert Link",
|
|
1231
|
+
url: "URL",
|
|
1232
|
+
urlPlaceholder: "https://",
|
|
1233
|
+
displayText: "Display Text",
|
|
1234
|
+
textPlaceholder: "Link text",
|
|
1235
|
+
openInNewTab: "Open in new tab",
|
|
1236
|
+
insertBtn: "Insert",
|
|
1237
|
+
cancelBtn: "Cancel"
|
|
1238
|
+
},
|
|
1239
|
+
imageDialog: {
|
|
1240
|
+
ariaLabel: "Insert image",
|
|
1241
|
+
title: "Insert Image",
|
|
1242
|
+
imageUrl: "Image URL",
|
|
1243
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
1244
|
+
altText: "Alt Text",
|
|
1245
|
+
altPlaceholder: "Describe the image",
|
|
1246
|
+
alignment: "Alignment",
|
|
1247
|
+
alignNone: "None",
|
|
1248
|
+
alignLeft: "Left",
|
|
1249
|
+
alignCenter: "Center",
|
|
1250
|
+
alignRight: "Right",
|
|
1251
|
+
uploadLabel: "Or upload a file",
|
|
1252
|
+
insertBtn: "Insert",
|
|
1253
|
+
cancelBtn: "Cancel"
|
|
1254
|
+
},
|
|
1255
|
+
videoDialog: {
|
|
1256
|
+
ariaLabel: "Insert video",
|
|
1257
|
+
title: "Insert Video",
|
|
1258
|
+
videoUrl: "Video URL",
|
|
1259
|
+
urlPlaceholder: "YouTube, Vimeo, or direct .mp4 URL",
|
|
1260
|
+
widthLabel: "Width (px)",
|
|
1261
|
+
widthPlaceholder: "560",
|
|
1262
|
+
insertBtn: "Insert",
|
|
1263
|
+
cancelBtn: "Cancel",
|
|
1264
|
+
detected: (type) => `Detected: ${type}`,
|
|
1265
|
+
unknownFormat: "Unknown format — will try direct video embed",
|
|
1266
|
+
invalidUrl: "Invalid URL — please enter a valid video link."
|
|
1267
|
+
},
|
|
1268
|
+
emojiDialog: {
|
|
1269
|
+
ariaLabel: "Insert emoji",
|
|
1270
|
+
title: "Insert Emoji",
|
|
1271
|
+
searchPlaceholder: "Search emojis…",
|
|
1272
|
+
all: "All",
|
|
1273
|
+
cancelBtn: "Cancel",
|
|
1274
|
+
close: "Close",
|
|
1275
|
+
categories: {
|
|
1276
|
+
smileys: "Smileys",
|
|
1277
|
+
people: "People",
|
|
1278
|
+
animals: "Animals",
|
|
1279
|
+
food: "Food",
|
|
1280
|
+
travel: "Travel",
|
|
1281
|
+
objects: "Objects",
|
|
1282
|
+
symbols: "Symbols"
|
|
1283
|
+
}
|
|
1284
|
+
},
|
|
1285
|
+
iconDialog: {
|
|
1286
|
+
ariaLabel: "Insert FA icon",
|
|
1287
|
+
title: "Insert FA Icon",
|
|
1288
|
+
searchPlaceholder: "Search icons…",
|
|
1289
|
+
all: "All",
|
|
1290
|
+
style: "Style",
|
|
1291
|
+
size: "Size",
|
|
1292
|
+
color: "Color",
|
|
1293
|
+
useColor: " Use color",
|
|
1294
|
+
selectHint: "Select an icon",
|
|
1295
|
+
insertBtn: "Insert FA Icon",
|
|
1296
|
+
cancelBtn: "Cancel",
|
|
1297
|
+
close: "Close",
|
|
1298
|
+
categories: {
|
|
1299
|
+
popular: "Popular",
|
|
1300
|
+
interface: "Interface",
|
|
1301
|
+
navigation: "Navigation",
|
|
1302
|
+
media: "Media",
|
|
1303
|
+
communication: "Communication",
|
|
1304
|
+
files: "Files",
|
|
1305
|
+
people: "People",
|
|
1306
|
+
objects: "Objects"
|
|
1307
|
+
}
|
|
1308
|
+
},
|
|
1309
|
+
findReplace: {
|
|
1310
|
+
findTitle: "Find",
|
|
1311
|
+
findReplaceTitle: "Find & Replace",
|
|
1312
|
+
findPlaceholder: "Find…",
|
|
1313
|
+
searchAriaLabel: "Search text",
|
|
1314
|
+
caseSensitive: "\xA0Case sensitive",
|
|
1315
|
+
prevBtn: "← Prev",
|
|
1316
|
+
nextBtn: "Next →",
|
|
1317
|
+
replacePlaceholder: "Replace with…",
|
|
1318
|
+
replaceAriaLabel: "Replace with",
|
|
1319
|
+
replaceBtn: "Replace",
|
|
1320
|
+
replaceAllBtn: "Replace All",
|
|
1321
|
+
close: "×"
|
|
1322
|
+
},
|
|
1323
|
+
shortcutsDialog: {
|
|
1324
|
+
title: "Keyboard Shortcuts",
|
|
1325
|
+
ariaLabel: "Keyboard Shortcuts",
|
|
1326
|
+
close: "Close",
|
|
1327
|
+
shortcuts: [
|
|
1328
|
+
{
|
|
1329
|
+
category: "Text Formatting",
|
|
1330
|
+
items: [
|
|
1331
|
+
{
|
|
1332
|
+
keys: "Ctrl + B",
|
|
1333
|
+
action: "Bold"
|
|
1334
|
+
},
|
|
1335
|
+
{
|
|
1336
|
+
keys: "Ctrl + I",
|
|
1337
|
+
action: "Italic"
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
keys: "Ctrl + U",
|
|
1341
|
+
action: "Underline"
|
|
1342
|
+
},
|
|
1343
|
+
{
|
|
1344
|
+
keys: "Ctrl + K",
|
|
1345
|
+
action: "Insert / edit link"
|
|
1346
|
+
}
|
|
1347
|
+
]
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
category: "History",
|
|
1351
|
+
items: [{
|
|
1352
|
+
keys: "Ctrl + Z",
|
|
1353
|
+
action: "Undo"
|
|
1354
|
+
}, {
|
|
1355
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
1356
|
+
action: "Redo"
|
|
1357
|
+
}]
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
category: "Selection & Navigation",
|
|
1361
|
+
items: [
|
|
1362
|
+
{
|
|
1363
|
+
keys: "Ctrl + A",
|
|
1364
|
+
action: "Select all content"
|
|
1365
|
+
},
|
|
1366
|
+
{
|
|
1367
|
+
keys: "Tab",
|
|
1368
|
+
action: "Indent list item / insert spaces"
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
keys: "Shift + Tab",
|
|
1372
|
+
action: "Outdent list item"
|
|
1373
|
+
}
|
|
1374
|
+
]
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
category: "Clipboard",
|
|
1378
|
+
items: [{
|
|
1379
|
+
keys: "Ctrl + Shift + V",
|
|
1380
|
+
action: "Paste as plain text"
|
|
1381
|
+
}]
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
category: "Find & Replace",
|
|
1385
|
+
items: [{
|
|
1386
|
+
keys: "Ctrl + F",
|
|
1387
|
+
action: "Find in document"
|
|
1388
|
+
}, {
|
|
1389
|
+
keys: "Ctrl + H",
|
|
1390
|
+
action: "Find & Replace"
|
|
1391
|
+
}]
|
|
1392
|
+
},
|
|
1393
|
+
{
|
|
1394
|
+
category: "Editor",
|
|
1395
|
+
items: [{
|
|
1396
|
+
keys: "Ctrl + Shift + /",
|
|
1397
|
+
action: "Show this keyboard shortcuts dialog"
|
|
1398
|
+
}]
|
|
1399
|
+
}
|
|
1400
|
+
]
|
|
1401
|
+
},
|
|
1402
|
+
contextMenu: {
|
|
1403
|
+
cut: "Cut",
|
|
1404
|
+
copy: "Copy",
|
|
1405
|
+
paste: "Paste",
|
|
1406
|
+
bold: "Bold",
|
|
1407
|
+
italic: "Italic",
|
|
1408
|
+
underline: "Underline",
|
|
1409
|
+
textColor: "Text Color",
|
|
1410
|
+
highlightColor: "Highlight Color",
|
|
1411
|
+
copyFormat: "Copy Format",
|
|
1412
|
+
pasteFormat: "Paste Format",
|
|
1413
|
+
removeFormat: "Remove Format",
|
|
1414
|
+
link: "Insert Link",
|
|
1415
|
+
image: "Insert Image",
|
|
1416
|
+
video: "Insert Video",
|
|
1417
|
+
table: "Insert Table",
|
|
1418
|
+
back: "Back",
|
|
1419
|
+
noHighlight: "No highlight",
|
|
1420
|
+
customColor: "Custom color",
|
|
1421
|
+
customColorLabel: "Custom…"
|
|
1422
|
+
},
|
|
1423
|
+
statusbar: {
|
|
1424
|
+
resizeHandle: "Resize editor",
|
|
1425
|
+
words: (n) => `Words: ${n}`,
|
|
1426
|
+
wordsLimit: (n, max) => `Words: ${n}/${max}`,
|
|
1427
|
+
chars: (n) => `Chars: ${n}`,
|
|
1428
|
+
charsLimit: (n, max) => `Chars: ${n}/${max}`
|
|
1429
|
+
},
|
|
1430
|
+
tooltips: {
|
|
1431
|
+
link: {
|
|
1432
|
+
ariaLabel: "Link actions",
|
|
1433
|
+
openLink: "Open link",
|
|
1434
|
+
copyUrl: "Copy URL",
|
|
1435
|
+
editLink: "Edit link",
|
|
1436
|
+
removeLink: "Remove link"
|
|
1437
|
+
},
|
|
1438
|
+
image: {
|
|
1439
|
+
ariaLabel: "Image actions",
|
|
1440
|
+
label: "Image",
|
|
1441
|
+
floatLeft: "Float Left",
|
|
1442
|
+
noFloat: "No Float",
|
|
1443
|
+
alignCenter: "Align Center",
|
|
1444
|
+
floatRight: "Float Right",
|
|
1445
|
+
originalSize: "Original Size",
|
|
1446
|
+
rotateLeft: "Rotate Left",
|
|
1447
|
+
rotateRight: "Rotate Right",
|
|
1448
|
+
cropImage: "Crop Image",
|
|
1449
|
+
addCaption: "Add / Edit Caption",
|
|
1450
|
+
deleteImage: "Delete Image"
|
|
1451
|
+
},
|
|
1452
|
+
code: {
|
|
1453
|
+
ariaLabel: "Code block actions",
|
|
1454
|
+
label: "Code",
|
|
1455
|
+
syntaxLanguage: "Syntax Language",
|
|
1456
|
+
syntaxAriaLabel: "Syntax language",
|
|
1457
|
+
copyCode: "Copy Code",
|
|
1458
|
+
toggleWordWrap: "Toggle Word Wrap",
|
|
1459
|
+
enableWordWrap: "Enable Word Wrap",
|
|
1460
|
+
disableWordWrap: "Disable Word Wrap",
|
|
1461
|
+
convertToParagraph: "Convert to Paragraph",
|
|
1462
|
+
deleteCodeBlock: "Delete Code Block"
|
|
1463
|
+
},
|
|
1464
|
+
table: {
|
|
1465
|
+
ariaLabel: "Table actions",
|
|
1466
|
+
label: "Table",
|
|
1467
|
+
selectCells: "Select Cells",
|
|
1468
|
+
addRowAbove: "Add Row Above",
|
|
1469
|
+
addRowBelow: "Add Row Below",
|
|
1470
|
+
deleteRow: "Delete Row",
|
|
1471
|
+
addColumnLeft: "Add Column Left",
|
|
1472
|
+
addColumnRight: "Add Column Right",
|
|
1473
|
+
deleteColumn: "Delete Column",
|
|
1474
|
+
mergeCells: "Merge Cells",
|
|
1475
|
+
unmergeCells: "Unmerge Cells",
|
|
1476
|
+
columnWidth: "Column Width",
|
|
1477
|
+
rowHeight: "Row Height",
|
|
1478
|
+
tableBorderWidth: "Table Border Width",
|
|
1479
|
+
deleteTable: "Delete Table",
|
|
1480
|
+
columnWidthPx: "Column Width (px)",
|
|
1481
|
+
rowHeightPx: "Row Height (px)",
|
|
1482
|
+
tableBorderWidthPx: "Table Border Width (px)",
|
|
1483
|
+
cancelBtn: "Cancel",
|
|
1484
|
+
applyBtn: "Apply"
|
|
1485
|
+
},
|
|
1486
|
+
video: {
|
|
1487
|
+
ariaLabel: "Video actions",
|
|
1488
|
+
label: "Video",
|
|
1489
|
+
floatLeft: "Float Left",
|
|
1490
|
+
noFloat: "No Float",
|
|
1491
|
+
alignCenter: "Align Center",
|
|
1492
|
+
floatRight: "Float Right",
|
|
1493
|
+
originalSize: "Original Size",
|
|
1494
|
+
previewVideo: "Preview Video",
|
|
1495
|
+
exitPreview: "Exit Preview",
|
|
1496
|
+
deleteVideo: "Delete Video"
|
|
1497
|
+
}
|
|
1498
|
+
},
|
|
1499
|
+
errors: {
|
|
1500
|
+
imageFormat: (type) => `Format "${type}" is not supported for display in web browsers. Please convert to JPEG, PNG, or WebP first.`,
|
|
1501
|
+
imageSize: (maxSize) => `Image file is too large. Maximum allowed size is ${maxSize} MB.`
|
|
1502
|
+
}
|
|
1503
|
+
};
|
|
1504
|
+
//#endregion
|
|
1505
|
+
//#region src/js/i18n/index.js
|
|
1506
|
+
/**
|
|
1507
|
+
* i18n/index.js — Locale registry and resolver for autumn-note-ce.
|
|
1508
|
+
*
|
|
1509
|
+
* Usage:
|
|
1510
|
+
* lang: 'en' → built-in English (default)
|
|
1511
|
+
* lang: 'vi' → built-in Vietnamese
|
|
1512
|
+
* lang: 'ja' → built-in Japanese
|
|
1513
|
+
* lang: 'zh' → built-in Simplified Chinese
|
|
1514
|
+
* lang: 'fr' → built-in French
|
|
1515
|
+
* lang: 'de' → built-in German
|
|
1516
|
+
* lang: 'es' → built-in Spanish
|
|
1517
|
+
* lang: 'ko' → built-in Korean
|
|
1518
|
+
* lang: { ... } → custom locale object, deep-merged over English
|
|
1519
|
+
*/
|
|
1520
|
+
/**
|
|
1521
|
+
* All built-in locales keyed by their language code.
|
|
1522
|
+
* @type {Record<string, Partial<AsnLocale>>}
|
|
1523
|
+
*/
|
|
1524
|
+
var locales = {
|
|
1525
|
+
en,
|
|
1526
|
+
vi: {
|
|
1527
|
+
toolbar: {
|
|
1528
|
+
bold: "Đậm (Ctrl+B)",
|
|
1529
|
+
italic: "Nghiêng (Ctrl+I)",
|
|
1530
|
+
underline: "Gạch chân (Ctrl+U)",
|
|
1531
|
+
strikethrough: "Gạch ngang",
|
|
1532
|
+
superscript: "Chỉ số trên",
|
|
1533
|
+
subscript: "Chỉ số dưới",
|
|
1534
|
+
alignLeft: "Căn trái",
|
|
1535
|
+
alignCenter: "Căn giữa",
|
|
1536
|
+
alignRight: "Căn phải",
|
|
1537
|
+
alignJustify: "Căn đều",
|
|
1538
|
+
ul: "Danh sách không thứ tự",
|
|
1539
|
+
ol: "Danh sách có thứ tự",
|
|
1540
|
+
checklist: "Danh sách kiểm tra",
|
|
1541
|
+
indent: "Tăng thụt đầu dòng",
|
|
1542
|
+
outdent: "Giảm thụt đầu dòng",
|
|
1543
|
+
undo: "Hoàn tác (Ctrl+Z)",
|
|
1544
|
+
redo: "Làm lại (Ctrl+Y)",
|
|
1545
|
+
hr: "Đường kẻ ngang",
|
|
1546
|
+
link: "Chèn liên kết",
|
|
1547
|
+
image: "Chèn hình ảnh",
|
|
1548
|
+
video: "Chèn video",
|
|
1549
|
+
emoji: "Chèn biểu tượng cảm xúc",
|
|
1550
|
+
icon: "Chèn biểu tượng FA",
|
|
1551
|
+
table: "Chèn bảng",
|
|
1552
|
+
fontSize: "Cỡ chữ",
|
|
1553
|
+
fontSizePlaceholder: "Cỡ",
|
|
1554
|
+
removeFormat: "Xóa định dạng",
|
|
1555
|
+
direction: "Chuyển hướng văn bản (LTR / RTL)",
|
|
1556
|
+
fontFamily: "Phông chữ",
|
|
1557
|
+
paragraphStyle: "Kiểu đoạn văn",
|
|
1558
|
+
paragraphStylePlaceholder: "Kiểu",
|
|
1559
|
+
lineHeight: "Khoảng cách dòng",
|
|
1560
|
+
lineHeightPlaceholder: "↕ Dòng",
|
|
1561
|
+
codeview: "Xem mã HTML",
|
|
1562
|
+
fullscreen: "Toàn màn hình",
|
|
1563
|
+
shortcuts: "Phím tắt (Ctrl+Shift+/)",
|
|
1564
|
+
find: "Tìm kiếm (Ctrl+F)",
|
|
1565
|
+
findReplace: "Tìm & Thay thế (Ctrl+H)",
|
|
1566
|
+
inlineCode: "Mã nội tuyến (Ctrl+`)",
|
|
1567
|
+
print: "In",
|
|
1568
|
+
foreColor: "Màu chữ",
|
|
1569
|
+
backColor: "Màu nền chữ",
|
|
1570
|
+
chooseTextColor: "Chọn màu chữ",
|
|
1571
|
+
chooseHighlightColor: "Chọn màu nền",
|
|
1572
|
+
customColor: "Màu tùy chỉnh",
|
|
1573
|
+
insertTableLabel: "Chèn bảng",
|
|
1574
|
+
paragraphItems: {
|
|
1575
|
+
p: "Bình thường",
|
|
1576
|
+
blockquote: "Trích dẫn",
|
|
1577
|
+
pre: "Mã"
|
|
1578
|
+
}
|
|
1579
|
+
},
|
|
1580
|
+
linkDialog: {
|
|
1581
|
+
ariaLabel: "Chèn liên kết",
|
|
1582
|
+
title: "Chèn liên kết",
|
|
1583
|
+
url: "Địa chỉ URL",
|
|
1584
|
+
urlPlaceholder: "https://",
|
|
1585
|
+
displayText: "Văn bản hiển thị",
|
|
1586
|
+
textPlaceholder: "Nội dung liên kết",
|
|
1587
|
+
openInNewTab: "Mở trong tab mới",
|
|
1588
|
+
insertBtn: "Chèn",
|
|
1589
|
+
cancelBtn: "Hủy"
|
|
1590
|
+
},
|
|
1591
|
+
imageDialog: {
|
|
1592
|
+
ariaLabel: "Chèn hình ảnh",
|
|
1593
|
+
title: "Chèn hình ảnh",
|
|
1594
|
+
imageUrl: "URL hình ảnh",
|
|
1595
|
+
urlPlaceholder: "https://example.com/anh.png",
|
|
1596
|
+
altText: "Văn bản thay thế",
|
|
1597
|
+
altPlaceholder: "Mô tả hình ảnh",
|
|
1598
|
+
alignment: "Căn chỉnh",
|
|
1599
|
+
alignNone: "Không",
|
|
1600
|
+
alignLeft: "Trái",
|
|
1601
|
+
alignCenter: "Giữa",
|
|
1602
|
+
alignRight: "Phải",
|
|
1603
|
+
uploadLabel: "Hoặc tải lên tệp",
|
|
1604
|
+
insertBtn: "Chèn",
|
|
1605
|
+
cancelBtn: "Hủy"
|
|
1606
|
+
},
|
|
1607
|
+
videoDialog: {
|
|
1608
|
+
ariaLabel: "Chèn video",
|
|
1609
|
+
title: "Chèn video",
|
|
1610
|
+
videoUrl: "URL video",
|
|
1611
|
+
urlPlaceholder: "YouTube, Vimeo, hoặc URL .mp4 trực tiếp",
|
|
1612
|
+
widthLabel: "Chiều rộng (px)",
|
|
1613
|
+
widthPlaceholder: "560",
|
|
1614
|
+
insertBtn: "Chèn",
|
|
1615
|
+
cancelBtn: "Hủy",
|
|
1616
|
+
detected: (type) => `Đã phát hiện: ${type}`,
|
|
1617
|
+
unknownFormat: "Định dạng không xác định — sẽ thử nhúng video trực tiếp",
|
|
1618
|
+
invalidUrl: "URL không hợp lệ — vui lòng nhập đường dẫn video hợp lệ."
|
|
1619
|
+
},
|
|
1620
|
+
emojiDialog: {
|
|
1621
|
+
ariaLabel: "Chèn biểu tượng cảm xúc",
|
|
1622
|
+
title: "Chèn biểu tượng cảm xúc",
|
|
1623
|
+
searchPlaceholder: "Tìm kiếm biểu tượng…",
|
|
1624
|
+
all: "Tất cả",
|
|
1625
|
+
cancelBtn: "Hủy",
|
|
1626
|
+
close: "Đóng",
|
|
1627
|
+
categories: {
|
|
1628
|
+
smileys: "Mặt cười",
|
|
1629
|
+
people: "Con người",
|
|
1630
|
+
animals: "Động vật",
|
|
1631
|
+
food: "Thức ăn",
|
|
1632
|
+
travel: "Du lịch",
|
|
1633
|
+
objects: "Đồ vật",
|
|
1634
|
+
symbols: "Ký hiệu"
|
|
1635
|
+
}
|
|
1636
|
+
},
|
|
1637
|
+
iconDialog: {
|
|
1638
|
+
ariaLabel: "Chèn biểu tượng FA",
|
|
1639
|
+
title: "Chèn biểu tượng FA",
|
|
1640
|
+
searchPlaceholder: "Tìm kiếm biểu tượng…",
|
|
1641
|
+
all: "Tất cả",
|
|
1642
|
+
style: "Kiểu",
|
|
1643
|
+
size: "Kích thước",
|
|
1644
|
+
color: "Màu sắc",
|
|
1645
|
+
useColor: " Dùng màu",
|
|
1646
|
+
selectHint: "Chọn một biểu tượng",
|
|
1647
|
+
insertBtn: "Chèn biểu tượng FA",
|
|
1648
|
+
cancelBtn: "Hủy",
|
|
1649
|
+
close: "Đóng",
|
|
1650
|
+
categories: {
|
|
1651
|
+
popular: "Phổ biến",
|
|
1652
|
+
interface: "Giao diện",
|
|
1653
|
+
navigation: "Điều hướng",
|
|
1654
|
+
media: "Phương tiện",
|
|
1655
|
+
communication: "Liên lạc",
|
|
1656
|
+
files: "Tệp tin",
|
|
1657
|
+
people: "Con người",
|
|
1658
|
+
objects: "Đồ vật"
|
|
1659
|
+
}
|
|
1660
|
+
},
|
|
1661
|
+
findReplace: {
|
|
1662
|
+
findTitle: "Tìm kiếm",
|
|
1663
|
+
findReplaceTitle: "Tìm & Thay thế",
|
|
1664
|
+
findPlaceholder: "Tìm…",
|
|
1665
|
+
searchAriaLabel: "Văn bản tìm kiếm",
|
|
1666
|
+
caseSensitive: "\xA0Phân biệt hoa thường",
|
|
1667
|
+
prevBtn: "← Trước",
|
|
1668
|
+
nextBtn: "Tiếp →",
|
|
1669
|
+
replacePlaceholder: "Thay thế bằng…",
|
|
1670
|
+
replaceAriaLabel: "Thay thế bằng",
|
|
1671
|
+
replaceBtn: "Thay thế",
|
|
1672
|
+
replaceAllBtn: "Thay thế tất cả",
|
|
1673
|
+
close: "×"
|
|
1674
|
+
},
|
|
1675
|
+
shortcutsDialog: {
|
|
1676
|
+
title: "Phím tắt bàn phím",
|
|
1677
|
+
ariaLabel: "Phím tắt bàn phím",
|
|
1678
|
+
close: "Đóng",
|
|
1679
|
+
shortcuts: [
|
|
1680
|
+
{
|
|
1681
|
+
category: "Định dạng văn bản",
|
|
1682
|
+
items: [
|
|
1683
|
+
{
|
|
1684
|
+
keys: "Ctrl + B",
|
|
1685
|
+
action: "Đậm"
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
keys: "Ctrl + I",
|
|
1689
|
+
action: "Nghiêng"
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
keys: "Ctrl + U",
|
|
1693
|
+
action: "Gạch chân"
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
keys: "Ctrl + K",
|
|
1697
|
+
action: "Chèn / sửa liên kết"
|
|
1698
|
+
}
|
|
1699
|
+
]
|
|
1700
|
+
},
|
|
1701
|
+
{
|
|
1702
|
+
category: "Lịch sử",
|
|
1703
|
+
items: [{
|
|
1704
|
+
keys: "Ctrl + Z",
|
|
1705
|
+
action: "Hoàn tác"
|
|
1706
|
+
}, {
|
|
1707
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
1708
|
+
action: "Làm lại"
|
|
1709
|
+
}]
|
|
1710
|
+
},
|
|
1711
|
+
{
|
|
1712
|
+
category: "Chọn & Điều hướng",
|
|
1713
|
+
items: [
|
|
1714
|
+
{
|
|
1715
|
+
keys: "Ctrl + A",
|
|
1716
|
+
action: "Chọn tất cả"
|
|
1717
|
+
},
|
|
1718
|
+
{
|
|
1719
|
+
keys: "Tab",
|
|
1720
|
+
action: "Tăng thụt đầu dòng / chèn khoảng trắng"
|
|
1721
|
+
},
|
|
1722
|
+
{
|
|
1723
|
+
keys: "Shift + Tab",
|
|
1724
|
+
action: "Giảm thụt đầu dòng"
|
|
1725
|
+
}
|
|
1726
|
+
]
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
category: "Bảng nhớ tạm",
|
|
1730
|
+
items: [{
|
|
1731
|
+
keys: "Ctrl + Shift + V",
|
|
1732
|
+
action: "Dán dưới dạng văn bản thuần"
|
|
1733
|
+
}]
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
category: "Tìm & Thay thế",
|
|
1737
|
+
items: [{
|
|
1738
|
+
keys: "Ctrl + F",
|
|
1739
|
+
action: "Tìm trong tài liệu"
|
|
1740
|
+
}, {
|
|
1741
|
+
keys: "Ctrl + H",
|
|
1742
|
+
action: "Tìm & Thay thế"
|
|
1743
|
+
}]
|
|
1744
|
+
},
|
|
1745
|
+
{
|
|
1746
|
+
category: "Trình soạn thảo",
|
|
1747
|
+
items: [{
|
|
1748
|
+
keys: "Ctrl + Shift + /",
|
|
1749
|
+
action: "Hiện hộp thoại phím tắt"
|
|
1750
|
+
}]
|
|
1751
|
+
}
|
|
1752
|
+
]
|
|
1753
|
+
},
|
|
1754
|
+
contextMenu: {
|
|
1755
|
+
cut: "Cắt",
|
|
1756
|
+
copy: "Sao chép",
|
|
1757
|
+
paste: "Dán",
|
|
1758
|
+
bold: "Đậm",
|
|
1759
|
+
italic: "Nghiêng",
|
|
1760
|
+
underline: "Gạch chân",
|
|
1761
|
+
textColor: "Màu chữ",
|
|
1762
|
+
highlightColor: "Màu nền chữ",
|
|
1763
|
+
copyFormat: "Sao chép định dạng",
|
|
1764
|
+
pasteFormat: "Dán định dạng",
|
|
1765
|
+
removeFormat: "Xóa định dạng",
|
|
1766
|
+
link: "Chèn liên kết",
|
|
1767
|
+
image: "Chèn hình ảnh",
|
|
1768
|
+
video: "Chèn video",
|
|
1769
|
+
table: "Chèn bảng",
|
|
1770
|
+
back: "Quay lại",
|
|
1771
|
+
noHighlight: "Không tô màu",
|
|
1772
|
+
customColor: "Màu tùy chỉnh",
|
|
1773
|
+
customColorLabel: "Tùy chỉnh…"
|
|
1774
|
+
},
|
|
1775
|
+
statusbar: {
|
|
1776
|
+
resizeHandle: "Kéo để thay đổi kích thước",
|
|
1777
|
+
words: (n) => `Từ: ${n}`,
|
|
1778
|
+
wordsLimit: (n, max) => `Từ: ${n}/${max}`,
|
|
1779
|
+
chars: (n) => `Ký tự: ${n}`,
|
|
1780
|
+
charsLimit: (n, max) => `Ký tự: ${n}/${max}`
|
|
1781
|
+
},
|
|
1782
|
+
tooltips: {
|
|
1783
|
+
link: {
|
|
1784
|
+
ariaLabel: "Hành động liên kết",
|
|
1785
|
+
openLink: "Mở liên kết",
|
|
1786
|
+
copyUrl: "Sao chép URL",
|
|
1787
|
+
editLink: "Sửa liên kết",
|
|
1788
|
+
removeLink: "Xóa liên kết"
|
|
1789
|
+
},
|
|
1790
|
+
image: {
|
|
1791
|
+
ariaLabel: "Hành động hình ảnh",
|
|
1792
|
+
label: "Hình ảnh",
|
|
1793
|
+
floatLeft: "Nổi trái",
|
|
1794
|
+
noFloat: "Không nổi",
|
|
1795
|
+
alignCenter: "Căn giữa",
|
|
1796
|
+
floatRight: "Nổi phải",
|
|
1797
|
+
originalSize: "Kích thước gốc",
|
|
1798
|
+
rotateLeft: "Xoay trái",
|
|
1799
|
+
rotateRight: "Xoay phải",
|
|
1800
|
+
cropImage: "Cắt ảnh",
|
|
1801
|
+
addCaption: "Thêm / Sửa chú thích",
|
|
1802
|
+
deleteImage: "Xóa hình ảnh"
|
|
1803
|
+
},
|
|
1804
|
+
code: {
|
|
1805
|
+
ariaLabel: "Hành động khối mã",
|
|
1806
|
+
label: "Mã",
|
|
1807
|
+
syntaxLanguage: "Ngôn ngữ cú pháp",
|
|
1808
|
+
syntaxAriaLabel: "Ngôn ngữ cú pháp",
|
|
1809
|
+
copyCode: "Sao chép mã",
|
|
1810
|
+
toggleWordWrap: "Chuyển đổi xuống dòng",
|
|
1811
|
+
enableWordWrap: "Bật xuống dòng",
|
|
1812
|
+
disableWordWrap: "Tắt xuống dòng",
|
|
1813
|
+
convertToParagraph: "Chuyển thành đoạn văn",
|
|
1814
|
+
deleteCodeBlock: "Xóa khối mã"
|
|
1815
|
+
},
|
|
1816
|
+
table: {
|
|
1817
|
+
ariaLabel: "Hành động bảng",
|
|
1818
|
+
label: "Bảng",
|
|
1819
|
+
selectCells: "Chọn ô",
|
|
1820
|
+
addRowAbove: "Thêm hàng phía trên",
|
|
1821
|
+
addRowBelow: "Thêm hàng phía dưới",
|
|
1822
|
+
deleteRow: "Xóa hàng",
|
|
1823
|
+
addColumnLeft: "Thêm cột bên trái",
|
|
1824
|
+
addColumnRight: "Thêm cột bên phải",
|
|
1825
|
+
deleteColumn: "Xóa cột",
|
|
1826
|
+
mergeCells: "Gộp ô",
|
|
1827
|
+
unmergeCells: "Tách ô",
|
|
1828
|
+
columnWidth: "Chiều rộng cột",
|
|
1829
|
+
rowHeight: "Chiều cao hàng",
|
|
1830
|
+
tableBorderWidth: "Độ rộng viền bảng",
|
|
1831
|
+
deleteTable: "Xóa bảng",
|
|
1832
|
+
columnWidthPx: "Chiều rộng cột (px)",
|
|
1833
|
+
rowHeightPx: "Chiều cao hàng (px)",
|
|
1834
|
+
tableBorderWidthPx: "Độ rộng viền bảng (px)",
|
|
1835
|
+
cancelBtn: "Hủy",
|
|
1836
|
+
applyBtn: "Áp dụng"
|
|
1837
|
+
},
|
|
1838
|
+
video: {
|
|
1839
|
+
ariaLabel: "Hành động video",
|
|
1840
|
+
label: "Video",
|
|
1841
|
+
floatLeft: "Nổi trái",
|
|
1842
|
+
noFloat: "Không nổi",
|
|
1843
|
+
alignCenter: "Căn giữa",
|
|
1844
|
+
floatRight: "Nổi phải",
|
|
1845
|
+
originalSize: "Kích thước gốc",
|
|
1846
|
+
previewVideo: "Xem trước",
|
|
1847
|
+
exitPreview: "Thoát xem trước",
|
|
1848
|
+
deleteVideo: "Xóa video"
|
|
1849
|
+
}
|
|
1850
|
+
},
|
|
1851
|
+
errors: {
|
|
1852
|
+
imageFormat: (type) => `Định dạng "${type}" không được hỗ trợ hiển thị trên trình duyệt. Vui lòng chuyển đổi sang JPEG, PNG hoặc WebP.`,
|
|
1853
|
+
imageSize: (maxSize) => `Tệp hình ảnh quá lớn. Kích thước tối đa cho phép là ${maxSize} MB.`
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1856
|
+
ja: {
|
|
1857
|
+
toolbar: {
|
|
1858
|
+
bold: "太字 (Ctrl+B)",
|
|
1859
|
+
italic: "斜体 (Ctrl+I)",
|
|
1860
|
+
underline: "下線 (Ctrl+U)",
|
|
1861
|
+
strikethrough: "取り消し線",
|
|
1862
|
+
superscript: "上付き文字",
|
|
1863
|
+
subscript: "下付き文字",
|
|
1864
|
+
alignLeft: "左揃え",
|
|
1865
|
+
alignCenter: "中央揃え",
|
|
1866
|
+
alignRight: "右揃え",
|
|
1867
|
+
alignJustify: "両端揃え",
|
|
1868
|
+
ul: "箇条書きリスト",
|
|
1869
|
+
ol: "番号付きリスト",
|
|
1870
|
+
checklist: "チェックリスト",
|
|
1871
|
+
indent: "インデントを増やす",
|
|
1872
|
+
outdent: "インデントを減らす",
|
|
1873
|
+
undo: "元に戻す (Ctrl+Z)",
|
|
1874
|
+
redo: "やり直す (Ctrl+Y)",
|
|
1875
|
+
hr: "水平線",
|
|
1876
|
+
link: "リンクを挿入",
|
|
1877
|
+
image: "画像を挿入",
|
|
1878
|
+
video: "動画を挿入",
|
|
1879
|
+
emoji: "絵文字を挿入",
|
|
1880
|
+
icon: "FAアイコンを挿入",
|
|
1881
|
+
table: "テーブルを挿入",
|
|
1882
|
+
fontSize: "フォントサイズ",
|
|
1883
|
+
fontSizePlaceholder: "サイズ",
|
|
1884
|
+
removeFormat: "書式をリセット",
|
|
1885
|
+
direction: "文字方向を切り替え (LTR / RTL)",
|
|
1886
|
+
fontFamily: "フォント",
|
|
1887
|
+
paragraphStyle: "段落スタイル",
|
|
1888
|
+
paragraphStylePlaceholder: "スタイル",
|
|
1889
|
+
lineHeight: "行の高さ",
|
|
1890
|
+
lineHeightPlaceholder: "↕ 行間",
|
|
1891
|
+
codeview: "HTMLソースを表示",
|
|
1892
|
+
fullscreen: "全画面表示",
|
|
1893
|
+
shortcuts: "キーボードショートカット (Ctrl+Shift+/)",
|
|
1894
|
+
find: "検索 (Ctrl+F)",
|
|
1895
|
+
findReplace: "検索と置換 (Ctrl+H)",
|
|
1896
|
+
inlineCode: "インラインコード (Ctrl+`)",
|
|
1897
|
+
print: "印刷",
|
|
1898
|
+
foreColor: "文字色",
|
|
1899
|
+
backColor: "ハイライト色",
|
|
1900
|
+
chooseTextColor: "文字色を選択",
|
|
1901
|
+
chooseHighlightColor: "ハイライト色を選択",
|
|
1902
|
+
customColor: "カスタムカラー",
|
|
1903
|
+
insertTableLabel: "テーブルを挿入",
|
|
1904
|
+
paragraphItems: {
|
|
1905
|
+
p: "標準",
|
|
1906
|
+
blockquote: "引用",
|
|
1907
|
+
pre: "コード"
|
|
1908
|
+
}
|
|
1909
|
+
},
|
|
1910
|
+
linkDialog: {
|
|
1911
|
+
ariaLabel: "リンクを挿入",
|
|
1912
|
+
title: "リンクを挿入",
|
|
1913
|
+
url: "URL",
|
|
1914
|
+
urlPlaceholder: "https://",
|
|
1915
|
+
displayText: "表示テキスト",
|
|
1916
|
+
textPlaceholder: "リンクテキスト",
|
|
1917
|
+
openInNewTab: "新しいタブで開く",
|
|
1918
|
+
insertBtn: "挿入",
|
|
1919
|
+
cancelBtn: "キャンセル"
|
|
1920
|
+
},
|
|
1921
|
+
imageDialog: {
|
|
1922
|
+
ariaLabel: "画像を挿入",
|
|
1923
|
+
title: "画像を挿入",
|
|
1924
|
+
imageUrl: "画像URL",
|
|
1925
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
1926
|
+
altText: "代替テキスト",
|
|
1927
|
+
altPlaceholder: "画像の説明",
|
|
1928
|
+
alignment: "配置",
|
|
1929
|
+
alignNone: "なし",
|
|
1930
|
+
alignLeft: "左",
|
|
1931
|
+
alignCenter: "中央",
|
|
1932
|
+
alignRight: "右",
|
|
1933
|
+
uploadLabel: "ファイルをアップロード",
|
|
1934
|
+
insertBtn: "挿入",
|
|
1935
|
+
cancelBtn: "キャンセル"
|
|
1936
|
+
},
|
|
1937
|
+
videoDialog: {
|
|
1938
|
+
ariaLabel: "動画を挿入",
|
|
1939
|
+
title: "動画を挿入",
|
|
1940
|
+
videoUrl: "動画URL",
|
|
1941
|
+
urlPlaceholder: "YouTube、Vimeo、または直接動画URL",
|
|
1942
|
+
widthLabel: "幅 (px)",
|
|
1943
|
+
widthPlaceholder: "560",
|
|
1944
|
+
insertBtn: "挿入",
|
|
1945
|
+
cancelBtn: "キャンセル",
|
|
1946
|
+
detected: (type) => `検出: ${type}`,
|
|
1947
|
+
unknownFormat: "不明な形式 — 直接動画埋め込みを試みます",
|
|
1948
|
+
invalidUrl: "URLが無効です — 有効な動画URLを入力してください。"
|
|
1949
|
+
},
|
|
1950
|
+
emojiDialog: {
|
|
1951
|
+
ariaLabel: "絵文字を挿入",
|
|
1952
|
+
title: "絵文字を挿入",
|
|
1953
|
+
searchPlaceholder: "絵文字を検索…",
|
|
1954
|
+
all: "すべて",
|
|
1955
|
+
cancelBtn: "キャンセル",
|
|
1956
|
+
close: "閉じる",
|
|
1957
|
+
categories: {
|
|
1958
|
+
smileys: "顔文字",
|
|
1959
|
+
people: "人物",
|
|
1960
|
+
animals: "動物",
|
|
1961
|
+
food: "食べ物",
|
|
1962
|
+
travel: "旅行",
|
|
1963
|
+
objects: "モノ",
|
|
1964
|
+
symbols: "記号"
|
|
1965
|
+
}
|
|
1966
|
+
},
|
|
1967
|
+
iconDialog: {
|
|
1968
|
+
ariaLabel: "FAアイコンを挿入",
|
|
1969
|
+
title: "FAアイコンを挿入",
|
|
1970
|
+
searchPlaceholder: "アイコンを検索…",
|
|
1971
|
+
all: "すべて",
|
|
1972
|
+
style: "スタイル",
|
|
1973
|
+
size: "サイズ",
|
|
1974
|
+
color: "カラー",
|
|
1975
|
+
useColor: " カラーを使用",
|
|
1976
|
+
selectHint: "アイコンを選択してください",
|
|
1977
|
+
insertBtn: "FAアイコンを挿入",
|
|
1978
|
+
cancelBtn: "キャンセル",
|
|
1979
|
+
close: "閉じる",
|
|
1980
|
+
categories: {
|
|
1981
|
+
popular: "人気",
|
|
1982
|
+
interface: "インターフェース",
|
|
1983
|
+
navigation: "ナビゲーション",
|
|
1984
|
+
media: "メディア",
|
|
1985
|
+
communication: "通信",
|
|
1986
|
+
files: "ファイル",
|
|
1987
|
+
people: "人物",
|
|
1988
|
+
objects: "モノ"
|
|
1989
|
+
}
|
|
1990
|
+
},
|
|
1991
|
+
findReplace: {
|
|
1992
|
+
findTitle: "検索",
|
|
1993
|
+
findReplaceTitle: "検索と置換",
|
|
1994
|
+
findPlaceholder: "検索…",
|
|
1995
|
+
searchAriaLabel: "検索テキスト",
|
|
1996
|
+
caseSensitive: "\xA0大文字/小文字を区別",
|
|
1997
|
+
prevBtn: "← 前へ",
|
|
1998
|
+
nextBtn: "次へ →",
|
|
1999
|
+
replacePlaceholder: "置換後…",
|
|
2000
|
+
replaceAriaLabel: "置換後のテキスト",
|
|
2001
|
+
replaceBtn: "置換",
|
|
2002
|
+
replaceAllBtn: "すべて置換",
|
|
2003
|
+
close: "×"
|
|
2004
|
+
},
|
|
2005
|
+
shortcutsDialog: {
|
|
2006
|
+
title: "キーボードショートカット",
|
|
2007
|
+
ariaLabel: "キーボードショートカット",
|
|
2008
|
+
close: "閉じる",
|
|
2009
|
+
shortcuts: [
|
|
2010
|
+
{
|
|
2011
|
+
category: "テキスト書式",
|
|
2012
|
+
items: [
|
|
2013
|
+
{
|
|
2014
|
+
keys: "Ctrl + B",
|
|
2015
|
+
action: "太字"
|
|
2016
|
+
},
|
|
2017
|
+
{
|
|
2018
|
+
keys: "Ctrl + I",
|
|
2019
|
+
action: "斜体"
|
|
2020
|
+
},
|
|
2021
|
+
{
|
|
2022
|
+
keys: "Ctrl + U",
|
|
2023
|
+
action: "下線"
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
keys: "Ctrl + K",
|
|
2027
|
+
action: "リンクの挿入 / 編集"
|
|
2028
|
+
}
|
|
2029
|
+
]
|
|
2030
|
+
},
|
|
2031
|
+
{
|
|
2032
|
+
category: "履歴",
|
|
2033
|
+
items: [{
|
|
2034
|
+
keys: "Ctrl + Z",
|
|
2035
|
+
action: "元に戻す"
|
|
2036
|
+
}, {
|
|
2037
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
2038
|
+
action: "やり直す"
|
|
2039
|
+
}]
|
|
2040
|
+
},
|
|
2041
|
+
{
|
|
2042
|
+
category: "選択と移動",
|
|
2043
|
+
items: [
|
|
2044
|
+
{
|
|
2045
|
+
keys: "Ctrl + A",
|
|
2046
|
+
action: "すべて選択"
|
|
2047
|
+
},
|
|
2048
|
+
{
|
|
2049
|
+
keys: "Tab",
|
|
2050
|
+
action: "インデント増加 / スペース挿入"
|
|
2051
|
+
},
|
|
2052
|
+
{
|
|
2053
|
+
keys: "Shift + Tab",
|
|
2054
|
+
action: "インデント減少"
|
|
2055
|
+
}
|
|
2056
|
+
]
|
|
2057
|
+
},
|
|
2058
|
+
{
|
|
2059
|
+
category: "クリップボード",
|
|
2060
|
+
items: [{
|
|
2061
|
+
keys: "Ctrl + Shift + V",
|
|
2062
|
+
action: "プレーンテキストとして貼り付け"
|
|
2063
|
+
}]
|
|
2064
|
+
},
|
|
2065
|
+
{
|
|
2066
|
+
category: "検索と置換",
|
|
2067
|
+
items: [{
|
|
2068
|
+
keys: "Ctrl + F",
|
|
2069
|
+
action: "文書内を検索"
|
|
2070
|
+
}, {
|
|
2071
|
+
keys: "Ctrl + H",
|
|
2072
|
+
action: "検索と置換"
|
|
2073
|
+
}]
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
category: "エディター",
|
|
2077
|
+
items: [{
|
|
2078
|
+
keys: "Ctrl + Shift + /",
|
|
2079
|
+
action: "ショートカットダイアログを表示"
|
|
2080
|
+
}]
|
|
2081
|
+
}
|
|
2082
|
+
]
|
|
2083
|
+
},
|
|
2084
|
+
contextMenu: {
|
|
2085
|
+
cut: "切り取り",
|
|
2086
|
+
copy: "コピー",
|
|
2087
|
+
paste: "貼り付け",
|
|
2088
|
+
bold: "太字",
|
|
2089
|
+
italic: "斜体",
|
|
2090
|
+
underline: "下線",
|
|
2091
|
+
textColor: "文字色",
|
|
2092
|
+
highlightColor: "ハイライト色",
|
|
2093
|
+
copyFormat: "書式をコピー",
|
|
2094
|
+
pasteFormat: "書式を貼り付け",
|
|
2095
|
+
removeFormat: "書式をリセット",
|
|
2096
|
+
link: "リンクを挿入",
|
|
2097
|
+
image: "画像を挿入",
|
|
2098
|
+
video: "動画を挿入",
|
|
2099
|
+
table: "テーブルを挿入",
|
|
2100
|
+
back: "戻る",
|
|
2101
|
+
noHighlight: "ハイライトなし",
|
|
2102
|
+
customColor: "カスタムカラー",
|
|
2103
|
+
customColorLabel: "カスタム…"
|
|
2104
|
+
},
|
|
2105
|
+
statusbar: {
|
|
2106
|
+
resizeHandle: "ドラッグしてリサイズ",
|
|
2107
|
+
words: (n) => `単語数: ${n}`,
|
|
2108
|
+
wordsLimit: (n, max) => `単語数: ${n}/${max}`,
|
|
2109
|
+
chars: (n) => `文字数: ${n}`,
|
|
2110
|
+
charsLimit: (n, max) => `文字数: ${n}/${max}`
|
|
2111
|
+
},
|
|
2112
|
+
tooltips: {
|
|
2113
|
+
link: {
|
|
2114
|
+
ariaLabel: "リンク操作",
|
|
2115
|
+
openLink: "リンクを開く",
|
|
2116
|
+
copyUrl: "URLをコピー",
|
|
2117
|
+
editLink: "リンクを編集",
|
|
2118
|
+
removeLink: "リンクを削除"
|
|
2119
|
+
},
|
|
2120
|
+
image: {
|
|
2121
|
+
ariaLabel: "画像操作",
|
|
2122
|
+
label: "画像",
|
|
2123
|
+
floatLeft: "左に回り込み",
|
|
2124
|
+
noFloat: "回り込みなし",
|
|
2125
|
+
alignCenter: "中央揃え",
|
|
2126
|
+
floatRight: "右に回り込み",
|
|
2127
|
+
originalSize: "元のサイズ",
|
|
2128
|
+
rotateLeft: "左に回転",
|
|
2129
|
+
rotateRight: "右に回転",
|
|
2130
|
+
cropImage: "画像をトリミング",
|
|
2131
|
+
addCaption: "キャプションを追加 / 編集",
|
|
2132
|
+
deleteImage: "画像を削除"
|
|
2133
|
+
},
|
|
2134
|
+
code: {
|
|
2135
|
+
ariaLabel: "コードブロック操作",
|
|
2136
|
+
label: "コード",
|
|
2137
|
+
syntaxLanguage: "言語",
|
|
2138
|
+
syntaxAriaLabel: "構文言語",
|
|
2139
|
+
copyCode: "コードをコピー",
|
|
2140
|
+
toggleWordWrap: "折り返しを切り替え",
|
|
2141
|
+
enableWordWrap: "折り返しを有効にする",
|
|
2142
|
+
disableWordWrap: "折り返しを無効にする",
|
|
2143
|
+
convertToParagraph: "段落に変換",
|
|
2144
|
+
deleteCodeBlock: "コードブロックを削除"
|
|
2145
|
+
},
|
|
2146
|
+
table: {
|
|
2147
|
+
ariaLabel: "テーブル操作",
|
|
2148
|
+
label: "テーブル",
|
|
2149
|
+
selectCells: "セルを選択",
|
|
2150
|
+
addRowAbove: "上に行を追加",
|
|
2151
|
+
addRowBelow: "下に行を追加",
|
|
2152
|
+
deleteRow: "行を削除",
|
|
2153
|
+
addColumnLeft: "左に列を追加",
|
|
2154
|
+
addColumnRight: "右に列を追加",
|
|
2155
|
+
deleteColumn: "列を削除",
|
|
2156
|
+
mergeCells: "セルを結合",
|
|
2157
|
+
unmergeCells: "セルの結合を解除",
|
|
2158
|
+
columnWidth: "列幅",
|
|
2159
|
+
rowHeight: "行の高さ",
|
|
2160
|
+
tableBorderWidth: "テーブルの枠幅",
|
|
2161
|
+
deleteTable: "テーブルを削除",
|
|
2162
|
+
columnWidthPx: "列幅 (px)",
|
|
2163
|
+
rowHeightPx: "行の高さ (px)",
|
|
2164
|
+
tableBorderWidthPx: "テーブルの枠幅 (px)",
|
|
2165
|
+
cancelBtn: "キャンセル",
|
|
2166
|
+
applyBtn: "適用"
|
|
2167
|
+
},
|
|
2168
|
+
video: {
|
|
2169
|
+
ariaLabel: "動画操作",
|
|
2170
|
+
label: "動画",
|
|
2171
|
+
floatLeft: "左に回り込み",
|
|
2172
|
+
noFloat: "回り込みなし",
|
|
2173
|
+
alignCenter: "中央揃え",
|
|
2174
|
+
floatRight: "右に回り込み",
|
|
2175
|
+
originalSize: "元のサイズ",
|
|
2176
|
+
previewVideo: "プレビュー",
|
|
2177
|
+
exitPreview: "プレビューを終了",
|
|
2178
|
+
deleteVideo: "動画を削除"
|
|
2179
|
+
}
|
|
2180
|
+
},
|
|
2181
|
+
errors: {
|
|
2182
|
+
imageFormat: (type) => `形式 "${type}" はブラウザでの表示をサポートしていません。JPEG、PNG、または WebP に変換してください。`,
|
|
2183
|
+
imageSize: (maxSize) => `画像ファイルが大きすぎます。最大許容サイズは ${maxSize} MB です。`
|
|
2184
|
+
}
|
|
2185
|
+
},
|
|
2186
|
+
zh: {
|
|
2187
|
+
toolbar: {
|
|
2188
|
+
bold: "粗体 (Ctrl+B)",
|
|
2189
|
+
italic: "斜体 (Ctrl+I)",
|
|
2190
|
+
underline: "下划线 (Ctrl+U)",
|
|
2191
|
+
strikethrough: "删除线",
|
|
2192
|
+
superscript: "上标",
|
|
2193
|
+
subscript: "下标",
|
|
2194
|
+
alignLeft: "左对齐",
|
|
2195
|
+
alignCenter: "居中",
|
|
2196
|
+
alignRight: "右对齐",
|
|
2197
|
+
alignJustify: "两端对齐",
|
|
2198
|
+
ul: "无序列表",
|
|
2199
|
+
ol: "有序列表",
|
|
2200
|
+
checklist: "待办列表",
|
|
2201
|
+
indent: "增加缩进",
|
|
2202
|
+
outdent: "减少缩进",
|
|
2203
|
+
undo: "撤销 (Ctrl+Z)",
|
|
2204
|
+
redo: "重做 (Ctrl+Y)",
|
|
2205
|
+
hr: "水平分割线",
|
|
2206
|
+
link: "插入链接",
|
|
2207
|
+
image: "插入图片",
|
|
2208
|
+
video: "插入视频",
|
|
2209
|
+
emoji: "插入表情",
|
|
2210
|
+
icon: "插入 FA 图标",
|
|
2211
|
+
table: "插入表格",
|
|
2212
|
+
fontSize: "字号",
|
|
2213
|
+
fontSizePlaceholder: "大小",
|
|
2214
|
+
removeFormat: "清除格式",
|
|
2215
|
+
direction: "切换文字方向 (LTR / RTL)",
|
|
2216
|
+
fontFamily: "字体",
|
|
2217
|
+
paragraphStyle: "段落样式",
|
|
2218
|
+
paragraphStylePlaceholder: "样式",
|
|
2219
|
+
lineHeight: "行高",
|
|
2220
|
+
lineHeightPlaceholder: "↕ 行距",
|
|
2221
|
+
codeview: "查看 HTML 源码",
|
|
2222
|
+
fullscreen: "全屏",
|
|
2223
|
+
shortcuts: "键盘快捷键 (Ctrl+Shift+/)",
|
|
2224
|
+
find: "搜索 (Ctrl+F)",
|
|
2225
|
+
findReplace: "查找和替换 (Ctrl+H)",
|
|
2226
|
+
inlineCode: "行内代码 (Ctrl+`)",
|
|
2227
|
+
print: "打印",
|
|
2228
|
+
foreColor: "文字颜色",
|
|
2229
|
+
backColor: "高亮颜色",
|
|
2230
|
+
chooseTextColor: "选择文字颜色",
|
|
2231
|
+
chooseHighlightColor: "选择高亮颜色",
|
|
2232
|
+
customColor: "自定义颜色",
|
|
2233
|
+
insertTableLabel: "插入表格",
|
|
2234
|
+
paragraphItems: {
|
|
2235
|
+
p: "正文",
|
|
2236
|
+
blockquote: "引用",
|
|
2237
|
+
pre: "代码"
|
|
2238
|
+
}
|
|
2239
|
+
},
|
|
2240
|
+
linkDialog: {
|
|
2241
|
+
ariaLabel: "插入链接",
|
|
2242
|
+
title: "插入链接",
|
|
2243
|
+
url: "链接地址",
|
|
2244
|
+
urlPlaceholder: "https://",
|
|
2245
|
+
displayText: "显示文字",
|
|
2246
|
+
textPlaceholder: "链接文字",
|
|
2247
|
+
openInNewTab: "在新标签页中打开",
|
|
2248
|
+
insertBtn: "插入",
|
|
2249
|
+
cancelBtn: "取消"
|
|
2250
|
+
},
|
|
2251
|
+
imageDialog: {
|
|
2252
|
+
ariaLabel: "插入图片",
|
|
2253
|
+
title: "插入图片",
|
|
2254
|
+
imageUrl: "图片地址",
|
|
2255
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
2256
|
+
altText: "替代文字",
|
|
2257
|
+
altPlaceholder: "图片描述",
|
|
2258
|
+
alignment: "对齐方式",
|
|
2259
|
+
alignNone: "无",
|
|
2260
|
+
alignLeft: "左",
|
|
2261
|
+
alignCenter: "居中",
|
|
2262
|
+
alignRight: "右",
|
|
2263
|
+
uploadLabel: "或上传文件",
|
|
2264
|
+
insertBtn: "插入",
|
|
2265
|
+
cancelBtn: "取消"
|
|
2266
|
+
},
|
|
2267
|
+
videoDialog: {
|
|
2268
|
+
ariaLabel: "插入视频",
|
|
2269
|
+
title: "插入视频",
|
|
2270
|
+
videoUrl: "视频地址",
|
|
2271
|
+
urlPlaceholder: "YouTube、Vimeo 或直接 .mp4 链接",
|
|
2272
|
+
widthLabel: "宽度 (px)",
|
|
2273
|
+
widthPlaceholder: "560",
|
|
2274
|
+
insertBtn: "插入",
|
|
2275
|
+
cancelBtn: "取消",
|
|
2276
|
+
detected: (type) => `已识别: ${type}`,
|
|
2277
|
+
unknownFormat: "未知格式 — 将尝试直接嵌入视频",
|
|
2278
|
+
invalidUrl: "URL 无效 — 请输入有效的视频链接。"
|
|
2279
|
+
},
|
|
2280
|
+
emojiDialog: {
|
|
2281
|
+
ariaLabel: "插入表情",
|
|
2282
|
+
title: "插入表情",
|
|
2283
|
+
searchPlaceholder: "搜索表情…",
|
|
2284
|
+
all: "全部",
|
|
2285
|
+
cancelBtn: "取消",
|
|
2286
|
+
close: "关闭",
|
|
2287
|
+
categories: {
|
|
2288
|
+
smileys: "笑脸",
|
|
2289
|
+
people: "人物",
|
|
2290
|
+
animals: "动物",
|
|
2291
|
+
food: "食物",
|
|
2292
|
+
travel: "旅行",
|
|
2293
|
+
objects: "物品",
|
|
2294
|
+
symbols: "符号"
|
|
2295
|
+
}
|
|
2296
|
+
},
|
|
2297
|
+
iconDialog: {
|
|
2298
|
+
ariaLabel: "插入 FA 图标",
|
|
2299
|
+
title: "插入 FA 图标",
|
|
2300
|
+
searchPlaceholder: "搜索图标…",
|
|
2301
|
+
all: "全部",
|
|
2302
|
+
style: "样式",
|
|
2303
|
+
size: "大小",
|
|
2304
|
+
color: "颜色",
|
|
2305
|
+
useColor: " 使用颜色",
|
|
2306
|
+
selectHint: "请选择一个图标",
|
|
2307
|
+
insertBtn: "插入 FA 图标",
|
|
2308
|
+
cancelBtn: "取消",
|
|
2309
|
+
close: "关闭",
|
|
2310
|
+
categories: {
|
|
2311
|
+
popular: "热门",
|
|
2312
|
+
interface: "界面",
|
|
2313
|
+
navigation: "导航",
|
|
2314
|
+
media: "媒体",
|
|
2315
|
+
communication: "通讯",
|
|
2316
|
+
files: "文件",
|
|
2317
|
+
people: "人物",
|
|
2318
|
+
objects: "物品"
|
|
2319
|
+
}
|
|
2320
|
+
},
|
|
2321
|
+
findReplace: {
|
|
2322
|
+
findTitle: "搜索",
|
|
2323
|
+
findReplaceTitle: "查找和替换",
|
|
2324
|
+
findPlaceholder: "查找…",
|
|
2325
|
+
searchAriaLabel: "搜索文字",
|
|
2326
|
+
caseSensitive: "\xA0区分大小写",
|
|
2327
|
+
prevBtn: "← 上一个",
|
|
2328
|
+
nextBtn: "下一个 →",
|
|
2329
|
+
replacePlaceholder: "替换为…",
|
|
2330
|
+
replaceAriaLabel: "替换为",
|
|
2331
|
+
replaceBtn: "替换",
|
|
2332
|
+
replaceAllBtn: "全部替换",
|
|
2333
|
+
close: "×"
|
|
2334
|
+
},
|
|
2335
|
+
shortcutsDialog: {
|
|
2336
|
+
title: "键盘快捷键",
|
|
2337
|
+
ariaLabel: "键盘快捷键",
|
|
2338
|
+
close: "关闭",
|
|
2339
|
+
shortcuts: [
|
|
2340
|
+
{
|
|
2341
|
+
category: "文字格式",
|
|
2342
|
+
items: [
|
|
2343
|
+
{
|
|
2344
|
+
keys: "Ctrl + B",
|
|
2345
|
+
action: "粗体"
|
|
2346
|
+
},
|
|
2347
|
+
{
|
|
2348
|
+
keys: "Ctrl + I",
|
|
2349
|
+
action: "斜体"
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
keys: "Ctrl + U",
|
|
2353
|
+
action: "下划线"
|
|
2354
|
+
},
|
|
2355
|
+
{
|
|
2356
|
+
keys: "Ctrl + K",
|
|
2357
|
+
action: "插入 / 编辑链接"
|
|
2358
|
+
}
|
|
2359
|
+
]
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
category: "历史记录",
|
|
2363
|
+
items: [{
|
|
2364
|
+
keys: "Ctrl + Z",
|
|
2365
|
+
action: "撤销"
|
|
2366
|
+
}, {
|
|
2367
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
2368
|
+
action: "重做"
|
|
2369
|
+
}]
|
|
2370
|
+
},
|
|
2371
|
+
{
|
|
2372
|
+
category: "选择与导航",
|
|
2373
|
+
items: [
|
|
2374
|
+
{
|
|
2375
|
+
keys: "Ctrl + A",
|
|
2376
|
+
action: "全选"
|
|
2377
|
+
},
|
|
2378
|
+
{
|
|
2379
|
+
keys: "Tab",
|
|
2380
|
+
action: "增加缩进 / 插入空格"
|
|
2381
|
+
},
|
|
2382
|
+
{
|
|
2383
|
+
keys: "Shift + Tab",
|
|
2384
|
+
action: "减少缩进"
|
|
2385
|
+
}
|
|
2386
|
+
]
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
category: "剪贴板",
|
|
2390
|
+
items: [{
|
|
2391
|
+
keys: "Ctrl + Shift + V",
|
|
2392
|
+
action: "粘贴为纯文本"
|
|
2393
|
+
}]
|
|
2394
|
+
},
|
|
2395
|
+
{
|
|
2396
|
+
category: "查找和替换",
|
|
2397
|
+
items: [{
|
|
2398
|
+
keys: "Ctrl + F",
|
|
2399
|
+
action: "在文档中搜索"
|
|
2400
|
+
}, {
|
|
2401
|
+
keys: "Ctrl + H",
|
|
2402
|
+
action: "查找和替换"
|
|
2403
|
+
}]
|
|
2404
|
+
},
|
|
2405
|
+
{
|
|
2406
|
+
category: "编辑器",
|
|
2407
|
+
items: [{
|
|
2408
|
+
keys: "Ctrl + Shift + /",
|
|
2409
|
+
action: "显示快捷键对话框"
|
|
2410
|
+
}]
|
|
2411
|
+
}
|
|
2412
|
+
]
|
|
2413
|
+
},
|
|
2414
|
+
contextMenu: {
|
|
2415
|
+
cut: "剪切",
|
|
2416
|
+
copy: "复制",
|
|
2417
|
+
paste: "粘贴",
|
|
2418
|
+
bold: "粗体",
|
|
2419
|
+
italic: "斜体",
|
|
2420
|
+
underline: "下划线",
|
|
2421
|
+
textColor: "文字颜色",
|
|
2422
|
+
highlightColor: "高亮颜色",
|
|
2423
|
+
copyFormat: "复制格式",
|
|
2424
|
+
pasteFormat: "粘贴格式",
|
|
2425
|
+
removeFormat: "清除格式",
|
|
2426
|
+
link: "插入链接",
|
|
2427
|
+
image: "插入图片",
|
|
2428
|
+
video: "插入视频",
|
|
2429
|
+
table: "插入表格",
|
|
2430
|
+
back: "返回",
|
|
2431
|
+
noHighlight: "无高亮",
|
|
2432
|
+
customColor: "自定义颜色",
|
|
2433
|
+
customColorLabel: "自定义…"
|
|
2434
|
+
},
|
|
2435
|
+
statusbar: {
|
|
2436
|
+
resizeHandle: "拖动以调整大小",
|
|
2437
|
+
words: (n) => `字数: ${n}`,
|
|
2438
|
+
wordsLimit: (n, max) => `字数: ${n}/${max}`,
|
|
2439
|
+
chars: (n) => `字符数: ${n}`,
|
|
2440
|
+
charsLimit: (n, max) => `字符数: ${n}/${max}`
|
|
2441
|
+
},
|
|
2442
|
+
tooltips: {
|
|
2443
|
+
link: {
|
|
2444
|
+
ariaLabel: "链接操作",
|
|
2445
|
+
openLink: "打开链接",
|
|
2446
|
+
copyUrl: "复制 URL",
|
|
2447
|
+
editLink: "编辑链接",
|
|
2448
|
+
removeLink: "删除链接"
|
|
2449
|
+
},
|
|
2450
|
+
image: {
|
|
2451
|
+
ariaLabel: "图片操作",
|
|
2452
|
+
label: "图片",
|
|
2453
|
+
floatLeft: "左浮动",
|
|
2454
|
+
noFloat: "不浮动",
|
|
2455
|
+
alignCenter: "居中对齐",
|
|
2456
|
+
floatRight: "右浮动",
|
|
2457
|
+
originalSize: "原始尺寸",
|
|
2458
|
+
rotateLeft: "向左旋转",
|
|
2459
|
+
rotateRight: "向右旋转",
|
|
2460
|
+
cropImage: "裁剪图片",
|
|
2461
|
+
addCaption: "添加 / 编辑说明",
|
|
2462
|
+
deleteImage: "删除图片"
|
|
2463
|
+
},
|
|
2464
|
+
code: {
|
|
2465
|
+
ariaLabel: "代码块操作",
|
|
2466
|
+
label: "代码",
|
|
2467
|
+
syntaxLanguage: "语法语言",
|
|
2468
|
+
syntaxAriaLabel: "语法语言",
|
|
2469
|
+
copyCode: "复制代码",
|
|
2470
|
+
toggleWordWrap: "切换自动换行",
|
|
2471
|
+
enableWordWrap: "启用自动换行",
|
|
2472
|
+
disableWordWrap: "禁用自动换行",
|
|
2473
|
+
convertToParagraph: "转换为段落",
|
|
2474
|
+
deleteCodeBlock: "删除代码块"
|
|
2475
|
+
},
|
|
2476
|
+
table: {
|
|
2477
|
+
ariaLabel: "表格操作",
|
|
2478
|
+
label: "表格",
|
|
2479
|
+
selectCells: "选择单元格",
|
|
2480
|
+
addRowAbove: "在上方插入行",
|
|
2481
|
+
addRowBelow: "在下方插入行",
|
|
2482
|
+
deleteRow: "删除行",
|
|
2483
|
+
addColumnLeft: "在左侧插入列",
|
|
2484
|
+
addColumnRight: "在右侧插入列",
|
|
2485
|
+
deleteColumn: "删除列",
|
|
2486
|
+
mergeCells: "合并单元格",
|
|
2487
|
+
unmergeCells: "拆分单元格",
|
|
2488
|
+
columnWidth: "列宽",
|
|
2489
|
+
rowHeight: "行高",
|
|
2490
|
+
tableBorderWidth: "表格边框宽度",
|
|
2491
|
+
deleteTable: "删除表格",
|
|
2492
|
+
columnWidthPx: "列宽 (px)",
|
|
2493
|
+
rowHeightPx: "行高 (px)",
|
|
2494
|
+
tableBorderWidthPx: "表格边框宽度 (px)",
|
|
2495
|
+
cancelBtn: "取消",
|
|
2496
|
+
applyBtn: "应用"
|
|
2497
|
+
},
|
|
2498
|
+
video: {
|
|
2499
|
+
ariaLabel: "视频操作",
|
|
2500
|
+
label: "视频",
|
|
2501
|
+
floatLeft: "左浮动",
|
|
2502
|
+
noFloat: "不浮动",
|
|
2503
|
+
alignCenter: "居中对齐",
|
|
2504
|
+
floatRight: "右浮动",
|
|
2505
|
+
originalSize: "原始尺寸",
|
|
2506
|
+
previewVideo: "预览视频",
|
|
2507
|
+
exitPreview: "退出预览",
|
|
2508
|
+
deleteVideo: "删除视频"
|
|
2509
|
+
}
|
|
2510
|
+
},
|
|
2511
|
+
errors: {
|
|
2512
|
+
imageFormat: (type) => `格式 "${type}" 不支持在浏览器中显示。请转换为 JPEG、PNG 或 WebP。`,
|
|
2513
|
+
imageSize: (maxSize) => `图片文件过大。最大允许大小为 ${maxSize} MB。`
|
|
2514
|
+
}
|
|
2515
|
+
},
|
|
2516
|
+
fr: {
|
|
2517
|
+
toolbar: {
|
|
2518
|
+
bold: "Gras (Ctrl+B)",
|
|
2519
|
+
italic: "Italique (Ctrl+I)",
|
|
2520
|
+
underline: "Souligné (Ctrl+U)",
|
|
2521
|
+
strikethrough: "Barré",
|
|
2522
|
+
superscript: "Exposant",
|
|
2523
|
+
subscript: "Indice",
|
|
2524
|
+
alignLeft: "Aligner à gauche",
|
|
2525
|
+
alignCenter: "Centrer",
|
|
2526
|
+
alignRight: "Aligner à droite",
|
|
2527
|
+
alignJustify: "Justifier",
|
|
2528
|
+
ul: "Liste à puces",
|
|
2529
|
+
ol: "Liste numérotée",
|
|
2530
|
+
checklist: "Liste de tâches",
|
|
2531
|
+
indent: "Augmenter le retrait",
|
|
2532
|
+
outdent: "Diminuer le retrait",
|
|
2533
|
+
undo: "Annuler (Ctrl+Z)",
|
|
2534
|
+
redo: "Rétablir (Ctrl+Y)",
|
|
2535
|
+
hr: "Ligne horizontale",
|
|
2536
|
+
link: "Insérer un lien",
|
|
2537
|
+
image: "Insérer une image",
|
|
2538
|
+
video: "Insérer une vidéo",
|
|
2539
|
+
emoji: "Insérer un emoji",
|
|
2540
|
+
icon: "Insérer une icône FA",
|
|
2541
|
+
table: "Insérer un tableau",
|
|
2542
|
+
fontSize: "Taille de police",
|
|
2543
|
+
fontSizePlaceholder: "Taille",
|
|
2544
|
+
removeFormat: "Effacer la mise en forme",
|
|
2545
|
+
direction: "Basculer la direction du texte (LTR / RTL)",
|
|
2546
|
+
fontFamily: "Police",
|
|
2547
|
+
paragraphStyle: "Style de paragraphe",
|
|
2548
|
+
paragraphStylePlaceholder: "Style",
|
|
2549
|
+
lineHeight: "Interligne",
|
|
2550
|
+
lineHeightPlaceholder: "↕ Ligne",
|
|
2551
|
+
codeview: "Afficher le code HTML",
|
|
2552
|
+
fullscreen: "Plein écran",
|
|
2553
|
+
shortcuts: "Raccourcis clavier (Ctrl+Shift+/)",
|
|
2554
|
+
find: "Rechercher (Ctrl+F)",
|
|
2555
|
+
findReplace: "Rechercher et remplacer (Ctrl+H)",
|
|
2556
|
+
inlineCode: "Code inline (Ctrl+`)",
|
|
2557
|
+
print: "Imprimer",
|
|
2558
|
+
foreColor: "Couleur du texte",
|
|
2559
|
+
backColor: "Couleur de surbrillance",
|
|
2560
|
+
chooseTextColor: "Choisir la couleur du texte",
|
|
2561
|
+
chooseHighlightColor: "Choisir la couleur de surbrillance",
|
|
2562
|
+
customColor: "Couleur personnalisée",
|
|
2563
|
+
insertTableLabel: "Insérer un tableau",
|
|
2564
|
+
paragraphItems: {
|
|
2565
|
+
p: "Normal",
|
|
2566
|
+
blockquote: "Citation",
|
|
2567
|
+
pre: "Code"
|
|
2568
|
+
}
|
|
2569
|
+
},
|
|
2570
|
+
linkDialog: {
|
|
2571
|
+
ariaLabel: "Insérer un lien",
|
|
2572
|
+
title: "Insérer un lien",
|
|
2573
|
+
url: "URL",
|
|
2574
|
+
urlPlaceholder: "https://",
|
|
2575
|
+
displayText: "Texte affiché",
|
|
2576
|
+
textPlaceholder: "Texte du lien",
|
|
2577
|
+
openInNewTab: "Ouvrir dans un nouvel onglet",
|
|
2578
|
+
insertBtn: "Insérer",
|
|
2579
|
+
cancelBtn: "Annuler"
|
|
2580
|
+
},
|
|
2581
|
+
imageDialog: {
|
|
2582
|
+
ariaLabel: "Insérer une image",
|
|
2583
|
+
title: "Insérer une image",
|
|
2584
|
+
imageUrl: "URL de l'image",
|
|
2585
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
2586
|
+
altText: "Texte alternatif",
|
|
2587
|
+
altPlaceholder: "Description de l'image",
|
|
2588
|
+
alignment: "Alignement",
|
|
2589
|
+
alignNone: "Aucun",
|
|
2590
|
+
alignLeft: "Gauche",
|
|
2591
|
+
alignCenter: "Centre",
|
|
2592
|
+
alignRight: "Droite",
|
|
2593
|
+
uploadLabel: "Ou téléverser un fichier",
|
|
2594
|
+
insertBtn: "Insérer",
|
|
2595
|
+
cancelBtn: "Annuler"
|
|
2596
|
+
},
|
|
2597
|
+
videoDialog: {
|
|
2598
|
+
ariaLabel: "Insérer une vidéo",
|
|
2599
|
+
title: "Insérer une vidéo",
|
|
2600
|
+
videoUrl: "URL de la vidéo",
|
|
2601
|
+
urlPlaceholder: "YouTube, Vimeo ou URL .mp4 directe",
|
|
2602
|
+
widthLabel: "Largeur (px)",
|
|
2603
|
+
widthPlaceholder: "560",
|
|
2604
|
+
insertBtn: "Insérer",
|
|
2605
|
+
cancelBtn: "Annuler",
|
|
2606
|
+
detected: (type) => `Détecté\u00a0: ${type}`,
|
|
2607
|
+
unknownFormat: "Format inconnu — tentative d'intégration directe",
|
|
2608
|
+
invalidUrl: "URL invalide — veuillez saisir un lien vidéo valide."
|
|
2609
|
+
},
|
|
2610
|
+
emojiDialog: {
|
|
2611
|
+
ariaLabel: "Insérer un emoji",
|
|
2612
|
+
title: "Insérer un emoji",
|
|
2613
|
+
searchPlaceholder: "Rechercher des emojis…",
|
|
2614
|
+
all: "Tout",
|
|
2615
|
+
cancelBtn: "Annuler",
|
|
2616
|
+
close: "Fermer",
|
|
2617
|
+
categories: {
|
|
2618
|
+
smileys: "Smileys",
|
|
2619
|
+
people: "Personnes",
|
|
2620
|
+
animals: "Animaux",
|
|
2621
|
+
food: "Nourriture",
|
|
2622
|
+
travel: "Voyage",
|
|
2623
|
+
objects: "Objets",
|
|
2624
|
+
symbols: "Symboles"
|
|
2625
|
+
}
|
|
2626
|
+
},
|
|
2627
|
+
iconDialog: {
|
|
2628
|
+
ariaLabel: "Insérer une icône FA",
|
|
2629
|
+
title: "Insérer une icône FA",
|
|
2630
|
+
searchPlaceholder: "Rechercher des icônes…",
|
|
2631
|
+
all: "Tout",
|
|
2632
|
+
style: "Style",
|
|
2633
|
+
size: "Taille",
|
|
2634
|
+
color: "Couleur",
|
|
2635
|
+
useColor: " Utiliser la couleur",
|
|
2636
|
+
selectHint: "Sélectionner une icône",
|
|
2637
|
+
insertBtn: "Insérer une icône FA",
|
|
2638
|
+
cancelBtn: "Annuler",
|
|
2639
|
+
close: "Fermer",
|
|
2640
|
+
categories: {
|
|
2641
|
+
popular: "Populaire",
|
|
2642
|
+
interface: "Interface",
|
|
2643
|
+
navigation: "Navigation",
|
|
2644
|
+
media: "Média",
|
|
2645
|
+
communication: "Communication",
|
|
2646
|
+
files: "Fichiers",
|
|
2647
|
+
people: "Personnes",
|
|
2648
|
+
objects: "Objets"
|
|
2649
|
+
}
|
|
2650
|
+
},
|
|
2651
|
+
findReplace: {
|
|
2652
|
+
findTitle: "Rechercher",
|
|
2653
|
+
findReplaceTitle: "Rechercher et remplacer",
|
|
2654
|
+
findPlaceholder: "Rechercher…",
|
|
2655
|
+
searchAriaLabel: "Texte à rechercher",
|
|
2656
|
+
caseSensitive: "\xA0Respecter la casse",
|
|
2657
|
+
prevBtn: "← Préc.",
|
|
2658
|
+
nextBtn: "Suiv. →",
|
|
2659
|
+
replacePlaceholder: "Remplacer par…",
|
|
2660
|
+
replaceAriaLabel: "Remplacer par",
|
|
2661
|
+
replaceBtn: "Remplacer",
|
|
2662
|
+
replaceAllBtn: "Tout remplacer",
|
|
2663
|
+
close: "×"
|
|
2664
|
+
},
|
|
2665
|
+
shortcutsDialog: {
|
|
2666
|
+
title: "Raccourcis clavier",
|
|
2667
|
+
ariaLabel: "Raccourcis clavier",
|
|
2668
|
+
close: "Fermer",
|
|
2669
|
+
shortcuts: [
|
|
2670
|
+
{
|
|
2671
|
+
category: "Mise en forme du texte",
|
|
2672
|
+
items: [
|
|
2673
|
+
{
|
|
2674
|
+
keys: "Ctrl + B",
|
|
2675
|
+
action: "Gras"
|
|
2676
|
+
},
|
|
2677
|
+
{
|
|
2678
|
+
keys: "Ctrl + I",
|
|
2679
|
+
action: "Italique"
|
|
2680
|
+
},
|
|
2681
|
+
{
|
|
2682
|
+
keys: "Ctrl + U",
|
|
2683
|
+
action: "Souligné"
|
|
2684
|
+
},
|
|
2685
|
+
{
|
|
2686
|
+
keys: "Ctrl + K",
|
|
2687
|
+
action: "Insérer / modifier un lien"
|
|
2688
|
+
}
|
|
2689
|
+
]
|
|
2690
|
+
},
|
|
2691
|
+
{
|
|
2692
|
+
category: "Historique",
|
|
2693
|
+
items: [{
|
|
2694
|
+
keys: "Ctrl + Z",
|
|
2695
|
+
action: "Annuler"
|
|
2696
|
+
}, {
|
|
2697
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
2698
|
+
action: "Rétablir"
|
|
2699
|
+
}]
|
|
2700
|
+
},
|
|
2701
|
+
{
|
|
2702
|
+
category: "Sélection et navigation",
|
|
2703
|
+
items: [
|
|
2704
|
+
{
|
|
2705
|
+
keys: "Ctrl + A",
|
|
2706
|
+
action: "Tout sélectionner"
|
|
2707
|
+
},
|
|
2708
|
+
{
|
|
2709
|
+
keys: "Tab",
|
|
2710
|
+
action: "Augmenter le retrait / insérer des espaces"
|
|
2711
|
+
},
|
|
2712
|
+
{
|
|
2713
|
+
keys: "Shift + Tab",
|
|
2714
|
+
action: "Diminuer le retrait"
|
|
2715
|
+
}
|
|
2716
|
+
]
|
|
2717
|
+
},
|
|
2718
|
+
{
|
|
2719
|
+
category: "Presse-papiers",
|
|
2720
|
+
items: [{
|
|
2721
|
+
keys: "Ctrl + Shift + V",
|
|
2722
|
+
action: "Coller en texte brut"
|
|
2723
|
+
}]
|
|
2724
|
+
},
|
|
2725
|
+
{
|
|
2726
|
+
category: "Rechercher et remplacer",
|
|
2727
|
+
items: [{
|
|
2728
|
+
keys: "Ctrl + F",
|
|
2729
|
+
action: "Rechercher dans le document"
|
|
2730
|
+
}, {
|
|
2731
|
+
keys: "Ctrl + H",
|
|
2732
|
+
action: "Rechercher et remplacer"
|
|
2733
|
+
}]
|
|
2734
|
+
},
|
|
2735
|
+
{
|
|
2736
|
+
category: "Éditeur",
|
|
2737
|
+
items: [{
|
|
2738
|
+
keys: "Ctrl + Shift + /",
|
|
2739
|
+
action: "Afficher les raccourcis clavier"
|
|
2740
|
+
}]
|
|
2741
|
+
}
|
|
2742
|
+
]
|
|
2743
|
+
},
|
|
2744
|
+
contextMenu: {
|
|
2745
|
+
cut: "Couper",
|
|
2746
|
+
copy: "Copier",
|
|
2747
|
+
paste: "Coller",
|
|
2748
|
+
bold: "Gras",
|
|
2749
|
+
italic: "Italique",
|
|
2750
|
+
underline: "Souligné",
|
|
2751
|
+
textColor: "Couleur du texte",
|
|
2752
|
+
highlightColor: "Couleur de surbrillance",
|
|
2753
|
+
copyFormat: "Copier la mise en forme",
|
|
2754
|
+
pasteFormat: "Coller la mise en forme",
|
|
2755
|
+
removeFormat: "Effacer la mise en forme",
|
|
2756
|
+
link: "Insérer un lien",
|
|
2757
|
+
image: "Insérer une image",
|
|
2758
|
+
video: "Insérer une vidéo",
|
|
2759
|
+
table: "Insérer un tableau",
|
|
2760
|
+
back: "Retour",
|
|
2761
|
+
noHighlight: "Sans surbrillance",
|
|
2762
|
+
customColor: "Couleur personnalisée",
|
|
2763
|
+
customColorLabel: "Personnaliser…"
|
|
2764
|
+
},
|
|
2765
|
+
statusbar: {
|
|
2766
|
+
resizeHandle: "Faire glisser pour redimensionner",
|
|
2767
|
+
words: (n) => `Mots\u00a0: ${n}`,
|
|
2768
|
+
wordsLimit: (n, max) => `Mots\u00a0: ${n}/${max}`,
|
|
2769
|
+
chars: (n) => `Caractères\u00a0: ${n}`,
|
|
2770
|
+
charsLimit: (n, max) => `Caractères\u00a0: ${n}/${max}`
|
|
2771
|
+
},
|
|
2772
|
+
tooltips: {
|
|
2773
|
+
link: {
|
|
2774
|
+
ariaLabel: "Actions du lien",
|
|
2775
|
+
openLink: "Ouvrir le lien",
|
|
2776
|
+
copyUrl: "Copier l'URL",
|
|
2777
|
+
editLink: "Modifier le lien",
|
|
2778
|
+
removeLink: "Supprimer le lien"
|
|
2779
|
+
},
|
|
2780
|
+
image: {
|
|
2781
|
+
ariaLabel: "Actions de l'image",
|
|
2782
|
+
label: "Image",
|
|
2783
|
+
floatLeft: "Flottant à gauche",
|
|
2784
|
+
noFloat: "Sans flottant",
|
|
2785
|
+
alignCenter: "Centré",
|
|
2786
|
+
floatRight: "Flottant à droite",
|
|
2787
|
+
originalSize: "Taille originale",
|
|
2788
|
+
rotateLeft: "Rotation à gauche",
|
|
2789
|
+
rotateRight: "Rotation à droite",
|
|
2790
|
+
cropImage: "Recadrer l'image",
|
|
2791
|
+
addCaption: "Ajouter / modifier la légende",
|
|
2792
|
+
deleteImage: "Supprimer l'image"
|
|
2793
|
+
},
|
|
2794
|
+
code: {
|
|
2795
|
+
ariaLabel: "Actions du bloc de code",
|
|
2796
|
+
label: "Code",
|
|
2797
|
+
syntaxLanguage: "Langage de syntaxe",
|
|
2798
|
+
syntaxAriaLabel: "Langage de syntaxe",
|
|
2799
|
+
copyCode: "Copier le code",
|
|
2800
|
+
toggleWordWrap: "Activer/désactiver le retour à la ligne",
|
|
2801
|
+
enableWordWrap: "Activer le retour à la ligne",
|
|
2802
|
+
disableWordWrap: "Désactiver le retour à la ligne",
|
|
2803
|
+
convertToParagraph: "Convertir en paragraphe",
|
|
2804
|
+
deleteCodeBlock: "Supprimer le bloc de code"
|
|
2805
|
+
},
|
|
2806
|
+
table: {
|
|
2807
|
+
ariaLabel: "Actions du tableau",
|
|
2808
|
+
label: "Tableau",
|
|
2809
|
+
selectCells: "Sélectionner des cellules",
|
|
2810
|
+
addRowAbove: "Ajouter une ligne au-dessus",
|
|
2811
|
+
addRowBelow: "Ajouter une ligne en-dessous",
|
|
2812
|
+
deleteRow: "Supprimer la ligne",
|
|
2813
|
+
addColumnLeft: "Ajouter une colonne à gauche",
|
|
2814
|
+
addColumnRight: "Ajouter une colonne à droite",
|
|
2815
|
+
deleteColumn: "Supprimer la colonne",
|
|
2816
|
+
mergeCells: "Fusionner les cellules",
|
|
2817
|
+
unmergeCells: "Scinder les cellules",
|
|
2818
|
+
columnWidth: "Largeur de colonne",
|
|
2819
|
+
rowHeight: "Hauteur de ligne",
|
|
2820
|
+
tableBorderWidth: "Épaisseur des bordures",
|
|
2821
|
+
deleteTable: "Supprimer le tableau",
|
|
2822
|
+
columnWidthPx: "Largeur de colonne (px)",
|
|
2823
|
+
rowHeightPx: "Hauteur de ligne (px)",
|
|
2824
|
+
tableBorderWidthPx: "Épaisseur des bordures (px)",
|
|
2825
|
+
cancelBtn: "Annuler",
|
|
2826
|
+
applyBtn: "Appliquer"
|
|
2827
|
+
},
|
|
2828
|
+
video: {
|
|
2829
|
+
ariaLabel: "Actions de la vidéo",
|
|
2830
|
+
label: "Vidéo",
|
|
2831
|
+
floatLeft: "Flottant à gauche",
|
|
2832
|
+
noFloat: "Sans flottant",
|
|
2833
|
+
alignCenter: "Centré",
|
|
2834
|
+
floatRight: "Flottant à droite",
|
|
2835
|
+
originalSize: "Taille originale",
|
|
2836
|
+
previewVideo: "Aperçu",
|
|
2837
|
+
exitPreview: "Quitter l'aperçu",
|
|
2838
|
+
deleteVideo: "Supprimer la vidéo"
|
|
2839
|
+
}
|
|
2840
|
+
},
|
|
2841
|
+
errors: {
|
|
2842
|
+
imageFormat: (type) => `Le format "${type}" n'est pas pris en charge par le navigateur. Veuillez le convertir en JPEG, PNG ou WebP.`,
|
|
2843
|
+
imageSize: (maxSize) => `Le fichier image est trop volumineux. La taille maximale autorisée est de ${maxSize}\u00a0Mo.`
|
|
2844
|
+
}
|
|
2845
|
+
},
|
|
2846
|
+
de: {
|
|
2847
|
+
toolbar: {
|
|
2848
|
+
bold: "Fett (Ctrl+B)",
|
|
2849
|
+
italic: "Kursiv (Ctrl+I)",
|
|
2850
|
+
underline: "Unterstrichen (Ctrl+U)",
|
|
2851
|
+
strikethrough: "Durchgestrichen",
|
|
2852
|
+
superscript: "Hochgestellt",
|
|
2853
|
+
subscript: "Tiefgestellt",
|
|
2854
|
+
alignLeft: "Linksbündig",
|
|
2855
|
+
alignCenter: "Zentriert",
|
|
2856
|
+
alignRight: "Rechtsbündig",
|
|
2857
|
+
alignJustify: "Blocksatz",
|
|
2858
|
+
ul: "Ungeordnete Liste",
|
|
2859
|
+
ol: "Geordnete Liste",
|
|
2860
|
+
checklist: "Checkliste",
|
|
2861
|
+
indent: "Einzug vergrößern",
|
|
2862
|
+
outdent: "Einzug verkleinern",
|
|
2863
|
+
undo: "Rückgängig (Ctrl+Z)",
|
|
2864
|
+
redo: "Wiederholen (Ctrl+Y)",
|
|
2865
|
+
hr: "Horizontale Linie",
|
|
2866
|
+
link: "Link einfügen",
|
|
2867
|
+
image: "Bild einfügen",
|
|
2868
|
+
video: "Video einfügen",
|
|
2869
|
+
emoji: "Emoji einfügen",
|
|
2870
|
+
icon: "FA-Symbol einfügen",
|
|
2871
|
+
table: "Tabelle einfügen",
|
|
2872
|
+
fontSize: "Schriftgröße",
|
|
2873
|
+
fontSizePlaceholder: "Größe",
|
|
2874
|
+
removeFormat: "Formatierung entfernen",
|
|
2875
|
+
direction: "Textrichtung umschalten (LTR / RTL)",
|
|
2876
|
+
fontFamily: "Schriftart",
|
|
2877
|
+
paragraphStyle: "Absatzstil",
|
|
2878
|
+
paragraphStylePlaceholder: "Stil",
|
|
2879
|
+
lineHeight: "Zeilenhöhe",
|
|
2880
|
+
lineHeightPlaceholder: "↕ Zeile",
|
|
2881
|
+
codeview: "HTML-Code-Ansicht",
|
|
2882
|
+
fullscreen: "Vollbild",
|
|
2883
|
+
shortcuts: "Tastenkürzel (Ctrl+Shift+/)",
|
|
2884
|
+
find: "Suchen (Ctrl+F)",
|
|
2885
|
+
findReplace: "Suchen & Ersetzen (Ctrl+H)",
|
|
2886
|
+
inlineCode: "Inline-Code (Ctrl+`)",
|
|
2887
|
+
print: "Drucken",
|
|
2888
|
+
foreColor: "Textfarbe",
|
|
2889
|
+
backColor: "Hervorhebungsfarbe",
|
|
2890
|
+
chooseTextColor: "Textfarbe auswählen",
|
|
2891
|
+
chooseHighlightColor: "Hervorhebungsfarbe auswählen",
|
|
2892
|
+
customColor: "Benutzerdefinierte Farbe",
|
|
2893
|
+
insertTableLabel: "Tabelle einfügen",
|
|
2894
|
+
paragraphItems: {
|
|
2895
|
+
p: "Normal",
|
|
2896
|
+
blockquote: "Zitat",
|
|
2897
|
+
pre: "Code"
|
|
2898
|
+
}
|
|
2899
|
+
},
|
|
2900
|
+
linkDialog: {
|
|
2901
|
+
ariaLabel: "Link einfügen",
|
|
2902
|
+
title: "Link einfügen",
|
|
2903
|
+
url: "URL",
|
|
2904
|
+
urlPlaceholder: "https://",
|
|
2905
|
+
displayText: "Anzeigetext",
|
|
2906
|
+
textPlaceholder: "Linktext",
|
|
2907
|
+
openInNewTab: "In neuem Tab öffnen",
|
|
2908
|
+
insertBtn: "Einfügen",
|
|
2909
|
+
cancelBtn: "Abbrechen"
|
|
2910
|
+
},
|
|
2911
|
+
imageDialog: {
|
|
2912
|
+
ariaLabel: "Bild einfügen",
|
|
2913
|
+
title: "Bild einfügen",
|
|
2914
|
+
imageUrl: "Bild-URL",
|
|
2915
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
2916
|
+
altText: "Alt-Text",
|
|
2917
|
+
altPlaceholder: "Bild beschreiben",
|
|
2918
|
+
alignment: "Ausrichtung",
|
|
2919
|
+
alignNone: "Keine",
|
|
2920
|
+
alignLeft: "Links",
|
|
2921
|
+
alignCenter: "Mitte",
|
|
2922
|
+
alignRight: "Rechts",
|
|
2923
|
+
uploadLabel: "Oder Datei hochladen",
|
|
2924
|
+
insertBtn: "Einfügen",
|
|
2925
|
+
cancelBtn: "Abbrechen"
|
|
2926
|
+
},
|
|
2927
|
+
videoDialog: {
|
|
2928
|
+
ariaLabel: "Video einfügen",
|
|
2929
|
+
title: "Video einfügen",
|
|
2930
|
+
videoUrl: "Video-URL",
|
|
2931
|
+
urlPlaceholder: "YouTube, Vimeo oder direkte .mp4-URL",
|
|
2932
|
+
widthLabel: "Breite (px)",
|
|
2933
|
+
widthPlaceholder: "560",
|
|
2934
|
+
insertBtn: "Einfügen",
|
|
2935
|
+
cancelBtn: "Abbrechen",
|
|
2936
|
+
detected: (type) => `Erkannt: ${type}`,
|
|
2937
|
+
unknownFormat: "Unbekanntes Format — direktes Video-Einbetten wird versucht",
|
|
2938
|
+
invalidUrl: "Ungültige URL — bitte geben Sie einen gültigen Videolink ein."
|
|
2939
|
+
},
|
|
2940
|
+
emojiDialog: {
|
|
2941
|
+
ariaLabel: "Emoji einfügen",
|
|
2942
|
+
title: "Emoji einfügen",
|
|
2943
|
+
searchPlaceholder: "Emojis suchen…",
|
|
2944
|
+
all: "Alle",
|
|
2945
|
+
cancelBtn: "Abbrechen",
|
|
2946
|
+
close: "Schließen",
|
|
2947
|
+
categories: {
|
|
2948
|
+
smileys: "Smileys",
|
|
2949
|
+
people: "Menschen",
|
|
2950
|
+
animals: "Tiere",
|
|
2951
|
+
food: "Essen",
|
|
2952
|
+
travel: "Reisen",
|
|
2953
|
+
objects: "Objekte",
|
|
2954
|
+
symbols: "Symbole"
|
|
2955
|
+
}
|
|
2956
|
+
},
|
|
2957
|
+
iconDialog: {
|
|
2958
|
+
ariaLabel: "FA-Symbol einfügen",
|
|
2959
|
+
title: "FA-Symbol einfügen",
|
|
2960
|
+
searchPlaceholder: "Symbole suchen…",
|
|
2961
|
+
all: "Alle",
|
|
2962
|
+
style: "Stil",
|
|
2963
|
+
size: "Größe",
|
|
2964
|
+
color: "Farbe",
|
|
2965
|
+
useColor: " Farbe verwenden",
|
|
2966
|
+
selectHint: "Symbol auswählen",
|
|
2967
|
+
insertBtn: "FA-Symbol einfügen",
|
|
2968
|
+
cancelBtn: "Abbrechen",
|
|
2969
|
+
close: "Schließen",
|
|
2970
|
+
categories: {
|
|
2971
|
+
popular: "Beliebt",
|
|
2972
|
+
interface: "Benutzeroberfläche",
|
|
2973
|
+
navigation: "Navigation",
|
|
2974
|
+
media: "Medien",
|
|
2975
|
+
communication: "Kommunikation",
|
|
2976
|
+
files: "Dateien",
|
|
2977
|
+
people: "Menschen",
|
|
2978
|
+
objects: "Objekte"
|
|
2979
|
+
}
|
|
2980
|
+
},
|
|
2981
|
+
findReplace: {
|
|
2982
|
+
findTitle: "Suchen",
|
|
2983
|
+
findReplaceTitle: "Suchen & Ersetzen",
|
|
2984
|
+
findPlaceholder: "Suchen…",
|
|
2985
|
+
searchAriaLabel: "Suchtext",
|
|
2986
|
+
caseSensitive: "\xA0Groß-/Kleinschreibung",
|
|
2987
|
+
prevBtn: "← Zurück",
|
|
2988
|
+
nextBtn: "Weiter →",
|
|
2989
|
+
replacePlaceholder: "Ersetzen durch…",
|
|
2990
|
+
replaceAriaLabel: "Ersetzen durch",
|
|
2991
|
+
replaceBtn: "Ersetzen",
|
|
2992
|
+
replaceAllBtn: "Alle ersetzen",
|
|
2993
|
+
close: "×"
|
|
2994
|
+
},
|
|
2995
|
+
shortcutsDialog: {
|
|
2996
|
+
title: "Tastenkürzel",
|
|
2997
|
+
ariaLabel: "Tastenkürzel",
|
|
2998
|
+
close: "Schließen",
|
|
2999
|
+
shortcuts: [
|
|
3000
|
+
{
|
|
3001
|
+
category: "Textformatierung",
|
|
3002
|
+
items: [
|
|
3003
|
+
{
|
|
3004
|
+
keys: "Ctrl + B",
|
|
3005
|
+
action: "Fett"
|
|
3006
|
+
},
|
|
3007
|
+
{
|
|
3008
|
+
keys: "Ctrl + I",
|
|
3009
|
+
action: "Kursiv"
|
|
3010
|
+
},
|
|
3011
|
+
{
|
|
3012
|
+
keys: "Ctrl + U",
|
|
3013
|
+
action: "Unterstrichen"
|
|
3014
|
+
},
|
|
3015
|
+
{
|
|
3016
|
+
keys: "Ctrl + K",
|
|
3017
|
+
action: "Link einfügen / bearbeiten"
|
|
3018
|
+
}
|
|
3019
|
+
]
|
|
3020
|
+
},
|
|
3021
|
+
{
|
|
3022
|
+
category: "Verlauf",
|
|
3023
|
+
items: [{
|
|
3024
|
+
keys: "Ctrl + Z",
|
|
3025
|
+
action: "Rückgängig"
|
|
3026
|
+
}, {
|
|
3027
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
3028
|
+
action: "Wiederholen"
|
|
3029
|
+
}]
|
|
3030
|
+
},
|
|
3031
|
+
{
|
|
3032
|
+
category: "Auswahl & Navigation",
|
|
3033
|
+
items: [
|
|
3034
|
+
{
|
|
3035
|
+
keys: "Ctrl + A",
|
|
3036
|
+
action: "Alles auswählen"
|
|
3037
|
+
},
|
|
3038
|
+
{
|
|
3039
|
+
keys: "Tab",
|
|
3040
|
+
action: "Listenebene erhöhen / Leerzeichen einfügen"
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
keys: "Shift + Tab",
|
|
3044
|
+
action: "Listenebene verringern"
|
|
3045
|
+
}
|
|
3046
|
+
]
|
|
3047
|
+
},
|
|
3048
|
+
{
|
|
3049
|
+
category: "Zwischenablage",
|
|
3050
|
+
items: [{
|
|
3051
|
+
keys: "Ctrl + Shift + V",
|
|
3052
|
+
action: "Als einfachen Text einfügen"
|
|
3053
|
+
}]
|
|
3054
|
+
},
|
|
3055
|
+
{
|
|
3056
|
+
category: "Suchen & Ersetzen",
|
|
3057
|
+
items: [{
|
|
3058
|
+
keys: "Ctrl + F",
|
|
3059
|
+
action: "Im Dokument suchen"
|
|
3060
|
+
}, {
|
|
3061
|
+
keys: "Ctrl + H",
|
|
3062
|
+
action: "Suchen & Ersetzen"
|
|
3063
|
+
}]
|
|
3064
|
+
},
|
|
3065
|
+
{
|
|
3066
|
+
category: "Editor",
|
|
3067
|
+
items: [{
|
|
3068
|
+
keys: "Ctrl + Shift + /",
|
|
3069
|
+
action: "Diesen Tastenkürzel-Dialog anzeigen"
|
|
3070
|
+
}]
|
|
3071
|
+
}
|
|
3072
|
+
]
|
|
3073
|
+
},
|
|
3074
|
+
contextMenu: {
|
|
3075
|
+
cut: "Ausschneiden",
|
|
3076
|
+
copy: "Kopieren",
|
|
3077
|
+
paste: "Einfügen",
|
|
3078
|
+
bold: "Fett",
|
|
3079
|
+
italic: "Kursiv",
|
|
3080
|
+
underline: "Unterstrichen",
|
|
3081
|
+
textColor: "Textfarbe",
|
|
3082
|
+
highlightColor: "Hervorhebungsfarbe",
|
|
3083
|
+
copyFormat: "Format kopieren",
|
|
3084
|
+
pasteFormat: "Format einfügen",
|
|
3085
|
+
removeFormat: "Formatierung entfernen",
|
|
3086
|
+
link: "Link einfügen",
|
|
3087
|
+
image: "Bild einfügen",
|
|
3088
|
+
video: "Video einfügen",
|
|
3089
|
+
table: "Tabelle einfügen",
|
|
3090
|
+
back: "Zurück",
|
|
3091
|
+
noHighlight: "Keine Hervorhebung",
|
|
3092
|
+
customColor: "Benutzerdefinierte Farbe",
|
|
3093
|
+
customColorLabel: "Benutzerdefiniert…"
|
|
3094
|
+
},
|
|
3095
|
+
statusbar: {
|
|
3096
|
+
resizeHandle: "Editor-Größe ändern",
|
|
3097
|
+
words: (n) => `Wörter: ${n}`,
|
|
3098
|
+
wordsLimit: (n, max) => `Wörter: ${n}/${max}`,
|
|
3099
|
+
chars: (n) => `Zeichen: ${n}`,
|
|
3100
|
+
charsLimit: (n, max) => `Zeichen: ${n}/${max}`
|
|
3101
|
+
},
|
|
3102
|
+
tooltips: {
|
|
3103
|
+
link: {
|
|
3104
|
+
ariaLabel: "Link-Aktionen",
|
|
3105
|
+
openLink: "Link öffnen",
|
|
3106
|
+
copyUrl: "URL kopieren",
|
|
3107
|
+
editLink: "Link bearbeiten",
|
|
3108
|
+
removeLink: "Link entfernen"
|
|
3109
|
+
},
|
|
3110
|
+
image: {
|
|
3111
|
+
ariaLabel: "Bild-Aktionen",
|
|
3112
|
+
label: "Bild",
|
|
3113
|
+
floatLeft: "Links umfließen",
|
|
3114
|
+
noFloat: "Kein Umfluss",
|
|
3115
|
+
alignCenter: "Zentriert",
|
|
3116
|
+
floatRight: "Rechts umfließen",
|
|
3117
|
+
originalSize: "Originalgröße",
|
|
3118
|
+
rotateLeft: "Links drehen",
|
|
3119
|
+
rotateRight: "Rechts drehen",
|
|
3120
|
+
cropImage: "Bild zuschneiden",
|
|
3121
|
+
addCaption: "Beschriftung hinzufügen / bearbeiten",
|
|
3122
|
+
deleteImage: "Bild löschen"
|
|
3123
|
+
},
|
|
3124
|
+
code: {
|
|
3125
|
+
ariaLabel: "Codeblock-Aktionen",
|
|
3126
|
+
label: "Code",
|
|
3127
|
+
syntaxLanguage: "Syntaxsprache",
|
|
3128
|
+
syntaxAriaLabel: "Syntaxsprache",
|
|
3129
|
+
copyCode: "Code kopieren",
|
|
3130
|
+
toggleWordWrap: "Zeilenumbruch umschalten",
|
|
3131
|
+
enableWordWrap: "Zeilenumbruch aktivieren",
|
|
3132
|
+
disableWordWrap: "Zeilenumbruch deaktivieren",
|
|
3133
|
+
convertToParagraph: "In Absatz umwandeln",
|
|
3134
|
+
deleteCodeBlock: "Codeblock löschen"
|
|
3135
|
+
},
|
|
3136
|
+
table: {
|
|
3137
|
+
ariaLabel: "Tabellen-Aktionen",
|
|
3138
|
+
label: "Tabelle",
|
|
3139
|
+
selectCells: "Zellen auswählen",
|
|
3140
|
+
addRowAbove: "Zeile oben hinzufügen",
|
|
3141
|
+
addRowBelow: "Zeile unten hinzufügen",
|
|
3142
|
+
deleteRow: "Zeile löschen",
|
|
3143
|
+
addColumnLeft: "Spalte links hinzufügen",
|
|
3144
|
+
addColumnRight: "Spalte rechts hinzufügen",
|
|
3145
|
+
deleteColumn: "Spalte löschen",
|
|
3146
|
+
mergeCells: "Zellen zusammenführen",
|
|
3147
|
+
unmergeCells: "Zellen trennen",
|
|
3148
|
+
columnWidth: "Spaltenbreite",
|
|
3149
|
+
rowHeight: "Zeilenhöhe",
|
|
3150
|
+
tableBorderWidth: "Tabellenrahmenbreite",
|
|
3151
|
+
deleteTable: "Tabelle löschen",
|
|
3152
|
+
columnWidthPx: "Spaltenbreite (px)",
|
|
3153
|
+
rowHeightPx: "Zeilenhöhe (px)",
|
|
3154
|
+
tableBorderWidthPx: "Tabellenrahmenbreite (px)",
|
|
3155
|
+
cancelBtn: "Abbrechen",
|
|
3156
|
+
applyBtn: "Anwenden"
|
|
3157
|
+
},
|
|
3158
|
+
video: {
|
|
3159
|
+
ariaLabel: "Video-Aktionen",
|
|
3160
|
+
label: "Video",
|
|
3161
|
+
floatLeft: "Links umfließen",
|
|
3162
|
+
noFloat: "Kein Umfluss",
|
|
3163
|
+
alignCenter: "Zentriert",
|
|
3164
|
+
floatRight: "Rechts umfließen",
|
|
3165
|
+
originalSize: "Originalgröße",
|
|
3166
|
+
previewVideo: "Video-Vorschau",
|
|
3167
|
+
exitPreview: "Vorschau beenden",
|
|
3168
|
+
deleteVideo: "Video löschen"
|
|
3169
|
+
}
|
|
3170
|
+
},
|
|
3171
|
+
errors: {
|
|
3172
|
+
imageFormat: (type) => `Das Format „${type}" wird in Webbrowsern nicht unterstützt. Bitte konvertieren Sie es zuerst in JPEG, PNG oder WebP.`,
|
|
3173
|
+
imageSize: (maxSize) => `Die Bilddatei ist zu groß. Die maximal zulässige Größe beträgt ${maxSize} MB.`
|
|
3174
|
+
}
|
|
3175
|
+
},
|
|
3176
|
+
es: {
|
|
3177
|
+
toolbar: {
|
|
3178
|
+
bold: "Negrita (Ctrl+B)",
|
|
3179
|
+
italic: "Cursiva (Ctrl+I)",
|
|
3180
|
+
underline: "Subrayado (Ctrl+U)",
|
|
3181
|
+
strikethrough: "Tachado",
|
|
3182
|
+
superscript: "Superíndice",
|
|
3183
|
+
subscript: "Subíndice",
|
|
3184
|
+
alignLeft: "Alinear a la izquierda",
|
|
3185
|
+
alignCenter: "Centrar",
|
|
3186
|
+
alignRight: "Alinear a la derecha",
|
|
3187
|
+
alignJustify: "Justificar",
|
|
3188
|
+
ul: "Lista sin orden",
|
|
3189
|
+
ol: "Lista ordenada",
|
|
3190
|
+
checklist: "Lista de verificación",
|
|
3191
|
+
indent: "Aumentar sangría",
|
|
3192
|
+
outdent: "Reducir sangría",
|
|
3193
|
+
undo: "Deshacer (Ctrl+Z)",
|
|
3194
|
+
redo: "Rehacer (Ctrl+Y)",
|
|
3195
|
+
hr: "Línea horizontal",
|
|
3196
|
+
link: "Insertar enlace",
|
|
3197
|
+
image: "Insertar imagen",
|
|
3198
|
+
video: "Insertar vídeo",
|
|
3199
|
+
emoji: "Insertar emoji",
|
|
3200
|
+
icon: "Insertar icono FA",
|
|
3201
|
+
table: "Insertar tabla",
|
|
3202
|
+
fontSize: "Tamaño de fuente",
|
|
3203
|
+
fontSizePlaceholder: "Tamaño",
|
|
3204
|
+
removeFormat: "Eliminar formato",
|
|
3205
|
+
direction: "Cambiar dirección del texto (LTR / RTL)",
|
|
3206
|
+
fontFamily: "Fuente",
|
|
3207
|
+
paragraphStyle: "Estilo de párrafo",
|
|
3208
|
+
paragraphStylePlaceholder: "Estilo",
|
|
3209
|
+
lineHeight: "Interlineado",
|
|
3210
|
+
lineHeightPlaceholder: "↕ Línea",
|
|
3211
|
+
codeview: "Vista de código HTML",
|
|
3212
|
+
fullscreen: "Pantalla completa",
|
|
3213
|
+
shortcuts: "Atajos de teclado (Ctrl+Shift+/)",
|
|
3214
|
+
find: "Buscar (Ctrl+F)",
|
|
3215
|
+
findReplace: "Buscar y reemplazar (Ctrl+H)",
|
|
3216
|
+
inlineCode: "Código en línea (Ctrl+`)",
|
|
3217
|
+
print: "Imprimir",
|
|
3218
|
+
foreColor: "Color del texto",
|
|
3219
|
+
backColor: "Color de resaltado",
|
|
3220
|
+
chooseTextColor: "Elegir color del texto",
|
|
3221
|
+
chooseHighlightColor: "Elegir color de resaltado",
|
|
3222
|
+
customColor: "Color personalizado",
|
|
3223
|
+
insertTableLabel: "Insertar tabla",
|
|
3224
|
+
paragraphItems: {
|
|
3225
|
+
p: "Normal",
|
|
3226
|
+
blockquote: "Cita",
|
|
3227
|
+
pre: "Código"
|
|
3228
|
+
}
|
|
3229
|
+
},
|
|
3230
|
+
linkDialog: {
|
|
3231
|
+
ariaLabel: "Insertar enlace",
|
|
3232
|
+
title: "Insertar enlace",
|
|
3233
|
+
url: "URL",
|
|
3234
|
+
urlPlaceholder: "https://",
|
|
3235
|
+
displayText: "Texto a mostrar",
|
|
3236
|
+
textPlaceholder: "Texto del enlace",
|
|
3237
|
+
openInNewTab: "Abrir en nueva pestaña",
|
|
3238
|
+
insertBtn: "Insertar",
|
|
3239
|
+
cancelBtn: "Cancelar"
|
|
3240
|
+
},
|
|
3241
|
+
imageDialog: {
|
|
3242
|
+
ariaLabel: "Insertar imagen",
|
|
3243
|
+
title: "Insertar imagen",
|
|
3244
|
+
imageUrl: "URL de imagen",
|
|
3245
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
3246
|
+
altText: "Texto alternativo",
|
|
3247
|
+
altPlaceholder: "Describir la imagen",
|
|
3248
|
+
alignment: "Alineación",
|
|
3249
|
+
alignNone: "Ninguna",
|
|
3250
|
+
alignLeft: "Izquierda",
|
|
3251
|
+
alignCenter: "Centro",
|
|
3252
|
+
alignRight: "Derecha",
|
|
3253
|
+
uploadLabel: "O subir un archivo",
|
|
3254
|
+
insertBtn: "Insertar",
|
|
3255
|
+
cancelBtn: "Cancelar"
|
|
3256
|
+
},
|
|
3257
|
+
videoDialog: {
|
|
3258
|
+
ariaLabel: "Insertar vídeo",
|
|
3259
|
+
title: "Insertar vídeo",
|
|
3260
|
+
videoUrl: "URL del vídeo",
|
|
3261
|
+
urlPlaceholder: "YouTube, Vimeo o URL directa .mp4",
|
|
3262
|
+
widthLabel: "Ancho (px)",
|
|
3263
|
+
widthPlaceholder: "560",
|
|
3264
|
+
insertBtn: "Insertar",
|
|
3265
|
+
cancelBtn: "Cancelar",
|
|
3266
|
+
detected: (type) => `Detectado: ${type}`,
|
|
3267
|
+
unknownFormat: "Formato desconocido — se intentará incrustar el vídeo directamente",
|
|
3268
|
+
invalidUrl: "URL no válida — introduzca un enlace de vídeo válido."
|
|
3269
|
+
},
|
|
3270
|
+
emojiDialog: {
|
|
3271
|
+
ariaLabel: "Insertar emoji",
|
|
3272
|
+
title: "Insertar emoji",
|
|
3273
|
+
searchPlaceholder: "Buscar emojis…",
|
|
3274
|
+
all: "Todos",
|
|
3275
|
+
cancelBtn: "Cancelar",
|
|
3276
|
+
close: "Cerrar",
|
|
3277
|
+
categories: {
|
|
3278
|
+
smileys: "Caritas",
|
|
3279
|
+
people: "Personas",
|
|
3280
|
+
animals: "Animales",
|
|
3281
|
+
food: "Comida",
|
|
3282
|
+
travel: "Viajes",
|
|
3283
|
+
objects: "Objetos",
|
|
3284
|
+
symbols: "Símbolos"
|
|
3285
|
+
}
|
|
3286
|
+
},
|
|
3287
|
+
iconDialog: {
|
|
3288
|
+
ariaLabel: "Insertar icono FA",
|
|
3289
|
+
title: "Insertar icono FA",
|
|
3290
|
+
searchPlaceholder: "Buscar iconos…",
|
|
3291
|
+
all: "Todos",
|
|
3292
|
+
style: "Estilo",
|
|
3293
|
+
size: "Tamaño",
|
|
3294
|
+
color: "Color",
|
|
3295
|
+
useColor: " Usar color",
|
|
3296
|
+
selectHint: "Seleccionar un icono",
|
|
3297
|
+
insertBtn: "Insertar icono FA",
|
|
3298
|
+
cancelBtn: "Cancelar",
|
|
3299
|
+
close: "Cerrar",
|
|
3300
|
+
categories: {
|
|
3301
|
+
popular: "Popular",
|
|
3302
|
+
interface: "Interfaz",
|
|
3303
|
+
navigation: "Navegación",
|
|
3304
|
+
media: "Medios",
|
|
3305
|
+
communication: "Comunicación",
|
|
3306
|
+
files: "Archivos",
|
|
3307
|
+
people: "Personas",
|
|
3308
|
+
objects: "Objetos"
|
|
3309
|
+
}
|
|
3310
|
+
},
|
|
3311
|
+
findReplace: {
|
|
3312
|
+
findTitle: "Buscar",
|
|
3313
|
+
findReplaceTitle: "Buscar y reemplazar",
|
|
3314
|
+
findPlaceholder: "Buscar…",
|
|
3315
|
+
searchAriaLabel: "Texto de búsqueda",
|
|
3316
|
+
caseSensitive: "\xA0Distinguir mayúsculas",
|
|
3317
|
+
prevBtn: "← Anterior",
|
|
3318
|
+
nextBtn: "Siguiente →",
|
|
3319
|
+
replacePlaceholder: "Reemplazar con…",
|
|
3320
|
+
replaceAriaLabel: "Reemplazar con",
|
|
3321
|
+
replaceBtn: "Reemplazar",
|
|
3322
|
+
replaceAllBtn: "Reemplazar todo",
|
|
3323
|
+
close: "×"
|
|
3324
|
+
},
|
|
3325
|
+
shortcutsDialog: {
|
|
3326
|
+
title: "Atajos de teclado",
|
|
3327
|
+
ariaLabel: "Atajos de teclado",
|
|
3328
|
+
close: "Cerrar",
|
|
3329
|
+
shortcuts: [
|
|
3330
|
+
{
|
|
3331
|
+
category: "Formato de texto",
|
|
3332
|
+
items: [
|
|
3333
|
+
{
|
|
3334
|
+
keys: "Ctrl + B",
|
|
3335
|
+
action: "Negrita"
|
|
3336
|
+
},
|
|
3337
|
+
{
|
|
3338
|
+
keys: "Ctrl + I",
|
|
3339
|
+
action: "Cursiva"
|
|
3340
|
+
},
|
|
3341
|
+
{
|
|
3342
|
+
keys: "Ctrl + U",
|
|
3343
|
+
action: "Subrayado"
|
|
3344
|
+
},
|
|
3345
|
+
{
|
|
3346
|
+
keys: "Ctrl + K",
|
|
3347
|
+
action: "Insertar / editar enlace"
|
|
3348
|
+
}
|
|
3349
|
+
]
|
|
3350
|
+
},
|
|
3351
|
+
{
|
|
3352
|
+
category: "Historial",
|
|
3353
|
+
items: [{
|
|
3354
|
+
keys: "Ctrl + Z",
|
|
3355
|
+
action: "Deshacer"
|
|
3356
|
+
}, {
|
|
3357
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
3358
|
+
action: "Rehacer"
|
|
3359
|
+
}]
|
|
3360
|
+
},
|
|
3361
|
+
{
|
|
3362
|
+
category: "Selección y navegación",
|
|
3363
|
+
items: [
|
|
3364
|
+
{
|
|
3365
|
+
keys: "Ctrl + A",
|
|
3366
|
+
action: "Seleccionar todo"
|
|
3367
|
+
},
|
|
3368
|
+
{
|
|
3369
|
+
keys: "Tab",
|
|
3370
|
+
action: "Aumentar sangría / insertar espacios"
|
|
3371
|
+
},
|
|
3372
|
+
{
|
|
3373
|
+
keys: "Shift + Tab",
|
|
3374
|
+
action: "Reducir sangría"
|
|
3375
|
+
}
|
|
3376
|
+
]
|
|
3377
|
+
},
|
|
3378
|
+
{
|
|
3379
|
+
category: "Portapapeles",
|
|
3380
|
+
items: [{
|
|
3381
|
+
keys: "Ctrl + Shift + V",
|
|
3382
|
+
action: "Pegar como texto plano"
|
|
3383
|
+
}]
|
|
3384
|
+
},
|
|
3385
|
+
{
|
|
3386
|
+
category: "Buscar y reemplazar",
|
|
3387
|
+
items: [{
|
|
3388
|
+
keys: "Ctrl + F",
|
|
3389
|
+
action: "Buscar en el documento"
|
|
3390
|
+
}, {
|
|
3391
|
+
keys: "Ctrl + H",
|
|
3392
|
+
action: "Buscar y reemplazar"
|
|
3393
|
+
}]
|
|
3394
|
+
},
|
|
3395
|
+
{
|
|
3396
|
+
category: "Editor",
|
|
3397
|
+
items: [{
|
|
3398
|
+
keys: "Ctrl + Shift + /",
|
|
3399
|
+
action: "Mostrar este diálogo de atajos"
|
|
3400
|
+
}]
|
|
3401
|
+
}
|
|
3402
|
+
]
|
|
3403
|
+
},
|
|
3404
|
+
contextMenu: {
|
|
3405
|
+
cut: "Cortar",
|
|
3406
|
+
copy: "Copiar",
|
|
3407
|
+
paste: "Pegar",
|
|
3408
|
+
bold: "Negrita",
|
|
3409
|
+
italic: "Cursiva",
|
|
3410
|
+
underline: "Subrayado",
|
|
3411
|
+
textColor: "Color del texto",
|
|
3412
|
+
highlightColor: "Color de resaltado",
|
|
3413
|
+
copyFormat: "Copiar formato",
|
|
3414
|
+
pasteFormat: "Pegar formato",
|
|
3415
|
+
removeFormat: "Eliminar formato",
|
|
3416
|
+
link: "Insertar enlace",
|
|
3417
|
+
image: "Insertar imagen",
|
|
3418
|
+
video: "Insertar vídeo",
|
|
3419
|
+
table: "Insertar tabla",
|
|
3420
|
+
back: "Atrás",
|
|
3421
|
+
noHighlight: "Sin resaltado",
|
|
3422
|
+
customColor: "Color personalizado",
|
|
3423
|
+
customColorLabel: "Personalizado…"
|
|
3424
|
+
},
|
|
3425
|
+
statusbar: {
|
|
3426
|
+
resizeHandle: "Redimensionar editor",
|
|
3427
|
+
words: (n) => `Palabras: ${n}`,
|
|
3428
|
+
wordsLimit: (n, max) => `Palabras: ${n}/${max}`,
|
|
3429
|
+
chars: (n) => `Caracteres: ${n}`,
|
|
3430
|
+
charsLimit: (n, max) => `Caracteres: ${n}/${max}`
|
|
3431
|
+
},
|
|
3432
|
+
tooltips: {
|
|
3433
|
+
link: {
|
|
3434
|
+
ariaLabel: "Acciones de enlace",
|
|
3435
|
+
openLink: "Abrir enlace",
|
|
3436
|
+
copyUrl: "Copiar URL",
|
|
3437
|
+
editLink: "Editar enlace",
|
|
3438
|
+
removeLink: "Eliminar enlace"
|
|
3439
|
+
},
|
|
3440
|
+
image: {
|
|
3441
|
+
ariaLabel: "Acciones de imagen",
|
|
3442
|
+
label: "Imagen",
|
|
3443
|
+
floatLeft: "Flotar a la izquierda",
|
|
3444
|
+
noFloat: "Sin flotado",
|
|
3445
|
+
alignCenter: "Centrar",
|
|
3446
|
+
floatRight: "Flotar a la derecha",
|
|
3447
|
+
originalSize: "Tamaño original",
|
|
3448
|
+
rotateLeft: "Rotar a la izquierda",
|
|
3449
|
+
rotateRight: "Rotar a la derecha",
|
|
3450
|
+
cropImage: "Recortar imagen",
|
|
3451
|
+
addCaption: "Añadir / editar pie de foto",
|
|
3452
|
+
deleteImage: "Eliminar imagen"
|
|
3453
|
+
},
|
|
3454
|
+
code: {
|
|
3455
|
+
ariaLabel: "Acciones de bloque de código",
|
|
3456
|
+
label: "Código",
|
|
3457
|
+
syntaxLanguage: "Lenguaje de sintaxis",
|
|
3458
|
+
syntaxAriaLabel: "Lenguaje de sintaxis",
|
|
3459
|
+
copyCode: "Copiar código",
|
|
3460
|
+
toggleWordWrap: "Alternar ajuste de línea",
|
|
3461
|
+
enableWordWrap: "Activar ajuste de línea",
|
|
3462
|
+
disableWordWrap: "Desactivar ajuste de línea",
|
|
3463
|
+
convertToParagraph: "Convertir en párrafo",
|
|
3464
|
+
deleteCodeBlock: "Eliminar bloque de código"
|
|
3465
|
+
},
|
|
3466
|
+
table: {
|
|
3467
|
+
ariaLabel: "Acciones de tabla",
|
|
3468
|
+
label: "Tabla",
|
|
3469
|
+
selectCells: "Seleccionar celdas",
|
|
3470
|
+
addRowAbove: "Añadir fila encima",
|
|
3471
|
+
addRowBelow: "Añadir fila debajo",
|
|
3472
|
+
deleteRow: "Eliminar fila",
|
|
3473
|
+
addColumnLeft: "Añadir columna a la izquierda",
|
|
3474
|
+
addColumnRight: "Añadir columna a la derecha",
|
|
3475
|
+
deleteColumn: "Eliminar columna",
|
|
3476
|
+
mergeCells: "Combinar celdas",
|
|
3477
|
+
unmergeCells: "Separar celdas",
|
|
3478
|
+
columnWidth: "Ancho de columna",
|
|
3479
|
+
rowHeight: "Alto de fila",
|
|
3480
|
+
tableBorderWidth: "Grosor del borde de la tabla",
|
|
3481
|
+
deleteTable: "Eliminar tabla",
|
|
3482
|
+
columnWidthPx: "Ancho de columna (px)",
|
|
3483
|
+
rowHeightPx: "Alto de fila (px)",
|
|
3484
|
+
tableBorderWidthPx: "Grosor del borde (px)",
|
|
3485
|
+
cancelBtn: "Cancelar",
|
|
3486
|
+
applyBtn: "Aplicar"
|
|
3487
|
+
},
|
|
3488
|
+
video: {
|
|
3489
|
+
ariaLabel: "Acciones de vídeo",
|
|
3490
|
+
label: "Vídeo",
|
|
3491
|
+
floatLeft: "Flotar a la izquierda",
|
|
3492
|
+
noFloat: "Sin flotado",
|
|
3493
|
+
alignCenter: "Centrar",
|
|
3494
|
+
floatRight: "Flotar a la derecha",
|
|
3495
|
+
originalSize: "Tamaño original",
|
|
3496
|
+
previewVideo: "Vista previa de vídeo",
|
|
3497
|
+
exitPreview: "Salir de la vista previa",
|
|
3498
|
+
deleteVideo: "Eliminar vídeo"
|
|
3499
|
+
}
|
|
3500
|
+
},
|
|
3501
|
+
errors: {
|
|
3502
|
+
imageFormat: (type) => `El formato "${type}" no es compatible con los navegadores web. Por favor, conviértalo primero a JPEG, PNG o WebP.`,
|
|
3503
|
+
imageSize: (maxSize) => `El archivo de imagen es demasiado grande. El tamaño máximo permitido es ${maxSize} MB.`
|
|
3504
|
+
}
|
|
3505
|
+
},
|
|
3506
|
+
ko: {
|
|
3507
|
+
toolbar: {
|
|
3508
|
+
bold: "굵게 (Ctrl+B)",
|
|
3509
|
+
italic: "기울임꼴 (Ctrl+I)",
|
|
3510
|
+
underline: "밑줄 (Ctrl+U)",
|
|
3511
|
+
strikethrough: "취소선",
|
|
3512
|
+
superscript: "위 첨자",
|
|
3513
|
+
subscript: "아래 첨자",
|
|
3514
|
+
alignLeft: "왼쪽 정렬",
|
|
3515
|
+
alignCenter: "가운데 정렬",
|
|
3516
|
+
alignRight: "오른쪽 정렬",
|
|
3517
|
+
alignJustify: "양쪽 정렬",
|
|
3518
|
+
ul: "순서 없는 목록",
|
|
3519
|
+
ol: "순서 있는 목록",
|
|
3520
|
+
checklist: "체크리스트",
|
|
3521
|
+
indent: "들여쓰기",
|
|
3522
|
+
outdent: "내어쓰기",
|
|
3523
|
+
undo: "실행 취소 (Ctrl+Z)",
|
|
3524
|
+
redo: "다시 실행 (Ctrl+Y)",
|
|
3525
|
+
hr: "수평선",
|
|
3526
|
+
link: "링크 삽입",
|
|
3527
|
+
image: "이미지 삽입",
|
|
3528
|
+
video: "동영상 삽입",
|
|
3529
|
+
emoji: "이모지 삽입",
|
|
3530
|
+
icon: "FA 아이콘 삽입",
|
|
3531
|
+
table: "표 삽입",
|
|
3532
|
+
fontSize: "글꼴 크기",
|
|
3533
|
+
fontSizePlaceholder: "크기",
|
|
3534
|
+
removeFormat: "서식 제거",
|
|
3535
|
+
direction: "텍스트 방향 전환 (LTR / RTL)",
|
|
3536
|
+
fontFamily: "글꼴",
|
|
3537
|
+
paragraphStyle: "단락 스타일",
|
|
3538
|
+
paragraphStylePlaceholder: "스타일",
|
|
3539
|
+
lineHeight: "줄 간격",
|
|
3540
|
+
lineHeightPlaceholder: "↕ 줄",
|
|
3541
|
+
codeview: "HTML 코드 보기",
|
|
3542
|
+
fullscreen: "전체 화면",
|
|
3543
|
+
shortcuts: "키보드 단축키 (Ctrl+Shift+/)",
|
|
3544
|
+
find: "찾기 (Ctrl+F)",
|
|
3545
|
+
findReplace: "찾기 및 바꾸기 (Ctrl+H)",
|
|
3546
|
+
inlineCode: "인라인 코드 (Ctrl+`)",
|
|
3547
|
+
print: "인쇄",
|
|
3548
|
+
foreColor: "글자 색",
|
|
3549
|
+
backColor: "강조 색",
|
|
3550
|
+
chooseTextColor: "글자 색 선택",
|
|
3551
|
+
chooseHighlightColor: "강조 색 선택",
|
|
3552
|
+
customColor: "사용자 지정 색",
|
|
3553
|
+
insertTableLabel: "표 삽입",
|
|
3554
|
+
paragraphItems: {
|
|
3555
|
+
p: "기본",
|
|
3556
|
+
blockquote: "인용",
|
|
3557
|
+
pre: "코드"
|
|
3558
|
+
}
|
|
3559
|
+
},
|
|
3560
|
+
linkDialog: {
|
|
3561
|
+
ariaLabel: "링크 삽입",
|
|
3562
|
+
title: "링크 삽입",
|
|
3563
|
+
url: "URL",
|
|
3564
|
+
urlPlaceholder: "https://",
|
|
3565
|
+
displayText: "표시 텍스트",
|
|
3566
|
+
textPlaceholder: "링크 텍스트",
|
|
3567
|
+
openInNewTab: "새 탭에서 열기",
|
|
3568
|
+
insertBtn: "삽입",
|
|
3569
|
+
cancelBtn: "취소"
|
|
3570
|
+
},
|
|
3571
|
+
imageDialog: {
|
|
3572
|
+
ariaLabel: "이미지 삽입",
|
|
3573
|
+
title: "이미지 삽입",
|
|
3574
|
+
imageUrl: "이미지 URL",
|
|
3575
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
3576
|
+
altText: "대체 텍스트",
|
|
3577
|
+
altPlaceholder: "이미지 설명",
|
|
3578
|
+
alignment: "정렬",
|
|
3579
|
+
alignNone: "없음",
|
|
3580
|
+
alignLeft: "왼쪽",
|
|
3581
|
+
alignCenter: "가운데",
|
|
3582
|
+
alignRight: "오른쪽",
|
|
3583
|
+
uploadLabel: "또는 파일 업로드",
|
|
3584
|
+
insertBtn: "삽입",
|
|
3585
|
+
cancelBtn: "취소"
|
|
3586
|
+
},
|
|
3587
|
+
videoDialog: {
|
|
3588
|
+
ariaLabel: "동영상 삽입",
|
|
3589
|
+
title: "동영상 삽입",
|
|
3590
|
+
videoUrl: "동영상 URL",
|
|
3591
|
+
urlPlaceholder: "YouTube, Vimeo 또는 직접 .mp4 URL",
|
|
3592
|
+
widthLabel: "너비 (px)",
|
|
3593
|
+
widthPlaceholder: "560",
|
|
3594
|
+
insertBtn: "삽입",
|
|
3595
|
+
cancelBtn: "취소",
|
|
3596
|
+
detected: (type) => `감지됨: ${type}`,
|
|
3597
|
+
unknownFormat: "알 수 없는 형식 — 직접 동영상 임베드를 시도합니다",
|
|
3598
|
+
invalidUrl: "유효하지 않은 URL — 올바른 동영상 링크를 입력하세요."
|
|
3599
|
+
},
|
|
3600
|
+
emojiDialog: {
|
|
3601
|
+
ariaLabel: "이모지 삽입",
|
|
3602
|
+
title: "이모지 삽입",
|
|
3603
|
+
searchPlaceholder: "이모지 검색…",
|
|
3604
|
+
all: "전체",
|
|
3605
|
+
cancelBtn: "취소",
|
|
3606
|
+
close: "닫기",
|
|
3607
|
+
categories: {
|
|
3608
|
+
smileys: "스마일",
|
|
3609
|
+
people: "사람",
|
|
3610
|
+
animals: "동물",
|
|
3611
|
+
food: "음식",
|
|
3612
|
+
travel: "여행",
|
|
3613
|
+
objects: "사물",
|
|
3614
|
+
symbols: "기호"
|
|
3615
|
+
}
|
|
3616
|
+
},
|
|
3617
|
+
iconDialog: {
|
|
3618
|
+
ariaLabel: "FA 아이콘 삽입",
|
|
3619
|
+
title: "FA 아이콘 삽입",
|
|
3620
|
+
searchPlaceholder: "아이콘 검색…",
|
|
3621
|
+
all: "전체",
|
|
3622
|
+
style: "스타일",
|
|
3623
|
+
size: "크기",
|
|
3624
|
+
color: "색상",
|
|
3625
|
+
useColor: " 색상 사용",
|
|
3626
|
+
selectHint: "아이콘을 선택하세요",
|
|
3627
|
+
insertBtn: "FA 아이콘 삽입",
|
|
3628
|
+
cancelBtn: "취소",
|
|
3629
|
+
close: "닫기",
|
|
3630
|
+
categories: {
|
|
3631
|
+
popular: "인기",
|
|
3632
|
+
interface: "인터페이스",
|
|
3633
|
+
navigation: "탐색",
|
|
3634
|
+
media: "미디어",
|
|
3635
|
+
communication: "커뮤니케이션",
|
|
3636
|
+
files: "파일",
|
|
3637
|
+
people: "사람",
|
|
3638
|
+
objects: "사물"
|
|
3639
|
+
}
|
|
3640
|
+
},
|
|
3641
|
+
findReplace: {
|
|
3642
|
+
findTitle: "찾기",
|
|
3643
|
+
findReplaceTitle: "찾기 및 바꾸기",
|
|
3644
|
+
findPlaceholder: "찾기…",
|
|
3645
|
+
searchAriaLabel: "검색 텍스트",
|
|
3646
|
+
caseSensitive: "\xA0대소문자 구분",
|
|
3647
|
+
prevBtn: "← 이전",
|
|
3648
|
+
nextBtn: "다음 →",
|
|
3649
|
+
replacePlaceholder: "바꿀 내용…",
|
|
3650
|
+
replaceAriaLabel: "바꿀 내용",
|
|
3651
|
+
replaceBtn: "바꾸기",
|
|
3652
|
+
replaceAllBtn: "모두 바꾸기",
|
|
3653
|
+
close: "×"
|
|
3654
|
+
},
|
|
3655
|
+
shortcutsDialog: {
|
|
3656
|
+
title: "키보드 단축키",
|
|
3657
|
+
ariaLabel: "키보드 단축키",
|
|
3658
|
+
close: "닫기",
|
|
3659
|
+
shortcuts: [
|
|
3660
|
+
{
|
|
3661
|
+
category: "텍스트 서식",
|
|
3662
|
+
items: [
|
|
3663
|
+
{
|
|
3664
|
+
keys: "Ctrl + B",
|
|
3665
|
+
action: "굵게"
|
|
3666
|
+
},
|
|
3667
|
+
{
|
|
3668
|
+
keys: "Ctrl + I",
|
|
3669
|
+
action: "기울임꼴"
|
|
3670
|
+
},
|
|
3671
|
+
{
|
|
3672
|
+
keys: "Ctrl + U",
|
|
3673
|
+
action: "밑줄"
|
|
3674
|
+
},
|
|
3675
|
+
{
|
|
3676
|
+
keys: "Ctrl + K",
|
|
3677
|
+
action: "링크 삽입 / 편집"
|
|
3678
|
+
}
|
|
3679
|
+
]
|
|
3680
|
+
},
|
|
3681
|
+
{
|
|
3682
|
+
category: "실행 기록",
|
|
3683
|
+
items: [{
|
|
3684
|
+
keys: "Ctrl + Z",
|
|
3685
|
+
action: "실행 취소"
|
|
3686
|
+
}, {
|
|
3687
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
3688
|
+
action: "다시 실행"
|
|
3689
|
+
}]
|
|
3690
|
+
},
|
|
3691
|
+
{
|
|
3692
|
+
category: "선택 및 탐색",
|
|
3693
|
+
items: [
|
|
3694
|
+
{
|
|
3695
|
+
keys: "Ctrl + A",
|
|
3696
|
+
action: "전체 선택"
|
|
3697
|
+
},
|
|
3698
|
+
{
|
|
3699
|
+
keys: "Tab",
|
|
3700
|
+
action: "목록 들여쓰기 / 공백 삽입"
|
|
3701
|
+
},
|
|
3702
|
+
{
|
|
3703
|
+
keys: "Shift + Tab",
|
|
3704
|
+
action: "목록 내어쓰기"
|
|
3705
|
+
}
|
|
3706
|
+
]
|
|
3707
|
+
},
|
|
3708
|
+
{
|
|
3709
|
+
category: "클립보드",
|
|
3710
|
+
items: [{
|
|
3711
|
+
keys: "Ctrl + Shift + V",
|
|
3712
|
+
action: "일반 텍스트로 붙여넣기"
|
|
3713
|
+
}]
|
|
3714
|
+
},
|
|
3715
|
+
{
|
|
3716
|
+
category: "찾기 및 바꾸기",
|
|
3717
|
+
items: [{
|
|
3718
|
+
keys: "Ctrl + F",
|
|
3719
|
+
action: "문서에서 찾기"
|
|
3720
|
+
}, {
|
|
3721
|
+
keys: "Ctrl + H",
|
|
3722
|
+
action: "찾기 및 바꾸기"
|
|
3723
|
+
}]
|
|
3724
|
+
},
|
|
3725
|
+
{
|
|
3726
|
+
category: "편집기",
|
|
3727
|
+
items: [{
|
|
3728
|
+
keys: "Ctrl + Shift + /",
|
|
3729
|
+
action: "이 단축키 대화상자 표시"
|
|
3730
|
+
}]
|
|
3731
|
+
}
|
|
3732
|
+
]
|
|
3733
|
+
},
|
|
3734
|
+
contextMenu: {
|
|
3735
|
+
cut: "잘라내기",
|
|
3736
|
+
copy: "복사",
|
|
3737
|
+
paste: "붙여넣기",
|
|
3738
|
+
bold: "굵게",
|
|
3739
|
+
italic: "기울임꼴",
|
|
3740
|
+
underline: "밑줄",
|
|
3741
|
+
textColor: "글자 색",
|
|
3742
|
+
highlightColor: "강조 색",
|
|
3743
|
+
copyFormat: "서식 복사",
|
|
3744
|
+
pasteFormat: "서식 붙여넣기",
|
|
3745
|
+
removeFormat: "서식 제거",
|
|
3746
|
+
link: "링크 삽입",
|
|
3747
|
+
image: "이미지 삽입",
|
|
3748
|
+
video: "동영상 삽입",
|
|
3749
|
+
table: "표 삽입",
|
|
3750
|
+
back: "뒤로",
|
|
3751
|
+
noHighlight: "강조 없음",
|
|
3752
|
+
customColor: "사용자 지정 색",
|
|
3753
|
+
customColorLabel: "사용자 지정…"
|
|
3754
|
+
},
|
|
3755
|
+
statusbar: {
|
|
3756
|
+
resizeHandle: "편집기 크기 조정",
|
|
3757
|
+
words: (n) => `단어: ${n}`,
|
|
3758
|
+
wordsLimit: (n, max) => `단어: ${n}/${max}`,
|
|
3759
|
+
chars: (n) => `글자: ${n}`,
|
|
3760
|
+
charsLimit: (n, max) => `글자: ${n}/${max}`
|
|
3761
|
+
},
|
|
3762
|
+
tooltips: {
|
|
3763
|
+
link: {
|
|
3764
|
+
ariaLabel: "링크 작업",
|
|
3765
|
+
openLink: "링크 열기",
|
|
3766
|
+
copyUrl: "URL 복사",
|
|
3767
|
+
editLink: "링크 편집",
|
|
3768
|
+
removeLink: "링크 제거"
|
|
3769
|
+
},
|
|
3770
|
+
image: {
|
|
3771
|
+
ariaLabel: "이미지 작업",
|
|
3772
|
+
label: "이미지",
|
|
3773
|
+
floatLeft: "왼쪽 배치",
|
|
3774
|
+
noFloat: "배치 없음",
|
|
3775
|
+
alignCenter: "가운데 정렬",
|
|
3776
|
+
floatRight: "오른쪽 배치",
|
|
3777
|
+
originalSize: "원본 크기",
|
|
3778
|
+
rotateLeft: "왼쪽 회전",
|
|
3779
|
+
rotateRight: "오른쪽 회전",
|
|
3780
|
+
cropImage: "이미지 자르기",
|
|
3781
|
+
addCaption: "캡션 추가 / 편집",
|
|
3782
|
+
deleteImage: "이미지 삭제"
|
|
3783
|
+
},
|
|
3784
|
+
code: {
|
|
3785
|
+
ariaLabel: "코드 블록 작업",
|
|
3786
|
+
label: "코드",
|
|
3787
|
+
syntaxLanguage: "구문 언어",
|
|
3788
|
+
syntaxAriaLabel: "구문 언어",
|
|
3789
|
+
copyCode: "코드 복사",
|
|
3790
|
+
toggleWordWrap: "줄 바꿈 전환",
|
|
3791
|
+
enableWordWrap: "줄 바꿈 사용",
|
|
3792
|
+
disableWordWrap: "줄 바꿈 해제",
|
|
3793
|
+
convertToParagraph: "단락으로 변환",
|
|
3794
|
+
deleteCodeBlock: "코드 블록 삭제"
|
|
3795
|
+
},
|
|
3796
|
+
table: {
|
|
3797
|
+
ariaLabel: "표 작업",
|
|
3798
|
+
label: "표",
|
|
3799
|
+
selectCells: "셀 선택",
|
|
3800
|
+
addRowAbove: "위에 행 추가",
|
|
3801
|
+
addRowBelow: "아래에 행 추가",
|
|
3802
|
+
deleteRow: "행 삭제",
|
|
3803
|
+
addColumnLeft: "왼쪽에 열 추가",
|
|
3804
|
+
addColumnRight: "오른쪽에 열 추가",
|
|
3805
|
+
deleteColumn: "열 삭제",
|
|
3806
|
+
mergeCells: "셀 병합",
|
|
3807
|
+
unmergeCells: "셀 분할",
|
|
3808
|
+
columnWidth: "열 너비",
|
|
3809
|
+
rowHeight: "행 높이",
|
|
3810
|
+
tableBorderWidth: "표 테두리 너비",
|
|
3811
|
+
deleteTable: "표 삭제",
|
|
3812
|
+
columnWidthPx: "열 너비 (px)",
|
|
3813
|
+
rowHeightPx: "행 높이 (px)",
|
|
3814
|
+
tableBorderWidthPx: "표 테두리 너비 (px)",
|
|
3815
|
+
cancelBtn: "취소",
|
|
3816
|
+
applyBtn: "적용"
|
|
3817
|
+
},
|
|
3818
|
+
video: {
|
|
3819
|
+
ariaLabel: "동영상 작업",
|
|
3820
|
+
label: "동영상",
|
|
3821
|
+
floatLeft: "왼쪽 배치",
|
|
3822
|
+
noFloat: "배치 없음",
|
|
3823
|
+
alignCenter: "가운데 정렬",
|
|
3824
|
+
floatRight: "오른쪽 배치",
|
|
3825
|
+
originalSize: "원본 크기",
|
|
3826
|
+
previewVideo: "동영상 미리보기",
|
|
3827
|
+
exitPreview: "미리보기 종료",
|
|
3828
|
+
deleteVideo: "동영상 삭제"
|
|
3829
|
+
}
|
|
3830
|
+
},
|
|
3831
|
+
errors: {
|
|
3832
|
+
imageFormat: (type) => `"${type}" 형식은 웹 브라우저에서 지원되지 않습니다. JPEG, PNG 또는 WebP로 변환해 주세요.`,
|
|
3833
|
+
imageSize: (maxSize) => `이미지 파일이 너무 큽니다. 최대 허용 크기는 ${maxSize} MB입니다.`
|
|
3834
|
+
}
|
|
3835
|
+
}
|
|
3836
|
+
};
|
|
3837
|
+
/**
|
|
3838
|
+
* Resolve a locale object from a lang option value.
|
|
3839
|
+
*
|
|
3840
|
+
* @param {string | Partial<AsnLocale> | null | undefined} lang
|
|
3841
|
+
* @returns {AsnLocale} A fully-populated locale (always contains every key from en.js).
|
|
3842
|
+
*/
|
|
3843
|
+
function resolveLocale(lang) {
|
|
3844
|
+
if (!lang || lang === "en") return en;
|
|
3845
|
+
if (typeof lang === "string") {
|
|
3846
|
+
const partial = locales[lang];
|
|
3847
|
+
if (!partial) return en;
|
|
3848
|
+
return mergeDeep(mergeDeep({}, en), partial);
|
|
3849
|
+
}
|
|
3850
|
+
if (typeof lang === "object") return mergeDeep(mergeDeep({}, en), lang);
|
|
3851
|
+
return en;
|
|
3852
|
+
}
|
|
3853
|
+
/**
|
|
3854
|
+
* @typedef {Object} AsnLocale (see types/index.d.ts for the full definition)
|
|
3855
|
+
*/
|
|
3856
|
+
//#endregion
|
|
1167
3857
|
//#region src/js/core/sanitise.js
|
|
1168
3858
|
/**
|
|
1169
3859
|
* sanitise.js - Shared HTML and URL sanitisation utilities
|
|
@@ -2814,9 +5504,9 @@
|
|
|
2814
5504
|
const btn = createElement("button", {
|
|
2815
5505
|
type: "button",
|
|
2816
5506
|
class: !!this.options.useBootstrap ? this.options.toolbarButtonClass || "btn btn-sm btn-light" : "an-btn",
|
|
2817
|
-
title: def.tooltip || "",
|
|
5507
|
+
title: this.context.locale.toolbar[def.name] || def.tooltip || "",
|
|
2818
5508
|
"data-btn": def.name,
|
|
2819
|
-
"aria-label": def.tooltip || def.name,
|
|
5509
|
+
"aria-label": this.context.locale.toolbar[def.name] || def.tooltip || def.name,
|
|
2820
5510
|
"aria-haspopup": "true",
|
|
2821
5511
|
"aria-expanded": "false"
|
|
2822
5512
|
});
|
|
@@ -2829,7 +5519,7 @@
|
|
|
2829
5519
|
});
|
|
2830
5520
|
const grid = createElement("div", { class: "an-table-grid" });
|
|
2831
5521
|
const label = createElement("div", { class: "an-table-label" });
|
|
2832
|
-
label.textContent = "Insert Table";
|
|
5522
|
+
label.textContent = this.context.locale.toolbar.insertTableLabel || "Insert Table";
|
|
2833
5523
|
const cells = [];
|
|
2834
5524
|
for (let r = 1; r <= ROWS; r++) for (let c = 1; c <= COLS; c++) {
|
|
2835
5525
|
const cell = createElement("div", {
|
|
@@ -2849,7 +5539,7 @@
|
|
|
2849
5539
|
const c = +cell.getAttribute("data-col");
|
|
2850
5540
|
cell.classList.toggle("active", r <= rows && c <= cols);
|
|
2851
5541
|
});
|
|
2852
|
-
label.textContent = rows && cols ? `${rows} × ${cols}` : "Insert Table";
|
|
5542
|
+
label.textContent = rows && cols ? `${rows} × ${cols}` : this.context.locale.toolbar.insertTableLabel || "Insert Table";
|
|
2853
5543
|
};
|
|
2854
5544
|
const openPopup = () => {
|
|
2855
5545
|
isOpen = true;
|
|
@@ -2929,9 +5619,9 @@
|
|
|
2929
5619
|
const applyBtn = createElement("button", {
|
|
2930
5620
|
type: "button",
|
|
2931
5621
|
class: `${baseClass} an-color-btn`,
|
|
2932
|
-
title: def.tooltip || "",
|
|
5622
|
+
title: this.context.locale.toolbar[def.name] || def.tooltip || "",
|
|
2933
5623
|
"data-btn": def.name,
|
|
2934
|
-
"aria-label": def.tooltip || def.name
|
|
5624
|
+
"aria-label": this.context.locale.toolbar[def.name] || def.tooltip || def.name
|
|
2935
5625
|
});
|
|
2936
5626
|
const S = "stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"";
|
|
2937
5627
|
applyBtn.innerHTML = def.name === "foreColor" ? `<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" ${S} style="display:block"><path d="M4 20L12 4L20 20"/><line x1="7.5" y1="14" x2="16.5" y2="14"/></svg>` : `<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" ${S} style="display:block"><path d="M3 21v-4l9-9 4 4-9 9z"/><path d="M12 8l4 4"/></svg>`;
|
|
@@ -2941,7 +5631,7 @@
|
|
|
2941
5631
|
const arrowBtn = createElement("button", {
|
|
2942
5632
|
type: "button",
|
|
2943
5633
|
class: `${baseClass} an-color-arrow`,
|
|
2944
|
-
title:
|
|
5634
|
+
title: def.name === "foreColor" ? this.context.locale.toolbar.chooseTextColor || "Choose text color" : this.context.locale.toolbar.chooseHighlightColor || "Choose highlight color",
|
|
2945
5635
|
"aria-haspopup": "true",
|
|
2946
5636
|
"aria-expanded": "false"
|
|
2947
5637
|
});
|
|
@@ -2963,9 +5653,9 @@
|
|
|
2963
5653
|
const colorInput = createElement("input", {
|
|
2964
5654
|
type: "color",
|
|
2965
5655
|
value: currentColor,
|
|
2966
|
-
title: "Custom color"
|
|
5656
|
+
title: this.context.locale.toolbar.customColor || "Custom color"
|
|
2967
5657
|
});
|
|
2968
|
-
const customLabel = createElement("span", {}, ["Custom color"]);
|
|
5658
|
+
const customLabel = createElement("span", {}, [this.context.locale.toolbar.customColor || "Custom color"]);
|
|
2969
5659
|
customRow.appendChild(colorInput);
|
|
2970
5660
|
customRow.appendChild(customLabel);
|
|
2971
5661
|
popup.appendChild(swatches);
|
|
@@ -3075,19 +5765,19 @@
|
|
|
3075
5765
|
const items = def.name === "fontFamily" ? this.options.fontFamilies || [] : def.items || [];
|
|
3076
5766
|
const select = createElement("select", {
|
|
3077
5767
|
class: def.selectClass ? `an-select ${def.selectClass}` : "an-select",
|
|
3078
|
-
title: def.tooltip || "",
|
|
5768
|
+
title: this.context.locale.toolbar[def.name] || def.tooltip || "",
|
|
3079
5769
|
"data-btn": def.name,
|
|
3080
|
-
"aria-label": def.tooltip || def.name
|
|
5770
|
+
"aria-label": this.context.locale.toolbar[def.name] || def.tooltip || def.name
|
|
3081
5771
|
});
|
|
3082
5772
|
const placeholder = createElement("option", {
|
|
3083
5773
|
value: "",
|
|
3084
5774
|
disabled: "",
|
|
3085
5775
|
hidden: ""
|
|
3086
|
-
}, [def.placeholder || "Font"]);
|
|
5776
|
+
}, [this.context.locale.toolbar[def.name + "Placeholder"] || def.placeholder || "Font"]);
|
|
3087
5777
|
select.appendChild(placeholder);
|
|
3088
5778
|
items.forEach((item) => {
|
|
3089
5779
|
const value = typeof item === "object" ? item.value : item;
|
|
3090
|
-
const label = typeof item === "object" ? item.label : item;
|
|
5780
|
+
const label = typeof item === "object" ? def.name === "paragraphStyle" ? (this.context.locale.toolbar.paragraphItems || {})[item.value] || item.label : item.label : item;
|
|
3091
5781
|
const isHeader = typeof item === "object" && !!item.disabled;
|
|
3092
5782
|
const attrs = { value };
|
|
3093
5783
|
if (isHeader) attrs.disabled = "";
|
|
@@ -3127,9 +5817,9 @@
|
|
|
3127
5817
|
const btn = createElement("button", {
|
|
3128
5818
|
type: "button",
|
|
3129
5819
|
class: `${!!this.options.useBootstrap ? this.options.toolbarButtonClass || "btn btn-sm btn-light" : `an-btn`}${btnDef.className ? ` ${btnDef.className}` : ""}`,
|
|
3130
|
-
title: btnDef.tooltip || "",
|
|
5820
|
+
title: this.context.locale.toolbar[btnDef.name] || btnDef.tooltip || "",
|
|
3131
5821
|
"data-btn": btnDef.name,
|
|
3132
|
-
"aria-label": btnDef.tooltip || btnDef.name
|
|
5822
|
+
"aria-label": this.context.locale.toolbar[btnDef.name] || btnDef.tooltip || btnDef.name
|
|
3133
5823
|
});
|
|
3134
5824
|
const faPrefix = this.options.fontAwesomeClass || "fas";
|
|
3135
5825
|
if (this._faReady) {
|
|
@@ -3254,7 +5944,7 @@
|
|
|
3254
5944
|
if (this.options.resizable !== false) {
|
|
3255
5945
|
const handle = createElement("div", {
|
|
3256
5946
|
class: "an-resize-handle",
|
|
3257
|
-
title:
|
|
5947
|
+
title: this.context.locale.statusbar.resizeHandle,
|
|
3258
5948
|
"aria-hidden": "true"
|
|
3259
5949
|
});
|
|
3260
5950
|
this._bindResize(handle);
|
|
@@ -3344,8 +6034,9 @@
|
|
|
3344
6034
|
const chars = text.replace(/\n/g, "").length;
|
|
3345
6035
|
const maxWords = this.options.maxWords || 0;
|
|
3346
6036
|
const maxChars = this.options.maxChars || 0;
|
|
3347
|
-
this.
|
|
3348
|
-
this.
|
|
6037
|
+
const LS = this.context.locale.statusbar;
|
|
6038
|
+
this._wordCountEl.textContent = maxWords ? LS.wordsLimit(words, maxWords) : LS.words(words);
|
|
6039
|
+
this._charCountEl.textContent = maxChars ? LS.charsLimit(chars, maxChars) : LS.chars(chars);
|
|
3349
6040
|
_applyLimitClass(this._wordCountEl, words, maxWords);
|
|
3350
6041
|
_applyLimitClass(this._charCountEl, chars, maxChars);
|
|
3351
6042
|
}
|
|
@@ -3942,32 +6633,33 @@
|
|
|
3942
6633
|
this._open();
|
|
3943
6634
|
}
|
|
3944
6635
|
_buildDialog() {
|
|
6636
|
+
const L = this.context.locale.linkDialog;
|
|
3945
6637
|
const overlay = createElement("div", {
|
|
3946
6638
|
class: "an-dialog-overlay",
|
|
3947
6639
|
role: "dialog",
|
|
3948
6640
|
"aria-modal": "true",
|
|
3949
|
-
"aria-label":
|
|
6641
|
+
"aria-label": L.ariaLabel
|
|
3950
6642
|
});
|
|
3951
6643
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
3952
6644
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
3953
|
-
title.textContent =
|
|
6645
|
+
title.textContent = L.title;
|
|
3954
6646
|
const urlLabel = createElement("label", { class: "an-label" });
|
|
3955
|
-
urlLabel.textContent =
|
|
6647
|
+
urlLabel.textContent = L.url;
|
|
3956
6648
|
const urlInput = createElement("input", {
|
|
3957
6649
|
type: "url",
|
|
3958
6650
|
class: "an-input",
|
|
3959
|
-
placeholder:
|
|
6651
|
+
placeholder: L.urlPlaceholder,
|
|
3960
6652
|
id: "an-link-url",
|
|
3961
6653
|
name: "url",
|
|
3962
6654
|
autocomplete: "off"
|
|
3963
6655
|
});
|
|
3964
6656
|
this._urlInput = urlInput;
|
|
3965
6657
|
const textLabel = createElement("label", { class: "an-label" });
|
|
3966
|
-
textLabel.textContent =
|
|
6658
|
+
textLabel.textContent = L.displayText;
|
|
3967
6659
|
const textInput = createElement("input", {
|
|
3968
6660
|
type: "text",
|
|
3969
6661
|
class: "an-input",
|
|
3970
|
-
placeholder:
|
|
6662
|
+
placeholder: L.textPlaceholder,
|
|
3971
6663
|
id: "an-link-text",
|
|
3972
6664
|
name: "linkText",
|
|
3973
6665
|
autocomplete: "off"
|
|
@@ -3981,18 +6673,18 @@
|
|
|
3981
6673
|
});
|
|
3982
6674
|
this._tabCheckbox = tabCheckbox;
|
|
3983
6675
|
tabLabel.appendChild(tabCheckbox);
|
|
3984
|
-
tabLabel.appendChild(document.createTextNode("
|
|
6676
|
+
tabLabel.appendChild(document.createTextNode(" " + L.openInNewTab));
|
|
3985
6677
|
const btnRow = createElement("div", { class: "an-dialog-actions" });
|
|
3986
6678
|
const insertBtn = createElement("button", {
|
|
3987
6679
|
type: "button",
|
|
3988
6680
|
class: "an-btn an-btn-primary"
|
|
3989
6681
|
});
|
|
3990
|
-
insertBtn.textContent =
|
|
6682
|
+
insertBtn.textContent = L.insertBtn;
|
|
3991
6683
|
const cancelBtn = createElement("button", {
|
|
3992
6684
|
type: "button",
|
|
3993
6685
|
class: "an-btn"
|
|
3994
6686
|
});
|
|
3995
|
-
cancelBtn.textContent =
|
|
6687
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
3996
6688
|
btnRow.appendChild(insertBtn);
|
|
3997
6689
|
btnRow.appendChild(cancelBtn);
|
|
3998
6690
|
box.append(title, urlLabel, urlInput, textLabel, textInput, tabLabel, btnRow);
|
|
@@ -4118,53 +6810,54 @@
|
|
|
4118
6810
|
this._open();
|
|
4119
6811
|
}
|
|
4120
6812
|
_buildDialog() {
|
|
6813
|
+
const L = this.context.locale.imageDialog;
|
|
4121
6814
|
const overlay = createElement("div", {
|
|
4122
6815
|
class: "an-dialog-overlay",
|
|
4123
6816
|
role: "dialog",
|
|
4124
6817
|
"aria-modal": "true",
|
|
4125
|
-
"aria-label":
|
|
6818
|
+
"aria-label": L.ariaLabel
|
|
4126
6819
|
});
|
|
4127
6820
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
4128
6821
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
4129
|
-
title.textContent =
|
|
6822
|
+
title.textContent = L.title;
|
|
4130
6823
|
const urlLabel = createElement("label", { class: "an-label" });
|
|
4131
|
-
urlLabel.textContent =
|
|
6824
|
+
urlLabel.textContent = L.imageUrl;
|
|
4132
6825
|
const urlInput = createElement("input", {
|
|
4133
6826
|
type: "url",
|
|
4134
6827
|
class: "an-input",
|
|
4135
|
-
placeholder:
|
|
6828
|
+
placeholder: L.urlPlaceholder,
|
|
4136
6829
|
autocomplete: "off"
|
|
4137
6830
|
});
|
|
4138
6831
|
this._urlInput = urlInput;
|
|
4139
6832
|
const altLabel = createElement("label", { class: "an-label" });
|
|
4140
|
-
altLabel.textContent =
|
|
6833
|
+
altLabel.textContent = L.altText;
|
|
4141
6834
|
const altInput = createElement("input", {
|
|
4142
6835
|
type: "text",
|
|
4143
6836
|
class: "an-input",
|
|
4144
|
-
placeholder:
|
|
6837
|
+
placeholder: L.altPlaceholder,
|
|
4145
6838
|
autocomplete: "off"
|
|
4146
6839
|
});
|
|
4147
6840
|
this._altInput = altInput;
|
|
4148
6841
|
box.append(title, urlLabel, urlInput, altLabel, altInput);
|
|
4149
6842
|
const alignLabel = createElement("label", { class: "an-label" });
|
|
4150
|
-
alignLabel.textContent =
|
|
6843
|
+
alignLabel.textContent = L.alignment;
|
|
4151
6844
|
const alignRow = createElement("div", { class: "an-align-row" });
|
|
4152
6845
|
[
|
|
4153
6846
|
{
|
|
4154
6847
|
value: "",
|
|
4155
|
-
label:
|
|
6848
|
+
label: L.alignNone
|
|
4156
6849
|
},
|
|
4157
6850
|
{
|
|
4158
6851
|
value: "left",
|
|
4159
|
-
label:
|
|
6852
|
+
label: L.alignLeft
|
|
4160
6853
|
},
|
|
4161
6854
|
{
|
|
4162
6855
|
value: "center",
|
|
4163
|
-
label:
|
|
6856
|
+
label: L.alignCenter
|
|
4164
6857
|
},
|
|
4165
6858
|
{
|
|
4166
6859
|
value: "right",
|
|
4167
|
-
label:
|
|
6860
|
+
label: L.alignRight
|
|
4168
6861
|
}
|
|
4169
6862
|
].forEach(({ value, label }) => {
|
|
4170
6863
|
const radioId = `an-align-${value || "none"}`;
|
|
@@ -4186,7 +6879,7 @@
|
|
|
4186
6879
|
box.append(alignLabel, alignRow);
|
|
4187
6880
|
if (this.options.allowImageUpload !== false) {
|
|
4188
6881
|
const fileLabel = createElement("label", { class: "an-label" });
|
|
4189
|
-
fileLabel.textContent =
|
|
6882
|
+
fileLabel.textContent = L.uploadLabel;
|
|
4190
6883
|
const fileInput = createElement("input", {
|
|
4191
6884
|
type: "file",
|
|
4192
6885
|
class: "an-input",
|
|
@@ -4204,12 +6897,12 @@
|
|
|
4204
6897
|
type: "button",
|
|
4205
6898
|
class: "an-btn an-btn-primary"
|
|
4206
6899
|
});
|
|
4207
|
-
insertBtn.textContent =
|
|
6900
|
+
insertBtn.textContent = L.insertBtn;
|
|
4208
6901
|
const cancelBtn = createElement("button", {
|
|
4209
6902
|
type: "button",
|
|
4210
6903
|
class: "an-btn"
|
|
4211
6904
|
});
|
|
4212
|
-
cancelBtn.textContent =
|
|
6905
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
4213
6906
|
btnRow.appendChild(insertBtn);
|
|
4214
6907
|
btnRow.appendChild(cancelBtn);
|
|
4215
6908
|
box.append(btnRow);
|
|
@@ -4245,7 +6938,7 @@
|
|
|
4245
6938
|
"image/svg+xml",
|
|
4246
6939
|
"image/avif"
|
|
4247
6940
|
]).has(file.type)) {
|
|
4248
|
-
const message =
|
|
6941
|
+
const message = this.context.locale.errors.imageFormat(file.type);
|
|
4249
6942
|
if (this._fileHint) this._fileHint.textContent = message;
|
|
4250
6943
|
this.context.triggerEvent("imageError", {
|
|
4251
6944
|
file,
|
|
@@ -4257,7 +6950,7 @@
|
|
|
4257
6950
|
if (this._fileHint) this._fileHint.textContent = "";
|
|
4258
6951
|
const maxSize = (this.options.maxImageSize || 5) * 1024 * 1024;
|
|
4259
6952
|
if (file.size > maxSize) {
|
|
4260
|
-
const message =
|
|
6953
|
+
const message = this.context.locale.errors.imageSize(this.options.maxImageSize || 5);
|
|
4261
6954
|
if (this._fileHint) this._fileHint.textContent = message;
|
|
4262
6955
|
console.warn("[AutumnNote] ImageDialog:", message);
|
|
4263
6956
|
this.context.triggerEvent("imageError", {
|
|
@@ -4343,28 +7036,29 @@
|
|
|
4343
7036
|
this._open();
|
|
4344
7037
|
}
|
|
4345
7038
|
_buildDialog() {
|
|
7039
|
+
const L = this.context.locale.videoDialog;
|
|
4346
7040
|
const overlay = createElement("div", {
|
|
4347
7041
|
class: "an-dialog-overlay",
|
|
4348
7042
|
role: "dialog",
|
|
4349
7043
|
"aria-modal": "true",
|
|
4350
|
-
"aria-label":
|
|
7044
|
+
"aria-label": L.ariaLabel
|
|
4351
7045
|
});
|
|
4352
7046
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
4353
7047
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
4354
|
-
title.textContent =
|
|
7048
|
+
title.textContent = L.title;
|
|
4355
7049
|
const urlLabel = createElement("label", { class: "an-label" });
|
|
4356
|
-
urlLabel.textContent =
|
|
7050
|
+
urlLabel.textContent = L.videoUrl;
|
|
4357
7051
|
const urlInput = createElement("input", {
|
|
4358
7052
|
type: "url",
|
|
4359
7053
|
class: "an-input",
|
|
4360
|
-
placeholder:
|
|
7054
|
+
placeholder: L.urlPlaceholder,
|
|
4361
7055
|
autocomplete: "off"
|
|
4362
7056
|
});
|
|
4363
7057
|
this._urlInput = urlInput;
|
|
4364
7058
|
const hintEl = createElement("p", { class: "an-dialog-hint" });
|
|
4365
7059
|
this._hintEl = hintEl;
|
|
4366
7060
|
const widthLabel = createElement("label", { class: "an-label" });
|
|
4367
|
-
widthLabel.textContent =
|
|
7061
|
+
widthLabel.textContent = L.widthLabel;
|
|
4368
7062
|
const widthInput = createElement("input", {
|
|
4369
7063
|
type: "number",
|
|
4370
7064
|
class: "an-input",
|
|
@@ -4379,19 +7073,19 @@
|
|
|
4379
7073
|
type: "button",
|
|
4380
7074
|
class: "an-btn an-btn-primary"
|
|
4381
7075
|
});
|
|
4382
|
-
insertBtn.textContent =
|
|
7076
|
+
insertBtn.textContent = L.insertBtn;
|
|
4383
7077
|
const cancelBtn = createElement("button", {
|
|
4384
7078
|
type: "button",
|
|
4385
7079
|
class: "an-btn"
|
|
4386
7080
|
});
|
|
4387
|
-
cancelBtn.textContent =
|
|
7081
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
4388
7082
|
btnRow.appendChild(insertBtn);
|
|
4389
7083
|
btnRow.appendChild(cancelBtn);
|
|
4390
7084
|
box.append(title, urlLabel, urlInput, hintEl, widthLabel, widthInput, btnRow);
|
|
4391
7085
|
overlay.appendChild(box);
|
|
4392
7086
|
const d0 = on(urlInput, "input", () => {
|
|
4393
7087
|
const info = this._parseVideoUrl(urlInput.value.trim());
|
|
4394
|
-
hintEl.textContent = info ?
|
|
7088
|
+
hintEl.textContent = info ? this.context.locale.videoDialog.detected(info.type) : urlInput.value ? this.context.locale.videoDialog.unknownFormat : "";
|
|
4395
7089
|
});
|
|
4396
7090
|
const d1 = on(insertBtn, "click", () => this._onInsert());
|
|
4397
7091
|
const d2 = on(cancelBtn, "click", () => this._close());
|
|
@@ -4416,7 +7110,7 @@
|
|
|
4416
7110
|
}
|
|
4417
7111
|
const html = this._buildEmbedHtml(rawUrl, width);
|
|
4418
7112
|
if (!html) {
|
|
4419
|
-
this._hintEl.textContent =
|
|
7113
|
+
this._hintEl.textContent = this.context.locale.videoDialog.invalidUrl;
|
|
4420
7114
|
this._urlInput.focus();
|
|
4421
7115
|
return;
|
|
4422
7116
|
}
|
|
@@ -4988,19 +7682,20 @@
|
|
|
4988
7682
|
this._el = null;
|
|
4989
7683
|
}
|
|
4990
7684
|
_buildTooltip() {
|
|
7685
|
+
const L = this.context.locale.tooltips.link;
|
|
4991
7686
|
const el = createElement("div", {
|
|
4992
7687
|
class: "an-link-tooltip",
|
|
4993
7688
|
role: "toolbar",
|
|
4994
|
-
"aria-label":
|
|
7689
|
+
"aria-label": L.ariaLabel
|
|
4995
7690
|
});
|
|
4996
7691
|
el.style.display = "none";
|
|
4997
7692
|
this._urlLabel = createElement("span", { class: "an-link-tooltip-url" });
|
|
4998
7693
|
el.appendChild(this._urlLabel);
|
|
4999
7694
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5000
|
-
this._openBtn = this._makeBtn(ICONS$5.open,
|
|
5001
|
-
this._copyBtn = this._makeBtn(ICONS$5.copy,
|
|
5002
|
-
this._editBtn = this._makeBtn(ICONS$5.edit,
|
|
5003
|
-
this._unlinkBtn = this._makeBtn(ICONS$5.unlink,
|
|
7695
|
+
this._openBtn = this._makeBtn(ICONS$5.open, L.openLink, () => this._openLink());
|
|
7696
|
+
this._copyBtn = this._makeBtn(ICONS$5.copy, L.copyUrl, () => this._copyLink());
|
|
7697
|
+
this._editBtn = this._makeBtn(ICONS$5.edit, L.editLink, () => this._editLink());
|
|
7698
|
+
this._unlinkBtn = this._makeBtn(ICONS$5.unlink, L.removeLink, () => this._unlink());
|
|
5004
7699
|
el.appendChild(this._openBtn);
|
|
5005
7700
|
el.appendChild(this._copyBtn);
|
|
5006
7701
|
el.appendChild(this._editBtn);
|
|
@@ -5179,38 +7874,39 @@
|
|
|
5179
7874
|
this._el = null;
|
|
5180
7875
|
}
|
|
5181
7876
|
_buildTooltip() {
|
|
7877
|
+
const L = this.context.locale.tooltips.image;
|
|
5182
7878
|
const el = createElement("div", {
|
|
5183
7879
|
class: "an-link-tooltip an-image-tooltip",
|
|
5184
7880
|
role: "toolbar",
|
|
5185
|
-
"aria-label":
|
|
7881
|
+
"aria-label": L.ariaLabel
|
|
5186
7882
|
});
|
|
5187
7883
|
el.style.display = "none";
|
|
5188
7884
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
5189
|
-
this._label.textContent =
|
|
7885
|
+
this._label.textContent = L.label;
|
|
5190
7886
|
el.appendChild(this._label);
|
|
5191
7887
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5192
|
-
this._floatLeftBtn = this._makeBtn(ICONS$4.floatLeft,
|
|
5193
|
-
this._floatNoneBtn = this._makeBtn(ICONS$4.floatNone,
|
|
5194
|
-
this._alignCenterBtn = this._makeBtn(ICONS$4.alignCenter,
|
|
5195
|
-
this._floatRightBtn = this._makeBtn(ICONS$4.floatRight,
|
|
7888
|
+
this._floatLeftBtn = this._makeBtn(ICONS$4.floatLeft, L.floatLeft, () => this._setFloat("left"));
|
|
7889
|
+
this._floatNoneBtn = this._makeBtn(ICONS$4.floatNone, L.noFloat, () => this._setFloat(""));
|
|
7890
|
+
this._alignCenterBtn = this._makeBtn(ICONS$4.alignCenter, L.alignCenter, () => this._setCenter());
|
|
7891
|
+
this._floatRightBtn = this._makeBtn(ICONS$4.floatRight, L.floatRight, () => this._setFloat("right"));
|
|
5196
7892
|
el.appendChild(this._floatLeftBtn);
|
|
5197
7893
|
el.appendChild(this._floatNoneBtn);
|
|
5198
7894
|
el.appendChild(this._alignCenterBtn);
|
|
5199
7895
|
el.appendChild(this._floatRightBtn);
|
|
5200
7896
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5201
|
-
this._originalBtn = this._makeBtn(ICONS$4.originalSize,
|
|
7897
|
+
this._originalBtn = this._makeBtn(ICONS$4.originalSize, L.originalSize, () => this._resetSize());
|
|
5202
7898
|
el.appendChild(this._originalBtn);
|
|
5203
7899
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5204
|
-
el.appendChild(this._makeBtn(ICONS$4.rotateLeft,
|
|
5205
|
-
el.appendChild(this._makeBtn(ICONS$4.rotateRight,
|
|
7900
|
+
el.appendChild(this._makeBtn(ICONS$4.rotateLeft, L.rotateLeft, () => this._rotate(-90)));
|
|
7901
|
+
el.appendChild(this._makeBtn(ICONS$4.rotateRight, L.rotateRight, () => this._rotate(90)));
|
|
5206
7902
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5207
|
-
this._cropBtn = this._makeBtn(ICONS$4.crop,
|
|
7903
|
+
this._cropBtn = this._makeBtn(ICONS$4.crop, L.cropImage, () => this._crop());
|
|
5208
7904
|
el.appendChild(this._cropBtn);
|
|
5209
7905
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5210
|
-
this._captionBtn = this._makeBtn(ICONS$4.caption,
|
|
7906
|
+
this._captionBtn = this._makeBtn(ICONS$4.caption, L.addCaption, () => this._toggleCaption());
|
|
5211
7907
|
el.appendChild(this._captionBtn);
|
|
5212
7908
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5213
|
-
this._deleteBtn = this._makeBtn(ICONS$4.deleteImg,
|
|
7909
|
+
this._deleteBtn = this._makeBtn(ICONS$4.deleteImg, L.deleteImage, () => this._delete(), true);
|
|
5214
7910
|
el.appendChild(this._deleteBtn);
|
|
5215
7911
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => this._scheduleHide()));
|
|
5216
7912
|
return el;
|
|
@@ -5462,32 +8158,33 @@
|
|
|
5462
8158
|
this._el = null;
|
|
5463
8159
|
}
|
|
5464
8160
|
_buildTooltip() {
|
|
8161
|
+
const L = this.context.locale.tooltips.video;
|
|
5465
8162
|
const el = createElement("div", {
|
|
5466
8163
|
class: "an-link-tooltip an-video-tooltip",
|
|
5467
8164
|
role: "toolbar",
|
|
5468
|
-
"aria-label":
|
|
8165
|
+
"aria-label": L.ariaLabel
|
|
5469
8166
|
});
|
|
5470
8167
|
el.style.display = "none";
|
|
5471
8168
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
5472
|
-
this._label.textContent =
|
|
8169
|
+
this._label.textContent = L.label;
|
|
5473
8170
|
el.appendChild(this._label);
|
|
5474
8171
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5475
|
-
this._floatLeftBtn = this._makeBtn(ICONS$3.floatLeft,
|
|
5476
|
-
this._floatNoneBtn = this._makeBtn(ICONS$3.floatNone,
|
|
5477
|
-
this._alignCenterBtn = this._makeBtn(ICONS$3.alignCenter,
|
|
5478
|
-
this._floatRightBtn = this._makeBtn(ICONS$3.floatRight,
|
|
8172
|
+
this._floatLeftBtn = this._makeBtn(ICONS$3.floatLeft, L.floatLeft, () => this._setFloat("left"));
|
|
8173
|
+
this._floatNoneBtn = this._makeBtn(ICONS$3.floatNone, L.noFloat, () => this._setFloat(""));
|
|
8174
|
+
this._alignCenterBtn = this._makeBtn(ICONS$3.alignCenter, L.alignCenter, () => this._setCenter());
|
|
8175
|
+
this._floatRightBtn = this._makeBtn(ICONS$3.floatRight, L.floatRight, () => this._setFloat("right"));
|
|
5479
8176
|
el.appendChild(this._floatLeftBtn);
|
|
5480
8177
|
el.appendChild(this._floatNoneBtn);
|
|
5481
8178
|
el.appendChild(this._alignCenterBtn);
|
|
5482
8179
|
el.appendChild(this._floatRightBtn);
|
|
5483
8180
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5484
|
-
this._originalBtn = this._makeBtn(ICONS$3.originalSize,
|
|
8181
|
+
this._originalBtn = this._makeBtn(ICONS$3.originalSize, L.originalSize, () => this._resetSize());
|
|
5485
8182
|
el.appendChild(this._originalBtn);
|
|
5486
8183
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5487
|
-
this._previewBtn = this._makeBtn(ICONS$3.preview,
|
|
8184
|
+
this._previewBtn = this._makeBtn(ICONS$3.preview, L.previewVideo, () => this._togglePreview());
|
|
5488
8185
|
el.appendChild(this._previewBtn);
|
|
5489
8186
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5490
|
-
this._deleteBtn = this._makeBtn(ICONS$3.deleteVideo,
|
|
8187
|
+
this._deleteBtn = this._makeBtn(ICONS$3.deleteVideo, L.deleteVideo, () => this._delete(), true);
|
|
5491
8188
|
el.appendChild(this._deleteBtn);
|
|
5492
8189
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => this._scheduleHide()));
|
|
5493
8190
|
return el;
|
|
@@ -5624,7 +8321,7 @@
|
|
|
5624
8321
|
if (shield) shield.style.display = "none";
|
|
5625
8322
|
this.context.invoke("videoResizer.deselect");
|
|
5626
8323
|
this._previewBtn.classList.add("an-link-tooltip-btn--copied");
|
|
5627
|
-
this._previewBtn.title =
|
|
8324
|
+
this._previewBtn.title = this.context.locale.tooltips.video.exitPreview;
|
|
5628
8325
|
this._previewClickOff = (e) => {
|
|
5629
8326
|
if (!wrapper.contains(e.target) && !this._el.contains(e.target)) this._exitPreview();
|
|
5630
8327
|
};
|
|
@@ -5638,7 +8335,7 @@
|
|
|
5638
8335
|
if (shield) shield.style.display = "";
|
|
5639
8336
|
}
|
|
5640
8337
|
this._previewBtn.classList.remove("an-link-tooltip-btn--copied");
|
|
5641
|
-
this._previewBtn.title =
|
|
8338
|
+
this._previewBtn.title = this.context.locale.tooltips.video.previewVideo;
|
|
5642
8339
|
if (this._previewClickOff) {
|
|
5643
8340
|
document.removeEventListener("mousedown", this._previewClickOff, true);
|
|
5644
8341
|
this._previewClickOff = null;
|
|
@@ -5952,35 +8649,36 @@
|
|
|
5952
8649
|
this._sizePopover = null;
|
|
5953
8650
|
}
|
|
5954
8651
|
_buildTooltip() {
|
|
8652
|
+
const L = this.context.locale.tooltips.table;
|
|
5955
8653
|
const el = createElement("div", {
|
|
5956
8654
|
class: "an-link-tooltip an-table-tooltip",
|
|
5957
8655
|
role: "toolbar",
|
|
5958
|
-
"aria-label":
|
|
8656
|
+
"aria-label": L.ariaLabel
|
|
5959
8657
|
});
|
|
5960
8658
|
el.style.display = "none";
|
|
5961
8659
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
5962
|
-
this._label.textContent =
|
|
8660
|
+
this._label.textContent = L.label;
|
|
5963
8661
|
el.appendChild(this._label);
|
|
5964
8662
|
el.appendChild(this._sep());
|
|
5965
|
-
this._selectBtn = this._makeBtn(ICONS$2.selectCells,
|
|
8663
|
+
this._selectBtn = this._makeBtn(ICONS$2.selectCells, L.selectCells, () => this._toggleSelectMode());
|
|
5966
8664
|
el.appendChild(this._selectBtn);
|
|
5967
8665
|
el.appendChild(this._sep());
|
|
5968
|
-
el.appendChild(this._makeBtn(ICONS$2.rowAbove,
|
|
5969
|
-
el.appendChild(this._makeBtn(ICONS$2.rowBelow,
|
|
5970
|
-
el.appendChild(this._makeBtn(ICONS$2.deleteRow,
|
|
8666
|
+
el.appendChild(this._makeBtn(ICONS$2.rowAbove, L.addRowAbove, () => this._addRow("above")));
|
|
8667
|
+
el.appendChild(this._makeBtn(ICONS$2.rowBelow, L.addRowBelow, () => this._addRow("below")));
|
|
8668
|
+
el.appendChild(this._makeBtn(ICONS$2.deleteRow, L.deleteRow, () => this._deleteRow()));
|
|
5971
8669
|
el.appendChild(this._sep());
|
|
5972
|
-
el.appendChild(this._makeBtn(ICONS$2.colLeft,
|
|
5973
|
-
el.appendChild(this._makeBtn(ICONS$2.colRight,
|
|
5974
|
-
el.appendChild(this._makeBtn(ICONS$2.deleteCol,
|
|
8670
|
+
el.appendChild(this._makeBtn(ICONS$2.colLeft, L.addColumnLeft, () => this._addColumn("left")));
|
|
8671
|
+
el.appendChild(this._makeBtn(ICONS$2.colRight, L.addColumnRight, () => this._addColumn("right")));
|
|
8672
|
+
el.appendChild(this._makeBtn(ICONS$2.deleteCol, L.deleteColumn, () => this._deleteColumn()));
|
|
5975
8673
|
el.appendChild(this._sep());
|
|
5976
|
-
el.appendChild(this._makeBtn(ICONS$2.mergeCells,
|
|
5977
|
-
el.appendChild(this._makeBtn(ICONS$2.unmergeCells,
|
|
8674
|
+
el.appendChild(this._makeBtn(ICONS$2.mergeCells, L.mergeCells, () => this._mergeCells()));
|
|
8675
|
+
el.appendChild(this._makeBtn(ICONS$2.unmergeCells, L.unmergeCells, () => this._unmergeCells()));
|
|
5978
8676
|
el.appendChild(this._sep());
|
|
5979
|
-
el.appendChild(this._makeBtn(ICONS$2.colWidth,
|
|
5980
|
-
el.appendChild(this._makeBtn(ICONS$2.rowHeight,
|
|
5981
|
-
el.appendChild(this._makeBtn(ICONS$2.tableBorder,
|
|
8677
|
+
el.appendChild(this._makeBtn(ICONS$2.colWidth, L.columnWidth, () => this._openSizePopover("col")));
|
|
8678
|
+
el.appendChild(this._makeBtn(ICONS$2.rowHeight, L.rowHeight, () => this._openSizePopover("row")));
|
|
8679
|
+
el.appendChild(this._makeBtn(ICONS$2.tableBorder, L.tableBorderWidth, () => this._openSizePopover("border")));
|
|
5982
8680
|
el.appendChild(this._sep());
|
|
5983
|
-
el.appendChild(this._makeBtn(ICONS$2.deleteTable,
|
|
8681
|
+
el.appendChild(this._makeBtn(ICONS$2.deleteTable, L.deleteTable, () => this._deleteTable(), true));
|
|
5984
8682
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => {
|
|
5985
8683
|
if (this._selectMode) return;
|
|
5986
8684
|
if (this._sizePopover && this._sizePopover.style.display !== "none") return;
|
|
@@ -6378,12 +9076,12 @@
|
|
|
6378
9076
|
type: "button",
|
|
6379
9077
|
class: "an-btn"
|
|
6380
9078
|
});
|
|
6381
|
-
cancelBtn.textContent =
|
|
9079
|
+
cancelBtn.textContent = this.context.locale.tooltips.table.cancelBtn;
|
|
6382
9080
|
const applyBtn = createElement("button", {
|
|
6383
9081
|
type: "button",
|
|
6384
9082
|
class: "an-btn an-btn-primary"
|
|
6385
9083
|
});
|
|
6386
|
-
applyBtn.textContent =
|
|
9084
|
+
applyBtn.textContent = this.context.locale.tooltips.table.applyBtn;
|
|
6387
9085
|
actionsEl.appendChild(cancelBtn);
|
|
6388
9086
|
actionsEl.appendChild(applyBtn);
|
|
6389
9087
|
popover.appendChild(titleEl);
|
|
@@ -6421,7 +9119,7 @@
|
|
|
6421
9119
|
if (!table) return;
|
|
6422
9120
|
const firstCell = table.querySelector("td, th");
|
|
6423
9121
|
const currentPx = firstCell ? parseInt(firstCell.style.borderWidth, 10) || parseInt(window.getComputedStyle(firstCell).borderWidth, 10) || 1 : 1;
|
|
6424
|
-
this._sizeTitleEl.textContent =
|
|
9122
|
+
this._sizeTitleEl.textContent = this.context.locale.tooltips.table.tableBorderWidthPx;
|
|
6425
9123
|
this._sizeInputEl.min = "0";
|
|
6426
9124
|
this._sizeInputEl.max = "10";
|
|
6427
9125
|
this._sizeInputEl.value = currentPx;
|
|
@@ -6443,7 +9141,7 @@
|
|
|
6443
9141
|
const t = c.closest("table");
|
|
6444
9142
|
return t && t === cell.closest("table");
|
|
6445
9143
|
});
|
|
6446
|
-
this._sizeTitleEl.textContent = isCol ?
|
|
9144
|
+
this._sizeTitleEl.textContent = isCol ? this.context.locale.tooltips.table.columnWidthPx : this.context.locale.tooltips.table.rowHeightPx;
|
|
6447
9145
|
this._sizeInputEl.min = "1";
|
|
6448
9146
|
this._sizeInputEl.max = "2000";
|
|
6449
9147
|
this._sizeInputEl.value = isCol ? cell.offsetWidth || 120 : cell.closest("tr") ? cell.closest("tr").offsetHeight || 40 : 40;
|
|
@@ -6543,20 +9241,21 @@
|
|
|
6543
9241
|
this._el = null;
|
|
6544
9242
|
}
|
|
6545
9243
|
_buildTooltip() {
|
|
9244
|
+
const L = this.context.locale.tooltips.code;
|
|
6546
9245
|
const el = createElement("div", {
|
|
6547
9246
|
class: "an-link-tooltip an-code-tooltip",
|
|
6548
9247
|
role: "toolbar",
|
|
6549
|
-
"aria-label":
|
|
9248
|
+
"aria-label": L.ariaLabel
|
|
6550
9249
|
});
|
|
6551
9250
|
el.style.display = "none";
|
|
6552
9251
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
6553
|
-
this._label.textContent =
|
|
9252
|
+
this._label.textContent = L.label;
|
|
6554
9253
|
el.appendChild(this._label);
|
|
6555
9254
|
el.appendChild(this._sep());
|
|
6556
9255
|
this._langSelect = createElement("select", {
|
|
6557
9256
|
class: "an-code-lang-select",
|
|
6558
|
-
title:
|
|
6559
|
-
"aria-label":
|
|
9257
|
+
title: L.syntaxLanguage,
|
|
9258
|
+
"aria-label": L.syntaxAriaLabel
|
|
6560
9259
|
});
|
|
6561
9260
|
[
|
|
6562
9261
|
["", "Plain text"],
|
|
@@ -6587,15 +9286,15 @@
|
|
|
6587
9286
|
this._disposers.push(on(this._langSelect, "change", () => this._onLangChange()));
|
|
6588
9287
|
el.appendChild(this._langSelect);
|
|
6589
9288
|
el.appendChild(this._sep());
|
|
6590
|
-
this._copyBtn = this._makeBtn(ICONS$1.copy,
|
|
9289
|
+
this._copyBtn = this._makeBtn(ICONS$1.copy, L.copyCode, () => this._copyCode());
|
|
6591
9290
|
el.appendChild(this._copyBtn);
|
|
6592
9291
|
el.appendChild(this._sep());
|
|
6593
|
-
this._wrapBtn = this._makeBtn(ICONS$1.wrapOn,
|
|
9292
|
+
this._wrapBtn = this._makeBtn(ICONS$1.wrapOn, L.toggleWordWrap, () => this._toggleWrap());
|
|
6594
9293
|
el.appendChild(this._wrapBtn);
|
|
6595
9294
|
el.appendChild(this._sep());
|
|
6596
|
-
el.appendChild(this._makeBtn(ICONS$1.toParagraph,
|
|
9295
|
+
el.appendChild(this._makeBtn(ICONS$1.toParagraph, L.convertToParagraph, () => this._toParagraph()));
|
|
6597
9296
|
el.appendChild(this._sep());
|
|
6598
|
-
el.appendChild(this._makeBtn(ICONS$1.deleteCode,
|
|
9297
|
+
el.appendChild(this._makeBtn(ICONS$1.deleteCode, L.deleteCodeBlock, () => this._delete(), true));
|
|
6599
9298
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => this._scheduleHide()));
|
|
6600
9299
|
return el;
|
|
6601
9300
|
}
|
|
@@ -6672,7 +9371,7 @@
|
|
|
6672
9371
|
if (!this._activePre || !this._wrapBtn) return;
|
|
6673
9372
|
const wrapped = (this._activePre.style.whiteSpace || "").includes("pre-wrap") || window.getComputedStyle(this._activePre).whiteSpace === "pre-wrap";
|
|
6674
9373
|
this._wrapBtn.classList.toggle("active", wrapped);
|
|
6675
|
-
this._wrapBtn.title = wrapped ?
|
|
9374
|
+
this._wrapBtn.title = wrapped ? this.context.locale.tooltips.code.disableWordWrap : this.context.locale.tooltips.code.enableWordWrap;
|
|
6676
9375
|
}
|
|
6677
9376
|
_syncLangSelect() {
|
|
6678
9377
|
if (!this._activePre || !this._langSelect) return;
|
|
@@ -9202,27 +11901,28 @@
|
|
|
9202
11901
|
this._open();
|
|
9203
11902
|
}
|
|
9204
11903
|
_buildDialog() {
|
|
11904
|
+
const L = this.context.locale.emojiDialog;
|
|
9205
11905
|
const overlay = createElement("div", {
|
|
9206
11906
|
class: "an-dialog-overlay",
|
|
9207
11907
|
role: "dialog",
|
|
9208
11908
|
"aria-modal": "true",
|
|
9209
|
-
"aria-label":
|
|
11909
|
+
"aria-label": L.ariaLabel
|
|
9210
11910
|
});
|
|
9211
11911
|
const box = createElement("div", { class: "an-dialog-box an-emoji-box" });
|
|
9212
11912
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
9213
11913
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
9214
|
-
title.textContent =
|
|
11914
|
+
title.textContent = L.title;
|
|
9215
11915
|
const closeBtn = createElement("button", {
|
|
9216
11916
|
type: "button",
|
|
9217
11917
|
class: "an-icon-close",
|
|
9218
|
-
"aria-label":
|
|
11918
|
+
"aria-label": L.close
|
|
9219
11919
|
});
|
|
9220
11920
|
closeBtn.innerHTML = "×";
|
|
9221
11921
|
titleRow.append(title, closeBtn);
|
|
9222
11922
|
const searchInput = createElement("input", {
|
|
9223
11923
|
type: "search",
|
|
9224
11924
|
class: "an-input an-icon-search",
|
|
9225
|
-
placeholder:
|
|
11925
|
+
placeholder: L.searchPlaceholder,
|
|
9226
11926
|
autocomplete: "off"
|
|
9227
11927
|
});
|
|
9228
11928
|
this._searchInput = searchInput;
|
|
@@ -9232,7 +11932,7 @@
|
|
|
9232
11932
|
class: "an-icon-cat active",
|
|
9233
11933
|
"data-cat": "all"
|
|
9234
11934
|
});
|
|
9235
|
-
allTab.textContent =
|
|
11935
|
+
allTab.textContent = L.all;
|
|
9236
11936
|
catBar.appendChild(allTab);
|
|
9237
11937
|
EMOJI_CATS.forEach(({ id, label }) => {
|
|
9238
11938
|
const tab = createElement("button", {
|
|
@@ -9240,7 +11940,7 @@
|
|
|
9240
11940
|
class: "an-icon-cat",
|
|
9241
11941
|
"data-cat": id
|
|
9242
11942
|
});
|
|
9243
|
-
tab.textContent = label;
|
|
11943
|
+
tab.textContent = L.categories && L.categories[id] || label;
|
|
9244
11944
|
catBar.appendChild(tab);
|
|
9245
11945
|
});
|
|
9246
11946
|
this._catBar = catBar;
|
|
@@ -9263,7 +11963,7 @@
|
|
|
9263
11963
|
type: "button",
|
|
9264
11964
|
class: "an-btn"
|
|
9265
11965
|
});
|
|
9266
|
-
cancelBtn.textContent =
|
|
11966
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
9267
11967
|
btnRow.appendChild(cancelBtn);
|
|
9268
11968
|
box.append(titleRow, searchInput, catBar, grid, btnRow);
|
|
9269
11969
|
overlay.appendChild(box);
|
|
@@ -9674,27 +12374,28 @@
|
|
|
9674
12374
|
this._open();
|
|
9675
12375
|
}
|
|
9676
12376
|
_buildDialog() {
|
|
12377
|
+
const L = this.context.locale.iconDialog;
|
|
9677
12378
|
const overlay = createElement("div", {
|
|
9678
12379
|
class: "an-dialog-overlay",
|
|
9679
12380
|
role: "dialog",
|
|
9680
12381
|
"aria-modal": "true",
|
|
9681
|
-
"aria-label":
|
|
12382
|
+
"aria-label": L.ariaLabel
|
|
9682
12383
|
});
|
|
9683
12384
|
const box = createElement("div", { class: "an-dialog-box an-icon-box" });
|
|
9684
12385
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
9685
12386
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
9686
|
-
title.textContent =
|
|
12387
|
+
title.textContent = L.title;
|
|
9687
12388
|
const closeBtn = createElement("button", {
|
|
9688
12389
|
type: "button",
|
|
9689
12390
|
class: "an-icon-close",
|
|
9690
|
-
"aria-label":
|
|
12391
|
+
"aria-label": L.close
|
|
9691
12392
|
});
|
|
9692
12393
|
closeBtn.innerHTML = "×";
|
|
9693
12394
|
titleRow.append(title, closeBtn);
|
|
9694
12395
|
const searchInput = createElement("input", {
|
|
9695
12396
|
type: "search",
|
|
9696
12397
|
class: "an-input an-icon-search",
|
|
9697
|
-
placeholder:
|
|
12398
|
+
placeholder: L.searchPlaceholder,
|
|
9698
12399
|
autocomplete: "off"
|
|
9699
12400
|
});
|
|
9700
12401
|
this._searchInput = searchInput;
|
|
@@ -9704,7 +12405,7 @@
|
|
|
9704
12405
|
class: "an-icon-cat active",
|
|
9705
12406
|
"data-cat": "all"
|
|
9706
12407
|
});
|
|
9707
|
-
allTab.textContent =
|
|
12408
|
+
allTab.textContent = L.all;
|
|
9708
12409
|
catBar.appendChild(allTab);
|
|
9709
12410
|
ICON_CATEGORIES.forEach(({ id, label }) => {
|
|
9710
12411
|
const tab = createElement("button", {
|
|
@@ -9712,7 +12413,7 @@
|
|
|
9712
12413
|
class: "an-icon-cat",
|
|
9713
12414
|
"data-cat": id
|
|
9714
12415
|
});
|
|
9715
|
-
tab.textContent = label;
|
|
12416
|
+
tab.textContent = L.categories && L.categories[id] || label;
|
|
9716
12417
|
catBar.appendChild(tab);
|
|
9717
12418
|
});
|
|
9718
12419
|
this._catBar = catBar;
|
|
@@ -9737,7 +12438,7 @@
|
|
|
9737
12438
|
this._grid = grid;
|
|
9738
12439
|
const optRow = createElement("div", { class: "an-icon-options" });
|
|
9739
12440
|
const styleLabel = createElement("label", { class: "an-label" });
|
|
9740
|
-
styleLabel.textContent =
|
|
12441
|
+
styleLabel.textContent = L.style;
|
|
9741
12442
|
const styleSelect = createElement("select", { class: "an-input an-icon-option-select" });
|
|
9742
12443
|
[
|
|
9743
12444
|
["fa-solid", "Solid"],
|
|
@@ -9751,7 +12452,7 @@
|
|
|
9751
12452
|
styleSelect.value = "fa-solid";
|
|
9752
12453
|
this._styleSelect = styleSelect;
|
|
9753
12454
|
const sizeLabel = createElement("label", { class: "an-label" });
|
|
9754
|
-
sizeLabel.textContent =
|
|
12455
|
+
sizeLabel.textContent = L.size;
|
|
9755
12456
|
const sizeSelect = createElement("select", { class: "an-input an-icon-option-select" });
|
|
9756
12457
|
[
|
|
9757
12458
|
["", "Inherit"],
|
|
@@ -9769,7 +12470,7 @@
|
|
|
9769
12470
|
});
|
|
9770
12471
|
this._sizeSelect = sizeSelect;
|
|
9771
12472
|
const colorLabel = createElement("label", { class: "an-label" });
|
|
9772
|
-
colorLabel.textContent =
|
|
12473
|
+
colorLabel.textContent = L.color;
|
|
9773
12474
|
const colorInput = createElement("input", {
|
|
9774
12475
|
type: "color",
|
|
9775
12476
|
class: "an-icon-color",
|
|
@@ -9782,11 +12483,11 @@
|
|
|
9782
12483
|
checked: ""
|
|
9783
12484
|
});
|
|
9784
12485
|
this._useColorCb = useColorCb;
|
|
9785
|
-
useColorLabel.append(useColorCb, document.createTextNode(
|
|
12486
|
+
useColorLabel.append(useColorCb, document.createTextNode(L.useColor));
|
|
9786
12487
|
optRow.append(styleLabel, styleSelect, sizeLabel, sizeSelect, colorLabel, colorInput, useColorLabel);
|
|
9787
12488
|
const preview = createElement("div", { class: "an-icon-preview" });
|
|
9788
12489
|
const previewHint = createElement("span", { class: "an-icon-preview-hint" });
|
|
9789
|
-
previewHint.textContent =
|
|
12490
|
+
previewHint.textContent = L.selectHint;
|
|
9790
12491
|
preview.appendChild(previewHint);
|
|
9791
12492
|
this._preview = preview;
|
|
9792
12493
|
const btnRow = createElement("div", { class: "an-dialog-actions" });
|
|
@@ -9795,12 +12496,12 @@
|
|
|
9795
12496
|
class: "an-btn an-btn-primary",
|
|
9796
12497
|
disabled: ""
|
|
9797
12498
|
});
|
|
9798
|
-
insertBtn.textContent =
|
|
12499
|
+
insertBtn.textContent = L.insertBtn;
|
|
9799
12500
|
const cancelBtn = createElement("button", {
|
|
9800
12501
|
type: "button",
|
|
9801
12502
|
class: "an-btn"
|
|
9802
12503
|
});
|
|
9803
|
-
cancelBtn.textContent =
|
|
12504
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
9804
12505
|
btnRow.append(insertBtn, cancelBtn);
|
|
9805
12506
|
this._insertBtn = insertBtn;
|
|
9806
12507
|
box.append(titleRow, searchInput, catBar, grid, optRow, preview, btnRow);
|
|
@@ -10001,9 +12702,11 @@
|
|
|
10001
12702
|
];
|
|
10002
12703
|
function makeColorSubItems(colorType) {
|
|
10003
12704
|
const label = colorType === "foreColor" ? "Text Color" : "Highlight Color";
|
|
12705
|
+
const localeKey = colorType === "foreColor" ? "textColor" : "highlightColor";
|
|
10004
12706
|
return () => [{
|
|
10005
12707
|
back: true,
|
|
10006
12708
|
label,
|
|
12709
|
+
localeKey,
|
|
10007
12710
|
navigate: () => defaultItems
|
|
10008
12711
|
}, {
|
|
10009
12712
|
colorPalette: true,
|
|
@@ -10200,7 +12903,8 @@
|
|
|
10200
12903
|
});
|
|
10201
12904
|
iconSpan.innerHTML = ICONS.back;
|
|
10202
12905
|
backBtn.appendChild(iconSpan);
|
|
10203
|
-
|
|
12906
|
+
const backLabel = it.localeKey && this.context.locale.contextMenu[it.localeKey] || it.label || this.context.locale.contextMenu.back || "Back";
|
|
12907
|
+
backBtn.appendChild(createElement("span", { class: "an-context-label" }, [backLabel]));
|
|
10204
12908
|
const off = on(backBtn, "click", (e) => {
|
|
10205
12909
|
e.stopPropagation();
|
|
10206
12910
|
const curLeft = parseFloat(this.el.style.left);
|
|
@@ -10238,7 +12942,7 @@
|
|
|
10238
12942
|
iconSpan.innerHTML = it.icon;
|
|
10239
12943
|
btn.appendChild(iconSpan);
|
|
10240
12944
|
}
|
|
10241
|
-
btn.appendChild(createElement("span", { class: "an-context-label" }, [it.label || it.name]));
|
|
12945
|
+
btn.appendChild(createElement("span", { class: "an-context-label" }, [this.context.locale.contextMenu[it.name] || it.label || it.name]));
|
|
10242
12946
|
const chevron = createElement("span", {
|
|
10243
12947
|
class: "an-context-chevron",
|
|
10244
12948
|
"aria-hidden": "true"
|
|
@@ -10276,9 +12980,9 @@
|
|
|
10276
12980
|
if (it.colorType === "hiliteColor") {
|
|
10277
12981
|
const noColor = createElement("div", {
|
|
10278
12982
|
class: "an-context-color-swatch an-context-color-none",
|
|
10279
|
-
title: "No highlight",
|
|
12983
|
+
title: this.context.locale.contextMenu.noHighlight || "No highlight",
|
|
10280
12984
|
role: "button",
|
|
10281
|
-
"aria-label": "No highlight"
|
|
12985
|
+
"aria-label": this.context.locale.contextMenu.noHighlight || "No highlight"
|
|
10282
12986
|
});
|
|
10283
12987
|
noColor.innerHTML = ICONS.noColor;
|
|
10284
12988
|
const offNo = on(noColor, "click", (e) => {
|
|
@@ -10293,10 +12997,10 @@
|
|
|
10293
12997
|
const colorInput = createElement("input", {
|
|
10294
12998
|
type: "color",
|
|
10295
12999
|
value: it.colorType === "foreColor" ? "#000000" : "#ffff00",
|
|
10296
|
-
title: "Custom color",
|
|
10297
|
-
"aria-label": "Custom color"
|
|
13000
|
+
title: this.context.locale.contextMenu.customColor || "Custom color",
|
|
13001
|
+
"aria-label": this.context.locale.contextMenu.customColor || "Custom color"
|
|
10298
13002
|
});
|
|
10299
|
-
const customLabel = createElement("span", {}, ["Custom…"]);
|
|
13003
|
+
const customLabel = createElement("span", {}, [this.context.locale.contextMenu.customColorLabel || "Custom…"]);
|
|
10300
13004
|
const offCustom = on(colorInput, "change", () => this._applyColor(it.colorType, colorInput.value));
|
|
10301
13005
|
this._menuDisposers.push(offCustom);
|
|
10302
13006
|
customRow.appendChild(colorInput);
|
|
@@ -10320,7 +13024,7 @@
|
|
|
10320
13024
|
iconSpan.innerHTML = it.icon;
|
|
10321
13025
|
headerBtn.appendChild(iconSpan);
|
|
10322
13026
|
}
|
|
10323
|
-
headerBtn.appendChild(createElement("span", { class: "an-context-label" }, [it.label || "Insert Table"]));
|
|
13027
|
+
headerBtn.appendChild(createElement("span", { class: "an-context-label" }, [this.context.locale.contextMenu.table || it.label || "Insert Table"]));
|
|
10324
13028
|
const chevron = createElement("span", {
|
|
10325
13029
|
class: "an-context-chevron",
|
|
10326
13030
|
"aria-hidden": "true"
|
|
@@ -10349,7 +13053,7 @@
|
|
|
10349
13053
|
cells.forEach((cell) => {
|
|
10350
13054
|
cell.classList.toggle("active", +cell.dataset.row <= rows && +cell.dataset.col <= cols);
|
|
10351
13055
|
});
|
|
10352
|
-
labelEl.textContent = rows && cols ? `${cols} × ${rows}` : "Insert Table";
|
|
13056
|
+
labelEl.textContent = rows && cols ? `${cols} × ${rows}` : this.context.locale.contextMenu.table || "Insert Table";
|
|
10353
13057
|
};
|
|
10354
13058
|
panel.appendChild(gridEl);
|
|
10355
13059
|
panel.appendChild(labelEl);
|
|
@@ -10403,7 +13107,7 @@
|
|
|
10403
13107
|
iconSpan.innerHTML = it.icon;
|
|
10404
13108
|
btn.appendChild(iconSpan);
|
|
10405
13109
|
}
|
|
10406
|
-
btn.appendChild(createElement("span", { class: "an-context-label" }, [it.label || it.name]));
|
|
13110
|
+
btn.appendChild(createElement("span", { class: "an-context-label" }, [this.context.locale.contextMenu[it.name] || it.label || it.name]));
|
|
10407
13111
|
const off = on(btn, "click", (e) => {
|
|
10408
13112
|
e.stopPropagation();
|
|
10409
13113
|
this.hide();
|
|
@@ -10717,22 +13421,22 @@
|
|
|
10717
13421
|
class: "an-dialog-overlay",
|
|
10718
13422
|
role: "dialog",
|
|
10719
13423
|
"aria-modal": "true",
|
|
10720
|
-
"aria-label":
|
|
13424
|
+
"aria-label": this.context.locale.shortcutsDialog.ariaLabel
|
|
10721
13425
|
});
|
|
10722
13426
|
const box = createElement("div", { class: "an-dialog-box an-shortcuts-box" });
|
|
10723
13427
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
10724
13428
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
10725
|
-
title.textContent =
|
|
13429
|
+
title.textContent = this.context.locale.shortcutsDialog.title;
|
|
10726
13430
|
const closeBtn = createElement("button", {
|
|
10727
13431
|
type: "button",
|
|
10728
13432
|
class: "an-icon-close",
|
|
10729
|
-
"aria-label":
|
|
13433
|
+
"aria-label": this.context.locale.shortcutsDialog.close
|
|
10730
13434
|
});
|
|
10731
13435
|
closeBtn.textContent = "×";
|
|
10732
13436
|
this._closeBtn = closeBtn;
|
|
10733
13437
|
titleRow.append(title, closeBtn);
|
|
10734
13438
|
box.appendChild(titleRow);
|
|
10735
|
-
SHORTCUTS.forEach(({ category, items }) => {
|
|
13439
|
+
(this.context.locale.shortcutsDialog.shortcuts || SHORTCUTS).forEach(({ category, items }) => {
|
|
10736
13440
|
const catEl = createElement("div", { class: "an-shortcuts-cat" });
|
|
10737
13441
|
catEl.textContent = category;
|
|
10738
13442
|
box.appendChild(catEl);
|
|
@@ -10857,25 +13561,26 @@
|
|
|
10857
13561
|
const isReplace = this._mode === "replace";
|
|
10858
13562
|
if (replaceRow) replaceRow.style.display = isReplace ? "" : "none";
|
|
10859
13563
|
if (replaceActions) replaceActions.style.display = isReplace ? "" : "none";
|
|
10860
|
-
if (title) title.textContent = isReplace ?
|
|
13564
|
+
if (title) title.textContent = isReplace ? this.context.locale.findReplace.findReplaceTitle : this.context.locale.findReplace.findTitle;
|
|
10861
13565
|
}
|
|
10862
13566
|
_buildDialog() {
|
|
13567
|
+
const L = this.context.locale.findReplace;
|
|
10863
13568
|
const overlay = createElement("div", {
|
|
10864
13569
|
class: "an-dialog-overlay an-fr-dialog",
|
|
10865
13570
|
role: "dialog",
|
|
10866
13571
|
"aria-modal": "true",
|
|
10867
|
-
"aria-label":
|
|
13572
|
+
"aria-label": L.findReplaceTitle
|
|
10868
13573
|
});
|
|
10869
13574
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
10870
13575
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
10871
13576
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
10872
|
-
title.textContent =
|
|
13577
|
+
title.textContent = L.findTitle;
|
|
10873
13578
|
const closeBtn = createElement("button", {
|
|
10874
13579
|
type: "button",
|
|
10875
13580
|
class: "an-icon-close",
|
|
10876
13581
|
"aria-label": "Close"
|
|
10877
13582
|
});
|
|
10878
|
-
closeBtn.textContent =
|
|
13583
|
+
closeBtn.textContent = L.close;
|
|
10879
13584
|
this._closeBtn = closeBtn;
|
|
10880
13585
|
titleRow.append(title, closeBtn);
|
|
10881
13586
|
box.appendChild(titleRow);
|
|
@@ -10883,8 +13588,8 @@
|
|
|
10883
13588
|
const findInput = createElement("input", {
|
|
10884
13589
|
type: "text",
|
|
10885
13590
|
class: "an-input",
|
|
10886
|
-
placeholder:
|
|
10887
|
-
"aria-label":
|
|
13591
|
+
placeholder: L.findPlaceholder,
|
|
13592
|
+
"aria-label": L.searchAriaLabel
|
|
10888
13593
|
});
|
|
10889
13594
|
this._findInput = findInput;
|
|
10890
13595
|
findRow.appendChild(findInput);
|
|
@@ -10896,7 +13601,7 @@
|
|
|
10896
13601
|
"aria-label": "Case sensitive"
|
|
10897
13602
|
});
|
|
10898
13603
|
this._caseCheckbox = caseCheckbox;
|
|
10899
|
-
caseLabel.append(caseCheckbox, document.createTextNode(
|
|
13604
|
+
caseLabel.append(caseCheckbox, document.createTextNode(L.caseSensitive));
|
|
10900
13605
|
const counter = createElement("span", { class: "an-fr-counter" });
|
|
10901
13606
|
this._counterEl = counter;
|
|
10902
13607
|
optRow.append(caseLabel, counter);
|
|
@@ -10906,12 +13611,12 @@
|
|
|
10906
13611
|
type: "button",
|
|
10907
13612
|
class: "an-btn"
|
|
10908
13613
|
});
|
|
10909
|
-
prevBtn.textContent =
|
|
13614
|
+
prevBtn.textContent = L.prevBtn;
|
|
10910
13615
|
const nextBtn = createElement("button", {
|
|
10911
13616
|
type: "button",
|
|
10912
13617
|
class: "an-btn an-btn-primary"
|
|
10913
13618
|
});
|
|
10914
|
-
nextBtn.textContent =
|
|
13619
|
+
nextBtn.textContent = L.nextBtn;
|
|
10915
13620
|
findActions.append(prevBtn, nextBtn);
|
|
10916
13621
|
box.appendChild(findActions);
|
|
10917
13622
|
const replaceRow = createElement("div", { class: "an-fr-replace-row" });
|
|
@@ -10919,8 +13624,8 @@
|
|
|
10919
13624
|
const replaceInput = createElement("input", {
|
|
10920
13625
|
type: "text",
|
|
10921
13626
|
class: "an-input",
|
|
10922
|
-
placeholder:
|
|
10923
|
-
"aria-label":
|
|
13627
|
+
placeholder: L.replacePlaceholder,
|
|
13628
|
+
"aria-label": L.replaceAriaLabel
|
|
10924
13629
|
});
|
|
10925
13630
|
this._replaceInput = replaceInput;
|
|
10926
13631
|
replaceRow.appendChild(replaceInput);
|
|
@@ -10931,12 +13636,12 @@
|
|
|
10931
13636
|
type: "button",
|
|
10932
13637
|
class: "an-btn"
|
|
10933
13638
|
});
|
|
10934
|
-
replaceBtn.textContent =
|
|
13639
|
+
replaceBtn.textContent = L.replaceBtn;
|
|
10935
13640
|
const replaceAllBtn = createElement("button", {
|
|
10936
13641
|
type: "button",
|
|
10937
13642
|
class: "an-btn an-btn-primary"
|
|
10938
13643
|
});
|
|
10939
|
-
replaceAllBtn.textContent =
|
|
13644
|
+
replaceAllBtn.textContent = L.replaceAllBtn;
|
|
10940
13645
|
replaceActions.append(replaceBtn, replaceAllBtn);
|
|
10941
13646
|
box.appendChild(replaceActions);
|
|
10942
13647
|
overlay.appendChild(box);
|
|
@@ -11597,6 +14302,8 @@
|
|
|
11597
14302
|
constructor(targetEl, userOptions = {}) {
|
|
11598
14303
|
this.targetEl = targetEl;
|
|
11599
14304
|
this.options = mergeDeep(defaultOptions, userOptions);
|
|
14305
|
+
/** @type {import('./i18n/index.js').AsnLocale} */
|
|
14306
|
+
this.locale = resolveLocale(this.options.lang);
|
|
11600
14307
|
/** @type {{ container: HTMLElement, editable: HTMLElement, toolbar?: HTMLElement, statusbar?: HTMLElement }} */
|
|
11601
14308
|
this.layoutInfo = {};
|
|
11602
14309
|
/** @type {Map<string, Function[]>} */
|
|
@@ -11988,7 +14695,7 @@
|
|
|
11988
14695
|
registerModule(name, ModuleClass) {
|
|
11989
14696
|
_customModules.set(name, ModuleClass);
|
|
11990
14697
|
},
|
|
11991
|
-
version: "1.0.
|
|
14698
|
+
version: "1.0.9"
|
|
11992
14699
|
};
|
|
11993
14700
|
/**
|
|
11994
14701
|
* @param {string|Element|NodeList|Element[]} selector
|