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.es.js
CHANGED
|
@@ -1443,9 +1443,2699 @@ var defaultOptions = {
|
|
|
1443
1443
|
onDestroy: null,
|
|
1444
1444
|
onCharLimitReached: null,
|
|
1445
1445
|
onWordLimitReached: null,
|
|
1446
|
-
focusColor: null
|
|
1446
|
+
focusColor: null,
|
|
1447
|
+
lang: "en"
|
|
1447
1448
|
};
|
|
1448
1449
|
//#endregion
|
|
1450
|
+
//#region src/js/i18n/en.js
|
|
1451
|
+
/**
|
|
1452
|
+
* en.js - English locale (canonical reference)
|
|
1453
|
+
* All other locales deep-merge against this to fill missing keys.
|
|
1454
|
+
*/
|
|
1455
|
+
/** @type {import('../../../types/index.js').AsnLocale} */
|
|
1456
|
+
var en = {
|
|
1457
|
+
toolbar: {
|
|
1458
|
+
bold: "Bold (Ctrl+B)",
|
|
1459
|
+
italic: "Italic (Ctrl+I)",
|
|
1460
|
+
underline: "Underline (Ctrl+U)",
|
|
1461
|
+
strikethrough: "Strikethrough",
|
|
1462
|
+
superscript: "Superscript",
|
|
1463
|
+
subscript: "Subscript",
|
|
1464
|
+
alignLeft: "Align Left",
|
|
1465
|
+
alignCenter: "Align Center",
|
|
1466
|
+
alignRight: "Align Right",
|
|
1467
|
+
alignJustify: "Justify",
|
|
1468
|
+
ul: "Unordered List",
|
|
1469
|
+
ol: "Ordered List",
|
|
1470
|
+
checklist: "Checklist",
|
|
1471
|
+
indent: "Indent",
|
|
1472
|
+
outdent: "Outdent",
|
|
1473
|
+
undo: "Undo (Ctrl+Z)",
|
|
1474
|
+
redo: "Redo (Ctrl+Y)",
|
|
1475
|
+
hr: "Horizontal Rule",
|
|
1476
|
+
link: "Insert Link",
|
|
1477
|
+
image: "Insert Image",
|
|
1478
|
+
video: "Insert Video",
|
|
1479
|
+
emoji: "Insert Emoji",
|
|
1480
|
+
icon: "Insert FA Icon",
|
|
1481
|
+
table: "Insert Table",
|
|
1482
|
+
fontSize: "Font Size",
|
|
1483
|
+
fontSizePlaceholder: "Size",
|
|
1484
|
+
removeFormat: "Remove Format",
|
|
1485
|
+
direction: "Toggle Text Direction (LTR / RTL)",
|
|
1486
|
+
fontFamily: "Font Family",
|
|
1487
|
+
paragraphStyle: "Paragraph Style",
|
|
1488
|
+
paragraphStylePlaceholder: "Style",
|
|
1489
|
+
lineHeight: "Line Height",
|
|
1490
|
+
lineHeightPlaceholder: "↕ Line",
|
|
1491
|
+
codeview: "HTML Code View",
|
|
1492
|
+
fullscreen: "Fullscreen",
|
|
1493
|
+
shortcuts: "Keyboard Shortcuts (Ctrl+Shift+/)",
|
|
1494
|
+
find: "Find (Ctrl+F)",
|
|
1495
|
+
findReplace: "Find & Replace (Ctrl+H)",
|
|
1496
|
+
inlineCode: "Inline Code (Ctrl+`)",
|
|
1497
|
+
print: "Print",
|
|
1498
|
+
foreColor: "Text Color",
|
|
1499
|
+
backColor: "Highlight Color",
|
|
1500
|
+
chooseTextColor: "Choose text color",
|
|
1501
|
+
chooseHighlightColor: "Choose highlight color",
|
|
1502
|
+
customColor: "Custom color",
|
|
1503
|
+
insertTableLabel: "Insert Table",
|
|
1504
|
+
paragraphItems: {
|
|
1505
|
+
p: "Normal",
|
|
1506
|
+
blockquote: "Quote",
|
|
1507
|
+
pre: "Code"
|
|
1508
|
+
}
|
|
1509
|
+
},
|
|
1510
|
+
linkDialog: {
|
|
1511
|
+
ariaLabel: "Insert link",
|
|
1512
|
+
title: "Insert Link",
|
|
1513
|
+
url: "URL",
|
|
1514
|
+
urlPlaceholder: "https://",
|
|
1515
|
+
displayText: "Display Text",
|
|
1516
|
+
textPlaceholder: "Link text",
|
|
1517
|
+
openInNewTab: "Open in new tab",
|
|
1518
|
+
insertBtn: "Insert",
|
|
1519
|
+
cancelBtn: "Cancel"
|
|
1520
|
+
},
|
|
1521
|
+
imageDialog: {
|
|
1522
|
+
ariaLabel: "Insert image",
|
|
1523
|
+
title: "Insert Image",
|
|
1524
|
+
imageUrl: "Image URL",
|
|
1525
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
1526
|
+
altText: "Alt Text",
|
|
1527
|
+
altPlaceholder: "Describe the image",
|
|
1528
|
+
alignment: "Alignment",
|
|
1529
|
+
alignNone: "None",
|
|
1530
|
+
alignLeft: "Left",
|
|
1531
|
+
alignCenter: "Center",
|
|
1532
|
+
alignRight: "Right",
|
|
1533
|
+
uploadLabel: "Or upload a file",
|
|
1534
|
+
insertBtn: "Insert",
|
|
1535
|
+
cancelBtn: "Cancel"
|
|
1536
|
+
},
|
|
1537
|
+
videoDialog: {
|
|
1538
|
+
ariaLabel: "Insert video",
|
|
1539
|
+
title: "Insert Video",
|
|
1540
|
+
videoUrl: "Video URL",
|
|
1541
|
+
urlPlaceholder: "YouTube, Vimeo, or direct .mp4 URL",
|
|
1542
|
+
widthLabel: "Width (px)",
|
|
1543
|
+
widthPlaceholder: "560",
|
|
1544
|
+
insertBtn: "Insert",
|
|
1545
|
+
cancelBtn: "Cancel",
|
|
1546
|
+
detected: (type) => `Detected: ${type}`,
|
|
1547
|
+
unknownFormat: "Unknown format — will try direct video embed",
|
|
1548
|
+
invalidUrl: "Invalid URL — please enter a valid video link."
|
|
1549
|
+
},
|
|
1550
|
+
emojiDialog: {
|
|
1551
|
+
ariaLabel: "Insert emoji",
|
|
1552
|
+
title: "Insert Emoji",
|
|
1553
|
+
searchPlaceholder: "Search emojis…",
|
|
1554
|
+
all: "All",
|
|
1555
|
+
cancelBtn: "Cancel",
|
|
1556
|
+
close: "Close",
|
|
1557
|
+
categories: {
|
|
1558
|
+
smileys: "Smileys",
|
|
1559
|
+
people: "People",
|
|
1560
|
+
animals: "Animals",
|
|
1561
|
+
food: "Food",
|
|
1562
|
+
travel: "Travel",
|
|
1563
|
+
objects: "Objects",
|
|
1564
|
+
symbols: "Symbols"
|
|
1565
|
+
}
|
|
1566
|
+
},
|
|
1567
|
+
iconDialog: {
|
|
1568
|
+
ariaLabel: "Insert FA icon",
|
|
1569
|
+
title: "Insert FA Icon",
|
|
1570
|
+
searchPlaceholder: "Search icons…",
|
|
1571
|
+
all: "All",
|
|
1572
|
+
style: "Style",
|
|
1573
|
+
size: "Size",
|
|
1574
|
+
color: "Color",
|
|
1575
|
+
useColor: " Use color",
|
|
1576
|
+
selectHint: "Select an icon",
|
|
1577
|
+
insertBtn: "Insert FA Icon",
|
|
1578
|
+
cancelBtn: "Cancel",
|
|
1579
|
+
close: "Close",
|
|
1580
|
+
categories: {
|
|
1581
|
+
popular: "Popular",
|
|
1582
|
+
interface: "Interface",
|
|
1583
|
+
navigation: "Navigation",
|
|
1584
|
+
media: "Media",
|
|
1585
|
+
communication: "Communication",
|
|
1586
|
+
files: "Files",
|
|
1587
|
+
people: "People",
|
|
1588
|
+
objects: "Objects"
|
|
1589
|
+
}
|
|
1590
|
+
},
|
|
1591
|
+
findReplace: {
|
|
1592
|
+
findTitle: "Find",
|
|
1593
|
+
findReplaceTitle: "Find & Replace",
|
|
1594
|
+
findPlaceholder: "Find…",
|
|
1595
|
+
searchAriaLabel: "Search text",
|
|
1596
|
+
caseSensitive: "\xA0Case sensitive",
|
|
1597
|
+
prevBtn: "← Prev",
|
|
1598
|
+
nextBtn: "Next →",
|
|
1599
|
+
replacePlaceholder: "Replace with…",
|
|
1600
|
+
replaceAriaLabel: "Replace with",
|
|
1601
|
+
replaceBtn: "Replace",
|
|
1602
|
+
replaceAllBtn: "Replace All",
|
|
1603
|
+
close: "×"
|
|
1604
|
+
},
|
|
1605
|
+
shortcutsDialog: {
|
|
1606
|
+
title: "Keyboard Shortcuts",
|
|
1607
|
+
ariaLabel: "Keyboard Shortcuts",
|
|
1608
|
+
close: "Close",
|
|
1609
|
+
shortcuts: [
|
|
1610
|
+
{
|
|
1611
|
+
category: "Text Formatting",
|
|
1612
|
+
items: [
|
|
1613
|
+
{
|
|
1614
|
+
keys: "Ctrl + B",
|
|
1615
|
+
action: "Bold"
|
|
1616
|
+
},
|
|
1617
|
+
{
|
|
1618
|
+
keys: "Ctrl + I",
|
|
1619
|
+
action: "Italic"
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
keys: "Ctrl + U",
|
|
1623
|
+
action: "Underline"
|
|
1624
|
+
},
|
|
1625
|
+
{
|
|
1626
|
+
keys: "Ctrl + K",
|
|
1627
|
+
action: "Insert / edit link"
|
|
1628
|
+
}
|
|
1629
|
+
]
|
|
1630
|
+
},
|
|
1631
|
+
{
|
|
1632
|
+
category: "History",
|
|
1633
|
+
items: [{
|
|
1634
|
+
keys: "Ctrl + Z",
|
|
1635
|
+
action: "Undo"
|
|
1636
|
+
}, {
|
|
1637
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
1638
|
+
action: "Redo"
|
|
1639
|
+
}]
|
|
1640
|
+
},
|
|
1641
|
+
{
|
|
1642
|
+
category: "Selection & Navigation",
|
|
1643
|
+
items: [
|
|
1644
|
+
{
|
|
1645
|
+
keys: "Ctrl + A",
|
|
1646
|
+
action: "Select all content"
|
|
1647
|
+
},
|
|
1648
|
+
{
|
|
1649
|
+
keys: "Tab",
|
|
1650
|
+
action: "Indent list item / insert spaces"
|
|
1651
|
+
},
|
|
1652
|
+
{
|
|
1653
|
+
keys: "Shift + Tab",
|
|
1654
|
+
action: "Outdent list item"
|
|
1655
|
+
}
|
|
1656
|
+
]
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
category: "Clipboard",
|
|
1660
|
+
items: [{
|
|
1661
|
+
keys: "Ctrl + Shift + V",
|
|
1662
|
+
action: "Paste as plain text"
|
|
1663
|
+
}]
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
category: "Find & Replace",
|
|
1667
|
+
items: [{
|
|
1668
|
+
keys: "Ctrl + F",
|
|
1669
|
+
action: "Find in document"
|
|
1670
|
+
}, {
|
|
1671
|
+
keys: "Ctrl + H",
|
|
1672
|
+
action: "Find & Replace"
|
|
1673
|
+
}]
|
|
1674
|
+
},
|
|
1675
|
+
{
|
|
1676
|
+
category: "Editor",
|
|
1677
|
+
items: [{
|
|
1678
|
+
keys: "Ctrl + Shift + /",
|
|
1679
|
+
action: "Show this keyboard shortcuts dialog"
|
|
1680
|
+
}]
|
|
1681
|
+
}
|
|
1682
|
+
]
|
|
1683
|
+
},
|
|
1684
|
+
contextMenu: {
|
|
1685
|
+
cut: "Cut",
|
|
1686
|
+
copy: "Copy",
|
|
1687
|
+
paste: "Paste",
|
|
1688
|
+
bold: "Bold",
|
|
1689
|
+
italic: "Italic",
|
|
1690
|
+
underline: "Underline",
|
|
1691
|
+
textColor: "Text Color",
|
|
1692
|
+
highlightColor: "Highlight Color",
|
|
1693
|
+
copyFormat: "Copy Format",
|
|
1694
|
+
pasteFormat: "Paste Format",
|
|
1695
|
+
removeFormat: "Remove Format",
|
|
1696
|
+
link: "Insert Link",
|
|
1697
|
+
image: "Insert Image",
|
|
1698
|
+
video: "Insert Video",
|
|
1699
|
+
table: "Insert Table",
|
|
1700
|
+
back: "Back",
|
|
1701
|
+
noHighlight: "No highlight",
|
|
1702
|
+
customColor: "Custom color",
|
|
1703
|
+
customColorLabel: "Custom…"
|
|
1704
|
+
},
|
|
1705
|
+
statusbar: {
|
|
1706
|
+
resizeHandle: "Resize editor",
|
|
1707
|
+
words: (n) => `Words: ${n}`,
|
|
1708
|
+
wordsLimit: (n, max) => `Words: ${n}/${max}`,
|
|
1709
|
+
chars: (n) => `Chars: ${n}`,
|
|
1710
|
+
charsLimit: (n, max) => `Chars: ${n}/${max}`
|
|
1711
|
+
},
|
|
1712
|
+
tooltips: {
|
|
1713
|
+
link: {
|
|
1714
|
+
ariaLabel: "Link actions",
|
|
1715
|
+
openLink: "Open link",
|
|
1716
|
+
copyUrl: "Copy URL",
|
|
1717
|
+
editLink: "Edit link",
|
|
1718
|
+
removeLink: "Remove link"
|
|
1719
|
+
},
|
|
1720
|
+
image: {
|
|
1721
|
+
ariaLabel: "Image actions",
|
|
1722
|
+
label: "Image",
|
|
1723
|
+
floatLeft: "Float Left",
|
|
1724
|
+
noFloat: "No Float",
|
|
1725
|
+
alignCenter: "Align Center",
|
|
1726
|
+
floatRight: "Float Right",
|
|
1727
|
+
originalSize: "Original Size",
|
|
1728
|
+
rotateLeft: "Rotate Left",
|
|
1729
|
+
rotateRight: "Rotate Right",
|
|
1730
|
+
cropImage: "Crop Image",
|
|
1731
|
+
addCaption: "Add / Edit Caption",
|
|
1732
|
+
deleteImage: "Delete Image"
|
|
1733
|
+
},
|
|
1734
|
+
code: {
|
|
1735
|
+
ariaLabel: "Code block actions",
|
|
1736
|
+
label: "Code",
|
|
1737
|
+
syntaxLanguage: "Syntax Language",
|
|
1738
|
+
syntaxAriaLabel: "Syntax language",
|
|
1739
|
+
copyCode: "Copy Code",
|
|
1740
|
+
toggleWordWrap: "Toggle Word Wrap",
|
|
1741
|
+
enableWordWrap: "Enable Word Wrap",
|
|
1742
|
+
disableWordWrap: "Disable Word Wrap",
|
|
1743
|
+
convertToParagraph: "Convert to Paragraph",
|
|
1744
|
+
deleteCodeBlock: "Delete Code Block"
|
|
1745
|
+
},
|
|
1746
|
+
table: {
|
|
1747
|
+
ariaLabel: "Table actions",
|
|
1748
|
+
label: "Table",
|
|
1749
|
+
selectCells: "Select Cells",
|
|
1750
|
+
addRowAbove: "Add Row Above",
|
|
1751
|
+
addRowBelow: "Add Row Below",
|
|
1752
|
+
deleteRow: "Delete Row",
|
|
1753
|
+
addColumnLeft: "Add Column Left",
|
|
1754
|
+
addColumnRight: "Add Column Right",
|
|
1755
|
+
deleteColumn: "Delete Column",
|
|
1756
|
+
mergeCells: "Merge Cells",
|
|
1757
|
+
unmergeCells: "Unmerge Cells",
|
|
1758
|
+
columnWidth: "Column Width",
|
|
1759
|
+
rowHeight: "Row Height",
|
|
1760
|
+
tableBorderWidth: "Table Border Width",
|
|
1761
|
+
deleteTable: "Delete Table",
|
|
1762
|
+
columnWidthPx: "Column Width (px)",
|
|
1763
|
+
rowHeightPx: "Row Height (px)",
|
|
1764
|
+
tableBorderWidthPx: "Table Border Width (px)",
|
|
1765
|
+
cancelBtn: "Cancel",
|
|
1766
|
+
applyBtn: "Apply"
|
|
1767
|
+
},
|
|
1768
|
+
video: {
|
|
1769
|
+
ariaLabel: "Video actions",
|
|
1770
|
+
label: "Video",
|
|
1771
|
+
floatLeft: "Float Left",
|
|
1772
|
+
noFloat: "No Float",
|
|
1773
|
+
alignCenter: "Align Center",
|
|
1774
|
+
floatRight: "Float Right",
|
|
1775
|
+
originalSize: "Original Size",
|
|
1776
|
+
previewVideo: "Preview Video",
|
|
1777
|
+
exitPreview: "Exit Preview",
|
|
1778
|
+
deleteVideo: "Delete Video"
|
|
1779
|
+
}
|
|
1780
|
+
},
|
|
1781
|
+
errors: {
|
|
1782
|
+
imageFormat: (type) => `Format "${type}" is not supported for display in web browsers. Please convert to JPEG, PNG, or WebP first.`,
|
|
1783
|
+
imageSize: (maxSize) => `Image file is too large. Maximum allowed size is ${maxSize} MB.`
|
|
1784
|
+
}
|
|
1785
|
+
};
|
|
1786
|
+
//#endregion
|
|
1787
|
+
//#region src/js/i18n/index.js
|
|
1788
|
+
/**
|
|
1789
|
+
* i18n/index.js — Locale registry and resolver for autumn-note-ce.
|
|
1790
|
+
*
|
|
1791
|
+
* Usage:
|
|
1792
|
+
* lang: 'en' → built-in English (default)
|
|
1793
|
+
* lang: 'vi' → built-in Vietnamese
|
|
1794
|
+
* lang: 'ja' → built-in Japanese
|
|
1795
|
+
* lang: 'zh' → built-in Simplified Chinese
|
|
1796
|
+
* lang: 'fr' → built-in French
|
|
1797
|
+
* lang: 'de' → built-in German
|
|
1798
|
+
* lang: 'es' → built-in Spanish
|
|
1799
|
+
* lang: 'ko' → built-in Korean
|
|
1800
|
+
* lang: { ... } → custom locale object, deep-merged over English
|
|
1801
|
+
*/
|
|
1802
|
+
/**
|
|
1803
|
+
* All built-in locales keyed by their language code.
|
|
1804
|
+
* @type {Record<string, Partial<AsnLocale>>}
|
|
1805
|
+
*/
|
|
1806
|
+
var locales = {
|
|
1807
|
+
en,
|
|
1808
|
+
vi: {
|
|
1809
|
+
toolbar: {
|
|
1810
|
+
bold: "Đậm (Ctrl+B)",
|
|
1811
|
+
italic: "Nghiêng (Ctrl+I)",
|
|
1812
|
+
underline: "Gạch chân (Ctrl+U)",
|
|
1813
|
+
strikethrough: "Gạch ngang",
|
|
1814
|
+
superscript: "Chỉ số trên",
|
|
1815
|
+
subscript: "Chỉ số dưới",
|
|
1816
|
+
alignLeft: "Căn trái",
|
|
1817
|
+
alignCenter: "Căn giữa",
|
|
1818
|
+
alignRight: "Căn phải",
|
|
1819
|
+
alignJustify: "Căn đều",
|
|
1820
|
+
ul: "Danh sách không thứ tự",
|
|
1821
|
+
ol: "Danh sách có thứ tự",
|
|
1822
|
+
checklist: "Danh sách kiểm tra",
|
|
1823
|
+
indent: "Tăng thụt đầu dòng",
|
|
1824
|
+
outdent: "Giảm thụt đầu dòng",
|
|
1825
|
+
undo: "Hoàn tác (Ctrl+Z)",
|
|
1826
|
+
redo: "Làm lại (Ctrl+Y)",
|
|
1827
|
+
hr: "Đường kẻ ngang",
|
|
1828
|
+
link: "Chèn liên kết",
|
|
1829
|
+
image: "Chèn hình ảnh",
|
|
1830
|
+
video: "Chèn video",
|
|
1831
|
+
emoji: "Chèn biểu tượng cảm xúc",
|
|
1832
|
+
icon: "Chèn biểu tượng FA",
|
|
1833
|
+
table: "Chèn bảng",
|
|
1834
|
+
fontSize: "Cỡ chữ",
|
|
1835
|
+
fontSizePlaceholder: "Cỡ",
|
|
1836
|
+
removeFormat: "Xóa định dạng",
|
|
1837
|
+
direction: "Chuyển hướng văn bản (LTR / RTL)",
|
|
1838
|
+
fontFamily: "Phông chữ",
|
|
1839
|
+
paragraphStyle: "Kiểu đoạn văn",
|
|
1840
|
+
paragraphStylePlaceholder: "Kiểu",
|
|
1841
|
+
lineHeight: "Khoảng cách dòng",
|
|
1842
|
+
lineHeightPlaceholder: "↕ Dòng",
|
|
1843
|
+
codeview: "Xem mã HTML",
|
|
1844
|
+
fullscreen: "Toàn màn hình",
|
|
1845
|
+
shortcuts: "Phím tắt (Ctrl+Shift+/)",
|
|
1846
|
+
find: "Tìm kiếm (Ctrl+F)",
|
|
1847
|
+
findReplace: "Tìm & Thay thế (Ctrl+H)",
|
|
1848
|
+
inlineCode: "Mã nội tuyến (Ctrl+`)",
|
|
1849
|
+
print: "In",
|
|
1850
|
+
foreColor: "Màu chữ",
|
|
1851
|
+
backColor: "Màu nền chữ",
|
|
1852
|
+
chooseTextColor: "Chọn màu chữ",
|
|
1853
|
+
chooseHighlightColor: "Chọn màu nền",
|
|
1854
|
+
customColor: "Màu tùy chỉnh",
|
|
1855
|
+
insertTableLabel: "Chèn bảng",
|
|
1856
|
+
paragraphItems: {
|
|
1857
|
+
p: "Bình thường",
|
|
1858
|
+
blockquote: "Trích dẫn",
|
|
1859
|
+
pre: "Mã"
|
|
1860
|
+
}
|
|
1861
|
+
},
|
|
1862
|
+
linkDialog: {
|
|
1863
|
+
ariaLabel: "Chèn liên kết",
|
|
1864
|
+
title: "Chèn liên kết",
|
|
1865
|
+
url: "Địa chỉ URL",
|
|
1866
|
+
urlPlaceholder: "https://",
|
|
1867
|
+
displayText: "Văn bản hiển thị",
|
|
1868
|
+
textPlaceholder: "Nội dung liên kết",
|
|
1869
|
+
openInNewTab: "Mở trong tab mới",
|
|
1870
|
+
insertBtn: "Chèn",
|
|
1871
|
+
cancelBtn: "Hủy"
|
|
1872
|
+
},
|
|
1873
|
+
imageDialog: {
|
|
1874
|
+
ariaLabel: "Chèn hình ảnh",
|
|
1875
|
+
title: "Chèn hình ảnh",
|
|
1876
|
+
imageUrl: "URL hình ảnh",
|
|
1877
|
+
urlPlaceholder: "https://example.com/anh.png",
|
|
1878
|
+
altText: "Văn bản thay thế",
|
|
1879
|
+
altPlaceholder: "Mô tả hình ảnh",
|
|
1880
|
+
alignment: "Căn chỉnh",
|
|
1881
|
+
alignNone: "Không",
|
|
1882
|
+
alignLeft: "Trái",
|
|
1883
|
+
alignCenter: "Giữa",
|
|
1884
|
+
alignRight: "Phải",
|
|
1885
|
+
uploadLabel: "Hoặc tải lên tệp",
|
|
1886
|
+
insertBtn: "Chèn",
|
|
1887
|
+
cancelBtn: "Hủy"
|
|
1888
|
+
},
|
|
1889
|
+
videoDialog: {
|
|
1890
|
+
ariaLabel: "Chèn video",
|
|
1891
|
+
title: "Chèn video",
|
|
1892
|
+
videoUrl: "URL video",
|
|
1893
|
+
urlPlaceholder: "YouTube, Vimeo, hoặc URL .mp4 trực tiếp",
|
|
1894
|
+
widthLabel: "Chiều rộng (px)",
|
|
1895
|
+
widthPlaceholder: "560",
|
|
1896
|
+
insertBtn: "Chèn",
|
|
1897
|
+
cancelBtn: "Hủy",
|
|
1898
|
+
detected: (type) => `Đã phát hiện: ${type}`,
|
|
1899
|
+
unknownFormat: "Định dạng không xác định — sẽ thử nhúng video trực tiếp",
|
|
1900
|
+
invalidUrl: "URL không hợp lệ — vui lòng nhập đường dẫn video hợp lệ."
|
|
1901
|
+
},
|
|
1902
|
+
emojiDialog: {
|
|
1903
|
+
ariaLabel: "Chèn biểu tượng cảm xúc",
|
|
1904
|
+
title: "Chèn biểu tượng cảm xúc",
|
|
1905
|
+
searchPlaceholder: "Tìm kiếm biểu tượng…",
|
|
1906
|
+
all: "Tất cả",
|
|
1907
|
+
cancelBtn: "Hủy",
|
|
1908
|
+
close: "Đóng",
|
|
1909
|
+
categories: {
|
|
1910
|
+
smileys: "Mặt cười",
|
|
1911
|
+
people: "Con người",
|
|
1912
|
+
animals: "Động vật",
|
|
1913
|
+
food: "Thức ăn",
|
|
1914
|
+
travel: "Du lịch",
|
|
1915
|
+
objects: "Đồ vật",
|
|
1916
|
+
symbols: "Ký hiệu"
|
|
1917
|
+
}
|
|
1918
|
+
},
|
|
1919
|
+
iconDialog: {
|
|
1920
|
+
ariaLabel: "Chèn biểu tượng FA",
|
|
1921
|
+
title: "Chèn biểu tượng FA",
|
|
1922
|
+
searchPlaceholder: "Tìm kiếm biểu tượng…",
|
|
1923
|
+
all: "Tất cả",
|
|
1924
|
+
style: "Kiểu",
|
|
1925
|
+
size: "Kích thước",
|
|
1926
|
+
color: "Màu sắc",
|
|
1927
|
+
useColor: " Dùng màu",
|
|
1928
|
+
selectHint: "Chọn một biểu tượng",
|
|
1929
|
+
insertBtn: "Chèn biểu tượng FA",
|
|
1930
|
+
cancelBtn: "Hủy",
|
|
1931
|
+
close: "Đóng",
|
|
1932
|
+
categories: {
|
|
1933
|
+
popular: "Phổ biến",
|
|
1934
|
+
interface: "Giao diện",
|
|
1935
|
+
navigation: "Điều hướng",
|
|
1936
|
+
media: "Phương tiện",
|
|
1937
|
+
communication: "Liên lạc",
|
|
1938
|
+
files: "Tệp tin",
|
|
1939
|
+
people: "Con người",
|
|
1940
|
+
objects: "Đồ vật"
|
|
1941
|
+
}
|
|
1942
|
+
},
|
|
1943
|
+
findReplace: {
|
|
1944
|
+
findTitle: "Tìm kiếm",
|
|
1945
|
+
findReplaceTitle: "Tìm & Thay thế",
|
|
1946
|
+
findPlaceholder: "Tìm…",
|
|
1947
|
+
searchAriaLabel: "Văn bản tìm kiếm",
|
|
1948
|
+
caseSensitive: "\xA0Phân biệt hoa thường",
|
|
1949
|
+
prevBtn: "← Trước",
|
|
1950
|
+
nextBtn: "Tiếp →",
|
|
1951
|
+
replacePlaceholder: "Thay thế bằng…",
|
|
1952
|
+
replaceAriaLabel: "Thay thế bằng",
|
|
1953
|
+
replaceBtn: "Thay thế",
|
|
1954
|
+
replaceAllBtn: "Thay thế tất cả",
|
|
1955
|
+
close: "×"
|
|
1956
|
+
},
|
|
1957
|
+
shortcutsDialog: {
|
|
1958
|
+
title: "Phím tắt bàn phím",
|
|
1959
|
+
ariaLabel: "Phím tắt bàn phím",
|
|
1960
|
+
close: "Đóng",
|
|
1961
|
+
shortcuts: [
|
|
1962
|
+
{
|
|
1963
|
+
category: "Định dạng văn bản",
|
|
1964
|
+
items: [
|
|
1965
|
+
{
|
|
1966
|
+
keys: "Ctrl + B",
|
|
1967
|
+
action: "Đậm"
|
|
1968
|
+
},
|
|
1969
|
+
{
|
|
1970
|
+
keys: "Ctrl + I",
|
|
1971
|
+
action: "Nghiêng"
|
|
1972
|
+
},
|
|
1973
|
+
{
|
|
1974
|
+
keys: "Ctrl + U",
|
|
1975
|
+
action: "Gạch chân"
|
|
1976
|
+
},
|
|
1977
|
+
{
|
|
1978
|
+
keys: "Ctrl + K",
|
|
1979
|
+
action: "Chèn / sửa liên kết"
|
|
1980
|
+
}
|
|
1981
|
+
]
|
|
1982
|
+
},
|
|
1983
|
+
{
|
|
1984
|
+
category: "Lịch sử",
|
|
1985
|
+
items: [{
|
|
1986
|
+
keys: "Ctrl + Z",
|
|
1987
|
+
action: "Hoàn tác"
|
|
1988
|
+
}, {
|
|
1989
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
1990
|
+
action: "Làm lại"
|
|
1991
|
+
}]
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
category: "Chọn & Điều hướng",
|
|
1995
|
+
items: [
|
|
1996
|
+
{
|
|
1997
|
+
keys: "Ctrl + A",
|
|
1998
|
+
action: "Chọn tất cả"
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
keys: "Tab",
|
|
2002
|
+
action: "Tăng thụt đầu dòng / chèn khoảng trắng"
|
|
2003
|
+
},
|
|
2004
|
+
{
|
|
2005
|
+
keys: "Shift + Tab",
|
|
2006
|
+
action: "Giảm thụt đầu dòng"
|
|
2007
|
+
}
|
|
2008
|
+
]
|
|
2009
|
+
},
|
|
2010
|
+
{
|
|
2011
|
+
category: "Bảng nhớ tạm",
|
|
2012
|
+
items: [{
|
|
2013
|
+
keys: "Ctrl + Shift + V",
|
|
2014
|
+
action: "Dán dưới dạng văn bản thuần"
|
|
2015
|
+
}]
|
|
2016
|
+
},
|
|
2017
|
+
{
|
|
2018
|
+
category: "Tìm & Thay thế",
|
|
2019
|
+
items: [{
|
|
2020
|
+
keys: "Ctrl + F",
|
|
2021
|
+
action: "Tìm trong tài liệu"
|
|
2022
|
+
}, {
|
|
2023
|
+
keys: "Ctrl + H",
|
|
2024
|
+
action: "Tìm & Thay thế"
|
|
2025
|
+
}]
|
|
2026
|
+
},
|
|
2027
|
+
{
|
|
2028
|
+
category: "Trình soạn thảo",
|
|
2029
|
+
items: [{
|
|
2030
|
+
keys: "Ctrl + Shift + /",
|
|
2031
|
+
action: "Hiện hộp thoại phím tắt"
|
|
2032
|
+
}]
|
|
2033
|
+
}
|
|
2034
|
+
]
|
|
2035
|
+
},
|
|
2036
|
+
contextMenu: {
|
|
2037
|
+
cut: "Cắt",
|
|
2038
|
+
copy: "Sao chép",
|
|
2039
|
+
paste: "Dán",
|
|
2040
|
+
bold: "Đậm",
|
|
2041
|
+
italic: "Nghiêng",
|
|
2042
|
+
underline: "Gạch chân",
|
|
2043
|
+
textColor: "Màu chữ",
|
|
2044
|
+
highlightColor: "Màu nền chữ",
|
|
2045
|
+
copyFormat: "Sao chép định dạng",
|
|
2046
|
+
pasteFormat: "Dán định dạng",
|
|
2047
|
+
removeFormat: "Xóa định dạng",
|
|
2048
|
+
link: "Chèn liên kết",
|
|
2049
|
+
image: "Chèn hình ảnh",
|
|
2050
|
+
video: "Chèn video",
|
|
2051
|
+
table: "Chèn bảng",
|
|
2052
|
+
back: "Quay lại",
|
|
2053
|
+
noHighlight: "Không tô màu",
|
|
2054
|
+
customColor: "Màu tùy chỉnh",
|
|
2055
|
+
customColorLabel: "Tùy chỉnh…"
|
|
2056
|
+
},
|
|
2057
|
+
statusbar: {
|
|
2058
|
+
resizeHandle: "Kéo để thay đổi kích thước",
|
|
2059
|
+
words: (n) => `Từ: ${n}`,
|
|
2060
|
+
wordsLimit: (n, max) => `Từ: ${n}/${max}`,
|
|
2061
|
+
chars: (n) => `Ký tự: ${n}`,
|
|
2062
|
+
charsLimit: (n, max) => `Ký tự: ${n}/${max}`
|
|
2063
|
+
},
|
|
2064
|
+
tooltips: {
|
|
2065
|
+
link: {
|
|
2066
|
+
ariaLabel: "Hành động liên kết",
|
|
2067
|
+
openLink: "Mở liên kết",
|
|
2068
|
+
copyUrl: "Sao chép URL",
|
|
2069
|
+
editLink: "Sửa liên kết",
|
|
2070
|
+
removeLink: "Xóa liên kết"
|
|
2071
|
+
},
|
|
2072
|
+
image: {
|
|
2073
|
+
ariaLabel: "Hành động hình ảnh",
|
|
2074
|
+
label: "Hình ảnh",
|
|
2075
|
+
floatLeft: "Nổi trái",
|
|
2076
|
+
noFloat: "Không nổi",
|
|
2077
|
+
alignCenter: "Căn giữa",
|
|
2078
|
+
floatRight: "Nổi phải",
|
|
2079
|
+
originalSize: "Kích thước gốc",
|
|
2080
|
+
rotateLeft: "Xoay trái",
|
|
2081
|
+
rotateRight: "Xoay phải",
|
|
2082
|
+
cropImage: "Cắt ảnh",
|
|
2083
|
+
addCaption: "Thêm / Sửa chú thích",
|
|
2084
|
+
deleteImage: "Xóa hình ảnh"
|
|
2085
|
+
},
|
|
2086
|
+
code: {
|
|
2087
|
+
ariaLabel: "Hành động khối mã",
|
|
2088
|
+
label: "Mã",
|
|
2089
|
+
syntaxLanguage: "Ngôn ngữ cú pháp",
|
|
2090
|
+
syntaxAriaLabel: "Ngôn ngữ cú pháp",
|
|
2091
|
+
copyCode: "Sao chép mã",
|
|
2092
|
+
toggleWordWrap: "Chuyển đổi xuống dòng",
|
|
2093
|
+
enableWordWrap: "Bật xuống dòng",
|
|
2094
|
+
disableWordWrap: "Tắt xuống dòng",
|
|
2095
|
+
convertToParagraph: "Chuyển thành đoạn văn",
|
|
2096
|
+
deleteCodeBlock: "Xóa khối mã"
|
|
2097
|
+
},
|
|
2098
|
+
table: {
|
|
2099
|
+
ariaLabel: "Hành động bảng",
|
|
2100
|
+
label: "Bảng",
|
|
2101
|
+
selectCells: "Chọn ô",
|
|
2102
|
+
addRowAbove: "Thêm hàng phía trên",
|
|
2103
|
+
addRowBelow: "Thêm hàng phía dưới",
|
|
2104
|
+
deleteRow: "Xóa hàng",
|
|
2105
|
+
addColumnLeft: "Thêm cột bên trái",
|
|
2106
|
+
addColumnRight: "Thêm cột bên phải",
|
|
2107
|
+
deleteColumn: "Xóa cột",
|
|
2108
|
+
mergeCells: "Gộp ô",
|
|
2109
|
+
unmergeCells: "Tách ô",
|
|
2110
|
+
columnWidth: "Chiều rộng cột",
|
|
2111
|
+
rowHeight: "Chiều cao hàng",
|
|
2112
|
+
tableBorderWidth: "Độ rộng viền bảng",
|
|
2113
|
+
deleteTable: "Xóa bảng",
|
|
2114
|
+
columnWidthPx: "Chiều rộng cột (px)",
|
|
2115
|
+
rowHeightPx: "Chiều cao hàng (px)",
|
|
2116
|
+
tableBorderWidthPx: "Độ rộng viền bảng (px)",
|
|
2117
|
+
cancelBtn: "Hủy",
|
|
2118
|
+
applyBtn: "Áp dụng"
|
|
2119
|
+
},
|
|
2120
|
+
video: {
|
|
2121
|
+
ariaLabel: "Hành động video",
|
|
2122
|
+
label: "Video",
|
|
2123
|
+
floatLeft: "Nổi trái",
|
|
2124
|
+
noFloat: "Không nổi",
|
|
2125
|
+
alignCenter: "Căn giữa",
|
|
2126
|
+
floatRight: "Nổi phải",
|
|
2127
|
+
originalSize: "Kích thước gốc",
|
|
2128
|
+
previewVideo: "Xem trước",
|
|
2129
|
+
exitPreview: "Thoát xem trước",
|
|
2130
|
+
deleteVideo: "Xóa video"
|
|
2131
|
+
}
|
|
2132
|
+
},
|
|
2133
|
+
errors: {
|
|
2134
|
+
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.`,
|
|
2135
|
+
imageSize: (maxSize) => `Tệp hình ảnh quá lớn. Kích thước tối đa cho phép là ${maxSize} MB.`
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2138
|
+
ja: {
|
|
2139
|
+
toolbar: {
|
|
2140
|
+
bold: "太字 (Ctrl+B)",
|
|
2141
|
+
italic: "斜体 (Ctrl+I)",
|
|
2142
|
+
underline: "下線 (Ctrl+U)",
|
|
2143
|
+
strikethrough: "取り消し線",
|
|
2144
|
+
superscript: "上付き文字",
|
|
2145
|
+
subscript: "下付き文字",
|
|
2146
|
+
alignLeft: "左揃え",
|
|
2147
|
+
alignCenter: "中央揃え",
|
|
2148
|
+
alignRight: "右揃え",
|
|
2149
|
+
alignJustify: "両端揃え",
|
|
2150
|
+
ul: "箇条書きリスト",
|
|
2151
|
+
ol: "番号付きリスト",
|
|
2152
|
+
checklist: "チェックリスト",
|
|
2153
|
+
indent: "インデントを増やす",
|
|
2154
|
+
outdent: "インデントを減らす",
|
|
2155
|
+
undo: "元に戻す (Ctrl+Z)",
|
|
2156
|
+
redo: "やり直す (Ctrl+Y)",
|
|
2157
|
+
hr: "水平線",
|
|
2158
|
+
link: "リンクを挿入",
|
|
2159
|
+
image: "画像を挿入",
|
|
2160
|
+
video: "動画を挿入",
|
|
2161
|
+
emoji: "絵文字を挿入",
|
|
2162
|
+
icon: "FAアイコンを挿入",
|
|
2163
|
+
table: "テーブルを挿入",
|
|
2164
|
+
fontSize: "フォントサイズ",
|
|
2165
|
+
fontSizePlaceholder: "サイズ",
|
|
2166
|
+
removeFormat: "書式をリセット",
|
|
2167
|
+
direction: "文字方向を切り替え (LTR / RTL)",
|
|
2168
|
+
fontFamily: "フォント",
|
|
2169
|
+
paragraphStyle: "段落スタイル",
|
|
2170
|
+
paragraphStylePlaceholder: "スタイル",
|
|
2171
|
+
lineHeight: "行の高さ",
|
|
2172
|
+
lineHeightPlaceholder: "↕ 行間",
|
|
2173
|
+
codeview: "HTMLソースを表示",
|
|
2174
|
+
fullscreen: "全画面表示",
|
|
2175
|
+
shortcuts: "キーボードショートカット (Ctrl+Shift+/)",
|
|
2176
|
+
find: "検索 (Ctrl+F)",
|
|
2177
|
+
findReplace: "検索と置換 (Ctrl+H)",
|
|
2178
|
+
inlineCode: "インラインコード (Ctrl+`)",
|
|
2179
|
+
print: "印刷",
|
|
2180
|
+
foreColor: "文字色",
|
|
2181
|
+
backColor: "ハイライト色",
|
|
2182
|
+
chooseTextColor: "文字色を選択",
|
|
2183
|
+
chooseHighlightColor: "ハイライト色を選択",
|
|
2184
|
+
customColor: "カスタムカラー",
|
|
2185
|
+
insertTableLabel: "テーブルを挿入",
|
|
2186
|
+
paragraphItems: {
|
|
2187
|
+
p: "標準",
|
|
2188
|
+
blockquote: "引用",
|
|
2189
|
+
pre: "コード"
|
|
2190
|
+
}
|
|
2191
|
+
},
|
|
2192
|
+
linkDialog: {
|
|
2193
|
+
ariaLabel: "リンクを挿入",
|
|
2194
|
+
title: "リンクを挿入",
|
|
2195
|
+
url: "URL",
|
|
2196
|
+
urlPlaceholder: "https://",
|
|
2197
|
+
displayText: "表示テキスト",
|
|
2198
|
+
textPlaceholder: "リンクテキスト",
|
|
2199
|
+
openInNewTab: "新しいタブで開く",
|
|
2200
|
+
insertBtn: "挿入",
|
|
2201
|
+
cancelBtn: "キャンセル"
|
|
2202
|
+
},
|
|
2203
|
+
imageDialog: {
|
|
2204
|
+
ariaLabel: "画像を挿入",
|
|
2205
|
+
title: "画像を挿入",
|
|
2206
|
+
imageUrl: "画像URL",
|
|
2207
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
2208
|
+
altText: "代替テキスト",
|
|
2209
|
+
altPlaceholder: "画像の説明",
|
|
2210
|
+
alignment: "配置",
|
|
2211
|
+
alignNone: "なし",
|
|
2212
|
+
alignLeft: "左",
|
|
2213
|
+
alignCenter: "中央",
|
|
2214
|
+
alignRight: "右",
|
|
2215
|
+
uploadLabel: "ファイルをアップロード",
|
|
2216
|
+
insertBtn: "挿入",
|
|
2217
|
+
cancelBtn: "キャンセル"
|
|
2218
|
+
},
|
|
2219
|
+
videoDialog: {
|
|
2220
|
+
ariaLabel: "動画を挿入",
|
|
2221
|
+
title: "動画を挿入",
|
|
2222
|
+
videoUrl: "動画URL",
|
|
2223
|
+
urlPlaceholder: "YouTube、Vimeo、または直接動画URL",
|
|
2224
|
+
widthLabel: "幅 (px)",
|
|
2225
|
+
widthPlaceholder: "560",
|
|
2226
|
+
insertBtn: "挿入",
|
|
2227
|
+
cancelBtn: "キャンセル",
|
|
2228
|
+
detected: (type) => `検出: ${type}`,
|
|
2229
|
+
unknownFormat: "不明な形式 — 直接動画埋め込みを試みます",
|
|
2230
|
+
invalidUrl: "URLが無効です — 有効な動画URLを入力してください。"
|
|
2231
|
+
},
|
|
2232
|
+
emojiDialog: {
|
|
2233
|
+
ariaLabel: "絵文字を挿入",
|
|
2234
|
+
title: "絵文字を挿入",
|
|
2235
|
+
searchPlaceholder: "絵文字を検索…",
|
|
2236
|
+
all: "すべて",
|
|
2237
|
+
cancelBtn: "キャンセル",
|
|
2238
|
+
close: "閉じる",
|
|
2239
|
+
categories: {
|
|
2240
|
+
smileys: "顔文字",
|
|
2241
|
+
people: "人物",
|
|
2242
|
+
animals: "動物",
|
|
2243
|
+
food: "食べ物",
|
|
2244
|
+
travel: "旅行",
|
|
2245
|
+
objects: "モノ",
|
|
2246
|
+
symbols: "記号"
|
|
2247
|
+
}
|
|
2248
|
+
},
|
|
2249
|
+
iconDialog: {
|
|
2250
|
+
ariaLabel: "FAアイコンを挿入",
|
|
2251
|
+
title: "FAアイコンを挿入",
|
|
2252
|
+
searchPlaceholder: "アイコンを検索…",
|
|
2253
|
+
all: "すべて",
|
|
2254
|
+
style: "スタイル",
|
|
2255
|
+
size: "サイズ",
|
|
2256
|
+
color: "カラー",
|
|
2257
|
+
useColor: " カラーを使用",
|
|
2258
|
+
selectHint: "アイコンを選択してください",
|
|
2259
|
+
insertBtn: "FAアイコンを挿入",
|
|
2260
|
+
cancelBtn: "キャンセル",
|
|
2261
|
+
close: "閉じる",
|
|
2262
|
+
categories: {
|
|
2263
|
+
popular: "人気",
|
|
2264
|
+
interface: "インターフェース",
|
|
2265
|
+
navigation: "ナビゲーション",
|
|
2266
|
+
media: "メディア",
|
|
2267
|
+
communication: "通信",
|
|
2268
|
+
files: "ファイル",
|
|
2269
|
+
people: "人物",
|
|
2270
|
+
objects: "モノ"
|
|
2271
|
+
}
|
|
2272
|
+
},
|
|
2273
|
+
findReplace: {
|
|
2274
|
+
findTitle: "検索",
|
|
2275
|
+
findReplaceTitle: "検索と置換",
|
|
2276
|
+
findPlaceholder: "検索…",
|
|
2277
|
+
searchAriaLabel: "検索テキスト",
|
|
2278
|
+
caseSensitive: "\xA0大文字/小文字を区別",
|
|
2279
|
+
prevBtn: "← 前へ",
|
|
2280
|
+
nextBtn: "次へ →",
|
|
2281
|
+
replacePlaceholder: "置換後…",
|
|
2282
|
+
replaceAriaLabel: "置換後のテキスト",
|
|
2283
|
+
replaceBtn: "置換",
|
|
2284
|
+
replaceAllBtn: "すべて置換",
|
|
2285
|
+
close: "×"
|
|
2286
|
+
},
|
|
2287
|
+
shortcutsDialog: {
|
|
2288
|
+
title: "キーボードショートカット",
|
|
2289
|
+
ariaLabel: "キーボードショートカット",
|
|
2290
|
+
close: "閉じる",
|
|
2291
|
+
shortcuts: [
|
|
2292
|
+
{
|
|
2293
|
+
category: "テキスト書式",
|
|
2294
|
+
items: [
|
|
2295
|
+
{
|
|
2296
|
+
keys: "Ctrl + B",
|
|
2297
|
+
action: "太字"
|
|
2298
|
+
},
|
|
2299
|
+
{
|
|
2300
|
+
keys: "Ctrl + I",
|
|
2301
|
+
action: "斜体"
|
|
2302
|
+
},
|
|
2303
|
+
{
|
|
2304
|
+
keys: "Ctrl + U",
|
|
2305
|
+
action: "下線"
|
|
2306
|
+
},
|
|
2307
|
+
{
|
|
2308
|
+
keys: "Ctrl + K",
|
|
2309
|
+
action: "リンクの挿入 / 編集"
|
|
2310
|
+
}
|
|
2311
|
+
]
|
|
2312
|
+
},
|
|
2313
|
+
{
|
|
2314
|
+
category: "履歴",
|
|
2315
|
+
items: [{
|
|
2316
|
+
keys: "Ctrl + Z",
|
|
2317
|
+
action: "元に戻す"
|
|
2318
|
+
}, {
|
|
2319
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
2320
|
+
action: "やり直す"
|
|
2321
|
+
}]
|
|
2322
|
+
},
|
|
2323
|
+
{
|
|
2324
|
+
category: "選択と移動",
|
|
2325
|
+
items: [
|
|
2326
|
+
{
|
|
2327
|
+
keys: "Ctrl + A",
|
|
2328
|
+
action: "すべて選択"
|
|
2329
|
+
},
|
|
2330
|
+
{
|
|
2331
|
+
keys: "Tab",
|
|
2332
|
+
action: "インデント増加 / スペース挿入"
|
|
2333
|
+
},
|
|
2334
|
+
{
|
|
2335
|
+
keys: "Shift + Tab",
|
|
2336
|
+
action: "インデント減少"
|
|
2337
|
+
}
|
|
2338
|
+
]
|
|
2339
|
+
},
|
|
2340
|
+
{
|
|
2341
|
+
category: "クリップボード",
|
|
2342
|
+
items: [{
|
|
2343
|
+
keys: "Ctrl + Shift + V",
|
|
2344
|
+
action: "プレーンテキストとして貼り付け"
|
|
2345
|
+
}]
|
|
2346
|
+
},
|
|
2347
|
+
{
|
|
2348
|
+
category: "検索と置換",
|
|
2349
|
+
items: [{
|
|
2350
|
+
keys: "Ctrl + F",
|
|
2351
|
+
action: "文書内を検索"
|
|
2352
|
+
}, {
|
|
2353
|
+
keys: "Ctrl + H",
|
|
2354
|
+
action: "検索と置換"
|
|
2355
|
+
}]
|
|
2356
|
+
},
|
|
2357
|
+
{
|
|
2358
|
+
category: "エディター",
|
|
2359
|
+
items: [{
|
|
2360
|
+
keys: "Ctrl + Shift + /",
|
|
2361
|
+
action: "ショートカットダイアログを表示"
|
|
2362
|
+
}]
|
|
2363
|
+
}
|
|
2364
|
+
]
|
|
2365
|
+
},
|
|
2366
|
+
contextMenu: {
|
|
2367
|
+
cut: "切り取り",
|
|
2368
|
+
copy: "コピー",
|
|
2369
|
+
paste: "貼り付け",
|
|
2370
|
+
bold: "太字",
|
|
2371
|
+
italic: "斜体",
|
|
2372
|
+
underline: "下線",
|
|
2373
|
+
textColor: "文字色",
|
|
2374
|
+
highlightColor: "ハイライト色",
|
|
2375
|
+
copyFormat: "書式をコピー",
|
|
2376
|
+
pasteFormat: "書式を貼り付け",
|
|
2377
|
+
removeFormat: "書式をリセット",
|
|
2378
|
+
link: "リンクを挿入",
|
|
2379
|
+
image: "画像を挿入",
|
|
2380
|
+
video: "動画を挿入",
|
|
2381
|
+
table: "テーブルを挿入",
|
|
2382
|
+
back: "戻る",
|
|
2383
|
+
noHighlight: "ハイライトなし",
|
|
2384
|
+
customColor: "カスタムカラー",
|
|
2385
|
+
customColorLabel: "カスタム…"
|
|
2386
|
+
},
|
|
2387
|
+
statusbar: {
|
|
2388
|
+
resizeHandle: "ドラッグしてリサイズ",
|
|
2389
|
+
words: (n) => `単語数: ${n}`,
|
|
2390
|
+
wordsLimit: (n, max) => `単語数: ${n}/${max}`,
|
|
2391
|
+
chars: (n) => `文字数: ${n}`,
|
|
2392
|
+
charsLimit: (n, max) => `文字数: ${n}/${max}`
|
|
2393
|
+
},
|
|
2394
|
+
tooltips: {
|
|
2395
|
+
link: {
|
|
2396
|
+
ariaLabel: "リンク操作",
|
|
2397
|
+
openLink: "リンクを開く",
|
|
2398
|
+
copyUrl: "URLをコピー",
|
|
2399
|
+
editLink: "リンクを編集",
|
|
2400
|
+
removeLink: "リンクを削除"
|
|
2401
|
+
},
|
|
2402
|
+
image: {
|
|
2403
|
+
ariaLabel: "画像操作",
|
|
2404
|
+
label: "画像",
|
|
2405
|
+
floatLeft: "左に回り込み",
|
|
2406
|
+
noFloat: "回り込みなし",
|
|
2407
|
+
alignCenter: "中央揃え",
|
|
2408
|
+
floatRight: "右に回り込み",
|
|
2409
|
+
originalSize: "元のサイズ",
|
|
2410
|
+
rotateLeft: "左に回転",
|
|
2411
|
+
rotateRight: "右に回転",
|
|
2412
|
+
cropImage: "画像をトリミング",
|
|
2413
|
+
addCaption: "キャプションを追加 / 編集",
|
|
2414
|
+
deleteImage: "画像を削除"
|
|
2415
|
+
},
|
|
2416
|
+
code: {
|
|
2417
|
+
ariaLabel: "コードブロック操作",
|
|
2418
|
+
label: "コード",
|
|
2419
|
+
syntaxLanguage: "言語",
|
|
2420
|
+
syntaxAriaLabel: "構文言語",
|
|
2421
|
+
copyCode: "コードをコピー",
|
|
2422
|
+
toggleWordWrap: "折り返しを切り替え",
|
|
2423
|
+
enableWordWrap: "折り返しを有効にする",
|
|
2424
|
+
disableWordWrap: "折り返しを無効にする",
|
|
2425
|
+
convertToParagraph: "段落に変換",
|
|
2426
|
+
deleteCodeBlock: "コードブロックを削除"
|
|
2427
|
+
},
|
|
2428
|
+
table: {
|
|
2429
|
+
ariaLabel: "テーブル操作",
|
|
2430
|
+
label: "テーブル",
|
|
2431
|
+
selectCells: "セルを選択",
|
|
2432
|
+
addRowAbove: "上に行を追加",
|
|
2433
|
+
addRowBelow: "下に行を追加",
|
|
2434
|
+
deleteRow: "行を削除",
|
|
2435
|
+
addColumnLeft: "左に列を追加",
|
|
2436
|
+
addColumnRight: "右に列を追加",
|
|
2437
|
+
deleteColumn: "列を削除",
|
|
2438
|
+
mergeCells: "セルを結合",
|
|
2439
|
+
unmergeCells: "セルの結合を解除",
|
|
2440
|
+
columnWidth: "列幅",
|
|
2441
|
+
rowHeight: "行の高さ",
|
|
2442
|
+
tableBorderWidth: "テーブルの枠幅",
|
|
2443
|
+
deleteTable: "テーブルを削除",
|
|
2444
|
+
columnWidthPx: "列幅 (px)",
|
|
2445
|
+
rowHeightPx: "行の高さ (px)",
|
|
2446
|
+
tableBorderWidthPx: "テーブルの枠幅 (px)",
|
|
2447
|
+
cancelBtn: "キャンセル",
|
|
2448
|
+
applyBtn: "適用"
|
|
2449
|
+
},
|
|
2450
|
+
video: {
|
|
2451
|
+
ariaLabel: "動画操作",
|
|
2452
|
+
label: "動画",
|
|
2453
|
+
floatLeft: "左に回り込み",
|
|
2454
|
+
noFloat: "回り込みなし",
|
|
2455
|
+
alignCenter: "中央揃え",
|
|
2456
|
+
floatRight: "右に回り込み",
|
|
2457
|
+
originalSize: "元のサイズ",
|
|
2458
|
+
previewVideo: "プレビュー",
|
|
2459
|
+
exitPreview: "プレビューを終了",
|
|
2460
|
+
deleteVideo: "動画を削除"
|
|
2461
|
+
}
|
|
2462
|
+
},
|
|
2463
|
+
errors: {
|
|
2464
|
+
imageFormat: (type) => `形式 "${type}" はブラウザでの表示をサポートしていません。JPEG、PNG、または WebP に変換してください。`,
|
|
2465
|
+
imageSize: (maxSize) => `画像ファイルが大きすぎます。最大許容サイズは ${maxSize} MB です。`
|
|
2466
|
+
}
|
|
2467
|
+
},
|
|
2468
|
+
zh: {
|
|
2469
|
+
toolbar: {
|
|
2470
|
+
bold: "粗体 (Ctrl+B)",
|
|
2471
|
+
italic: "斜体 (Ctrl+I)",
|
|
2472
|
+
underline: "下划线 (Ctrl+U)",
|
|
2473
|
+
strikethrough: "删除线",
|
|
2474
|
+
superscript: "上标",
|
|
2475
|
+
subscript: "下标",
|
|
2476
|
+
alignLeft: "左对齐",
|
|
2477
|
+
alignCenter: "居中",
|
|
2478
|
+
alignRight: "右对齐",
|
|
2479
|
+
alignJustify: "两端对齐",
|
|
2480
|
+
ul: "无序列表",
|
|
2481
|
+
ol: "有序列表",
|
|
2482
|
+
checklist: "待办列表",
|
|
2483
|
+
indent: "增加缩进",
|
|
2484
|
+
outdent: "减少缩进",
|
|
2485
|
+
undo: "撤销 (Ctrl+Z)",
|
|
2486
|
+
redo: "重做 (Ctrl+Y)",
|
|
2487
|
+
hr: "水平分割线",
|
|
2488
|
+
link: "插入链接",
|
|
2489
|
+
image: "插入图片",
|
|
2490
|
+
video: "插入视频",
|
|
2491
|
+
emoji: "插入表情",
|
|
2492
|
+
icon: "插入 FA 图标",
|
|
2493
|
+
table: "插入表格",
|
|
2494
|
+
fontSize: "字号",
|
|
2495
|
+
fontSizePlaceholder: "大小",
|
|
2496
|
+
removeFormat: "清除格式",
|
|
2497
|
+
direction: "切换文字方向 (LTR / RTL)",
|
|
2498
|
+
fontFamily: "字体",
|
|
2499
|
+
paragraphStyle: "段落样式",
|
|
2500
|
+
paragraphStylePlaceholder: "样式",
|
|
2501
|
+
lineHeight: "行高",
|
|
2502
|
+
lineHeightPlaceholder: "↕ 行距",
|
|
2503
|
+
codeview: "查看 HTML 源码",
|
|
2504
|
+
fullscreen: "全屏",
|
|
2505
|
+
shortcuts: "键盘快捷键 (Ctrl+Shift+/)",
|
|
2506
|
+
find: "搜索 (Ctrl+F)",
|
|
2507
|
+
findReplace: "查找和替换 (Ctrl+H)",
|
|
2508
|
+
inlineCode: "行内代码 (Ctrl+`)",
|
|
2509
|
+
print: "打印",
|
|
2510
|
+
foreColor: "文字颜色",
|
|
2511
|
+
backColor: "高亮颜色",
|
|
2512
|
+
chooseTextColor: "选择文字颜色",
|
|
2513
|
+
chooseHighlightColor: "选择高亮颜色",
|
|
2514
|
+
customColor: "自定义颜色",
|
|
2515
|
+
insertTableLabel: "插入表格",
|
|
2516
|
+
paragraphItems: {
|
|
2517
|
+
p: "正文",
|
|
2518
|
+
blockquote: "引用",
|
|
2519
|
+
pre: "代码"
|
|
2520
|
+
}
|
|
2521
|
+
},
|
|
2522
|
+
linkDialog: {
|
|
2523
|
+
ariaLabel: "插入链接",
|
|
2524
|
+
title: "插入链接",
|
|
2525
|
+
url: "链接地址",
|
|
2526
|
+
urlPlaceholder: "https://",
|
|
2527
|
+
displayText: "显示文字",
|
|
2528
|
+
textPlaceholder: "链接文字",
|
|
2529
|
+
openInNewTab: "在新标签页中打开",
|
|
2530
|
+
insertBtn: "插入",
|
|
2531
|
+
cancelBtn: "取消"
|
|
2532
|
+
},
|
|
2533
|
+
imageDialog: {
|
|
2534
|
+
ariaLabel: "插入图片",
|
|
2535
|
+
title: "插入图片",
|
|
2536
|
+
imageUrl: "图片地址",
|
|
2537
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
2538
|
+
altText: "替代文字",
|
|
2539
|
+
altPlaceholder: "图片描述",
|
|
2540
|
+
alignment: "对齐方式",
|
|
2541
|
+
alignNone: "无",
|
|
2542
|
+
alignLeft: "左",
|
|
2543
|
+
alignCenter: "居中",
|
|
2544
|
+
alignRight: "右",
|
|
2545
|
+
uploadLabel: "或上传文件",
|
|
2546
|
+
insertBtn: "插入",
|
|
2547
|
+
cancelBtn: "取消"
|
|
2548
|
+
},
|
|
2549
|
+
videoDialog: {
|
|
2550
|
+
ariaLabel: "插入视频",
|
|
2551
|
+
title: "插入视频",
|
|
2552
|
+
videoUrl: "视频地址",
|
|
2553
|
+
urlPlaceholder: "YouTube、Vimeo 或直接 .mp4 链接",
|
|
2554
|
+
widthLabel: "宽度 (px)",
|
|
2555
|
+
widthPlaceholder: "560",
|
|
2556
|
+
insertBtn: "插入",
|
|
2557
|
+
cancelBtn: "取消",
|
|
2558
|
+
detected: (type) => `已识别: ${type}`,
|
|
2559
|
+
unknownFormat: "未知格式 — 将尝试直接嵌入视频",
|
|
2560
|
+
invalidUrl: "URL 无效 — 请输入有效的视频链接。"
|
|
2561
|
+
},
|
|
2562
|
+
emojiDialog: {
|
|
2563
|
+
ariaLabel: "插入表情",
|
|
2564
|
+
title: "插入表情",
|
|
2565
|
+
searchPlaceholder: "搜索表情…",
|
|
2566
|
+
all: "全部",
|
|
2567
|
+
cancelBtn: "取消",
|
|
2568
|
+
close: "关闭",
|
|
2569
|
+
categories: {
|
|
2570
|
+
smileys: "笑脸",
|
|
2571
|
+
people: "人物",
|
|
2572
|
+
animals: "动物",
|
|
2573
|
+
food: "食物",
|
|
2574
|
+
travel: "旅行",
|
|
2575
|
+
objects: "物品",
|
|
2576
|
+
symbols: "符号"
|
|
2577
|
+
}
|
|
2578
|
+
},
|
|
2579
|
+
iconDialog: {
|
|
2580
|
+
ariaLabel: "插入 FA 图标",
|
|
2581
|
+
title: "插入 FA 图标",
|
|
2582
|
+
searchPlaceholder: "搜索图标…",
|
|
2583
|
+
all: "全部",
|
|
2584
|
+
style: "样式",
|
|
2585
|
+
size: "大小",
|
|
2586
|
+
color: "颜色",
|
|
2587
|
+
useColor: " 使用颜色",
|
|
2588
|
+
selectHint: "请选择一个图标",
|
|
2589
|
+
insertBtn: "插入 FA 图标",
|
|
2590
|
+
cancelBtn: "取消",
|
|
2591
|
+
close: "关闭",
|
|
2592
|
+
categories: {
|
|
2593
|
+
popular: "热门",
|
|
2594
|
+
interface: "界面",
|
|
2595
|
+
navigation: "导航",
|
|
2596
|
+
media: "媒体",
|
|
2597
|
+
communication: "通讯",
|
|
2598
|
+
files: "文件",
|
|
2599
|
+
people: "人物",
|
|
2600
|
+
objects: "物品"
|
|
2601
|
+
}
|
|
2602
|
+
},
|
|
2603
|
+
findReplace: {
|
|
2604
|
+
findTitle: "搜索",
|
|
2605
|
+
findReplaceTitle: "查找和替换",
|
|
2606
|
+
findPlaceholder: "查找…",
|
|
2607
|
+
searchAriaLabel: "搜索文字",
|
|
2608
|
+
caseSensitive: "\xA0区分大小写",
|
|
2609
|
+
prevBtn: "← 上一个",
|
|
2610
|
+
nextBtn: "下一个 →",
|
|
2611
|
+
replacePlaceholder: "替换为…",
|
|
2612
|
+
replaceAriaLabel: "替换为",
|
|
2613
|
+
replaceBtn: "替换",
|
|
2614
|
+
replaceAllBtn: "全部替换",
|
|
2615
|
+
close: "×"
|
|
2616
|
+
},
|
|
2617
|
+
shortcutsDialog: {
|
|
2618
|
+
title: "键盘快捷键",
|
|
2619
|
+
ariaLabel: "键盘快捷键",
|
|
2620
|
+
close: "关闭",
|
|
2621
|
+
shortcuts: [
|
|
2622
|
+
{
|
|
2623
|
+
category: "文字格式",
|
|
2624
|
+
items: [
|
|
2625
|
+
{
|
|
2626
|
+
keys: "Ctrl + B",
|
|
2627
|
+
action: "粗体"
|
|
2628
|
+
},
|
|
2629
|
+
{
|
|
2630
|
+
keys: "Ctrl + I",
|
|
2631
|
+
action: "斜体"
|
|
2632
|
+
},
|
|
2633
|
+
{
|
|
2634
|
+
keys: "Ctrl + U",
|
|
2635
|
+
action: "下划线"
|
|
2636
|
+
},
|
|
2637
|
+
{
|
|
2638
|
+
keys: "Ctrl + K",
|
|
2639
|
+
action: "插入 / 编辑链接"
|
|
2640
|
+
}
|
|
2641
|
+
]
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
category: "历史记录",
|
|
2645
|
+
items: [{
|
|
2646
|
+
keys: "Ctrl + Z",
|
|
2647
|
+
action: "撤销"
|
|
2648
|
+
}, {
|
|
2649
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
2650
|
+
action: "重做"
|
|
2651
|
+
}]
|
|
2652
|
+
},
|
|
2653
|
+
{
|
|
2654
|
+
category: "选择与导航",
|
|
2655
|
+
items: [
|
|
2656
|
+
{
|
|
2657
|
+
keys: "Ctrl + A",
|
|
2658
|
+
action: "全选"
|
|
2659
|
+
},
|
|
2660
|
+
{
|
|
2661
|
+
keys: "Tab",
|
|
2662
|
+
action: "增加缩进 / 插入空格"
|
|
2663
|
+
},
|
|
2664
|
+
{
|
|
2665
|
+
keys: "Shift + Tab",
|
|
2666
|
+
action: "减少缩进"
|
|
2667
|
+
}
|
|
2668
|
+
]
|
|
2669
|
+
},
|
|
2670
|
+
{
|
|
2671
|
+
category: "剪贴板",
|
|
2672
|
+
items: [{
|
|
2673
|
+
keys: "Ctrl + Shift + V",
|
|
2674
|
+
action: "粘贴为纯文本"
|
|
2675
|
+
}]
|
|
2676
|
+
},
|
|
2677
|
+
{
|
|
2678
|
+
category: "查找和替换",
|
|
2679
|
+
items: [{
|
|
2680
|
+
keys: "Ctrl + F",
|
|
2681
|
+
action: "在文档中搜索"
|
|
2682
|
+
}, {
|
|
2683
|
+
keys: "Ctrl + H",
|
|
2684
|
+
action: "查找和替换"
|
|
2685
|
+
}]
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
category: "编辑器",
|
|
2689
|
+
items: [{
|
|
2690
|
+
keys: "Ctrl + Shift + /",
|
|
2691
|
+
action: "显示快捷键对话框"
|
|
2692
|
+
}]
|
|
2693
|
+
}
|
|
2694
|
+
]
|
|
2695
|
+
},
|
|
2696
|
+
contextMenu: {
|
|
2697
|
+
cut: "剪切",
|
|
2698
|
+
copy: "复制",
|
|
2699
|
+
paste: "粘贴",
|
|
2700
|
+
bold: "粗体",
|
|
2701
|
+
italic: "斜体",
|
|
2702
|
+
underline: "下划线",
|
|
2703
|
+
textColor: "文字颜色",
|
|
2704
|
+
highlightColor: "高亮颜色",
|
|
2705
|
+
copyFormat: "复制格式",
|
|
2706
|
+
pasteFormat: "粘贴格式",
|
|
2707
|
+
removeFormat: "清除格式",
|
|
2708
|
+
link: "插入链接",
|
|
2709
|
+
image: "插入图片",
|
|
2710
|
+
video: "插入视频",
|
|
2711
|
+
table: "插入表格",
|
|
2712
|
+
back: "返回",
|
|
2713
|
+
noHighlight: "无高亮",
|
|
2714
|
+
customColor: "自定义颜色",
|
|
2715
|
+
customColorLabel: "自定义…"
|
|
2716
|
+
},
|
|
2717
|
+
statusbar: {
|
|
2718
|
+
resizeHandle: "拖动以调整大小",
|
|
2719
|
+
words: (n) => `字数: ${n}`,
|
|
2720
|
+
wordsLimit: (n, max) => `字数: ${n}/${max}`,
|
|
2721
|
+
chars: (n) => `字符数: ${n}`,
|
|
2722
|
+
charsLimit: (n, max) => `字符数: ${n}/${max}`
|
|
2723
|
+
},
|
|
2724
|
+
tooltips: {
|
|
2725
|
+
link: {
|
|
2726
|
+
ariaLabel: "链接操作",
|
|
2727
|
+
openLink: "打开链接",
|
|
2728
|
+
copyUrl: "复制 URL",
|
|
2729
|
+
editLink: "编辑链接",
|
|
2730
|
+
removeLink: "删除链接"
|
|
2731
|
+
},
|
|
2732
|
+
image: {
|
|
2733
|
+
ariaLabel: "图片操作",
|
|
2734
|
+
label: "图片",
|
|
2735
|
+
floatLeft: "左浮动",
|
|
2736
|
+
noFloat: "不浮动",
|
|
2737
|
+
alignCenter: "居中对齐",
|
|
2738
|
+
floatRight: "右浮动",
|
|
2739
|
+
originalSize: "原始尺寸",
|
|
2740
|
+
rotateLeft: "向左旋转",
|
|
2741
|
+
rotateRight: "向右旋转",
|
|
2742
|
+
cropImage: "裁剪图片",
|
|
2743
|
+
addCaption: "添加 / 编辑说明",
|
|
2744
|
+
deleteImage: "删除图片"
|
|
2745
|
+
},
|
|
2746
|
+
code: {
|
|
2747
|
+
ariaLabel: "代码块操作",
|
|
2748
|
+
label: "代码",
|
|
2749
|
+
syntaxLanguage: "语法语言",
|
|
2750
|
+
syntaxAriaLabel: "语法语言",
|
|
2751
|
+
copyCode: "复制代码",
|
|
2752
|
+
toggleWordWrap: "切换自动换行",
|
|
2753
|
+
enableWordWrap: "启用自动换行",
|
|
2754
|
+
disableWordWrap: "禁用自动换行",
|
|
2755
|
+
convertToParagraph: "转换为段落",
|
|
2756
|
+
deleteCodeBlock: "删除代码块"
|
|
2757
|
+
},
|
|
2758
|
+
table: {
|
|
2759
|
+
ariaLabel: "表格操作",
|
|
2760
|
+
label: "表格",
|
|
2761
|
+
selectCells: "选择单元格",
|
|
2762
|
+
addRowAbove: "在上方插入行",
|
|
2763
|
+
addRowBelow: "在下方插入行",
|
|
2764
|
+
deleteRow: "删除行",
|
|
2765
|
+
addColumnLeft: "在左侧插入列",
|
|
2766
|
+
addColumnRight: "在右侧插入列",
|
|
2767
|
+
deleteColumn: "删除列",
|
|
2768
|
+
mergeCells: "合并单元格",
|
|
2769
|
+
unmergeCells: "拆分单元格",
|
|
2770
|
+
columnWidth: "列宽",
|
|
2771
|
+
rowHeight: "行高",
|
|
2772
|
+
tableBorderWidth: "表格边框宽度",
|
|
2773
|
+
deleteTable: "删除表格",
|
|
2774
|
+
columnWidthPx: "列宽 (px)",
|
|
2775
|
+
rowHeightPx: "行高 (px)",
|
|
2776
|
+
tableBorderWidthPx: "表格边框宽度 (px)",
|
|
2777
|
+
cancelBtn: "取消",
|
|
2778
|
+
applyBtn: "应用"
|
|
2779
|
+
},
|
|
2780
|
+
video: {
|
|
2781
|
+
ariaLabel: "视频操作",
|
|
2782
|
+
label: "视频",
|
|
2783
|
+
floatLeft: "左浮动",
|
|
2784
|
+
noFloat: "不浮动",
|
|
2785
|
+
alignCenter: "居中对齐",
|
|
2786
|
+
floatRight: "右浮动",
|
|
2787
|
+
originalSize: "原始尺寸",
|
|
2788
|
+
previewVideo: "预览视频",
|
|
2789
|
+
exitPreview: "退出预览",
|
|
2790
|
+
deleteVideo: "删除视频"
|
|
2791
|
+
}
|
|
2792
|
+
},
|
|
2793
|
+
errors: {
|
|
2794
|
+
imageFormat: (type) => `格式 "${type}" 不支持在浏览器中显示。请转换为 JPEG、PNG 或 WebP。`,
|
|
2795
|
+
imageSize: (maxSize) => `图片文件过大。最大允许大小为 ${maxSize} MB。`
|
|
2796
|
+
}
|
|
2797
|
+
},
|
|
2798
|
+
fr: {
|
|
2799
|
+
toolbar: {
|
|
2800
|
+
bold: "Gras (Ctrl+B)",
|
|
2801
|
+
italic: "Italique (Ctrl+I)",
|
|
2802
|
+
underline: "Souligné (Ctrl+U)",
|
|
2803
|
+
strikethrough: "Barré",
|
|
2804
|
+
superscript: "Exposant",
|
|
2805
|
+
subscript: "Indice",
|
|
2806
|
+
alignLeft: "Aligner à gauche",
|
|
2807
|
+
alignCenter: "Centrer",
|
|
2808
|
+
alignRight: "Aligner à droite",
|
|
2809
|
+
alignJustify: "Justifier",
|
|
2810
|
+
ul: "Liste à puces",
|
|
2811
|
+
ol: "Liste numérotée",
|
|
2812
|
+
checklist: "Liste de tâches",
|
|
2813
|
+
indent: "Augmenter le retrait",
|
|
2814
|
+
outdent: "Diminuer le retrait",
|
|
2815
|
+
undo: "Annuler (Ctrl+Z)",
|
|
2816
|
+
redo: "Rétablir (Ctrl+Y)",
|
|
2817
|
+
hr: "Ligne horizontale",
|
|
2818
|
+
link: "Insérer un lien",
|
|
2819
|
+
image: "Insérer une image",
|
|
2820
|
+
video: "Insérer une vidéo",
|
|
2821
|
+
emoji: "Insérer un emoji",
|
|
2822
|
+
icon: "Insérer une icône FA",
|
|
2823
|
+
table: "Insérer un tableau",
|
|
2824
|
+
fontSize: "Taille de police",
|
|
2825
|
+
fontSizePlaceholder: "Taille",
|
|
2826
|
+
removeFormat: "Effacer la mise en forme",
|
|
2827
|
+
direction: "Basculer la direction du texte (LTR / RTL)",
|
|
2828
|
+
fontFamily: "Police",
|
|
2829
|
+
paragraphStyle: "Style de paragraphe",
|
|
2830
|
+
paragraphStylePlaceholder: "Style",
|
|
2831
|
+
lineHeight: "Interligne",
|
|
2832
|
+
lineHeightPlaceholder: "↕ Ligne",
|
|
2833
|
+
codeview: "Afficher le code HTML",
|
|
2834
|
+
fullscreen: "Plein écran",
|
|
2835
|
+
shortcuts: "Raccourcis clavier (Ctrl+Shift+/)",
|
|
2836
|
+
find: "Rechercher (Ctrl+F)",
|
|
2837
|
+
findReplace: "Rechercher et remplacer (Ctrl+H)",
|
|
2838
|
+
inlineCode: "Code inline (Ctrl+`)",
|
|
2839
|
+
print: "Imprimer",
|
|
2840
|
+
foreColor: "Couleur du texte",
|
|
2841
|
+
backColor: "Couleur de surbrillance",
|
|
2842
|
+
chooseTextColor: "Choisir la couleur du texte",
|
|
2843
|
+
chooseHighlightColor: "Choisir la couleur de surbrillance",
|
|
2844
|
+
customColor: "Couleur personnalisée",
|
|
2845
|
+
insertTableLabel: "Insérer un tableau",
|
|
2846
|
+
paragraphItems: {
|
|
2847
|
+
p: "Normal",
|
|
2848
|
+
blockquote: "Citation",
|
|
2849
|
+
pre: "Code"
|
|
2850
|
+
}
|
|
2851
|
+
},
|
|
2852
|
+
linkDialog: {
|
|
2853
|
+
ariaLabel: "Insérer un lien",
|
|
2854
|
+
title: "Insérer un lien",
|
|
2855
|
+
url: "URL",
|
|
2856
|
+
urlPlaceholder: "https://",
|
|
2857
|
+
displayText: "Texte affiché",
|
|
2858
|
+
textPlaceholder: "Texte du lien",
|
|
2859
|
+
openInNewTab: "Ouvrir dans un nouvel onglet",
|
|
2860
|
+
insertBtn: "Insérer",
|
|
2861
|
+
cancelBtn: "Annuler"
|
|
2862
|
+
},
|
|
2863
|
+
imageDialog: {
|
|
2864
|
+
ariaLabel: "Insérer une image",
|
|
2865
|
+
title: "Insérer une image",
|
|
2866
|
+
imageUrl: "URL de l'image",
|
|
2867
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
2868
|
+
altText: "Texte alternatif",
|
|
2869
|
+
altPlaceholder: "Description de l'image",
|
|
2870
|
+
alignment: "Alignement",
|
|
2871
|
+
alignNone: "Aucun",
|
|
2872
|
+
alignLeft: "Gauche",
|
|
2873
|
+
alignCenter: "Centre",
|
|
2874
|
+
alignRight: "Droite",
|
|
2875
|
+
uploadLabel: "Ou téléverser un fichier",
|
|
2876
|
+
insertBtn: "Insérer",
|
|
2877
|
+
cancelBtn: "Annuler"
|
|
2878
|
+
},
|
|
2879
|
+
videoDialog: {
|
|
2880
|
+
ariaLabel: "Insérer une vidéo",
|
|
2881
|
+
title: "Insérer une vidéo",
|
|
2882
|
+
videoUrl: "URL de la vidéo",
|
|
2883
|
+
urlPlaceholder: "YouTube, Vimeo ou URL .mp4 directe",
|
|
2884
|
+
widthLabel: "Largeur (px)",
|
|
2885
|
+
widthPlaceholder: "560",
|
|
2886
|
+
insertBtn: "Insérer",
|
|
2887
|
+
cancelBtn: "Annuler",
|
|
2888
|
+
detected: (type) => `Détecté\u00a0: ${type}`,
|
|
2889
|
+
unknownFormat: "Format inconnu — tentative d'intégration directe",
|
|
2890
|
+
invalidUrl: "URL invalide — veuillez saisir un lien vidéo valide."
|
|
2891
|
+
},
|
|
2892
|
+
emojiDialog: {
|
|
2893
|
+
ariaLabel: "Insérer un emoji",
|
|
2894
|
+
title: "Insérer un emoji",
|
|
2895
|
+
searchPlaceholder: "Rechercher des emojis…",
|
|
2896
|
+
all: "Tout",
|
|
2897
|
+
cancelBtn: "Annuler",
|
|
2898
|
+
close: "Fermer",
|
|
2899
|
+
categories: {
|
|
2900
|
+
smileys: "Smileys",
|
|
2901
|
+
people: "Personnes",
|
|
2902
|
+
animals: "Animaux",
|
|
2903
|
+
food: "Nourriture",
|
|
2904
|
+
travel: "Voyage",
|
|
2905
|
+
objects: "Objets",
|
|
2906
|
+
symbols: "Symboles"
|
|
2907
|
+
}
|
|
2908
|
+
},
|
|
2909
|
+
iconDialog: {
|
|
2910
|
+
ariaLabel: "Insérer une icône FA",
|
|
2911
|
+
title: "Insérer une icône FA",
|
|
2912
|
+
searchPlaceholder: "Rechercher des icônes…",
|
|
2913
|
+
all: "Tout",
|
|
2914
|
+
style: "Style",
|
|
2915
|
+
size: "Taille",
|
|
2916
|
+
color: "Couleur",
|
|
2917
|
+
useColor: " Utiliser la couleur",
|
|
2918
|
+
selectHint: "Sélectionner une icône",
|
|
2919
|
+
insertBtn: "Insérer une icône FA",
|
|
2920
|
+
cancelBtn: "Annuler",
|
|
2921
|
+
close: "Fermer",
|
|
2922
|
+
categories: {
|
|
2923
|
+
popular: "Populaire",
|
|
2924
|
+
interface: "Interface",
|
|
2925
|
+
navigation: "Navigation",
|
|
2926
|
+
media: "Média",
|
|
2927
|
+
communication: "Communication",
|
|
2928
|
+
files: "Fichiers",
|
|
2929
|
+
people: "Personnes",
|
|
2930
|
+
objects: "Objets"
|
|
2931
|
+
}
|
|
2932
|
+
},
|
|
2933
|
+
findReplace: {
|
|
2934
|
+
findTitle: "Rechercher",
|
|
2935
|
+
findReplaceTitle: "Rechercher et remplacer",
|
|
2936
|
+
findPlaceholder: "Rechercher…",
|
|
2937
|
+
searchAriaLabel: "Texte à rechercher",
|
|
2938
|
+
caseSensitive: "\xA0Respecter la casse",
|
|
2939
|
+
prevBtn: "← Préc.",
|
|
2940
|
+
nextBtn: "Suiv. →",
|
|
2941
|
+
replacePlaceholder: "Remplacer par…",
|
|
2942
|
+
replaceAriaLabel: "Remplacer par",
|
|
2943
|
+
replaceBtn: "Remplacer",
|
|
2944
|
+
replaceAllBtn: "Tout remplacer",
|
|
2945
|
+
close: "×"
|
|
2946
|
+
},
|
|
2947
|
+
shortcutsDialog: {
|
|
2948
|
+
title: "Raccourcis clavier",
|
|
2949
|
+
ariaLabel: "Raccourcis clavier",
|
|
2950
|
+
close: "Fermer",
|
|
2951
|
+
shortcuts: [
|
|
2952
|
+
{
|
|
2953
|
+
category: "Mise en forme du texte",
|
|
2954
|
+
items: [
|
|
2955
|
+
{
|
|
2956
|
+
keys: "Ctrl + B",
|
|
2957
|
+
action: "Gras"
|
|
2958
|
+
},
|
|
2959
|
+
{
|
|
2960
|
+
keys: "Ctrl + I",
|
|
2961
|
+
action: "Italique"
|
|
2962
|
+
},
|
|
2963
|
+
{
|
|
2964
|
+
keys: "Ctrl + U",
|
|
2965
|
+
action: "Souligné"
|
|
2966
|
+
},
|
|
2967
|
+
{
|
|
2968
|
+
keys: "Ctrl + K",
|
|
2969
|
+
action: "Insérer / modifier un lien"
|
|
2970
|
+
}
|
|
2971
|
+
]
|
|
2972
|
+
},
|
|
2973
|
+
{
|
|
2974
|
+
category: "Historique",
|
|
2975
|
+
items: [{
|
|
2976
|
+
keys: "Ctrl + Z",
|
|
2977
|
+
action: "Annuler"
|
|
2978
|
+
}, {
|
|
2979
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
2980
|
+
action: "Rétablir"
|
|
2981
|
+
}]
|
|
2982
|
+
},
|
|
2983
|
+
{
|
|
2984
|
+
category: "Sélection et navigation",
|
|
2985
|
+
items: [
|
|
2986
|
+
{
|
|
2987
|
+
keys: "Ctrl + A",
|
|
2988
|
+
action: "Tout sélectionner"
|
|
2989
|
+
},
|
|
2990
|
+
{
|
|
2991
|
+
keys: "Tab",
|
|
2992
|
+
action: "Augmenter le retrait / insérer des espaces"
|
|
2993
|
+
},
|
|
2994
|
+
{
|
|
2995
|
+
keys: "Shift + Tab",
|
|
2996
|
+
action: "Diminuer le retrait"
|
|
2997
|
+
}
|
|
2998
|
+
]
|
|
2999
|
+
},
|
|
3000
|
+
{
|
|
3001
|
+
category: "Presse-papiers",
|
|
3002
|
+
items: [{
|
|
3003
|
+
keys: "Ctrl + Shift + V",
|
|
3004
|
+
action: "Coller en texte brut"
|
|
3005
|
+
}]
|
|
3006
|
+
},
|
|
3007
|
+
{
|
|
3008
|
+
category: "Rechercher et remplacer",
|
|
3009
|
+
items: [{
|
|
3010
|
+
keys: "Ctrl + F",
|
|
3011
|
+
action: "Rechercher dans le document"
|
|
3012
|
+
}, {
|
|
3013
|
+
keys: "Ctrl + H",
|
|
3014
|
+
action: "Rechercher et remplacer"
|
|
3015
|
+
}]
|
|
3016
|
+
},
|
|
3017
|
+
{
|
|
3018
|
+
category: "Éditeur",
|
|
3019
|
+
items: [{
|
|
3020
|
+
keys: "Ctrl + Shift + /",
|
|
3021
|
+
action: "Afficher les raccourcis clavier"
|
|
3022
|
+
}]
|
|
3023
|
+
}
|
|
3024
|
+
]
|
|
3025
|
+
},
|
|
3026
|
+
contextMenu: {
|
|
3027
|
+
cut: "Couper",
|
|
3028
|
+
copy: "Copier",
|
|
3029
|
+
paste: "Coller",
|
|
3030
|
+
bold: "Gras",
|
|
3031
|
+
italic: "Italique",
|
|
3032
|
+
underline: "Souligné",
|
|
3033
|
+
textColor: "Couleur du texte",
|
|
3034
|
+
highlightColor: "Couleur de surbrillance",
|
|
3035
|
+
copyFormat: "Copier la mise en forme",
|
|
3036
|
+
pasteFormat: "Coller la mise en forme",
|
|
3037
|
+
removeFormat: "Effacer la mise en forme",
|
|
3038
|
+
link: "Insérer un lien",
|
|
3039
|
+
image: "Insérer une image",
|
|
3040
|
+
video: "Insérer une vidéo",
|
|
3041
|
+
table: "Insérer un tableau",
|
|
3042
|
+
back: "Retour",
|
|
3043
|
+
noHighlight: "Sans surbrillance",
|
|
3044
|
+
customColor: "Couleur personnalisée",
|
|
3045
|
+
customColorLabel: "Personnaliser…"
|
|
3046
|
+
},
|
|
3047
|
+
statusbar: {
|
|
3048
|
+
resizeHandle: "Faire glisser pour redimensionner",
|
|
3049
|
+
words: (n) => `Mots\u00a0: ${n}`,
|
|
3050
|
+
wordsLimit: (n, max) => `Mots\u00a0: ${n}/${max}`,
|
|
3051
|
+
chars: (n) => `Caractères\u00a0: ${n}`,
|
|
3052
|
+
charsLimit: (n, max) => `Caractères\u00a0: ${n}/${max}`
|
|
3053
|
+
},
|
|
3054
|
+
tooltips: {
|
|
3055
|
+
link: {
|
|
3056
|
+
ariaLabel: "Actions du lien",
|
|
3057
|
+
openLink: "Ouvrir le lien",
|
|
3058
|
+
copyUrl: "Copier l'URL",
|
|
3059
|
+
editLink: "Modifier le lien",
|
|
3060
|
+
removeLink: "Supprimer le lien"
|
|
3061
|
+
},
|
|
3062
|
+
image: {
|
|
3063
|
+
ariaLabel: "Actions de l'image",
|
|
3064
|
+
label: "Image",
|
|
3065
|
+
floatLeft: "Flottant à gauche",
|
|
3066
|
+
noFloat: "Sans flottant",
|
|
3067
|
+
alignCenter: "Centré",
|
|
3068
|
+
floatRight: "Flottant à droite",
|
|
3069
|
+
originalSize: "Taille originale",
|
|
3070
|
+
rotateLeft: "Rotation à gauche",
|
|
3071
|
+
rotateRight: "Rotation à droite",
|
|
3072
|
+
cropImage: "Recadrer l'image",
|
|
3073
|
+
addCaption: "Ajouter / modifier la légende",
|
|
3074
|
+
deleteImage: "Supprimer l'image"
|
|
3075
|
+
},
|
|
3076
|
+
code: {
|
|
3077
|
+
ariaLabel: "Actions du bloc de code",
|
|
3078
|
+
label: "Code",
|
|
3079
|
+
syntaxLanguage: "Langage de syntaxe",
|
|
3080
|
+
syntaxAriaLabel: "Langage de syntaxe",
|
|
3081
|
+
copyCode: "Copier le code",
|
|
3082
|
+
toggleWordWrap: "Activer/désactiver le retour à la ligne",
|
|
3083
|
+
enableWordWrap: "Activer le retour à la ligne",
|
|
3084
|
+
disableWordWrap: "Désactiver le retour à la ligne",
|
|
3085
|
+
convertToParagraph: "Convertir en paragraphe",
|
|
3086
|
+
deleteCodeBlock: "Supprimer le bloc de code"
|
|
3087
|
+
},
|
|
3088
|
+
table: {
|
|
3089
|
+
ariaLabel: "Actions du tableau",
|
|
3090
|
+
label: "Tableau",
|
|
3091
|
+
selectCells: "Sélectionner des cellules",
|
|
3092
|
+
addRowAbove: "Ajouter une ligne au-dessus",
|
|
3093
|
+
addRowBelow: "Ajouter une ligne en-dessous",
|
|
3094
|
+
deleteRow: "Supprimer la ligne",
|
|
3095
|
+
addColumnLeft: "Ajouter une colonne à gauche",
|
|
3096
|
+
addColumnRight: "Ajouter une colonne à droite",
|
|
3097
|
+
deleteColumn: "Supprimer la colonne",
|
|
3098
|
+
mergeCells: "Fusionner les cellules",
|
|
3099
|
+
unmergeCells: "Scinder les cellules",
|
|
3100
|
+
columnWidth: "Largeur de colonne",
|
|
3101
|
+
rowHeight: "Hauteur de ligne",
|
|
3102
|
+
tableBorderWidth: "Épaisseur des bordures",
|
|
3103
|
+
deleteTable: "Supprimer le tableau",
|
|
3104
|
+
columnWidthPx: "Largeur de colonne (px)",
|
|
3105
|
+
rowHeightPx: "Hauteur de ligne (px)",
|
|
3106
|
+
tableBorderWidthPx: "Épaisseur des bordures (px)",
|
|
3107
|
+
cancelBtn: "Annuler",
|
|
3108
|
+
applyBtn: "Appliquer"
|
|
3109
|
+
},
|
|
3110
|
+
video: {
|
|
3111
|
+
ariaLabel: "Actions de la vidéo",
|
|
3112
|
+
label: "Vidéo",
|
|
3113
|
+
floatLeft: "Flottant à gauche",
|
|
3114
|
+
noFloat: "Sans flottant",
|
|
3115
|
+
alignCenter: "Centré",
|
|
3116
|
+
floatRight: "Flottant à droite",
|
|
3117
|
+
originalSize: "Taille originale",
|
|
3118
|
+
previewVideo: "Aperçu",
|
|
3119
|
+
exitPreview: "Quitter l'aperçu",
|
|
3120
|
+
deleteVideo: "Supprimer la vidéo"
|
|
3121
|
+
}
|
|
3122
|
+
},
|
|
3123
|
+
errors: {
|
|
3124
|
+
imageFormat: (type) => `Le format "${type}" n'est pas pris en charge par le navigateur. Veuillez le convertir en JPEG, PNG ou WebP.`,
|
|
3125
|
+
imageSize: (maxSize) => `Le fichier image est trop volumineux. La taille maximale autorisée est de ${maxSize}\u00a0Mo.`
|
|
3126
|
+
}
|
|
3127
|
+
},
|
|
3128
|
+
de: {
|
|
3129
|
+
toolbar: {
|
|
3130
|
+
bold: "Fett (Ctrl+B)",
|
|
3131
|
+
italic: "Kursiv (Ctrl+I)",
|
|
3132
|
+
underline: "Unterstrichen (Ctrl+U)",
|
|
3133
|
+
strikethrough: "Durchgestrichen",
|
|
3134
|
+
superscript: "Hochgestellt",
|
|
3135
|
+
subscript: "Tiefgestellt",
|
|
3136
|
+
alignLeft: "Linksbündig",
|
|
3137
|
+
alignCenter: "Zentriert",
|
|
3138
|
+
alignRight: "Rechtsbündig",
|
|
3139
|
+
alignJustify: "Blocksatz",
|
|
3140
|
+
ul: "Ungeordnete Liste",
|
|
3141
|
+
ol: "Geordnete Liste",
|
|
3142
|
+
checklist: "Checkliste",
|
|
3143
|
+
indent: "Einzug vergrößern",
|
|
3144
|
+
outdent: "Einzug verkleinern",
|
|
3145
|
+
undo: "Rückgängig (Ctrl+Z)",
|
|
3146
|
+
redo: "Wiederholen (Ctrl+Y)",
|
|
3147
|
+
hr: "Horizontale Linie",
|
|
3148
|
+
link: "Link einfügen",
|
|
3149
|
+
image: "Bild einfügen",
|
|
3150
|
+
video: "Video einfügen",
|
|
3151
|
+
emoji: "Emoji einfügen",
|
|
3152
|
+
icon: "FA-Symbol einfügen",
|
|
3153
|
+
table: "Tabelle einfügen",
|
|
3154
|
+
fontSize: "Schriftgröße",
|
|
3155
|
+
fontSizePlaceholder: "Größe",
|
|
3156
|
+
removeFormat: "Formatierung entfernen",
|
|
3157
|
+
direction: "Textrichtung umschalten (LTR / RTL)",
|
|
3158
|
+
fontFamily: "Schriftart",
|
|
3159
|
+
paragraphStyle: "Absatzstil",
|
|
3160
|
+
paragraphStylePlaceholder: "Stil",
|
|
3161
|
+
lineHeight: "Zeilenhöhe",
|
|
3162
|
+
lineHeightPlaceholder: "↕ Zeile",
|
|
3163
|
+
codeview: "HTML-Code-Ansicht",
|
|
3164
|
+
fullscreen: "Vollbild",
|
|
3165
|
+
shortcuts: "Tastenkürzel (Ctrl+Shift+/)",
|
|
3166
|
+
find: "Suchen (Ctrl+F)",
|
|
3167
|
+
findReplace: "Suchen & Ersetzen (Ctrl+H)",
|
|
3168
|
+
inlineCode: "Inline-Code (Ctrl+`)",
|
|
3169
|
+
print: "Drucken",
|
|
3170
|
+
foreColor: "Textfarbe",
|
|
3171
|
+
backColor: "Hervorhebungsfarbe",
|
|
3172
|
+
chooseTextColor: "Textfarbe auswählen",
|
|
3173
|
+
chooseHighlightColor: "Hervorhebungsfarbe auswählen",
|
|
3174
|
+
customColor: "Benutzerdefinierte Farbe",
|
|
3175
|
+
insertTableLabel: "Tabelle einfügen",
|
|
3176
|
+
paragraphItems: {
|
|
3177
|
+
p: "Normal",
|
|
3178
|
+
blockquote: "Zitat",
|
|
3179
|
+
pre: "Code"
|
|
3180
|
+
}
|
|
3181
|
+
},
|
|
3182
|
+
linkDialog: {
|
|
3183
|
+
ariaLabel: "Link einfügen",
|
|
3184
|
+
title: "Link einfügen",
|
|
3185
|
+
url: "URL",
|
|
3186
|
+
urlPlaceholder: "https://",
|
|
3187
|
+
displayText: "Anzeigetext",
|
|
3188
|
+
textPlaceholder: "Linktext",
|
|
3189
|
+
openInNewTab: "In neuem Tab öffnen",
|
|
3190
|
+
insertBtn: "Einfügen",
|
|
3191
|
+
cancelBtn: "Abbrechen"
|
|
3192
|
+
},
|
|
3193
|
+
imageDialog: {
|
|
3194
|
+
ariaLabel: "Bild einfügen",
|
|
3195
|
+
title: "Bild einfügen",
|
|
3196
|
+
imageUrl: "Bild-URL",
|
|
3197
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
3198
|
+
altText: "Alt-Text",
|
|
3199
|
+
altPlaceholder: "Bild beschreiben",
|
|
3200
|
+
alignment: "Ausrichtung",
|
|
3201
|
+
alignNone: "Keine",
|
|
3202
|
+
alignLeft: "Links",
|
|
3203
|
+
alignCenter: "Mitte",
|
|
3204
|
+
alignRight: "Rechts",
|
|
3205
|
+
uploadLabel: "Oder Datei hochladen",
|
|
3206
|
+
insertBtn: "Einfügen",
|
|
3207
|
+
cancelBtn: "Abbrechen"
|
|
3208
|
+
},
|
|
3209
|
+
videoDialog: {
|
|
3210
|
+
ariaLabel: "Video einfügen",
|
|
3211
|
+
title: "Video einfügen",
|
|
3212
|
+
videoUrl: "Video-URL",
|
|
3213
|
+
urlPlaceholder: "YouTube, Vimeo oder direkte .mp4-URL",
|
|
3214
|
+
widthLabel: "Breite (px)",
|
|
3215
|
+
widthPlaceholder: "560",
|
|
3216
|
+
insertBtn: "Einfügen",
|
|
3217
|
+
cancelBtn: "Abbrechen",
|
|
3218
|
+
detected: (type) => `Erkannt: ${type}`,
|
|
3219
|
+
unknownFormat: "Unbekanntes Format — direktes Video-Einbetten wird versucht",
|
|
3220
|
+
invalidUrl: "Ungültige URL — bitte geben Sie einen gültigen Videolink ein."
|
|
3221
|
+
},
|
|
3222
|
+
emojiDialog: {
|
|
3223
|
+
ariaLabel: "Emoji einfügen",
|
|
3224
|
+
title: "Emoji einfügen",
|
|
3225
|
+
searchPlaceholder: "Emojis suchen…",
|
|
3226
|
+
all: "Alle",
|
|
3227
|
+
cancelBtn: "Abbrechen",
|
|
3228
|
+
close: "Schließen",
|
|
3229
|
+
categories: {
|
|
3230
|
+
smileys: "Smileys",
|
|
3231
|
+
people: "Menschen",
|
|
3232
|
+
animals: "Tiere",
|
|
3233
|
+
food: "Essen",
|
|
3234
|
+
travel: "Reisen",
|
|
3235
|
+
objects: "Objekte",
|
|
3236
|
+
symbols: "Symbole"
|
|
3237
|
+
}
|
|
3238
|
+
},
|
|
3239
|
+
iconDialog: {
|
|
3240
|
+
ariaLabel: "FA-Symbol einfügen",
|
|
3241
|
+
title: "FA-Symbol einfügen",
|
|
3242
|
+
searchPlaceholder: "Symbole suchen…",
|
|
3243
|
+
all: "Alle",
|
|
3244
|
+
style: "Stil",
|
|
3245
|
+
size: "Größe",
|
|
3246
|
+
color: "Farbe",
|
|
3247
|
+
useColor: " Farbe verwenden",
|
|
3248
|
+
selectHint: "Symbol auswählen",
|
|
3249
|
+
insertBtn: "FA-Symbol einfügen",
|
|
3250
|
+
cancelBtn: "Abbrechen",
|
|
3251
|
+
close: "Schließen",
|
|
3252
|
+
categories: {
|
|
3253
|
+
popular: "Beliebt",
|
|
3254
|
+
interface: "Benutzeroberfläche",
|
|
3255
|
+
navigation: "Navigation",
|
|
3256
|
+
media: "Medien",
|
|
3257
|
+
communication: "Kommunikation",
|
|
3258
|
+
files: "Dateien",
|
|
3259
|
+
people: "Menschen",
|
|
3260
|
+
objects: "Objekte"
|
|
3261
|
+
}
|
|
3262
|
+
},
|
|
3263
|
+
findReplace: {
|
|
3264
|
+
findTitle: "Suchen",
|
|
3265
|
+
findReplaceTitle: "Suchen & Ersetzen",
|
|
3266
|
+
findPlaceholder: "Suchen…",
|
|
3267
|
+
searchAriaLabel: "Suchtext",
|
|
3268
|
+
caseSensitive: "\xA0Groß-/Kleinschreibung",
|
|
3269
|
+
prevBtn: "← Zurück",
|
|
3270
|
+
nextBtn: "Weiter →",
|
|
3271
|
+
replacePlaceholder: "Ersetzen durch…",
|
|
3272
|
+
replaceAriaLabel: "Ersetzen durch",
|
|
3273
|
+
replaceBtn: "Ersetzen",
|
|
3274
|
+
replaceAllBtn: "Alle ersetzen",
|
|
3275
|
+
close: "×"
|
|
3276
|
+
},
|
|
3277
|
+
shortcutsDialog: {
|
|
3278
|
+
title: "Tastenkürzel",
|
|
3279
|
+
ariaLabel: "Tastenkürzel",
|
|
3280
|
+
close: "Schließen",
|
|
3281
|
+
shortcuts: [
|
|
3282
|
+
{
|
|
3283
|
+
category: "Textformatierung",
|
|
3284
|
+
items: [
|
|
3285
|
+
{
|
|
3286
|
+
keys: "Ctrl + B",
|
|
3287
|
+
action: "Fett"
|
|
3288
|
+
},
|
|
3289
|
+
{
|
|
3290
|
+
keys: "Ctrl + I",
|
|
3291
|
+
action: "Kursiv"
|
|
3292
|
+
},
|
|
3293
|
+
{
|
|
3294
|
+
keys: "Ctrl + U",
|
|
3295
|
+
action: "Unterstrichen"
|
|
3296
|
+
},
|
|
3297
|
+
{
|
|
3298
|
+
keys: "Ctrl + K",
|
|
3299
|
+
action: "Link einfügen / bearbeiten"
|
|
3300
|
+
}
|
|
3301
|
+
]
|
|
3302
|
+
},
|
|
3303
|
+
{
|
|
3304
|
+
category: "Verlauf",
|
|
3305
|
+
items: [{
|
|
3306
|
+
keys: "Ctrl + Z",
|
|
3307
|
+
action: "Rückgängig"
|
|
3308
|
+
}, {
|
|
3309
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
3310
|
+
action: "Wiederholen"
|
|
3311
|
+
}]
|
|
3312
|
+
},
|
|
3313
|
+
{
|
|
3314
|
+
category: "Auswahl & Navigation",
|
|
3315
|
+
items: [
|
|
3316
|
+
{
|
|
3317
|
+
keys: "Ctrl + A",
|
|
3318
|
+
action: "Alles auswählen"
|
|
3319
|
+
},
|
|
3320
|
+
{
|
|
3321
|
+
keys: "Tab",
|
|
3322
|
+
action: "Listenebene erhöhen / Leerzeichen einfügen"
|
|
3323
|
+
},
|
|
3324
|
+
{
|
|
3325
|
+
keys: "Shift + Tab",
|
|
3326
|
+
action: "Listenebene verringern"
|
|
3327
|
+
}
|
|
3328
|
+
]
|
|
3329
|
+
},
|
|
3330
|
+
{
|
|
3331
|
+
category: "Zwischenablage",
|
|
3332
|
+
items: [{
|
|
3333
|
+
keys: "Ctrl + Shift + V",
|
|
3334
|
+
action: "Als einfachen Text einfügen"
|
|
3335
|
+
}]
|
|
3336
|
+
},
|
|
3337
|
+
{
|
|
3338
|
+
category: "Suchen & Ersetzen",
|
|
3339
|
+
items: [{
|
|
3340
|
+
keys: "Ctrl + F",
|
|
3341
|
+
action: "Im Dokument suchen"
|
|
3342
|
+
}, {
|
|
3343
|
+
keys: "Ctrl + H",
|
|
3344
|
+
action: "Suchen & Ersetzen"
|
|
3345
|
+
}]
|
|
3346
|
+
},
|
|
3347
|
+
{
|
|
3348
|
+
category: "Editor",
|
|
3349
|
+
items: [{
|
|
3350
|
+
keys: "Ctrl + Shift + /",
|
|
3351
|
+
action: "Diesen Tastenkürzel-Dialog anzeigen"
|
|
3352
|
+
}]
|
|
3353
|
+
}
|
|
3354
|
+
]
|
|
3355
|
+
},
|
|
3356
|
+
contextMenu: {
|
|
3357
|
+
cut: "Ausschneiden",
|
|
3358
|
+
copy: "Kopieren",
|
|
3359
|
+
paste: "Einfügen",
|
|
3360
|
+
bold: "Fett",
|
|
3361
|
+
italic: "Kursiv",
|
|
3362
|
+
underline: "Unterstrichen",
|
|
3363
|
+
textColor: "Textfarbe",
|
|
3364
|
+
highlightColor: "Hervorhebungsfarbe",
|
|
3365
|
+
copyFormat: "Format kopieren",
|
|
3366
|
+
pasteFormat: "Format einfügen",
|
|
3367
|
+
removeFormat: "Formatierung entfernen",
|
|
3368
|
+
link: "Link einfügen",
|
|
3369
|
+
image: "Bild einfügen",
|
|
3370
|
+
video: "Video einfügen",
|
|
3371
|
+
table: "Tabelle einfügen",
|
|
3372
|
+
back: "Zurück",
|
|
3373
|
+
noHighlight: "Keine Hervorhebung",
|
|
3374
|
+
customColor: "Benutzerdefinierte Farbe",
|
|
3375
|
+
customColorLabel: "Benutzerdefiniert…"
|
|
3376
|
+
},
|
|
3377
|
+
statusbar: {
|
|
3378
|
+
resizeHandle: "Editor-Größe ändern",
|
|
3379
|
+
words: (n) => `Wörter: ${n}`,
|
|
3380
|
+
wordsLimit: (n, max) => `Wörter: ${n}/${max}`,
|
|
3381
|
+
chars: (n) => `Zeichen: ${n}`,
|
|
3382
|
+
charsLimit: (n, max) => `Zeichen: ${n}/${max}`
|
|
3383
|
+
},
|
|
3384
|
+
tooltips: {
|
|
3385
|
+
link: {
|
|
3386
|
+
ariaLabel: "Link-Aktionen",
|
|
3387
|
+
openLink: "Link öffnen",
|
|
3388
|
+
copyUrl: "URL kopieren",
|
|
3389
|
+
editLink: "Link bearbeiten",
|
|
3390
|
+
removeLink: "Link entfernen"
|
|
3391
|
+
},
|
|
3392
|
+
image: {
|
|
3393
|
+
ariaLabel: "Bild-Aktionen",
|
|
3394
|
+
label: "Bild",
|
|
3395
|
+
floatLeft: "Links umfließen",
|
|
3396
|
+
noFloat: "Kein Umfluss",
|
|
3397
|
+
alignCenter: "Zentriert",
|
|
3398
|
+
floatRight: "Rechts umfließen",
|
|
3399
|
+
originalSize: "Originalgröße",
|
|
3400
|
+
rotateLeft: "Links drehen",
|
|
3401
|
+
rotateRight: "Rechts drehen",
|
|
3402
|
+
cropImage: "Bild zuschneiden",
|
|
3403
|
+
addCaption: "Beschriftung hinzufügen / bearbeiten",
|
|
3404
|
+
deleteImage: "Bild löschen"
|
|
3405
|
+
},
|
|
3406
|
+
code: {
|
|
3407
|
+
ariaLabel: "Codeblock-Aktionen",
|
|
3408
|
+
label: "Code",
|
|
3409
|
+
syntaxLanguage: "Syntaxsprache",
|
|
3410
|
+
syntaxAriaLabel: "Syntaxsprache",
|
|
3411
|
+
copyCode: "Code kopieren",
|
|
3412
|
+
toggleWordWrap: "Zeilenumbruch umschalten",
|
|
3413
|
+
enableWordWrap: "Zeilenumbruch aktivieren",
|
|
3414
|
+
disableWordWrap: "Zeilenumbruch deaktivieren",
|
|
3415
|
+
convertToParagraph: "In Absatz umwandeln",
|
|
3416
|
+
deleteCodeBlock: "Codeblock löschen"
|
|
3417
|
+
},
|
|
3418
|
+
table: {
|
|
3419
|
+
ariaLabel: "Tabellen-Aktionen",
|
|
3420
|
+
label: "Tabelle",
|
|
3421
|
+
selectCells: "Zellen auswählen",
|
|
3422
|
+
addRowAbove: "Zeile oben hinzufügen",
|
|
3423
|
+
addRowBelow: "Zeile unten hinzufügen",
|
|
3424
|
+
deleteRow: "Zeile löschen",
|
|
3425
|
+
addColumnLeft: "Spalte links hinzufügen",
|
|
3426
|
+
addColumnRight: "Spalte rechts hinzufügen",
|
|
3427
|
+
deleteColumn: "Spalte löschen",
|
|
3428
|
+
mergeCells: "Zellen zusammenführen",
|
|
3429
|
+
unmergeCells: "Zellen trennen",
|
|
3430
|
+
columnWidth: "Spaltenbreite",
|
|
3431
|
+
rowHeight: "Zeilenhöhe",
|
|
3432
|
+
tableBorderWidth: "Tabellenrahmenbreite",
|
|
3433
|
+
deleteTable: "Tabelle löschen",
|
|
3434
|
+
columnWidthPx: "Spaltenbreite (px)",
|
|
3435
|
+
rowHeightPx: "Zeilenhöhe (px)",
|
|
3436
|
+
tableBorderWidthPx: "Tabellenrahmenbreite (px)",
|
|
3437
|
+
cancelBtn: "Abbrechen",
|
|
3438
|
+
applyBtn: "Anwenden"
|
|
3439
|
+
},
|
|
3440
|
+
video: {
|
|
3441
|
+
ariaLabel: "Video-Aktionen",
|
|
3442
|
+
label: "Video",
|
|
3443
|
+
floatLeft: "Links umfließen",
|
|
3444
|
+
noFloat: "Kein Umfluss",
|
|
3445
|
+
alignCenter: "Zentriert",
|
|
3446
|
+
floatRight: "Rechts umfließen",
|
|
3447
|
+
originalSize: "Originalgröße",
|
|
3448
|
+
previewVideo: "Video-Vorschau",
|
|
3449
|
+
exitPreview: "Vorschau beenden",
|
|
3450
|
+
deleteVideo: "Video löschen"
|
|
3451
|
+
}
|
|
3452
|
+
},
|
|
3453
|
+
errors: {
|
|
3454
|
+
imageFormat: (type) => `Das Format „${type}" wird in Webbrowsern nicht unterstützt. Bitte konvertieren Sie es zuerst in JPEG, PNG oder WebP.`,
|
|
3455
|
+
imageSize: (maxSize) => `Die Bilddatei ist zu groß. Die maximal zulässige Größe beträgt ${maxSize} MB.`
|
|
3456
|
+
}
|
|
3457
|
+
},
|
|
3458
|
+
es: {
|
|
3459
|
+
toolbar: {
|
|
3460
|
+
bold: "Negrita (Ctrl+B)",
|
|
3461
|
+
italic: "Cursiva (Ctrl+I)",
|
|
3462
|
+
underline: "Subrayado (Ctrl+U)",
|
|
3463
|
+
strikethrough: "Tachado",
|
|
3464
|
+
superscript: "Superíndice",
|
|
3465
|
+
subscript: "Subíndice",
|
|
3466
|
+
alignLeft: "Alinear a la izquierda",
|
|
3467
|
+
alignCenter: "Centrar",
|
|
3468
|
+
alignRight: "Alinear a la derecha",
|
|
3469
|
+
alignJustify: "Justificar",
|
|
3470
|
+
ul: "Lista sin orden",
|
|
3471
|
+
ol: "Lista ordenada",
|
|
3472
|
+
checklist: "Lista de verificación",
|
|
3473
|
+
indent: "Aumentar sangría",
|
|
3474
|
+
outdent: "Reducir sangría",
|
|
3475
|
+
undo: "Deshacer (Ctrl+Z)",
|
|
3476
|
+
redo: "Rehacer (Ctrl+Y)",
|
|
3477
|
+
hr: "Línea horizontal",
|
|
3478
|
+
link: "Insertar enlace",
|
|
3479
|
+
image: "Insertar imagen",
|
|
3480
|
+
video: "Insertar vídeo",
|
|
3481
|
+
emoji: "Insertar emoji",
|
|
3482
|
+
icon: "Insertar icono FA",
|
|
3483
|
+
table: "Insertar tabla",
|
|
3484
|
+
fontSize: "Tamaño de fuente",
|
|
3485
|
+
fontSizePlaceholder: "Tamaño",
|
|
3486
|
+
removeFormat: "Eliminar formato",
|
|
3487
|
+
direction: "Cambiar dirección del texto (LTR / RTL)",
|
|
3488
|
+
fontFamily: "Fuente",
|
|
3489
|
+
paragraphStyle: "Estilo de párrafo",
|
|
3490
|
+
paragraphStylePlaceholder: "Estilo",
|
|
3491
|
+
lineHeight: "Interlineado",
|
|
3492
|
+
lineHeightPlaceholder: "↕ Línea",
|
|
3493
|
+
codeview: "Vista de código HTML",
|
|
3494
|
+
fullscreen: "Pantalla completa",
|
|
3495
|
+
shortcuts: "Atajos de teclado (Ctrl+Shift+/)",
|
|
3496
|
+
find: "Buscar (Ctrl+F)",
|
|
3497
|
+
findReplace: "Buscar y reemplazar (Ctrl+H)",
|
|
3498
|
+
inlineCode: "Código en línea (Ctrl+`)",
|
|
3499
|
+
print: "Imprimir",
|
|
3500
|
+
foreColor: "Color del texto",
|
|
3501
|
+
backColor: "Color de resaltado",
|
|
3502
|
+
chooseTextColor: "Elegir color del texto",
|
|
3503
|
+
chooseHighlightColor: "Elegir color de resaltado",
|
|
3504
|
+
customColor: "Color personalizado",
|
|
3505
|
+
insertTableLabel: "Insertar tabla",
|
|
3506
|
+
paragraphItems: {
|
|
3507
|
+
p: "Normal",
|
|
3508
|
+
blockquote: "Cita",
|
|
3509
|
+
pre: "Código"
|
|
3510
|
+
}
|
|
3511
|
+
},
|
|
3512
|
+
linkDialog: {
|
|
3513
|
+
ariaLabel: "Insertar enlace",
|
|
3514
|
+
title: "Insertar enlace",
|
|
3515
|
+
url: "URL",
|
|
3516
|
+
urlPlaceholder: "https://",
|
|
3517
|
+
displayText: "Texto a mostrar",
|
|
3518
|
+
textPlaceholder: "Texto del enlace",
|
|
3519
|
+
openInNewTab: "Abrir en nueva pestaña",
|
|
3520
|
+
insertBtn: "Insertar",
|
|
3521
|
+
cancelBtn: "Cancelar"
|
|
3522
|
+
},
|
|
3523
|
+
imageDialog: {
|
|
3524
|
+
ariaLabel: "Insertar imagen",
|
|
3525
|
+
title: "Insertar imagen",
|
|
3526
|
+
imageUrl: "URL de imagen",
|
|
3527
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
3528
|
+
altText: "Texto alternativo",
|
|
3529
|
+
altPlaceholder: "Describir la imagen",
|
|
3530
|
+
alignment: "Alineación",
|
|
3531
|
+
alignNone: "Ninguna",
|
|
3532
|
+
alignLeft: "Izquierda",
|
|
3533
|
+
alignCenter: "Centro",
|
|
3534
|
+
alignRight: "Derecha",
|
|
3535
|
+
uploadLabel: "O subir un archivo",
|
|
3536
|
+
insertBtn: "Insertar",
|
|
3537
|
+
cancelBtn: "Cancelar"
|
|
3538
|
+
},
|
|
3539
|
+
videoDialog: {
|
|
3540
|
+
ariaLabel: "Insertar vídeo",
|
|
3541
|
+
title: "Insertar vídeo",
|
|
3542
|
+
videoUrl: "URL del vídeo",
|
|
3543
|
+
urlPlaceholder: "YouTube, Vimeo o URL directa .mp4",
|
|
3544
|
+
widthLabel: "Ancho (px)",
|
|
3545
|
+
widthPlaceholder: "560",
|
|
3546
|
+
insertBtn: "Insertar",
|
|
3547
|
+
cancelBtn: "Cancelar",
|
|
3548
|
+
detected: (type) => `Detectado: ${type}`,
|
|
3549
|
+
unknownFormat: "Formato desconocido — se intentará incrustar el vídeo directamente",
|
|
3550
|
+
invalidUrl: "URL no válida — introduzca un enlace de vídeo válido."
|
|
3551
|
+
},
|
|
3552
|
+
emojiDialog: {
|
|
3553
|
+
ariaLabel: "Insertar emoji",
|
|
3554
|
+
title: "Insertar emoji",
|
|
3555
|
+
searchPlaceholder: "Buscar emojis…",
|
|
3556
|
+
all: "Todos",
|
|
3557
|
+
cancelBtn: "Cancelar",
|
|
3558
|
+
close: "Cerrar",
|
|
3559
|
+
categories: {
|
|
3560
|
+
smileys: "Caritas",
|
|
3561
|
+
people: "Personas",
|
|
3562
|
+
animals: "Animales",
|
|
3563
|
+
food: "Comida",
|
|
3564
|
+
travel: "Viajes",
|
|
3565
|
+
objects: "Objetos",
|
|
3566
|
+
symbols: "Símbolos"
|
|
3567
|
+
}
|
|
3568
|
+
},
|
|
3569
|
+
iconDialog: {
|
|
3570
|
+
ariaLabel: "Insertar icono FA",
|
|
3571
|
+
title: "Insertar icono FA",
|
|
3572
|
+
searchPlaceholder: "Buscar iconos…",
|
|
3573
|
+
all: "Todos",
|
|
3574
|
+
style: "Estilo",
|
|
3575
|
+
size: "Tamaño",
|
|
3576
|
+
color: "Color",
|
|
3577
|
+
useColor: " Usar color",
|
|
3578
|
+
selectHint: "Seleccionar un icono",
|
|
3579
|
+
insertBtn: "Insertar icono FA",
|
|
3580
|
+
cancelBtn: "Cancelar",
|
|
3581
|
+
close: "Cerrar",
|
|
3582
|
+
categories: {
|
|
3583
|
+
popular: "Popular",
|
|
3584
|
+
interface: "Interfaz",
|
|
3585
|
+
navigation: "Navegación",
|
|
3586
|
+
media: "Medios",
|
|
3587
|
+
communication: "Comunicación",
|
|
3588
|
+
files: "Archivos",
|
|
3589
|
+
people: "Personas",
|
|
3590
|
+
objects: "Objetos"
|
|
3591
|
+
}
|
|
3592
|
+
},
|
|
3593
|
+
findReplace: {
|
|
3594
|
+
findTitle: "Buscar",
|
|
3595
|
+
findReplaceTitle: "Buscar y reemplazar",
|
|
3596
|
+
findPlaceholder: "Buscar…",
|
|
3597
|
+
searchAriaLabel: "Texto de búsqueda",
|
|
3598
|
+
caseSensitive: "\xA0Distinguir mayúsculas",
|
|
3599
|
+
prevBtn: "← Anterior",
|
|
3600
|
+
nextBtn: "Siguiente →",
|
|
3601
|
+
replacePlaceholder: "Reemplazar con…",
|
|
3602
|
+
replaceAriaLabel: "Reemplazar con",
|
|
3603
|
+
replaceBtn: "Reemplazar",
|
|
3604
|
+
replaceAllBtn: "Reemplazar todo",
|
|
3605
|
+
close: "×"
|
|
3606
|
+
},
|
|
3607
|
+
shortcutsDialog: {
|
|
3608
|
+
title: "Atajos de teclado",
|
|
3609
|
+
ariaLabel: "Atajos de teclado",
|
|
3610
|
+
close: "Cerrar",
|
|
3611
|
+
shortcuts: [
|
|
3612
|
+
{
|
|
3613
|
+
category: "Formato de texto",
|
|
3614
|
+
items: [
|
|
3615
|
+
{
|
|
3616
|
+
keys: "Ctrl + B",
|
|
3617
|
+
action: "Negrita"
|
|
3618
|
+
},
|
|
3619
|
+
{
|
|
3620
|
+
keys: "Ctrl + I",
|
|
3621
|
+
action: "Cursiva"
|
|
3622
|
+
},
|
|
3623
|
+
{
|
|
3624
|
+
keys: "Ctrl + U",
|
|
3625
|
+
action: "Subrayado"
|
|
3626
|
+
},
|
|
3627
|
+
{
|
|
3628
|
+
keys: "Ctrl + K",
|
|
3629
|
+
action: "Insertar / editar enlace"
|
|
3630
|
+
}
|
|
3631
|
+
]
|
|
3632
|
+
},
|
|
3633
|
+
{
|
|
3634
|
+
category: "Historial",
|
|
3635
|
+
items: [{
|
|
3636
|
+
keys: "Ctrl + Z",
|
|
3637
|
+
action: "Deshacer"
|
|
3638
|
+
}, {
|
|
3639
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
3640
|
+
action: "Rehacer"
|
|
3641
|
+
}]
|
|
3642
|
+
},
|
|
3643
|
+
{
|
|
3644
|
+
category: "Selección y navegación",
|
|
3645
|
+
items: [
|
|
3646
|
+
{
|
|
3647
|
+
keys: "Ctrl + A",
|
|
3648
|
+
action: "Seleccionar todo"
|
|
3649
|
+
},
|
|
3650
|
+
{
|
|
3651
|
+
keys: "Tab",
|
|
3652
|
+
action: "Aumentar sangría / insertar espacios"
|
|
3653
|
+
},
|
|
3654
|
+
{
|
|
3655
|
+
keys: "Shift + Tab",
|
|
3656
|
+
action: "Reducir sangría"
|
|
3657
|
+
}
|
|
3658
|
+
]
|
|
3659
|
+
},
|
|
3660
|
+
{
|
|
3661
|
+
category: "Portapapeles",
|
|
3662
|
+
items: [{
|
|
3663
|
+
keys: "Ctrl + Shift + V",
|
|
3664
|
+
action: "Pegar como texto plano"
|
|
3665
|
+
}]
|
|
3666
|
+
},
|
|
3667
|
+
{
|
|
3668
|
+
category: "Buscar y reemplazar",
|
|
3669
|
+
items: [{
|
|
3670
|
+
keys: "Ctrl + F",
|
|
3671
|
+
action: "Buscar en el documento"
|
|
3672
|
+
}, {
|
|
3673
|
+
keys: "Ctrl + H",
|
|
3674
|
+
action: "Buscar y reemplazar"
|
|
3675
|
+
}]
|
|
3676
|
+
},
|
|
3677
|
+
{
|
|
3678
|
+
category: "Editor",
|
|
3679
|
+
items: [{
|
|
3680
|
+
keys: "Ctrl + Shift + /",
|
|
3681
|
+
action: "Mostrar este diálogo de atajos"
|
|
3682
|
+
}]
|
|
3683
|
+
}
|
|
3684
|
+
]
|
|
3685
|
+
},
|
|
3686
|
+
contextMenu: {
|
|
3687
|
+
cut: "Cortar",
|
|
3688
|
+
copy: "Copiar",
|
|
3689
|
+
paste: "Pegar",
|
|
3690
|
+
bold: "Negrita",
|
|
3691
|
+
italic: "Cursiva",
|
|
3692
|
+
underline: "Subrayado",
|
|
3693
|
+
textColor: "Color del texto",
|
|
3694
|
+
highlightColor: "Color de resaltado",
|
|
3695
|
+
copyFormat: "Copiar formato",
|
|
3696
|
+
pasteFormat: "Pegar formato",
|
|
3697
|
+
removeFormat: "Eliminar formato",
|
|
3698
|
+
link: "Insertar enlace",
|
|
3699
|
+
image: "Insertar imagen",
|
|
3700
|
+
video: "Insertar vídeo",
|
|
3701
|
+
table: "Insertar tabla",
|
|
3702
|
+
back: "Atrás",
|
|
3703
|
+
noHighlight: "Sin resaltado",
|
|
3704
|
+
customColor: "Color personalizado",
|
|
3705
|
+
customColorLabel: "Personalizado…"
|
|
3706
|
+
},
|
|
3707
|
+
statusbar: {
|
|
3708
|
+
resizeHandle: "Redimensionar editor",
|
|
3709
|
+
words: (n) => `Palabras: ${n}`,
|
|
3710
|
+
wordsLimit: (n, max) => `Palabras: ${n}/${max}`,
|
|
3711
|
+
chars: (n) => `Caracteres: ${n}`,
|
|
3712
|
+
charsLimit: (n, max) => `Caracteres: ${n}/${max}`
|
|
3713
|
+
},
|
|
3714
|
+
tooltips: {
|
|
3715
|
+
link: {
|
|
3716
|
+
ariaLabel: "Acciones de enlace",
|
|
3717
|
+
openLink: "Abrir enlace",
|
|
3718
|
+
copyUrl: "Copiar URL",
|
|
3719
|
+
editLink: "Editar enlace",
|
|
3720
|
+
removeLink: "Eliminar enlace"
|
|
3721
|
+
},
|
|
3722
|
+
image: {
|
|
3723
|
+
ariaLabel: "Acciones de imagen",
|
|
3724
|
+
label: "Imagen",
|
|
3725
|
+
floatLeft: "Flotar a la izquierda",
|
|
3726
|
+
noFloat: "Sin flotado",
|
|
3727
|
+
alignCenter: "Centrar",
|
|
3728
|
+
floatRight: "Flotar a la derecha",
|
|
3729
|
+
originalSize: "Tamaño original",
|
|
3730
|
+
rotateLeft: "Rotar a la izquierda",
|
|
3731
|
+
rotateRight: "Rotar a la derecha",
|
|
3732
|
+
cropImage: "Recortar imagen",
|
|
3733
|
+
addCaption: "Añadir / editar pie de foto",
|
|
3734
|
+
deleteImage: "Eliminar imagen"
|
|
3735
|
+
},
|
|
3736
|
+
code: {
|
|
3737
|
+
ariaLabel: "Acciones de bloque de código",
|
|
3738
|
+
label: "Código",
|
|
3739
|
+
syntaxLanguage: "Lenguaje de sintaxis",
|
|
3740
|
+
syntaxAriaLabel: "Lenguaje de sintaxis",
|
|
3741
|
+
copyCode: "Copiar código",
|
|
3742
|
+
toggleWordWrap: "Alternar ajuste de línea",
|
|
3743
|
+
enableWordWrap: "Activar ajuste de línea",
|
|
3744
|
+
disableWordWrap: "Desactivar ajuste de línea",
|
|
3745
|
+
convertToParagraph: "Convertir en párrafo",
|
|
3746
|
+
deleteCodeBlock: "Eliminar bloque de código"
|
|
3747
|
+
},
|
|
3748
|
+
table: {
|
|
3749
|
+
ariaLabel: "Acciones de tabla",
|
|
3750
|
+
label: "Tabla",
|
|
3751
|
+
selectCells: "Seleccionar celdas",
|
|
3752
|
+
addRowAbove: "Añadir fila encima",
|
|
3753
|
+
addRowBelow: "Añadir fila debajo",
|
|
3754
|
+
deleteRow: "Eliminar fila",
|
|
3755
|
+
addColumnLeft: "Añadir columna a la izquierda",
|
|
3756
|
+
addColumnRight: "Añadir columna a la derecha",
|
|
3757
|
+
deleteColumn: "Eliminar columna",
|
|
3758
|
+
mergeCells: "Combinar celdas",
|
|
3759
|
+
unmergeCells: "Separar celdas",
|
|
3760
|
+
columnWidth: "Ancho de columna",
|
|
3761
|
+
rowHeight: "Alto de fila",
|
|
3762
|
+
tableBorderWidth: "Grosor del borde de la tabla",
|
|
3763
|
+
deleteTable: "Eliminar tabla",
|
|
3764
|
+
columnWidthPx: "Ancho de columna (px)",
|
|
3765
|
+
rowHeightPx: "Alto de fila (px)",
|
|
3766
|
+
tableBorderWidthPx: "Grosor del borde (px)",
|
|
3767
|
+
cancelBtn: "Cancelar",
|
|
3768
|
+
applyBtn: "Aplicar"
|
|
3769
|
+
},
|
|
3770
|
+
video: {
|
|
3771
|
+
ariaLabel: "Acciones de vídeo",
|
|
3772
|
+
label: "Vídeo",
|
|
3773
|
+
floatLeft: "Flotar a la izquierda",
|
|
3774
|
+
noFloat: "Sin flotado",
|
|
3775
|
+
alignCenter: "Centrar",
|
|
3776
|
+
floatRight: "Flotar a la derecha",
|
|
3777
|
+
originalSize: "Tamaño original",
|
|
3778
|
+
previewVideo: "Vista previa de vídeo",
|
|
3779
|
+
exitPreview: "Salir de la vista previa",
|
|
3780
|
+
deleteVideo: "Eliminar vídeo"
|
|
3781
|
+
}
|
|
3782
|
+
},
|
|
3783
|
+
errors: {
|
|
3784
|
+
imageFormat: (type) => `El formato "${type}" no es compatible con los navegadores web. Por favor, conviértalo primero a JPEG, PNG o WebP.`,
|
|
3785
|
+
imageSize: (maxSize) => `El archivo de imagen es demasiado grande. El tamaño máximo permitido es ${maxSize} MB.`
|
|
3786
|
+
}
|
|
3787
|
+
},
|
|
3788
|
+
ko: {
|
|
3789
|
+
toolbar: {
|
|
3790
|
+
bold: "굵게 (Ctrl+B)",
|
|
3791
|
+
italic: "기울임꼴 (Ctrl+I)",
|
|
3792
|
+
underline: "밑줄 (Ctrl+U)",
|
|
3793
|
+
strikethrough: "취소선",
|
|
3794
|
+
superscript: "위 첨자",
|
|
3795
|
+
subscript: "아래 첨자",
|
|
3796
|
+
alignLeft: "왼쪽 정렬",
|
|
3797
|
+
alignCenter: "가운데 정렬",
|
|
3798
|
+
alignRight: "오른쪽 정렬",
|
|
3799
|
+
alignJustify: "양쪽 정렬",
|
|
3800
|
+
ul: "순서 없는 목록",
|
|
3801
|
+
ol: "순서 있는 목록",
|
|
3802
|
+
checklist: "체크리스트",
|
|
3803
|
+
indent: "들여쓰기",
|
|
3804
|
+
outdent: "내어쓰기",
|
|
3805
|
+
undo: "실행 취소 (Ctrl+Z)",
|
|
3806
|
+
redo: "다시 실행 (Ctrl+Y)",
|
|
3807
|
+
hr: "수평선",
|
|
3808
|
+
link: "링크 삽입",
|
|
3809
|
+
image: "이미지 삽입",
|
|
3810
|
+
video: "동영상 삽입",
|
|
3811
|
+
emoji: "이모지 삽입",
|
|
3812
|
+
icon: "FA 아이콘 삽입",
|
|
3813
|
+
table: "표 삽입",
|
|
3814
|
+
fontSize: "글꼴 크기",
|
|
3815
|
+
fontSizePlaceholder: "크기",
|
|
3816
|
+
removeFormat: "서식 제거",
|
|
3817
|
+
direction: "텍스트 방향 전환 (LTR / RTL)",
|
|
3818
|
+
fontFamily: "글꼴",
|
|
3819
|
+
paragraphStyle: "단락 스타일",
|
|
3820
|
+
paragraphStylePlaceholder: "스타일",
|
|
3821
|
+
lineHeight: "줄 간격",
|
|
3822
|
+
lineHeightPlaceholder: "↕ 줄",
|
|
3823
|
+
codeview: "HTML 코드 보기",
|
|
3824
|
+
fullscreen: "전체 화면",
|
|
3825
|
+
shortcuts: "키보드 단축키 (Ctrl+Shift+/)",
|
|
3826
|
+
find: "찾기 (Ctrl+F)",
|
|
3827
|
+
findReplace: "찾기 및 바꾸기 (Ctrl+H)",
|
|
3828
|
+
inlineCode: "인라인 코드 (Ctrl+`)",
|
|
3829
|
+
print: "인쇄",
|
|
3830
|
+
foreColor: "글자 색",
|
|
3831
|
+
backColor: "강조 색",
|
|
3832
|
+
chooseTextColor: "글자 색 선택",
|
|
3833
|
+
chooseHighlightColor: "강조 색 선택",
|
|
3834
|
+
customColor: "사용자 지정 색",
|
|
3835
|
+
insertTableLabel: "표 삽입",
|
|
3836
|
+
paragraphItems: {
|
|
3837
|
+
p: "기본",
|
|
3838
|
+
blockquote: "인용",
|
|
3839
|
+
pre: "코드"
|
|
3840
|
+
}
|
|
3841
|
+
},
|
|
3842
|
+
linkDialog: {
|
|
3843
|
+
ariaLabel: "링크 삽입",
|
|
3844
|
+
title: "링크 삽입",
|
|
3845
|
+
url: "URL",
|
|
3846
|
+
urlPlaceholder: "https://",
|
|
3847
|
+
displayText: "표시 텍스트",
|
|
3848
|
+
textPlaceholder: "링크 텍스트",
|
|
3849
|
+
openInNewTab: "새 탭에서 열기",
|
|
3850
|
+
insertBtn: "삽입",
|
|
3851
|
+
cancelBtn: "취소"
|
|
3852
|
+
},
|
|
3853
|
+
imageDialog: {
|
|
3854
|
+
ariaLabel: "이미지 삽입",
|
|
3855
|
+
title: "이미지 삽입",
|
|
3856
|
+
imageUrl: "이미지 URL",
|
|
3857
|
+
urlPlaceholder: "https://example.com/image.png",
|
|
3858
|
+
altText: "대체 텍스트",
|
|
3859
|
+
altPlaceholder: "이미지 설명",
|
|
3860
|
+
alignment: "정렬",
|
|
3861
|
+
alignNone: "없음",
|
|
3862
|
+
alignLeft: "왼쪽",
|
|
3863
|
+
alignCenter: "가운데",
|
|
3864
|
+
alignRight: "오른쪽",
|
|
3865
|
+
uploadLabel: "또는 파일 업로드",
|
|
3866
|
+
insertBtn: "삽입",
|
|
3867
|
+
cancelBtn: "취소"
|
|
3868
|
+
},
|
|
3869
|
+
videoDialog: {
|
|
3870
|
+
ariaLabel: "동영상 삽입",
|
|
3871
|
+
title: "동영상 삽입",
|
|
3872
|
+
videoUrl: "동영상 URL",
|
|
3873
|
+
urlPlaceholder: "YouTube, Vimeo 또는 직접 .mp4 URL",
|
|
3874
|
+
widthLabel: "너비 (px)",
|
|
3875
|
+
widthPlaceholder: "560",
|
|
3876
|
+
insertBtn: "삽입",
|
|
3877
|
+
cancelBtn: "취소",
|
|
3878
|
+
detected: (type) => `감지됨: ${type}`,
|
|
3879
|
+
unknownFormat: "알 수 없는 형식 — 직접 동영상 임베드를 시도합니다",
|
|
3880
|
+
invalidUrl: "유효하지 않은 URL — 올바른 동영상 링크를 입력하세요."
|
|
3881
|
+
},
|
|
3882
|
+
emojiDialog: {
|
|
3883
|
+
ariaLabel: "이모지 삽입",
|
|
3884
|
+
title: "이모지 삽입",
|
|
3885
|
+
searchPlaceholder: "이모지 검색…",
|
|
3886
|
+
all: "전체",
|
|
3887
|
+
cancelBtn: "취소",
|
|
3888
|
+
close: "닫기",
|
|
3889
|
+
categories: {
|
|
3890
|
+
smileys: "스마일",
|
|
3891
|
+
people: "사람",
|
|
3892
|
+
animals: "동물",
|
|
3893
|
+
food: "음식",
|
|
3894
|
+
travel: "여행",
|
|
3895
|
+
objects: "사물",
|
|
3896
|
+
symbols: "기호"
|
|
3897
|
+
}
|
|
3898
|
+
},
|
|
3899
|
+
iconDialog: {
|
|
3900
|
+
ariaLabel: "FA 아이콘 삽입",
|
|
3901
|
+
title: "FA 아이콘 삽입",
|
|
3902
|
+
searchPlaceholder: "아이콘 검색…",
|
|
3903
|
+
all: "전체",
|
|
3904
|
+
style: "스타일",
|
|
3905
|
+
size: "크기",
|
|
3906
|
+
color: "색상",
|
|
3907
|
+
useColor: " 색상 사용",
|
|
3908
|
+
selectHint: "아이콘을 선택하세요",
|
|
3909
|
+
insertBtn: "FA 아이콘 삽입",
|
|
3910
|
+
cancelBtn: "취소",
|
|
3911
|
+
close: "닫기",
|
|
3912
|
+
categories: {
|
|
3913
|
+
popular: "인기",
|
|
3914
|
+
interface: "인터페이스",
|
|
3915
|
+
navigation: "탐색",
|
|
3916
|
+
media: "미디어",
|
|
3917
|
+
communication: "커뮤니케이션",
|
|
3918
|
+
files: "파일",
|
|
3919
|
+
people: "사람",
|
|
3920
|
+
objects: "사물"
|
|
3921
|
+
}
|
|
3922
|
+
},
|
|
3923
|
+
findReplace: {
|
|
3924
|
+
findTitle: "찾기",
|
|
3925
|
+
findReplaceTitle: "찾기 및 바꾸기",
|
|
3926
|
+
findPlaceholder: "찾기…",
|
|
3927
|
+
searchAriaLabel: "검색 텍스트",
|
|
3928
|
+
caseSensitive: "\xA0대소문자 구분",
|
|
3929
|
+
prevBtn: "← 이전",
|
|
3930
|
+
nextBtn: "다음 →",
|
|
3931
|
+
replacePlaceholder: "바꿀 내용…",
|
|
3932
|
+
replaceAriaLabel: "바꿀 내용",
|
|
3933
|
+
replaceBtn: "바꾸기",
|
|
3934
|
+
replaceAllBtn: "모두 바꾸기",
|
|
3935
|
+
close: "×"
|
|
3936
|
+
},
|
|
3937
|
+
shortcutsDialog: {
|
|
3938
|
+
title: "키보드 단축키",
|
|
3939
|
+
ariaLabel: "키보드 단축키",
|
|
3940
|
+
close: "닫기",
|
|
3941
|
+
shortcuts: [
|
|
3942
|
+
{
|
|
3943
|
+
category: "텍스트 서식",
|
|
3944
|
+
items: [
|
|
3945
|
+
{
|
|
3946
|
+
keys: "Ctrl + B",
|
|
3947
|
+
action: "굵게"
|
|
3948
|
+
},
|
|
3949
|
+
{
|
|
3950
|
+
keys: "Ctrl + I",
|
|
3951
|
+
action: "기울임꼴"
|
|
3952
|
+
},
|
|
3953
|
+
{
|
|
3954
|
+
keys: "Ctrl + U",
|
|
3955
|
+
action: "밑줄"
|
|
3956
|
+
},
|
|
3957
|
+
{
|
|
3958
|
+
keys: "Ctrl + K",
|
|
3959
|
+
action: "링크 삽입 / 편집"
|
|
3960
|
+
}
|
|
3961
|
+
]
|
|
3962
|
+
},
|
|
3963
|
+
{
|
|
3964
|
+
category: "실행 기록",
|
|
3965
|
+
items: [{
|
|
3966
|
+
keys: "Ctrl + Z",
|
|
3967
|
+
action: "실행 취소"
|
|
3968
|
+
}, {
|
|
3969
|
+
keys: "Ctrl + Y / Ctrl + Shift + Z",
|
|
3970
|
+
action: "다시 실행"
|
|
3971
|
+
}]
|
|
3972
|
+
},
|
|
3973
|
+
{
|
|
3974
|
+
category: "선택 및 탐색",
|
|
3975
|
+
items: [
|
|
3976
|
+
{
|
|
3977
|
+
keys: "Ctrl + A",
|
|
3978
|
+
action: "전체 선택"
|
|
3979
|
+
},
|
|
3980
|
+
{
|
|
3981
|
+
keys: "Tab",
|
|
3982
|
+
action: "목록 들여쓰기 / 공백 삽입"
|
|
3983
|
+
},
|
|
3984
|
+
{
|
|
3985
|
+
keys: "Shift + Tab",
|
|
3986
|
+
action: "목록 내어쓰기"
|
|
3987
|
+
}
|
|
3988
|
+
]
|
|
3989
|
+
},
|
|
3990
|
+
{
|
|
3991
|
+
category: "클립보드",
|
|
3992
|
+
items: [{
|
|
3993
|
+
keys: "Ctrl + Shift + V",
|
|
3994
|
+
action: "일반 텍스트로 붙여넣기"
|
|
3995
|
+
}]
|
|
3996
|
+
},
|
|
3997
|
+
{
|
|
3998
|
+
category: "찾기 및 바꾸기",
|
|
3999
|
+
items: [{
|
|
4000
|
+
keys: "Ctrl + F",
|
|
4001
|
+
action: "문서에서 찾기"
|
|
4002
|
+
}, {
|
|
4003
|
+
keys: "Ctrl + H",
|
|
4004
|
+
action: "찾기 및 바꾸기"
|
|
4005
|
+
}]
|
|
4006
|
+
},
|
|
4007
|
+
{
|
|
4008
|
+
category: "편집기",
|
|
4009
|
+
items: [{
|
|
4010
|
+
keys: "Ctrl + Shift + /",
|
|
4011
|
+
action: "이 단축키 대화상자 표시"
|
|
4012
|
+
}]
|
|
4013
|
+
}
|
|
4014
|
+
]
|
|
4015
|
+
},
|
|
4016
|
+
contextMenu: {
|
|
4017
|
+
cut: "잘라내기",
|
|
4018
|
+
copy: "복사",
|
|
4019
|
+
paste: "붙여넣기",
|
|
4020
|
+
bold: "굵게",
|
|
4021
|
+
italic: "기울임꼴",
|
|
4022
|
+
underline: "밑줄",
|
|
4023
|
+
textColor: "글자 색",
|
|
4024
|
+
highlightColor: "강조 색",
|
|
4025
|
+
copyFormat: "서식 복사",
|
|
4026
|
+
pasteFormat: "서식 붙여넣기",
|
|
4027
|
+
removeFormat: "서식 제거",
|
|
4028
|
+
link: "링크 삽입",
|
|
4029
|
+
image: "이미지 삽입",
|
|
4030
|
+
video: "동영상 삽입",
|
|
4031
|
+
table: "표 삽입",
|
|
4032
|
+
back: "뒤로",
|
|
4033
|
+
noHighlight: "강조 없음",
|
|
4034
|
+
customColor: "사용자 지정 색",
|
|
4035
|
+
customColorLabel: "사용자 지정…"
|
|
4036
|
+
},
|
|
4037
|
+
statusbar: {
|
|
4038
|
+
resizeHandle: "편집기 크기 조정",
|
|
4039
|
+
words: (n) => `단어: ${n}`,
|
|
4040
|
+
wordsLimit: (n, max) => `단어: ${n}/${max}`,
|
|
4041
|
+
chars: (n) => `글자: ${n}`,
|
|
4042
|
+
charsLimit: (n, max) => `글자: ${n}/${max}`
|
|
4043
|
+
},
|
|
4044
|
+
tooltips: {
|
|
4045
|
+
link: {
|
|
4046
|
+
ariaLabel: "링크 작업",
|
|
4047
|
+
openLink: "링크 열기",
|
|
4048
|
+
copyUrl: "URL 복사",
|
|
4049
|
+
editLink: "링크 편집",
|
|
4050
|
+
removeLink: "링크 제거"
|
|
4051
|
+
},
|
|
4052
|
+
image: {
|
|
4053
|
+
ariaLabel: "이미지 작업",
|
|
4054
|
+
label: "이미지",
|
|
4055
|
+
floatLeft: "왼쪽 배치",
|
|
4056
|
+
noFloat: "배치 없음",
|
|
4057
|
+
alignCenter: "가운데 정렬",
|
|
4058
|
+
floatRight: "오른쪽 배치",
|
|
4059
|
+
originalSize: "원본 크기",
|
|
4060
|
+
rotateLeft: "왼쪽 회전",
|
|
4061
|
+
rotateRight: "오른쪽 회전",
|
|
4062
|
+
cropImage: "이미지 자르기",
|
|
4063
|
+
addCaption: "캡션 추가 / 편집",
|
|
4064
|
+
deleteImage: "이미지 삭제"
|
|
4065
|
+
},
|
|
4066
|
+
code: {
|
|
4067
|
+
ariaLabel: "코드 블록 작업",
|
|
4068
|
+
label: "코드",
|
|
4069
|
+
syntaxLanguage: "구문 언어",
|
|
4070
|
+
syntaxAriaLabel: "구문 언어",
|
|
4071
|
+
copyCode: "코드 복사",
|
|
4072
|
+
toggleWordWrap: "줄 바꿈 전환",
|
|
4073
|
+
enableWordWrap: "줄 바꿈 사용",
|
|
4074
|
+
disableWordWrap: "줄 바꿈 해제",
|
|
4075
|
+
convertToParagraph: "단락으로 변환",
|
|
4076
|
+
deleteCodeBlock: "코드 블록 삭제"
|
|
4077
|
+
},
|
|
4078
|
+
table: {
|
|
4079
|
+
ariaLabel: "표 작업",
|
|
4080
|
+
label: "표",
|
|
4081
|
+
selectCells: "셀 선택",
|
|
4082
|
+
addRowAbove: "위에 행 추가",
|
|
4083
|
+
addRowBelow: "아래에 행 추가",
|
|
4084
|
+
deleteRow: "행 삭제",
|
|
4085
|
+
addColumnLeft: "왼쪽에 열 추가",
|
|
4086
|
+
addColumnRight: "오른쪽에 열 추가",
|
|
4087
|
+
deleteColumn: "열 삭제",
|
|
4088
|
+
mergeCells: "셀 병합",
|
|
4089
|
+
unmergeCells: "셀 분할",
|
|
4090
|
+
columnWidth: "열 너비",
|
|
4091
|
+
rowHeight: "행 높이",
|
|
4092
|
+
tableBorderWidth: "표 테두리 너비",
|
|
4093
|
+
deleteTable: "표 삭제",
|
|
4094
|
+
columnWidthPx: "열 너비 (px)",
|
|
4095
|
+
rowHeightPx: "행 높이 (px)",
|
|
4096
|
+
tableBorderWidthPx: "표 테두리 너비 (px)",
|
|
4097
|
+
cancelBtn: "취소",
|
|
4098
|
+
applyBtn: "적용"
|
|
4099
|
+
},
|
|
4100
|
+
video: {
|
|
4101
|
+
ariaLabel: "동영상 작업",
|
|
4102
|
+
label: "동영상",
|
|
4103
|
+
floatLeft: "왼쪽 배치",
|
|
4104
|
+
noFloat: "배치 없음",
|
|
4105
|
+
alignCenter: "가운데 정렬",
|
|
4106
|
+
floatRight: "오른쪽 배치",
|
|
4107
|
+
originalSize: "원본 크기",
|
|
4108
|
+
previewVideo: "동영상 미리보기",
|
|
4109
|
+
exitPreview: "미리보기 종료",
|
|
4110
|
+
deleteVideo: "동영상 삭제"
|
|
4111
|
+
}
|
|
4112
|
+
},
|
|
4113
|
+
errors: {
|
|
4114
|
+
imageFormat: (type) => `"${type}" 형식은 웹 브라우저에서 지원되지 않습니다. JPEG, PNG 또는 WebP로 변환해 주세요.`,
|
|
4115
|
+
imageSize: (maxSize) => `이미지 파일이 너무 큽니다. 최대 허용 크기는 ${maxSize} MB입니다.`
|
|
4116
|
+
}
|
|
4117
|
+
}
|
|
4118
|
+
};
|
|
4119
|
+
/**
|
|
4120
|
+
* Resolve a locale object from a lang option value.
|
|
4121
|
+
*
|
|
4122
|
+
* @param {string | Partial<AsnLocale> | null | undefined} lang
|
|
4123
|
+
* @returns {AsnLocale} A fully-populated locale (always contains every key from en.js).
|
|
4124
|
+
*/
|
|
4125
|
+
function resolveLocale(lang) {
|
|
4126
|
+
if (!lang || lang === "en") return en;
|
|
4127
|
+
if (typeof lang === "string") {
|
|
4128
|
+
const partial = locales[lang];
|
|
4129
|
+
if (!partial) return en;
|
|
4130
|
+
return mergeDeep(mergeDeep({}, en), partial);
|
|
4131
|
+
}
|
|
4132
|
+
if (typeof lang === "object") return mergeDeep(mergeDeep({}, en), lang);
|
|
4133
|
+
return en;
|
|
4134
|
+
}
|
|
4135
|
+
/**
|
|
4136
|
+
* @typedef {Object} AsnLocale (see types/index.d.ts for the full definition)
|
|
4137
|
+
*/
|
|
4138
|
+
//#endregion
|
|
1449
4139
|
//#region src/js/core/sanitise.js
|
|
1450
4140
|
/**
|
|
1451
4141
|
* sanitise.js - Shared HTML and URL sanitisation utilities
|
|
@@ -3096,9 +5786,9 @@ var Toolbar = class {
|
|
|
3096
5786
|
const btn = createElement("button", {
|
|
3097
5787
|
type: "button",
|
|
3098
5788
|
class: !!this.options.useBootstrap ? this.options.toolbarButtonClass || "btn btn-sm btn-light" : "an-btn",
|
|
3099
|
-
title: def.tooltip || "",
|
|
5789
|
+
title: this.context.locale.toolbar[def.name] || def.tooltip || "",
|
|
3100
5790
|
"data-btn": def.name,
|
|
3101
|
-
"aria-label": def.tooltip || def.name,
|
|
5791
|
+
"aria-label": this.context.locale.toolbar[def.name] || def.tooltip || def.name,
|
|
3102
5792
|
"aria-haspopup": "true",
|
|
3103
5793
|
"aria-expanded": "false"
|
|
3104
5794
|
});
|
|
@@ -3111,7 +5801,7 @@ var Toolbar = class {
|
|
|
3111
5801
|
});
|
|
3112
5802
|
const grid = createElement("div", { class: "an-table-grid" });
|
|
3113
5803
|
const label = createElement("div", { class: "an-table-label" });
|
|
3114
|
-
label.textContent = "Insert Table";
|
|
5804
|
+
label.textContent = this.context.locale.toolbar.insertTableLabel || "Insert Table";
|
|
3115
5805
|
const cells = [];
|
|
3116
5806
|
for (let r = 1; r <= ROWS; r++) for (let c = 1; c <= COLS; c++) {
|
|
3117
5807
|
const cell = createElement("div", {
|
|
@@ -3131,7 +5821,7 @@ var Toolbar = class {
|
|
|
3131
5821
|
const c = +cell.getAttribute("data-col");
|
|
3132
5822
|
cell.classList.toggle("active", r <= rows && c <= cols);
|
|
3133
5823
|
});
|
|
3134
|
-
label.textContent = rows && cols ? `${rows} × ${cols}` : "Insert Table";
|
|
5824
|
+
label.textContent = rows && cols ? `${rows} × ${cols}` : this.context.locale.toolbar.insertTableLabel || "Insert Table";
|
|
3135
5825
|
};
|
|
3136
5826
|
const openPopup = () => {
|
|
3137
5827
|
isOpen = true;
|
|
@@ -3211,9 +5901,9 @@ var Toolbar = class {
|
|
|
3211
5901
|
const applyBtn = createElement("button", {
|
|
3212
5902
|
type: "button",
|
|
3213
5903
|
class: `${baseClass} an-color-btn`,
|
|
3214
|
-
title: def.tooltip || "",
|
|
5904
|
+
title: this.context.locale.toolbar[def.name] || def.tooltip || "",
|
|
3215
5905
|
"data-btn": def.name,
|
|
3216
|
-
"aria-label": def.tooltip || def.name
|
|
5906
|
+
"aria-label": this.context.locale.toolbar[def.name] || def.tooltip || def.name
|
|
3217
5907
|
});
|
|
3218
5908
|
const S = "stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"";
|
|
3219
5909
|
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>`;
|
|
@@ -3223,7 +5913,7 @@ var Toolbar = class {
|
|
|
3223
5913
|
const arrowBtn = createElement("button", {
|
|
3224
5914
|
type: "button",
|
|
3225
5915
|
class: `${baseClass} an-color-arrow`,
|
|
3226
|
-
title:
|
|
5916
|
+
title: def.name === "foreColor" ? this.context.locale.toolbar.chooseTextColor || "Choose text color" : this.context.locale.toolbar.chooseHighlightColor || "Choose highlight color",
|
|
3227
5917
|
"aria-haspopup": "true",
|
|
3228
5918
|
"aria-expanded": "false"
|
|
3229
5919
|
});
|
|
@@ -3245,9 +5935,9 @@ var Toolbar = class {
|
|
|
3245
5935
|
const colorInput = createElement("input", {
|
|
3246
5936
|
type: "color",
|
|
3247
5937
|
value: currentColor,
|
|
3248
|
-
title: "Custom color"
|
|
5938
|
+
title: this.context.locale.toolbar.customColor || "Custom color"
|
|
3249
5939
|
});
|
|
3250
|
-
const customLabel = createElement("span", {}, ["Custom color"]);
|
|
5940
|
+
const customLabel = createElement("span", {}, [this.context.locale.toolbar.customColor || "Custom color"]);
|
|
3251
5941
|
customRow.appendChild(colorInput);
|
|
3252
5942
|
customRow.appendChild(customLabel);
|
|
3253
5943
|
popup.appendChild(swatches);
|
|
@@ -3357,19 +6047,19 @@ var Toolbar = class {
|
|
|
3357
6047
|
const items = def.name === "fontFamily" ? this.options.fontFamilies || [] : def.items || [];
|
|
3358
6048
|
const select = createElement("select", {
|
|
3359
6049
|
class: def.selectClass ? `an-select ${def.selectClass}` : "an-select",
|
|
3360
|
-
title: def.tooltip || "",
|
|
6050
|
+
title: this.context.locale.toolbar[def.name] || def.tooltip || "",
|
|
3361
6051
|
"data-btn": def.name,
|
|
3362
|
-
"aria-label": def.tooltip || def.name
|
|
6052
|
+
"aria-label": this.context.locale.toolbar[def.name] || def.tooltip || def.name
|
|
3363
6053
|
});
|
|
3364
6054
|
const placeholder = createElement("option", {
|
|
3365
6055
|
value: "",
|
|
3366
6056
|
disabled: "",
|
|
3367
6057
|
hidden: ""
|
|
3368
|
-
}, [def.placeholder || "Font"]);
|
|
6058
|
+
}, [this.context.locale.toolbar[def.name + "Placeholder"] || def.placeholder || "Font"]);
|
|
3369
6059
|
select.appendChild(placeholder);
|
|
3370
6060
|
items.forEach((item) => {
|
|
3371
6061
|
const value = typeof item === "object" ? item.value : item;
|
|
3372
|
-
const label = typeof item === "object" ? item.label : item;
|
|
6062
|
+
const label = typeof item === "object" ? def.name === "paragraphStyle" ? (this.context.locale.toolbar.paragraphItems || {})[item.value] || item.label : item.label : item;
|
|
3373
6063
|
const isHeader = typeof item === "object" && !!item.disabled;
|
|
3374
6064
|
const attrs = { value };
|
|
3375
6065
|
if (isHeader) attrs.disabled = "";
|
|
@@ -3409,9 +6099,9 @@ var Toolbar = class {
|
|
|
3409
6099
|
const btn = createElement("button", {
|
|
3410
6100
|
type: "button",
|
|
3411
6101
|
class: `${!!this.options.useBootstrap ? this.options.toolbarButtonClass || "btn btn-sm btn-light" : `an-btn`}${btnDef.className ? ` ${btnDef.className}` : ""}`,
|
|
3412
|
-
title: btnDef.tooltip || "",
|
|
6102
|
+
title: this.context.locale.toolbar[btnDef.name] || btnDef.tooltip || "",
|
|
3413
6103
|
"data-btn": btnDef.name,
|
|
3414
|
-
"aria-label": btnDef.tooltip || btnDef.name
|
|
6104
|
+
"aria-label": this.context.locale.toolbar[btnDef.name] || btnDef.tooltip || btnDef.name
|
|
3415
6105
|
});
|
|
3416
6106
|
const faPrefix = this.options.fontAwesomeClass || "fas";
|
|
3417
6107
|
if (this._faReady) {
|
|
@@ -3536,7 +6226,7 @@ var Statusbar = class {
|
|
|
3536
6226
|
if (this.options.resizable !== false) {
|
|
3537
6227
|
const handle = createElement("div", {
|
|
3538
6228
|
class: "an-resize-handle",
|
|
3539
|
-
title:
|
|
6229
|
+
title: this.context.locale.statusbar.resizeHandle,
|
|
3540
6230
|
"aria-hidden": "true"
|
|
3541
6231
|
});
|
|
3542
6232
|
this._bindResize(handle);
|
|
@@ -3626,8 +6316,9 @@ var Statusbar = class {
|
|
|
3626
6316
|
const chars = text.replace(/\n/g, "").length;
|
|
3627
6317
|
const maxWords = this.options.maxWords || 0;
|
|
3628
6318
|
const maxChars = this.options.maxChars || 0;
|
|
3629
|
-
this.
|
|
3630
|
-
this.
|
|
6319
|
+
const LS = this.context.locale.statusbar;
|
|
6320
|
+
this._wordCountEl.textContent = maxWords ? LS.wordsLimit(words, maxWords) : LS.words(words);
|
|
6321
|
+
this._charCountEl.textContent = maxChars ? LS.charsLimit(chars, maxChars) : LS.chars(chars);
|
|
3631
6322
|
_applyLimitClass(this._wordCountEl, words, maxWords);
|
|
3632
6323
|
_applyLimitClass(this._charCountEl, chars, maxChars);
|
|
3633
6324
|
}
|
|
@@ -4224,32 +6915,33 @@ var LinkDialog = class {
|
|
|
4224
6915
|
this._open();
|
|
4225
6916
|
}
|
|
4226
6917
|
_buildDialog() {
|
|
6918
|
+
const L = this.context.locale.linkDialog;
|
|
4227
6919
|
const overlay = createElement("div", {
|
|
4228
6920
|
class: "an-dialog-overlay",
|
|
4229
6921
|
role: "dialog",
|
|
4230
6922
|
"aria-modal": "true",
|
|
4231
|
-
"aria-label":
|
|
6923
|
+
"aria-label": L.ariaLabel
|
|
4232
6924
|
});
|
|
4233
6925
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
4234
6926
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
4235
|
-
title.textContent =
|
|
6927
|
+
title.textContent = L.title;
|
|
4236
6928
|
const urlLabel = createElement("label", { class: "an-label" });
|
|
4237
|
-
urlLabel.textContent =
|
|
6929
|
+
urlLabel.textContent = L.url;
|
|
4238
6930
|
const urlInput = createElement("input", {
|
|
4239
6931
|
type: "url",
|
|
4240
6932
|
class: "an-input",
|
|
4241
|
-
placeholder:
|
|
6933
|
+
placeholder: L.urlPlaceholder,
|
|
4242
6934
|
id: "an-link-url",
|
|
4243
6935
|
name: "url",
|
|
4244
6936
|
autocomplete: "off"
|
|
4245
6937
|
});
|
|
4246
6938
|
this._urlInput = urlInput;
|
|
4247
6939
|
const textLabel = createElement("label", { class: "an-label" });
|
|
4248
|
-
textLabel.textContent =
|
|
6940
|
+
textLabel.textContent = L.displayText;
|
|
4249
6941
|
const textInput = createElement("input", {
|
|
4250
6942
|
type: "text",
|
|
4251
6943
|
class: "an-input",
|
|
4252
|
-
placeholder:
|
|
6944
|
+
placeholder: L.textPlaceholder,
|
|
4253
6945
|
id: "an-link-text",
|
|
4254
6946
|
name: "linkText",
|
|
4255
6947
|
autocomplete: "off"
|
|
@@ -4263,18 +6955,18 @@ var LinkDialog = class {
|
|
|
4263
6955
|
});
|
|
4264
6956
|
this._tabCheckbox = tabCheckbox;
|
|
4265
6957
|
tabLabel.appendChild(tabCheckbox);
|
|
4266
|
-
tabLabel.appendChild(document.createTextNode("
|
|
6958
|
+
tabLabel.appendChild(document.createTextNode(" " + L.openInNewTab));
|
|
4267
6959
|
const btnRow = createElement("div", { class: "an-dialog-actions" });
|
|
4268
6960
|
const insertBtn = createElement("button", {
|
|
4269
6961
|
type: "button",
|
|
4270
6962
|
class: "an-btn an-btn-primary"
|
|
4271
6963
|
});
|
|
4272
|
-
insertBtn.textContent =
|
|
6964
|
+
insertBtn.textContent = L.insertBtn;
|
|
4273
6965
|
const cancelBtn = createElement("button", {
|
|
4274
6966
|
type: "button",
|
|
4275
6967
|
class: "an-btn"
|
|
4276
6968
|
});
|
|
4277
|
-
cancelBtn.textContent =
|
|
6969
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
4278
6970
|
btnRow.appendChild(insertBtn);
|
|
4279
6971
|
btnRow.appendChild(cancelBtn);
|
|
4280
6972
|
box.append(title, urlLabel, urlInput, textLabel, textInput, tabLabel, btnRow);
|
|
@@ -4400,53 +7092,54 @@ var ImageDialog = class {
|
|
|
4400
7092
|
this._open();
|
|
4401
7093
|
}
|
|
4402
7094
|
_buildDialog() {
|
|
7095
|
+
const L = this.context.locale.imageDialog;
|
|
4403
7096
|
const overlay = createElement("div", {
|
|
4404
7097
|
class: "an-dialog-overlay",
|
|
4405
7098
|
role: "dialog",
|
|
4406
7099
|
"aria-modal": "true",
|
|
4407
|
-
"aria-label":
|
|
7100
|
+
"aria-label": L.ariaLabel
|
|
4408
7101
|
});
|
|
4409
7102
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
4410
7103
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
4411
|
-
title.textContent =
|
|
7104
|
+
title.textContent = L.title;
|
|
4412
7105
|
const urlLabel = createElement("label", { class: "an-label" });
|
|
4413
|
-
urlLabel.textContent =
|
|
7106
|
+
urlLabel.textContent = L.imageUrl;
|
|
4414
7107
|
const urlInput = createElement("input", {
|
|
4415
7108
|
type: "url",
|
|
4416
7109
|
class: "an-input",
|
|
4417
|
-
placeholder:
|
|
7110
|
+
placeholder: L.urlPlaceholder,
|
|
4418
7111
|
autocomplete: "off"
|
|
4419
7112
|
});
|
|
4420
7113
|
this._urlInput = urlInput;
|
|
4421
7114
|
const altLabel = createElement("label", { class: "an-label" });
|
|
4422
|
-
altLabel.textContent =
|
|
7115
|
+
altLabel.textContent = L.altText;
|
|
4423
7116
|
const altInput = createElement("input", {
|
|
4424
7117
|
type: "text",
|
|
4425
7118
|
class: "an-input",
|
|
4426
|
-
placeholder:
|
|
7119
|
+
placeholder: L.altPlaceholder,
|
|
4427
7120
|
autocomplete: "off"
|
|
4428
7121
|
});
|
|
4429
7122
|
this._altInput = altInput;
|
|
4430
7123
|
box.append(title, urlLabel, urlInput, altLabel, altInput);
|
|
4431
7124
|
const alignLabel = createElement("label", { class: "an-label" });
|
|
4432
|
-
alignLabel.textContent =
|
|
7125
|
+
alignLabel.textContent = L.alignment;
|
|
4433
7126
|
const alignRow = createElement("div", { class: "an-align-row" });
|
|
4434
7127
|
[
|
|
4435
7128
|
{
|
|
4436
7129
|
value: "",
|
|
4437
|
-
label:
|
|
7130
|
+
label: L.alignNone
|
|
4438
7131
|
},
|
|
4439
7132
|
{
|
|
4440
7133
|
value: "left",
|
|
4441
|
-
label:
|
|
7134
|
+
label: L.alignLeft
|
|
4442
7135
|
},
|
|
4443
7136
|
{
|
|
4444
7137
|
value: "center",
|
|
4445
|
-
label:
|
|
7138
|
+
label: L.alignCenter
|
|
4446
7139
|
},
|
|
4447
7140
|
{
|
|
4448
7141
|
value: "right",
|
|
4449
|
-
label:
|
|
7142
|
+
label: L.alignRight
|
|
4450
7143
|
}
|
|
4451
7144
|
].forEach(({ value, label }) => {
|
|
4452
7145
|
const radioId = `an-align-${value || "none"}`;
|
|
@@ -4468,7 +7161,7 @@ var ImageDialog = class {
|
|
|
4468
7161
|
box.append(alignLabel, alignRow);
|
|
4469
7162
|
if (this.options.allowImageUpload !== false) {
|
|
4470
7163
|
const fileLabel = createElement("label", { class: "an-label" });
|
|
4471
|
-
fileLabel.textContent =
|
|
7164
|
+
fileLabel.textContent = L.uploadLabel;
|
|
4472
7165
|
const fileInput = createElement("input", {
|
|
4473
7166
|
type: "file",
|
|
4474
7167
|
class: "an-input",
|
|
@@ -4486,12 +7179,12 @@ var ImageDialog = class {
|
|
|
4486
7179
|
type: "button",
|
|
4487
7180
|
class: "an-btn an-btn-primary"
|
|
4488
7181
|
});
|
|
4489
|
-
insertBtn.textContent =
|
|
7182
|
+
insertBtn.textContent = L.insertBtn;
|
|
4490
7183
|
const cancelBtn = createElement("button", {
|
|
4491
7184
|
type: "button",
|
|
4492
7185
|
class: "an-btn"
|
|
4493
7186
|
});
|
|
4494
|
-
cancelBtn.textContent =
|
|
7187
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
4495
7188
|
btnRow.appendChild(insertBtn);
|
|
4496
7189
|
btnRow.appendChild(cancelBtn);
|
|
4497
7190
|
box.append(btnRow);
|
|
@@ -4527,7 +7220,7 @@ var ImageDialog = class {
|
|
|
4527
7220
|
"image/svg+xml",
|
|
4528
7221
|
"image/avif"
|
|
4529
7222
|
]).has(file.type)) {
|
|
4530
|
-
const message =
|
|
7223
|
+
const message = this.context.locale.errors.imageFormat(file.type);
|
|
4531
7224
|
if (this._fileHint) this._fileHint.textContent = message;
|
|
4532
7225
|
this.context.triggerEvent("imageError", {
|
|
4533
7226
|
file,
|
|
@@ -4539,7 +7232,7 @@ var ImageDialog = class {
|
|
|
4539
7232
|
if (this._fileHint) this._fileHint.textContent = "";
|
|
4540
7233
|
const maxSize = (this.options.maxImageSize || 5) * 1024 * 1024;
|
|
4541
7234
|
if (file.size > maxSize) {
|
|
4542
|
-
const message =
|
|
7235
|
+
const message = this.context.locale.errors.imageSize(this.options.maxImageSize || 5);
|
|
4543
7236
|
if (this._fileHint) this._fileHint.textContent = message;
|
|
4544
7237
|
console.warn("[AutumnNote] ImageDialog:", message);
|
|
4545
7238
|
this.context.triggerEvent("imageError", {
|
|
@@ -4625,28 +7318,29 @@ var VideoDialog = class {
|
|
|
4625
7318
|
this._open();
|
|
4626
7319
|
}
|
|
4627
7320
|
_buildDialog() {
|
|
7321
|
+
const L = this.context.locale.videoDialog;
|
|
4628
7322
|
const overlay = createElement("div", {
|
|
4629
7323
|
class: "an-dialog-overlay",
|
|
4630
7324
|
role: "dialog",
|
|
4631
7325
|
"aria-modal": "true",
|
|
4632
|
-
"aria-label":
|
|
7326
|
+
"aria-label": L.ariaLabel
|
|
4633
7327
|
});
|
|
4634
7328
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
4635
7329
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
4636
|
-
title.textContent =
|
|
7330
|
+
title.textContent = L.title;
|
|
4637
7331
|
const urlLabel = createElement("label", { class: "an-label" });
|
|
4638
|
-
urlLabel.textContent =
|
|
7332
|
+
urlLabel.textContent = L.videoUrl;
|
|
4639
7333
|
const urlInput = createElement("input", {
|
|
4640
7334
|
type: "url",
|
|
4641
7335
|
class: "an-input",
|
|
4642
|
-
placeholder:
|
|
7336
|
+
placeholder: L.urlPlaceholder,
|
|
4643
7337
|
autocomplete: "off"
|
|
4644
7338
|
});
|
|
4645
7339
|
this._urlInput = urlInput;
|
|
4646
7340
|
const hintEl = createElement("p", { class: "an-dialog-hint" });
|
|
4647
7341
|
this._hintEl = hintEl;
|
|
4648
7342
|
const widthLabel = createElement("label", { class: "an-label" });
|
|
4649
|
-
widthLabel.textContent =
|
|
7343
|
+
widthLabel.textContent = L.widthLabel;
|
|
4650
7344
|
const widthInput = createElement("input", {
|
|
4651
7345
|
type: "number",
|
|
4652
7346
|
class: "an-input",
|
|
@@ -4661,19 +7355,19 @@ var VideoDialog = class {
|
|
|
4661
7355
|
type: "button",
|
|
4662
7356
|
class: "an-btn an-btn-primary"
|
|
4663
7357
|
});
|
|
4664
|
-
insertBtn.textContent =
|
|
7358
|
+
insertBtn.textContent = L.insertBtn;
|
|
4665
7359
|
const cancelBtn = createElement("button", {
|
|
4666
7360
|
type: "button",
|
|
4667
7361
|
class: "an-btn"
|
|
4668
7362
|
});
|
|
4669
|
-
cancelBtn.textContent =
|
|
7363
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
4670
7364
|
btnRow.appendChild(insertBtn);
|
|
4671
7365
|
btnRow.appendChild(cancelBtn);
|
|
4672
7366
|
box.append(title, urlLabel, urlInput, hintEl, widthLabel, widthInput, btnRow);
|
|
4673
7367
|
overlay.appendChild(box);
|
|
4674
7368
|
const d0 = on(urlInput, "input", () => {
|
|
4675
7369
|
const info = this._parseVideoUrl(urlInput.value.trim());
|
|
4676
|
-
hintEl.textContent = info ?
|
|
7370
|
+
hintEl.textContent = info ? this.context.locale.videoDialog.detected(info.type) : urlInput.value ? this.context.locale.videoDialog.unknownFormat : "";
|
|
4677
7371
|
});
|
|
4678
7372
|
const d1 = on(insertBtn, "click", () => this._onInsert());
|
|
4679
7373
|
const d2 = on(cancelBtn, "click", () => this._close());
|
|
@@ -4698,7 +7392,7 @@ var VideoDialog = class {
|
|
|
4698
7392
|
}
|
|
4699
7393
|
const html = this._buildEmbedHtml(rawUrl, width);
|
|
4700
7394
|
if (!html) {
|
|
4701
|
-
this._hintEl.textContent =
|
|
7395
|
+
this._hintEl.textContent = this.context.locale.videoDialog.invalidUrl;
|
|
4702
7396
|
this._urlInput.focus();
|
|
4703
7397
|
return;
|
|
4704
7398
|
}
|
|
@@ -5270,19 +7964,20 @@ var LinkTooltip = class {
|
|
|
5270
7964
|
this._el = null;
|
|
5271
7965
|
}
|
|
5272
7966
|
_buildTooltip() {
|
|
7967
|
+
const L = this.context.locale.tooltips.link;
|
|
5273
7968
|
const el = createElement("div", {
|
|
5274
7969
|
class: "an-link-tooltip",
|
|
5275
7970
|
role: "toolbar",
|
|
5276
|
-
"aria-label":
|
|
7971
|
+
"aria-label": L.ariaLabel
|
|
5277
7972
|
});
|
|
5278
7973
|
el.style.display = "none";
|
|
5279
7974
|
this._urlLabel = createElement("span", { class: "an-link-tooltip-url" });
|
|
5280
7975
|
el.appendChild(this._urlLabel);
|
|
5281
7976
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5282
|
-
this._openBtn = this._makeBtn(ICONS$5.open,
|
|
5283
|
-
this._copyBtn = this._makeBtn(ICONS$5.copy,
|
|
5284
|
-
this._editBtn = this._makeBtn(ICONS$5.edit,
|
|
5285
|
-
this._unlinkBtn = this._makeBtn(ICONS$5.unlink,
|
|
7977
|
+
this._openBtn = this._makeBtn(ICONS$5.open, L.openLink, () => this._openLink());
|
|
7978
|
+
this._copyBtn = this._makeBtn(ICONS$5.copy, L.copyUrl, () => this._copyLink());
|
|
7979
|
+
this._editBtn = this._makeBtn(ICONS$5.edit, L.editLink, () => this._editLink());
|
|
7980
|
+
this._unlinkBtn = this._makeBtn(ICONS$5.unlink, L.removeLink, () => this._unlink());
|
|
5286
7981
|
el.appendChild(this._openBtn);
|
|
5287
7982
|
el.appendChild(this._copyBtn);
|
|
5288
7983
|
el.appendChild(this._editBtn);
|
|
@@ -5461,38 +8156,39 @@ var ImageTooltip = class {
|
|
|
5461
8156
|
this._el = null;
|
|
5462
8157
|
}
|
|
5463
8158
|
_buildTooltip() {
|
|
8159
|
+
const L = this.context.locale.tooltips.image;
|
|
5464
8160
|
const el = createElement("div", {
|
|
5465
8161
|
class: "an-link-tooltip an-image-tooltip",
|
|
5466
8162
|
role: "toolbar",
|
|
5467
|
-
"aria-label":
|
|
8163
|
+
"aria-label": L.ariaLabel
|
|
5468
8164
|
});
|
|
5469
8165
|
el.style.display = "none";
|
|
5470
8166
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
5471
|
-
this._label.textContent =
|
|
8167
|
+
this._label.textContent = L.label;
|
|
5472
8168
|
el.appendChild(this._label);
|
|
5473
8169
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5474
|
-
this._floatLeftBtn = this._makeBtn(ICONS$4.floatLeft,
|
|
5475
|
-
this._floatNoneBtn = this._makeBtn(ICONS$4.floatNone,
|
|
5476
|
-
this._alignCenterBtn = this._makeBtn(ICONS$4.alignCenter,
|
|
5477
|
-
this._floatRightBtn = this._makeBtn(ICONS$4.floatRight,
|
|
8170
|
+
this._floatLeftBtn = this._makeBtn(ICONS$4.floatLeft, L.floatLeft, () => this._setFloat("left"));
|
|
8171
|
+
this._floatNoneBtn = this._makeBtn(ICONS$4.floatNone, L.noFloat, () => this._setFloat(""));
|
|
8172
|
+
this._alignCenterBtn = this._makeBtn(ICONS$4.alignCenter, L.alignCenter, () => this._setCenter());
|
|
8173
|
+
this._floatRightBtn = this._makeBtn(ICONS$4.floatRight, L.floatRight, () => this._setFloat("right"));
|
|
5478
8174
|
el.appendChild(this._floatLeftBtn);
|
|
5479
8175
|
el.appendChild(this._floatNoneBtn);
|
|
5480
8176
|
el.appendChild(this._alignCenterBtn);
|
|
5481
8177
|
el.appendChild(this._floatRightBtn);
|
|
5482
8178
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5483
|
-
this._originalBtn = this._makeBtn(ICONS$4.originalSize,
|
|
8179
|
+
this._originalBtn = this._makeBtn(ICONS$4.originalSize, L.originalSize, () => this._resetSize());
|
|
5484
8180
|
el.appendChild(this._originalBtn);
|
|
5485
8181
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5486
|
-
el.appendChild(this._makeBtn(ICONS$4.rotateLeft,
|
|
5487
|
-
el.appendChild(this._makeBtn(ICONS$4.rotateRight,
|
|
8182
|
+
el.appendChild(this._makeBtn(ICONS$4.rotateLeft, L.rotateLeft, () => this._rotate(-90)));
|
|
8183
|
+
el.appendChild(this._makeBtn(ICONS$4.rotateRight, L.rotateRight, () => this._rotate(90)));
|
|
5488
8184
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5489
|
-
this._cropBtn = this._makeBtn(ICONS$4.crop,
|
|
8185
|
+
this._cropBtn = this._makeBtn(ICONS$4.crop, L.cropImage, () => this._crop());
|
|
5490
8186
|
el.appendChild(this._cropBtn);
|
|
5491
8187
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5492
|
-
this._captionBtn = this._makeBtn(ICONS$4.caption,
|
|
8188
|
+
this._captionBtn = this._makeBtn(ICONS$4.caption, L.addCaption, () => this._toggleCaption());
|
|
5493
8189
|
el.appendChild(this._captionBtn);
|
|
5494
8190
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5495
|
-
this._deleteBtn = this._makeBtn(ICONS$4.deleteImg,
|
|
8191
|
+
this._deleteBtn = this._makeBtn(ICONS$4.deleteImg, L.deleteImage, () => this._delete(), true);
|
|
5496
8192
|
el.appendChild(this._deleteBtn);
|
|
5497
8193
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => this._scheduleHide()));
|
|
5498
8194
|
return el;
|
|
@@ -5744,32 +8440,33 @@ var VideoTooltip = class {
|
|
|
5744
8440
|
this._el = null;
|
|
5745
8441
|
}
|
|
5746
8442
|
_buildTooltip() {
|
|
8443
|
+
const L = this.context.locale.tooltips.video;
|
|
5747
8444
|
const el = createElement("div", {
|
|
5748
8445
|
class: "an-link-tooltip an-video-tooltip",
|
|
5749
8446
|
role: "toolbar",
|
|
5750
|
-
"aria-label":
|
|
8447
|
+
"aria-label": L.ariaLabel
|
|
5751
8448
|
});
|
|
5752
8449
|
el.style.display = "none";
|
|
5753
8450
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
5754
|
-
this._label.textContent =
|
|
8451
|
+
this._label.textContent = L.label;
|
|
5755
8452
|
el.appendChild(this._label);
|
|
5756
8453
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5757
|
-
this._floatLeftBtn = this._makeBtn(ICONS$3.floatLeft,
|
|
5758
|
-
this._floatNoneBtn = this._makeBtn(ICONS$3.floatNone,
|
|
5759
|
-
this._alignCenterBtn = this._makeBtn(ICONS$3.alignCenter,
|
|
5760
|
-
this._floatRightBtn = this._makeBtn(ICONS$3.floatRight,
|
|
8454
|
+
this._floatLeftBtn = this._makeBtn(ICONS$3.floatLeft, L.floatLeft, () => this._setFloat("left"));
|
|
8455
|
+
this._floatNoneBtn = this._makeBtn(ICONS$3.floatNone, L.noFloat, () => this._setFloat(""));
|
|
8456
|
+
this._alignCenterBtn = this._makeBtn(ICONS$3.alignCenter, L.alignCenter, () => this._setCenter());
|
|
8457
|
+
this._floatRightBtn = this._makeBtn(ICONS$3.floatRight, L.floatRight, () => this._setFloat("right"));
|
|
5761
8458
|
el.appendChild(this._floatLeftBtn);
|
|
5762
8459
|
el.appendChild(this._floatNoneBtn);
|
|
5763
8460
|
el.appendChild(this._alignCenterBtn);
|
|
5764
8461
|
el.appendChild(this._floatRightBtn);
|
|
5765
8462
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5766
|
-
this._originalBtn = this._makeBtn(ICONS$3.originalSize,
|
|
8463
|
+
this._originalBtn = this._makeBtn(ICONS$3.originalSize, L.originalSize, () => this._resetSize());
|
|
5767
8464
|
el.appendChild(this._originalBtn);
|
|
5768
8465
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5769
|
-
this._previewBtn = this._makeBtn(ICONS$3.preview,
|
|
8466
|
+
this._previewBtn = this._makeBtn(ICONS$3.preview, L.previewVideo, () => this._togglePreview());
|
|
5770
8467
|
el.appendChild(this._previewBtn);
|
|
5771
8468
|
el.appendChild(createElement("div", { class: "an-link-tooltip-sep" }));
|
|
5772
|
-
this._deleteBtn = this._makeBtn(ICONS$3.deleteVideo,
|
|
8469
|
+
this._deleteBtn = this._makeBtn(ICONS$3.deleteVideo, L.deleteVideo, () => this._delete(), true);
|
|
5773
8470
|
el.appendChild(this._deleteBtn);
|
|
5774
8471
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => this._scheduleHide()));
|
|
5775
8472
|
return el;
|
|
@@ -5906,7 +8603,7 @@ var VideoTooltip = class {
|
|
|
5906
8603
|
if (shield) shield.style.display = "none";
|
|
5907
8604
|
this.context.invoke("videoResizer.deselect");
|
|
5908
8605
|
this._previewBtn.classList.add("an-link-tooltip-btn--copied");
|
|
5909
|
-
this._previewBtn.title =
|
|
8606
|
+
this._previewBtn.title = this.context.locale.tooltips.video.exitPreview;
|
|
5910
8607
|
this._previewClickOff = (e) => {
|
|
5911
8608
|
if (!wrapper.contains(e.target) && !this._el.contains(e.target)) this._exitPreview();
|
|
5912
8609
|
};
|
|
@@ -5920,7 +8617,7 @@ var VideoTooltip = class {
|
|
|
5920
8617
|
if (shield) shield.style.display = "";
|
|
5921
8618
|
}
|
|
5922
8619
|
this._previewBtn.classList.remove("an-link-tooltip-btn--copied");
|
|
5923
|
-
this._previewBtn.title =
|
|
8620
|
+
this._previewBtn.title = this.context.locale.tooltips.video.previewVideo;
|
|
5924
8621
|
if (this._previewClickOff) {
|
|
5925
8622
|
document.removeEventListener("mousedown", this._previewClickOff, true);
|
|
5926
8623
|
this._previewClickOff = null;
|
|
@@ -6234,35 +8931,36 @@ var TableTooltip = class {
|
|
|
6234
8931
|
this._sizePopover = null;
|
|
6235
8932
|
}
|
|
6236
8933
|
_buildTooltip() {
|
|
8934
|
+
const L = this.context.locale.tooltips.table;
|
|
6237
8935
|
const el = createElement("div", {
|
|
6238
8936
|
class: "an-link-tooltip an-table-tooltip",
|
|
6239
8937
|
role: "toolbar",
|
|
6240
|
-
"aria-label":
|
|
8938
|
+
"aria-label": L.ariaLabel
|
|
6241
8939
|
});
|
|
6242
8940
|
el.style.display = "none";
|
|
6243
8941
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
6244
|
-
this._label.textContent =
|
|
8942
|
+
this._label.textContent = L.label;
|
|
6245
8943
|
el.appendChild(this._label);
|
|
6246
8944
|
el.appendChild(this._sep());
|
|
6247
|
-
this._selectBtn = this._makeBtn(ICONS$2.selectCells,
|
|
8945
|
+
this._selectBtn = this._makeBtn(ICONS$2.selectCells, L.selectCells, () => this._toggleSelectMode());
|
|
6248
8946
|
el.appendChild(this._selectBtn);
|
|
6249
8947
|
el.appendChild(this._sep());
|
|
6250
|
-
el.appendChild(this._makeBtn(ICONS$2.rowAbove,
|
|
6251
|
-
el.appendChild(this._makeBtn(ICONS$2.rowBelow,
|
|
6252
|
-
el.appendChild(this._makeBtn(ICONS$2.deleteRow,
|
|
8948
|
+
el.appendChild(this._makeBtn(ICONS$2.rowAbove, L.addRowAbove, () => this._addRow("above")));
|
|
8949
|
+
el.appendChild(this._makeBtn(ICONS$2.rowBelow, L.addRowBelow, () => this._addRow("below")));
|
|
8950
|
+
el.appendChild(this._makeBtn(ICONS$2.deleteRow, L.deleteRow, () => this._deleteRow()));
|
|
6253
8951
|
el.appendChild(this._sep());
|
|
6254
|
-
el.appendChild(this._makeBtn(ICONS$2.colLeft,
|
|
6255
|
-
el.appendChild(this._makeBtn(ICONS$2.colRight,
|
|
6256
|
-
el.appendChild(this._makeBtn(ICONS$2.deleteCol,
|
|
8952
|
+
el.appendChild(this._makeBtn(ICONS$2.colLeft, L.addColumnLeft, () => this._addColumn("left")));
|
|
8953
|
+
el.appendChild(this._makeBtn(ICONS$2.colRight, L.addColumnRight, () => this._addColumn("right")));
|
|
8954
|
+
el.appendChild(this._makeBtn(ICONS$2.deleteCol, L.deleteColumn, () => this._deleteColumn()));
|
|
6257
8955
|
el.appendChild(this._sep());
|
|
6258
|
-
el.appendChild(this._makeBtn(ICONS$2.mergeCells,
|
|
6259
|
-
el.appendChild(this._makeBtn(ICONS$2.unmergeCells,
|
|
8956
|
+
el.appendChild(this._makeBtn(ICONS$2.mergeCells, L.mergeCells, () => this._mergeCells()));
|
|
8957
|
+
el.appendChild(this._makeBtn(ICONS$2.unmergeCells, L.unmergeCells, () => this._unmergeCells()));
|
|
6260
8958
|
el.appendChild(this._sep());
|
|
6261
|
-
el.appendChild(this._makeBtn(ICONS$2.colWidth,
|
|
6262
|
-
el.appendChild(this._makeBtn(ICONS$2.rowHeight,
|
|
6263
|
-
el.appendChild(this._makeBtn(ICONS$2.tableBorder,
|
|
8959
|
+
el.appendChild(this._makeBtn(ICONS$2.colWidth, L.columnWidth, () => this._openSizePopover("col")));
|
|
8960
|
+
el.appendChild(this._makeBtn(ICONS$2.rowHeight, L.rowHeight, () => this._openSizePopover("row")));
|
|
8961
|
+
el.appendChild(this._makeBtn(ICONS$2.tableBorder, L.tableBorderWidth, () => this._openSizePopover("border")));
|
|
6264
8962
|
el.appendChild(this._sep());
|
|
6265
|
-
el.appendChild(this._makeBtn(ICONS$2.deleteTable,
|
|
8963
|
+
el.appendChild(this._makeBtn(ICONS$2.deleteTable, L.deleteTable, () => this._deleteTable(), true));
|
|
6266
8964
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => {
|
|
6267
8965
|
if (this._selectMode) return;
|
|
6268
8966
|
if (this._sizePopover && this._sizePopover.style.display !== "none") return;
|
|
@@ -6660,12 +9358,12 @@ var TableTooltip = class {
|
|
|
6660
9358
|
type: "button",
|
|
6661
9359
|
class: "an-btn"
|
|
6662
9360
|
});
|
|
6663
|
-
cancelBtn.textContent =
|
|
9361
|
+
cancelBtn.textContent = this.context.locale.tooltips.table.cancelBtn;
|
|
6664
9362
|
const applyBtn = createElement("button", {
|
|
6665
9363
|
type: "button",
|
|
6666
9364
|
class: "an-btn an-btn-primary"
|
|
6667
9365
|
});
|
|
6668
|
-
applyBtn.textContent =
|
|
9366
|
+
applyBtn.textContent = this.context.locale.tooltips.table.applyBtn;
|
|
6669
9367
|
actionsEl.appendChild(cancelBtn);
|
|
6670
9368
|
actionsEl.appendChild(applyBtn);
|
|
6671
9369
|
popover.appendChild(titleEl);
|
|
@@ -6703,7 +9401,7 @@ var TableTooltip = class {
|
|
|
6703
9401
|
if (!table) return;
|
|
6704
9402
|
const firstCell = table.querySelector("td, th");
|
|
6705
9403
|
const currentPx = firstCell ? parseInt(firstCell.style.borderWidth, 10) || parseInt(window.getComputedStyle(firstCell).borderWidth, 10) || 1 : 1;
|
|
6706
|
-
this._sizeTitleEl.textContent =
|
|
9404
|
+
this._sizeTitleEl.textContent = this.context.locale.tooltips.table.tableBorderWidthPx;
|
|
6707
9405
|
this._sizeInputEl.min = "0";
|
|
6708
9406
|
this._sizeInputEl.max = "10";
|
|
6709
9407
|
this._sizeInputEl.value = currentPx;
|
|
@@ -6725,7 +9423,7 @@ var TableTooltip = class {
|
|
|
6725
9423
|
const t = c.closest("table");
|
|
6726
9424
|
return t && t === cell.closest("table");
|
|
6727
9425
|
});
|
|
6728
|
-
this._sizeTitleEl.textContent = isCol ?
|
|
9426
|
+
this._sizeTitleEl.textContent = isCol ? this.context.locale.tooltips.table.columnWidthPx : this.context.locale.tooltips.table.rowHeightPx;
|
|
6729
9427
|
this._sizeInputEl.min = "1";
|
|
6730
9428
|
this._sizeInputEl.max = "2000";
|
|
6731
9429
|
this._sizeInputEl.value = isCol ? cell.offsetWidth || 120 : cell.closest("tr") ? cell.closest("tr").offsetHeight || 40 : 40;
|
|
@@ -6825,20 +9523,21 @@ var CodeTooltip = class {
|
|
|
6825
9523
|
this._el = null;
|
|
6826
9524
|
}
|
|
6827
9525
|
_buildTooltip() {
|
|
9526
|
+
const L = this.context.locale.tooltips.code;
|
|
6828
9527
|
const el = createElement("div", {
|
|
6829
9528
|
class: "an-link-tooltip an-code-tooltip",
|
|
6830
9529
|
role: "toolbar",
|
|
6831
|
-
"aria-label":
|
|
9530
|
+
"aria-label": L.ariaLabel
|
|
6832
9531
|
});
|
|
6833
9532
|
el.style.display = "none";
|
|
6834
9533
|
this._label = createElement("span", { class: "an-link-tooltip-url" });
|
|
6835
|
-
this._label.textContent =
|
|
9534
|
+
this._label.textContent = L.label;
|
|
6836
9535
|
el.appendChild(this._label);
|
|
6837
9536
|
el.appendChild(this._sep());
|
|
6838
9537
|
this._langSelect = createElement("select", {
|
|
6839
9538
|
class: "an-code-lang-select",
|
|
6840
|
-
title:
|
|
6841
|
-
"aria-label":
|
|
9539
|
+
title: L.syntaxLanguage,
|
|
9540
|
+
"aria-label": L.syntaxAriaLabel
|
|
6842
9541
|
});
|
|
6843
9542
|
[
|
|
6844
9543
|
["", "Plain text"],
|
|
@@ -6869,15 +9568,15 @@ var CodeTooltip = class {
|
|
|
6869
9568
|
this._disposers.push(on(this._langSelect, "change", () => this._onLangChange()));
|
|
6870
9569
|
el.appendChild(this._langSelect);
|
|
6871
9570
|
el.appendChild(this._sep());
|
|
6872
|
-
this._copyBtn = this._makeBtn(ICONS$1.copy,
|
|
9571
|
+
this._copyBtn = this._makeBtn(ICONS$1.copy, L.copyCode, () => this._copyCode());
|
|
6873
9572
|
el.appendChild(this._copyBtn);
|
|
6874
9573
|
el.appendChild(this._sep());
|
|
6875
|
-
this._wrapBtn = this._makeBtn(ICONS$1.wrapOn,
|
|
9574
|
+
this._wrapBtn = this._makeBtn(ICONS$1.wrapOn, L.toggleWordWrap, () => this._toggleWrap());
|
|
6876
9575
|
el.appendChild(this._wrapBtn);
|
|
6877
9576
|
el.appendChild(this._sep());
|
|
6878
|
-
el.appendChild(this._makeBtn(ICONS$1.toParagraph,
|
|
9577
|
+
el.appendChild(this._makeBtn(ICONS$1.toParagraph, L.convertToParagraph, () => this._toParagraph()));
|
|
6879
9578
|
el.appendChild(this._sep());
|
|
6880
|
-
el.appendChild(this._makeBtn(ICONS$1.deleteCode,
|
|
9579
|
+
el.appendChild(this._makeBtn(ICONS$1.deleteCode, L.deleteCodeBlock, () => this._delete(), true));
|
|
6881
9580
|
this._disposers.push(on(el, "mouseenter", () => this._clearTimers()), on(el, "mouseleave", () => this._scheduleHide()));
|
|
6882
9581
|
return el;
|
|
6883
9582
|
}
|
|
@@ -6954,7 +9653,7 @@ var CodeTooltip = class {
|
|
|
6954
9653
|
if (!this._activePre || !this._wrapBtn) return;
|
|
6955
9654
|
const wrapped = (this._activePre.style.whiteSpace || "").includes("pre-wrap") || window.getComputedStyle(this._activePre).whiteSpace === "pre-wrap";
|
|
6956
9655
|
this._wrapBtn.classList.toggle("active", wrapped);
|
|
6957
|
-
this._wrapBtn.title = wrapped ?
|
|
9656
|
+
this._wrapBtn.title = wrapped ? this.context.locale.tooltips.code.disableWordWrap : this.context.locale.tooltips.code.enableWordWrap;
|
|
6958
9657
|
}
|
|
6959
9658
|
_syncLangSelect() {
|
|
6960
9659
|
if (!this._activePre || !this._langSelect) return;
|
|
@@ -9484,27 +12183,28 @@ var EmojiDialog = class {
|
|
|
9484
12183
|
this._open();
|
|
9485
12184
|
}
|
|
9486
12185
|
_buildDialog() {
|
|
12186
|
+
const L = this.context.locale.emojiDialog;
|
|
9487
12187
|
const overlay = createElement("div", {
|
|
9488
12188
|
class: "an-dialog-overlay",
|
|
9489
12189
|
role: "dialog",
|
|
9490
12190
|
"aria-modal": "true",
|
|
9491
|
-
"aria-label":
|
|
12191
|
+
"aria-label": L.ariaLabel
|
|
9492
12192
|
});
|
|
9493
12193
|
const box = createElement("div", { class: "an-dialog-box an-emoji-box" });
|
|
9494
12194
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
9495
12195
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
9496
|
-
title.textContent =
|
|
12196
|
+
title.textContent = L.title;
|
|
9497
12197
|
const closeBtn = createElement("button", {
|
|
9498
12198
|
type: "button",
|
|
9499
12199
|
class: "an-icon-close",
|
|
9500
|
-
"aria-label":
|
|
12200
|
+
"aria-label": L.close
|
|
9501
12201
|
});
|
|
9502
12202
|
closeBtn.innerHTML = "×";
|
|
9503
12203
|
titleRow.append(title, closeBtn);
|
|
9504
12204
|
const searchInput = createElement("input", {
|
|
9505
12205
|
type: "search",
|
|
9506
12206
|
class: "an-input an-icon-search",
|
|
9507
|
-
placeholder:
|
|
12207
|
+
placeholder: L.searchPlaceholder,
|
|
9508
12208
|
autocomplete: "off"
|
|
9509
12209
|
});
|
|
9510
12210
|
this._searchInput = searchInput;
|
|
@@ -9514,7 +12214,7 @@ var EmojiDialog = class {
|
|
|
9514
12214
|
class: "an-icon-cat active",
|
|
9515
12215
|
"data-cat": "all"
|
|
9516
12216
|
});
|
|
9517
|
-
allTab.textContent =
|
|
12217
|
+
allTab.textContent = L.all;
|
|
9518
12218
|
catBar.appendChild(allTab);
|
|
9519
12219
|
EMOJI_CATS.forEach(({ id, label }) => {
|
|
9520
12220
|
const tab = createElement("button", {
|
|
@@ -9522,7 +12222,7 @@ var EmojiDialog = class {
|
|
|
9522
12222
|
class: "an-icon-cat",
|
|
9523
12223
|
"data-cat": id
|
|
9524
12224
|
});
|
|
9525
|
-
tab.textContent = label;
|
|
12225
|
+
tab.textContent = L.categories && L.categories[id] || label;
|
|
9526
12226
|
catBar.appendChild(tab);
|
|
9527
12227
|
});
|
|
9528
12228
|
this._catBar = catBar;
|
|
@@ -9545,7 +12245,7 @@ var EmojiDialog = class {
|
|
|
9545
12245
|
type: "button",
|
|
9546
12246
|
class: "an-btn"
|
|
9547
12247
|
});
|
|
9548
|
-
cancelBtn.textContent =
|
|
12248
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
9549
12249
|
btnRow.appendChild(cancelBtn);
|
|
9550
12250
|
box.append(titleRow, searchInput, catBar, grid, btnRow);
|
|
9551
12251
|
overlay.appendChild(box);
|
|
@@ -9956,27 +12656,28 @@ var IconDialog = class {
|
|
|
9956
12656
|
this._open();
|
|
9957
12657
|
}
|
|
9958
12658
|
_buildDialog() {
|
|
12659
|
+
const L = this.context.locale.iconDialog;
|
|
9959
12660
|
const overlay = createElement("div", {
|
|
9960
12661
|
class: "an-dialog-overlay",
|
|
9961
12662
|
role: "dialog",
|
|
9962
12663
|
"aria-modal": "true",
|
|
9963
|
-
"aria-label":
|
|
12664
|
+
"aria-label": L.ariaLabel
|
|
9964
12665
|
});
|
|
9965
12666
|
const box = createElement("div", { class: "an-dialog-box an-icon-box" });
|
|
9966
12667
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
9967
12668
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
9968
|
-
title.textContent =
|
|
12669
|
+
title.textContent = L.title;
|
|
9969
12670
|
const closeBtn = createElement("button", {
|
|
9970
12671
|
type: "button",
|
|
9971
12672
|
class: "an-icon-close",
|
|
9972
|
-
"aria-label":
|
|
12673
|
+
"aria-label": L.close
|
|
9973
12674
|
});
|
|
9974
12675
|
closeBtn.innerHTML = "×";
|
|
9975
12676
|
titleRow.append(title, closeBtn);
|
|
9976
12677
|
const searchInput = createElement("input", {
|
|
9977
12678
|
type: "search",
|
|
9978
12679
|
class: "an-input an-icon-search",
|
|
9979
|
-
placeholder:
|
|
12680
|
+
placeholder: L.searchPlaceholder,
|
|
9980
12681
|
autocomplete: "off"
|
|
9981
12682
|
});
|
|
9982
12683
|
this._searchInput = searchInput;
|
|
@@ -9986,7 +12687,7 @@ var IconDialog = class {
|
|
|
9986
12687
|
class: "an-icon-cat active",
|
|
9987
12688
|
"data-cat": "all"
|
|
9988
12689
|
});
|
|
9989
|
-
allTab.textContent =
|
|
12690
|
+
allTab.textContent = L.all;
|
|
9990
12691
|
catBar.appendChild(allTab);
|
|
9991
12692
|
ICON_CATEGORIES.forEach(({ id, label }) => {
|
|
9992
12693
|
const tab = createElement("button", {
|
|
@@ -9994,7 +12695,7 @@ var IconDialog = class {
|
|
|
9994
12695
|
class: "an-icon-cat",
|
|
9995
12696
|
"data-cat": id
|
|
9996
12697
|
});
|
|
9997
|
-
tab.textContent = label;
|
|
12698
|
+
tab.textContent = L.categories && L.categories[id] || label;
|
|
9998
12699
|
catBar.appendChild(tab);
|
|
9999
12700
|
});
|
|
10000
12701
|
this._catBar = catBar;
|
|
@@ -10019,7 +12720,7 @@ var IconDialog = class {
|
|
|
10019
12720
|
this._grid = grid;
|
|
10020
12721
|
const optRow = createElement("div", { class: "an-icon-options" });
|
|
10021
12722
|
const styleLabel = createElement("label", { class: "an-label" });
|
|
10022
|
-
styleLabel.textContent =
|
|
12723
|
+
styleLabel.textContent = L.style;
|
|
10023
12724
|
const styleSelect = createElement("select", { class: "an-input an-icon-option-select" });
|
|
10024
12725
|
[
|
|
10025
12726
|
["fa-solid", "Solid"],
|
|
@@ -10033,7 +12734,7 @@ var IconDialog = class {
|
|
|
10033
12734
|
styleSelect.value = "fa-solid";
|
|
10034
12735
|
this._styleSelect = styleSelect;
|
|
10035
12736
|
const sizeLabel = createElement("label", { class: "an-label" });
|
|
10036
|
-
sizeLabel.textContent =
|
|
12737
|
+
sizeLabel.textContent = L.size;
|
|
10037
12738
|
const sizeSelect = createElement("select", { class: "an-input an-icon-option-select" });
|
|
10038
12739
|
[
|
|
10039
12740
|
["", "Inherit"],
|
|
@@ -10051,7 +12752,7 @@ var IconDialog = class {
|
|
|
10051
12752
|
});
|
|
10052
12753
|
this._sizeSelect = sizeSelect;
|
|
10053
12754
|
const colorLabel = createElement("label", { class: "an-label" });
|
|
10054
|
-
colorLabel.textContent =
|
|
12755
|
+
colorLabel.textContent = L.color;
|
|
10055
12756
|
const colorInput = createElement("input", {
|
|
10056
12757
|
type: "color",
|
|
10057
12758
|
class: "an-icon-color",
|
|
@@ -10064,11 +12765,11 @@ var IconDialog = class {
|
|
|
10064
12765
|
checked: ""
|
|
10065
12766
|
});
|
|
10066
12767
|
this._useColorCb = useColorCb;
|
|
10067
|
-
useColorLabel.append(useColorCb, document.createTextNode(
|
|
12768
|
+
useColorLabel.append(useColorCb, document.createTextNode(L.useColor));
|
|
10068
12769
|
optRow.append(styleLabel, styleSelect, sizeLabel, sizeSelect, colorLabel, colorInput, useColorLabel);
|
|
10069
12770
|
const preview = createElement("div", { class: "an-icon-preview" });
|
|
10070
12771
|
const previewHint = createElement("span", { class: "an-icon-preview-hint" });
|
|
10071
|
-
previewHint.textContent =
|
|
12772
|
+
previewHint.textContent = L.selectHint;
|
|
10072
12773
|
preview.appendChild(previewHint);
|
|
10073
12774
|
this._preview = preview;
|
|
10074
12775
|
const btnRow = createElement("div", { class: "an-dialog-actions" });
|
|
@@ -10077,12 +12778,12 @@ var IconDialog = class {
|
|
|
10077
12778
|
class: "an-btn an-btn-primary",
|
|
10078
12779
|
disabled: ""
|
|
10079
12780
|
});
|
|
10080
|
-
insertBtn.textContent =
|
|
12781
|
+
insertBtn.textContent = L.insertBtn;
|
|
10081
12782
|
const cancelBtn = createElement("button", {
|
|
10082
12783
|
type: "button",
|
|
10083
12784
|
class: "an-btn"
|
|
10084
12785
|
});
|
|
10085
|
-
cancelBtn.textContent =
|
|
12786
|
+
cancelBtn.textContent = L.cancelBtn;
|
|
10086
12787
|
btnRow.append(insertBtn, cancelBtn);
|
|
10087
12788
|
this._insertBtn = insertBtn;
|
|
10088
12789
|
box.append(titleRow, searchInput, catBar, grid, optRow, preview, btnRow);
|
|
@@ -10283,9 +12984,11 @@ var COLOR_PRESETS = [
|
|
|
10283
12984
|
];
|
|
10284
12985
|
function makeColorSubItems(colorType) {
|
|
10285
12986
|
const label = colorType === "foreColor" ? "Text Color" : "Highlight Color";
|
|
12987
|
+
const localeKey = colorType === "foreColor" ? "textColor" : "highlightColor";
|
|
10286
12988
|
return () => [{
|
|
10287
12989
|
back: true,
|
|
10288
12990
|
label,
|
|
12991
|
+
localeKey,
|
|
10289
12992
|
navigate: () => defaultItems
|
|
10290
12993
|
}, {
|
|
10291
12994
|
colorPalette: true,
|
|
@@ -10482,7 +13185,8 @@ var ContextMenu = class {
|
|
|
10482
13185
|
});
|
|
10483
13186
|
iconSpan.innerHTML = ICONS.back;
|
|
10484
13187
|
backBtn.appendChild(iconSpan);
|
|
10485
|
-
|
|
13188
|
+
const backLabel = it.localeKey && this.context.locale.contextMenu[it.localeKey] || it.label || this.context.locale.contextMenu.back || "Back";
|
|
13189
|
+
backBtn.appendChild(createElement("span", { class: "an-context-label" }, [backLabel]));
|
|
10486
13190
|
const off = on(backBtn, "click", (e) => {
|
|
10487
13191
|
e.stopPropagation();
|
|
10488
13192
|
const curLeft = parseFloat(this.el.style.left);
|
|
@@ -10520,7 +13224,7 @@ var ContextMenu = class {
|
|
|
10520
13224
|
iconSpan.innerHTML = it.icon;
|
|
10521
13225
|
btn.appendChild(iconSpan);
|
|
10522
13226
|
}
|
|
10523
|
-
btn.appendChild(createElement("span", { class: "an-context-label" }, [it.label || it.name]));
|
|
13227
|
+
btn.appendChild(createElement("span", { class: "an-context-label" }, [this.context.locale.contextMenu[it.name] || it.label || it.name]));
|
|
10524
13228
|
const chevron = createElement("span", {
|
|
10525
13229
|
class: "an-context-chevron",
|
|
10526
13230
|
"aria-hidden": "true"
|
|
@@ -10558,9 +13262,9 @@ var ContextMenu = class {
|
|
|
10558
13262
|
if (it.colorType === "hiliteColor") {
|
|
10559
13263
|
const noColor = createElement("div", {
|
|
10560
13264
|
class: "an-context-color-swatch an-context-color-none",
|
|
10561
|
-
title: "No highlight",
|
|
13265
|
+
title: this.context.locale.contextMenu.noHighlight || "No highlight",
|
|
10562
13266
|
role: "button",
|
|
10563
|
-
"aria-label": "No highlight"
|
|
13267
|
+
"aria-label": this.context.locale.contextMenu.noHighlight || "No highlight"
|
|
10564
13268
|
});
|
|
10565
13269
|
noColor.innerHTML = ICONS.noColor;
|
|
10566
13270
|
const offNo = on(noColor, "click", (e) => {
|
|
@@ -10575,10 +13279,10 @@ var ContextMenu = class {
|
|
|
10575
13279
|
const colorInput = createElement("input", {
|
|
10576
13280
|
type: "color",
|
|
10577
13281
|
value: it.colorType === "foreColor" ? "#000000" : "#ffff00",
|
|
10578
|
-
title: "Custom color",
|
|
10579
|
-
"aria-label": "Custom color"
|
|
13282
|
+
title: this.context.locale.contextMenu.customColor || "Custom color",
|
|
13283
|
+
"aria-label": this.context.locale.contextMenu.customColor || "Custom color"
|
|
10580
13284
|
});
|
|
10581
|
-
const customLabel = createElement("span", {}, ["Custom…"]);
|
|
13285
|
+
const customLabel = createElement("span", {}, [this.context.locale.contextMenu.customColorLabel || "Custom…"]);
|
|
10582
13286
|
const offCustom = on(colorInput, "change", () => this._applyColor(it.colorType, colorInput.value));
|
|
10583
13287
|
this._menuDisposers.push(offCustom);
|
|
10584
13288
|
customRow.appendChild(colorInput);
|
|
@@ -10602,7 +13306,7 @@ var ContextMenu = class {
|
|
|
10602
13306
|
iconSpan.innerHTML = it.icon;
|
|
10603
13307
|
headerBtn.appendChild(iconSpan);
|
|
10604
13308
|
}
|
|
10605
|
-
headerBtn.appendChild(createElement("span", { class: "an-context-label" }, [it.label || "Insert Table"]));
|
|
13309
|
+
headerBtn.appendChild(createElement("span", { class: "an-context-label" }, [this.context.locale.contextMenu.table || it.label || "Insert Table"]));
|
|
10606
13310
|
const chevron = createElement("span", {
|
|
10607
13311
|
class: "an-context-chevron",
|
|
10608
13312
|
"aria-hidden": "true"
|
|
@@ -10631,7 +13335,7 @@ var ContextMenu = class {
|
|
|
10631
13335
|
cells.forEach((cell) => {
|
|
10632
13336
|
cell.classList.toggle("active", +cell.dataset.row <= rows && +cell.dataset.col <= cols);
|
|
10633
13337
|
});
|
|
10634
|
-
labelEl.textContent = rows && cols ? `${cols} × ${rows}` : "Insert Table";
|
|
13338
|
+
labelEl.textContent = rows && cols ? `${cols} × ${rows}` : this.context.locale.contextMenu.table || "Insert Table";
|
|
10635
13339
|
};
|
|
10636
13340
|
panel.appendChild(gridEl);
|
|
10637
13341
|
panel.appendChild(labelEl);
|
|
@@ -10685,7 +13389,7 @@ var ContextMenu = class {
|
|
|
10685
13389
|
iconSpan.innerHTML = it.icon;
|
|
10686
13390
|
btn.appendChild(iconSpan);
|
|
10687
13391
|
}
|
|
10688
|
-
btn.appendChild(createElement("span", { class: "an-context-label" }, [it.label || it.name]));
|
|
13392
|
+
btn.appendChild(createElement("span", { class: "an-context-label" }, [this.context.locale.contextMenu[it.name] || it.label || it.name]));
|
|
10689
13393
|
const off = on(btn, "click", (e) => {
|
|
10690
13394
|
e.stopPropagation();
|
|
10691
13395
|
this.hide();
|
|
@@ -10999,22 +13703,22 @@ var ShortcutsDialog = class {
|
|
|
10999
13703
|
class: "an-dialog-overlay",
|
|
11000
13704
|
role: "dialog",
|
|
11001
13705
|
"aria-modal": "true",
|
|
11002
|
-
"aria-label":
|
|
13706
|
+
"aria-label": this.context.locale.shortcutsDialog.ariaLabel
|
|
11003
13707
|
});
|
|
11004
13708
|
const box = createElement("div", { class: "an-dialog-box an-shortcuts-box" });
|
|
11005
13709
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
11006
13710
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
11007
|
-
title.textContent =
|
|
13711
|
+
title.textContent = this.context.locale.shortcutsDialog.title;
|
|
11008
13712
|
const closeBtn = createElement("button", {
|
|
11009
13713
|
type: "button",
|
|
11010
13714
|
class: "an-icon-close",
|
|
11011
|
-
"aria-label":
|
|
13715
|
+
"aria-label": this.context.locale.shortcutsDialog.close
|
|
11012
13716
|
});
|
|
11013
13717
|
closeBtn.textContent = "×";
|
|
11014
13718
|
this._closeBtn = closeBtn;
|
|
11015
13719
|
titleRow.append(title, closeBtn);
|
|
11016
13720
|
box.appendChild(titleRow);
|
|
11017
|
-
SHORTCUTS.forEach(({ category, items }) => {
|
|
13721
|
+
(this.context.locale.shortcutsDialog.shortcuts || SHORTCUTS).forEach(({ category, items }) => {
|
|
11018
13722
|
const catEl = createElement("div", { class: "an-shortcuts-cat" });
|
|
11019
13723
|
catEl.textContent = category;
|
|
11020
13724
|
box.appendChild(catEl);
|
|
@@ -11139,25 +13843,26 @@ var FindReplace = class {
|
|
|
11139
13843
|
const isReplace = this._mode === "replace";
|
|
11140
13844
|
if (replaceRow) replaceRow.style.display = isReplace ? "" : "none";
|
|
11141
13845
|
if (replaceActions) replaceActions.style.display = isReplace ? "" : "none";
|
|
11142
|
-
if (title) title.textContent = isReplace ?
|
|
13846
|
+
if (title) title.textContent = isReplace ? this.context.locale.findReplace.findReplaceTitle : this.context.locale.findReplace.findTitle;
|
|
11143
13847
|
}
|
|
11144
13848
|
_buildDialog() {
|
|
13849
|
+
const L = this.context.locale.findReplace;
|
|
11145
13850
|
const overlay = createElement("div", {
|
|
11146
13851
|
class: "an-dialog-overlay an-fr-dialog",
|
|
11147
13852
|
role: "dialog",
|
|
11148
13853
|
"aria-modal": "true",
|
|
11149
|
-
"aria-label":
|
|
13854
|
+
"aria-label": L.findReplaceTitle
|
|
11150
13855
|
});
|
|
11151
13856
|
const box = createElement("div", { class: "an-dialog-box" });
|
|
11152
13857
|
const titleRow = createElement("div", { class: "an-icon-title-row" });
|
|
11153
13858
|
const title = createElement("h3", { class: "an-dialog-title" });
|
|
11154
|
-
title.textContent =
|
|
13859
|
+
title.textContent = L.findTitle;
|
|
11155
13860
|
const closeBtn = createElement("button", {
|
|
11156
13861
|
type: "button",
|
|
11157
13862
|
class: "an-icon-close",
|
|
11158
13863
|
"aria-label": "Close"
|
|
11159
13864
|
});
|
|
11160
|
-
closeBtn.textContent =
|
|
13865
|
+
closeBtn.textContent = L.close;
|
|
11161
13866
|
this._closeBtn = closeBtn;
|
|
11162
13867
|
titleRow.append(title, closeBtn);
|
|
11163
13868
|
box.appendChild(titleRow);
|
|
@@ -11165,8 +13870,8 @@ var FindReplace = class {
|
|
|
11165
13870
|
const findInput = createElement("input", {
|
|
11166
13871
|
type: "text",
|
|
11167
13872
|
class: "an-input",
|
|
11168
|
-
placeholder:
|
|
11169
|
-
"aria-label":
|
|
13873
|
+
placeholder: L.findPlaceholder,
|
|
13874
|
+
"aria-label": L.searchAriaLabel
|
|
11170
13875
|
});
|
|
11171
13876
|
this._findInput = findInput;
|
|
11172
13877
|
findRow.appendChild(findInput);
|
|
@@ -11178,7 +13883,7 @@ var FindReplace = class {
|
|
|
11178
13883
|
"aria-label": "Case sensitive"
|
|
11179
13884
|
});
|
|
11180
13885
|
this._caseCheckbox = caseCheckbox;
|
|
11181
|
-
caseLabel.append(caseCheckbox, document.createTextNode(
|
|
13886
|
+
caseLabel.append(caseCheckbox, document.createTextNode(L.caseSensitive));
|
|
11182
13887
|
const counter = createElement("span", { class: "an-fr-counter" });
|
|
11183
13888
|
this._counterEl = counter;
|
|
11184
13889
|
optRow.append(caseLabel, counter);
|
|
@@ -11188,12 +13893,12 @@ var FindReplace = class {
|
|
|
11188
13893
|
type: "button",
|
|
11189
13894
|
class: "an-btn"
|
|
11190
13895
|
});
|
|
11191
|
-
prevBtn.textContent =
|
|
13896
|
+
prevBtn.textContent = L.prevBtn;
|
|
11192
13897
|
const nextBtn = createElement("button", {
|
|
11193
13898
|
type: "button",
|
|
11194
13899
|
class: "an-btn an-btn-primary"
|
|
11195
13900
|
});
|
|
11196
|
-
nextBtn.textContent =
|
|
13901
|
+
nextBtn.textContent = L.nextBtn;
|
|
11197
13902
|
findActions.append(prevBtn, nextBtn);
|
|
11198
13903
|
box.appendChild(findActions);
|
|
11199
13904
|
const replaceRow = createElement("div", { class: "an-fr-replace-row" });
|
|
@@ -11201,8 +13906,8 @@ var FindReplace = class {
|
|
|
11201
13906
|
const replaceInput = createElement("input", {
|
|
11202
13907
|
type: "text",
|
|
11203
13908
|
class: "an-input",
|
|
11204
|
-
placeholder:
|
|
11205
|
-
"aria-label":
|
|
13909
|
+
placeholder: L.replacePlaceholder,
|
|
13910
|
+
"aria-label": L.replaceAriaLabel
|
|
11206
13911
|
});
|
|
11207
13912
|
this._replaceInput = replaceInput;
|
|
11208
13913
|
replaceRow.appendChild(replaceInput);
|
|
@@ -11213,12 +13918,12 @@ var FindReplace = class {
|
|
|
11213
13918
|
type: "button",
|
|
11214
13919
|
class: "an-btn"
|
|
11215
13920
|
});
|
|
11216
|
-
replaceBtn.textContent =
|
|
13921
|
+
replaceBtn.textContent = L.replaceBtn;
|
|
11217
13922
|
const replaceAllBtn = createElement("button", {
|
|
11218
13923
|
type: "button",
|
|
11219
13924
|
class: "an-btn an-btn-primary"
|
|
11220
13925
|
});
|
|
11221
|
-
replaceAllBtn.textContent =
|
|
13926
|
+
replaceAllBtn.textContent = L.replaceAllBtn;
|
|
11222
13927
|
replaceActions.append(replaceBtn, replaceAllBtn);
|
|
11223
13928
|
box.appendChild(replaceActions);
|
|
11224
13929
|
overlay.appendChild(box);
|
|
@@ -11879,6 +14584,8 @@ var Context = class {
|
|
|
11879
14584
|
constructor(targetEl, userOptions = {}) {
|
|
11880
14585
|
this.targetEl = targetEl;
|
|
11881
14586
|
this.options = mergeDeep(defaultOptions, userOptions);
|
|
14587
|
+
/** @type {import('./i18n/index.js').AsnLocale} */
|
|
14588
|
+
this.locale = resolveLocale(this.options.lang);
|
|
11882
14589
|
/** @type {{ container: HTMLElement, editable: HTMLElement, toolbar?: HTMLElement, statusbar?: HTMLElement }} */
|
|
11883
14590
|
this.layoutInfo = {};
|
|
11884
14591
|
/** @type {Map<string, Function[]>} */
|
|
@@ -12388,7 +15095,7 @@ var AutumnNote = {
|
|
|
12388
15095
|
registerModule(name, ModuleClass) {
|
|
12389
15096
|
_customModules.set(name, ModuleClass);
|
|
12390
15097
|
},
|
|
12391
|
-
version: "1.0.
|
|
15098
|
+
version: "1.0.9"
|
|
12392
15099
|
};
|
|
12393
15100
|
/**
|
|
12394
15101
|
* @param {string|Element|NodeList|Element[]} selector
|
|
@@ -12401,6 +15108,6 @@ function resolveElements(selector) {
|
|
|
12401
15108
|
return [];
|
|
12402
15109
|
}
|
|
12403
15110
|
//#endregion
|
|
12404
|
-
export { Context, ELEMENT_NODE, TEXT_NODE, WrappedRange, alignCenterBtn, alignJustifyBtn, alignLeftBtn, alignRightBtn, all, ancestors, any, backColorBtn, boldBtn, checklistBtn, children, chunk, clamp, closest, closestPara, codeviewBtn, collapsedRange, compose, createElement, currentRange, debounce, AutumnNote as default, defaultOptions, defaultToolbar, directionBtn, emojiBtn, env, findBtn, findReplaceBtn, first, flatten, fontFamilyBtn, fontSizeBtn, foreColorBtn, fromNativeRange, fullscreenBtn, groupBy, hrBtn, iconBtn, identity, imageBtn, indentBtn, initial, inlineCodeBtn, insertAfter, isAnchor, isEditable, isElement, isEmpty, isFunction, isImage, isInline, isInsideEditable, isKey, isLi, isList, isModifier, isNil, isPara, isPlainObject, isSelectionInside, isString, isTable, isText, isVoid, italicBtn, key, last, lineHeightBtn, linkBtn, mergeDeep, nextElement, nodeValue, olBtn, on, outdentBtn, outerHtml, paragraphStyleBtn, placeCaret, prevElement, printBtn, rangeFromElement, rect2bnd, redoBtn, remove, removeFormatBtn, sanitiseHTML, sanitiseUrl, shortcutsBtn, splitText, strikeBtn, subscriptBtn, superscriptBtn, tableBtn, tail, throttle, trapFocus, ulBtn, underlineBtn, undoBtn, unique, unwrap, videoBtn, withSavedRange, wrap };
|
|
15111
|
+
export { Context, ELEMENT_NODE, TEXT_NODE, WrappedRange, alignCenterBtn, alignJustifyBtn, alignLeftBtn, alignRightBtn, all, ancestors, any, backColorBtn, boldBtn, checklistBtn, children, chunk, clamp, closest, closestPara, codeviewBtn, collapsedRange, compose, createElement, currentRange, debounce, AutumnNote as default, defaultOptions, defaultToolbar, directionBtn, emojiBtn, env, findBtn, findReplaceBtn, first, flatten, fontFamilyBtn, fontSizeBtn, foreColorBtn, fromNativeRange, fullscreenBtn, groupBy, hrBtn, iconBtn, identity, imageBtn, indentBtn, initial, inlineCodeBtn, insertAfter, isAnchor, isEditable, isElement, isEmpty, isFunction, isImage, isInline, isInsideEditable, isKey, isLi, isList, isModifier, isNil, isPara, isPlainObject, isSelectionInside, isString, isTable, isText, isVoid, italicBtn, key, last, lineHeightBtn, linkBtn, locales, mergeDeep, nextElement, nodeValue, olBtn, on, outdentBtn, outerHtml, paragraphStyleBtn, placeCaret, prevElement, printBtn, rangeFromElement, rect2bnd, redoBtn, remove, removeFormatBtn, resolveLocale, sanitiseHTML, sanitiseUrl, shortcutsBtn, splitText, strikeBtn, subscriptBtn, superscriptBtn, tableBtn, tail, throttle, trapFocus, ulBtn, underlineBtn, undoBtn, unique, unwrap, videoBtn, withSavedRange, wrap };
|
|
12405
15112
|
|
|
12406
15113
|
//# sourceMappingURL=autumnnote.es.js.map
|