fix: autocorrect everything in web (#20605)

Signed-off-by: kenwoodjw <blackxin55+@gmail.com>
This commit is contained in:
kenwoodjw 2025-06-04 14:12:24 +08:00 • committed by GitHub
commit 01d500db14
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
91 changed files with 1109 additions and 1119 deletions

View file

@ -41,7 +41,7 @@ const translation = {
messageFeedbackApi: '消息反馈(点赞)',
messageFeedbackApiTip: '代表最终用户对返回消息进行评价,可以点赞与点踩,该数据将在“日志与标注”页中可见,并用于后续的模型微调。',
messageIDTip: '消息 ID',
ratingTip: 'like 或 dislike, 空值为撤销',
ratingTip: 'like 或 dislike,空值为撤销',
parametersApi: '获取应用配置信息',
parametersApiTip: '获取已配置的 Input 参数,包括变量名、字段名称、类型与默认值。通常用于客户端加载后显示这些字段的表单或填入默认值。',
},
@ -58,7 +58,7 @@ const translation = {
messageFeedbackApi: '消息反馈(点赞)',
messageFeedbackApiTip: '代表最终用户对返回消息进行评价,可以点赞与点踩,该数据将在“日志与标注”页中可见,并用于后续的模型微调。',
messageIDTip: '消息 ID',
ratingTip: 'like 或 dislike, 空值为撤销',
ratingTip: 'like 或 dislike,空值为撤销',
chatMsgHistoryApi: '获取会话历史消息',
chatMsgHistoryApiTip: '滚动加载形式返回历史聊天记录,第一页返回最新 `limit` 条,即:倒序返回。',
chatMsgHistoryConversationIdTip: '会话 ID',

View file

@ -123,7 +123,7 @@ const translation = {
ok: '好的',
contextVarNotEmpty: '上下文查询变量不能为空',
deleteContextVarTitle: '删除变量“{{varName}}”?',
deleteContextVarTip: '该变量已被设置为上下文查询变量,删除该变量将影响知识库的正常使用。 如果您仍需要删除它,请在上下文部分中重新选择它。',
deleteContextVarTip: '该变量已被设置为上下文查询变量,删除该变量将影响知识库的正常使用。如果您仍需要删除它,请在上下文部分中重新选择它。',
},
},
tools: {
@ -402,9 +402,9 @@ const translation = {
visionSettings: {
title: '视觉设置',
resolution: '分辨率',
resolutionTooltip: `低分辨率模式将使模型接收图像的低分辨率版本,尺寸为512 x 512,并使用65 Tokens 来表示图像。这样可以使API更快地返回响应,并在不需要高细节的用例中消耗更少的输入。
resolutionTooltip: `低分辨率模式将使模型接收图像的低分辨率版本,尺寸为 512 x 512,并使用 65 Tokens 来表示图像。这样可以使 API 更快地返回响应,并在不需要高细节的用例中消耗更少的输入。
\n
高分辨率模式将首先允许模型查看低分辨率图像,然后根据输入图像的大小创建512像素的详细裁剪图像。每个详细裁剪图像使用两倍的预算总共为129 Tokens。`,
高分辨率模式将首先允许模型查看低分辨率图像,然后根据输入图像的大小创建 512 像素的详细裁剪图像。每个详细裁剪图像使用两倍的预算总共为 129 Tokens。`,
high: '高',
low: '低',
uploadMethod: '上传方式',
@ -437,7 +437,7 @@ const translation = {
openingQuestion: '开场问题',
noDataPlaceHolder:
'在对话型应用中,让 AI 主动说第一段话可以拉近与用户间的距离。',
varTip: '你可以使用变量, 试试输入 {{variable}}',
varTip: '你可以使用变量,试试输入 {{variable}}',
tooShort: '对话前提示词至少 20 字才能生成开场白',
notIncludeKey: '前缀提示词中不包含变量 {{key}}。请在前缀提示词中添加该变量',
},
@ -466,9 +466,9 @@ const translation = {
noResult: '输出结果展示在这',
datasetConfig: {
settingTitle: '召回设置',
knowledgeTip: '点击 “+” 按钮添加知识库',
knowledgeTip: '点击“+”按钮添加知识库',
retrieveOneWay: {
title: 'N选1召回',
title: 'N 选 1 召回',
description: '根据用户意图和知识库描述,由 Agent 自主判断选择最匹配的单个知识库来查询相关文本,适合知识库区分度大且知识库数量偏少的应用。',
},
retrieveMultiWay: {

View file

@ -1,6 +1,6 @@
const translation = {
welcome: {
firstStepTip: '开始之前,',
firstStepTip: '开始之前,',
enterKeyTip: '请先在下方输入你的 OpenAI API Key',
getKeyTip: '从 OpenAI 获取你的 API Key',
placeholder: '你的 OpenAI API Key(例如 sk-xxxx)',
@ -9,11 +9,11 @@ const translation = {
cloud: {
trial: {
title: '您正在使用 {{providerName}} 的试用配额。',
description: '试用配额仅供您测试使用。 在试用配额用完之前,请自行设置模型提供商或购买额外配额。',
description: '试用配额仅供您测试使用。在试用配额用完之前,请自行设置模型提供商或购买额外配额。',
},
exhausted: {
title: '您的试用额度已用完,请设置您的APIKey。',
description: '您的试用配额已用完。 请设置您自己的模型提供商或购买额外配额。',
title: '您的试用额度已用完,请设置您的 APIKey。',
description: '您的试用配额已用完。请设置您自己的模型提供商或购买额外配额。',
},
},
selfHost: {

View file

@ -23,7 +23,7 @@ const translation = {
importFromDSLFile: '文件',
importFromDSLUrl: 'URL',
importFromDSLUrlPlaceholder: '输入 DSL 文件的 URL',
deleteAppConfirmTitle: '确认删除应用?',
deleteAppConfirmTitle: '确认删除应用?',
deleteAppConfirmContent:
'删除应用将无法撤销。用户将不能访问你的应用,所有 Prompt 编排配置和日志均将一并被删除。',
appDeleted: '应用已删除',
@ -169,12 +169,12 @@ const translation = {
publicKey: '公钥',
secretKey: '密钥',
viewDocsLink: '查看 {{key}} 的文档',
removeConfirmTitle: '删除 {{key}} 配置?',
removeConfirmTitle: '删除 {{key}} 配置?',
removeConfirmContent: '当前配置正在使用中,删除它将关闭追踪功能。',
},
weave: {
title: '编织',
description: 'Weave是一个开源平台,用于评估、测试和监控大型语言模型应用程序。',
description: 'Weave 是一个开源平台,用于评估、测试和监控大型语言模型应用程序。',
},
},
appSelector: {

View file

@ -126,7 +126,7 @@ const translation = {
'影响常见与罕见词汇使用。\n值较大时,倾向于生成不常见的词汇和表达方式。\n值越小,更倾向于使用常见和普遍接受的词汇或短语。',
max_tokens: '单次回复限制 max_tokens',
max_tokensTip:
'用于限制回复的最大长度,以 token 为单位。\n较大的值可能会限制给提示词、聊天记录和知识库留出的空间。\n建议将其设置在三分之二以下。\ngpt-4-1106-preview、gpt-4-vision-preview 最大长度 (输入128k,输出4k)',
'用于限制回复的最大长度,以 token 为单位。\n较大的值可能会限制给提示词、聊天记录和知识库留出的空间。\n建议将其设置在三分之二以下。\ngpt-4-1106-preview、gpt-4-vision-preview 最大长度 (输入 128k,输出 4k)',
maxTokenSettingTip: '您设置的最大 tokens 数较大,可能会导致 prompt、用户问题、知识库内容没有 token 空间进行处理,建议设置到 2/3 以下。',
setToCurrentModelMaxTokenTip: '最大令牌数更新为当前模型最大的令牌数 {{maxToken}} 的 80%。',
stop_sequences: '停止序列 stop_sequences',
@ -153,7 +153,7 @@ const translation = {
exploreMarketplace: '探索 Marketplace',
pluginsTips: '集成第三方插件或创建与 ChatGPT 兼容的 AI 插件。',
datasets: '知识库',
datasetsTips: '即将到来: 上传自己的长文本数据,或通过 Webhook 集成自己的数据源',
datasetsTips: '即将到来:上传自己的长文本数据,或通过 Webhook 集成自己的数据源',
newApp: '创建应用',
newDataset: '创建知识库',
tools: '工具',
@ -270,7 +270,7 @@ const translation = {
deleteMember: '删除成员',
you: '(你)',
builderTip: '可以构建和编辑自己的应用程序',
setBuilder: 'Set as builder (设置为构建器)',
setBuilder: 'Set as builder(设置为构建器)',
builder: '构建器',
},
integrations: {
@ -348,7 +348,7 @@ const translation = {
},
embeddingModel: {
key: 'Embedding 模型',
tip: '设置知识库文档嵌入处理的默认模型,检索和导入知识库均使用该Embedding模型进行向量化处理,切换后将导致已导入的知识库与问题之间的向量维度不一致,从而导致检索失败。为避免检索失败,请勿随意切换该模型。',
tip: '设置知识库文档嵌入处理的默认模型,检索和导入知识库均使用该 Embedding 模型进行向量化处理,切换后将导致已导入的知识库与问题之间的向量维度不一致,从而导致检索失败。为避免检索失败,请勿随意切换该模型。',
required: '请选择 Embedding 模型',
},
speechToTextModel: {
@ -384,7 +384,7 @@ const translation = {
buyQuota: '购买额度',
priorityUse: '优先使用',
removeKey: '删除 API 密钥',
tip: '已付费额度将优先考虑。 试用额度将在付费额度用完后使用。',
tip: '已付费额度将优先考虑。试用额度将在付费额度用完后使用。',
},
item: {
deleteDesc: '{{modelName}} 被用作系统推理模型。删除后部分功能将无法使用。请确认。',
@ -415,7 +415,7 @@ const translation = {
getFreeTokens: '获得免费 Tokens',
priorityUsing: '优先使用',
deprecated: '已弃用',
confirmDelete: '确认删除?',
confirmDelete: '确认删除?',
quotaTip: '剩余免费额度',
loadPresets: '加载预设',
parameters: '参数',
@ -667,7 +667,7 @@ const translation = {
imageInput: {
dropImageHere: '将图片拖放到此处,或',
browse: '浏览',
supportedFormats: '支持PNG、JPG、JPEG、WEBP和GIF格式',
supportedFormats: '支持 PNG、JPG、JPEG、WEBP 和 GIF 格式',
},
you: '你',
}

View file

@ -92,18 +92,18 @@ const translation = {
excludePaths: '排除路径',
includeOnlyPaths: '仅包含路径',
extractOnlyMainContent: '仅提取主要内容(无标题、导航、页脚等)',
exceptionErrorTitle: '运行时发生异常:',
exceptionErrorTitle: '运行时发生异常:',
unknownError: '未知错误',
totalPageScraped: '抓取页面总数:',
totalPageScraped: '抓取页面总数:',
selectAll: '全选',
resetAll: '重置全部',
scrapTimeInfo: '总共在 {{time}}秒 内抓取了 {{total}} 个页面',
preview: '预览',
maxDepthTooltip: '相对于输入 URL 的最大抓取深度。深度0仅抓取输入 URL 本身的页面,深度1抓取输入 URL 及其后的一层目录(一个 /),依此类推。',
maxDepthTooltip: '相对于输入 URL 的最大抓取深度。深度 0 仅抓取输入 URL 本身的页面,深度 1 抓取输入 URL 及其后的一层目录(一个 /),依此类推。',
watercrawlDocLink: '从网站同步',
watercrawlDoc: 'Watercrawl 文档',
configureWatercrawl: '配置水爬行',
watercrawlTitle: '使用Watercrawl提取网页内容',
watercrawlTitle: '使用 Watercrawl 提取网页内容',
},
},
stepTwo: {
@ -121,19 +121,19 @@ const translation = {
paragraph: '段落',
paragraphTip: '此模式根据分隔符和最大块长度将文本拆分为段落,使用拆分文本作为检索的父块',
fullDoc: '全文',
fullDocTip: '整个文档用作父块并直接检索。请注意,出于性能原因,超过10000个标记的文本将被自动截断。',
fullDocTip: '整个文档用作父块并直接检索。请注意,出于性能原因,超过 10000 个标记的文本将被自动截断。',
separator: '分段标识符',
separatorTip: '分隔符是用于分隔文本的字符。\\n\\n 和 \\n 是常用于分隔段落和行的分隔符。用逗号连接分隔符(\\n\\n,\\n),当段落超过最大块长度时,会按行进行分割。你也可以使用自定义的特殊分隔符(例如 ***)。',
separatorPlaceholder: '\\n\\n 用于分段;\\n 用于分行',
maxLength: '分段最大长度',
maxLengthCheck: '分段最大长度不能大于 {{limit}}',
overlap: '分段重叠长度',
overlapTip: '设置分段之间的重叠长度可以保留分段之间的语义关系,提升召回效果。建议设置为最大分段长度的10%-25%',
overlapTip: '设置分段之间的重叠长度可以保留分段之间的语义关系,提升召回效果。建议设置为最大分段长度的 10%-25%',
overlapCheck: '分段重叠长度不能大于分段最大长度',
rules: '文本预处理规则',
removeExtraSpaces: '替换掉连续的空格、换行符和制表符',
removeUrlEmails: '删除所有 URL 和电子邮件地址',
removeStopwords: '去除停用词,例如 “a”,“an”,“the” 等',
removeStopwords: '去除停用词,例如“a”,“an”,“the”等',
preview: '预览',
previewChunk: '预览块',
reset: '重置',
@ -141,11 +141,11 @@ const translation = {
qualified: '高质量',
highQualityTip: '使用高质量模式进行嵌入后,无法切换回经济模式。',
recommend: '推荐',
qualifiedTip: '调用嵌入模型处理文档以实现更精确的检索,可以帮助LLM生成高质量的答案。',
qualifiedTip: '调用嵌入模型处理文档以实现更精确的检索,可以帮助 LLM 生成高质量的答案。',
warning: '请先完成模型供应商的 API KEY 设置。.',
click: '前往设置',
economical: '经济',
economicalTip: '每个数据块使用10个关键词进行检索,不会消耗任何tokens,但会以降低检索准确性为代价。',
economicalTip: '每个数据块使用 10 个关键词进行检索,不会消耗任何 tokens,但会以降低检索准确性为代价。',
QATitle: '采用 Q&A 分段模式',
QATip: '开启后将会消耗额外的 token',
QALanguage: '分段使用',

View file

@ -27,7 +27,7 @@ const translation = {
createDataset: '创建知识库',
noExternalKnowledge: '还没有外部知识库 API,点击此处创建',
createExternalAPI: '添加外部知识库 API',
createNewExternalAPI: '创建新的外部知识库API',
createNewExternalAPI: '创建新的外部知识库 API',
editExternalAPIFormTitle: '编辑外部知识库 API',
editExternalAPITooltipTitle: '个关联知识库',
editExternalAPIConfirmWarningContent: {
@ -69,8 +69,8 @@ const translation = {
createDatasetIntro: '导入您自己的文本数据或通过 Webhook 实时写入数据以增强 LLM 的上下文。',
deleteDatasetConfirmTitle: '要删除知识库吗?',
deleteDatasetConfirmContent:
'删除知识库是不可逆的。用户将无法再访问您的知识库,所有的提示配置和日志将被永久删除。',
datasetUsedByApp: '某些应用正在使用该知识库。应用将无法再使用该知识库,所有的提示配置和日志将被永久删除。',
'删除知识库是不可逆的。用户将无法再访问您的知识库,所有的提示配置和日志将被永久删除。',
datasetUsedByApp: '某些应用正在使用该知识库。应用将无法再使用该知识库,所有的提示配置和日志将被永久删除。',
datasetDeleted: '知识库已删除',
datasetDeleteFailed: '删除知识库失败',
selectExternalKnowledgeAPI: {
@ -207,7 +207,7 @@ const translation = {
builtIn: '内置',
builtInDescription: '内置元数据是系统预定义的元数据,您可以在此处查看和管理内置元数据。',
deleteTitle: '确定删除',
deleteContent: '你确定要删除元数据 "{{name}}" 吗?',
deleteContent: '你确定要删除元数据 "{{name}}" 吗?',
},
documentMetadata: {
metadataToolTip: '元数据是关于文档的数据,用于描述文档的属性。元数据可以帮助您更好地组织和管理文档。',

View file

@ -59,12 +59,12 @@ const translation = {
emailInValid: '请输入有效的邮箱地址',
nameEmpty: '用户名不能为空',
passwordEmpty: '密码不能为空',
passwordInvalid: '密码必须包含字母和数字,且长度不小于8位',
passwordInvalid: '密码必须包含字母和数字,且长度不小于 8 位',
passwordLengthInValid: '密码必须至少为 8 个字符',
registrationNotAllowed: '账户不存在,请联系系统管理员注册账户',
},
license: {
tip: '启动 Dify 社区版之前, 请阅读 GitHub 上的',
tip: '启动 Dify 社区版之前,请阅读 GitHub 上的',
link: '开源协议',
},
join: '加入 ',

View file

@ -67,7 +67,7 @@ const translation = {
endpointsDocLink: '查看文档',
endpointsEmpty: '点击 \'+\' 按钮添加 API 端点',
endpointDisableTip: '停用 API 端点',
endpointDisableContent: '是否要停用 {{name}} 的 API 端点 ?',
endpointDisableContent: '是否要停用 {{name}} 的 API 端点?',
endpointDeleteTip: '移除 API 端点',
endpointDeleteContent: '是否要移除 {{name}} ?',
endpointModalTitle: '设置 API 端点',
@ -124,7 +124,7 @@ const translation = {
pluginInfo: '插件信息',
delete: '移除插件',
deleteContentLeft: '是否要移除 ',
deleteContentRight: ' 插件?',
deleteContentRight: ' 插件?',
usedInApps: '此插件正在 {{num}} 个应用中使用。',
},
installModal: {

View file

@ -68,8 +68,8 @@ const translation = {
empty: '上传文件的内容不能为空',
fileStructNotMatch: '上传文件的内容与结构不匹配',
emptyLine: '第 {{rowIndex}} 行的内容为空',
invalidLine: '第 {{rowIndex}} 行: {{varName}}值必填',
moreThanMaxLengthLine: '第 {{rowIndex}} 行: {{varName}}值超过最大长度 {{maxLength}}',
invalidLine: '第 {{rowIndex}} 行:{{varName}}值必填',
moreThanMaxLengthLine: '第 {{rowIndex}} 行:{{varName}}值超过最大长度 {{maxLength}}',
atLeastOne: '上传文件的内容不能少于一条',
},
},

View file

@ -29,7 +29,7 @@ const translation = {
added: '已添加',
manageInTools: '去工具列表管理',
emptyTitle: '没有可用的工作流工具',
emptyTip: '去 “工作流 -> 发布为工具” 添加',
emptyTip: '去“工作流 -> 发布为工具”添加',
emptyTitleCustom: '没有可用的自定义工具',
emptyTipCustom: '创建自定义工具',
},
@ -52,8 +52,8 @@ const translation = {
urlError: '请输入有效的 URL',
examples: '例子',
exampleOptions: {
json: '天气(JSON)',
yaml: '宠物商店(YAML)',
json: '天气 (JSON)',
yaml: '宠物商店 (YAML)',
blankTemplate: '空白模版',
},
availableTools: {
@ -98,7 +98,7 @@ const translation = {
methodParameter: 'LLM 填入',
methodParameterTip: 'LLM 在推理过程中填写',
label: '标签',
labelPlaceholder: '选择标签(可选)',
labelPlaceholder: '选择标签 (可选)',
description: '描述',
descriptionPlaceholder: '参数意义的描述',
},
@ -135,7 +135,7 @@ const translation = {
infoAndSetting: '信息和设置',
},
noCustomTool: {
title: '没有自定义工具!',
title: '没有自定义工具!',
content: '在此统一添加和管理你的自定义工具,方便构建应用时使用。',
createTool: '创建工具',
},

View file

@ -58,7 +58,7 @@ const translation = {
processData: '数据处理',
input: '输入',
output: '输出',
jinjaEditorPlaceholder: '输入 “/” 或 “{” 插入变量',
jinjaEditorPlaceholder: '输入“/”或“{”插入变量',
viewOnly: '只读',
showRunHistory: '显示运行历史',
enableJinja: '开启支持 Jinja 模板',
@ -271,7 +271,7 @@ const translation = {
'variable-aggregator': '将多路分支的变量聚合为一个变量,以实现下游节点统一配置。',
'iteration': '对列表对象执行多次步骤直至输出所有结果。',
'loop': '循环执行一段逻辑直到满足结束条件或者到达循环次数上限。',
'loop-end': '相当于“break” 此节点没有配置项,当循环体内运行到此节点后循环终止。',
'loop-end': '相当于“break”此节点没有配置项,当循环体内运行到此节点后循环终止。',
'parameter-extractor': '利用 LLM 从自然语言内推理提取出结构化参数,用于后置的工具调用或 HTTP 请求。',
'document-extractor': '用于将用户上传的文档解析为 LLM 便于理解的文本内容。',
'list-operator': '用于过滤或排序数组内容。',
@ -538,7 +538,7 @@ const translation = {
writePlaceholder: '输入写入超时(以秒为单位)',
},
curl: {
title: '导入cURL',
title: '导入 cURL',
placeholder: '粘贴 cURL 字符串',
},
},
@ -661,9 +661,9 @@ const translation = {
type: '支持类型。现在只支持图片',
transfer_method: '传输方式。值为 remote_url 或 local_file',
url: '图片链接',
upload_file_id: '上传文件ID',
upload_file_id: '上传文件 ID',
},
json: '工具生成的json',
json: '工具生成的 json',
},
},
questionClassifiers: {
@ -788,7 +788,7 @@ const translation = {
outputVars: {
text: '提取的文本',
},
supportFileTypes: '支持的文件类型: {{types}}。',
supportFileTypes: '支持的文件类型:{{types}}。',
learnMore: '了解更多',
},
listFilter: {
@ -863,9 +863,9 @@ const translation = {
type: '支持类型。现在只支持图片',
transfer_method: '传输方式。值为 remote_url 或 local_file',
url: '图片链接',
upload_file_id: '上传文件ID',
upload_file_id: '上传文件 ID',
},
json: 'agent 生成的json',
json: 'agent 生成的 json',
},
checkList: {
strategyNotSelected: '未选择策略',