feat: add EditorGridSizePicker and EditorSelectionFrame components; implement FreeCreateView for article management; introduce ArticleSelectionOptimizeService for optimizing article selections
This commit is contained in:
@@ -53,7 +53,7 @@ const enUS = {
|
||||
articleCreation: "Article Creation",
|
||||
templates: "Templates",
|
||||
custom: "Custom Generation",
|
||||
optimize: "Optimization",
|
||||
freeCreate: "Free Create",
|
||||
media: "Media",
|
||||
brandManagement: "Brand Management",
|
||||
brands: "Brand Library",
|
||||
@@ -106,9 +106,9 @@ const enUS = {
|
||||
title: "Custom Generation",
|
||||
description: "Generate articles with custom prompt rules, instant or scheduled.",
|
||||
},
|
||||
optimize: {
|
||||
title: "Article Optimization",
|
||||
description: "No matching backend APIs exist in this repository yet.",
|
||||
freeCreate: {
|
||||
title: "Free Create",
|
||||
description: "Create and edit articles freely, no templates or AI generation required.",
|
||||
},
|
||||
media: {
|
||||
title: "Media Management",
|
||||
@@ -209,8 +209,32 @@ const enUS = {
|
||||
custom_generation: "Custom generation",
|
||||
instant_task: "Instant task",
|
||||
schedule_task: "Scheduled task",
|
||||
free_create: "Free create",
|
||||
},
|
||||
},
|
||||
freeCreate: {
|
||||
actions: {
|
||||
create: "New Article",
|
||||
},
|
||||
filters: {
|
||||
publishStatus: "Publish Status",
|
||||
keyword: "Search",
|
||||
createdTime: "Created Time",
|
||||
createdTimeStart: "Start",
|
||||
createdTimeEnd: "End",
|
||||
keywordPlaceholder: "Search by title",
|
||||
},
|
||||
list: {
|
||||
eyebrow: "Free Create",
|
||||
count: "{count} articles",
|
||||
empty: "No articles yet. Click \"New Article\" to start creating.",
|
||||
edit: "Edit article",
|
||||
deleteConfirm: "Are you sure you want to delete this article?",
|
||||
deleteSuccess: "Article deleted",
|
||||
deleteError: "Failed to delete article",
|
||||
},
|
||||
createError: "Failed to create article",
|
||||
},
|
||||
templates: {
|
||||
eyebrow: "Article Creation",
|
||||
actions: {
|
||||
@@ -431,6 +455,30 @@ const enUS = {
|
||||
resetSize: "Reset size",
|
||||
delete: "Delete image",
|
||||
},
|
||||
aiOptimize: {
|
||||
title: "AI Optimize",
|
||||
subtitle: "Supports contiguous multi-block selections and generates a rewrite from your instruction",
|
||||
originalLabel: "Selected text",
|
||||
previewLabel: "Preview",
|
||||
previewPlaceholder: "After you enter an instruction, the AI rewrite will stream here.",
|
||||
generating: "Generating...",
|
||||
streamingHint: "Building a stronger version of the selected text in real time...",
|
||||
disclaimer: "AI output is for reference only. Review it before replacing the original text.",
|
||||
promptLabel: "Instruction",
|
||||
promptPlaceholder: "For example: make it more natural, classroom-friendly, and persuasive while keeping the facts unchanged.",
|
||||
generate: "Generate",
|
||||
regenerate: "Regenerate",
|
||||
stop: "Stop",
|
||||
replace: "Replace selection",
|
||||
close: "Keep original",
|
||||
messages: {
|
||||
selectionRequired: "Select one block or multiple contiguous blocks of article text first.",
|
||||
promptRequired: "Enter an instruction first.",
|
||||
selectionChanged: "The original selection changed. Please select it again before replacing.",
|
||||
empty: "There is no AI content ready to replace yet.",
|
||||
failed: "AI optimization failed. Please try again later.",
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
saved: "Article saved.",
|
||||
generating: "This article is still generating. Try editing it later.",
|
||||
|
||||
@@ -53,7 +53,7 @@ const zhCN = {
|
||||
articleCreation: "文章创作",
|
||||
templates: "模版创作",
|
||||
custom: "自定义生成",
|
||||
optimize: "文章优化",
|
||||
freeCreate: "自由创作",
|
||||
media: "媒体管理",
|
||||
brandManagement: "品牌管理",
|
||||
brands: "品牌词库",
|
||||
@@ -106,9 +106,9 @@ const zhCN = {
|
||||
title: "自定义生成",
|
||||
description: "基于自定义 Prompt 规则灵活生成文章,支持即时与定时任务。",
|
||||
},
|
||||
optimize: {
|
||||
title: "文章优化",
|
||||
description: "当前仓库还没有匹配的后端接口,页面暂保持为设计占位。",
|
||||
freeCreate: {
|
||||
title: "自由创作",
|
||||
description: "自由创建并编辑文章,无需模版或AI生成。",
|
||||
},
|
||||
media: {
|
||||
title: "媒体管理",
|
||||
@@ -209,8 +209,32 @@ const zhCN = {
|
||||
custom_generation: "自定义生成",
|
||||
instant_task: "即时任务",
|
||||
schedule_task: "定时任务",
|
||||
free_create: "自由创作",
|
||||
},
|
||||
},
|
||||
freeCreate: {
|
||||
actions: {
|
||||
create: "新建文章",
|
||||
},
|
||||
filters: {
|
||||
publishStatus: "发布状态",
|
||||
keyword: "搜索文章",
|
||||
createdTime: "创建时间",
|
||||
createdTimeStart: "开始时间",
|
||||
createdTimeEnd: "结束时间",
|
||||
keywordPlaceholder: "请输入标题内容搜索",
|
||||
},
|
||||
list: {
|
||||
eyebrow: "自由创作",
|
||||
count: "共 {count} 篇文章",
|
||||
empty: "还未创建文章,点击「新建文章」开始创作~",
|
||||
edit: "编辑文章",
|
||||
deleteConfirm: "确认删除这篇文章吗?",
|
||||
deleteSuccess: "文章已删除",
|
||||
deleteError: "删除文章失败",
|
||||
},
|
||||
createError: "创建文章失败",
|
||||
},
|
||||
templates: {
|
||||
eyebrow: "Article Creation",
|
||||
actions: {
|
||||
@@ -438,6 +462,30 @@ const zhCN = {
|
||||
resetSize: "重置大小",
|
||||
delete: "删除图片",
|
||||
},
|
||||
aiOptimize: {
|
||||
title: "AI 优化",
|
||||
subtitle: "支持连续多段选中,基于你的优化要求生成候选改写",
|
||||
originalLabel: "当前选中文字",
|
||||
previewLabel: "优化预览",
|
||||
previewPlaceholder: "输入你的优化要求后,AI 会在这里实时生成候选内容。",
|
||||
generating: "正在生成中...",
|
||||
streamingHint: "正在根据你的要求逐步生成更合适的表达...",
|
||||
disclaimer: "AI 生成内容仅供参考,请确认后再替换原文。",
|
||||
promptLabel: "优化要求",
|
||||
promptPlaceholder: "例如:更自然一点,适合课堂导入,保留原有信息但更有感染力。",
|
||||
generate: "开始生成",
|
||||
regenerate: "重新生成",
|
||||
stop: "停止",
|
||||
replace: "替换原文",
|
||||
close: "先不替换",
|
||||
messages: {
|
||||
selectionRequired: "请先选中一段或连续多段需要优化的正文内容。",
|
||||
promptRequired: "请先输入你的优化要求。",
|
||||
selectionChanged: "原选区已变化,请重新选中后再替换。",
|
||||
empty: "当前还没有可替换的 AI 内容。",
|
||||
failed: "AI 优化失败,请稍后重试。",
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
saved: "文章已保存",
|
||||
generating: "文章还在生成中,请稍后再编辑。",
|
||||
|
||||
Reference in New Issue
Block a user