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:
@@ -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 30s–2min. 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"
|
||||
}
|
||||
|
||||
@@ -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": "请先创建一本书再保存灵感"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user