Files
geo/apps/admin-web/src/i18n/messages/zh-CN.ts
T
root c7bad83496
Frontend CI / Frontend (push) Successful in 4m17s
Backend CI / Backend (push) Failing after 6m42s
feat(enterprise-site): add WordPress support and scheduled auto-publish to sites
Add WordPress as an enterprise-site CMS type alongside pbootcms, and let
schedule tasks auto-publish generated articles to enterprise sites.

- WordPress connection/publisher service and tests; register wordpress
  media platform and relax cms_type CHECK constraint
- New publish_enterprise_site_targets JSONB column on schedule_tasks with
  array type constraint; thread targets through scheduler dispatch,
  prompt/KOL generation, and worker
- Admin UI: enterprise-site targets in generate/schedule/publish flows,
  KOL package form, MediaView, and i18n strings

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 19:44:24 +08:00

1775 lines
71 KiB
TypeScript

const zhCN = {
app: {
name: '省心推',
loginIntro: '面向企业和个人的品牌资产管理与内容生产协作系统',
},
locale: {
'zh-CN': '中文简体',
'en-US': 'English',
},
common: {
cancel: '取消',
close: '关闭',
confirm: '确认',
create: '新建',
edit: '编辑',
delete: '删除',
reset: '重置',
refresh: '刷新数据',
loading: '加载中',
search: '搜索',
save: '保存',
next: '下一步',
previous: '上一步',
submit: '提交',
submitGenerate: '提交生成',
back: '返回',
actions: '操作',
title: '标题',
name: '名称',
description: '描述',
website: '官网',
wordCount: '字数',
createdAt: '创建时间',
updatedAt: '更新时间',
status: '状态',
required: '必填',
noData: '暂无数据',
optional: '可选',
preview: '预览',
details: '详情',
versions: '版本记录',
total: '总量',
balance: '剩余',
used: '已使用',
source: '来源',
templateType: '模版类型',
generateStatus: '生成状态',
publishStatus: '发布状态',
selectPlease: '请选择',
inputPlease: '请输入',
upgrade: '去升级',
copy: '复制',
copySuccess: '内容已复制',
regenerate: '重新生成',
regenerateConfirm: '确认重新生成这篇文章吗?',
regenerateSuccess: '重新生成已提交',
regenerateError: '重新生成失败,请稍后重试',
yes: '是',
no: '否',
imageUploadProgress: {
title: '图片处理中',
stages: {
idle: '等待开始',
validating: '正在校验文件',
decoding: '正在解析图片',
encoding: '正在转为 WebP',
uploading: '正在上传到服务器',
finishing: '正在完成处理',
},
},
},
nav: {
workspace: '工作台',
articleCreation: '文章创作',
templates: '模版创作',
custom: '自定义生成',
freeCreate: '自由创作',
imitation: '仿写创作',
media: '媒体管理',
publishManagement: '发文管理',
brandManagement: '品牌管理',
brands: '品牌和词库',
tracking: '数据追踪',
trackingDetail: '数据详情',
contentManagement: '内容管理',
knowledge: '知识库',
images: '图片管理',
kolMarket: '精调模版市场',
kolMarketplace: '精调模版市场',
kolWorkspace: 'KOL 工作台',
kolManage: '提示词管理',
kolDashboard: '数据看板',
kolProfile: '个人主页',
authorityMedia: '权威新闻媒体',
mediaSupplyResources: '单条发布媒体',
mediaSupplyOrders: '投稿记录',
mediaSupplyFavorites: '常发媒体',
personalCenter: '个人中心',
aiPointUsage: 'AI 点数明细',
},
auth: {
welcomeBack: '欢迎回来',
tenantAdminLogin: '租户后台登录',
loginAndEnter: '登录并进入工作台',
email: '邮箱',
loginIdentifier: '手机号 / 邮箱',
password: '密码',
rememberAccount: '记住账号和密码',
forgotPassword: '忘记密码',
},
membershipBlocked: {
eyebrow: '访问已暂停',
title: '当前租户套餐不可用',
expiredMessage: '会员到期,请充值或联系客服',
userDisabledMessage: '用户被停用,请联系客服',
reasonUserDisabled: '用户已被停用,业务页面已全部关闭,请联系客服恢复访问。',
reasonTrialExpired:
'免费试用的 3 天页面可访问期已经结束,当前业务页面已全部关闭,请联系管理员重新开通试用权限。',
reasonRequired: '当前租户尚未开通有效套餐,业务页面已全部关闭,请联系管理员处理。',
reasonInactive: '当前租户套餐已失效或已停用,业务页面已全部关闭,请联系管理员恢复访问。',
plan: '当前套餐',
expiredAt: '到期时间',
articleLimit: '文章额度',
companyLimit: '公司数量',
contactAdmin: '管理员重新开通后,刷新页面即可恢复访问。',
logout: '退出登录',
refresh: '重新检查',
refreshing: '检查中…',
stillBlocked: '账户仍处于受限状态,请先联系管理员后再重试。',
},
shell: {
localeLabel: '语言',
quotaTitle: '套餐与额度',
quotaStatus: '状态正常',
membershipExpiresAt: '会员到期',
remainingQuota: '生成文章',
aiPoints: 'AI 点数',
resetAt: '重置时间',
userFallback: '管理员',
logout: '退出',
planFallback: '免费版',
currentCompany: '当前公司',
currentCompanyPlaceholder: '选择公司',
createCompany: '创建公司',
changePassword: '修改密码',
changePasswordTitle: '修改密码',
oldPassword: '原密码',
newPassword: '新密码',
confirmNewPassword: '确认新密码',
passwordMinHint: '至少 8 位',
passwordValidation: '请输入原密码,并将新密码设为至少 8 位',
passwordMismatch: '两次输入的新密码不一致',
passwordChanged: '密码已更新,请使用新密码重新登录',
openNavigation: '打开导航',
collapseNavigation: '收起导航',
expandNavigation: '展开导航',
aiUsageTitle: 'AI 点数明细',
aiUsageRecent: '最近消耗',
aiUsageEmpty: '暂无 AI 点数流水',
aiUsageBase: '每 {base} 字进一档',
aiUsageRule: '{chars} 字 / 基准 {base}',
aiUsagePendingHelp:
'点数已先行占用,AI 任务完成后会确认为扣除;如果生成失败,系统会自动退回点数。',
aiUsageTypes: {
article_selection_optimize: '文章片段优化',
template_analyze: 'AI 分析',
template_title_generate: 'AI 生成标题',
template_outline_generate: 'AI 生成大纲',
kol_prompt_generate: 'KOL 模版生成',
kol_prompt_optimize: 'KOL 模版优化',
question_distill: 'AI 生成候选搜索词',
question_combination_fill: '拓词工具 AI 填词',
},
aiUsageStatus: {
pending: '处理中',
completed: '已扣除',
refunded: '已退回',
failed: '失败',
},
},
route: {
login: {
title: '欢迎回来',
description: '登录省心推,开启品牌内容创作之旅',
},
brandOnboarding: {
title: '选择进入的品牌',
description: '首次进入前创建品牌,并初始化品牌关键词库。',
},
workspace: {
title: '工作台',
description: '模板入口、数据总览和最近生成都集中在这里。',
},
templates: {
title: '模版创作',
description: '统一查看普通通用模版与精调模版,相关生成记录都会在这里汇总展示。',
},
wizard: {
title: '模版向导',
description: '按模版驱动的三步流程完成信息填写、结构确认与文章生成。',
},
articleEditor: {
title: '文章编辑',
description: '在独立编辑页中调整标题、正文和发布配置。',
},
custom: {
title: '自定义生成',
description: '基于自定义 Prompt 规则灵活生成文章,支持即时与定时任务。',
},
freeCreate: {
title: '自由创作',
description: '自由创建并编辑文章,无需模版或AI生成。',
},
imitation: {
title: '仿写创作',
description: '管理基于引用来源或外部文章发起的仿写生成记录。',
},
imitationCreate: {
title: '仿写创作',
description: '从文章链接提取内容后,一步生成适配当前场景的新文章。',
},
media: {
title: '媒体管理',
description: '统一查看桌面端媒体账号绑定、授权状态与同步结果。',
},
publishManagement: {
title: '发文管理',
description: '查看桌面端发布任务、外链、账号工作台入口和发布结果。',
},
mediaSupplyResources: {
title: '单条发布媒体',
description: '筛选权威新闻媒体资源并提交稿件。',
},
mediaSupplySubmit: {
title: '提交投稿',
description: '确认投稿媒体、选择稿件并提交到投稿队列。',
},
mediaSupplyOrders: {
title: '投稿记录',
description: '查看当前账号提交的媒体投稿订单和扣款状态。',
},
mediaSupplyFavorites: {
title: '常发媒体分组',
description: '把经常投稿的媒体放到这里分组管理。',
},
brands: {
title: '品牌和词库',
description: '围绕品牌维护关键词库(搜索词)和竞品信息。',
},
brandQuestionCreate: {
title: '新建搜索词',
description: '用拓词工具、AI 扩展或手动录入创建品牌关键词库(搜索词)。',
},
tracking: {
title: '数据详情',
description: '围绕插件采样快照查看品牌表现、平台矩阵、高频问题和引用归因。',
},
trackingQuestion: {
title: '问题详情',
description: '按问题查看大模型回答、引用来源、引用分析和内容引用。',
},
knowledge: {
title: '知识库',
description: '当前仓库还没有匹配的后端接口,页面暂保持为设计占位。',
},
images: {
title: '图片管理',
description: '管理图片素材库,支持分组管理、引用分析与封面图库引用。',
},
aiPoints: {
title: 'AI 点数明细',
description: '查看当前套餐 AI 点数余额、周期规则和最近消耗流水。',
},
notFound: {
title: '页面不存在',
description: '你访问的链接可能已经失效或被移动。',
},
},
onboardingBrand: {
eyebrow: 'Brand Onboarding',
title: '选择进入的品牌或公司',
subtitle: '你拥有多个品牌或公司的访问权限,请选择一个开始工作',
createBrand: '创建新品牌或公司',
createHint: '添加品牌或公司后会自动进入关键词初始化。',
emptyDescription: '新用户需要先创建品牌或公司,再进入工作台开始创作。',
noWebsite: '暂未填写官网',
form: {
title: '新建品牌或公司',
name: '品牌或公司名',
namePlaceholder: '例如:省心推 / 海翔家具',
website: '官网(选填)',
websitePlaceholder: 'https://example.com',
description: '简介',
descriptionPlaceholder: '简单介绍公司的业务、产品、服务区域或核心卖点',
},
ai: {
title: '正在生成品牌或公司问题',
stages: {
fetch: '正在获取官网信息和业务上下文…',
generate: '正在生成适合监测的候选搜索词…',
refine: '正在去重并筛选可保存的问题…',
},
},
questions: {
title: '选择品牌或公司问题',
subtitle: '请选择最多 {limit} 个问题保存到关键词库,后续可继续添加或调整。',
confirm: '保存并进入工作台',
skip: '跳过,直接进入',
empty: '暂时没有生成可用的问题,可以先进入工作台后手动添加。',
selectionLimit: '最多选择 {limit} 个问题',
},
messages: {
nameRequired: '请输入品牌或公司名',
descriptionRequired: '请输入品牌描述',
questionRequired: '请至少选择 1 个问题,或跳过后手动添加',
aiCharged: '本次生成已消耗 {count} 个 AI 点',
},
},
notFound: {
title: '页面走丢了',
description: '我们没有找到这个地址对应的内容,可能链接拼写有误,或者页面已经下线。',
pathLabel: '请求路径',
back: '返回上一页',
home: '回到工作台',
},
aiPoints: {
balance: '可用点数',
baseChars: '基准字数',
usageTypeFallback: 'AI 服务调用',
ledgerTitle: '消耗流水',
ledgerLimit: '最近 {limit} 条记录',
ledgerTotal: '共 {total} 条记录',
refundedHelp: '系统已先扣除点数;任务失败后自动退回,本次净消耗为 0。',
amount: {
netZero: '净消耗 0',
zero: '0',
pendingFlow: '已预扣 {points} 点',
completedFlow: '已扣除 {points} 点',
refundedFlow: '已扣除 {points} 点后退回',
failedFlow: '未产生扣费',
},
table: {
usageType: '使用场景',
points: '点数',
requestChars: '计费字数',
},
},
kol: {
marketplace: {
title: '精调模版',
filter: {
industry: '行业',
keyword: '关键字',
all: '全部',
},
empty: '暂无已上架的订阅包',
subscribers: '{count} 个订阅租户',
prompts: '{count} 个精调模版',
},
package: {
subscribe: '申请订阅',
pending: '审核中',
subscribed: '已订阅',
revoked: '已撤销',
expired: '已到期',
notSubscribed: '未订阅',
},
generate: {
title: '精调模版生成',
submit: '生成',
fillVariables: '填写以下变量后点击生成',
},
manage: {
title: 'KOL 提示词管理',
subtitle: '管理精调模版订阅包与提示词,配置平台、变量和上下线状态。',
packageTitle: '订阅包',
promptTitle: '提示词',
createPackage: '创建订阅包',
editPackage: '编辑包',
publishPackage: '发布',
archivePackage: '归档',
createPrompt: '新增提示词',
activatePrompt: '上线',
archivePrompt: '下线',
confirmDeletePackage: '确定要删除这个订阅包吗?',
confirmDeletePrompt: '确定要删除这个提示词吗?',
emptyPromptSelection: '请选择左侧订阅包以查看提示词',
platformHint: '平台',
platformHintDefault: '通用',
packageStatus: {
draft: '草稿',
published: '已发布',
archived: '已归档',
},
messages: {
packageCreated: '订阅包创建成功',
packageUpdated: '订阅包更新成功',
packagePublished: '订阅包发布成功',
packageArchived: '订阅包归档成功',
packageDeleted: '订阅包删除成功',
promptCreated: '提示词创建成功',
promptActivated: '提示词已上线',
promptArchived: '提示词已下线',
promptDeleted: '提示词删除成功',
},
packageForm: {
tags: '标签',
tagsPlaceholder: '输入标签后按回车',
priceNote: '价格说明',
priceNotePlaceholder: '例如:联系我获取报价',
cover: '封面图',
coverHint: '支持从素材库选择,也支持本地上传后自动转为 WebP。',
selectCover: '选择封面图',
changeCover: '更换封面图',
removeCover: '移除封面图',
noCover: '暂未设置封面图',
nameRequired: '请填写订阅包标题',
coverPicker: {
title: '选择订阅包封面',
localTab: '本地上传',
emptyTitle: '选择一张图片作为订阅包封面',
emptyHint: '支持从素材库选择,也支持本地上传后自动转为 WebP。',
},
},
status: {
draft: '草稿',
active: '已上线',
archived: '已下线',
},
editor: {
basicInfo: '基本信息',
saveMeta: '保存基本信息',
saveDraft: '保存草稿',
publish: '发布',
preview: '预览表单',
aiGenerate: 'AI 生成',
aiOptimize: 'AI 优化',
aiPlaceholder: '描述你想要的 prompt 效果,AI 帮你生成...',
aiOptimizePromptPlaceholder: '例如:让这段提示词更清晰,保留变量占位符,减少歧义。',
aiOptimizeDisclaimer: 'AI 生成内容仅供参考,请确认后再替换选中片段。',
aiOptimizeReplace: '替换选中内容',
},
variable: {
input: '输入框',
textarea: '多行文本',
select: '选择框',
number: '数字框',
checkbox: '多选框',
key: '变量 key',
label: '显示名',
required: '必填',
placeholder: '提示语',
options: '选项(逗号分隔)',
maxLength: '字数限制',
defaultValue: '默认值',
minValue: '最小数字',
maxValue: '最大数字',
defaultNumber: '默认数字',
},
},
dashboard: {
title: 'KOL 数据看板',
subtitle: '实时查看订阅情况与生成数据统计。',
totalSubs: '总订阅租户数',
monthSubs: '本月新增',
totalUsage: '总使用次数',
monthUsage: '本月使用',
failRate: '失败率',
byPackage: '按包维度',
trend: '趋势',
},
profile: {
title: 'KOL 个人主页',
subtitle: '此处信息公开展示在 KOL 市场,与账号设置无关',
persona: {
displayNameLabel: '显示名',
displayNamePlaceholder: '请输入你的展示名',
bioLabel: '简介',
bioPlaceholder: '写一句你希望订阅者看到的自我介绍',
avatarLabel: '头像',
avatarHint: '支持 PNG/JPG/GIF/WebP,最大 2 MB',
avatarUploading: '正在上传头像…',
saveSuccess: '已更新',
saveError: '更新失败',
displayNameRequired: '请填写显示名',
displayNameTooLong: '显示名最多 40 个字符',
bioTooLong: '简介最多 500 个字符',
avatarInvalidType: '仅支持 PNG/JPG/GIF/WebP',
avatarTooLarge: '头像大小不能超过 2 MB',
notActive: '你当前不是活跃的 KOL',
},
},
},
workspace: {
eyebrow: 'Dashboard',
metrics: {
articles: '生成数',
published: '发布数',
brands: '品牌数',
mediaAccounts: '媒体账号数',
},
sections: {
generalTemplates: '普通通用模版',
recent: '最近生成',
overview: '数据总览',
quota: '套餐与额度',
},
actions: {
enterTemplates: '进入模版创作',
},
quota: {
remaining: '剩余生成额度',
total: '总额度',
used: '已使用',
},
emptyTemplates: '暂无模版卡片数据',
noRecentArticles: '暂无最近生成内容',
},
tracking: {
brandPlaceholder: '选择品牌',
keywordPlaceholder: '选择关键词库(搜索词)',
allQuestionSets: '全部关键词库(搜索词)',
collectNow: '立即采集',
collectBrandRequired: '请先选择品牌,再发起采集',
collectKeywordRequired: '请选择关键词库(搜索词)后再发起采集',
collectTodayOnly: '立即采集只支持今天的数据,请切回今天后再操作',
collectClientChecking: '正在检查当前账号的桌面客户端状态',
collectClientOnlineRequired: '当前登录账号的桌面客户端未在线,暂时不能立即采集',
noDesktopClientCollectReason: '当前账号尚未注册桌面客户端,不能发起采集',
noAuthorizedPlatformsCollectReason: '当前账号暂无已授权 AI 平台,不能发起采集',
collectPlatformUnauthorized: '当前筛选平台未授权,不能发起采集',
pluginMode: '插件采样',
pluginHint: '插件模式下结果受设备在线率影响,低覆盖样本仅供趋势参考。',
awaitingSnapshot: '等待下一次有效快照',
infoStrip:
'{mode} · 目标 {desired} · 计划 {planned} · 已采样 {actual} · 覆盖率 {coverage} · 更新于 {updatedAt} · {trigger}',
latestSnapshot: 'Latest Snapshot',
coverage: 'Coverage',
coverageTitle: '采样覆盖条',
coverageSummary: '目标 {desired} · 已采样 {actual} · 覆盖率 {coverage}',
platformMatrix: 'Platform Matrix',
platformMatrixTitle: '平台对比矩阵',
hotQuestions: 'Hot Questions',
hotQuestionsTitle: '高频问题',
hotQuestionsHint:
'可选择全部关键词库(搜索词)或具体单个搜索词;选择单个搜索词时只展示并采集该搜索词。',
questionSearchPlaceholder: '搜索当前范围下的问题',
questionDetailEyebrow: 'Question Detail',
questionDetailCollectedAt: '采集时间 {time}',
questionDetailFallback: '问题详情',
backToQuestions: '返回问题列表',
citationRanking: 'Citation Ranking',
citationRankingTitle: '引用排行',
citationRankingHint: '按发布外链主体归因 SaaS 发文在模型引用来源中的出现次数与占比。',
citationWindow7: '近 7 天',
citationWindow30: '近 30 天',
citationWindowLabel: '近 {days} 天',
citedArticles: 'Cited Articles',
citedArticlesTitle: '被引用文章',
answerContent: '答案内容',
citationSources: 'Citation Sources',
citationSourcesTitle: '引用来源',
citationAnalysis: 'Citation Analysis',
citationAnalysisTitle: '引用分析',
contentCitations: 'Content Citations',
contentCitationsTitle: '内容引用',
imitationAction: '仿写创作',
taskDebugTitle: '异步任务调试',
taskDebugHint: '仅用于排查 callback -> queue -> worker 的异步流转,不影响上方四块主内容。',
contentCitationBadge: '内容引用',
noQuestions: '当前筛选条件下暂无高频问题',
noCitationRanking: '当前时间窗口内暂无可归因引用',
noCitedArticles: '当前时间窗口内暂无内容引用',
noAnswer: '该平台暂无采样回答',
noCitations: '该平台无引用来源',
noCitationAnalysis: '该平台暂无引用分析',
noContentCitations: '当前平台暂无内容引用',
noTaskDebug: '当前条件下暂无异步任务调试数据',
noPlatformBreakdown: '当前筛选条件下暂无可展示的平台数据',
selectedPlatformUnauthorizedTitle: '当前平台未授权',
selectedPlatformUnauthorizedDescription:
'该 AI 平台没有当前账号的有效授权记录,请切换到已授权平台或在桌面端完成授权。',
noDetailPlatformsTitle: '暂无可展示平台',
noDetailPlatformsDescription: '当前筛选条件下没有可展示的 AI 平台数据。',
platformAuthorization: {
authorized: {
title: 'AI 平台授权正常',
description: '当前账号已有可用于监控采集的 AI 平台授权。',
},
no_desktop_client: {
title: '未检测到桌面客户端',
description:
'当前账号尚未注册桌面客户端。每日任务会等待有效客户端上线后再下发,仪表盘不会展示为可采集状态。',
},
no_authorized_platforms: {
title: '暂无已授权 AI 平台',
description:
'当前账号没有已绑定或已授权的 AI 平台。系统不会为未授权平台生成或下发采集任务。',
},
},
samples: '次采样',
citations: '次引用',
citedArticleMeta: '{count} 篇内容被引用',
contentCitationMeta: '含 {count} 条内容引用',
manual: '手动',
automatic: '自动',
noChange: '持平',
metrics: {
mentionRate: '提及率',
top1MentionRate: '首位提及率',
firstRecommendRate: '首选推荐率',
positiveMentionRate: '正面提及率',
},
columns: {
platform: '平台',
appearances: '出现次数',
citedAnswers: '引用回答数',
citedArticles: '引用文章数',
citationRate: '引用率',
saasSourceRate: '来源占比',
citations: '引用次数',
sourcePlatform: '来源平台',
channelName: '渠道名称',
domain: '来源域名',
share: '占比',
contentName: '内容名称',
publishPlatform: '发布平台',
distinctSites: '引用站点数',
brandContent: '含品牌内容',
},
status: {
sampled: '已采样',
partial: '部分采样',
unsampled: '未采样',
pending: '等待采样',
not_logged_in: '未登录',
unavailable: '不可用',
},
confidence: {
high: '高置信度',
medium: '中等置信度',
low: '低置信度',
},
taskDebug: {
labels: {
plannedAt: '计划时间',
leasedAt: '领取时间',
callbackReceivedAt: '回调收到时间',
queueEnqueuedAt: '入队时间',
completedAt: '完成时间',
leaseExpiresAt: '租约过期时间',
runId: 'Run ID',
runStatus: 'Run 状态',
providerModel: '模型',
requestId: '请求 ID',
providerRequestId: 'Provider Request ID',
receivedAlertCount: 'Received 告警次数',
receivedAlertedAt: '最近告警时间',
skipReason: '跳过原因',
errorMessage: '任务错误',
lastQueuePublishError: '队列投递错误',
},
taskStatus: {
pending: '待采集',
leased: '已领取',
received: '已收到回调',
completed: '已完成',
failed: '已失败',
skipped: '已跳过',
expired: '已过期',
},
queueStatus: {
pending: '待入队',
queued: '已入队',
publish_failed: '入队失败',
invalid_payload: '消息无效',
},
},
},
templateMeta: {
top_x_article: {
eyebrow: '榜单内容',
helper: '排序推荐类文章,适合快节奏种草和结构化比较。',
accent: 'Top X',
action: '创建榜单',
},
product_review: {
eyebrow: '单品评测',
helper: '突出卖点、优缺点与适用人群,适合高转化内容。',
accent: '评测稿',
action: '发起评测',
},
research_report: {
eyebrow: '研究报告',
helper: '更长、更专业的分析内容,适合趋势和行业洞察。',
accent: '深度稿',
action: '创建报告',
},
brand_search_expansion: {
eyebrow: '品牌扩写',
helper: '把品牌词和搜索需求扩展成更完整的问答式内容。',
accent: 'GEO',
action: '继续扩写',
},
default: {
eyebrow: '内容模版',
helper: '当前模版已经可用,可直接进入生成流程。',
accent: 'Ready',
action: '进入模版',
},
},
status: {
generate: {
draft: '草稿',
queued: '排队中',
generating: '生成中',
running: '运行中',
completed: '已完成',
partial_success: '部分成功',
partial_completed: '部分成功',
failed: '生成失败',
},
publish: {
unpublished: '未发布',
publishing: '发布中',
success: '发布成功',
failed: '发布失败',
partial_success: '部分发布',
published: '发布成功',
publish_success: '发布成功',
publish_failed: '发布失败',
pending_review: '待审核',
blocked_by_compliance: '合规阻断',
},
sourceType: {
template: '模版单次生成',
custom_generation: '自定义生成',
instant_task: '即时任务',
schedule_task: '定时任务',
free_create: '自由创作',
imitation: '仿写创作',
kol: '精调模版生成',
},
},
imitation: {
actions: {
create: '新建仿写',
submit: '提交并生成',
},
filters: {
publishStatus: '发布状态',
generateStatus: '生成状态',
keyword: '搜索文章',
createdTime: '创建时间',
createdTimeStart: '开始时间',
createdTimeEnd: '结束时间',
keywordPlaceholder: '请输入标题内容搜索',
},
list: {
eyebrow: '仿写创作',
count: '共 {count} 篇文章',
sourceArticle: '原文',
empty: '还未创建仿写文章,可从问题详情的引用来源一键带入,也可以手动新建。',
deleteConfirm: '确认删除这篇仿写文章吗?',
deleteSuccess: '文章已删除',
deleteError: '删除文章失败',
},
create: {
title: '创建仿写文章',
subtitle: '后台会先抓取源文章内容,再按下方设定生成一篇新的原创表达文章。',
sourceSection: '来源文章',
settingsSection: '仿写设置',
sourceURL: '文章 URL',
sourceTitle: '来源标题',
language: '文章语言',
brandName: '当前公司',
region: '地域',
keywords: '优化关键词',
preservePoints: '必须保留/强调',
avoidPoints: '需要规避',
extraRequirements: '其他要求',
enableWebSearch: '允许联网补充',
webSearchHint: '开启后,生成时会让大模型参考实时网页信息,适合需要最新事实或行业动态的仿写。',
knowledgeBase: '引用知识库',
knowledgeBasePlaceholder: '可选,用于补充文章事实、品牌资料和行业背景',
knowledgeBaseHint:
'选择后,后台会检索相关知识片段并作为生成参考,未选择则只基于来源文章和当前设置生成。',
sourceURLPlaceholder: 'https://example.com/article',
sourceTitlePlaceholder: '可选,引用来源标题会自动带入',
brandNamePlaceholder: '请先在顶部选择当前公司',
regionPlaceholder: '例如:上海、华东、全国、北美市场',
keywordsPlaceholder: '输入优化关键词后回车,可多选;选择当前公司后会显示搜索词候选',
preservePointsPlaceholder: '列出必须保留的事实、数据、观点或案例',
avoidPointsPlaceholder: '列出不能出现的说法、竞品、合规禁区或表达方式',
extraRequirementsPlaceholder: '补充行业、渠道、结构、标题风格等自由要求',
queued: '仿写任务已提交,正在排队生成',
sourceURLRequired: '请先填写来源文章 URL',
brandNameRequired: '请先在顶部选择当前公司',
submitError: '仿写任务提交失败',
backToList: '返回仿写列表',
},
},
freeCreate: {
actions: {
create: '新建文章',
},
filters: {
publishStatus: '发布状态',
keyword: '搜索文章',
createdTime: '创建时间',
createdTimeStart: '开始时间',
createdTimeEnd: '结束时间',
keywordPlaceholder: '请输入标题内容搜索',
},
list: {
eyebrow: '自由创作',
count: '共 {count} 篇文章',
empty: '还未创建文章,点击「新建文章」开始创作~',
edit: '编辑文章',
deleteConfirm: '确认删除这篇文章吗?',
deleteSuccess: '文章已删除',
deleteError: '删除文章失败',
},
createError: '创建文章失败',
},
templates: {
eyebrow: 'Article Creation',
sections: {
generalTemplates: '普通通用模版',
refinedTemplates: '精调模版',
records: '模版创作记录',
},
actions: {
batchGenerate: '批量生成文章',
chooseTemplate: '选择模版创作',
},
filters: {
template: '模版类型',
publishStatus: '发布状态',
generateStatus: '生成状态',
keyword: '搜索文章',
generationTime: '生成时间',
generationTimeStart: '开始时间',
generationTimeEnd: '结束时间',
keywordPlaceholder: '请输入标题内容搜索',
},
list: {
eyebrow: '模版创作记录',
count: '共 {count} 篇文章',
empty: '还未创建文章,暂无相关数据~',
preview: '预览正文',
edit: '编辑文章',
editDisabled: '只有草稿、生成失败或已完成文章才可编辑',
publishDisabled: '只有已完成文章才可发布',
versions: '查看版本',
deleteConfirm: '确认删除这篇文章吗?',
deleteSuccess: '文章已删除',
deleteError: '删除文章失败',
},
picker: {
title: '选择你需要的模版创作',
empty: '请选择普通通用模版或精调模版生成',
generalDescription: '选择普通通用模版进入创作',
refinedDescription: '选择精调模版后直接发起精调模版生成',
viewExample: '查看示例',
},
wizard: {
drawerTitle: '模版生成',
steps: {
basic: '基本信息',
basicDesc: '语言、模版字段与公司上下文',
structure: '文章结构',
structureDesc: '标题方案与结构段落',
generate: '生成文章',
generateDesc: '确认大纲、补充关键要点并提交生成任务',
},
sections: {
templateFields: '模版字段',
brandContext: '公司上下文',
language: '文章语言',
brandInfo: '公司信息',
brandLibrary: '公司库',
brandName: '当前公司',
website: '官网地址',
brandSummary: 'AI 公司摘要',
keywords: '关键词',
brandQuestions: '关键词库(搜索词)',
primaryQuestion: '优化关键词',
supplementalQuestions: '补充关键词',
competitors: '竞品列表',
chooseTitle: '选择文章标题',
customTitle: '自定义标题',
reviewIntroHook: '评测引言钩子',
structure: '文章结构',
customOutline: '自定义结构',
preview: '文章预览',
generatedOutline: '确认文章大纲',
outlinePreview: '大纲预览',
keyPoints: '文章关键要点',
review: '提交前确认',
notes: '生成说明',
inputParams: '输入参数',
},
hints: {
brandContext: '当前公司会自动带出关键词与竞品信息。',
brandFlow:
'使用顶部选择的当前公司生成文章。选择优化关键词后,AI 会补充公司摘要、竞品和标题建议。',
brandSummaryPlaceholder: 'AI 分析后会在这里补充公司简介、差异点和适合切入的内容角度。',
keywords: '支持直接输入,也支持复用品牌词库里的关键词。AI 分析结果会自动补充到这里。',
brandQuestions: '优化关键词决定文章主线,补充关键词只用于扩展相关搜索意图。',
supplementalQuestions: '最多选择 3 个,用于覆盖相邻搜索问题,避免文章主题发散。',
questionEmpty: '当前公司还没有可选问题',
selectBrandFirst: '请先在顶部选择当前公司',
competitors:
'竞品支持手动编辑、追加;选择当前公司后,可以收藏到公司词库。AI 分析会尽量补齐候选竞品。',
competitorEmptyEditable: '还没有竞品,先手动添加一条或点击分析让 AI 自动补齐。',
templateFields: '这里保留当前模板自己的补充字段,用来约束 AI 生成角度。',
titleSelection: '下一步前会由 AI 给出 5 个更合适的标题候选,你可以在这里挑选或改写。',
reviewIntroHook: '选择一种开场方式,AI 会按这个评测引言风格组织文章开头。',
structure: '保留文章默认结构,也可以按本次出稿需求删减。',
preview: '右侧会根据当前标题和结构实时预览最终文章框架。',
previewEmpty: '选择结构后,这里会实时预览文章框架。',
generatedOutline: 'AI 会先生成完整大纲,你可以继续编辑、补充或删除节点后再正式生成文章。',
outlinePreview: '右侧会根据当前大纲实时预览最终文章框架。',
outlineEmpty: '生成大纲后,这里会显示可编辑的文章结构。',
review: '确认无误后提交,文章会进入生成队列。',
competitorEmpty: '当前公司下暂无竞品数据',
customTitle: '如需手动改写,可在这里输入最终标题',
keyPoints: '补充希望文章强调的卖点、观点或风格要求',
async: '后端会立即创建文章和任务记录,再异步完成正文生成。提交成功后,列表会自动刷新。',
},
actions: {
analyze: '分析',
analyzeCompetitors: 'AI 补齐竞品',
addCompetitor: '添加竞品',
addSection: '添加结构',
addOutlineNode: '添加节点',
addOutlineChild: '添加子节点',
favorite: '收藏',
saved: '已收藏',
unfavorite: '取消收藏',
submit: '提交并生成',
},
review: {
templateName: '模版名称',
articleTitle: '文章标题',
brandContext: '公司上下文',
outline: '结构段落',
currentTemplate: '当前模版',
promptVisibility: 'Prompt 可见性',
selectedKeywords: '已选关键词',
selectedCompetitors: '已选竞品',
},
localeOptions: {
zh: '中文简体',
en: 'English',
},
table: {
website: '网址',
name: '名称',
description: '简介',
actions: '操作',
},
placeholders: {
brandLibrary: '选择当前公司',
brandName: '顶部选择的当前公司',
website: '输入官网地址,选填',
keywords: '输入关键词后回车,可多选',
primaryQuestion: '选择一个优化关键词',
supplementalQuestions: '可选,最多选择 3 个补充关键词',
customTitle: '如需覆盖 AI 标题,可在这里直接输入',
customOutline: '补充一个额外结构,例如“选购建议”',
keyPoints: '告诉 AI 还需要强调哪些要点、风格或限制条件',
competitorWebsite: '官网或落地页地址',
competitorName: '竞品名称',
competitorDescription: '一句话说明竞品定位或特点',
outlineNode: '请输入标题',
},
promptVisible: 'Prompt 可见',
promptSealed: 'Prompt 已封装',
aiBanner: {
title: '一键智能分析',
defaultDescription: 'AI 将基于优化关键词补充品牌简介,并智能提取竞品信息',
productReviewDescription: 'AI 将基于优化关键词梳理产品背景,并生成同类替代方案参考',
researchReportDescription: 'AI 将基于优化关键词梳理主题背景,并生成参照对象参考',
},
assist: {
analyzeTitle: 'AI 正在补齐竞品信息,请稍后…',
analyzeTitleNoCompetitors: 'AI 正在补齐竞品信息,请稍后…',
titleTitle: 'AI 正在生成标题,请稍后…',
outlineTitle: 'AI 正在生成文章大纲,请稍后…',
analyzeStages: {
brand: '品牌信息分析中…',
keywords: '关键词提炼中…',
questions: '关键词库(搜索词)整理中…',
competitors: '竞品与官网信息补充中…',
context: '正在整理品牌与官网上下文…',
refine: '正在合并并筛选竞品列表…',
},
titleStages: {
context: '正在整理当前内容上下文…',
strategy: '正在结合优化关键词和竞品生成标题策略…',
strategyNoCompetitors: '正在结合优化关键词生成标题策略…',
finalize: '正在输出 5 个标题候选…',
},
outlineStages: {
context: '正在整理标题、优化关键词和竞品上下文…',
contextNoCompetitors: '正在整理标题、优化关键词和评测上下文…',
structure: '正在根据已选结构生成文章大纲…',
finalize: '正在输出可编辑的大纲结果…',
},
},
messages: {
requiredField: '请先填写 {field}',
missingBrand: '请先在顶部选择当前公司',
selectBrandBeforeQuestion: '请先在顶部选择当前公司后再继续',
missingPrimaryQuestion: '请选择一个优化关键词',
missingTitle: '请先选择或输入文章标题',
missingReviewIntroHook: '请先选择一个评测引言钩子',
missingOutline: '请至少选择一个文章结构段落',
missingGeneratedOutline: '请先生成并确认文章大纲',
customOutlineTooLong: '自定义结构不能超过 {count} 个字',
selectBrandBeforeCompetitors: '请先在顶部选择当前公司后再管理竞品',
selectBrandBeforeFavorite: '请先在顶部选择当前公司后再收藏竞品',
missingCompetitorName: '至少需要填写竞品名称后才能收藏',
savedCompetitor: '竞品已收藏到品牌词库',
unsavedCompetitor: '已取消收藏该竞品',
assistReady: 'AI 分析已完成,可以继续调整内容。',
assistFailed: 'AI 分析失败,请稍后重试。',
assistTimeout: 'AI 分析超时,请稍后重试。',
titleFailed: '标题生成失败,请稍后重试。',
titleTimeout: '标题生成超时,请稍后重试。',
outlineFailed: '大纲生成失败,请稍后重试。',
outlineTimeout: '大纲生成超时,请稍后重试。',
draftSaved: '草稿已保存,已返回模版创作列表',
draftSaveFailed: '草稿保存失败,请稍后重试。',
queued: '任务已提交,正在排队生成',
submitted: '生成任务已提交,正在刷新文章列表。',
},
leaveConfirm: {
title: '是否保存为草稿?',
content: '当前模版向导已有填写内容。离开前可以保存为草稿,稍后继续编辑。',
stay: '继续编辑',
discard: '不保存离开',
save: '保存草稿',
},
},
},
article: {
drawerTitle: '文章详情',
preview: '正文预览',
versionHistory: '版本记录',
publishedDetails: '已发布详情',
untitled: '未命名文章',
noContent: '当前文章还没有正文内容',
editor: {
publish: '发布',
download: '下载',
downloadFormats: {
word: 'Word',
pdf: 'PDF',
markdown: 'Markdown',
},
downloadMessages: {
success: '文件已开始下载',
failed: '导出失败,请稍后重试',
},
markdownExportConfirm: {
title: '下载 Markdown',
description: 'Markdown 文件将去除正文图片,仅保留标题、文字、表格和链接等文本内容。',
confirm: '确认下载',
},
titlePlaceholder: '请输入文章标题',
leaveConfirm: {
title: '当前文章还没保存',
description: '你有未保存的改动。现在离开会丢失本次编辑内容,是否需要先保存再返回?',
discard: '放弃更改',
saveAndLeave: '保存并返回',
},
platformsTitle: '发布平台',
platformsHint: '这里会同步媒体管理中的平台和绑定状态,支持直接编辑文章的发布平台。',
coverTitle: '封面图',
coverHint: '默认关闭。上传后会保存为文章封面素材。',
coverRequired: '已选择需要封面的发布平台,封面图为必传项。',
coverUpload: '上传封面图',
coverReplace: '重新选择',
coverRemove: '移除封面',
coverSaved: '已保存封面素材',
coverOff: '封面图当前已关闭,开启后可上传并裁剪封面素材。',
coverTagRequired: '必传',
coverTagOptional: '可选',
imagePrompt: '请输入图片地址',
tablePicker: {
empty: '拖拽选择表格尺寸',
hint: '按住拖动到边缘可继续扩展',
},
tableMenu: {
addRowBefore: '上方插行',
addRowAfter: '下方插行',
deleteRow: '删除行',
addColBefore: '左侧插列',
addColAfter: '右侧插列',
deleteCol: '删除列',
alignLeft: '左对齐',
alignCenter: '居中',
alignRight: '右对齐',
deleteTable: '删除表格',
},
imageMenu: {
replace: '替换图片',
caption: '切换图注',
alignLeft: '居左',
alignCenter: '居中',
alignRight: '居右',
resetSize: '重置大小',
delete: '删除图片',
},
imagePicker: {
title: '选择图片',
emptyTitle: '选择一张图片插入正文',
emptyHint: '支持从图片库选择,也支持本地上传后自动转为 WebP。',
},
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: '文章还在生成中,请稍后再编辑。',
locked: '只有已完成文章才可编辑。',
publishPending: '请先保存文章,再选择需要发布的平台。',
},
platforms: {
zhihu: '知乎',
},
},
meta: {
templateType: '模版类型',
currentVersion: '当前版本',
source: '生成来源',
sourceArticle: '源文链接',
wordCount: '文章字数',
},
versionUntitled: '未命名版本',
},
media: {
hero: {
eyebrow: 'Publisher',
},
plugin: {
title: '浏览器发布器',
ready: '插件已连接',
notInstalled: '插件未连接',
installTitle: '请先安装并打开 GEO Publisher 插件',
installDesc:
'绑定和发布都依赖浏览器本地登录态执行。插件会保存独立安装实例身份,后续即使网页关闭,也能继续运行后台检测任务。',
backgroundHint:
'插件不会直接复用网页 access token。当前实现会为每个浏览器安装实例注册独立身份,为未来后台收录检测和定时扫描预留能力。',
versionLabel: '插件版本',
installationLabel: '安装实例 ID',
connectedSummary: '本地已登录平台',
registerRequired: '插件安装实例尚未注册,请先重新检测。',
},
actions: {
redetect: '重新检测',
bind: '去绑定',
rebind: '重新绑定',
unbind: '解绑',
},
card: {
bound: '已绑定',
unbound: '未绑定',
unboundHint: '{platform} 还未绑定到当前租户,可以直接发起授权。',
needsAttention: '需要处理',
expiredHint: '该账号状态异常,建议重新绑定以恢复发布能力。',
localMissing: '本地未登录',
localMismatch: '本地账号不匹配',
readyHint: '当前浏览器已检测到正确账号,可以直接用于发布和后续后台检测。',
accountLabel: 'SaaS 账号',
uidLabel: '平台 UID',
localLabel: '本地状态',
localConnected: '已检测到登录态',
localDisconnected: '未检测到登录态',
updatedAt: '最近同步',
multiAccount: '已绑定 {count} 个账号',
openPlatform: '打开平台官网',
},
account: {
localMissing: 'SaaS 已绑定,但当前浏览器未检测到对应登录态。',
localMismatch: '当前浏览器登录的是另一个账号,请重新授权或切换账号。',
ready: '已就绪',
selectable: '可发布',
unavailable: '不可用',
},
empty: {
accounts: '当前租户还没有绑定可发布账号。',
},
messages: {
bindSuccess: '{platform} 绑定成功',
bindSuccessTitle: '绑定成功',
bindSuccessDetail: '已绑定【{platform}】的账号【{account}】',
bindPending: '插件尚未检测到该平台登录态,请先在插件中登录后重试。',
bindPendingTitle: '绑定未完成',
bindFailureTitle: '绑定失败',
unbindSuccess: '账号解绑成功',
unbindSuccessTitle: '解绑成功',
unbindFailureTitle: '解绑失败',
unbindConfirm: '确认解绑这个平台账号吗?解绑后将无法直接发布。',
},
publish: {
title: '发布',
subtitle: 'Multi-platform Dispatch',
description: '选择当前浏览器已登录且租户已绑定的平台,插件会逐个平台执行真实发布并回写链接。',
platformsTitle: '发布平台',
platformsHint: '会优先回填文章里已选择且已绑定的账号,未绑定或本地登录态异常的平台不可选。',
coverTitle: '封面图',
coverHint: '默认关闭。点击上传后可选择或裁剪封面。',
coverUpload: '上传封面图',
coverPlaceholder: '请输入封面素材 URL(可选)',
messages: {
success: '已提交 {count} 个平台发布任务',
successTitle: '发布成功',
partial: '发布执行完成,成功 {success} 个,失败 {failed} 个',
partialTitle: '部分发布失败',
selectPlatform: '请先选择至少一个可发布的平台',
coverRequired: '已选择需要封面的发布平台,请先上传封面图',
failureTitle: '发布失败',
failureItem: '文章发布到平台【{platform}】失败【{reason}】',
unknownFailure: '未知错误',
},
},
records: {
tabTitle: '已发布详情',
platform: '已发布平台',
status: '发布状态',
publishedAt: '发布时间',
link: '已发布链接',
open: '打开',
copy: '复制',
empty: '暂无发布记录',
linkEmpty: '当前记录还没有可用链接',
clientManageHint: '仅有管理页面,请在客户端打开管理页面查看',
copySuccess: '链接已复制',
},
},
coverPicker: {
title: '选择封面图',
tabs: {
local: '正文/本地上传',
ai: 'AI封图',
},
dropzoneTitle: '上传图片',
dropzoneHint: '支持 PNG、JPG、GIF、WebP,上传前会在前端转为 WebP,最大 10MB',
previewTitle: '封面裁剪预览',
previewHintLocked: '已选择需要固定封面比例的平台,确认时会按当前平台要求输出封面。',
previewHintFree: '当前不限制封面比例,可直接上传原图;如需调整也可拖拽缩放后再确认。',
requirementsTitle: '平台封面要求',
requirementsHint:
'会根据当前选中的发布平台自动切换要求,微信公众号、百家号和懂车帝为强制上传。',
recommendedRatio: '推荐比例',
recommendedSize: '推荐尺寸',
required: '必传',
optional: '可选',
zoom: '缩放',
fileLabel: '当前封面',
emptyTitle: '暂未选择发布平台',
emptyPlatforms: '选择发布平台后,这里会自动显示每个平台的封面要求。',
emptyHint: '支持 PNG、JPG、JPEG、GIF、WebP、BMP、SVG、AVIF,最大 10MB',
aiTitle: 'AI 封图即将开放',
aiHint: '当前先支持本地上传和裁剪,后续会把 AI 生成封面接进这里。',
actions: {
upload: '本地上传',
reset: '重置取景',
remove: '移除封面',
},
notes: {
required: '该平台当前发布链路要求必须携带封面图,未上传时不能提交发布。',
optional: '该平台当前接入已支持独立封面,会复用当前裁剪结果完成发布。',
unsupported: '该平台当前接入暂不消费独立封面,会沿用正文内容或平台默认样式。',
},
messages: {
invalidType: '仅支持 PNG、JPG、JPEG、GIF、WebP、BMP、SVG、AVIF 图片',
tooLarge: '图片不能超过 10MB',
missingImage: '请先选择一张封面图',
missingArticle: '文章信息还没准备好,请刷新后重试',
imageLoadFailed: '封面图加载失败,请重新选择图片',
},
},
brands: {
eyebrow: 'Company & Lexicon',
title: '品牌和词库',
description: '通过品牌名称和品牌相关信息维护关键词库(搜索词)和竞品资产。',
railTitle: '品牌库',
selectBrand: '选择品牌后即可继续维护关键词库(搜索词)。',
newBrand: '新建品牌',
editBrand: '编辑品牌',
deleteBrand: '删除品牌',
guide: {
title: '品牌管理说明',
body: '管理品牌、关键词库(搜索词)和竞品库,用于后续 AI 平台监测与 GEO 分析。',
},
tabs: {
questions: '关键词库(搜索词)',
competitors: '竞品库',
},
quota: {
plan: '当前套餐',
planHint: '品牌词库额度会按套餐实时生效。',
brands: '品牌公司',
brandsHint: '免费版默认 1 个,付费版默认 2 个。',
keywords: '关键词总量',
keywordsHint: '当前用户可绑定的关键词总数。',
questions: '账号问题额度',
questionsHint: '所有品牌共用当前账号的问题额度。',
},
meta: {
keywordCount: '{count} 个关键词',
questionCount: '{count} 个问题',
competitorCount: '{count} 个竞品',
brandKeywordCount: '当前品牌已绑定 {count} 个关键词',
globalKeywordUsage: '总关键词已用 {used} / {total}',
keywordQuestionUsage: '问题 {used} / {total}',
},
sections: {
keywords: '关键词',
questions: '关键词库(搜索词)',
competitors: '竞品库',
versions: '版本记录',
},
actions: {
addBrand: '添加品牌',
newKeyword: '新建关键词',
newQuestion: '新建搜索词',
newCompetitor: '新建竞品',
viewVersions: '查看版本',
},
empty: {
brands: '还没有品牌数据,先创建一个品牌。',
questions: '当前品牌下暂无搜索词。',
competitors: '当前品牌下暂无竞品数据。',
brandDescription: '暂无品牌描述',
competitorDescription: '暂无竞品描述',
},
form: {
brandName: '品牌名称',
brandWebsite: '公司官网(选填)',
brandDescription: '品牌描述',
keywordName: '关键词名称',
questionText: '搜索词内容',
competitorName: '竞品名称',
competitorWebsite: '竞品官网',
competitorDescription: '竞品描述',
competitorLines: '重点产品线',
competitorLinesHint: '使用英文逗号分隔多个产品线',
},
messages: {
createBrand: '品牌已创建',
updateBrand: '品牌已更新',
deleteBrand: '品牌已删除',
createKeyword: '关键词已创建',
updateKeyword: '关键词已更新',
deleteKeyword: '关键词已删除',
createQuestion: '搜索词已创建',
updateQuestion: '搜索词已更新',
deleteQuestion: '搜索词已删除',
createCompetitor: '竞品已创建',
updateCompetitor: '竞品已更新',
deleteCompetitor: '竞品已删除',
chooseBrand: '请先选择品牌',
chooseKeyword: '请先选择关键词',
brandDescriptionRequired: '请输入品牌描述',
brandLimitReached: '当前套餐最多可绑定 {limit} 个品牌公司',
keywordLimitReached: '当前账号最多可绑定 {limit} 个关键词',
questionLimitReached: '当前账号最多可维护 {limit} 个搜索词',
},
questions: {
create: '新建搜索词',
createSingle: '新增单条搜索词',
expand: '批量扩展搜索词',
usage: '搜索词 {used} / {total}',
remaining: '还可保存 {count} 条',
generate: '生成候选',
emptyCandidates: '还没有候选,先从上方生成或粘贴搜索词。',
table: {
question: '关键词库(搜索词)',
},
modal: {
title: '新建搜索词',
currentBrand: '当前品牌',
methods: {
single: '单条新增',
combination: '拓词工具',
aiDistill: 'AI 扩展',
manualBatch: '手动批量',
},
preview: '候选预览',
summary:
'共 {total} 条候选 · 已选择 {selected} 条 · 过短 {tooShort} 条 · 重复 {duplicate} 条',
save: '保存搜索词 ({count})',
},
combination: {
region: '1.地域词',
prefix: '2.前缀词',
core: '3.精准词(必填)',
industry: '4.行业词(必填)',
suffix: '5.后缀词',
defaultWord: '默认词',
estimate: '预计生成 {count} 条候选',
coreRequired: '精准词不能为空',
industryRequired: '行业不能为空',
},
aiFill: {
button: 'AI 填词',
success: '已填入拓词词组,可继续编辑。',
charged: '已填入拓词词组,本次消耗 {count} 个 AI 点。',
waitingTitle: 'AI 正在填充拓词工具,请稍后…',
waitingStages: {
region: '正在识别所在地域并匹配城市、省会与大区…',
generate: '正在分析品牌和高频搜索意图…',
refine: '正在整理前缀词、精准词、行业词和后缀词…',
},
},
ai: {
note: 'AI 扩展会消耗 1 个 AI 点;生成失败时系统会自动退还。',
seedTopic: '用户搜索词',
seedTopicPlaceholder: '输入搜索词后按回车,可添加多个',
seedTopicHint: '按用户搜索词扩展强商业属性候选;公司名称是目标达成词,不是候选搜索词。',
generate: 'AI 生成候选',
waitingTitle: 'AI 正在生成候选搜索词,请稍后…',
waitingStages: {
context: '正在整理用户搜索词和目标达成词…',
generate: '正在生成适合推荐企业的强商业候选搜索词…',
refine: '正在去重并筛选可保存搜索词…',
},
},
batch: {
label: '每行一个搜索词',
},
badges: {
duplicate: '重复',
tooShort: '过短',
},
messages: {
partialSaved: '已保存 {created} 条,跳过 {skipped} 条',
limitReached: '当前账号最多可维护 {limit} 个搜索词,所有品牌共用该额度',
selectionLimitReached: '当前套餐最多可维护 {limit} 个搜索词,已达到可选上限',
truncated: '候选超过上限,已截断为 500 条。',
cacheHit: '已使用最近一次 AI 扩展结果。',
aiCharged: '本次 AI 扩展已消耗 {count} 个 AI 点。',
},
errors: {
emptyInput: '请先输入搜索词内容',
aiSeedTopicTooShort:
'{terms} 太短,请输入至少 2 个字的用户搜索词,例如“床垫推荐”或“儿童床怎么选”。',
aiSeedTopicTooShortWithMore:
'{terms} 等 {count} 个搜索词太短,请输入至少 2 个字的用户搜索词,例如“床垫推荐”或“儿童床怎么选”。',
noSelection: '请至少选择 1 条候选',
duplicateExisting: '关键词库已有,请添加其他关键词',
noValidQuestions: '没有可保存的搜索词,请调整候选后重试',
},
page: {
title: '新建搜索词',
subtitle: '按向导生成候选,确认后一次性保存到当前品牌的关键词库(搜索词)。',
steps: {
configure: '配置生成方式',
preview: '确认候选',
},
methodTitle: '选择创建方式',
methodHint: '候选保存前都是临时内容,你可以先生成、再筛选和编辑。',
methods: {
combination: '按图示词列批量拓展搜索词候选。',
ai: '让 AI 围绕用户搜索词生成候选,不把公司名称写进候选。',
batch: '从表格或文档中批量粘贴搜索词。',
},
expansionHint:
'前缀词填商业修饰,如性价比高的、口碑好的;精准词填具体需求,如精装、100平;行业词填品类,如全屋定制、家具定制;后缀词填哪家好、怎么选。',
batchHint: '每行一个搜索词,保存前可以逐条编辑和勾选。',
},
},
},
custom: {
eyebrow: 'Custom Generation',
title: '自定义生成',
description: '基于自定义 Prompt 规则灵活生成文章,支持即时与定时任务。',
cards: {
instantTitle: '即时生成内容',
instantDesc: '快速自定义内容创作任务',
scheduleTitle: '定时计划生成',
scheduleDesc: '配置自动化内容生成计划',
},
tabs: {
articles: '生成文章',
instantTasks: '即时任务',
scheduleTasks: '定时任务',
promptRules: 'Prompt 规则',
},
promptRule: {
name: '规则名称',
namePlaceholder: '请输入 Prompt 名称',
content: 'Prompt 内容',
scene: '适用场景',
tone: '默认语气',
wordCount: '默认字数',
wordCountHint:
'主流大语言模型单次长文本输出普遍存在限制,为了保证生成内容质量,最大建议字数不超过 6000 字。',
status: '状态',
articleCount: '关联文章数',
createTitle: '新建 Prompt 规则',
editTitle: '编辑 Prompt 规则',
deleteConfirm: '确定删除该规则?',
enabled: '启用',
disabled: '停用',
ungrouped: '未分组',
groupPlaceholder: '请选择 Prompt 分组',
contentPlaceholder: '输入 Prompt 内容,支持变量占位符',
},
task: {
basicSection: '基础信息',
advancedSection: '高级设置',
name: '任务名称',
namePlaceholder: '简单易懂的名称更方便区分哦',
prompt: '选择Prompt',
promptPlaceholder: '请选择Prompt',
createPrompt: '新建Prompt',
platforms: '发布平台',
platformsHint: '同步媒体管理中的平台和绑定状态,可不选,支持多选',
platformConnected: '已绑定',
platformUnauthorized: '未授权',
platformEmptyTitle: '暂无发布平台',
platformEmptyHint: '当前还没有可用的平台数据,请先检查媒体管理配置。',
publishSection: '发布设置',
autoPublish: '是否自动发布',
autoPublishHint: '开启后,定时生成完成的文章会自动发布到选中的媒体账号或企业自建站点。',
publishTargets: '发布目标',
publishTargetsHint: '可选择桌面媒体账号,也可选择企业自建站点;至少选择一个目标。',
publishTargetMediaAccounts: '媒体账号',
publishTargetEnterpriseSites: '企业自建站点',
publishAccounts: '媒体账号',
publishAccountsHint: '请选择具体账号。客户端离线时会先排队,上线后继续发布。',
publishAccountEmptyTitle: '暂无可选媒体账号',
publishAccountEmptyHint: '请先在桌面端绑定媒体账号,再回到这里配置自动发布。',
enterprisePublishType: '发布方式',
enterprisePublishNow: '直接发布',
enterprisePublishDraft: '保存草稿',
enterpriseCategoryPlaceholder: '选择栏目',
enterpriseSyncCategories: '同步栏目',
enterpriseSiteEmptyTitle: '暂无企业自建站点',
enterpriseSiteEmptyHint: '请先到媒体管理添加站点连接,并同步栏目。',
enterpriseSiteConnected: '已连通',
enterpriseSiteError: '连接异常',
enterpriseSiteDisabled: '已禁用',
enterpriseSiteDraft: '待校验',
enterpriseSiteDisabledHint: '该企业站点已禁用。',
enterpriseSiteErrorHint: '该企业站点连接异常,请先测试连通性。',
cover: '封面图',
coverHint: '请保证封面清晰、美观和完整',
scheduleCoverHint: '默认不设置封面。需要时可单独指定,生成完成后会写入文章并用于发布。',
scheduleCoverRequiredHint: '已选账号的平台要求发布封面,请先选择封面图。',
coverUpload: '上传封面图',
coverUploadHint: '当前仅做本地预览',
scheduleCoverUploadHint: '从本地或素材库选择',
source: '生成来源',
sourcePromptRule: '自定义 Prompt',
sourceKolTemplate: '精调模版',
kolTemplate: '精调模版',
kolTemplatePlaceholder: '请选择已订阅的精调模版',
kolTemplateEmptyTitle: '暂无可用精调模版',
kolTemplateEmptyHint: '当前账号还没有订阅可用的精调模版包,请先到精调模版市场完成订阅。',
scheduleSection: '调度策略',
kolInputSection: '精调变量',
kolWebSearch: '联网搜索',
kolWebSearchHint: '该精调模版允许联网搜索时可开启。',
kolKnowledge: '知识库引用',
kolKnowledgePlaceholder: '可选,选择你的知识库分组辅助生成',
scheduleTime: '定时生成文章',
scheduleEveryDay: '每天',
enableWebSearch: '生成文章联网搜索',
generateCount: '生成篇数',
submit: '创建任务',
},
group: {
title: '规则分组',
createTitle: '新建分组',
editTitle: '编辑分组',
deleteConfirm: '删除分组后,该组下的规则将移至未分组。确定删除?',
name: '分组名称',
allRules: '全部规则',
},
schedule: {
name: '任务名称',
rule: '关联规则',
target: '生成目标',
plan: '调度计划',
cron: '执行频率',
frequency: '频率',
kindDaily: '每天',
kindWeekly: '按星期',
weekdaysLabel: '执行日',
executionTime: '执行时间',
executionTimeHint:
'新建任务会默认随机落在 01:00-05:00,避免凌晨任务集中;你也可以手动修改为固定执行时间。',
executionTimeDefault: '默认错峰生成',
to: '至',
autoPublishPlatforms: '自动发布目标',
enterpriseSiteTargetCount: '企业自建站点 {count} 个',
autoPublish: '自动发布',
manualPublish: '手动发布',
nextRun: '下次执行',
dispatchStatus: '最近调度',
dispatchSuccess: '成功',
dispatchFailed: '失败',
dispatchPartialSuccess: '部分成功',
notDispatched: '未调度',
footerHint: '新建任务默认给出凌晨 1 点到 5 点之间的随机时间,保存后按所选时间执行。',
startAt: '开始时间',
endAt: '结束时间',
brand: '关联品牌',
createTitle: '新建定时任务',
editTitle: '编辑定时任务',
deleteConfirm: '确定删除该定时任务?',
enabled: '已启用',
disabled: '已停用',
enableAction: '启用',
disableAction: '停用',
cronOptions: {
daily: '每天一次',
twiceDaily: '每天两次',
weekly: '每周一次',
custom: '自定义 Cron',
},
weekdays: {
mon: '周一',
tue: '周二',
wed: '周三',
thu: '周四',
fri: '周五',
sat: '周六',
sun: '周日',
},
},
instant: {
title: '即时生成',
createTitle: '新建即时任务',
selectRule: '选择 Prompt 规则',
selectBrand: '选择品牌',
selectPlatform: '目标平台',
submit: '立即生成',
extraParams: '额外参数',
name: '任务名称',
executionStatus: '执行状态',
executionTime: '执行时间',
createdTime: '创建时间',
generatedArticles: '生成文章链接',
articleLinksEmpty: '暂无生成文章',
openArticle: '打开文章',
empty: '还未创建即时任务,暂无相关数据~',
},
filters: {
promptRule: 'Prompt 规则',
publishStatus: '发布状态',
generateStatus: '生成状态',
title: '标题',
generateTime: '生成时间',
status: '状态',
name: '名称',
namePlaceholder: '请输入任务名称内搜索',
createdTime: '创建时间',
},
article: {
titleColumn: '文章标题',
titleGenerating: '标题生成中',
},
messages: {
ruleCreated: '规则创建成功',
ruleUpdated: '规则更新成功',
ruleDeleted: '规则删除成功',
ruleEnabled: '规则已启用',
ruleDisabled: '规则已停用',
groupCreated: '分组创建成功',
groupUpdated: '分组更新成功',
groupDeleted: '分组删除成功',
scheduleCreated: '定时任务创建成功',
scheduleUpdated: '定时任务更新成功',
scheduleDeleted: '定时任务删除成功',
scheduleEnabled: '定时任务已启用',
scheduleDisabled: '定时任务已停用',
generateSubmitted: '生成任务已提交',
missingTaskName: '请先填写任务名称',
missingPromptRule: '请先选择 Prompt',
missingKolTemplate: '请先选择已订阅的精调模版',
invalidGenerateCount: '生成篇数至少为 1',
invalidScheduleTime: '请选择有效的定时时间',
invalidRandomWindow: '执行时间配置不正确',
missingScheduleDays: '请至少选择一个执行日',
missingPublishAccounts: '开启自动发布后,请至少选择一个媒体账号',
missingPublishTargets: '开启自动发布后,请至少选择一个发布目标',
missingEnterpriseSiteCategory: '请选择企业自建站点栏目',
enterpriseCategoriesSynced: '企业站点栏目已同步',
missingScheduleCover: '已选媒体账号的平台要求封面图,请先设置封面',
missingPromptName: '请先填写 Prompt 名称',
missingPromptContent: '请先填写 Prompt 内容',
},
},
featureStub: {
eyebrow: 'Feature Placeholder',
currentStatus: '当前状态',
nextPriority: '下一步重点',
integrationStrategy: '联调策略',
currentStatusText: '页面壳子已经接入主导航和鉴权守卫,后续可以直接在这里落真实交互。',
integrationStrategyText:
'保持与 tenant-api 的响应结构对齐,先做真实读接口,再逐个补写接口 and 表单流。',
},
images: {
title: '图片管理',
description: '管理图片素材库,支持分组、引用分析与封面引用。',
uploadBtn: '上传图片',
folders: '文件夹',
uncategorized: '未分类',
searchPlaceholder: '搜索图片名称...',
newFolder: '新建文件夹',
folderName: '文件夹名称',
rename: '重命名',
move: '移动',
deleteImage: '删除图片',
deleteFolder: '删除文件夹',
forceDelete: '仍然删除',
confirmDeleteTitle: '确认删除',
confirmDeleteImage: '确认删除这张图片吗?该操作不可撤销。',
confirmDeleteFolder: '确认删除文件夹 {name} 吗?',
imageInUse: '图片正在使用中',
folderHasRefs:
'该文件夹内有 {count} 张图片,这些图片可能已被文章引用。删除文件夹会一并删除这些图片,且不可恢复。',
refArticleBody: '正文引用',
refArticleCover: '封面引用',
storageUsage: '存储容量',
storageUsageDetail: '{used} / {total} ({percent}%)',
quotaExceeded: '存储空间已满,请清理后再上传。',
uploadSuccess: '图片上传成功',
uploadReusedSuccess: '素材库已有相同图片,已直接复用',
uploadFailed: '图片上传失败',
deleteSuccess: '删除成功',
folderCreated: '文件夹创建成功',
folderRenamed: '文件夹重命名成功',
folderDeleted: '文件夹已删除',
imageRenamed: '图片重命名成功',
imageMoved: '图片移动成功',
noImages: '暂无图片,点击上传开始添加',
allFolders: '全部文件夹',
selectImage: '选择图片',
libraryTab: '素材库',
},
} as const
export default zhCN