@proofhound/web-ui 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/navigation/link.d.ts +15 -0
- package/dist/components/navigation/link.d.ts.map +1 -0
- package/dist/components/navigation/link.js +23 -0
- package/dist/components/navigation/link.js.map +1 -0
- package/dist/contracts/index.d.ts +2 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/hooks/annotation.d.ts +37 -16
- package/dist/hooks/annotation.d.ts.map +1 -1
- package/dist/hooks/canary-release.d.ts +62 -37
- package/dist/hooks/canary-release.d.ts.map +1 -1
- package/dist/hooks/dataset.d.ts +101 -0
- package/dist/hooks/dataset.d.ts.map +1 -1
- package/dist/hooks/dataset.js +27 -0
- package/dist/hooks/dataset.js.map +1 -1
- package/dist/hooks/optimization.d.ts +1 -1
- package/dist/hooks/production-release.d.ts +8 -4
- package/dist/hooks/production-release.d.ts.map +1 -1
- package/dist/hooks/prompt.d.ts +149 -38
- package/dist/hooks/prompt.d.ts.map +1 -1
- package/dist/hooks/prompt.js +20 -0
- package/dist/hooks/prompt.js.map +1 -1
- package/dist/hooks/release-line.d.ts +2522 -72
- package/dist/hooks/release-line.d.ts.map +1 -1
- package/dist/hooks/release-line.js +125 -0
- package/dist/hooks/release-line.js.map +1 -1
- package/dist/hooks/run-result.d.ts +9 -6
- package/dist/hooks/run-result.d.ts.map +1 -1
- package/dist/hooks/run-result.js +2 -1
- package/dist/hooks/run-result.js.map +1 -1
- package/dist/hooks/use-router.d.ts +17 -0
- package/dist/hooks/use-router.d.ts.map +1 -0
- package/dist/hooks/use-router.js +30 -0
- package/dist/hooks/use-router.js.map +1 -0
- package/dist/i18n/index.d.ts +652 -160
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +652 -160
- package/dist/i18n/index.js.map +1 -1
- package/dist/lib/releases/release-line-model.d.ts +8 -2
- package/dist/lib/releases/release-line-model.d.ts.map +1 -1
- package/dist/lib/releases/release-line-model.js +66 -29
- package/dist/lib/releases/release-line-model.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/navigation-provider.d.ts +27 -0
- package/dist/providers/navigation-provider.d.ts.map +1 -0
- package/dist/providers/navigation-provider.js +17 -0
- package/dist/providers/navigation-provider.js.map +1 -0
- package/dist/providers/proofhound-web-provider.d.ts.map +1 -1
- package/dist/providers/proofhound-web-provider.js +2 -1
- package/dist/providers/proofhound-web-provider.js.map +1 -1
- package/dist/screens/annotations/annotation-detail-page.d.ts.map +1 -1
- package/dist/screens/annotations/annotation-detail-page.js +4 -3
- package/dist/screens/annotations/annotation-detail-page.js.map +1 -1
- package/dist/screens/annotations/annotation-new-page.d.ts.map +1 -1
- package/dist/screens/annotations/annotation-new-page.js +216 -51
- package/dist/screens/annotations/annotation-new-page.js.map +1 -1
- package/dist/screens/annotations/annotation-task-model.d.ts +3 -2
- package/dist/screens/annotations/annotation-task-model.d.ts.map +1 -1
- package/dist/screens/annotations/annotation-task-model.js +5 -4
- package/dist/screens/annotations/annotation-task-model.js.map +1 -1
- package/dist/screens/annotations/annotation-ui.d.ts.map +1 -1
- package/dist/screens/annotations/annotation-ui.js +9 -4
- package/dist/screens/annotations/annotation-ui.js.map +1 -1
- package/dist/screens/annotations/annotations-list-page.js +3 -3
- package/dist/screens/annotations/annotations-list-page.js.map +1 -1
- package/dist/screens/connectors/connector-detail-page.d.ts.map +1 -1
- package/dist/screens/connectors/connector-detail-page.js +8 -4
- package/dist/screens/connectors/connector-detail-page.js.map +1 -1
- package/dist/screens/connectors/connector-form-page.js +3 -3
- package/dist/screens/connectors/connector-form-page.js.map +1 -1
- package/dist/screens/connectors/connector-ui.d.ts +6 -0
- package/dist/screens/connectors/connector-ui.d.ts.map +1 -1
- package/dist/screens/connectors/connector-ui.js +7 -1
- package/dist/screens/connectors/connector-ui.js.map +1 -1
- package/dist/screens/connectors/connectors-list-page.d.ts.map +1 -1
- package/dist/screens/connectors/connectors-list-page.js +8 -7
- package/dist/screens/connectors/connectors-list-page.js.map +1 -1
- package/dist/screens/dashboard/dashboard-screen.d.ts.map +1 -1
- package/dist/screens/dashboard/dashboard-screen.js +29 -17
- package/dist/screens/dashboard/dashboard-screen.js.map +1 -1
- package/dist/screens/datasets/dataset-detail-page.js +1 -1
- package/dist/screens/datasets/dataset-detail-page.js.map +1 -1
- package/dist/screens/datasets/dataset-mappers.js +1 -1
- package/dist/screens/datasets/dataset-mappers.js.map +1 -1
- package/dist/screens/datasets/dataset-types.d.ts +1 -1
- package/dist/screens/datasets/dataset-types.d.ts.map +1 -1
- package/dist/screens/datasets/dataset-ui.d.ts +1 -1
- package/dist/screens/datasets/dataset-ui.d.ts.map +1 -1
- package/dist/screens/datasets/dataset-ui.js +2 -2
- package/dist/screens/datasets/dataset-ui.js.map +1 -1
- package/dist/screens/datasets/dataset-upload-page.js +2 -2
- package/dist/screens/datasets/dataset-upload-page.js.map +1 -1
- package/dist/screens/datasets/datasets-list-page.d.ts.map +1 -1
- package/dist/screens/datasets/datasets-list-page.js +37 -26
- package/dist/screens/datasets/datasets-list-page.js.map +1 -1
- package/dist/screens/experiments/experiment-detail-page.js +3 -3
- package/dist/screens/experiments/experiment-detail-page.js.map +1 -1
- package/dist/screens/experiments/experiment-new-page.js +2 -2
- package/dist/screens/experiments/experiment-new-page.js.map +1 -1
- package/dist/screens/experiments/experiments-list-page.d.ts.map +1 -1
- package/dist/screens/experiments/experiments-list-page.js +3 -2
- package/dist/screens/experiments/experiments-list-page.js.map +1 -1
- package/dist/screens/experiments/experiments-table.js +1 -1
- package/dist/screens/experiments/experiments-table.js.map +1 -1
- package/dist/screens/experiments/run-result-labels.d.ts.map +1 -1
- package/dist/screens/experiments/run-result-labels.js +3 -4
- package/dist/screens/experiments/run-result-labels.js.map +1 -1
- package/dist/screens/models/model-form-page.js +2 -2
- package/dist/screens/models/model-form-page.js.map +1 -1
- package/dist/screens/models/models-list-page.d.ts.map +1 -1
- package/dist/screens/models/models-list-page.js +3 -2
- package/dist/screens/models/models-list-page.js.map +1 -1
- package/dist/screens/optimizations/optimization-detail-page.js +2 -2
- package/dist/screens/optimizations/optimization-detail-page.js.map +1 -1
- package/dist/screens/optimizations/optimization-new-page.js +2 -2
- package/dist/screens/optimizations/optimization-new-page.js.map +1 -1
- package/dist/screens/optimizations/optimizations-list-page.d.ts.map +1 -1
- package/dist/screens/optimizations/optimizations-list-page.js +3 -2
- package/dist/screens/optimizations/optimizations-list-page.js.map +1 -1
- package/dist/screens/prompts/prompt-detail-page.d.ts.map +1 -1
- package/dist/screens/prompts/prompt-detail-page.js +10 -10
- package/dist/screens/prompts/prompt-detail-page.js.map +1 -1
- package/dist/screens/prompts/prompt-model.d.ts +5 -2
- package/dist/screens/prompts/prompt-model.d.ts.map +1 -1
- package/dist/screens/prompts/prompt-model.js +3 -1
- package/dist/screens/prompts/prompt-model.js.map +1 -1
- package/dist/screens/prompts/prompts-list-page.d.ts.map +1 -1
- package/dist/screens/prompts/prompts-list-page.js +46 -21
- package/dist/screens/prompts/prompts-list-page.js.map +1 -1
- package/dist/screens/quick-start/quick-start-screen.js +2 -2
- package/dist/screens/quick-start/quick-start-screen.js.map +1 -1
- package/dist/screens/releases/release-input-route-editor.d.ts +39 -0
- package/dist/screens/releases/release-input-route-editor.d.ts.map +1 -0
- package/dist/screens/releases/release-input-route-editor.js +355 -0
- package/dist/screens/releases/release-input-route-editor.js.map +1 -0
- package/dist/screens/releases/release-line-detail-page.d.ts +62 -0
- package/dist/screens/releases/release-line-detail-page.d.ts.map +1 -1
- package/dist/screens/releases/release-line-detail-page.js +1880 -325
- package/dist/screens/releases/release-line-detail-page.js.map +1 -1
- package/dist/screens/releases/release-line-ui.d.ts.map +1 -1
- package/dist/screens/releases/release-line-ui.js +55 -39
- package/dist/screens/releases/release-line-ui.js.map +1 -1
- package/dist/screens/releases/release-new-model.d.ts.map +1 -1
- package/dist/screens/releases/release-new-model.js +1 -6
- package/dist/screens/releases/release-new-model.js.map +1 -1
- package/dist/screens/releases/release-new-page.d.ts.map +1 -1
- package/dist/screens/releases/release-new-page.js +104 -68
- package/dist/screens/releases/release-new-page.js.map +1 -1
- package/dist/screens/releases/release-topology-canvas.d.ts +11 -2
- package/dist/screens/releases/release-topology-canvas.d.ts.map +1 -1
- package/dist/screens/releases/release-topology-canvas.js +1015 -174
- package/dist/screens/releases/release-topology-canvas.js.map +1 -1
- package/dist/screens/releases/releases-list-page.d.ts.map +1 -1
- package/dist/screens/releases/releases-list-page.js +82 -33
- package/dist/screens/releases/releases-list-page.js.map +1 -1
- package/package.json +5 -4
package/dist/i18n/index.js
CHANGED
|
@@ -67,9 +67,9 @@ const dictionaries = {
|
|
|
67
67
|
'annotations.claim.submit': '开始标注',
|
|
68
68
|
'annotations.claim.cancel': '取消',
|
|
69
69
|
'annotations.title': '标注',
|
|
70
|
-
'annotations.subtitle': '
|
|
70
|
+
'annotations.subtitle': '手动创建标注任务,按发布名称、发布版本与灰度 / 生产数据筛选样本,并选择正确分类写入 expected_output。',
|
|
71
71
|
'annotations.search': '搜索任务、提示词、模型或样本来源',
|
|
72
|
-
'annotations.empty': '
|
|
72
|
+
'annotations.empty': '暂无标注任务,请从发布名称和发布版本手动创建',
|
|
73
73
|
'annotations.loadFailed': '标注任务加载失败,请刷新重试',
|
|
74
74
|
'annotations.action.new': '新建标注任务',
|
|
75
75
|
'annotations.action.open': '打开详情',
|
|
@@ -98,6 +98,7 @@ const dictionaries = {
|
|
|
98
98
|
'annotations.table.updatedAt': '更新时间',
|
|
99
99
|
'annotations.scope.canary': '灰度候选',
|
|
100
100
|
'annotations.scope.online': '生产数据',
|
|
101
|
+
'annotations.scope.all': '全部数据',
|
|
101
102
|
'annotations.status.active': '进行中',
|
|
102
103
|
'annotations.status.completed': '已完成',
|
|
103
104
|
'annotations.status.archived': '已归档',
|
|
@@ -117,43 +118,67 @@ const dictionaries = {
|
|
|
117
118
|
'annotations.lifecycle.submitDetail': '{count} 条已提交',
|
|
118
119
|
'annotations.new.breadcrumb': '新建',
|
|
119
120
|
'annotations.new.title': '新建标注任务',
|
|
120
|
-
'annotations.new.subtitle': '
|
|
121
|
+
'annotations.new.subtitle': '选择发布名称和发布版本后,按总量随机抽取或按当前分类数量指定标注数据量。',
|
|
121
122
|
'annotations.new.action.openTask': '打开任务',
|
|
122
123
|
'annotations.new.action.createCanary': '新建灰度发布',
|
|
123
124
|
'annotations.new.action.create': '创建任务',
|
|
124
125
|
'annotations.new.action.creating': '创建中...',
|
|
126
|
+
'annotations.new.section.name': '任务名称',
|
|
127
|
+
'annotations.new.section.nameDetail': '先为本次标注任务命名',
|
|
125
128
|
'annotations.new.section.source': '任务来源',
|
|
126
129
|
'annotations.new.section.sourceDetail': '标注任务绑定灰度候选或线上正式发布样本',
|
|
127
130
|
'annotations.new.section.config': '标注配置',
|
|
128
131
|
'annotations.new.section.configDetail': '定义抽样规模与人工判断字段',
|
|
129
|
-
'annotations.new.section.release': '
|
|
130
|
-
'annotations.new.section.releaseDetail': '
|
|
131
|
-
'annotations.new.section.
|
|
132
|
-
'annotations.new.section.
|
|
133
|
-
'annotations.new.section.sample': '
|
|
134
|
-
'annotations.new.section.sampleDetail': '
|
|
132
|
+
'annotations.new.section.release': '选择发布名称和发布版本',
|
|
133
|
+
'annotations.new.section.releaseDetail': '标注任务绑定到一条发布线路和一个发布版本',
|
|
134
|
+
'annotations.new.section.version': '选择发布版本',
|
|
135
|
+
'annotations.new.section.versionDetail': '用版本号、提示词版本和模型确认要标注的数据',
|
|
136
|
+
'annotations.new.section.sample': '标注数据量',
|
|
137
|
+
'annotations.new.section.sampleDetail': '选择随机抽取或按分类指定数量',
|
|
135
138
|
'annotations.new.scope.label': '标注范围',
|
|
136
139
|
'annotations.new.onlineHint': '线上抽样标注会绑定正式发布事件;当前可先在发布详情中查看线上入口。',
|
|
137
140
|
'annotations.new.emptyCanary': '暂无可用灰度任务,请先创建灰度发布并让 runner 写入运行结果。',
|
|
138
141
|
'annotations.new.emptyRelease': '暂无可用发布,请先创建发布并写入运行结果。',
|
|
139
142
|
'annotations.new.selectReleaseFirst': '请先选择发布名称。',
|
|
140
|
-
'annotations.new.
|
|
143
|
+
'annotations.new.emptyVersion': '该发布名称下暂无发布版本。',
|
|
144
|
+
'annotations.new.releaseSearchPlaceholder': '搜索发布名称、提示词或版本',
|
|
145
|
+
'annotations.new.versionSearchPlaceholder': '搜索版本号、提示词、模型或数量',
|
|
146
|
+
'annotations.new.noMatches': '没有匹配项',
|
|
147
|
+
'annotations.new.dropdown.prompt': '提示词',
|
|
148
|
+
'annotations.new.dropdown.model': '模型',
|
|
149
|
+
'annotations.new.dropdown.runResults': '数量 - {count}',
|
|
150
|
+
'annotations.new.dropdown.runResultsLabel': '数量',
|
|
151
|
+
'annotations.new.dropdown.versionCount': '{count} 个版本',
|
|
141
152
|
'annotations.new.field.name': '任务名称',
|
|
142
153
|
'annotations.new.field.namePlaceholder': '例如 annotation-20260523',
|
|
143
154
|
'annotations.new.field.sampleLimit': '标注数量',
|
|
144
|
-
'annotations.new.maxSamples': '
|
|
155
|
+
'annotations.new.maxSamples': '当前发布版本最多 {count} 条',
|
|
145
156
|
'annotations.new.expectedOutputOnly': '标注字段固定为 expected_output,提交时从提示词分类中选择当前样本的正确分类。',
|
|
146
157
|
'annotations.new.noCategoryOptions': '未从提示词获得分类选项',
|
|
147
|
-
'annotations.new.categoryOptionsRequired': '
|
|
158
|
+
'annotations.new.categoryOptionsRequired': '当前发布版本缺少提示词分类选项,请先在提示词输出 Schema 中维护分类。',
|
|
159
|
+
'annotations.new.samplingMode.label': '抽样方式',
|
|
160
|
+
'annotations.new.samplingMode.random': '随机抽取',
|
|
161
|
+
'annotations.new.samplingMode.perCategory': '按分类指定',
|
|
162
|
+
'annotations.new.categorySample.category': '分类',
|
|
163
|
+
'annotations.new.categorySample.available': '可用数量',
|
|
164
|
+
'annotations.new.categorySample.count': '标注数量',
|
|
165
|
+
'annotations.new.categorySample.total': '已选择 {count} / {max} 条',
|
|
166
|
+
'annotations.new.categorySampleExceeded': '某个分类的标注数量超过了当前可用数量。',
|
|
167
|
+
'annotations.new.versionScope.label': '版本范围',
|
|
168
|
+
'annotations.new.versionScope.exact': '精确版本',
|
|
169
|
+
'annotations.new.versionScope.journey': '发布旅程',
|
|
170
|
+
'annotations.new.versionScopeIncompatible': '该发布旅程中的版本分类选项不一致,不能合并创建标注任务。',
|
|
148
171
|
'annotations.new.summary.title': '任务摘要',
|
|
149
172
|
'annotations.new.summary.scope': '范围',
|
|
150
173
|
'annotations.new.summary.release': '发布名称',
|
|
151
|
-
'annotations.new.summary.
|
|
174
|
+
'annotations.new.summary.version': '发布版本',
|
|
175
|
+
'annotations.new.summary.versionScope': '版本范围',
|
|
176
|
+
'annotations.new.summary.samplingMode': '抽样方式',
|
|
152
177
|
'annotations.new.summary.samples': '标注量 / 最大',
|
|
153
178
|
'annotations.new.summary.field': '标注字段',
|
|
154
179
|
'annotations.new.summary.categories': '分类',
|
|
155
180
|
'annotations.new.submitReady': '筛选条件有效,可创建任务并进入标注工作台。',
|
|
156
|
-
'annotations.new.submitDisabled': '
|
|
181
|
+
'annotations.new.submitDisabled': '请选择发布名称、发布版本,并填写不超过可用数量的标注数据量。',
|
|
157
182
|
'annotations.detail.notFound': '未找到标注任务',
|
|
158
183
|
'annotations.detail.metric.open': '待处理',
|
|
159
184
|
'annotations.detail.metric.openHint': '未提交样本',
|
|
@@ -174,7 +199,7 @@ const dictionaries = {
|
|
|
174
199
|
'annotations.detail.samples.result': '标注值',
|
|
175
200
|
'annotations.detail.samples.judgment': '判定',
|
|
176
201
|
'annotations.detail.samples.createdAt': '创建时间',
|
|
177
|
-
'annotations.detail.empty': '
|
|
202
|
+
'annotations.detail.empty': '该任务暂无样本,请检查创建时选择的发布版本、数据范围与标注数量',
|
|
178
203
|
'annotations.detail.workspace.empty': '请选择一个样本开始标注',
|
|
179
204
|
'annotations.workspace.inputVariables': '输入变量',
|
|
180
205
|
'annotations.workspace.fullPrompt': '完整 Prompt 渲染',
|
|
@@ -279,7 +304,7 @@ const dictionaries = {
|
|
|
279
304
|
'dashboard.refresh': '刷新',
|
|
280
305
|
'dashboard.assets.title': '资产数量',
|
|
281
306
|
'dashboard.assets.createAction': '新建 {resource}',
|
|
282
|
-
'dashboard.assets.promptsDetail': '上线 {online} · 灰度 {
|
|
307
|
+
'dashboard.assets.promptsDetail': '上线 {online} · 灰度 {canary}',
|
|
283
308
|
'dashboard.assets.datasetsDetail': '样本 {samples}',
|
|
284
309
|
'dashboard.assets.modelsDetail': '启用 {enabled} · 图像 {image}',
|
|
285
310
|
'dashboard.assets.connectorsDetail': '输入 {input} · 输出 {output}',
|
|
@@ -373,7 +398,7 @@ const dictionaries = {
|
|
|
373
398
|
'projectOverview.resource.samples': '{count} 样本',
|
|
374
399
|
'projectOverview.summary.title': '资产数量',
|
|
375
400
|
'projectOverview.summary.create': '新建',
|
|
376
|
-
'projectOverview.summary.promptsDetail': '在线 {online} · 灰度 {
|
|
401
|
+
'projectOverview.summary.promptsDetail': '在线 {online} · 灰度 {canary}',
|
|
377
402
|
'projectOverview.summary.datasetsDetail': '样本 {samples}',
|
|
378
403
|
'projectOverview.summary.modelsDetail': '文本模型 {text} · 图像模型 {image}',
|
|
379
404
|
'projectOverview.summary.connectorsDetail': '输入 {input} · 输出 {output}',
|
|
@@ -384,7 +409,7 @@ const dictionaries = {
|
|
|
384
409
|
'projectOverview.metric.f1': 'F1',
|
|
385
410
|
'projectOverview.metric.fpr': 'FPR',
|
|
386
411
|
'projectOverview.metric.best': '最佳指标',
|
|
387
|
-
'projectOverview.metric.
|
|
412
|
+
'projectOverview.metric.versions': '版本',
|
|
388
413
|
'projectOverview.metric.outputs': '输出',
|
|
389
414
|
'projectOverview.event.release': '发布',
|
|
390
415
|
'projectOverview.actions.title': '快速动作',
|
|
@@ -446,7 +471,14 @@ const dictionaries = {
|
|
|
446
471
|
'releases.title': '发布',
|
|
447
472
|
'releases.subtitle': '按发布线路组织真实流量:每条线路绑定一个提示词和一个上游连接器,最多包含 1 个正式发布 lane 与 1 个 running 灰度候选 lane。',
|
|
448
473
|
'releases.action.new': '新建发布',
|
|
449
|
-
'releases.action.
|
|
474
|
+
'releases.action.stop': '停止',
|
|
475
|
+
'releases.action.start': '开始运行',
|
|
476
|
+
'releases.action.archive': '归档',
|
|
477
|
+
'releases.action.unarchive': '取消归档',
|
|
478
|
+
'releases.stopReason': '从发布列表停止发布线',
|
|
479
|
+
'releases.startReason': '从发布列表开始运行发布线',
|
|
480
|
+
'releases.archiveReason': '从发布列表归档发布线',
|
|
481
|
+
'releases.unarchiveReason': '从发布列表取消归档发布线',
|
|
450
482
|
'releases.search': '搜索发布名称 / 提示词 / 模型 / 上游连接器…',
|
|
451
483
|
'releases.filter.all': '全部',
|
|
452
484
|
'releases.filter.production': 'production',
|
|
@@ -457,18 +489,21 @@ const dictionaries = {
|
|
|
457
489
|
'releases.empty': '暂无发布线路',
|
|
458
490
|
'releases.metric.totalLines': '发布线路 · 全部',
|
|
459
491
|
'releases.metric.totalLinesHint': '提示词 × 上游连接器',
|
|
492
|
+
'releases.metric.running': 'running',
|
|
493
|
+
'releases.metric.runningHint': '至少有一个 lane 正在运行',
|
|
494
|
+
'releases.metric.stopped': 'stopped',
|
|
495
|
+
'releases.metric.stoppedHint': '{count} 条已归档',
|
|
460
496
|
'releases.metric.production': 'production',
|
|
461
497
|
'releases.metric.productionHint': '{count} 条同时有灰度候选',
|
|
462
498
|
'releases.metric.canary': '灰度中',
|
|
463
499
|
'releases.metric.canaryHint': '{count} 条待标注样本',
|
|
464
|
-
'releases.metric.failureRate': '失败率
|
|
500
|
+
'releases.metric.failureRate': '失败率',
|
|
465
501
|
'releases.metric.failureRateHint': '{count} 个失败',
|
|
466
|
-
'releases.metric.processed': '已处理
|
|
467
|
-
'releases.metric.processedHint': '
|
|
468
|
-
'releases.status.
|
|
469
|
-
'releases.status.productionCanary': 'production + 灰度',
|
|
470
|
-
'releases.status.canary': 'canary',
|
|
502
|
+
'releases.metric.processed': '已处理',
|
|
503
|
+
'releases.metric.processedHint': '来自发布运行结果聚合',
|
|
504
|
+
'releases.status.running': 'running',
|
|
471
505
|
'releases.status.stopped': 'stopped',
|
|
506
|
+
'releases.status.archived': 'archived',
|
|
472
507
|
'releases.event.createCanary': 'create_canary',
|
|
473
508
|
'releases.event.ratioChange': 'ratio_change',
|
|
474
509
|
'releases.event.canaryTerminal': 'canary_terminal',
|
|
@@ -478,9 +513,15 @@ const dictionaries = {
|
|
|
478
513
|
'releases.event.operation.stopLane': 'stop_lane',
|
|
479
514
|
'releases.event.operation.resumeLane': 'resume_lane',
|
|
480
515
|
'releases.event.operation.cancelCanary': 'cancel_canary',
|
|
516
|
+
'releases.event.operation.restoreToProduction': 'restore_to_production',
|
|
517
|
+
'releases.event.operation.restoreToCanary': 'restore_to_canary',
|
|
481
518
|
'releases.event.operation.archiveLine': 'archive_line',
|
|
519
|
+
'releases.event.operation.unarchiveLine': 'unarchive_line',
|
|
482
520
|
'releases.traffic.offline': 'offline',
|
|
483
521
|
'releases.traffic.productionFull': 'production 100%',
|
|
522
|
+
'releases.traffic.productionLane': '正式发布',
|
|
523
|
+
'releases.traffic.canarySplit': '灰度切流',
|
|
524
|
+
'releases.traffic.canaryDualRun': '灰度双跑',
|
|
484
525
|
'releases.traffic.passThrough': 'pass-through',
|
|
485
526
|
'releases.lane.production': '正式发布',
|
|
486
527
|
'releases.lane.canary': '灰度候选 lane',
|
|
@@ -494,27 +535,74 @@ const dictionaries = {
|
|
|
494
535
|
'releases.detail.tab.overview': '概览',
|
|
495
536
|
'releases.detail.tab.config': '流量配置',
|
|
496
537
|
'releases.detail.tab.monitoring': '实时指标',
|
|
497
|
-
'releases.detail.tab.variants': '发布组合',
|
|
498
538
|
'releases.detail.tab.results': '运行结果',
|
|
499
539
|
'releases.detail.tab.annotation': '质量指标',
|
|
500
540
|
'releases.detail.tab.quality': '质量指标',
|
|
501
541
|
'releases.detail.tab.history': '历史',
|
|
542
|
+
'releases.detail.tab.settings': '设置',
|
|
502
543
|
'releases.detail.history.productionLane': '生产',
|
|
503
544
|
'releases.detail.history.canaryLane': '灰度',
|
|
504
545
|
'releases.detail.notFound': '未找到该发布线路',
|
|
505
|
-
'releases.detail.confirmStopProduction': '
|
|
506
|
-
'releases.detail.stopReason': '
|
|
507
|
-
'releases.detail.
|
|
508
|
-
'releases.detail.
|
|
509
|
-
'releases.detail.
|
|
546
|
+
'releases.detail.confirmStopProduction': '确认停止当前发布线?此动作会停止正在运行的 lane。',
|
|
547
|
+
'releases.detail.stopReason': '从发布线路详情停止发布线',
|
|
548
|
+
'releases.detail.startReason': '从发布线路详情开始运行发布线',
|
|
549
|
+
'releases.detail.archiveReason': '从发布线路详情归档发布线',
|
|
550
|
+
'releases.detail.unarchiveReason': '从发布线路详情取消归档发布线',
|
|
551
|
+
'releases.detail.deleteReason': '从发布线路详情彻底删除发布线',
|
|
552
|
+
'releases.detail.deleteFailed': '发布线删除失败,请稍后重试。',
|
|
553
|
+
'releases.detail.action.stopProduction': '停止',
|
|
554
|
+
'releases.detail.action.start': '开始运行',
|
|
555
|
+
'releases.detail.action.starting': '启动中...',
|
|
556
|
+
'releases.detail.action.archive': '归档',
|
|
557
|
+
'releases.detail.action.archiving': '归档中...',
|
|
558
|
+
'releases.detail.action.unarchive': '取消归档',
|
|
559
|
+
'releases.detail.action.unarchiving': '取消归档中...',
|
|
560
|
+
'releases.detail.stopDialog.title': '停止发布线',
|
|
561
|
+
'releases.detail.stopDialog.description': '停止后该发布线路不再处理流量,但发布记录和历史事件会继续保留。',
|
|
510
562
|
'releases.detail.stopDialog.releaseName': '发布名称',
|
|
511
563
|
'releases.detail.stopDialog.inputLabel': '输入发布名称确认',
|
|
512
564
|
'releases.detail.stopDialog.inputPlaceholder': '输入 {name}',
|
|
513
565
|
'releases.detail.stopDialog.mismatch': '发布名称不匹配。',
|
|
514
|
-
'releases.detail.stopDialog.confirm': '
|
|
515
|
-
'releases.detail.stopDialog.stopping': '
|
|
566
|
+
'releases.detail.stopDialog.confirm': '确认停止',
|
|
567
|
+
'releases.detail.stopDialog.stopping': '停止中...',
|
|
568
|
+
'releases.archiveDialog.title': '归档发布线',
|
|
569
|
+
'releases.archiveDialog.description': '归档后该发布线会从运行入口移除,历史事件和运行结果继续保留。',
|
|
570
|
+
'releases.archiveDialog.confirm': '确认归档',
|
|
571
|
+
'releases.archiveDialog.archiving': '归档中...',
|
|
572
|
+
'releases.detail.settings.title': '设置',
|
|
573
|
+
'releases.detail.settings.description': '管理当前发布线的低频操作。',
|
|
574
|
+
'releases.detail.delete.dangerTitle': '危险操作',
|
|
575
|
+
'releases.detail.delete.open': '删除发布',
|
|
576
|
+
'releases.detail.delete.title': '彻底删除发布',
|
|
577
|
+
'releases.detail.delete.description': '此操作会物理删除当前发布线、发布版本、事件、发布运行结果和标注任务,且不可恢复。',
|
|
578
|
+
'releases.detail.delete.dialogDescription': '输入发布名称后才能彻底删除。此操作不可恢复。',
|
|
579
|
+
'releases.detail.delete.releaseName': '发布名称',
|
|
580
|
+
'releases.detail.delete.inputLabel': '输入发布名称确认',
|
|
581
|
+
'releases.detail.delete.inputPlaceholder': '输入 {name}',
|
|
582
|
+
'releases.detail.delete.mismatch': '发布名称不匹配。',
|
|
583
|
+
'releases.detail.delete.confirm': '彻底删除',
|
|
584
|
+
'releases.detail.delete.deleting': '删除中...',
|
|
585
|
+
'releases.deleteImpact.loading': '正在检查删除影响...',
|
|
586
|
+
'releases.deleteImpact.empty': '未发现发布事件、版本、运行结果或标注任务。',
|
|
587
|
+
'releases.deleteImpact.event': '事件',
|
|
588
|
+
'releases.deleteImpact.version': '版本',
|
|
589
|
+
'releases.deleteImpact.annotationTask': '标注任务',
|
|
590
|
+
'releases.deleteImpact.events': '事件',
|
|
591
|
+
'releases.deleteImpact.eventsHint': '发布线事件流',
|
|
592
|
+
'releases.deleteImpact.versions': '版本',
|
|
593
|
+
'releases.deleteImpact.versionsHint': '发布版本',
|
|
594
|
+
'releases.deleteImpact.runResults': '运行结果',
|
|
595
|
+
'releases.deleteImpact.runResultsHint': 'source=release',
|
|
596
|
+
'releases.deleteImpact.annotationTasks': '标注任务',
|
|
597
|
+
'releases.deleteImpact.annotationTasksHint': '发布抽样标注',
|
|
598
|
+
'releases.deleteImpact.more': '还有 {count} 个对象',
|
|
516
599
|
'releases.detail.action.changeProduction': '改正式发布配置',
|
|
517
600
|
'releases.detail.action.addCanary': '新增灰度候选',
|
|
601
|
+
'releases.detail.action.replaceCanary': '新建灰度候选',
|
|
602
|
+
'releases.detail.action.promoteCanary': '提升为正式',
|
|
603
|
+
'releases.detail.action.stopCanary': '停止灰度',
|
|
604
|
+
'releases.detail.action.resumeCanary': '恢复灰度',
|
|
605
|
+
'releases.detail.action.cancelCanary': '取消灰度',
|
|
518
606
|
'releases.detail.action.newAnnotation': '新建标注',
|
|
519
607
|
'releases.detail.action.adjustTraffic': '调整流量',
|
|
520
608
|
'releases.detail.trafficDialog.title': '调整灰度流量',
|
|
@@ -546,6 +634,8 @@ const dictionaries = {
|
|
|
546
634
|
'releases.detail.topology.badge.canary': '灰度',
|
|
547
635
|
'releases.detail.topology.traffic.production': '生产',
|
|
548
636
|
'releases.detail.topology.traffic.canary': '灰度',
|
|
637
|
+
'releases.detail.topology.lane.production': 'production',
|
|
638
|
+
'releases.detail.topology.lane.canary': 'canary',
|
|
549
639
|
'releases.detail.topology.outputRoute': '输出路由',
|
|
550
640
|
'releases.detail.topology.outputRouteTitle': '下游分发',
|
|
551
641
|
'releases.detail.topology.ingress': '真实请求',
|
|
@@ -563,7 +653,6 @@ const dictionaries = {
|
|
|
563
653
|
'releases.detail.topology.filterEmpty': '未启用过滤',
|
|
564
654
|
'releases.detail.topology.outputMappingEmpty': '未配置输出映射',
|
|
565
655
|
'releases.detail.topology.inspector': '节点详情',
|
|
566
|
-
'releases.detail.topology.clickHint': '点击拓扑节点查看详情',
|
|
567
656
|
'releases.detail.topology.field.connectorId': '连接器 ID',
|
|
568
657
|
'releases.detail.topology.field.connectorName': '连接器名称',
|
|
569
658
|
'releases.detail.topology.field.connectorType': '连接器类型',
|
|
@@ -578,6 +667,7 @@ const dictionaries = {
|
|
|
578
667
|
'releases.detail.topology.field.tpmLimit': 'TPM',
|
|
579
668
|
'releases.detail.topology.field.concurrency': '并发',
|
|
580
669
|
'releases.detail.topology.field.temperature': '温度',
|
|
670
|
+
'releases.detail.topology.field.termination': '终止条件',
|
|
581
671
|
'releases.detail.topology.field.imageEncoding': '图片编码',
|
|
582
672
|
'releases.detail.topology.field.imageEncodingUrl': 'URL',
|
|
583
673
|
'releases.detail.topology.field.imageEncodingBase64': 'Base64',
|
|
@@ -586,18 +676,83 @@ const dictionaries = {
|
|
|
586
676
|
'releases.detail.topology.field.outputScope': '输出范围',
|
|
587
677
|
'releases.detail.topology.scope.production': '正式发布',
|
|
588
678
|
'releases.detail.topology.scope.canary': '灰度',
|
|
589
|
-
'releases.detail.topology.field.routeStatus': '路由状态',
|
|
590
679
|
'releases.detail.topology.field.fieldMapping': '字段映射',
|
|
591
680
|
'releases.detail.topology.field.filterRules': '过滤规则',
|
|
681
|
+
'releases.detail.topology.field.inputFields': '输入字段',
|
|
592
682
|
'releases.detail.topology.field.outputMapping': '输出映射',
|
|
593
683
|
'releases.detail.topology.trafficBox': '流量比例',
|
|
594
684
|
'releases.detail.topology.noCanaryToAdjust': '暂无可调整的灰度候选',
|
|
595
|
-
'releases.detail.topology.
|
|
685
|
+
'releases.detail.topology.inputFields.empty': '暂未识别到输入字段',
|
|
686
|
+
'releases.detail.topology.inputRoute.saveFailed': '输入路由保存失败。',
|
|
687
|
+
'releases.detail.topology.inputRoute.invalid': '请输入合法的字段映射和过滤规则。',
|
|
688
|
+
'releases.detail.topology.inputRoute.noLane': '暂无可配置的正式发布或灰度发布 lane。',
|
|
689
|
+
'releases.detail.topology.inputRoute.editFilter': '编辑过滤',
|
|
690
|
+
'releases.detail.topology.inputRoute.hideFilter': '收起编辑',
|
|
691
|
+
'releases.detail.topology.outputRoute.saveFailed': '输出路由保存失败。',
|
|
692
|
+
'releases.detail.topology.outputRoute.noLane': '暂无可配置的正式发布或灰度发布 lane。',
|
|
693
|
+
'releases.detail.topology.outputRoute.noConnector': '暂无输出连接器。',
|
|
694
|
+
'releases.detail.topology.outputRoute.edit': '编辑输出路由',
|
|
695
|
+
'releases.detail.topology.outputRoute.dialogTitle': '编辑输出路由',
|
|
696
|
+
'releases.detail.topology.outputRoute.dialogDescription': '分别配置正式发布和灰度发布使用的输出连接器,以及每个连接器自己的输出映射。',
|
|
697
|
+
'releases.detail.topology.outputRoute.newConnector': '新建输出连接器',
|
|
698
|
+
'releases.detail.topology.outputRoute.connectorFilter': '筛选输出连接器',
|
|
699
|
+
'releases.detail.topology.outputRoute.connectorSelect': '选择输出连接器',
|
|
700
|
+
'releases.detail.topology.outputRoute.noAddableConnector': '没有可添加的输出连接器',
|
|
701
|
+
'releases.detail.topology.outputRoute.availableConnectors': '可用输出连接器',
|
|
702
|
+
'releases.detail.topology.outputRoute.selectedConnectors': '已选连接器与映射',
|
|
703
|
+
'releases.detail.topology.outputRoute.noSelectedConnector': '当前 lane 暂无输出连接器。',
|
|
704
|
+
'releases.detail.topology.outputRoute.addConnector': '添加下游连接器',
|
|
705
|
+
'releases.detail.topology.outputRoute.removeConnector': '移除',
|
|
706
|
+
'releases.detail.topology.outputRoute.passThrough': '默认输出',
|
|
707
|
+
'releases.detail.topology.outputRoute.connectorHelp': '选择该 lane 要投递的下游',
|
|
708
|
+
'releases.detail.topology.outputRoute.mappingHelp': '每个连接器独立配置 source -> target',
|
|
709
|
+
'releases.detail.topology.outputRoute.source': 'source',
|
|
710
|
+
'releases.detail.topology.outputRoute.target': 'target',
|
|
711
|
+
'releases.detail.topology.outputRoute.sourceDecisionOutput': '判定输出',
|
|
712
|
+
'releases.detail.topology.outputRoute.sourceParsedOutput': '完整结构化输出',
|
|
713
|
+
'releases.detail.topology.outputRoute.sourceRawResponse': '原始响应',
|
|
714
|
+
'releases.detail.topology.outputRoute.sourceRunResultId': '运行结果 ID',
|
|
715
|
+
'releases.detail.topology.outputRoute.sourceModelOutput': '模型输出字段',
|
|
716
|
+
'releases.detail.topology.outputRoute.sourceLegacy': '历史映射字段',
|
|
717
|
+
'releases.detail.topology.outputRoute.productionConnectors': '正式发布连接器',
|
|
718
|
+
'releases.detail.topology.outputRoute.canaryConnectors': '灰度发布连接器',
|
|
719
|
+
'releases.detail.topology.outputRoute.productionMapping': '正式发布映射',
|
|
720
|
+
'releases.detail.topology.outputRoute.canaryMapping': '灰度发布映射',
|
|
721
|
+
'releases.detail.topology.outputRoute.summaryConnectors': '输出连接器',
|
|
722
|
+
'releases.detail.topology.outputRoute.summaryMapping': '输出映射',
|
|
723
|
+
'releases.detail.topology.outputRoute.addMapping': '新增映射',
|
|
724
|
+
'releases.detail.topology.outputRoute.removeMapping': '删除映射',
|
|
725
|
+
'releases.detail.topology.outputRoute.saveRoute': '保存路由',
|
|
726
|
+
'releases.detail.topology.outputRoute.sourceSearch': '搜索字段…',
|
|
727
|
+
'releases.detail.topology.outputRoute.sourceEmpty': '无匹配字段',
|
|
728
|
+
'releases.detail.topology.outputRoute.sourcePlaceholder': '选择 source 字段',
|
|
729
|
+
'releases.detail.topology.outputRoute.sourceGroup.upstream': '上游输入原始字段',
|
|
730
|
+
'releases.detail.topology.outputRoute.sourceGroup.model': '模型输出',
|
|
731
|
+
'releases.detail.topology.outputRoute.sourceGroup.meta': '运行元数据',
|
|
732
|
+
'releases.detail.topology.outputRoute.newBadge': 'NEW',
|
|
733
|
+
'releases.detail.topology.outputRoute.connectorPickerTitle': '选择下游连接器',
|
|
734
|
+
'releases.detail.topology.outputRoute.noMoreConnectors': '已无可添加的连接器',
|
|
735
|
+
'releases.detail.topology.outputRoute.laneReadonly': '当前 lane 暂不可编辑。',
|
|
736
|
+
'releases.detail.topology.outputRoute.connectorCount': '{count} 连接器',
|
|
737
|
+
'releases.detail.topology.outputRoute.footerSummary': '正式 {production} · 灰度 {canary} 个下游连接器 · 共 {mappings} 条字段映射',
|
|
738
|
+
'releases.detail.topology.runConfig.title': '运行参数',
|
|
596
739
|
'releases.detail.topology.runConfig.invalid': '请输入合法的运行配置。',
|
|
597
740
|
'releases.detail.topology.runConfig.updateFailed': '运行配置更新失败。',
|
|
598
741
|
'releases.detail.topology.runConfig.modelUnavailable': '暂无可选模型',
|
|
599
742
|
'releases.detail.topology.runConfig.modelLimit': '模型上限 {limit}',
|
|
600
743
|
'releases.detail.topology.runConfig.unlimited': '不限',
|
|
744
|
+
'releases.detail.topology.identity.title': '发布信息',
|
|
745
|
+
'releases.detail.topology.recordMode.title': '记录设置',
|
|
746
|
+
'releases.detail.topology.recordMode.all': '记录全部',
|
|
747
|
+
'releases.detail.topology.recordMode.selectedCategories': '按输出分类记录',
|
|
748
|
+
'releases.detail.topology.recordMode.correctOnly': '按输出分类记录',
|
|
749
|
+
'releases.detail.topology.recordCategories': '输出分类',
|
|
750
|
+
'releases.detail.topology.recordCategories.empty': '当前提示词版本未声明可识别的输出分类',
|
|
751
|
+
'releases.detail.topology.recordCategories.required': '请至少选择一个输出分类。',
|
|
752
|
+
'releases.detail.topology.recordCategories.selected': '已选择 {count} 个分类',
|
|
753
|
+
'releases.detail.topology.recordCategories.selectAll': '全选',
|
|
754
|
+
'releases.detail.topology.recordCategories.clear': '清空',
|
|
755
|
+
'releases.detail.topology.canaryActionFailed': '灰度操作失败。',
|
|
601
756
|
'releases.detail.topology.mode.split': 'split 切流',
|
|
602
757
|
'releases.detail.topology.mode.dualRun': 'dual_run 双跑',
|
|
603
758
|
'releases.detail.config.mapping': '字段映射',
|
|
@@ -635,9 +790,20 @@ const dictionaries = {
|
|
|
635
790
|
'releases.detail.metric.deliveryFailed': '投递失败',
|
|
636
791
|
'releases.detail.metric.deliveryFailureRate': '投递失败率',
|
|
637
792
|
'releases.detail.quality.title': '质量指标',
|
|
638
|
-
'releases.detail.quality.
|
|
793
|
+
'releases.detail.quality.description': '按发布事件观察召回、精确、F1、准确率,可多选发布版本、数据范围和指标。',
|
|
794
|
+
'releases.detail.quality.empty': '暂无发布质量指标数据',
|
|
795
|
+
'releases.detail.quality.emptyDescription': '需要先新建标注任务并提交样本,质量指标才会出现在这里。',
|
|
796
|
+
'releases.detail.quality.emptyAction': '新建标注任务',
|
|
639
797
|
'releases.detail.quality.loadFailed': '质量指标加载失败,请稍后刷新。',
|
|
640
798
|
'releases.detail.quality.noComparable': '已有提交样本,但暂时没有可比对的模型输出。',
|
|
799
|
+
'releases.detail.quality.filteredEmpty': '当前筛选条件下暂无质量指标数据。',
|
|
800
|
+
'releases.detail.quality.scope.overall': '整体',
|
|
801
|
+
'releases.detail.quality.metric.recall': '召回',
|
|
802
|
+
'releases.detail.quality.metric.precision': '精确',
|
|
803
|
+
'releases.detail.quality.metric.f1': 'F1',
|
|
804
|
+
'releases.detail.quality.metric.accuracy': '准确率',
|
|
805
|
+
'releases.detail.quality.sampleCount': '样本数',
|
|
806
|
+
'releases.detail.quality.sampleCountShort': '{count} 样本',
|
|
641
807
|
'releases.detail.quality.matchRate': '匹配率',
|
|
642
808
|
'releases.detail.quality.latestMatchRate': '最新匹配率',
|
|
643
809
|
'releases.detail.quality.matched': '匹配',
|
|
@@ -654,6 +820,40 @@ const dictionaries = {
|
|
|
654
820
|
'releases.detail.quality.submitted': '已提交',
|
|
655
821
|
'releases.detail.quality.submittedHint': '历史标注样本',
|
|
656
822
|
'releases.detail.quality.chartTitle': '历史质量指标',
|
|
823
|
+
'releases.detail.quality.footer': '共 {tasks} 个标注任务 · 覆盖 {versions} 个发布版本 · {points} 个质量点',
|
|
824
|
+
'releases.detail.quality.pendingQuality': '{count} 个任务已创建但尚未形成质量结果',
|
|
825
|
+
'releases.detail.quality.filter.version': '版本筛选',
|
|
826
|
+
'releases.detail.quality.filter.scope': '数据范围',
|
|
827
|
+
'releases.detail.quality.filter.metric': '指标',
|
|
828
|
+
'releases.detail.quality.filter.allVersions': '全部版本',
|
|
829
|
+
'releases.detail.quality.filter.selectedVersions': '{count} 个版本',
|
|
830
|
+
'releases.detail.quality.filter.versionSearch': '搜索发布版本、提示词版本或模型',
|
|
831
|
+
'releases.detail.quality.filter.selectAll': '全选',
|
|
832
|
+
'releases.detail.quality.filter.latestOnly': '仅最新',
|
|
833
|
+
'releases.detail.quality.filter.allProductionVersions': '全部正式版本',
|
|
834
|
+
'releases.detail.quality.filter.allCanaryVersions': '全部灰度版本',
|
|
835
|
+
'releases.detail.quality.filter.noVersions': '没有匹配的发布版本',
|
|
836
|
+
'releases.detail.quality.filter.points': '质量点',
|
|
837
|
+
'releases.detail.quality.filter.scopeEmpty': '暂无范围',
|
|
838
|
+
'releases.detail.quality.filter.allMetrics': '全部指标',
|
|
839
|
+
'releases.detail.quality.filter.selectedMetrics': '{count} 个指标',
|
|
840
|
+
'releases.detail.quality.filter.metricEmpty': '暂无指标',
|
|
841
|
+
'releases.detail.quality.filter.tasks': '任务',
|
|
842
|
+
'releases.detail.quality.filter.allScopes': '全部范围',
|
|
843
|
+
'releases.detail.quality.filter.selectedScopes': '{count} 个范围',
|
|
844
|
+
'releases.detail.quality.legend.production': '生产',
|
|
845
|
+
'releases.detail.quality.legend.canary': '灰度',
|
|
846
|
+
'releases.detail.quality.chart.zoomIn': '放大',
|
|
847
|
+
'releases.detail.quality.chart.zoomOut': '缩小',
|
|
848
|
+
'releases.detail.quality.chart.moveLeft': '向左移动',
|
|
849
|
+
'releases.detail.quality.chart.moveRight': '向右移动',
|
|
850
|
+
'releases.detail.quality.chart.resetView': '重置视图',
|
|
851
|
+
'releases.detail.quality.chart.range': '调整显示范围',
|
|
852
|
+
'releases.detail.quality.recordsTitle': '质量记录',
|
|
853
|
+
'releases.detail.quality.table.task': '标注任务',
|
|
854
|
+
'releases.detail.quality.table.version': '发布版本',
|
|
855
|
+
'releases.detail.quality.table.scope': '数据范围',
|
|
856
|
+
'releases.detail.quality.table.updatedAt': '更新时间',
|
|
657
857
|
'releases.detail.results.source': '来源',
|
|
658
858
|
'releases.detail.results.lane': 'lane',
|
|
659
859
|
'releases.detail.results.event': 'event_id',
|
|
@@ -661,7 +861,7 @@ const dictionaries = {
|
|
|
661
861
|
'releases.detail.results.input': '输入',
|
|
662
862
|
'releases.detail.results.output': '输出',
|
|
663
863
|
'releases.detail.results.latency': '耗时',
|
|
664
|
-
'releases.detail.results.
|
|
864
|
+
'releases.detail.results.version': '发布版本',
|
|
665
865
|
'releases.detail.results.promptVersion': '提示词版本',
|
|
666
866
|
'releases.detail.results.tokens': 'Token',
|
|
667
867
|
'releases.detail.results.createdAt': '创建时间',
|
|
@@ -670,36 +870,68 @@ const dictionaries = {
|
|
|
670
870
|
'releases.detail.results.loadFailed': '运行结果加载失败,请稍后刷新。',
|
|
671
871
|
'releases.detail.results.empty': '运行结果会在 runner 写入后出现在这里',
|
|
672
872
|
'releases.detail.results.summary': '显示 {from} - {to} / {total} 条',
|
|
673
|
-
'releases.detail.results.
|
|
873
|
+
'releases.detail.results.dateFilter.all': '全部日期',
|
|
874
|
+
'releases.detail.results.dateFilter.ariaLabel': '运行结果日期范围',
|
|
875
|
+
'releases.detail.results.dateFilter.customRangeAriaLabel': '自定义运行结果日期范围',
|
|
876
|
+
'releases.detail.results.versionFilter.all': '全部发布版本',
|
|
877
|
+
'releases.detail.results.versionDropdown.search': '搜索发布版本、提示词版本或模型',
|
|
878
|
+
'releases.detail.results.versionDropdown.noMatches': '没有匹配的发布版本',
|
|
879
|
+
'releases.detail.results.versionDropdown.promptVersion': '提示词版本',
|
|
880
|
+
'releases.detail.results.versionDropdown.model': '模型',
|
|
881
|
+
'releases.detail.results.versionDropdown.versionId': '版本 ID',
|
|
882
|
+
'releases.detail.results.versionScope.exact': '精确版本',
|
|
883
|
+
'releases.detail.results.versionScope.journey': '发布旅程',
|
|
674
884
|
'releases.detail.results.promptVersionFilter.all': '全部版本',
|
|
675
885
|
'releases.detail.results.sourceFilter.all': '全部来源',
|
|
676
886
|
'releases.detail.results.sourceFilter.production': 'production',
|
|
677
887
|
'releases.detail.results.sourceFilter.canary': 'canary',
|
|
678
888
|
'releases.detail.results.lane.production': 'production',
|
|
679
889
|
'releases.detail.results.lane.canary': 'canary',
|
|
890
|
+
'releases.detail.results.status.running': 'running',
|
|
680
891
|
'releases.detail.results.status.success': 'success',
|
|
681
|
-
'releases.detail.results.status.
|
|
682
|
-
'releases.detail.
|
|
683
|
-
'releases.detail.
|
|
684
|
-
'releases.detail.
|
|
685
|
-
'releases.detail.
|
|
686
|
-
'releases.detail.
|
|
687
|
-
'releases.detail.
|
|
688
|
-
'releases.detail.
|
|
689
|
-
'releases.detail.
|
|
690
|
-
'releases.detail.
|
|
691
|
-
'releases.detail.
|
|
692
|
-
'releases.detail.
|
|
693
|
-
'releases.detail.
|
|
694
|
-
'releases.detail.
|
|
695
|
-
'releases.detail.
|
|
696
|
-
'releases.detail.
|
|
697
|
-
'releases.detail.
|
|
698
|
-
'releases.detail.
|
|
699
|
-
'releases.detail.
|
|
700
|
-
'releases.detail.
|
|
701
|
-
'releases.detail.
|
|
702
|
-
'releases.detail.history.
|
|
892
|
+
'releases.detail.results.status.failed': 'failed',
|
|
893
|
+
'releases.detail.history.version': '发布版本',
|
|
894
|
+
'releases.detail.history.promptVersion': '提示词版本',
|
|
895
|
+
'releases.detail.history.model': '模型',
|
|
896
|
+
'releases.detail.history.traffic': '流量',
|
|
897
|
+
'releases.detail.history.status': '状态',
|
|
898
|
+
'releases.detail.history.recordMode': '记录模式',
|
|
899
|
+
'releases.detail.history.counts': '事件计数',
|
|
900
|
+
'releases.detail.history.updatedAt': '最近更新',
|
|
901
|
+
'releases.detail.history.relations': '事件关系',
|
|
902
|
+
'releases.detail.history.reason': '变更原因',
|
|
903
|
+
'releases.detail.history.relation.sourceEvent': '来源事件',
|
|
904
|
+
'releases.detail.history.relation.supersedes': '替换事件',
|
|
905
|
+
'releases.detail.history.relation.rollbackTarget': '回滚目标',
|
|
906
|
+
'releases.detail.history.relation.sourceExperiment': '来源实验',
|
|
907
|
+
'releases.detail.history.versionKind.production': '正式版本',
|
|
908
|
+
'releases.detail.history.versionKind.candidate': '候选版本',
|
|
909
|
+
'releases.detail.history.title': '发布历史',
|
|
910
|
+
'releases.detail.history.runtimeSection': '运行参数',
|
|
911
|
+
'releases.detail.history.connectorSection': '连接器',
|
|
912
|
+
'releases.detail.history.reasonSection': '其他',
|
|
913
|
+
'releases.detail.history.configChanges': '配置调整',
|
|
914
|
+
'releases.detail.history.moreAvailable': '还有更多历史,加载更多',
|
|
915
|
+
'releases.detail.history.loadingMore': '正在加载更多历史…',
|
|
916
|
+
'releases.detail.history.field.prompt': 'Prompt',
|
|
917
|
+
'releases.detail.history.field.trafficMode': '流量模式',
|
|
918
|
+
'releases.detail.history.field.outputConnectors': '下游连接器',
|
|
919
|
+
'releases.detail.history.field.noDownstream': '未配置下游连接器',
|
|
920
|
+
'releases.detail.history.field.snapshot': '快照',
|
|
921
|
+
'releases.detail.history.change.updated': '已更新',
|
|
922
|
+
'releases.detail.history.action.moreInfo': '查看 {version} 的更多信息',
|
|
923
|
+
'releases.detail.history.action.configChanges': '查看 {version} 的配置调整',
|
|
924
|
+
'releases.detail.history.action.viewResults': '查看 {version} 的运行记录',
|
|
925
|
+
'releases.detail.history.action.createAnnotation': '对 {version} 范围创建标注',
|
|
926
|
+
'releases.detail.history.action.moreActions': '{version} 的更多操作',
|
|
927
|
+
'releases.detail.history.action.restore': '恢复',
|
|
928
|
+
'releases.detail.history.action.restoring': '恢复中...',
|
|
929
|
+
'releases.detail.history.action.restoreSuccess': '已恢复到对应槽位',
|
|
930
|
+
'releases.detail.history.action.restoreFailed': '恢复失败,请刷新后重试',
|
|
931
|
+
'releases.detail.history.action.restoreToProductionReason': '从历史记录 {version} 恢复正式发布配置',
|
|
932
|
+
'releases.detail.history.action.restoreToCanaryReason': '从历史记录 {version} 恢复灰度候选配置',
|
|
933
|
+
'releases.detail.history.action.expandVersion': '展开 {version} 的灰度候选',
|
|
934
|
+
'releases.detail.history.action.collapseVersion': '收起 {version} 的灰度候选',
|
|
703
935
|
'releases.detail.history.empty': '该发布线路暂无事件',
|
|
704
936
|
'releases.new.breadcrumb': '新建',
|
|
705
937
|
'releases.new.title': '新建发布',
|
|
@@ -764,7 +996,9 @@ const dictionaries = {
|
|
|
764
996
|
'releases.new.empty.inputConnectors': '暂无上游连接器',
|
|
765
997
|
'releases.new.empty.outputConnectors': '暂无下游连接器',
|
|
766
998
|
'releases.new.empty.variables': '该版本未声明变量',
|
|
767
|
-
'releases.new.error.requiredMapping': '
|
|
999
|
+
'releases.new.error.requiredMapping': '请补齐变量映射:{fields}',
|
|
1000
|
+
'releases.new.error.variableMappingMissing': '请先为所有提示词变量配置上游字段:{fields}',
|
|
1001
|
+
'releases.new.error.variableMappingInvalid': '字段映射与提示词变量不匹配,请重新检查映射。',
|
|
768
1002
|
'releases.new.error.externalIdRequired': '队列连接器需要填写外部 ID 字段',
|
|
769
1003
|
'releases.new.error.invalidFilterRules': '过滤规则必须是 JSON 对象',
|
|
770
1004
|
'releases.new.error.createFailed': '创建发布失败',
|
|
@@ -1059,7 +1293,7 @@ const dictionaries = {
|
|
|
1059
1293
|
'prompts.filter.all': '全部',
|
|
1060
1294
|
'prompts.table.name': '名称',
|
|
1061
1295
|
'prompts.table.latestVersion': '最新版本',
|
|
1062
|
-
'prompts.table.
|
|
1296
|
+
'prompts.table.canaryVersion': '灰度版本',
|
|
1063
1297
|
'prompts.table.onlineVersion': '已发布版本',
|
|
1064
1298
|
'prompts.table.labels': '标签',
|
|
1065
1299
|
'prompts.table.status': '状态',
|
|
@@ -1068,6 +1302,7 @@ const dictionaries = {
|
|
|
1068
1302
|
'prompts.table.updatedAt': '最近更新',
|
|
1069
1303
|
'prompts.status.editable': '可编辑',
|
|
1070
1304
|
'prompts.status.frozen': '冻结',
|
|
1305
|
+
'prompts.status.archived': '已归档',
|
|
1071
1306
|
'prompts.badge.new': '新建',
|
|
1072
1307
|
'prompts.badge.latest': '最新',
|
|
1073
1308
|
'prompts.badge.online': '线上',
|
|
@@ -1076,18 +1311,19 @@ const dictionaries = {
|
|
|
1076
1311
|
'prompts.action.startOptimization': '启动优化',
|
|
1077
1312
|
'prompts.action.moreActions': '其他操作',
|
|
1078
1313
|
'prompts.action.openVersions': '打开版本',
|
|
1314
|
+
'prompts.action.archive': '归档',
|
|
1315
|
+
'prompts.action.restore': '恢复',
|
|
1079
1316
|
'prompts.action.delete': '删除',
|
|
1080
1317
|
'prompts.action.batchDelete': '批量删除',
|
|
1081
1318
|
'prompts.deleteBlockedTitle': '确认删除提示词',
|
|
1082
|
-
'prompts.deleteBlockedDescription': '
|
|
1319
|
+
'prompts.deleteBlockedDescription': '将彻底删除该提示词及其版本,并连带删除关联实验 / 优化资源;正在运行的发布线会停止,历史发布线保留快照。',
|
|
1083
1320
|
'prompts.deleteBlockedReferences': '受影响对象',
|
|
1084
1321
|
'prompts.deleteImpactLoading': '正在检查受影响对象...',
|
|
1085
|
-
'prompts.deleteImpactEmpty': '
|
|
1322
|
+
'prompts.deleteImpactEmpty': '未发现会受影响的发布线、实验或优化。',
|
|
1086
1323
|
'prompts.deleteImpactTitle': '可能受影响',
|
|
1324
|
+
'prompts.deleteImpactReleaseLine': '发布线',
|
|
1087
1325
|
'prompts.deleteImpactExperiment': '实验',
|
|
1088
1326
|
'prompts.deleteImpactOptimization': '优化',
|
|
1089
|
-
'prompts.deleteImpactCanaryRelease': '灰度发布',
|
|
1090
|
-
'prompts.deleteImpactProductionRelease': '正式发布',
|
|
1091
1327
|
'prompts.time.now': '刚刚',
|
|
1092
1328
|
'prompts.variableType.text': '文本',
|
|
1093
1329
|
'prompts.variableType.image': '图片',
|
|
@@ -1186,7 +1422,7 @@ const dictionaries = {
|
|
|
1186
1422
|
'prompts.versions.deleteConfirmTitle': '删除版本',
|
|
1187
1423
|
'prompts.versions.deleteConfirmBody': '将物理删除版本 {version}。受影响的实验 / 优化 / 发布页面可能无法打开,发布环境也无法基于该版本继续更新;已运行正式发布会使用发布快照继续服务当前版本。',
|
|
1188
1424
|
'prompts.labels.system.latest': '最新',
|
|
1189
|
-
'prompts.labels.system.
|
|
1425
|
+
'prompts.labels.system.canary': '灰度',
|
|
1190
1426
|
'prompts.labels.system.production': '正式发布',
|
|
1191
1427
|
'prompts.labels.empty': '暂无标签',
|
|
1192
1428
|
'prompts.labels.remove': '移除标签 {label}',
|
|
@@ -1518,7 +1754,8 @@ const dictionaries = {
|
|
|
1518
1754
|
'productionReleases.new.field.submitReason': '变更原因',
|
|
1519
1755
|
'productionReleases.new.field.submitReasonPlaceholder': '说明本次发布原因',
|
|
1520
1756
|
'productionReleases.new.recordMode.all': '保留全部',
|
|
1521
|
-
'productionReleases.new.recordMode.correct_only': '
|
|
1757
|
+
'productionReleases.new.recordMode.correct_only': '按输出分类保留',
|
|
1758
|
+
'productionReleases.new.recordMode.selected_categories': '按输出分类保留',
|
|
1522
1759
|
'productionReleases.new.required': '必填',
|
|
1523
1760
|
'productionReleases.new.optional': '可选',
|
|
1524
1761
|
'productionReleases.new.connectorOccupied': '该连接器已被占用',
|
|
@@ -1603,6 +1840,7 @@ const dictionaries = {
|
|
|
1603
1840
|
'datasets.role.expected': '期望输出',
|
|
1604
1841
|
'datasets.role.metadata': '元信息',
|
|
1605
1842
|
'datasets.status.deleted': '已删除',
|
|
1843
|
+
'datasets.status.archived': '已归档',
|
|
1606
1844
|
'datasets.category.classes': '类',
|
|
1607
1845
|
'datasets.category.noCategoryField': '未提供 label 列',
|
|
1608
1846
|
'datasets.category.openOutput': '未配置期望输出',
|
|
@@ -1637,6 +1875,8 @@ const dictionaries = {
|
|
|
1637
1875
|
'datasets.action.startOptimization': '启动优化',
|
|
1638
1876
|
'datasets.action.editName': '编辑名称',
|
|
1639
1877
|
'datasets.action.more': '更多',
|
|
1878
|
+
'datasets.action.archive': '归档',
|
|
1879
|
+
'datasets.action.restore': '恢复',
|
|
1640
1880
|
'datasets.action.delete': '删除',
|
|
1641
1881
|
'datasets.action.appendSamples': '追加样本',
|
|
1642
1882
|
'datasets.action.saveChanges': '保存改动',
|
|
@@ -1644,13 +1884,19 @@ const dictionaries = {
|
|
|
1644
1884
|
'datasets.action.replaceImage': '替换图片',
|
|
1645
1885
|
'datasets.action.replaceFile': '更换文件',
|
|
1646
1886
|
'datasets.deleteConfirmTitle': '删除数据集',
|
|
1647
|
-
'datasets.deleteConfirmDescription': '
|
|
1887
|
+
'datasets.deleteConfirmDescription': '此操作会彻底删除该数据集及其样本,并连带删除关联实验 / 优化资源,且不可撤销。',
|
|
1648
1888
|
'datasets.deleteConfirmButton': '确认删除',
|
|
1649
1889
|
'datasets.deletePending': '删除中...',
|
|
1650
1890
|
'datasets.deleteReferencedError': '该数据集已被实验 / 优化引用,无法删除。请刷新列表查看最新引用。',
|
|
1651
1891
|
'datasets.deleteFailed': '删除数据集失败,请稍后重试。',
|
|
1652
1892
|
'datasets.deleteBlockedTitle': '无法删除该数据集',
|
|
1653
1893
|
'datasets.deleteBlockedDescription': '该数据集当前被实验 / 优化引用,删除会被系统拒绝。请先停止引用后再删除。',
|
|
1894
|
+
'datasets.deleteImpactTitle': '删除影响',
|
|
1895
|
+
'datasets.deleteImpactLoading': '正在检查受影响对象...',
|
|
1896
|
+
'datasets.deleteImpactEmpty': '未发现会被连带删除的实验或优化。',
|
|
1897
|
+
'datasets.deleteImpactExperiment': '实验',
|
|
1898
|
+
'datasets.deleteImpactOptimization': '优化',
|
|
1899
|
+
'datasets.deleteImpactMore': '还有 {count} 个对象',
|
|
1654
1900
|
'datasets.editNameTitle': '编辑数据集信息',
|
|
1655
1901
|
'datasets.editNameDescription': '更新名称与描述后会立即同步到列表和详情页。',
|
|
1656
1902
|
'datasets.editNameDuplicate': '该名称已被当前项目中的其他数据集使用。',
|
|
@@ -2066,10 +2312,9 @@ const dictionaries = {
|
|
|
2066
2312
|
'experiments.detail.samples.col.createdAt': '创建时间',
|
|
2067
2313
|
'experiments.detail.samples.image.failed': '无法加载',
|
|
2068
2314
|
'experiments.detail.samples.error': '失败',
|
|
2315
|
+
'experiments.runResult.status.running': '运行中',
|
|
2069
2316
|
'experiments.runResult.status.success': '成功',
|
|
2070
|
-
'experiments.runResult.status.
|
|
2071
|
-
'experiments.runResult.status.timeout': '超时',
|
|
2072
|
-
'experiments.runResult.status.rateLimited': '限流',
|
|
2317
|
+
'experiments.runResult.status.failed': '失败',
|
|
2073
2318
|
'experiments.runResult.judgment.correct': '正确',
|
|
2074
2319
|
'experiments.runResult.judgment.incorrect': '错误',
|
|
2075
2320
|
'experiments.runResult.judgment.parseError': '解析错误',
|
|
@@ -2643,6 +2888,10 @@ const dictionaries = {
|
|
|
2643
2888
|
'canaryReleases.new.mapping.required': '必填',
|
|
2644
2889
|
'canaryReleases.new.mapping.optional': '可选',
|
|
2645
2890
|
'canaryReleases.new.mapping.unmapped': '不映射',
|
|
2891
|
+
'canaryReleases.new.mapping.sourceSearch': '搜索上游字段',
|
|
2892
|
+
'canaryReleases.new.mapping.sourceEmpty': '没有匹配的上游字段',
|
|
2893
|
+
'canaryReleases.new.mapping.targetSearch': '搜索提示词变量',
|
|
2894
|
+
'canaryReleases.new.mapping.targetEmpty': '没有匹配的提示词变量',
|
|
2646
2895
|
'canaryReleases.new.field.outputMapping': '输出映射',
|
|
2647
2896
|
'canaryReleases.new.field.outputMappingHelp': 'prompt 输出字段映射到下游字段',
|
|
2648
2897
|
'canaryReleases.new.field.outputMappingUnavailable': '暂不提供输出映射功能;模型输出将按默认结构传递给输出连接器。',
|
|
@@ -2675,29 +2924,27 @@ const dictionaries = {
|
|
|
2675
2924
|
'canaryReleases.new.field.targetDataset': '写入数据集',
|
|
2676
2925
|
'canaryReleases.new.field.targetDatasetHelp': '灰度结果将追加到该数据集(建议 stream 类型)',
|
|
2677
2926
|
'canaryReleases.new.field.recordCategories': '记录模式',
|
|
2678
|
-
'canaryReleases.new.field.recordCategoriesHelp': '
|
|
2927
|
+
'canaryReleases.new.field.recordCategoriesHelp': '按当前提示词输出 schema 中 expected_output 可能产出的分类选择记录范围,默认全选',
|
|
2679
2928
|
'canaryReleases.new.field.recordCategoriesEmpty': '当前提示词版本未声明可识别的判定枚举',
|
|
2680
2929
|
'canaryReleases.new.field.recordCategoriesSelected': '已选择 {count} 个类别',
|
|
2681
2930
|
'canaryReleases.new.field.recordCategoriesSelectAll': '全选',
|
|
2682
2931
|
'canaryReleases.new.field.recordCategoriesClear': '清空',
|
|
2683
2932
|
'canaryReleases.new.field.termination': '终止条件',
|
|
2684
|
-
'canaryReleases.new.field.terminationHelp': '
|
|
2933
|
+
'canaryReleases.new.field.terminationHelp': '默认手动停止;可同时选择按时间和按处理样本数,任一条件先达到即终止',
|
|
2685
2934
|
'canaryReleases.new.field.termination.manual': '手动停止',
|
|
2686
|
-
'canaryReleases.new.field.termination.manualHelp': '未设置自动条件;可在详情页手动停止灰度',
|
|
2687
|
-
'canaryReleases.new.field.termination.autoHelp': '任一条件达到即自动停止;也可随时手动停止',
|
|
2688
2935
|
'canaryReleases.new.field.termination.maxDuration': '最长运行(秒)',
|
|
2689
2936
|
'canaryReleases.new.field.termination.maxSamples': '最大样本数',
|
|
2690
2937
|
'canaryReleases.new.field.termination.maxDurationPlaceholder': '留空',
|
|
2691
2938
|
'canaryReleases.new.field.termination.maxSamplesPlaceholder': '留空',
|
|
2692
2939
|
'canaryReleases.new.field.termination.byTime': '按时间',
|
|
2693
2940
|
'canaryReleases.new.field.termination.byCount': '按处理样本数',
|
|
2694
|
-
'canaryReleases.new.field.termination.byFailureRate': '按失败率',
|
|
2695
2941
|
'canaryReleases.new.field.runMode': '运行模式',
|
|
2696
2942
|
'canaryReleases.new.field.runMode.fixed': '固定时长',
|
|
2697
2943
|
'canaryReleases.new.field.runMode.manual': '手动控制',
|
|
2698
2944
|
'canaryReleases.new.field.recordMode': '记录模式',
|
|
2699
2945
|
'canaryReleases.new.field.recordMode.all': '记录全部',
|
|
2700
|
-
'canaryReleases.new.field.recordMode.correct': '
|
|
2946
|
+
'canaryReleases.new.field.recordMode.correct': '按输出分类记录',
|
|
2947
|
+
'canaryReleases.new.field.recordMode.selectedCategories': '按输出分类记录',
|
|
2701
2948
|
'canaryReleases.new.field.externalIdField': '业务外部 ID 字段',
|
|
2702
2949
|
'canaryReleases.new.field.externalIdFieldHelp': '上游消息中标识每条调用的字段,用于业务侧反查',
|
|
2703
2950
|
'canaryReleases.new.field.runConfig.rpm': 'RPM 上限',
|
|
@@ -2745,7 +2992,6 @@ const dictionaries = {
|
|
|
2745
2992
|
'canaryReleases.detail.config.durationLimit': '时长上限',
|
|
2746
2993
|
'canaryReleases.detail.config.durationDays': '{days} 天',
|
|
2747
2994
|
'canaryReleases.detail.config.sampleLimit': '样本上限',
|
|
2748
|
-
'canaryReleases.detail.config.failureRateLimit': '失败率上限',
|
|
2749
2995
|
'canaryReleases.detail.config.targetDataset': '写入数据集',
|
|
2750
2996
|
'canaryReleases.detail.config.storageCategories': '存储分类',
|
|
2751
2997
|
'canaryReleases.detail.config.allCategories': '全部',
|
|
@@ -2901,9 +3147,9 @@ const dictionaries = {
|
|
|
2901
3147
|
'annotations.claim.submit': 'Start annotation',
|
|
2902
3148
|
'annotations.claim.cancel': 'Cancel',
|
|
2903
3149
|
'annotations.title': 'Annotations',
|
|
2904
|
-
'annotations.subtitle': 'Create annotation tasks manually, filter samples by release name, release
|
|
3150
|
+
'annotations.subtitle': 'Create annotation tasks manually, filter samples by release name, release version, and canary / production scope, then write the selected class to expected_output.',
|
|
2905
3151
|
'annotations.search': 'Search tasks, prompts, models, or sources',
|
|
2906
|
-
'annotations.empty': 'No annotation tasks yet. Create one from a release name and release
|
|
3152
|
+
'annotations.empty': 'No annotation tasks yet. Create one from a release name and release version.',
|
|
2907
3153
|
'annotations.loadFailed': 'Failed to load annotation tasks. Refresh and try again.',
|
|
2908
3154
|
'annotations.action.new': 'New annotation task',
|
|
2909
3155
|
'annotations.action.open': 'Open detail',
|
|
@@ -2932,6 +3178,7 @@ const dictionaries = {
|
|
|
2932
3178
|
'annotations.table.updatedAt': 'Updated',
|
|
2933
3179
|
'annotations.scope.canary': 'Canary candidate',
|
|
2934
3180
|
'annotations.scope.online': 'Production data',
|
|
3181
|
+
'annotations.scope.all': 'All data',
|
|
2935
3182
|
'annotations.status.active': 'Active',
|
|
2936
3183
|
'annotations.status.completed': 'Completed',
|
|
2937
3184
|
'annotations.status.archived': 'Archived',
|
|
@@ -2951,43 +3198,67 @@ const dictionaries = {
|
|
|
2951
3198
|
'annotations.lifecycle.submitDetail': '{count} submitted',
|
|
2952
3199
|
'annotations.new.breadcrumb': 'New',
|
|
2953
3200
|
'annotations.new.title': 'New annotation task',
|
|
2954
|
-
'annotations.new.subtitle': 'Choose a release name
|
|
3201
|
+
'annotations.new.subtitle': 'Choose a release name and version, then sample randomly by total count or assign counts by current categories.',
|
|
2955
3202
|
'annotations.new.action.openTask': 'Open task',
|
|
2956
3203
|
'annotations.new.action.createCanary': 'Create canary release',
|
|
2957
3204
|
'annotations.new.action.create': 'Create task',
|
|
2958
3205
|
'annotations.new.action.creating': 'Creating...',
|
|
3206
|
+
'annotations.new.section.name': 'Task name',
|
|
3207
|
+
'annotations.new.section.nameDetail': 'Name this annotation task first',
|
|
2959
3208
|
'annotations.new.section.source': 'Task source',
|
|
2960
3209
|
'annotations.new.section.sourceDetail': 'Annotation tasks bind to canary candidates or online production samples',
|
|
2961
3210
|
'annotations.new.section.config': 'Annotation config',
|
|
2962
3211
|
'annotations.new.section.configDetail': 'Define sampling size and human review fields',
|
|
2963
|
-
'annotations.new.section.release': 'Choose release name',
|
|
2964
|
-
'annotations.new.section.releaseDetail': 'Bind the annotation task to one release line',
|
|
2965
|
-
'annotations.new.section.
|
|
2966
|
-
'annotations.new.section.
|
|
2967
|
-
'annotations.new.section.sample': '
|
|
2968
|
-
'annotations.new.section.sampleDetail': '
|
|
3212
|
+
'annotations.new.section.release': 'Choose release name and version',
|
|
3213
|
+
'annotations.new.section.releaseDetail': 'Bind the annotation task to one release line and release version',
|
|
3214
|
+
'annotations.new.section.version': 'Choose release version',
|
|
3215
|
+
'annotations.new.section.versionDetail': 'Confirm the data by version label, prompt version, and model',
|
|
3216
|
+
'annotations.new.section.sample': 'Annotation data amount',
|
|
3217
|
+
'annotations.new.section.sampleDetail': 'Choose random sampling or counts by category',
|
|
2969
3218
|
'annotations.new.scope.label': 'Annotation scope',
|
|
2970
3219
|
'annotations.new.onlineHint': 'Online sampling annotations bind to production release events. You can review the online entry from release details.',
|
|
2971
3220
|
'annotations.new.emptyCanary': 'No canary tasks available. Create a canary release and let the runner write run results first.',
|
|
2972
3221
|
'annotations.new.emptyRelease': 'No releases available. Create a release and write run results first.',
|
|
2973
3222
|
'annotations.new.selectReleaseFirst': 'Choose a release name first.',
|
|
2974
|
-
'annotations.new.
|
|
3223
|
+
'annotations.new.emptyVersion': 'No release versions under this release name.',
|
|
3224
|
+
'annotations.new.releaseSearchPlaceholder': 'Search release name, prompt, or version',
|
|
3225
|
+
'annotations.new.versionSearchPlaceholder': 'Search version number, prompt, model, or count',
|
|
3226
|
+
'annotations.new.noMatches': 'No matches',
|
|
3227
|
+
'annotations.new.dropdown.prompt': 'Prompt',
|
|
3228
|
+
'annotations.new.dropdown.model': 'Model',
|
|
3229
|
+
'annotations.new.dropdown.runResults': 'Count - {count}',
|
|
3230
|
+
'annotations.new.dropdown.runResultsLabel': 'Count',
|
|
3231
|
+
'annotations.new.dropdown.versionCount': '{count} versions',
|
|
2975
3232
|
'annotations.new.field.name': 'Task name',
|
|
2976
3233
|
'annotations.new.field.namePlaceholder': 'Example: annotation-20260523',
|
|
2977
3234
|
'annotations.new.field.sampleLimit': 'Annotation count',
|
|
2978
|
-
'annotations.new.maxSamples': 'Current
|
|
3235
|
+
'annotations.new.maxSamples': 'Current release version allows at most {count} samples',
|
|
2979
3236
|
'annotations.new.expectedOutputOnly': 'The annotation field is fixed to expected_output. Select the correct class for the current sample from prompt categories.',
|
|
2980
3237
|
'annotations.new.noCategoryOptions': 'No categories were found from the prompt',
|
|
2981
|
-
'annotations.new.categoryOptionsRequired': 'This release
|
|
3238
|
+
'annotations.new.categoryOptionsRequired': 'This release version has no prompt category options. Add categories in the prompt output schema first.',
|
|
3239
|
+
'annotations.new.samplingMode.label': 'Sampling mode',
|
|
3240
|
+
'annotations.new.samplingMode.random': 'Random sample',
|
|
3241
|
+
'annotations.new.samplingMode.perCategory': 'By category',
|
|
3242
|
+
'annotations.new.categorySample.category': 'Category',
|
|
3243
|
+
'annotations.new.categorySample.available': 'Available',
|
|
3244
|
+
'annotations.new.categorySample.count': 'Count',
|
|
3245
|
+
'annotations.new.categorySample.total': 'Selected {count} / {max} samples',
|
|
3246
|
+
'annotations.new.categorySampleExceeded': 'A category annotation count exceeds the currently available count.',
|
|
3247
|
+
'annotations.new.versionScope.label': 'Version scope',
|
|
3248
|
+
'annotations.new.versionScope.exact': 'Exact version',
|
|
3249
|
+
'annotations.new.versionScope.journey': 'Release journey',
|
|
3250
|
+
'annotations.new.versionScopeIncompatible': 'Versions in this release journey have incompatible categories, so they cannot be merged into one annotation task.',
|
|
2982
3251
|
'annotations.new.summary.title': 'Task summary',
|
|
2983
3252
|
'annotations.new.summary.scope': 'Scope',
|
|
2984
3253
|
'annotations.new.summary.release': 'Release name',
|
|
2985
|
-
'annotations.new.summary.
|
|
3254
|
+
'annotations.new.summary.version': 'Release version',
|
|
3255
|
+
'annotations.new.summary.versionScope': 'Version scope',
|
|
3256
|
+
'annotations.new.summary.samplingMode': 'Sampling mode',
|
|
2986
3257
|
'annotations.new.summary.samples': 'Sample / max',
|
|
2987
3258
|
'annotations.new.summary.field': 'Annotation field',
|
|
2988
3259
|
'annotations.new.summary.categories': 'Categories',
|
|
2989
3260
|
'annotations.new.submitReady': 'Filters are valid. Create the task and enter the annotation workspace.',
|
|
2990
|
-
'annotations.new.submitDisabled': 'Choose a release name, release
|
|
3261
|
+
'annotations.new.submitDisabled': 'Choose a release name, release version, and an annotation amount within the available count.',
|
|
2991
3262
|
'annotations.detail.notFound': 'Annotation task not found',
|
|
2992
3263
|
'annotations.detail.metric.open': 'Open',
|
|
2993
3264
|
'annotations.detail.metric.openHint': 'Not submitted',
|
|
@@ -3008,7 +3279,7 @@ const dictionaries = {
|
|
|
3008
3279
|
'annotations.detail.samples.result': 'Annotated value',
|
|
3009
3280
|
'annotations.detail.samples.judgment': 'Judgment',
|
|
3010
3281
|
'annotations.detail.samples.createdAt': 'Created',
|
|
3011
|
-
'annotations.detail.empty': 'This task has no samples. Check the release
|
|
3282
|
+
'annotations.detail.empty': 'This task has no samples. Check the release version, data scope, and sample size used at creation.',
|
|
3012
3283
|
'annotations.detail.workspace.empty': 'Select a sample to annotate',
|
|
3013
3284
|
'annotations.workspace.inputVariables': 'Input variables',
|
|
3014
3285
|
'annotations.workspace.fullPrompt': 'Full prompt',
|
|
@@ -3113,7 +3384,7 @@ const dictionaries = {
|
|
|
3113
3384
|
'dashboard.refresh': 'Refresh',
|
|
3114
3385
|
'dashboard.assets.title': 'Assets',
|
|
3115
3386
|
'dashboard.assets.createAction': 'New {resource}',
|
|
3116
|
-
'dashboard.assets.promptsDetail': 'Online {online} · canary {
|
|
3387
|
+
'dashboard.assets.promptsDetail': 'Online {online} · canary {canary}',
|
|
3117
3388
|
'dashboard.assets.datasetsDetail': 'Samples {samples}',
|
|
3118
3389
|
'dashboard.assets.modelsDetail': 'Enabled {enabled} · vision {image}',
|
|
3119
3390
|
'dashboard.assets.connectorsDetail': 'Input {input} · output {output}',
|
|
@@ -3207,7 +3478,7 @@ const dictionaries = {
|
|
|
3207
3478
|
'projectOverview.resource.samples': '{count} samples',
|
|
3208
3479
|
'projectOverview.summary.title': 'Assets',
|
|
3209
3480
|
'projectOverview.summary.create': 'Create',
|
|
3210
|
-
'projectOverview.summary.promptsDetail': 'Online {online} · canary {
|
|
3481
|
+
'projectOverview.summary.promptsDetail': 'Online {online} · canary {canary}',
|
|
3211
3482
|
'projectOverview.summary.datasetsDetail': 'Samples {samples}',
|
|
3212
3483
|
'projectOverview.summary.modelsDetail': 'Text models {text} · image models {image}',
|
|
3213
3484
|
'projectOverview.summary.connectorsDetail': 'Input {input} · output {output}',
|
|
@@ -3218,7 +3489,7 @@ const dictionaries = {
|
|
|
3218
3489
|
'projectOverview.metric.f1': 'F1',
|
|
3219
3490
|
'projectOverview.metric.fpr': 'FPR',
|
|
3220
3491
|
'projectOverview.metric.best': 'Best metric',
|
|
3221
|
-
'projectOverview.metric.
|
|
3492
|
+
'projectOverview.metric.versions': 'Versions',
|
|
3222
3493
|
'projectOverview.metric.outputs': 'Outputs',
|
|
3223
3494
|
'projectOverview.event.release': 'Release',
|
|
3224
3495
|
'projectOverview.actions.title': 'Quick actions',
|
|
@@ -3280,7 +3551,14 @@ const dictionaries = {
|
|
|
3280
3551
|
'releases.title': 'Releases',
|
|
3281
3552
|
'releases.subtitle': 'Organize live traffic by release line: each line binds one prompt and one upstream connector, with at most one production release lane and one running canary candidate lane.',
|
|
3282
3553
|
'releases.action.new': 'New release',
|
|
3283
|
-
'releases.action.
|
|
3554
|
+
'releases.action.stop': 'Stop',
|
|
3555
|
+
'releases.action.start': 'Start',
|
|
3556
|
+
'releases.action.archive': 'Archive',
|
|
3557
|
+
'releases.action.unarchive': 'Unarchive',
|
|
3558
|
+
'releases.stopReason': 'Stopped release line from releases list',
|
|
3559
|
+
'releases.startReason': 'Started release line from releases list',
|
|
3560
|
+
'releases.archiveReason': 'Archived release line from releases list',
|
|
3561
|
+
'releases.unarchiveReason': 'Unarchived release line from releases list',
|
|
3284
3562
|
'releases.search': 'Search release name / prompt / model / upstream connector…',
|
|
3285
3563
|
'releases.filter.all': 'All',
|
|
3286
3564
|
'releases.filter.production': 'production',
|
|
@@ -3291,18 +3569,21 @@ const dictionaries = {
|
|
|
3291
3569
|
'releases.empty': 'No release lines yet',
|
|
3292
3570
|
'releases.metric.totalLines': 'Release lines · total',
|
|
3293
3571
|
'releases.metric.totalLinesHint': 'Prompt × upstream connector',
|
|
3572
|
+
'releases.metric.running': 'running',
|
|
3573
|
+
'releases.metric.runningHint': 'At least one lane is running',
|
|
3574
|
+
'releases.metric.stopped': 'stopped',
|
|
3575
|
+
'releases.metric.stoppedHint': '{count} archived',
|
|
3294
3576
|
'releases.metric.production': 'production',
|
|
3295
3577
|
'releases.metric.productionHint': '{count} also have canary candidates',
|
|
3296
3578
|
'releases.metric.canary': 'canary',
|
|
3297
3579
|
'releases.metric.canaryHint': '{count} samples waiting for annotation',
|
|
3298
|
-
'releases.metric.failureRate': 'Failure rate
|
|
3580
|
+
'releases.metric.failureRate': 'Failure rate',
|
|
3299
3581
|
'releases.metric.failureRateHint': '{count} failures',
|
|
3300
|
-
'releases.metric.processed': 'Processed
|
|
3301
|
-
'releases.metric.processedHint': 'Aggregated from
|
|
3302
|
-
'releases.status.
|
|
3303
|
-
'releases.status.productionCanary': 'production + canary',
|
|
3304
|
-
'releases.status.canary': 'canary',
|
|
3582
|
+
'releases.metric.processed': 'Processed',
|
|
3583
|
+
'releases.metric.processedHint': 'Aggregated from release run results',
|
|
3584
|
+
'releases.status.running': 'running',
|
|
3305
3585
|
'releases.status.stopped': 'stopped',
|
|
3586
|
+
'releases.status.archived': 'archived',
|
|
3306
3587
|
'releases.event.createCanary': 'create_canary',
|
|
3307
3588
|
'releases.event.ratioChange': 'ratio_change',
|
|
3308
3589
|
'releases.event.canaryTerminal': 'canary_terminal',
|
|
@@ -3312,9 +3593,15 @@ const dictionaries = {
|
|
|
3312
3593
|
'releases.event.operation.stopLane': 'stop_lane',
|
|
3313
3594
|
'releases.event.operation.resumeLane': 'resume_lane',
|
|
3314
3595
|
'releases.event.operation.cancelCanary': 'cancel_canary',
|
|
3596
|
+
'releases.event.operation.restoreToProduction': 'restore_to_production',
|
|
3597
|
+
'releases.event.operation.restoreToCanary': 'restore_to_canary',
|
|
3315
3598
|
'releases.event.operation.archiveLine': 'archive_line',
|
|
3599
|
+
'releases.event.operation.unarchiveLine': 'unarchive_line',
|
|
3316
3600
|
'releases.traffic.offline': 'offline',
|
|
3317
3601
|
'releases.traffic.productionFull': 'production 100%',
|
|
3602
|
+
'releases.traffic.productionLane': 'Production',
|
|
3603
|
+
'releases.traffic.canarySplit': 'Canary split',
|
|
3604
|
+
'releases.traffic.canaryDualRun': 'Canary dual-run',
|
|
3318
3605
|
'releases.traffic.passThrough': 'pass-through',
|
|
3319
3606
|
'releases.lane.production': 'Production release',
|
|
3320
3607
|
'releases.lane.canary': 'canary candidate lane',
|
|
@@ -3328,27 +3615,74 @@ const dictionaries = {
|
|
|
3328
3615
|
'releases.detail.tab.overview': 'Overview',
|
|
3329
3616
|
'releases.detail.tab.config': 'Traffic config',
|
|
3330
3617
|
'releases.detail.tab.monitoring': 'Live metrics',
|
|
3331
|
-
'releases.detail.tab.variants': 'Release variants',
|
|
3332
3618
|
'releases.detail.tab.results': 'Run results',
|
|
3333
3619
|
'releases.detail.tab.annotation': 'Quality metrics',
|
|
3334
3620
|
'releases.detail.tab.quality': 'Quality metrics',
|
|
3335
3621
|
'releases.detail.tab.history': 'History',
|
|
3622
|
+
'releases.detail.tab.settings': 'Settings',
|
|
3336
3623
|
'releases.detail.history.productionLane': 'Production',
|
|
3337
3624
|
'releases.detail.history.canaryLane': 'Canary',
|
|
3338
3625
|
'releases.detail.notFound': 'Release line not found',
|
|
3339
|
-
'releases.detail.confirmStopProduction': '
|
|
3340
|
-
'releases.detail.stopReason': '
|
|
3341
|
-
'releases.detail.
|
|
3342
|
-
'releases.detail.
|
|
3343
|
-
'releases.detail.
|
|
3626
|
+
'releases.detail.confirmStopProduction': 'Stop the current release line?',
|
|
3627
|
+
'releases.detail.stopReason': 'Stopped release line from release line details',
|
|
3628
|
+
'releases.detail.startReason': 'Started release line from release line details',
|
|
3629
|
+
'releases.detail.archiveReason': 'Archived release line from release line details',
|
|
3630
|
+
'releases.detail.unarchiveReason': 'Unarchived release line from release line details',
|
|
3631
|
+
'releases.detail.deleteReason': 'Permanently deleted release line from release line details',
|
|
3632
|
+
'releases.detail.deleteFailed': 'Failed to delete release line. Please try again later.',
|
|
3633
|
+
'releases.detail.action.stopProduction': 'Stop',
|
|
3634
|
+
'releases.detail.action.start': 'Start',
|
|
3635
|
+
'releases.detail.action.starting': 'Starting...',
|
|
3636
|
+
'releases.detail.action.archive': 'Archive',
|
|
3637
|
+
'releases.detail.action.archiving': 'Archiving...',
|
|
3638
|
+
'releases.detail.action.unarchive': 'Unarchive',
|
|
3639
|
+
'releases.detail.action.unarchiving': 'Unarchiving...',
|
|
3640
|
+
'releases.detail.stopDialog.title': 'Stop release line',
|
|
3641
|
+
'releases.detail.stopDialog.description': 'The release line will stop handling traffic, but the release record and history events stay visible.',
|
|
3344
3642
|
'releases.detail.stopDialog.releaseName': 'Release name',
|
|
3345
3643
|
'releases.detail.stopDialog.inputLabel': 'Type the release name to confirm',
|
|
3346
3644
|
'releases.detail.stopDialog.inputPlaceholder': 'Type {name}',
|
|
3347
3645
|
'releases.detail.stopDialog.mismatch': 'Release name does not match.',
|
|
3348
|
-
'releases.detail.stopDialog.confirm': '
|
|
3349
|
-
'releases.detail.stopDialog.stopping': '
|
|
3646
|
+
'releases.detail.stopDialog.confirm': 'Stop',
|
|
3647
|
+
'releases.detail.stopDialog.stopping': 'Stopping...',
|
|
3648
|
+
'releases.archiveDialog.title': 'Archive release line',
|
|
3649
|
+
'releases.archiveDialog.description': 'Archived release lines are removed from running entry points while history and run results stay visible.',
|
|
3650
|
+
'releases.archiveDialog.confirm': 'Archive',
|
|
3651
|
+
'releases.archiveDialog.archiving': 'Archiving...',
|
|
3652
|
+
'releases.detail.settings.title': 'Settings',
|
|
3653
|
+
'releases.detail.settings.description': 'Manage low-frequency actions for this release line.',
|
|
3654
|
+
'releases.detail.delete.dangerTitle': 'Danger zone',
|
|
3655
|
+
'releases.detail.delete.open': 'Delete release',
|
|
3656
|
+
'releases.detail.delete.title': 'Permanently delete release',
|
|
3657
|
+
'releases.detail.delete.description': 'This physically deletes the release line, release versions, events, release run results, and annotation tasks. It cannot be undone.',
|
|
3658
|
+
'releases.detail.delete.dialogDescription': 'Type the release name before permanently deleting it. This action cannot be undone.',
|
|
3659
|
+
'releases.detail.delete.releaseName': 'Release name',
|
|
3660
|
+
'releases.detail.delete.inputLabel': 'Type the release name to confirm',
|
|
3661
|
+
'releases.detail.delete.inputPlaceholder': 'Type {name}',
|
|
3662
|
+
'releases.detail.delete.mismatch': 'Release name does not match.',
|
|
3663
|
+
'releases.detail.delete.confirm': 'Permanently delete',
|
|
3664
|
+
'releases.detail.delete.deleting': 'Deleting...',
|
|
3665
|
+
'releases.deleteImpact.loading': 'Checking deletion impact...',
|
|
3666
|
+
'releases.deleteImpact.empty': 'No release events, versions, run results, or annotation tasks found.',
|
|
3667
|
+
'releases.deleteImpact.event': 'Event',
|
|
3668
|
+
'releases.deleteImpact.version': 'Version',
|
|
3669
|
+
'releases.deleteImpact.annotationTask': 'Annotation task',
|
|
3670
|
+
'releases.deleteImpact.events': 'Events',
|
|
3671
|
+
'releases.deleteImpact.eventsHint': 'Release event stream',
|
|
3672
|
+
'releases.deleteImpact.versions': 'Versions',
|
|
3673
|
+
'releases.deleteImpact.versionsHint': 'Release versions',
|
|
3674
|
+
'releases.deleteImpact.runResults': 'Run results',
|
|
3675
|
+
'releases.deleteImpact.runResultsHint': 'source=release',
|
|
3676
|
+
'releases.deleteImpact.annotationTasks': 'Annotation tasks',
|
|
3677
|
+
'releases.deleteImpact.annotationTasksHint': 'Release sampling tasks',
|
|
3678
|
+
'releases.deleteImpact.more': '{count} more objects',
|
|
3350
3679
|
'releases.detail.action.changeProduction': 'Change production release config',
|
|
3351
3680
|
'releases.detail.action.addCanary': 'Add canary candidate',
|
|
3681
|
+
'releases.detail.action.replaceCanary': 'New canary candidate',
|
|
3682
|
+
'releases.detail.action.promoteCanary': 'Promote to production',
|
|
3683
|
+
'releases.detail.action.stopCanary': 'Stop canary',
|
|
3684
|
+
'releases.detail.action.resumeCanary': 'Resume canary',
|
|
3685
|
+
'releases.detail.action.cancelCanary': 'Cancel canary',
|
|
3352
3686
|
'releases.detail.action.newAnnotation': 'New annotation',
|
|
3353
3687
|
'releases.detail.action.adjustTraffic': 'Adjust traffic',
|
|
3354
3688
|
'releases.detail.trafficDialog.title': 'Adjust canary traffic',
|
|
@@ -3380,6 +3714,8 @@ const dictionaries = {
|
|
|
3380
3714
|
'releases.detail.topology.badge.canary': 'Canary',
|
|
3381
3715
|
'releases.detail.topology.traffic.production': 'Production',
|
|
3382
3716
|
'releases.detail.topology.traffic.canary': 'Canary',
|
|
3717
|
+
'releases.detail.topology.lane.production': 'production',
|
|
3718
|
+
'releases.detail.topology.lane.canary': 'canary',
|
|
3383
3719
|
'releases.detail.topology.outputRoute': 'Output route',
|
|
3384
3720
|
'releases.detail.topology.outputRouteTitle': 'Downstream dispatch',
|
|
3385
3721
|
'releases.detail.topology.ingress': 'Live request',
|
|
@@ -3397,7 +3733,6 @@ const dictionaries = {
|
|
|
3397
3733
|
'releases.detail.topology.filterEmpty': 'Filtering is disabled',
|
|
3398
3734
|
'releases.detail.topology.outputMappingEmpty': 'No output mapping configured',
|
|
3399
3735
|
'releases.detail.topology.inspector': 'Node details',
|
|
3400
|
-
'releases.detail.topology.clickHint': 'Click a topology node to inspect details',
|
|
3401
3736
|
'releases.detail.topology.field.connectorId': 'Connector ID',
|
|
3402
3737
|
'releases.detail.topology.field.connectorName': 'Connector name',
|
|
3403
3738
|
'releases.detail.topology.field.connectorType': 'Connector type',
|
|
@@ -3412,6 +3747,7 @@ const dictionaries = {
|
|
|
3412
3747
|
'releases.detail.topology.field.tpmLimit': 'TPM',
|
|
3413
3748
|
'releases.detail.topology.field.concurrency': 'Concurrency',
|
|
3414
3749
|
'releases.detail.topology.field.temperature': 'Temperature',
|
|
3750
|
+
'releases.detail.topology.field.termination': 'Termination',
|
|
3415
3751
|
'releases.detail.topology.field.imageEncoding': 'Image encoding',
|
|
3416
3752
|
'releases.detail.topology.field.imageEncodingUrl': 'URL',
|
|
3417
3753
|
'releases.detail.topology.field.imageEncodingBase64': 'Base64',
|
|
@@ -3420,18 +3756,83 @@ const dictionaries = {
|
|
|
3420
3756
|
'releases.detail.topology.field.outputScope': 'Output scope',
|
|
3421
3757
|
'releases.detail.topology.scope.production': 'Production release',
|
|
3422
3758
|
'releases.detail.topology.scope.canary': 'canary',
|
|
3423
|
-
'releases.detail.topology.field.routeStatus': 'Route status',
|
|
3424
3759
|
'releases.detail.topology.field.fieldMapping': 'Field mapping',
|
|
3425
3760
|
'releases.detail.topology.field.filterRules': 'Filter rules',
|
|
3761
|
+
'releases.detail.topology.field.inputFields': 'Input fields',
|
|
3426
3762
|
'releases.detail.topology.field.outputMapping': 'Output mapping',
|
|
3427
3763
|
'releases.detail.topology.trafficBox': 'Traffic ratio',
|
|
3428
3764
|
'releases.detail.topology.noCanaryToAdjust': 'No canary candidate can be adjusted',
|
|
3429
|
-
'releases.detail.topology.
|
|
3765
|
+
'releases.detail.topology.inputFields.empty': 'No input fields detected',
|
|
3766
|
+
'releases.detail.topology.inputRoute.saveFailed': 'Failed to save input route.',
|
|
3767
|
+
'releases.detail.topology.inputRoute.invalid': 'Enter a valid field mapping and filter rules.',
|
|
3768
|
+
'releases.detail.topology.inputRoute.noLane': 'No configurable production or canary lane.',
|
|
3769
|
+
'releases.detail.topology.inputRoute.editFilter': 'Edit filter',
|
|
3770
|
+
'releases.detail.topology.inputRoute.hideFilter': 'Collapse editor',
|
|
3771
|
+
'releases.detail.topology.outputRoute.saveFailed': 'Failed to save output route.',
|
|
3772
|
+
'releases.detail.topology.outputRoute.noLane': 'No configurable production or canary lane.',
|
|
3773
|
+
'releases.detail.topology.outputRoute.noConnector': 'No output connectors.',
|
|
3774
|
+
'releases.detail.topology.outputRoute.edit': 'Edit output route',
|
|
3775
|
+
'releases.detail.topology.outputRoute.dialogTitle': 'Edit output route',
|
|
3776
|
+
'releases.detail.topology.outputRoute.dialogDescription': 'Configure the output connectors for production and canary, with a separate output mapping for each connector.',
|
|
3777
|
+
'releases.detail.topology.outputRoute.newConnector': 'New output connector',
|
|
3778
|
+
'releases.detail.topology.outputRoute.connectorFilter': 'Filter output connectors',
|
|
3779
|
+
'releases.detail.topology.outputRoute.connectorSelect': 'Select output connector',
|
|
3780
|
+
'releases.detail.topology.outputRoute.noAddableConnector': 'No output connector can be added',
|
|
3781
|
+
'releases.detail.topology.outputRoute.availableConnectors': 'Available output connectors',
|
|
3782
|
+
'releases.detail.topology.outputRoute.selectedConnectors': 'Selected connectors and mappings',
|
|
3783
|
+
'releases.detail.topology.outputRoute.noSelectedConnector': 'This lane has no output connectors.',
|
|
3784
|
+
'releases.detail.topology.outputRoute.addConnector': 'Add downstream connector',
|
|
3785
|
+
'releases.detail.topology.outputRoute.removeConnector': 'Remove',
|
|
3786
|
+
'releases.detail.topology.outputRoute.passThrough': 'Default output',
|
|
3787
|
+
'releases.detail.topology.outputRoute.connectorHelp': 'Select downstreams for this lane',
|
|
3788
|
+
'releases.detail.topology.outputRoute.mappingHelp': 'Each connector has its own source -> target mapping',
|
|
3789
|
+
'releases.detail.topology.outputRoute.source': 'source',
|
|
3790
|
+
'releases.detail.topology.outputRoute.target': 'target',
|
|
3791
|
+
'releases.detail.topology.outputRoute.sourceDecisionOutput': 'Decision output',
|
|
3792
|
+
'releases.detail.topology.outputRoute.sourceParsedOutput': 'Full parsed output',
|
|
3793
|
+
'releases.detail.topology.outputRoute.sourceRawResponse': 'Raw response',
|
|
3794
|
+
'releases.detail.topology.outputRoute.sourceRunResultId': 'Run result ID',
|
|
3795
|
+
'releases.detail.topology.outputRoute.sourceModelOutput': 'Model output field',
|
|
3796
|
+
'releases.detail.topology.outputRoute.sourceLegacy': 'Legacy mapping field',
|
|
3797
|
+
'releases.detail.topology.outputRoute.productionConnectors': 'Production connectors',
|
|
3798
|
+
'releases.detail.topology.outputRoute.canaryConnectors': 'Canary connectors',
|
|
3799
|
+
'releases.detail.topology.outputRoute.productionMapping': 'Production mapping',
|
|
3800
|
+
'releases.detail.topology.outputRoute.canaryMapping': 'Canary mapping',
|
|
3801
|
+
'releases.detail.topology.outputRoute.summaryConnectors': 'Output connectors',
|
|
3802
|
+
'releases.detail.topology.outputRoute.summaryMapping': 'Output mapping',
|
|
3803
|
+
'releases.detail.topology.outputRoute.addMapping': 'Add mapping',
|
|
3804
|
+
'releases.detail.topology.outputRoute.removeMapping': 'Remove mapping',
|
|
3805
|
+
'releases.detail.topology.outputRoute.saveRoute': 'Save route',
|
|
3806
|
+
'releases.detail.topology.outputRoute.sourceSearch': 'Search fields...',
|
|
3807
|
+
'releases.detail.topology.outputRoute.sourceEmpty': 'No matching field',
|
|
3808
|
+
'releases.detail.topology.outputRoute.sourcePlaceholder': 'Select source field',
|
|
3809
|
+
'releases.detail.topology.outputRoute.sourceGroup.upstream': 'Raw upstream input fields',
|
|
3810
|
+
'releases.detail.topology.outputRoute.sourceGroup.model': 'Model output',
|
|
3811
|
+
'releases.detail.topology.outputRoute.sourceGroup.meta': 'Run metadata',
|
|
3812
|
+
'releases.detail.topology.outputRoute.newBadge': 'NEW',
|
|
3813
|
+
'releases.detail.topology.outputRoute.connectorPickerTitle': 'Select downstream connector',
|
|
3814
|
+
'releases.detail.topology.outputRoute.noMoreConnectors': 'No more connectors can be added',
|
|
3815
|
+
'releases.detail.topology.outputRoute.laneReadonly': 'This lane cannot be edited right now.',
|
|
3816
|
+
'releases.detail.topology.outputRoute.connectorCount': '{count} connectors',
|
|
3817
|
+
'releases.detail.topology.outputRoute.footerSummary': 'Production {production} · canary {canary} downstream connectors · {mappings} field mappings total',
|
|
3818
|
+
'releases.detail.topology.runConfig.title': 'Run parameters',
|
|
3430
3819
|
'releases.detail.topology.runConfig.invalid': 'Enter a valid run config.',
|
|
3431
3820
|
'releases.detail.topology.runConfig.updateFailed': 'Failed to update run config.',
|
|
3432
3821
|
'releases.detail.topology.runConfig.modelUnavailable': 'No selectable model',
|
|
3433
3822
|
'releases.detail.topology.runConfig.modelLimit': 'Model cap {limit}',
|
|
3434
3823
|
'releases.detail.topology.runConfig.unlimited': 'Unlimited',
|
|
3824
|
+
'releases.detail.topology.identity.title': 'Release info',
|
|
3825
|
+
'releases.detail.topology.recordMode.title': 'Record settings',
|
|
3826
|
+
'releases.detail.topology.recordMode.all': 'Record all',
|
|
3827
|
+
'releases.detail.topology.recordMode.selectedCategories': 'Record selected output classes',
|
|
3828
|
+
'releases.detail.topology.recordMode.correctOnly': 'Record selected output classes',
|
|
3829
|
+
'releases.detail.topology.recordCategories': 'Output classes',
|
|
3830
|
+
'releases.detail.topology.recordCategories.empty': 'This prompt version does not declare output classes',
|
|
3831
|
+
'releases.detail.topology.recordCategories.required': 'Select at least one output class.',
|
|
3832
|
+
'releases.detail.topology.recordCategories.selected': '{count} classes selected',
|
|
3833
|
+
'releases.detail.topology.recordCategories.selectAll': 'Select all',
|
|
3834
|
+
'releases.detail.topology.recordCategories.clear': 'Clear',
|
|
3835
|
+
'releases.detail.topology.canaryActionFailed': 'Canary operation failed.',
|
|
3435
3836
|
'releases.detail.topology.mode.split': 'split traffic',
|
|
3436
3837
|
'releases.detail.topology.mode.dualRun': 'dual_run mirror',
|
|
3437
3838
|
'releases.detail.config.mapping': 'Field mapping',
|
|
@@ -3469,9 +3870,20 @@ const dictionaries = {
|
|
|
3469
3870
|
'releases.detail.metric.deliveryFailed': 'Delivery failed',
|
|
3470
3871
|
'releases.detail.metric.deliveryFailureRate': 'Delivery failure rate',
|
|
3471
3872
|
'releases.detail.quality.title': 'Quality metrics',
|
|
3472
|
-
'releases.detail.quality.
|
|
3873
|
+
'releases.detail.quality.description': 'Observe Recall, Precision, F1, and Accuracy by release event with multi-select versions, scopes, and metrics.',
|
|
3874
|
+
'releases.detail.quality.empty': 'No release quality metrics yet',
|
|
3875
|
+
'releases.detail.quality.emptyDescription': 'Create an annotation task and submit labeled samples before quality metrics can appear here.',
|
|
3876
|
+
'releases.detail.quality.emptyAction': 'Create annotation task',
|
|
3473
3877
|
'releases.detail.quality.loadFailed': 'Failed to load quality metrics. Refresh and try again.',
|
|
3474
3878
|
'releases.detail.quality.noComparable': 'Submitted samples exist, but there is no comparable model output yet.',
|
|
3879
|
+
'releases.detail.quality.filteredEmpty': 'No quality metrics match the current filters.',
|
|
3880
|
+
'releases.detail.quality.scope.overall': 'Overall',
|
|
3881
|
+
'releases.detail.quality.metric.recall': 'Recall',
|
|
3882
|
+
'releases.detail.quality.metric.precision': 'Precision',
|
|
3883
|
+
'releases.detail.quality.metric.f1': 'F1',
|
|
3884
|
+
'releases.detail.quality.metric.accuracy': 'Accuracy',
|
|
3885
|
+
'releases.detail.quality.sampleCount': 'Samples',
|
|
3886
|
+
'releases.detail.quality.sampleCountShort': '{count} samples',
|
|
3475
3887
|
'releases.detail.quality.matchRate': 'Match rate',
|
|
3476
3888
|
'releases.detail.quality.latestMatchRate': 'Latest match rate',
|
|
3477
3889
|
'releases.detail.quality.matched': 'Matched',
|
|
@@ -3488,6 +3900,40 @@ const dictionaries = {
|
|
|
3488
3900
|
'releases.detail.quality.submitted': 'Submitted',
|
|
3489
3901
|
'releases.detail.quality.submittedHint': 'Historical annotation samples',
|
|
3490
3902
|
'releases.detail.quality.chartTitle': 'Historical quality metrics',
|
|
3903
|
+
'releases.detail.quality.footer': '{tasks} annotation tasks · {versions} release versions · {points} quality points',
|
|
3904
|
+
'releases.detail.quality.pendingQuality': '{count} tasks have not produced quality results yet',
|
|
3905
|
+
'releases.detail.quality.filter.version': 'Version filter',
|
|
3906
|
+
'releases.detail.quality.filter.scope': 'Data scope',
|
|
3907
|
+
'releases.detail.quality.filter.metric': 'Metric',
|
|
3908
|
+
'releases.detail.quality.filter.allVersions': 'All versions',
|
|
3909
|
+
'releases.detail.quality.filter.selectedVersions': '{count} versions',
|
|
3910
|
+
'releases.detail.quality.filter.versionSearch': 'Search release version, prompt version, or model',
|
|
3911
|
+
'releases.detail.quality.filter.selectAll': 'Select all',
|
|
3912
|
+
'releases.detail.quality.filter.latestOnly': 'Latest only',
|
|
3913
|
+
'releases.detail.quality.filter.allProductionVersions': 'All production versions',
|
|
3914
|
+
'releases.detail.quality.filter.allCanaryVersions': 'All canary versions',
|
|
3915
|
+
'releases.detail.quality.filter.noVersions': 'No matching release versions',
|
|
3916
|
+
'releases.detail.quality.filter.points': 'Quality points',
|
|
3917
|
+
'releases.detail.quality.filter.scopeEmpty': 'No scope',
|
|
3918
|
+
'releases.detail.quality.filter.allMetrics': 'All metrics',
|
|
3919
|
+
'releases.detail.quality.filter.selectedMetrics': '{count} metrics',
|
|
3920
|
+
'releases.detail.quality.filter.metricEmpty': 'No metrics',
|
|
3921
|
+
'releases.detail.quality.filter.tasks': 'Tasks',
|
|
3922
|
+
'releases.detail.quality.filter.allScopes': 'All scopes',
|
|
3923
|
+
'releases.detail.quality.filter.selectedScopes': '{count} scopes',
|
|
3924
|
+
'releases.detail.quality.legend.production': 'Production',
|
|
3925
|
+
'releases.detail.quality.legend.canary': 'Canary',
|
|
3926
|
+
'releases.detail.quality.chart.zoomIn': 'Zoom in',
|
|
3927
|
+
'releases.detail.quality.chart.zoomOut': 'Zoom out',
|
|
3928
|
+
'releases.detail.quality.chart.moveLeft': 'Move left',
|
|
3929
|
+
'releases.detail.quality.chart.moveRight': 'Move right',
|
|
3930
|
+
'releases.detail.quality.chart.resetView': 'Reset view',
|
|
3931
|
+
'releases.detail.quality.chart.range': 'Adjust visible range',
|
|
3932
|
+
'releases.detail.quality.recordsTitle': 'Quality records',
|
|
3933
|
+
'releases.detail.quality.table.task': 'Annotation task',
|
|
3934
|
+
'releases.detail.quality.table.version': 'Release version',
|
|
3935
|
+
'releases.detail.quality.table.scope': 'Data scope',
|
|
3936
|
+
'releases.detail.quality.table.updatedAt': 'Updated',
|
|
3491
3937
|
'releases.detail.results.source': 'Source',
|
|
3492
3938
|
'releases.detail.results.lane': 'lane',
|
|
3493
3939
|
'releases.detail.results.event': 'event_id',
|
|
@@ -3495,7 +3941,7 @@ const dictionaries = {
|
|
|
3495
3941
|
'releases.detail.results.input': 'Input',
|
|
3496
3942
|
'releases.detail.results.output': 'Output',
|
|
3497
3943
|
'releases.detail.results.latency': 'Latency',
|
|
3498
|
-
'releases.detail.results.
|
|
3944
|
+
'releases.detail.results.version': 'Release version',
|
|
3499
3945
|
'releases.detail.results.promptVersion': 'Prompt version',
|
|
3500
3946
|
'releases.detail.results.tokens': 'Tokens',
|
|
3501
3947
|
'releases.detail.results.createdAt': 'Created',
|
|
@@ -3504,36 +3950,68 @@ const dictionaries = {
|
|
|
3504
3950
|
'releases.detail.results.loadFailed': 'Failed to load run results. Refresh and try again.',
|
|
3505
3951
|
'releases.detail.results.empty': 'Run results appear here after the runner writes them',
|
|
3506
3952
|
'releases.detail.results.summary': 'Showing {from} - {to} / {total}',
|
|
3507
|
-
'releases.detail.results.
|
|
3953
|
+
'releases.detail.results.dateFilter.all': 'All dates',
|
|
3954
|
+
'releases.detail.results.dateFilter.ariaLabel': 'Run result date range',
|
|
3955
|
+
'releases.detail.results.dateFilter.customRangeAriaLabel': 'Custom run result date range',
|
|
3956
|
+
'releases.detail.results.versionFilter.all': 'All release versions',
|
|
3957
|
+
'releases.detail.results.versionDropdown.search': 'Search release version, prompt version, or model',
|
|
3958
|
+
'releases.detail.results.versionDropdown.noMatches': 'No matching release versions',
|
|
3959
|
+
'releases.detail.results.versionDropdown.promptVersion': 'Prompt version',
|
|
3960
|
+
'releases.detail.results.versionDropdown.model': 'Model',
|
|
3961
|
+
'releases.detail.results.versionDropdown.versionId': 'Version ID',
|
|
3962
|
+
'releases.detail.results.versionScope.exact': 'Exact version',
|
|
3963
|
+
'releases.detail.results.versionScope.journey': 'Release journey',
|
|
3508
3964
|
'releases.detail.results.promptVersionFilter.all': 'All versions',
|
|
3509
3965
|
'releases.detail.results.sourceFilter.all': 'All sources',
|
|
3510
3966
|
'releases.detail.results.sourceFilter.production': 'production',
|
|
3511
3967
|
'releases.detail.results.sourceFilter.canary': 'canary',
|
|
3512
3968
|
'releases.detail.results.lane.production': 'production',
|
|
3513
3969
|
'releases.detail.results.lane.canary': 'canary',
|
|
3970
|
+
'releases.detail.results.status.running': 'running',
|
|
3514
3971
|
'releases.detail.results.status.success': 'success',
|
|
3515
|
-
'releases.detail.results.status.
|
|
3516
|
-
'releases.detail.
|
|
3517
|
-
'releases.detail.
|
|
3518
|
-
'releases.detail.
|
|
3519
|
-
'releases.detail.
|
|
3520
|
-
'releases.detail.
|
|
3521
|
-
'releases.detail.
|
|
3522
|
-
'releases.detail.
|
|
3523
|
-
'releases.detail.
|
|
3524
|
-
'releases.detail.
|
|
3525
|
-
'releases.detail.
|
|
3526
|
-
'releases.detail.
|
|
3527
|
-
'releases.detail.
|
|
3528
|
-
'releases.detail.
|
|
3529
|
-
'releases.detail.
|
|
3530
|
-
'releases.detail.
|
|
3531
|
-
'releases.detail.
|
|
3532
|
-
'releases.detail.
|
|
3533
|
-
'releases.detail.
|
|
3534
|
-
'releases.detail.
|
|
3535
|
-
'releases.detail.
|
|
3536
|
-
'releases.detail.history.
|
|
3972
|
+
'releases.detail.results.status.failed': 'failed',
|
|
3973
|
+
'releases.detail.history.version': 'Release version',
|
|
3974
|
+
'releases.detail.history.promptVersion': 'Prompt version',
|
|
3975
|
+
'releases.detail.history.model': 'Model',
|
|
3976
|
+
'releases.detail.history.traffic': 'Traffic',
|
|
3977
|
+
'releases.detail.history.status': 'Status',
|
|
3978
|
+
'releases.detail.history.recordMode': 'Record mode',
|
|
3979
|
+
'releases.detail.history.counts': 'Event counts',
|
|
3980
|
+
'releases.detail.history.updatedAt': 'Updated',
|
|
3981
|
+
'releases.detail.history.relations': 'Event relations',
|
|
3982
|
+
'releases.detail.history.reason': 'Reason',
|
|
3983
|
+
'releases.detail.history.relation.sourceEvent': 'Source event',
|
|
3984
|
+
'releases.detail.history.relation.supersedes': 'Supersedes',
|
|
3985
|
+
'releases.detail.history.relation.rollbackTarget': 'Rollback target',
|
|
3986
|
+
'releases.detail.history.relation.sourceExperiment': 'Source experiment',
|
|
3987
|
+
'releases.detail.history.versionKind.production': 'Production version',
|
|
3988
|
+
'releases.detail.history.versionKind.candidate': 'Candidate version',
|
|
3989
|
+
'releases.detail.history.title': 'Release history',
|
|
3990
|
+
'releases.detail.history.runtimeSection': 'Runtime',
|
|
3991
|
+
'releases.detail.history.connectorSection': 'Connectors',
|
|
3992
|
+
'releases.detail.history.reasonSection': 'Other',
|
|
3993
|
+
'releases.detail.history.configChanges': 'Config updates',
|
|
3994
|
+
'releases.detail.history.moreAvailable': 'More history available, load more',
|
|
3995
|
+
'releases.detail.history.loadingMore': 'Loading more history…',
|
|
3996
|
+
'releases.detail.history.field.prompt': 'Prompt',
|
|
3997
|
+
'releases.detail.history.field.trafficMode': 'Traffic mode',
|
|
3998
|
+
'releases.detail.history.field.outputConnectors': 'Downstream connectors',
|
|
3999
|
+
'releases.detail.history.field.noDownstream': 'No downstream connector',
|
|
4000
|
+
'releases.detail.history.field.snapshot': 'Snapshot',
|
|
4001
|
+
'releases.detail.history.change.updated': 'Updated',
|
|
4002
|
+
'releases.detail.history.action.moreInfo': 'View more info for {version}',
|
|
4003
|
+
'releases.detail.history.action.configChanges': 'View config updates for {version}',
|
|
4004
|
+
'releases.detail.history.action.viewResults': 'View run results for {version}',
|
|
4005
|
+
'releases.detail.history.action.createAnnotation': 'Create annotations for {version}',
|
|
4006
|
+
'releases.detail.history.action.moreActions': 'More actions for {version}',
|
|
4007
|
+
'releases.detail.history.action.restore': 'Restore',
|
|
4008
|
+
'releases.detail.history.action.restoring': 'Restoring...',
|
|
4009
|
+
'releases.detail.history.action.restoreSuccess': 'Restored to the matching slot',
|
|
4010
|
+
'releases.detail.history.action.restoreFailed': 'Restore failed. Refresh and try again',
|
|
4011
|
+
'releases.detail.history.action.restoreToProductionReason': 'Restored production config from history {version}',
|
|
4012
|
+
'releases.detail.history.action.restoreToCanaryReason': 'Restored canary config from history {version}',
|
|
4013
|
+
'releases.detail.history.action.expandVersion': 'Expand canary candidates for {version}',
|
|
4014
|
+
'releases.detail.history.action.collapseVersion': 'Collapse canary candidates for {version}',
|
|
3537
4015
|
'releases.detail.history.empty': 'No events on this release line yet',
|
|
3538
4016
|
'releases.new.breadcrumb': 'New',
|
|
3539
4017
|
'releases.new.title': 'New release',
|
|
@@ -3598,7 +4076,9 @@ const dictionaries = {
|
|
|
3598
4076
|
'releases.new.empty.inputConnectors': 'No upstream connectors',
|
|
3599
4077
|
'releases.new.empty.outputConnectors': 'No downstream connectors',
|
|
3600
4078
|
'releases.new.empty.variables': 'This version declares no variables',
|
|
3601
|
-
'releases.new.error.requiredMapping': 'Fill
|
|
4079
|
+
'releases.new.error.requiredMapping': 'Fill variable mappings: {fields}',
|
|
4080
|
+
'releases.new.error.variableMappingMissing': 'Map every prompt variable from an upstream field first: {fields}',
|
|
4081
|
+
'releases.new.error.variableMappingInvalid': 'Field mapping does not match the prompt variables. Check the mapping.',
|
|
3602
4082
|
'releases.new.error.externalIdRequired': 'Queue connectors require an external ID field',
|
|
3603
4083
|
'releases.new.error.invalidFilterRules': 'Filter rules must be a JSON object',
|
|
3604
4084
|
'releases.new.error.createFailed': 'Failed to create release',
|
|
@@ -3893,7 +4373,7 @@ const dictionaries = {
|
|
|
3893
4373
|
'prompts.filter.all': 'All',
|
|
3894
4374
|
'prompts.table.name': 'Name',
|
|
3895
4375
|
'prompts.table.latestVersion': 'Latest version',
|
|
3896
|
-
'prompts.table.
|
|
4376
|
+
'prompts.table.canaryVersion': 'Canary version',
|
|
3897
4377
|
'prompts.table.onlineVersion': 'Published version',
|
|
3898
4378
|
'prompts.table.labels': 'Labels',
|
|
3899
4379
|
'prompts.table.status': 'Status',
|
|
@@ -3902,6 +4382,7 @@ const dictionaries = {
|
|
|
3902
4382
|
'prompts.table.updatedAt': 'Updated',
|
|
3903
4383
|
'prompts.status.editable': 'Editable',
|
|
3904
4384
|
'prompts.status.frozen': 'Frozen',
|
|
4385
|
+
'prompts.status.archived': 'Archived',
|
|
3905
4386
|
'prompts.badge.new': 'New',
|
|
3906
4387
|
'prompts.badge.latest': 'Latest',
|
|
3907
4388
|
'prompts.badge.online': 'Online',
|
|
@@ -3910,18 +4391,19 @@ const dictionaries = {
|
|
|
3910
4391
|
'prompts.action.startOptimization': 'Start optimization',
|
|
3911
4392
|
'prompts.action.moreActions': 'More actions',
|
|
3912
4393
|
'prompts.action.openVersions': 'Open versions',
|
|
4394
|
+
'prompts.action.archive': 'Archive',
|
|
4395
|
+
'prompts.action.restore': 'Restore',
|
|
3913
4396
|
'prompts.action.delete': 'Delete',
|
|
3914
4397
|
'prompts.action.batchDelete': 'Bulk delete',
|
|
3915
4398
|
'prompts.deleteBlockedTitle': 'Delete prompt',
|
|
3916
|
-
'prompts.deleteBlockedDescription': 'This permanently deletes the prompt and its versions
|
|
4399
|
+
'prompts.deleteBlockedDescription': 'This permanently deletes the prompt and its versions, cascades related experiments / optimizations, and stops running release lines while keeping historical release-line snapshots.',
|
|
3917
4400
|
'prompts.deleteBlockedReferences': 'Affected objects',
|
|
3918
4401
|
'prompts.deleteImpactLoading': 'Checking affected objects...',
|
|
3919
|
-
'prompts.deleteImpactEmpty': 'No affected
|
|
4402
|
+
'prompts.deleteImpactEmpty': 'No affected release lines, experiments, or optimizations found.',
|
|
3920
4403
|
'prompts.deleteImpactTitle': 'May be affected',
|
|
4404
|
+
'prompts.deleteImpactReleaseLine': 'Release line',
|
|
3921
4405
|
'prompts.deleteImpactExperiment': 'Experiment',
|
|
3922
4406
|
'prompts.deleteImpactOptimization': 'Optimization',
|
|
3923
|
-
'prompts.deleteImpactCanaryRelease': 'Canary release',
|
|
3924
|
-
'prompts.deleteImpactProductionRelease': 'Production release',
|
|
3925
4407
|
'prompts.time.now': 'just now',
|
|
3926
4408
|
'prompts.variableType.text': 'Text',
|
|
3927
4409
|
'prompts.variableType.image': 'Image',
|
|
@@ -4020,7 +4502,7 @@ const dictionaries = {
|
|
|
4020
4502
|
'prompts.versions.deleteConfirmTitle': 'Delete version',
|
|
4021
4503
|
'prompts.versions.deleteConfirmBody': 'Version {version} will be permanently deleted. Affected experiment / optimization / release pages may stop opening, and releases cannot update from this version. Running production releases keep serving their saved snapshot.',
|
|
4022
4504
|
'prompts.labels.system.latest': 'Latest',
|
|
4023
|
-
'prompts.labels.system.
|
|
4505
|
+
'prompts.labels.system.canary': 'Canary',
|
|
4024
4506
|
'prompts.labels.system.production': 'Production',
|
|
4025
4507
|
'prompts.labels.empty': 'No labels',
|
|
4026
4508
|
'prompts.labels.remove': 'Remove label {label}',
|
|
@@ -4352,7 +4834,8 @@ const dictionaries = {
|
|
|
4352
4834
|
'productionReleases.new.field.submitReason': 'Reason',
|
|
4353
4835
|
'productionReleases.new.field.submitReasonPlaceholder': 'Explain why this release is being deployed',
|
|
4354
4836
|
'productionReleases.new.recordMode.all': 'Keep all',
|
|
4355
|
-
'productionReleases.new.recordMode.correct_only': 'Keep
|
|
4837
|
+
'productionReleases.new.recordMode.correct_only': 'Keep selected output classes',
|
|
4838
|
+
'productionReleases.new.recordMode.selected_categories': 'Keep selected output classes',
|
|
4356
4839
|
'productionReleases.new.required': 'required',
|
|
4357
4840
|
'productionReleases.new.optional': 'optional',
|
|
4358
4841
|
'productionReleases.new.connectorOccupied': 'Connector occupied',
|
|
@@ -4437,6 +4920,7 @@ const dictionaries = {
|
|
|
4437
4920
|
'datasets.role.expected': 'Expected output',
|
|
4438
4921
|
'datasets.role.metadata': 'Metadata',
|
|
4439
4922
|
'datasets.status.deleted': 'Deleted',
|
|
4923
|
+
'datasets.status.archived': 'Archived',
|
|
4440
4924
|
'datasets.category.classes': 'classes',
|
|
4441
4925
|
'datasets.category.noCategoryField': 'No label column',
|
|
4442
4926
|
'datasets.category.openOutput': 'Expected output not configured',
|
|
@@ -4471,6 +4955,8 @@ const dictionaries = {
|
|
|
4471
4955
|
'datasets.action.startOptimization': 'Start optimization',
|
|
4472
4956
|
'datasets.action.editName': 'Edit name',
|
|
4473
4957
|
'datasets.action.more': 'More',
|
|
4958
|
+
'datasets.action.archive': 'Archive',
|
|
4959
|
+
'datasets.action.restore': 'Restore',
|
|
4474
4960
|
'datasets.action.delete': 'Delete',
|
|
4475
4961
|
'datasets.action.appendSamples': 'Append samples',
|
|
4476
4962
|
'datasets.action.saveChanges': 'Save changes',
|
|
@@ -4478,13 +4964,19 @@ const dictionaries = {
|
|
|
4478
4964
|
'datasets.action.replaceImage': 'Replace image',
|
|
4479
4965
|
'datasets.action.replaceFile': 'Replace file',
|
|
4480
4966
|
'datasets.deleteConfirmTitle': 'Delete dataset',
|
|
4481
|
-
'datasets.deleteConfirmDescription': 'This
|
|
4967
|
+
'datasets.deleteConfirmDescription': 'This permanently deletes the dataset and its samples, cascades related experiments / optimizations, and cannot be undone.',
|
|
4482
4968
|
'datasets.deleteConfirmButton': 'Confirm delete',
|
|
4483
4969
|
'datasets.deletePending': 'Deleting...',
|
|
4484
4970
|
'datasets.deleteReferencedError': 'This dataset is now referenced by experiments / optimizations and cannot be deleted. Refresh the list to see the latest references.',
|
|
4485
4971
|
'datasets.deleteFailed': 'Failed to delete dataset. Try again later.',
|
|
4486
4972
|
'datasets.deleteBlockedTitle': 'Cannot delete this dataset',
|
|
4487
4973
|
'datasets.deleteBlockedDescription': 'This dataset is referenced by experiments / optimizations, so deletion will be rejected. Stop those references before deleting.',
|
|
4974
|
+
'datasets.deleteImpactTitle': 'Deletion impact',
|
|
4975
|
+
'datasets.deleteImpactLoading': 'Checking affected objects...',
|
|
4976
|
+
'datasets.deleteImpactEmpty': 'No experiments or optimizations will be cascaded.',
|
|
4977
|
+
'datasets.deleteImpactExperiment': 'Experiment',
|
|
4978
|
+
'datasets.deleteImpactOptimization': 'Optimization',
|
|
4979
|
+
'datasets.deleteImpactMore': '{count} more objects',
|
|
4488
4980
|
'datasets.editNameTitle': 'Edit dataset details',
|
|
4489
4981
|
'datasets.editNameDescription': 'The updated name and description will sync to list and detail pages immediately.',
|
|
4490
4982
|
'datasets.editNameDuplicate': 'Another dataset in this instance already uses this name.',
|
|
@@ -4900,10 +5392,9 @@ const dictionaries = {
|
|
|
4900
5392
|
'experiments.detail.samples.col.createdAt': 'Created at',
|
|
4901
5393
|
'experiments.detail.samples.image.failed': 'Failed to load',
|
|
4902
5394
|
'experiments.detail.samples.error': 'Failed',
|
|
5395
|
+
'experiments.runResult.status.running': 'Running',
|
|
4903
5396
|
'experiments.runResult.status.success': 'Success',
|
|
4904
|
-
'experiments.runResult.status.
|
|
4905
|
-
'experiments.runResult.status.timeout': 'Timed out',
|
|
4906
|
-
'experiments.runResult.status.rateLimited': 'Rate limited',
|
|
5397
|
+
'experiments.runResult.status.failed': 'Failed',
|
|
4907
5398
|
'experiments.runResult.judgment.correct': 'Correct',
|
|
4908
5399
|
'experiments.runResult.judgment.incorrect': 'Incorrect',
|
|
4909
5400
|
'experiments.runResult.judgment.parseError': 'Parse error',
|
|
@@ -5477,6 +5968,10 @@ const dictionaries = {
|
|
|
5477
5968
|
'canaryReleases.new.mapping.required': 'required',
|
|
5478
5969
|
'canaryReleases.new.mapping.optional': 'optional',
|
|
5479
5970
|
'canaryReleases.new.mapping.unmapped': 'not mapped',
|
|
5971
|
+
'canaryReleases.new.mapping.sourceSearch': 'Search upstream fields',
|
|
5972
|
+
'canaryReleases.new.mapping.sourceEmpty': 'No matching upstream field',
|
|
5973
|
+
'canaryReleases.new.mapping.targetSearch': 'Search prompt variables',
|
|
5974
|
+
'canaryReleases.new.mapping.targetEmpty': 'No matching prompt variable',
|
|
5480
5975
|
'canaryReleases.new.field.outputMapping': 'Output mapping',
|
|
5481
5976
|
'canaryReleases.new.field.outputMappingHelp': 'Prompt output fields → downstream fields',
|
|
5482
5977
|
'canaryReleases.new.field.outputMappingUnavailable': 'Output mapping is not available yet; model output will be sent with the default structure.',
|
|
@@ -5509,29 +6004,27 @@ const dictionaries = {
|
|
|
5509
6004
|
'canaryReleases.new.field.targetDataset': 'Target dataset',
|
|
5510
6005
|
'canaryReleases.new.field.targetDatasetHelp': 'Canary results are appended to this dataset (stream type recommended)',
|
|
5511
6006
|
'canaryReleases.new.field.recordCategories': 'Record mode',
|
|
5512
|
-
'canaryReleases.new.field.recordCategoriesHelp': 'Select
|
|
6007
|
+
'canaryReleases.new.field.recordCategoriesHelp': 'Select the classes to record from the current prompt output schema expected_output values. All are selected by default.',
|
|
5513
6008
|
'canaryReleases.new.field.recordCategoriesEmpty': 'This prompt version does not declare a recognizable judgment enum',
|
|
5514
6009
|
'canaryReleases.new.field.recordCategoriesSelected': '{count} categories selected',
|
|
5515
6010
|
'canaryReleases.new.field.recordCategoriesSelectAll': 'Select all',
|
|
5516
6011
|
'canaryReleases.new.field.recordCategoriesClear': 'Clear',
|
|
5517
6012
|
'canaryReleases.new.field.termination': 'Termination',
|
|
5518
|
-
'canaryReleases.new.field.terminationHelp': '
|
|
6013
|
+
'canaryReleases.new.field.terminationHelp': 'Manual stop is the default; time and sample count can both be selected, and the first reached condition stops the canary',
|
|
5519
6014
|
'canaryReleases.new.field.termination.manual': 'Manual stop',
|
|
5520
|
-
'canaryReleases.new.field.termination.manualHelp': 'No automatic condition is set; stop manually from the detail page',
|
|
5521
|
-
'canaryReleases.new.field.termination.autoHelp': 'Stops when any condition is met; manual stop remains available',
|
|
5522
6015
|
'canaryReleases.new.field.termination.maxDuration': 'Max duration (seconds)',
|
|
5523
6016
|
'canaryReleases.new.field.termination.maxSamples': 'Max samples',
|
|
5524
6017
|
'canaryReleases.new.field.termination.maxDurationPlaceholder': 'blank',
|
|
5525
6018
|
'canaryReleases.new.field.termination.maxSamplesPlaceholder': 'blank',
|
|
5526
6019
|
'canaryReleases.new.field.termination.byTime': 'By time',
|
|
5527
6020
|
'canaryReleases.new.field.termination.byCount': 'By sample count',
|
|
5528
|
-
'canaryReleases.new.field.termination.byFailureRate': 'By failure rate',
|
|
5529
6021
|
'canaryReleases.new.field.runMode': 'Run mode',
|
|
5530
6022
|
'canaryReleases.new.field.runMode.fixed': 'Fixed duration',
|
|
5531
6023
|
'canaryReleases.new.field.runMode.manual': 'Manual',
|
|
5532
6024
|
'canaryReleases.new.field.recordMode': 'Record mode',
|
|
5533
6025
|
'canaryReleases.new.field.recordMode.all': 'Record all',
|
|
5534
|
-
'canaryReleases.new.field.recordMode.correct': '
|
|
6026
|
+
'canaryReleases.new.field.recordMode.correct': 'Record selected output classes',
|
|
6027
|
+
'canaryReleases.new.field.recordMode.selectedCategories': 'Record selected output classes',
|
|
5535
6028
|
'canaryReleases.new.field.externalIdField': 'External ID field',
|
|
5536
6029
|
'canaryReleases.new.field.externalIdFieldHelp': 'The upstream field that uniquely identifies each call',
|
|
5537
6030
|
'canaryReleases.new.field.runConfig.rpm': 'RPM limit',
|
|
@@ -5579,7 +6072,6 @@ const dictionaries = {
|
|
|
5579
6072
|
'canaryReleases.detail.config.durationLimit': 'Duration limit',
|
|
5580
6073
|
'canaryReleases.detail.config.durationDays': '{days} days',
|
|
5581
6074
|
'canaryReleases.detail.config.sampleLimit': 'Sample limit',
|
|
5582
|
-
'canaryReleases.detail.config.failureRateLimit': 'Failure-rate limit',
|
|
5583
6075
|
'canaryReleases.detail.config.targetDataset': 'Target dataset',
|
|
5584
6076
|
'canaryReleases.detail.config.storageCategories': 'Storage categories',
|
|
5585
6077
|
'canaryReleases.detail.config.allCategories': 'All',
|