tiptapify 0.0.10 → 0.0.11
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 +1 -1
- package/dist/tiptapify.css +1 -1
- package/dist/tiptapify.mjs +17514 -17174
- package/dist/tiptapify.umd.js +37 -38
- package/package.json +40 -40
- package/src/components/Tiptapify.vue +2 -2
- package/src/components/Toolbar/GroupBtn.vue +2 -2
- package/src/components/Toolbar/GroupDropdown.vue +4 -4
- package/src/components/Toolbar/Index.vue +3 -2
- package/src/components/Toolbar/Items.vue +2 -2
- package/src/components/Toolbar/Toggle.vue +2 -2
- package/src/components/Toolbar/items.ts +20 -20
- package/src/components/editorExtensions.ts +1 -1
- package/src/{components/Toolbar/items/actions.ts → composables/Toolbar/useActionsItems.ts} +6 -3
- package/src/{components/Toolbar/items/alignment.ts → composables/Toolbar/useAlignmentItems.ts} +12 -9
- package/src/{components/Toolbar/items/formatExtra.ts → composables/Toolbar/useFormatExtraItems.ts} +9 -6
- package/src/{components/Toolbar/items/format.ts → composables/Toolbar/useFormatItems.ts} +8 -5
- package/src/{components/Toolbar/items/list.ts → composables/Toolbar/useListItems.ts} +14 -11
- package/src/{components/Toolbar/items/media.ts → composables/Toolbar/useMediaItems.ts} +22 -20
- package/src/{components/Toolbar/items/misc.ts → composables/Toolbar/useMiscItems.ts} +9 -6
- package/src/{components/Toolbar/items/style.ts → composables/Toolbar/useStyleItems.ts} +106 -79
- package/src/{components/Toolbar/fonts.ts → constants/style.ts} +21 -0
- package/src/extensions/components/FontFamily.vue +82 -0
- package/src/extensions/components/FontSize.vue +83 -0
- package/src/extensions/components/LineHeight.vue +82 -0
- package/src/extensions/components/LinkDialog.vue +20 -4
- package/src/extensions/components/ShowSourceDialog.vue +3 -2
- package/src/extensions/link.ts +8 -0
- package/src/extensions/slash-commands.ts +1 -1
- package/src/i18n/index.ts +0 -1
- package/src/i18n/locales/ch.json +83 -82
- package/src/i18n/locales/cz.json +30 -29
- package/src/i18n/locales/de.json +26 -25
- package/src/i18n/locales/en.json +1 -0
- package/src/i18n/locales/es.json +28 -27
- package/src/i18n/locales/fr.json +28 -27
- package/src/i18n/locales/it.json +30 -29
- package/src/i18n/locales/la.json +60 -59
- package/src/i18n/locales/lt.json +36 -35
- package/src/i18n/locales/nl.json +29 -28
- package/src/i18n/locales/pl.json +30 -29
- package/src/i18n/locales/pt.json +28 -27
- package/src/i18n/locales/ru.json +1 -0
- package/src/i18n/locales/se.json +29 -28
- package/src/i18n/locales/ua.json +1 -0
- /package/src/{components → extensions/components}/CodeBlockComponent.vue +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
|
|
3
|
+
import { Editor } from "@tiptap/vue-3";
|
|
4
|
+
|
|
5
|
+
import { computed, inject, Ref, ref } from 'vue'
|
|
6
|
+
import { useI18n } from "vue-i18n";
|
|
7
|
+
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
lineHeights: { type: Array<number>, default () { return [] } },
|
|
10
|
+
lineHeight: { type: Number, default () { return null } },
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
const { t } = useI18n();
|
|
14
|
+
|
|
15
|
+
const emit = defineEmits(['close'])
|
|
16
|
+
|
|
17
|
+
const editor = inject('tiptapifyEditor') as Ref<Editor>
|
|
18
|
+
|
|
19
|
+
const initialLineHeight = ref(computed(() => props.lineHeight).value)
|
|
20
|
+
|
|
21
|
+
const lineHeightSelected = ref<boolean>(false)
|
|
22
|
+
|
|
23
|
+
function hoverLineHeight(lineHeight: number) {
|
|
24
|
+
lineHeightSelected.value = false
|
|
25
|
+
|
|
26
|
+
editor.value.chain().focus().setLineHeight(lineHeight.toString()).run()
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function resetLineHeight() {
|
|
30
|
+
if (lineHeightSelected.value) {
|
|
31
|
+
return
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
initialLineHeight.value
|
|
35
|
+
? editor.value.chain().focus().setLineHeight(initialLineHeight.value.toString()).run()
|
|
36
|
+
: editor.value.chain().focus().unsetLineHeight().run()
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function clearLineHeight() {
|
|
40
|
+
editor.value.chain().focus().unsetLineHeight().run()
|
|
41
|
+
emit('close')
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function setLineHeight() {
|
|
45
|
+
lineHeightSelected.value = true
|
|
46
|
+
|
|
47
|
+
emit('close')
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function isLineHeightActive(lineHeight: number): boolean {
|
|
51
|
+
return editor.value.isActive('textStyle', { lineHeight }) || lineHeight === initialLineHeight.value
|
|
52
|
+
}
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<template>
|
|
56
|
+
<VList class="tiptapify-line-height-list">
|
|
57
|
+
<VListItem :disabled="lineHeight === null" density="compact" @click="clearLineHeight">
|
|
58
|
+
<VListItemTitle class="font-italic text-grey-darken-1">
|
|
59
|
+
{{ t('defaultValue') }}
|
|
60
|
+
</VListItemTitle>
|
|
61
|
+
</VListItem>
|
|
62
|
+
<VListItem
|
|
63
|
+
v-for="lineHeight in lineHeights"
|
|
64
|
+
:active="isLineHeightActive(lineHeight)"
|
|
65
|
+
:color="lineHeight === initialLineHeight ? 'primary' : ''"
|
|
66
|
+
density="compact"
|
|
67
|
+
@click="setLineHeight"
|
|
68
|
+
@mouseover="hoverLineHeight(lineHeight)"
|
|
69
|
+
@mouseleave="resetLineHeight"
|
|
70
|
+
>
|
|
71
|
+
<VListItemTitle>
|
|
72
|
+
{{ lineHeight }}
|
|
73
|
+
</VListItemTitle>
|
|
74
|
+
</VListItem>
|
|
75
|
+
</VList>
|
|
76
|
+
</template>
|
|
77
|
+
|
|
78
|
+
<style lang="scss" scoped>
|
|
79
|
+
.tiptapify-line-height-list {
|
|
80
|
+
max-height: 390px;
|
|
81
|
+
}
|
|
82
|
+
</style>
|
|
@@ -63,7 +63,7 @@ function close() {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
const showLink = (event: CustomEvent) => {
|
|
66
|
-
attrs.value.href = event.detail.link?.href
|
|
66
|
+
attrs.value.href = event.detail.link?.href ?? ''
|
|
67
67
|
attrs.value.target = targetAttrs.value.find(item => item.value === event.detail.link?.target) ?? targetAttrs[0]
|
|
68
68
|
attrs.value.rel = event.detail.link?.rel?.split(' ')
|
|
69
69
|
attrs.value.cssClass = event.detail.link?.class
|
|
@@ -80,9 +80,25 @@ onUnmounted(() => {
|
|
|
80
80
|
})
|
|
81
81
|
|
|
82
82
|
watch(() => attrs.value.href, () => {
|
|
83
|
-
const
|
|
83
|
+
const azAZ09 = 'a-zA-Z0-9'
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
const regexHrefProto = 'https?:\\/\\/'
|
|
86
|
+
const regexHrefAuth = `([${azAZ09}]+(:[${azAZ09}]+)?@)?`
|
|
87
|
+
const regexHrefDomain = `[${azAZ09}]+(\\.[${azAZ09}]+(-?[${azAZ09}]+)?)+`
|
|
88
|
+
const regexHrefPath = `(\\/[${azAZ09}\\-]+)*`
|
|
89
|
+
const regexHrefFragment = '(#[^\\s]*)?'
|
|
90
|
+
const regexHrefQueryParam = `(\\?[${azAZ09}\\-_]+((\\[[${azAZ09}]+\\])?=[${azAZ09}\\-_%]+)?)?`
|
|
91
|
+
const regexHrefQueryParamExtra = `(&[${azAZ09}\\-_]+((\\[[${azAZ09}]+\\])?=[${azAZ09}\\-_%]+)?)*`
|
|
92
|
+
const regexHref = `${regexHrefProto}${regexHrefAuth}${regexHrefDomain}${regexHrefPath}${regexHrefFragment}${regexHrefQueryParam}${regexHrefQueryParamExtra}`
|
|
93
|
+
|
|
94
|
+
const regexMailto = `mailto:\\w+@[${azAZ09}]+(\\.[${azAZ09}]+)*`
|
|
95
|
+
const regexTel = 'tel:\\+?[0-9]+'
|
|
96
|
+
|
|
97
|
+
const regexAll = [regexHref, regexMailto, regexTel].join('|')
|
|
98
|
+
|
|
99
|
+
const regex = new RegExp(`^(${regexAll})$`, 'i')
|
|
100
|
+
|
|
101
|
+
hrefInvalid.value = attrs.value.href !== '' && !regex.test(attrs.value.href)
|
|
86
102
|
})
|
|
87
103
|
</script>
|
|
88
104
|
|
|
@@ -146,7 +162,7 @@ watch(() => attrs.value.href, () => {
|
|
|
146
162
|
<VBtn :variant="variantBtn" @click="close" class="mr-2">
|
|
147
163
|
{{ t('dialog.close') }}
|
|
148
164
|
</VBtn>
|
|
149
|
-
<VBtn color="primary" :variant="variantBtn" :disabled="isDisabled" @click="apply">
|
|
165
|
+
<VBtn color="primary" :variant="variantBtn" :disabled="isDisabled || hrefInvalid" @click="apply">
|
|
150
166
|
{{ t('dialog.apply') }}
|
|
151
167
|
</VBtn>
|
|
152
168
|
</VCol>
|
|
@@ -19,9 +19,9 @@ const formatted = ref(false)
|
|
|
19
19
|
const sourceCode = ref('')
|
|
20
20
|
|
|
21
21
|
const formatHtml = (html: string): string => {
|
|
22
|
+
const singleTags = ['img', 'hr', 'br', 'input']
|
|
22
23
|
let formatted = html.replace(/>/g, '>\n');
|
|
23
24
|
|
|
24
|
-
formatted = formatted.replace(/\n</g, '\n<');
|
|
25
25
|
formatted = formatted.replace(/([^>\n])</g, '$1\n<');
|
|
26
26
|
|
|
27
27
|
const lines = formatted.split('\n');
|
|
@@ -35,7 +35,8 @@ const formatHtml = (html: string): string => {
|
|
|
35
35
|
|
|
36
36
|
const indentedLine = ' '.repeat(indentLevel * props.indent) + line;
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
const tag = line.match(/<\/?(\S+).*>/) ?? []
|
|
39
|
+
if (!singleTags.includes(tag[1] ?? '') && line.match(/<[^\/][^>]*>/) && !line.match(/<.*\/>/)) {
|
|
39
40
|
indentLevel++;
|
|
40
41
|
}
|
|
41
42
|
|
package/src/extensions/link.ts
CHANGED
|
@@ -2,6 +2,14 @@ import Link from "@tiptap/extension-link";
|
|
|
2
2
|
|
|
3
3
|
const name: string = 'link'
|
|
4
4
|
|
|
5
|
+
declare module '@tiptap/core' {
|
|
6
|
+
interface Commands<ReturnType> {
|
|
7
|
+
link: {
|
|
8
|
+
showLink: () => ReturnType
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
5
13
|
export const TiptapifyLink = Link.extend({
|
|
6
14
|
name,
|
|
7
15
|
|
package/src/i18n/index.ts
CHANGED
package/src/i18n/locales/ch.json
CHANGED
|
@@ -1,118 +1,119 @@
|
|
|
1
1
|
{
|
|
2
|
+
"defaultValue": "默认值",
|
|
2
3
|
"content": {
|
|
3
|
-
"placeholder": "
|
|
4
|
+
"placeholder": "写点什么..."
|
|
4
5
|
},
|
|
5
6
|
"style": {
|
|
6
|
-
"paragraph": "
|
|
7
|
-
"heading": "
|
|
7
|
+
"paragraph": "段落",
|
|
8
|
+
"heading": "标题",
|
|
8
9
|
"headings": {
|
|
9
|
-
"h1": "
|
|
10
|
-
"h2": "
|
|
11
|
-
"h3": "
|
|
12
|
-
"h4": "
|
|
13
|
-
"h5": "
|
|
14
|
-
"h6": "
|
|
10
|
+
"h1": "1级标题",
|
|
11
|
+
"h2": "2级标题",
|
|
12
|
+
"h3": "3级标题",
|
|
13
|
+
"h4": "4级标题",
|
|
14
|
+
"h5": "5级标题",
|
|
15
|
+
"h6": "6级标题"
|
|
15
16
|
},
|
|
16
|
-
"fontFamily": "
|
|
17
|
-
"fontSize": "
|
|
18
|
-
"lineHeight": "
|
|
17
|
+
"fontFamily": "字体",
|
|
18
|
+
"fontSize": "大小",
|
|
19
|
+
"lineHeight": "行高",
|
|
19
20
|
"color": {
|
|
20
|
-
"highlight": "
|
|
21
|
-
"text": "
|
|
22
|
-
"unset": "
|
|
23
|
-
"custom": "
|
|
21
|
+
"highlight": "高亮颜色",
|
|
22
|
+
"text": "文本颜色",
|
|
23
|
+
"unset": "清除颜色",
|
|
24
|
+
"custom": "自定义选择"
|
|
24
25
|
}
|
|
25
26
|
},
|
|
26
27
|
"format": {
|
|
27
|
-
"bold": "
|
|
28
|
-
"italic": "
|
|
29
|
-
"strike": "
|
|
30
|
-
"underline": "
|
|
31
|
-
"sup": "
|
|
32
|
-
"sub": "
|
|
33
|
-
"break": "
|
|
34
|
-
"line": "
|
|
35
|
-
"blockquote": "
|
|
36
|
-
"code": "
|
|
37
|
-
"codeblock": "
|
|
38
|
-
"formatClear": "
|
|
28
|
+
"bold": "粗体",
|
|
29
|
+
"italic": "斜体",
|
|
30
|
+
"strike": "删除线",
|
|
31
|
+
"underline": "下划线",
|
|
32
|
+
"sup": "上标",
|
|
33
|
+
"sub": "下标",
|
|
34
|
+
"break": "换行",
|
|
35
|
+
"line": "水平线",
|
|
36
|
+
"blockquote": "引用",
|
|
37
|
+
"code": "代码",
|
|
38
|
+
"codeblock": "代码块",
|
|
39
|
+
"formatClear": "清除格式"
|
|
39
40
|
},
|
|
40
41
|
"media": {
|
|
41
|
-
"link": "
|
|
42
|
-
"image": "
|
|
42
|
+
"link": "外部链接",
|
|
43
|
+
"image": "图片",
|
|
43
44
|
"tables": {
|
|
44
|
-
"table": "
|
|
45
|
-
"insertTable": "
|
|
46
|
-
"deleteTable": "
|
|
47
|
-
"insertWithHeaderRow": "
|
|
48
|
-
"rows": "
|
|
49
|
-
"row": "
|
|
50
|
-
"insertRowBefore": "
|
|
51
|
-
"insertRowAfter": "
|
|
52
|
-
"deleteRow": "
|
|
53
|
-
"cols": "
|
|
54
|
-
"col": "
|
|
55
|
-
"insertColBefore": "
|
|
56
|
-
"insertColAfter": "
|
|
57
|
-
"deleteCol": "
|
|
58
|
-
"mergeCells": "
|
|
59
|
-
"splitCell": "
|
|
45
|
+
"table": "表格",
|
|
46
|
+
"insertTable": "插入表格",
|
|
47
|
+
"deleteTable": "删除表格",
|
|
48
|
+
"insertWithHeaderRow": "插入带标题的表格",
|
|
49
|
+
"rows": "行",
|
|
50
|
+
"row": "行",
|
|
51
|
+
"insertRowBefore": "在前面插入行",
|
|
52
|
+
"insertRowAfter": "在后面插入行",
|
|
53
|
+
"deleteRow": "删除行",
|
|
54
|
+
"cols": "列",
|
|
55
|
+
"col": "列",
|
|
56
|
+
"insertColBefore": "在前面插入列",
|
|
57
|
+
"insertColAfter": "在后面插入列",
|
|
58
|
+
"deleteCol": "删除列",
|
|
59
|
+
"mergeCells": "合并单元格",
|
|
60
|
+
"splitCell": "拆分单元格"
|
|
60
61
|
}
|
|
61
62
|
},
|
|
62
63
|
"action": {
|
|
63
|
-
"undo": "
|
|
64
|
-
"redo": "
|
|
64
|
+
"undo": "撤销",
|
|
65
|
+
"redo": "重做"
|
|
65
66
|
},
|
|
66
|
-
"alignment": "
|
|
67
|
+
"alignment": "对齐",
|
|
67
68
|
"alignments": {
|
|
68
|
-
"left": "
|
|
69
|
-
"center": "
|
|
70
|
-
"right": "
|
|
71
|
-
"justify": "
|
|
69
|
+
"left": "左对齐",
|
|
70
|
+
"center": "居中对齐",
|
|
71
|
+
"right": "右对齐",
|
|
72
|
+
"justify": "两端对齐"
|
|
72
73
|
},
|
|
73
|
-
"list": "
|
|
74
|
+
"list": "列表",
|
|
74
75
|
"lists": {
|
|
75
|
-
"bullet": "
|
|
76
|
-
"numbered": "
|
|
77
|
-
"task": "
|
|
78
|
-
"indent": "
|
|
79
|
-
"outdent": "
|
|
76
|
+
"bullet": "无序列表",
|
|
77
|
+
"numbered": "有序列表",
|
|
78
|
+
"task": "任务列表",
|
|
79
|
+
"indent": "增加列表项缩进",
|
|
80
|
+
"outdent": "减少列表项缩进"
|
|
80
81
|
},
|
|
81
82
|
"dialog": {
|
|
82
|
-
"apply": "
|
|
83
|
-
"clear": "
|
|
84
|
-
"close": "
|
|
83
|
+
"apply": "应用",
|
|
84
|
+
"clear": "清除",
|
|
85
|
+
"close": "关闭",
|
|
85
86
|
"image": {
|
|
86
|
-
"title": "
|
|
87
|
-
"src": "
|
|
88
|
-
"alt": "
|
|
89
|
-
"width": "
|
|
90
|
-
"height": "
|
|
87
|
+
"title": "添加/修改图片",
|
|
88
|
+
"src": "源",
|
|
89
|
+
"alt": "替代文本",
|
|
90
|
+
"width": "宽度",
|
|
91
|
+
"height": "高度"
|
|
91
92
|
},
|
|
92
93
|
"link": {
|
|
93
|
-
"title": "
|
|
94
|
-
"href": "
|
|
95
|
-
"href_error": "
|
|
96
|
-
"target": "
|
|
97
|
-
"target_blank": "
|
|
98
|
-
"target_self": "
|
|
99
|
-
"rel": "
|
|
100
|
-
"class": "CSS
|
|
94
|
+
"title": "添加/修改链接",
|
|
95
|
+
"href": "链接地址",
|
|
96
|
+
"href_error": "无效的链接地址",
|
|
97
|
+
"target": "打开方式...",
|
|
98
|
+
"target_blank": "新窗口",
|
|
99
|
+
"target_self": "当前窗口",
|
|
100
|
+
"rel": "rel",
|
|
101
|
+
"class": "CSS类"
|
|
101
102
|
},
|
|
102
103
|
"preview": {
|
|
103
|
-
"title": "
|
|
104
|
+
"title": "预览"
|
|
104
105
|
},
|
|
105
106
|
"source": {
|
|
106
|
-
"title": "
|
|
107
|
-
"prettify": "
|
|
107
|
+
"title": "查看源代码",
|
|
108
|
+
"prettify": "美化"
|
|
108
109
|
}
|
|
109
110
|
},
|
|
110
111
|
"misc": {
|
|
111
|
-
"source": "
|
|
112
|
-
"preview": "
|
|
112
|
+
"source": "查看源代码",
|
|
113
|
+
"preview": "预览"
|
|
113
114
|
},
|
|
114
115
|
"footer": {
|
|
115
|
-
"words": "
|
|
116
|
-
"chars": "
|
|
116
|
+
"words": "单词",
|
|
117
|
+
"chars": "字符"
|
|
117
118
|
}
|
|
118
119
|
}
|
package/src/i18n/locales/cz.json
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
+
"defaultValue": "Výchozí hodnota",
|
|
2
3
|
"content": {
|
|
3
|
-
"placeholder": "Napište něco
|
|
4
|
+
"placeholder": "Napište něco..."
|
|
4
5
|
},
|
|
5
6
|
"style": {
|
|
6
|
-
"paragraph": "
|
|
7
|
+
"paragraph": "odstavec",
|
|
7
8
|
"heading": "Nadpis",
|
|
8
9
|
"headings": {
|
|
9
|
-
"h1": "Nadpis
|
|
10
|
-
"h2": "Nadpis
|
|
11
|
-
"h3": "Nadpis
|
|
12
|
-
"h4": "Nadpis
|
|
13
|
-
"h5": "Nadpis
|
|
14
|
-
"h6": "Nadpis
|
|
10
|
+
"h1": "Nadpis 1. úrovně",
|
|
11
|
+
"h2": "Nadpis 2. úrovně",
|
|
12
|
+
"h3": "Nadpis 3. úrovně",
|
|
13
|
+
"h4": "Nadpis 4. úrovně",
|
|
14
|
+
"h5": "Nadpis 5. úrovně",
|
|
15
|
+
"h6": "Nadpis 6. úrovně"
|
|
15
16
|
},
|
|
16
|
-
"fontFamily": "
|
|
17
|
-
"fontSize": "Velikost
|
|
17
|
+
"fontFamily": "Písmo",
|
|
18
|
+
"fontSize": "Velikost",
|
|
18
19
|
"lineHeight": "Výška řádku",
|
|
19
20
|
"color": {
|
|
20
21
|
"highlight": "Barva zvýraznění",
|
|
21
22
|
"text": "Barva textu",
|
|
22
|
-
"unset": "
|
|
23
|
-
"custom": "Vlastní
|
|
23
|
+
"unset": "Vymazat barvu",
|
|
24
|
+
"custom": "Vlastní výběr"
|
|
24
25
|
}
|
|
25
26
|
},
|
|
26
27
|
"format": {
|
|
@@ -30,9 +31,9 @@
|
|
|
30
31
|
"underline": "Podtržené",
|
|
31
32
|
"sup": "Horní index",
|
|
32
33
|
"sub": "Dolní index",
|
|
33
|
-
"break": "
|
|
34
|
-
"line": "
|
|
35
|
-
"blockquote": "
|
|
34
|
+
"break": "Zalomení řádku",
|
|
35
|
+
"line": "Horizontální čára",
|
|
36
|
+
"blockquote": "Citát",
|
|
36
37
|
"code": "Kód",
|
|
37
38
|
"codeblock": "Blok kódu",
|
|
38
39
|
"formatClear": "Vymazat formátování"
|
|
@@ -65,38 +66,38 @@
|
|
|
65
66
|
},
|
|
66
67
|
"alignment": "Zarovnání",
|
|
67
68
|
"alignments": {
|
|
68
|
-
"left": "
|
|
69
|
-
"center": "
|
|
70
|
-
"right": "
|
|
71
|
-
"justify": "
|
|
69
|
+
"left": "Zarovnání vlevo",
|
|
70
|
+
"center": "Zarovnání na střed",
|
|
71
|
+
"right": "Zarovnání vpravo",
|
|
72
|
+
"justify": "Zarovnání do bloku"
|
|
72
73
|
},
|
|
73
74
|
"list": "Seznam",
|
|
74
75
|
"lists": {
|
|
75
|
-
"bullet": "
|
|
76
|
+
"bullet": "Odrážkový seznam",
|
|
76
77
|
"numbered": "Číslovaný seznam",
|
|
77
78
|
"task": "Seznam úkolů",
|
|
78
|
-
"indent": "
|
|
79
|
-
"outdent": "
|
|
79
|
+
"indent": "Zvětšit odsazení položky seznamu",
|
|
80
|
+
"outdent": "Zmenšit odsazení položky seznamu"
|
|
80
81
|
},
|
|
81
82
|
"dialog": {
|
|
82
83
|
"apply": "Použít",
|
|
83
84
|
"clear": "Vymazat",
|
|
84
85
|
"close": "Zavřít",
|
|
85
86
|
"image": {
|
|
86
|
-
"title": "
|
|
87
|
+
"title": "Přidání/úprava obrázku",
|
|
87
88
|
"src": "Zdroj",
|
|
88
|
-
"alt": "
|
|
89
|
+
"alt": "alt",
|
|
89
90
|
"width": "Šířka",
|
|
90
91
|
"height": "Výška"
|
|
91
92
|
},
|
|
92
93
|
"link": {
|
|
93
|
-
"title": "
|
|
94
|
+
"title": "Přidání/úprava odkazu",
|
|
94
95
|
"href": "Adresa odkazu",
|
|
95
96
|
"href_error": "Neplatná adresa odkazu",
|
|
96
97
|
"target": "Otevřít v...",
|
|
97
|
-
"target_blank": "
|
|
98
|
-
"target_self": "
|
|
99
|
-
"rel": "
|
|
98
|
+
"target_blank": "Novém okně",
|
|
99
|
+
"target_self": "Aktuálním okně",
|
|
100
|
+
"rel": "rel",
|
|
100
101
|
"class": "CSS třída"
|
|
101
102
|
},
|
|
102
103
|
"preview": {
|
|
@@ -104,7 +105,7 @@
|
|
|
104
105
|
},
|
|
105
106
|
"source": {
|
|
106
107
|
"title": "Zobrazit zdrojový kód",
|
|
107
|
-
"prettify": "
|
|
108
|
+
"prettify": "prettify"
|
|
108
109
|
}
|
|
109
110
|
},
|
|
110
111
|
"misc": {
|
package/src/i18n/locales/de.json
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
+
"defaultValue": "Standardwert",
|
|
2
3
|
"content": {
|
|
3
|
-
"placeholder": "Schreiben Sie
|
|
4
|
+
"placeholder": "Schreiben Sie etwas..."
|
|
4
5
|
},
|
|
5
6
|
"style": {
|
|
6
7
|
"paragraph": "Absatz",
|
|
7
8
|
"heading": "Überschrift",
|
|
8
9
|
"headings": {
|
|
9
|
-
"h1": "Überschrift Ebene
|
|
10
|
-
"h2": "Überschrift Ebene
|
|
11
|
-
"h3": "Überschrift Ebene
|
|
12
|
-
"h4": "Überschrift Ebene
|
|
13
|
-
"h5": "Überschrift Ebene
|
|
14
|
-
"h6": "Überschrift Ebene
|
|
10
|
+
"h1": "Überschrift 1. Ebene",
|
|
11
|
+
"h2": "Überschrift 2. Ebene",
|
|
12
|
+
"h3": "Überschrift 3. Ebene",
|
|
13
|
+
"h4": "Überschrift 4. Ebene",
|
|
14
|
+
"h5": "Überschrift 5. Ebene",
|
|
15
|
+
"h6": "Überschrift 6. Ebene"
|
|
15
16
|
},
|
|
16
17
|
"fontFamily": "Schriftart",
|
|
17
|
-
"fontSize": "
|
|
18
|
+
"fontSize": "Größe",
|
|
18
19
|
"lineHeight": "Zeilenhöhe",
|
|
19
20
|
"color": {
|
|
20
|
-
"highlight": "
|
|
21
|
+
"highlight": "Hervorhebungsfarbe",
|
|
21
22
|
"text": "Textfarbe",
|
|
22
|
-
"unset": "Farbe
|
|
23
|
-
"custom": "
|
|
23
|
+
"unset": "Farbe löschen",
|
|
24
|
+
"custom": "Eigene Auswahl"
|
|
24
25
|
}
|
|
25
26
|
},
|
|
26
27
|
"format": {
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
"underline": "Unterstrichen",
|
|
31
32
|
"sup": "Hochgestellt",
|
|
32
33
|
"sub": "Tiefgestellt",
|
|
33
|
-
"break": "
|
|
34
|
+
"break": "Zeilenumbruch",
|
|
34
35
|
"line": "Horizontale Linie",
|
|
35
36
|
"blockquote": "Zitat",
|
|
36
37
|
"code": "Code",
|
|
@@ -65,38 +66,38 @@
|
|
|
65
66
|
},
|
|
66
67
|
"alignment": "Ausrichtung",
|
|
67
68
|
"alignments": {
|
|
68
|
-
"left": "
|
|
69
|
-
"center": "Zentriert
|
|
70
|
-
"right": "
|
|
69
|
+
"left": "Linksbündig",
|
|
70
|
+
"center": "Zentriert",
|
|
71
|
+
"right": "Rechtsbündig",
|
|
71
72
|
"justify": "Blocksatz"
|
|
72
73
|
},
|
|
73
74
|
"list": "Liste",
|
|
74
75
|
"lists": {
|
|
75
|
-
"bullet": "
|
|
76
|
+
"bullet": "Aufzählung",
|
|
76
77
|
"numbered": "Nummerierte Liste",
|
|
77
78
|
"task": "Aufgabenliste",
|
|
78
|
-
"indent": "
|
|
79
|
-
"outdent": "
|
|
79
|
+
"indent": "Einzug vergrößern",
|
|
80
|
+
"outdent": "Einzug verkleinern"
|
|
80
81
|
},
|
|
81
82
|
"dialog": {
|
|
82
83
|
"apply": "Anwenden",
|
|
83
84
|
"clear": "Löschen",
|
|
84
85
|
"close": "Schließen",
|
|
85
86
|
"image": {
|
|
86
|
-
"title": "Bild hinzufügen
|
|
87
|
+
"title": "Bild hinzufügen/ändern",
|
|
87
88
|
"src": "Quelle",
|
|
88
|
-
"alt": "
|
|
89
|
+
"alt": "alt",
|
|
89
90
|
"width": "Breite",
|
|
90
91
|
"height": "Höhe"
|
|
91
92
|
},
|
|
92
93
|
"link": {
|
|
93
|
-
"title": "Link hinzufügen
|
|
94
|
+
"title": "Link hinzufügen/ändern",
|
|
94
95
|
"href": "Link-Adresse",
|
|
95
96
|
"href_error": "Ungültige Link-Adresse",
|
|
96
97
|
"target": "Öffnen in...",
|
|
97
|
-
"target_blank": "
|
|
98
|
-
"target_self": "
|
|
99
|
-
"rel": "
|
|
98
|
+
"target_blank": "Neuem Fenster",
|
|
99
|
+
"target_self": "Aktuellem Fenster",
|
|
100
|
+
"rel": "rel",
|
|
100
101
|
"class": "CSS-Klasse"
|
|
101
102
|
},
|
|
102
103
|
"preview": {
|
|
@@ -104,7 +105,7 @@
|
|
|
104
105
|
},
|
|
105
106
|
"source": {
|
|
106
107
|
"title": "Quellcode anzeigen",
|
|
107
|
-
"prettify": "
|
|
108
|
+
"prettify": "prettify"
|
|
108
109
|
}
|
|
109
110
|
},
|
|
110
111
|
"misc": {
|