feat: ship v1.1.0 writer toolkit with templates, import, export, and inspiration capture

Implement chapter templates, txt/md/docx import, submission export presets, and global inspiration shortcut. Split import handlers into a separate main bundle and fix EditorLayout setTarget loop that broke E2E.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 13:53:22 +08:00
parent ea4819847f
commit adf877861d
49 changed files with 2450 additions and 87 deletions
+58 -1
View File
@@ -400,5 +400,62 @@
"landmark.created": "Landmark inserted",
"landmark.chapterOnly": "Insert landmarks in a chapter",
"wordfreq.hint": "Top 100 words in current scope",
"wordfreq.aiNaming": "AI naming suggestions"
"wordfreq.aiNaming": "AI naming suggestions",
"settings.templates": "Chapter Templates",
"settings.submission": "Submission Presets",
"dialog.edit": "Edit",
"dialog.delete": "Delete",
"template.title": "Chapter Templates",
"template.quickNew": "New from Template",
"template.builtin": "Built-in",
"template.custom": "Custom",
"template.selectTemplate": "Select template",
"template.chapterTitle": "Chapter title",
"template.chapterTitlePlaceholder": "Enter chapter title",
"template.createChapter": "Create chapter",
"template.add": "Add template",
"template.newTemplate": "New template",
"template.name": "Template name",
"template.body": "Template body",
"import.title": "Import Book",
"import.pickFile": "Browse file",
"import.noFile": "No file selected",
"import.splitMode": "Split mode",
"import.splitAuto": "Auto-detect chapters",
"import.splitParagraph": "Split by blank lines",
"import.splitRegex": "Custom regex",
"import.customRegex": "Regex pattern",
"import.preview": "Preview chapters",
"import.chapterCount": "{{count}} chapter(s)",
"import.largeFileConfirm": "Large file ({{size}}). Import may take 30s2min. Continue?",
"import.progress": "Importing {{current}}/{{total}}",
"import.start": "Start import",
"import.importing": "Importing…",
"import.success": "Import complete",
"import.failed": "Import failed",
"export.title": "Export Chapter",
"export.submissionPresets": "Submission preset",
"export.copyClipboard": "Copy to clipboard",
"export.saveTxt": "Save as text",
"export.copied": "Copied to clipboard",
"export.saved": "Saved to {{path}}",
"export.preview": "Preview",
"export.loading": "Loading…",
"export.noPreview": "(no preview)",
"submission.title": "Submission Presets",
"submission.titleFormat": "Title format",
"submission.indent": "Indent paragraphs",
"submission.indentOn": "Indent: on",
"submission.indentOff": "Indent: off",
"submission.includeAuthorsNote": "Include author's note",
"submission.paragraphGap": "Paragraph spacing",
"submission.gapSingle": "Single spacing",
"submission.gapDouble": "Double spacing",
"submission.add": "Add preset",
"submission.newPreset": "New preset",
"submission.name": "Preset name",
"submission.setDefault": "Set as default",
"inspiration.selectBook": "Link to book",
"inspiration.saved": "Idea saved",
"inspiration.noBooks": "Create a book first to save ideas"
}
+58 -1
View File
@@ -400,5 +400,62 @@
"landmark.created": "地标已插入",
"landmark.chapterOnly": "请在章节中插入地标",
"wordfreq.hint": "当前范围词频 Top 100",
"wordfreq.aiNaming": "AI 命名建议"
"wordfreq.aiNaming": "AI 命名建议",
"settings.templates": "章节模板",
"settings.submission": "投稿预设",
"dialog.edit": "编辑",
"dialog.delete": "删除",
"template.title": "章节模板",
"template.quickNew": "模板新建章",
"template.builtin": "内置",
"template.custom": "自定义",
"template.selectTemplate": "选择模板",
"template.chapterTitle": "章节标题",
"template.chapterTitlePlaceholder": "输入本章标题",
"template.createChapter": "创建章节",
"template.add": "新建模板",
"template.newTemplate": "新模板",
"template.name": "模板名称",
"template.body": "模板正文",
"import.title": "导入书籍",
"import.pickFile": "浏览文件",
"import.noFile": "未选择文件",
"import.splitMode": "分章规则",
"import.splitAuto": "自动识别章节",
"import.splitParagraph": "双换行分段",
"import.splitRegex": "自定义正则",
"import.customRegex": "正则表达式",
"import.preview": "预览分章",
"import.chapterCount": "共 {{count}} 章",
"import.largeFileConfirm": "文件较大({{size}}),导入可能需要 30 秒至 2 分钟,是否继续?",
"import.progress": "正在导入 {{current}}/{{total}}",
"import.start": "开始导入",
"import.importing": "导入中…",
"import.success": "导入成功",
"import.failed": "导入失败",
"export.title": "导出章节",
"export.submissionPresets": "投稿预设",
"export.copyClipboard": "复制到剪贴板",
"export.saveTxt": "另存为文本",
"export.copied": "已复制到剪贴板",
"export.saved": "已保存至 {{path}}",
"export.preview": "预览",
"export.loading": "加载中…",
"export.noPreview": "(无预览)",
"submission.title": "投稿预设",
"submission.titleFormat": "标题格式",
"submission.indent": "段首空两格",
"submission.indentOn": "段首缩进:开",
"submission.indentOff": "段首缩进:关",
"submission.includeAuthorsNote": "包含作者的话",
"submission.paragraphGap": "段落间距",
"submission.gapSingle": "单倍行距",
"submission.gapDouble": "双倍行距",
"submission.add": "新建预设",
"submission.newPreset": "新投稿预设",
"submission.name": "预设名称",
"submission.setDefault": "设为默认预设",
"inspiration.selectBook": "关联书籍",
"inspiration.saved": "灵感已保存",
"inspiration.noBooks": "请先创建一本书再保存灵感"
}