@seafile/sdoc-editor 0.1.63 → 0.1.65
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/dist/basic-sdk/comment/comment-item.js +18 -6
- package/dist/basic-sdk/comment/dialogs/delete-comment-dialog.js +26 -0
- package/dist/basic-sdk/editor.js +1 -2
- package/dist/basic-sdk/extension/constants/index.js +16 -16
- package/dist/basic-sdk/extension/plugins/image/dialogs/insert-web-image-dialog.js +4 -4
- package/dist/basic-sdk/extension/plugins/image/menu/index.js +2 -2
- package/dist/basic-sdk/extension/plugins/image/render-elem.js +1 -1
- package/dist/basic-sdk/extension/plugins/link/menu/add-link-dialog.js +5 -5
- package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/index.js +2 -2
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +3 -3
- package/dist/basic-sdk/extension/plugins/table/menu/context-menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/table/menu/context-menu/insert-table-element.js +1 -1
- package/dist/components/doc-info/index.js +2 -2
- package/dist/components/doc-operations/collaborators-operation/collaborators-popover.js +1 -1
- package/package.json +3 -1
- package/public/locales/en/sdoc-editor.json +124 -126
- package/public/locales/zh-CN/sdoc-editor.json +128 -123
|
@@ -4,6 +4,7 @@ import { withTranslation } from 'react-i18next';
|
|
|
4
4
|
import { PopoverBody, UncontrolledPopover } from 'reactstrap';
|
|
5
5
|
import dayjs from 'dayjs';
|
|
6
6
|
import CommentEditor from './comment-editor';
|
|
7
|
+
import DeleteCommentDialog from './dialogs/delete-comment-dialog';
|
|
7
8
|
var CommentItem = function CommentItem(_ref) {
|
|
8
9
|
var comment = _ref.comment,
|
|
9
10
|
updateComment = _ref.updateComment,
|
|
@@ -30,10 +31,18 @@ var CommentItem = function CommentItem(_ref) {
|
|
|
30
31
|
setIsEditing(true);
|
|
31
32
|
popoverRef.current.toggle();
|
|
32
33
|
}, []);
|
|
34
|
+
var _useState5 = useState(false),
|
|
35
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
36
|
+
isShowDeleteDialog = _useState6[0],
|
|
37
|
+
setIsShowDeleteDialog = _useState6[1];
|
|
33
38
|
var onDeleteToggle = useCallback(function () {
|
|
34
|
-
|
|
39
|
+
setIsShowDeleteDialog(true);
|
|
35
40
|
popoverRef.current.toggle();
|
|
36
|
-
}, [
|
|
41
|
+
}, []);
|
|
42
|
+
var _deleteComment = useCallback(function () {
|
|
43
|
+
deleteComment(comment.id);
|
|
44
|
+
setIsShowDeleteDialog(false);
|
|
45
|
+
}, [comment.id, deleteComment]);
|
|
37
46
|
var _updateComment = useCallback(function (elementId, commentId, newComment) {
|
|
38
47
|
if (newComment.comment !== comment.comment) {
|
|
39
48
|
updateComment(elementId, commentId, newComment);
|
|
@@ -78,16 +87,19 @@ var CommentItem = function CommentItem(_ref) {
|
|
|
78
87
|
}, /*#__PURE__*/React.createElement("div", {
|
|
79
88
|
className: "sdoc-popover-menu__item",
|
|
80
89
|
onClick: onEditToggle
|
|
81
|
-
}, t('
|
|
90
|
+
}, t('Edit')), /*#__PURE__*/React.createElement("div", {
|
|
82
91
|
className: "sdoc-popover-menu__item",
|
|
83
92
|
onClick: onDeleteToggle
|
|
84
|
-
}, t('
|
|
93
|
+
}, t('Delete')))))), !isActive && /*#__PURE__*/React.createElement("span", {
|
|
85
94
|
className: "comment-time"
|
|
86
|
-
}, dayjs(comment.updated_at).format('HH:mm'))), /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
}, dayjs(comment.updated_at).format('MM:DD HH:mm'))), /*#__PURE__*/React.createElement("div", {
|
|
87
96
|
className: "comment-content"
|
|
88
97
|
}, isEditing && /*#__PURE__*/React.createElement(CommentEditor, {
|
|
89
98
|
comment: comment,
|
|
90
99
|
updateComment: _updateComment
|
|
91
|
-
}), !isEditing && /*#__PURE__*/React.createElement(React.Fragment, null, comment.comment)))
|
|
100
|
+
}), !isEditing && /*#__PURE__*/React.createElement(React.Fragment, null, comment.comment))), isShowDeleteDialog && /*#__PURE__*/React.createElement(DeleteCommentDialog, {
|
|
101
|
+
deleteComment: _deleteComment,
|
|
102
|
+
setIsShowDeleteModal: setIsShowDeleteDialog
|
|
103
|
+
}));
|
|
92
104
|
};
|
|
93
105
|
export default withTranslation('sdoc-editor')(CommentItem);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { withTranslation } from 'react-i18next';
|
|
3
|
+
import { Button, ModalHeader, Modal, ModalBody, ModalFooter } from 'reactstrap';
|
|
4
|
+
var DeleteCommentDialog = function DeleteCommentDialog(_ref) {
|
|
5
|
+
var setIsShowDeleteModal = _ref.setIsShowDeleteModal,
|
|
6
|
+
deleteComment = _ref.deleteComment,
|
|
7
|
+
t = _ref.t;
|
|
8
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
9
|
+
className: "comment-delete-modal",
|
|
10
|
+
isOpen: true,
|
|
11
|
+
centered: true
|
|
12
|
+
}, /*#__PURE__*/React.createElement(ModalHeader, {
|
|
13
|
+
toggle: function toggle() {
|
|
14
|
+
setIsShowDeleteModal(false);
|
|
15
|
+
}
|
|
16
|
+
}, t('Delete_comment')), /*#__PURE__*/React.createElement(ModalBody, null, t('Are_you_sure_to_delete_this_comment')), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
17
|
+
color: "secondary",
|
|
18
|
+
onClick: function onClick() {
|
|
19
|
+
setIsShowDeleteModal(false);
|
|
20
|
+
}
|
|
21
|
+
}, t('Cancel')), /*#__PURE__*/React.createElement(Button, {
|
|
22
|
+
color: "primary",
|
|
23
|
+
onClick: deleteComment
|
|
24
|
+
}, t('Submit'))));
|
|
25
|
+
};
|
|
26
|
+
export default withTranslation('sdoc-editor')(DeleteCommentDialog);
|
package/dist/basic-sdk/editor.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
2
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import { Editable, Slate, ReactEditor } from '@seafile/slate-react';
|
|
3
|
+
import { Editable, Slate } from '@seafile/slate-react';
|
|
5
4
|
import defaultEditor, { renderLeaf, renderElement, Toolbar, ContextMenu } from './extension';
|
|
6
5
|
import { focusEditor } from './extension/core';
|
|
7
6
|
import { withSocketIO } from './socket';
|
|
@@ -16,58 +16,58 @@ export var REMOVE_TABLE = 'remove_table';
|
|
|
16
16
|
export var MENUS_CONFIG_MAP = (_MENUS_CONFIG_MAP = {}, _defineProperty(_MENUS_CONFIG_MAP, BLOCKQUOTE, {
|
|
17
17
|
id: "sdoc_".concat(BLOCKQUOTE),
|
|
18
18
|
iconClass: 'sdocfont sdoc-quote-left',
|
|
19
|
-
text: '
|
|
19
|
+
text: 'Quote'
|
|
20
20
|
}), _defineProperty(_MENUS_CONFIG_MAP, ORDERED_LIST, {
|
|
21
21
|
id: ORDERED_LIST,
|
|
22
22
|
iconClass: 'sdocfont sdoc-list-ol',
|
|
23
|
-
text: '
|
|
23
|
+
text: 'Ordered_list'
|
|
24
24
|
}), _defineProperty(_MENUS_CONFIG_MAP, UNORDERED_LIST, {
|
|
25
25
|
id: UNORDERED_LIST,
|
|
26
26
|
iconClass: 'sdocfont sdoc-list-ul',
|
|
27
|
-
text: '
|
|
27
|
+
text: 'Unordered_list'
|
|
28
28
|
}), _defineProperty(_MENUS_CONFIG_MAP, CHECK_LIST, {
|
|
29
29
|
id: CHECK_LIST,
|
|
30
30
|
iconClass: 'sdocfont sdoc-check-square',
|
|
31
|
-
text: '
|
|
31
|
+
text: 'Check_list_item'
|
|
32
32
|
}), _defineProperty(_MENUS_CONFIG_MAP, CODE_BLOCK, {
|
|
33
33
|
id: CODE_BLOCK,
|
|
34
34
|
iconClass: 'sdocfont sdoc-code-block',
|
|
35
|
-
text: '
|
|
35
|
+
text: 'Code_block'
|
|
36
36
|
}), _defineProperty(_MENUS_CONFIG_MAP, LINK, {
|
|
37
37
|
id: "sdoc_".concat(LINK),
|
|
38
38
|
iconClass: 'sdocfont sdoc-link',
|
|
39
|
-
text: '
|
|
39
|
+
text: 'Insert_link'
|
|
40
40
|
}), _defineProperty(_MENUS_CONFIG_MAP, IMAGE, {
|
|
41
41
|
id: "sdoc_".concat(IMAGE),
|
|
42
42
|
iconClass: 'sdocfont sdoc-image',
|
|
43
|
-
text: '
|
|
43
|
+
text: 'Insert_image'
|
|
44
44
|
}), _defineProperty(_MENUS_CONFIG_MAP, TABLE, {
|
|
45
45
|
id: "sdoc_".concat(TABLE),
|
|
46
46
|
iconClass: 'sdocfont sdoc-table',
|
|
47
|
-
text: '
|
|
47
|
+
text: 'Insert_table'
|
|
48
48
|
}), _defineProperty(_MENUS_CONFIG_MAP, REMOVE_TABLE, {
|
|
49
49
|
id: "sdoc_".concat(REMOVE_TABLE),
|
|
50
50
|
iconClass: 'sdocfont sdoc-delete-table',
|
|
51
|
-
text: '
|
|
51
|
+
text: 'Delete_table'
|
|
52
52
|
}), _defineProperty(_MENUS_CONFIG_MAP, TEXT_STYLE, [{
|
|
53
53
|
id: ITALIC,
|
|
54
54
|
iconClass: 'sdocfont sdoc-italic',
|
|
55
|
-
text: '
|
|
55
|
+
text: 'Italic',
|
|
56
56
|
type: 'ITALIC'
|
|
57
57
|
}, {
|
|
58
58
|
id: BOLD,
|
|
59
59
|
iconClass: 'sdocfont sdoc-bold',
|
|
60
|
-
text: '
|
|
60
|
+
text: 'Bold',
|
|
61
61
|
type: 'BOLD'
|
|
62
62
|
}, {
|
|
63
63
|
id: UNDERLINE,
|
|
64
64
|
iconClass: 'sdocfont sdoc-underline',
|
|
65
|
-
text: '
|
|
65
|
+
text: 'Underline',
|
|
66
66
|
type: 'UNDERLINE'
|
|
67
67
|
}, {
|
|
68
68
|
id: STRIKETHROUGH,
|
|
69
69
|
iconClass: 'sdocfont sdoc-strikethrough',
|
|
70
|
-
text: '
|
|
70
|
+
text: 'Strikethrough',
|
|
71
71
|
type: 'STRIKETHROUGH'
|
|
72
72
|
}]), _defineProperty(_MENUS_CONFIG_MAP, TEXT_ALIGN, [{
|
|
73
73
|
id: ALIGN_LEFT,
|
|
@@ -84,15 +84,15 @@ export var MENUS_CONFIG_MAP = (_MENUS_CONFIG_MAP = {}, _defineProperty(_MENUS_CO
|
|
|
84
84
|
}]), _defineProperty(_MENUS_CONFIG_MAP, UNDO, {
|
|
85
85
|
id: UNDO,
|
|
86
86
|
iconClass: 'sdocfont sdoc-revoke',
|
|
87
|
-
text: '
|
|
87
|
+
text: 'Undo',
|
|
88
88
|
type: 'undo'
|
|
89
89
|
}), _defineProperty(_MENUS_CONFIG_MAP, REDO, {
|
|
90
90
|
id: REDO,
|
|
91
91
|
iconClass: 'sdocfont sdoc-redo',
|
|
92
|
-
text: '
|
|
92
|
+
text: 'Redo',
|
|
93
93
|
type: 'redo'
|
|
94
94
|
}), _MENUS_CONFIG_MAP);
|
|
95
|
-
export var HEADER_TITLE_MAP = (_HEADER_TITLE_MAP = {}, _defineProperty(_HEADER_TITLE_MAP, HEADER1, '
|
|
95
|
+
export var HEADER_TITLE_MAP = (_HEADER_TITLE_MAP = {}, _defineProperty(_HEADER_TITLE_MAP, HEADER1, 'Header_one'), _defineProperty(_HEADER_TITLE_MAP, HEADER2, 'Header_two'), _defineProperty(_HEADER_TITLE_MAP, HEADER3, 'Header_three'), _defineProperty(_HEADER_TITLE_MAP, HEADER4, 'Header_four'), _defineProperty(_HEADER_TITLE_MAP, HEADER5, 'Header_five'), _defineProperty(_HEADER_TITLE_MAP, HEADER6, 'Header_six'), _defineProperty(_HEADER_TITLE_MAP, PARAGRAPH, 'Paragraph'), _HEADER_TITLE_MAP);
|
|
96
96
|
export var DIFF_TYPE = {
|
|
97
97
|
ADD: 'add',
|
|
98
98
|
DELETE: 'delete',
|
|
@@ -46,9 +46,9 @@ var InsertWebImageDialog = /*#__PURE__*/function (_Component) {
|
|
|
46
46
|
isOpen: true,
|
|
47
47
|
toggle: this.onDialogToggle,
|
|
48
48
|
autoFocus: false
|
|
49
|
-
}, /*#__PURE__*/React.createElement(ModalHeader, null, t('
|
|
49
|
+
}, /*#__PURE__*/React.createElement(ModalHeader, null, t('Insert_image')), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(FormGroup, null, /*#__PURE__*/React.createElement(Label, {
|
|
50
50
|
for: "insert_image"
|
|
51
|
-
}, t('
|
|
51
|
+
}, t('Image_address')), /*#__PURE__*/React.createElement(Input, {
|
|
52
52
|
id: "insert_image",
|
|
53
53
|
autoFocus: true,
|
|
54
54
|
value: url,
|
|
@@ -57,11 +57,11 @@ var InsertWebImageDialog = /*#__PURE__*/function (_Component) {
|
|
|
57
57
|
}))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
58
58
|
color: "secondary",
|
|
59
59
|
onClick: this.onDialogToggle
|
|
60
|
-
}, t('
|
|
60
|
+
}, t('Cancel')), /*#__PURE__*/React.createElement(Button, {
|
|
61
61
|
color: "primary",
|
|
62
62
|
disabled: url.length === 0,
|
|
63
63
|
onClick: this.handleSubmit
|
|
64
|
-
}, t('
|
|
64
|
+
}, t('Submit'))));
|
|
65
65
|
}
|
|
66
66
|
}]);
|
|
67
67
|
return InsertWebImageDialog;
|
|
@@ -134,10 +134,10 @@ var ImageMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
134
134
|
}, /*#__PURE__*/React.createElement("div", {
|
|
135
135
|
className: "image-menu-item",
|
|
136
136
|
onMouseDown: this.onInsertWebImageToggle
|
|
137
|
-
}, t('
|
|
137
|
+
}, t('Insert_network_image')), /*#__PURE__*/React.createElement("div", {
|
|
138
138
|
className: "image-menu-item",
|
|
139
139
|
onMouseDown: this.onInsertLocalImageToggle
|
|
140
|
-
}, t('
|
|
140
|
+
}, t('Upload_local_image')))), isShowInsertImageDialog && /*#__PURE__*/React.createElement(InsertWebImageDialog, {
|
|
141
141
|
onInsertImage: this.onInsertImage,
|
|
142
142
|
onDialogToggle: this.onCloseInsertDialog
|
|
143
143
|
}));
|
|
@@ -125,7 +125,7 @@ var Image = /*#__PURE__*/function (_React$Component) {
|
|
|
125
125
|
}))), isResizing && /*#__PURE__*/React.createElement("span", {
|
|
126
126
|
className: "image-size",
|
|
127
127
|
contentEditable: false
|
|
128
|
-
}, /*#__PURE__*/React.createElement("span", null, t('
|
|
128
|
+
}, /*#__PURE__*/React.createElement("span", null, t('Width'), ':', parseInt(this.state.width || this.image.clientWidth)), /*#__PURE__*/React.createElement("span", null, "\xA0\xA0"), /*#__PURE__*/React.createElement("span", null, t('Height'), ':', this.image.clientHeight)), children), isShowImagePreview && /*#__PURE__*/React.createElement(ImagePreviewer, {
|
|
129
129
|
imageUrl: getImageURL(data.src),
|
|
130
130
|
editor: this.props.editor,
|
|
131
131
|
toggleImagePreviewer: this.setFullScreen
|
|
@@ -100,12 +100,12 @@ var AddLinkDialog = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
100
100
|
returnFocusAfterClose: false
|
|
101
101
|
}, /*#__PURE__*/React.createElement(ModalHeader, {
|
|
102
102
|
toggle: this.props.onLinkDialogToggle
|
|
103
|
-
}, t('
|
|
103
|
+
}, t('Insert_link')), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
104
104
|
className: "form-group"
|
|
105
105
|
}, /*#__PURE__*/React.createElement("label", {
|
|
106
106
|
className: "form-check-label",
|
|
107
107
|
htmlFor: "addLink"
|
|
108
|
-
}, t('
|
|
108
|
+
}, t('Link_address')), /*#__PURE__*/React.createElement("input", {
|
|
109
109
|
onKeyDown: this.onKeyDown,
|
|
110
110
|
autoFocus: true,
|
|
111
111
|
type: "url",
|
|
@@ -121,7 +121,7 @@ var AddLinkDialog = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
121
121
|
}, /*#__PURE__*/React.createElement("label", {
|
|
122
122
|
className: "form-check-label",
|
|
123
123
|
htmlFor: "addTitle"
|
|
124
|
-
}, t('
|
|
124
|
+
}, t('Link_title')), /*#__PURE__*/React.createElement("input", {
|
|
125
125
|
onKeyDown: this.onKeyDown,
|
|
126
126
|
type: "text",
|
|
127
127
|
className: "form-control",
|
|
@@ -134,11 +134,11 @@ var AddLinkDialog = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
134
134
|
}, t(titleErrorMessage))))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
135
135
|
color: "secondary",
|
|
136
136
|
onClick: this.props.onLinkDialogToggle
|
|
137
|
-
}, t('
|
|
137
|
+
}, t('Cancel')), /*#__PURE__*/React.createElement(Button, {
|
|
138
138
|
color: "primary",
|
|
139
139
|
disabled: false,
|
|
140
140
|
onClick: this.handleSubmit
|
|
141
|
-
}, t('
|
|
141
|
+
}, t('Add_link'))));
|
|
142
142
|
}
|
|
143
143
|
}]);
|
|
144
144
|
return AddLinkDialog;
|
|
@@ -80,10 +80,10 @@ var CustomTableSizeDialog = /*#__PURE__*/function (_Component) {
|
|
|
80
80
|
})))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
81
81
|
color: "secondary",
|
|
82
82
|
onClick: this.toggle
|
|
83
|
-
}, t('
|
|
83
|
+
}, t('Cancel')), /*#__PURE__*/React.createElement(Button, {
|
|
84
84
|
color: "primary",
|
|
85
85
|
onClick: this.handleSubmit
|
|
86
|
-
}, t('
|
|
86
|
+
}, t('Submit'))));
|
|
87
87
|
}
|
|
88
88
|
}]);
|
|
89
89
|
return CustomTableSizeDialog;
|
|
@@ -63,17 +63,17 @@ var ActiveTableMenu = /*#__PURE__*/function (_Component) {
|
|
|
63
63
|
onClick: _this.setTextAlignStyle.bind(_assertThisInitialized(_this), 'left')
|
|
64
64
|
}, /*#__PURE__*/React.createElement("i", {
|
|
65
65
|
className: "sdocfont sdoc-align-left mr-2"
|
|
66
|
-
}), t('
|
|
66
|
+
}), t('Left')), /*#__PURE__*/React.createElement("button", {
|
|
67
67
|
className: "dropdown-item",
|
|
68
68
|
onClick: _this.setTextAlignStyle.bind(_assertThisInitialized(_this), 'center')
|
|
69
69
|
}, /*#__PURE__*/React.createElement("i", {
|
|
70
70
|
className: "sdocfont sdoc-align-center mr-2"
|
|
71
|
-
}), t('
|
|
71
|
+
}), t('Center')), /*#__PURE__*/React.createElement("button", {
|
|
72
72
|
className: "dropdown-item",
|
|
73
73
|
onClick: _this.setTextAlignStyle.bind(_assertThisInitialized(_this), 'right')
|
|
74
74
|
}, /*#__PURE__*/React.createElement("i", {
|
|
75
75
|
className: "sdocfont sdoc-align-right mr-2"
|
|
76
|
-
}), t('
|
|
76
|
+
}), t('Right')));
|
|
77
77
|
};
|
|
78
78
|
_this.renderTableColumn = function () {
|
|
79
79
|
var t = _this.props.t;
|
|
@@ -128,7 +128,7 @@ var ContextMenu = /*#__PURE__*/function (_React$Component) {
|
|
|
128
128
|
insertTableElement: this.insertTableElement
|
|
129
129
|
}), /*#__PURE__*/React.createElement("div", {
|
|
130
130
|
className: 'seafile-divider dropdown-divider'
|
|
131
|
-
}), this.renderRemoveBtn(TABLE_ELEMENT.ROW, '
|
|
131
|
+
}), this.renderRemoveBtn(TABLE_ELEMENT.ROW, 'Delete_row'), this.renderRemoveBtn(TABLE_ELEMENT.COLUMN, 'Delete_column'), this.renderRemoveBtn(TABLE_ELEMENT.TABLE, 'Delete_table'));
|
|
132
132
|
}
|
|
133
133
|
}]);
|
|
134
134
|
return ContextMenu;
|
|
@@ -85,7 +85,7 @@ var InsertTableElement = /*#__PURE__*/function (_Component) {
|
|
|
85
85
|
onKeyDown: this.onKeyDown,
|
|
86
86
|
value: count,
|
|
87
87
|
onChange: this.onChange
|
|
88
|
-
}), /*#__PURE__*/React.createElement("span", null, type === TABLE_ELEMENT.ROW ? t('
|
|
88
|
+
}), /*#__PURE__*/React.createElement("span", null, type === TABLE_ELEMENT.ROW ? t('Row(s)') : t('Column(s)'))));
|
|
89
89
|
}
|
|
90
90
|
}]);
|
|
91
91
|
return InsertTableElement;
|
|
@@ -44,14 +44,14 @@ var DocInfo = /*#__PURE__*/function (_React$Component) {
|
|
|
44
44
|
className: "doc-name"
|
|
45
45
|
}, docName), isStarIconShown && /*#__PURE__*/React.createElement("button", {
|
|
46
46
|
className: "doc-icon sdocfont ".concat(isStarred ? 'sdoc-starred' : 'sdoc-unstarred', " border-0 p-0 bg-transparent"),
|
|
47
|
-
title: isStarred ? t('
|
|
47
|
+
title: isStarred ? t('Starred') : t('Unstarred'),
|
|
48
48
|
"aria-label": isStarred ? t('Unstar') : t('Star'),
|
|
49
49
|
onClick: this.toggleStar
|
|
50
50
|
}), isShowInternalLink && /*#__PURE__*/React.createElement("span", {
|
|
51
51
|
className: "doc-icon"
|
|
52
52
|
}, /*#__PURE__*/React.createElement("span", {
|
|
53
53
|
className: "internal-link sdocfont sdoc-link",
|
|
54
|
-
title: t('
|
|
54
|
+
title: t('Internal_link'),
|
|
55
55
|
onClick: this.onInternalLinkClick
|
|
56
56
|
})), /*#__PURE__*/React.createElement(TipMessage, null));
|
|
57
57
|
}
|
|
@@ -33,7 +33,7 @@ var CollaboratorsPopover = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
33
33
|
}, /*#__PURE__*/React.createElement("div", {
|
|
34
34
|
className: "content-list"
|
|
35
35
|
}, collaborators.map(function (item, index) {
|
|
36
|
-
var name = index === 0 ? "".concat(item.name, " (").concat(t('
|
|
36
|
+
var name = index === 0 ? "".concat(item.name, " (").concat(t('Me'), ")") : item.name;
|
|
37
37
|
return /*#__PURE__*/React.createElement("div", {
|
|
38
38
|
key: index,
|
|
39
39
|
className: "collaborator-details"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.65",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "This is a sdoc editor",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"start": "export NODE_ENV=development LOG_ENV=rc && node dev-server.js",
|
|
34
34
|
"build": "node scripts/build.js",
|
|
35
35
|
"pub:dist": "export BABEL_ENV=production && ./node_modules/.bin/babel src --out-dir dist --copy-files",
|
|
36
|
+
"push-translate": "tx push -s",
|
|
37
|
+
"pull-translate": "tx pull -a -f",
|
|
36
38
|
"pub:optimized": "rm dist/config.js",
|
|
37
39
|
"prepublishOnly": "npm run clean && npm run pub:dist",
|
|
38
40
|
"test": "node scripts/test.js"
|
|
@@ -1,123 +1,122 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
2
|
+
"Bold": "Bold",
|
|
3
|
+
"Italic": "Italic",
|
|
4
|
+
"Underline": "Underline",
|
|
5
|
+
"Strikethrough": "Strikethrough",
|
|
6
|
+
"Inline_code": "Code",
|
|
7
|
+
"Header_one": "Heading 1",
|
|
8
|
+
"Header_two": "Heading 2",
|
|
9
|
+
"Header_three": "Heading 3",
|
|
10
|
+
"Header_four": "Heading 4",
|
|
11
|
+
"Header_five": "Heading 5",
|
|
12
|
+
"Header_six": "Heading 6",
|
|
13
|
+
"Paragraph": "Paragraph",
|
|
14
|
+
"Quote": "Quote",
|
|
15
|
+
"Ordered_list": "Ordered list",
|
|
16
|
+
"Unordered_list": "Unordered list",
|
|
17
|
+
"Check_list_item": "Check list item",
|
|
18
|
+
"Insert_image": "Insert image",
|
|
19
|
+
"Insert_formula": "Insert formula",
|
|
20
|
+
"Formula": "Formula",
|
|
21
|
+
"Insert_file": "Insert file",
|
|
22
|
+
"Code": "Inline code",
|
|
23
|
+
"Code_block": "Code block",
|
|
24
|
+
"Insert_link": "Insert link",
|
|
25
|
+
"Insert_table": "Insert table",
|
|
26
|
+
"Save": "Save",
|
|
27
|
+
"More": "More",
|
|
28
|
+
"Invalid_url": "Invalid URL",
|
|
29
|
+
"Link_address": "Link address",
|
|
30
|
+
"Image_address": "Image address",
|
|
31
|
+
"Submit": "Submit",
|
|
32
|
+
"Cancel": "Cancel",
|
|
33
|
+
"Switch_to_plain_text_editor": "Switch to Plain Text Editor",
|
|
34
|
+
"Switch_to_rich_text_editor": "Switch to Rich Text Editor",
|
|
35
|
+
"Switch_to_viewer": "Switch to Markdown Viewer",
|
|
36
|
+
"Help": "Help",
|
|
37
|
+
"Column": "Column",
|
|
38
|
+
"Row": "Row",
|
|
39
|
+
"Delete_table": "Delete table",
|
|
40
|
+
"Delete_row": "Delete row",
|
|
41
|
+
"Delete_column": "Delete column",
|
|
42
42
|
"Insert_row": "Insert row",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"no_comment_yet": "No comment yet.",
|
|
43
|
+
"Insert_column": "Insert column",
|
|
44
|
+
"Set_align": "Set align",
|
|
45
|
+
"Left": "Left",
|
|
46
|
+
"Center": "Center",
|
|
47
|
+
"Right": "Right",
|
|
48
|
+
"File_saved": "File saved.",
|
|
49
|
+
"File_failed_to_save": "File failed to save.",
|
|
50
|
+
"Back_to_parent_directory":"Back to parent directory",
|
|
51
|
+
"Edit": "Edit",
|
|
52
|
+
"Copy": "Copy",
|
|
53
|
+
"Copied": "Copied",
|
|
54
|
+
"Internal_link": "Internal link",
|
|
55
|
+
"Copy_internal_link": "Internal link has been copied to clipboard",
|
|
56
|
+
"Internal_link_desc": "An internal link is a link to a file or folder that can be accessed by users with read permission to the file or folder.",
|
|
57
|
+
"Share": "Share",
|
|
58
|
+
"Share_link": "Share link",
|
|
59
|
+
"Generate": "Generate",
|
|
60
|
+
"Add_password_protection": "Add password protection",
|
|
61
|
+
"Password": "Password",
|
|
62
|
+
"At_least_8_characters": "at least 8 characters",
|
|
63
|
+
"Password_again": "Password again",
|
|
64
|
+
"Add_auto_expiration": "Add auto expiration",
|
|
65
|
+
"Days": "days",
|
|
66
|
+
"Please_enter_password": "Please enter password",
|
|
67
|
+
"Greater_than_or_equal_to": "Greater than or equal to",
|
|
68
|
+
"Less_than_or_equal_to": "Less than or equal to",
|
|
69
|
+
"Set_permission": "Set permission",
|
|
70
|
+
"Preview_and_download": "Preview and download",
|
|
71
|
+
"Preview_only": "Preview only",
|
|
72
|
+
"Please_enter_valid_days": "Please enter valid days",
|
|
73
|
+
"Please_enter_a_non-negative_integer": "Please enter a non-negative integer",
|
|
74
|
+
"Please_enter_days": "Please enter days",
|
|
75
|
+
"Password_is_too_short": "Password is too short",
|
|
76
|
+
"Passwords_do_not_match": "Passwords do not match",
|
|
77
|
+
"Return_to_wiki_page": "Return to Wiki Page",
|
|
78
|
+
"Insert_network_image": "Insert network image",
|
|
79
|
+
"Upload_local_image": "Upload local image",
|
|
80
|
+
"Add_link": "Add link",
|
|
81
|
+
"File_history": "File history",
|
|
82
|
+
"History_version": "History versions",
|
|
83
|
+
"Back_to_viewer": "Back to viewer",
|
|
84
|
+
"Link_title": "Link title",
|
|
85
|
+
"Local_draft": "Local draft",
|
|
86
|
+
"Use_draft": "Use draft",
|
|
87
|
+
"Delete_draft": "Delete draft",
|
|
88
|
+
"You_have_an_unsaved_draft_do_you_like_to_use_it": "You have an unsaved draft. Do you like to use it?",
|
|
89
|
+
"Local_draft_saved": "Local draft saved",
|
|
90
|
+
"New_draft": "New draft",
|
|
91
|
+
"View_draft": "View draft",
|
|
92
|
+
"Publish": "Publish",
|
|
93
|
+
"This_file_has_a_draft": "This file has a draft.",
|
|
94
|
+
"Delete": "Delete",
|
|
95
|
+
"Comments": "Comments",
|
|
96
|
+
"Add_a_comment": "Add a comment...",
|
|
97
|
+
"No_comment_yet": "No comment yet.",
|
|
99
98
|
"Mark_as_Resolved": "Mark as Resolved",
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
99
|
+
"Ask_for_review": "Ask for review",
|
|
100
|
+
"Review_already_exists": "Review already exists",
|
|
101
|
+
"View_review": "View review",
|
|
102
|
+
"There_is_an_associated_review_with_this_file": "There is an associated review with this file.",
|
|
103
|
+
"Start_review": "Start Review",
|
|
104
|
+
"This_file_is_in_draft_stage": "This file is in draft stage.",
|
|
105
|
+
"This_file_is_in_review_stage": "This file is in review stage.",
|
|
106
|
+
"This_file_has_been_updated": "This file has been updated.",
|
|
107
|
+
"Refresh": "Refresh",
|
|
108
|
+
"Related_files": "Related files",
|
|
109
|
+
"Related_file": "Related file",
|
|
110
|
+
"No_tags": "No tags",
|
|
112
111
|
"Date": "Date",
|
|
113
112
|
"Participants": "Participants",
|
|
114
113
|
"Meeting_note": "Meeting note",
|
|
115
114
|
"Chooser_document_type": "Chooser document type",
|
|
116
115
|
"Empty": "Empty",
|
|
117
|
-
"
|
|
118
|
-
"
|
|
116
|
+
"No_related_files": "No related files",
|
|
117
|
+
"No_out_line": "No outline",
|
|
119
118
|
"Editing_files_in_this_browser_can_lead_to_slight_display_problems": "Editing files in this browser can lead to slight display problems.",
|
|
120
|
-
"
|
|
119
|
+
"No_document_improvement_suggestion": "No document improvement suggestion",
|
|
121
120
|
"Hide_side_panel": "Hide side panel",
|
|
122
121
|
"Show_side_panel": "Show side panel",
|
|
123
122
|
"Show_resolved_comments": "Show resolved comments",
|
|
@@ -128,12 +127,11 @@
|
|
|
128
127
|
"Insert_library_image": "Insert library image",
|
|
129
128
|
"Size": "Size",
|
|
130
129
|
"Location": "Location",
|
|
131
|
-
"
|
|
130
|
+
"Last_update": "Last update",
|
|
132
131
|
"Tags": "Tags",
|
|
133
|
-
"Related_Files": "Related Files",
|
|
134
132
|
"Add_participants": "Add participants",
|
|
135
133
|
"Clear_format": "Clear format",
|
|
136
|
-
"
|
|
134
|
+
"MarkdownLint": {
|
|
137
135
|
"missing_h1": {
|
|
138
136
|
"description": "There is no h1 in the document",
|
|
139
137
|
"issue" : "Missing h1"
|
|
@@ -148,7 +146,7 @@
|
|
|
148
146
|
}
|
|
149
147
|
},
|
|
150
148
|
"Shortcut_help": "Shortcut help",
|
|
151
|
-
"
|
|
149
|
+
"User_help": {
|
|
152
150
|
"title": "Keyboard shortcuts",
|
|
153
151
|
"userHelpData": [
|
|
154
152
|
{
|
|
@@ -217,9 +215,6 @@
|
|
|
217
215
|
}
|
|
218
216
|
]
|
|
219
217
|
},
|
|
220
|
-
"Select_field": "Select field",
|
|
221
|
-
"Font_style": "Font style",
|
|
222
|
-
"Insert_column": "Insert column",
|
|
223
218
|
"The_link_address_is_required": "The link address is required.",
|
|
224
219
|
"The_link_title_is_required": "The link title is required.",
|
|
225
220
|
"The_link_address_is_invalid": "The link address is invalid, please enter a correct connection address.",
|
|
@@ -227,30 +222,33 @@
|
|
|
227
222
|
"Saving": "Saving...",
|
|
228
223
|
"Collaborators": "Collaborators",
|
|
229
224
|
"Online_members": "Online members",
|
|
230
|
-
"
|
|
225
|
+
"Me": "me",
|
|
231
226
|
"Server_is_not_connected_Operation_will_be_sent_to_server_later": "Server is not connected. Operation will be sent to server later.",
|
|
232
227
|
"Server_is_disconnected_Reconnecting": "Server is disconnected. Reconnecting...",
|
|
233
228
|
"Server_is_reconnected": "Server is reconnected.",
|
|
234
229
|
"Outline": "Outline",
|
|
235
230
|
"Headings_you_add_to_the_document_will_appear_here": "Headings you add to the document will appear here",
|
|
236
231
|
"Open_parent_folder": "Open parent folder",
|
|
237
|
-
"
|
|
238
|
-
"
|
|
232
|
+
"Redo": "redo",
|
|
233
|
+
"Undo": "undo",
|
|
239
234
|
"Open_link": "Open link",
|
|
240
235
|
"Customize_the_number_of_rows_and_columns": "Customize the number of rows and columns",
|
|
241
236
|
"Rows": "Rows",
|
|
242
237
|
"Columns": "Columns",
|
|
243
238
|
"Please_enter_title": "Please enter title",
|
|
244
239
|
"Please_enter_text": "Please enter text",
|
|
245
|
-
"
|
|
246
|
-
"
|
|
240
|
+
"Row(s)": "row(s)",
|
|
241
|
+
"Column(s)": "column(s)",
|
|
247
242
|
"Insert_below": "Insert below",
|
|
248
243
|
"Insert_above": "Insert above",
|
|
249
244
|
"Insert_on_the_right": "Insert on the right",
|
|
250
245
|
"Insert_on_the_left": "Insert on the left",
|
|
251
|
-
"
|
|
252
|
-
"
|
|
246
|
+
"Starred": "Starred",
|
|
247
|
+
"Unstarred": "Unstarred",
|
|
253
248
|
"Star": "Star",
|
|
254
249
|
"Unstar": "Unstar",
|
|
255
|
-
"Auto_wrap": "Auto wrap"
|
|
250
|
+
"Auto_wrap": "Auto wrap",
|
|
251
|
+
"Add_comment": "Add comment",
|
|
252
|
+
"Delete_comment": "Delete comment",
|
|
253
|
+
"Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?"
|
|
256
254
|
}
|
|
@@ -1,126 +1,122 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"Remove_row": "删除当前行",
|
|
43
|
-
"Remove_column": "删除当前列",
|
|
2
|
+
"Bold": "粗体",
|
|
3
|
+
"Italic": "斜体",
|
|
4
|
+
"Underline": "下划线",
|
|
5
|
+
"Strikethrough": "中划线",
|
|
6
|
+
"Inline_code": "代码",
|
|
7
|
+
"Header_one": "一级标题",
|
|
8
|
+
"Header_two": "二级标题",
|
|
9
|
+
"Header_three": "三级标题",
|
|
10
|
+
"Header_four": "四级标题",
|
|
11
|
+
"Header_five": "五级标题",
|
|
12
|
+
"Header_six": "六级标题",
|
|
13
|
+
"Paragraph": "段落",
|
|
14
|
+
"Quote": "引用",
|
|
15
|
+
"Ordered_list": "有序列表",
|
|
16
|
+
"Unordered_list": "无序列表",
|
|
17
|
+
"Check_list_item": "任务列表",
|
|
18
|
+
"Insert_image": "插入图片",
|
|
19
|
+
"Insert_formula": "插入公式",
|
|
20
|
+
"Formula": "公式",
|
|
21
|
+
"Insert_file": "插入文件",
|
|
22
|
+
"Code": "行内代码",
|
|
23
|
+
"Code_block": "代码块",
|
|
24
|
+
"Insert_link": "添加链接",
|
|
25
|
+
"Insert_table": "添加表格",
|
|
26
|
+
"Save": "保存",
|
|
27
|
+
"More": "更多",
|
|
28
|
+
"Invalid_url": "无效链接",
|
|
29
|
+
"Link_address": "链接地址",
|
|
30
|
+
"Image_address": "图片地址",
|
|
31
|
+
"Submit": "提交",
|
|
32
|
+
"Cancel": "取消",
|
|
33
|
+
"Switch_to_plain_text_editor": "切换至普通文本编辑器",
|
|
34
|
+
"Switch_to_rich_text_editor": "切换至富文本编辑器",
|
|
35
|
+
"Switch_to_viewer": "切换到只读模式",
|
|
36
|
+
"Help": "帮助",
|
|
37
|
+
"Column": "列",
|
|
38
|
+
"Row": "行",
|
|
39
|
+
"Delete_table": "删除表格",
|
|
40
|
+
"Delete_row": "删除当前行",
|
|
41
|
+
"Delete_column": "删除当前列",
|
|
44
42
|
"Insert_row": "插入行",
|
|
45
43
|
"Insert_column": "插入列",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"add_a_comment": "增加评论",
|
|
101
|
-
"no_comment_yet": "还没有评论",
|
|
44
|
+
"Set_align": "对齐方式",
|
|
45
|
+
"Left": "左对齐",
|
|
46
|
+
"Center": "居中",
|
|
47
|
+
"Right": "右对齐",
|
|
48
|
+
"File_saved": "保存文件成功",
|
|
49
|
+
"File_failed_to_save": "保存文件失败",
|
|
50
|
+
"Back_to_parent_directory":"返回上级目录",
|
|
51
|
+
"Edit": "编辑",
|
|
52
|
+
"Copy": "复制",
|
|
53
|
+
"Copied": "已复制",
|
|
54
|
+
"Internal_link": "内部链接",
|
|
55
|
+
"Copy_internal_link": "内部链接已复制到剪贴板",
|
|
56
|
+
"Internal_link_desc": "内部链接是指向文件或目录的链接,只有对该文件或目录有访问权限的人可以访问。",
|
|
57
|
+
"Share": "共享",
|
|
58
|
+
"Share_link": "共享链接",
|
|
59
|
+
"Generate": "生成链接",
|
|
60
|
+
"Add_password_protection": "增加密码保护",
|
|
61
|
+
"Password": "密码",
|
|
62
|
+
"At_least_8_characters": "至少8个字符",
|
|
63
|
+
"Password_again": "请再次输入密码",
|
|
64
|
+
"Add_auto_expiration": "增加自动过期",
|
|
65
|
+
"Days": "天",
|
|
66
|
+
"Please_enter_password": "请输入密码",
|
|
67
|
+
"Greater_than_or_equal_to": "大于或等于",
|
|
68
|
+
"Less_than_or_equal_to": "小于或等于",
|
|
69
|
+
"Set_permission": "设置权限",
|
|
70
|
+
"Preview_and_download": "预览与下载",
|
|
71
|
+
"Preview_only": "仅查看",
|
|
72
|
+
"Please_enter_valid_days": "请输入有效的天数",
|
|
73
|
+
"Please_enter_a_non-negative_integer": "请输入一个非负整数",
|
|
74
|
+
"Please_enter_days": "请输入天数",
|
|
75
|
+
"Password_is_too_short": "密码长度太短",
|
|
76
|
+
"Passwords_do_not_match": "两次输入的密码不一致",
|
|
77
|
+
"Return_to_wiki_page": "返回维基页面",
|
|
78
|
+
"Insert_network_image": "插入网络图片",
|
|
79
|
+
"Upload_local_image": "上传本地图片",
|
|
80
|
+
"Add_link": "加入链接",
|
|
81
|
+
"File_history": "文件历史",
|
|
82
|
+
"History_version": "历史版本",
|
|
83
|
+
"Back_to_viewer": "返回查看页面",
|
|
84
|
+
"Link_title": "链接标题",
|
|
85
|
+
"Local_draft": "本地草稿",
|
|
86
|
+
"Use_draft": "使用草稿",
|
|
87
|
+
"Delete_draft": "删除草稿",
|
|
88
|
+
"You_have_an_unsaved_draft_do_you_like_to_use_it": "有未保存的草稿,使用草稿吗?",
|
|
89
|
+
"Local_draft_saved": "本地草稿已保存",
|
|
90
|
+
"New_draft": "创建草稿",
|
|
91
|
+
"View_draft": "查看草稿",
|
|
92
|
+
"Publish": "发布",
|
|
93
|
+
"This_file_has_a_draft": "这个文件有一个草稿.",
|
|
94
|
+
"Delete": "删除",
|
|
95
|
+
"Comments": "评论",
|
|
96
|
+
"Add_a_comment": "增加评论",
|
|
97
|
+
"No_comment_yet": "还没有评论",
|
|
102
98
|
"Mark_as_Resolved": "标记为已解决",
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
99
|
+
"Ask_for_review": "发起评审",
|
|
100
|
+
"Review_already_exists": "评审已存在",
|
|
101
|
+
"View_review": "查看评审",
|
|
102
|
+
"There_is_an_associated_review_with_this_file": "有一个与此文件相关联的评审。",
|
|
103
|
+
"Start_review": "开始评审",
|
|
104
|
+
"This_file_is_in_draft_stage": "该文件处于草稿阶段。",
|
|
105
|
+
"This_file_is_in_review_stage": "该文件处于评审阶段。",
|
|
106
|
+
"This_file_has_been_updated": "这个文件已被修改。",
|
|
107
|
+
"Refresh": "刷新",
|
|
108
|
+
"Related_files": "相关文件",
|
|
109
|
+
"Related_file": "相关文件",
|
|
110
|
+
"No_tags": "没有标签",
|
|
115
111
|
"Date": "日期",
|
|
116
112
|
"Participants": "参与人",
|
|
117
113
|
"Meeting_note": "会议记录",
|
|
118
114
|
"Chooser_document_type": "选择文档类型",
|
|
119
115
|
"Empty": "空",
|
|
120
|
-
"
|
|
121
|
-
"
|
|
116
|
+
"No_related_files": "没有相关文件",
|
|
117
|
+
"No_out_line": "没有大纲",
|
|
122
118
|
"Editing_files_in_this_browser_can_lead_to_slight_display_problems": "在此浏览器中,编辑文件可能导致轻微的显示问题。",
|
|
123
|
-
"
|
|
119
|
+
"No_document_improvement_suggestion": "没有文档改进建议",
|
|
124
120
|
"Hide_side_panel": "隐藏侧旁栏",
|
|
125
121
|
"Show_side_panel": "显示侧旁栏",
|
|
126
122
|
"Show_resolved_comments": "显示已解决的评论",
|
|
@@ -131,11 +127,11 @@
|
|
|
131
127
|
"Insert_library_image": "插入资料库图片",
|
|
132
128
|
"Size": "大小",
|
|
133
129
|
"Location": "位置",
|
|
134
|
-
"
|
|
130
|
+
"Last_update": "更新时间",
|
|
135
131
|
"Tags": "标签",
|
|
136
|
-
"Related_Files": "相关文档",
|
|
137
132
|
"Add_participants": "增加文件参与人",
|
|
138
|
-
"
|
|
133
|
+
"Clear_format": "清除格式",
|
|
134
|
+
"MarkdownLint": {
|
|
139
135
|
"missing_h1": {
|
|
140
136
|
"description": "文档缺少一级标题",
|
|
141
137
|
"issue" : "缺少一级标题"
|
|
@@ -150,7 +146,7 @@
|
|
|
150
146
|
}
|
|
151
147
|
},
|
|
152
148
|
"Shortcut_help": "快捷键帮助",
|
|
153
|
-
"
|
|
149
|
+
"User_help": {
|
|
154
150
|
"title": "键盘快捷键",
|
|
155
151
|
"userHelpData": [
|
|
156
152
|
{
|
|
@@ -224,26 +220,35 @@
|
|
|
224
220
|
"The_link_address_is_invalid": "链接地址不合法,请输入一个正确的链接地址。",
|
|
225
221
|
"All_changes_saved": "所有更改均已保存",
|
|
226
222
|
"Saving": "保存中...",
|
|
223
|
+
"Collaborators": "协作人",
|
|
227
224
|
"Online_members": "在线成员",
|
|
228
|
-
"
|
|
225
|
+
"Me": "我",
|
|
229
226
|
"Server_is_not_connected_Operation_will_be_sent_to_server_later": "服务器未连接。 操作稍后将发送到服务器。",
|
|
230
227
|
"Server_is_disconnected_Reconnecting": "服务器断开连接。正在重新连接...",
|
|
231
228
|
"Server_is_reconnected": "服务器已重新连接。",
|
|
232
229
|
"Outline": "目录",
|
|
233
230
|
"Headings_you_add_to_the_document_will_appear_here": "您添加到文档中的标题将显示在此处",
|
|
234
|
-
"
|
|
235
|
-
"
|
|
231
|
+
"Open_parent_folder": "打开父目录",
|
|
232
|
+
"Redo": "重做",
|
|
233
|
+
"Undo": "撤销",
|
|
236
234
|
"Open_link": "打开链接",
|
|
237
235
|
"Customize_the_number_of_rows_and_columns": "自定义行列数",
|
|
238
236
|
"Rows": "行数",
|
|
239
237
|
"Columns": "列数",
|
|
240
238
|
"Please_enter_title": "请输入标题",
|
|
241
239
|
"Please_enter_text": "请输入正文",
|
|
242
|
-
"
|
|
243
|
-
"
|
|
240
|
+
"Row(s)": "行",
|
|
241
|
+
"Column(s)": "列",
|
|
244
242
|
"Insert_above": "在上方插入",
|
|
245
243
|
"Insert_below": "在下方插入",
|
|
246
244
|
"Insert_on_the_right": "在右侧插入",
|
|
247
245
|
"Insert_on_the_left": "在左侧插入",
|
|
248
|
-
"
|
|
246
|
+
"Starred": "starred",
|
|
247
|
+
"Unstarred": "unstarred",
|
|
248
|
+
"Star": "添加星标",
|
|
249
|
+
"Unstar": "移除星标",
|
|
250
|
+
"Auto_wrap": "自动换行",
|
|
251
|
+
"Add_comment": "添加评论",
|
|
252
|
+
"Delete_comment": "删除评论",
|
|
253
|
+
"Are_you_sure_to_delete_this_comment": "你确定要删除这个评论吗?"
|
|
249
254
|
}
|