zh-CN.ts
20.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
export default {
app: {
seo: {
title: '机器人生产管理看板',
description: '用于机器人装配、测试、异常、返修与追溯管理的生产运营看板。'
},
error: {
title: '页面未找到',
description: '抱歉,未找到该页面。'
}
},
common: {
error: '错误',
requestFailed: '请求失败,请稍后重试。',
language: '语言',
english: 'English',
chinese: '中文',
saveChanges: '保存更改',
choose: '选择',
cancel: '取消',
create: '创建',
delete: '删除',
update: '更新',
send: '发送',
saveDraft: '保存草稿',
accept: '接受',
optOut: '拒绝',
invitePeople: '邀请成员',
newCustomer: '新建客户',
advancedQuery: '高级查询',
collapseQuery: '收起筛选'
},
layout: {
nav: {
home: '首页',
production: '生产执行',
workOrders: '工单管理',
snManagement: 'SN管理',
operations: '工序执行台',
inbox: '收件箱',
customers: '客户',
baseInfo: '基础信息',
deviceTypes: '设备类型',
settings: '设置',
general: '通用',
members: '成员',
notifications: '通知',
security: '安全',
feedback: '反馈',
helpSupport: '帮助与支持'
},
search: {
goTo: '前往',
code: '代码',
viewPageSource: '查看页面源码'
},
cookie: {
title: '我们使用第一方 Cookie 来优化您的网站使用体验。'
}
},
notifications: {
title: '通知',
messageMap: {
sentMessage: '给你发送了一条消息',
subscribedEmailList: '订阅了你的邮件列表',
addedProject: '将你加入了一个项目',
abandonedCart: '放弃了购物车',
purchasedProduct: '购买了你的产品',
requestedRefund: '发起了退款请求'
}
},
teams: {
createTeam: '创建团队',
manageTeams: '管理团队'
},
userMenu: {
profile: '个人资料',
billing: '账单',
settings: '设置',
theme: '主题',
primary: '主色',
neutral: '中性色',
appearance: '外观',
light: '浅色',
dark: '深色',
templates: '模板',
starter: '起始模板',
landing: '落地页',
docs: '文档站',
saas: 'SaaS',
dashboard: '仪表盘',
chat: '聊天',
portfolio: '作品集',
changelog: '更新日志',
documentation: '文档',
githubRepository: 'GitHub 仓库',
defaultName: '未登录用户',
logout: '退出登录',
logoutSuccessTitle: '已退出登录',
logoutSuccessDescription: '当前会话已结束。'
},
login: {
badge: '生产系统访问',
title: '登录机器人生产管理系统',
description: '请输入账号密码以访问工单、工序、测试、异常和追溯等业务模块。',
form: {
title: '账号登录',
description: '登录后将根据角色加载对应菜单与页面权限。',
username: '用户名',
usernamePlaceholder: '请输入用户名',
password: '密码',
passwordPlaceholder: '请输入密码',
submit: '登录'
},
demo: {
title: '示例账号(Mock)',
admin: '管理员:admin / 123456',
operator: '操作员:operator / 123456'
},
validation: {
usernameRequired: '请输入用户名',
passwordRequired: '请输入密码'
},
errors: {
title: '登录失败',
validation: '用户名和密码不能为空。',
invalidCredentials: '用户名或密码错误。',
requestFailed: '登录请求失败,请稍后重试。'
},
toast: {
successTitle: '登录成功',
successDescription: '欢迎回来,{name}。'
}
},
home: {
title: '生产总览看板',
actions: {
refresh: '手动刷新',
export: '汇总导出'
},
dateRange: {
pickDate: '选择日期',
last7Days: '近 7 天',
last14Days: '近 14 天',
last30Days: '近 30 天',
last3Months: '近 3 个月',
last6Months: '近 6 个月',
lastYear: '近 1 年'
},
filters: {
lineAll: '全部产线',
workOrderStatusAll: '全部工单状态'
},
workOrderStatus: {
pending_dispatch: '待派工',
running: '执行中',
pending_qc: '待质检',
in_exception: '异常中',
completed: '已完成'
},
metrics: {
workOrders: {
total: '工单总数',
running: '执行中',
pendingQc: '待质检',
inException: '异常中'
},
sn: {
completed: 'SN完工数',
inProcess: '在制数',
frozen: '冻结数'
},
quality: {
firstPassRate: '首测通过率',
retestPassRate: '复测通过率',
exceptionRate: '异常率'
}
},
table: {
title: '最近工单进展',
description: '展示当前筛选条件下的最新工单执行概况。',
count: '共 {count} 条',
orderNo: '工单号',
line: '产线',
status: '状态',
plannedDate: '计划日期',
progress: '完成进度',
empty: '当前筛选条件下暂无工单数据。'
},
export: {
successTitle: '导出成功',
successDescription: '汇总文件已生成并开始下载。'
}
},
workOrders: {
title: '工单管理',
actions: {
new: '新建工单',
editDraft: '编辑草稿',
dispatch: '下达',
pause: '暂停',
resume: '恢复',
close: '关闭'
},
status: {
draft: '草稿',
pending_dispatch: '待派工',
running: '执行中',
paused: '暂停中',
pending_qc: '待质检',
completed: '已完成',
closed: '已关闭'
},
filters: {
orderNo: '工单号',
deviceCode: '设备编号',
deviceCodeAll: '全部设备类型',
batchNo: '批次',
owner: '责任人',
ownerAll: '全部责任人',
status: '状态',
statusAll: '全部状态',
plannedStart: '计划开始',
plannedEnd: '计划结束'
},
table: {
actions: '操作',
selectAll: '全选',
selectRow: '选择行',
orderNo: '工单号',
deviceCode: '设备编号',
batchNo: '批次',
line: '产线',
owner: '责任人',
status: '状态',
progress: '完成率',
plannedDate: '计划日期',
audit: '审计信息',
selectedRows: '已选择 {selected} / {total} 行。'
},
form: {
createTitle: '新建工单',
createDescription: '创建工单草稿,后续可编辑并下达。',
editTitle: '编辑工单草稿',
editDescription: '仅草稿状态可编辑,变更将写入审计记录。',
fields: {
orderNo: '工单号',
deviceCode: '设备编号',
batchNo: '批次号',
line: '产线',
owner: '责任人',
plannedDate: '计划日期',
totalSn: '总SN数量'
},
validation: {
required: '该字段不能为空',
orderNoMax: '工单号不能超过 {max} 个字符',
deviceCodeMax: '设备编号不能超过 {max} 个字符',
batchNoMax: '批次号不能超过 {max} 个字符',
lineMax: '产线不能超过 {max} 个字符',
totalSnPositive: '总SN数量必须大于 0'
}
}
},
snManagement: {
title: 'SN管理',
actions: {
import: '批量导入',
freeze: '冻结',
unfreeze: '解冻',
scrap: '报废',
flowDetail: '流程详情入口',
reasonRequired: '请填写操作原因。',
reasonLabel: '操作原因',
reasonPlaceholder: '请输入冻结/解冻/报废原因'
},
status: {
pending: '待开工',
in_process: '在制',
completed: '已完工',
frozen: '已冻结',
scrapped: '已报废'
},
exceptionStatus: {
none: '无异常',
open: '异常处理中',
rework: '返修中',
closed: '已闭环'
},
filters: {
sn: 'SN',
workOrderNo: '工单号',
status: '状态',
statusAll: '全部状态',
currentStep: '当前工序',
exceptionStatus: '异常状态',
exceptionStatusAll: '全部异常状态'
},
table: {
actions: '操作',
selectAll: '全选',
selectRow: '选择行',
sn: 'SN',
workOrderNo: '工单号',
status: '状态',
currentStep: '当前工序',
exceptionStatus: '异常状态',
reason: '原因',
audit: '审计信息',
selectedRows: '已选择 {selected} / {total} 行。'
},
import: {
title: '批量导入 SN',
description: '支持按行或分隔符批量导入 SN,重复 SN 将自动跳过。',
workOrderNo: '工单号',
currentStep: '当前工序',
snList: 'SN 列表',
workOrderPlaceholder: '如:WO-202605-001',
currentStepPlaceholder: '如:装配',
snListPlaceholder: '每行一个 SN,或使用逗号/空格分隔',
validation: '请填写工单号、当前工序和 SN 列表。'
},
flow: {
title: 'SN流程详情',
operatorLabel: '操作人',
timeLabel: '操作时间',
directionLabel: '状态流转方向',
initialStatus: '初始状态',
empty: '暂无流程记录。'
}
},
operations: {
title: '工序执行台',
filters: {
workstation: '工位',
stepName: '工序',
operator: '操作员',
status: '任务状态',
statusAll: '全部状态',
sn: 'SN'
},
status: {
pending: '待开始',
in_progress: '进行中',
pending_test: '待测试',
failed: '测试失败',
rework: '返修中',
completed: '已完成',
skipped: '已跳过'
},
result: {
pending: '待提交',
pass: '通过',
fail: '失败'
},
actions: {
start: '开工',
complete_assembly: '完成装配',
complete_rework: '完成返修',
complete_repair: '完成维修',
submit_test: '提交测试',
skip: '跳过工序',
audit: '任务审计记录',
testResult: '测试结果',
remarkLabel: '备注',
remarkPlaceholder: '请输入操作备注或跳过原因',
skipReasonRequired: '跳过工序必须填写原因。'
},
table: {
actions: '操作',
selectAll: '全选',
selectRow: '选择行',
taskId: '任务ID',
workOrderSn: '工单号 / SN',
stepName: '工序',
workstationDevice: '工位 / 设备',
operator: '操作员',
timeRange: '开始 ~ 结束时间',
result: '结果',
status: '状态',
nextAction: '下一步动作',
selectedRows: '已选择 {selected} / {total} 行。'
},
nextAction: {
start: '可开工',
complete_assembly: '可完成装配',
complete_rework: '可完成返修',
submit_test: '可提交测试',
create_exception: '需创建异常',
go_next_step: '流转下一工序',
audit_review: '需审计复核'
},
audit: {
title: '任务审计记录',
operatorLabel: '操作人',
timeLabel: '操作时间',
directionLabel: '状态流转方向',
initialStatus: '初始状态',
empty: '暂无审计记录。'
}
},
inbox: {
title: '收件箱',
tabs: {
all: '全部',
unread: '未读'
},
actions: {
archive: '归档',
reply: '回复',
attachFile: '添加附件',
markAsUnread: '标记为未读',
markAsImportant: '标记为重要',
starThread: '收藏会话',
muteThread: '静音会话'
},
compose: {
replyTo: '回复给 {name}({email})',
placeholder: '请输入回复内容...'
},
toast: {
sentTitle: '邮件已发送',
sentDescription: '你的邮件已成功发送'
}
},
customers: {
title: '客户',
table: {
actions: '操作',
copyCustomerId: '复制客户 ID',
copiedTitle: '已复制到剪贴板',
copiedDescription: '客户 ID 已复制到剪贴板',
viewDetails: '查看客户详情',
viewPayments: '查看客户付款记录',
deleteCustomer: '删除客户',
deletedTitle: '客户已删除',
deletedDescription: '该客户已删除。',
selectAll: '全选',
selectRow: '选择行',
id: 'ID',
name: '姓名',
email: '邮箱',
location: '地区',
status: '状态',
display: '显示列',
filterEmails: '筛选邮箱...',
filterStatus: '筛选状态',
selectedRows: '已选择 {selected} / {total} 行。'
},
status: {
all: '全部',
subscribed: '已订阅',
unsubscribed: '未订阅',
bounced: '退信'
},
addModal: {
title: '新建客户',
description: '向数据库新增一个客户',
name: '姓名',
email: '邮箱',
namePlaceholder: '张三',
emailPlaceholder: 'zhangsan@example.com',
successTitle: '成功',
successDescription: '已新增客户 {name}'
},
deleteModal: {
title: '删除 {count} 个客户',
description: '确认删除吗?此操作不可撤销。'
}
},
deviceTypes: {
title: '设备类型管理',
actions: {
new: '新建设备类型',
edit: '编辑设备类型',
delete: '删除设备类型'
},
filters: {
searchPlaceholder: '搜索设备名称 / 型号 / 类型',
allCategoryEnums: '全部枚举类',
categoryEnumPlaceholder: '设备枚举类',
allBattery: '电池属性:全部',
hasBattery: '含电池',
noBattery: '不含电池',
batteryPlaceholder: '电池属性'
},
categoryEnum: {
robot: '机器人',
controller: '控制器',
vision: '视觉',
chassis: '底盘',
communication: '通信',
power: '电源',
sensor: '传感器',
actuator: '执行器',
other: '其他'
},
battery: {
yes: '含电池',
no: '不含电池'
},
table: {
actions: '操作',
selectAll: '全选',
selectRow: '选择行',
id: 'ID',
name: '设备名称',
model: '型号',
categoryEnum: '枚举类',
size: '长×宽×高(mm)',
weightKg: '重量(kg)',
hasBattery: '是否含电池',
updatedAt: '更新时间',
display: '显示列',
selectedRows: '已选择 {selected} / {total} 行。'
},
form: {
createTitle: '新建设备类型',
createDescription: '录入设备主数据,供工艺与追溯环节引用。',
editTitle: '编辑设备类型',
editDescription: '更新设备类型属性,变更将影响后续新工单配置。',
fields: {
name: '设备名称',
model: '型号',
categoryEnum: '枚举类',
lengthMm: '长度(mm)',
widthMm: '宽度(mm)',
heightMm: '高度(mm)',
weightKg: '重量(kg)',
hasBattery: '是否含电池',
dimensionPreview: '尺寸预览',
batterySpec: '电池规格',
description: '备注'
},
placeholders: {
name: '如:协作机械臂控制柜',
model: '如:RPS-CB-500',
categoryEnum: '请选择设备枚举类',
lengthMm: '请输入长度',
widthMm: '请输入宽度',
heightMm: '请输入高度',
weightKg: '请输入重量',
batterySpec: '如:48V 40Ah 磷酸铁锂',
description: '可填写使用场景、注意事项等'
},
hints: {
name: '建议与工艺/测试规范中的命名保持一致。',
model: '建议填写企业内统一型号编码。',
categoryEnum: '用于统一数据标准、筛选与统计。',
weightKg: '单位为 kg,支持 1 位小数。',
hasBattery: '如设备内置或外接电池,请勾选。',
batterySpec: '示例:24V 15Ah 锂电。',
description: '用于补充设备识别信息,最多 {max} 字。',
noChanges: '当前未修改任何字段。'
},
validation: {
required: '该字段不能为空',
positive: '请输入大于 0 的数值',
batterySpecRequired: '含电池设备必须填写电池规格',
nameTooLong: '设备名称不能超过 {max} 个字符',
modelTooLong: '型号不能超过 {max} 个字符',
batterySpecTooLong: '电池规格不能超过 {max} 个字符',
descriptionTooLong: '备注不能超过 {max} 个字符',
sizeTooLarge: '尺寸不能超过 {max} mm',
weightTooLarge: '重量不能超过 {max} kg'
}
},
deleteModal: {
title: '删除 {count} 个设备类型',
description: '删除后无法恢复,且可能影响后续业务引用。请确认操作。'
},
toast: {
batchDeleted: '已删除 {count} 个设备类型。'
}
},
permission: {
denied: '当前操作无权限。',
pageNotManaged: '该页面未纳入权限配置。',
pageDenied: '你没有访问此页面的权限。',
buttonDenied: '你没有执行该操作的权限。',
toast: {
title: '权限受限'
},
forbidden: {
badge: '403 访问受限',
title: '无权访问该页面',
description: '你的角色未被授权访问当前页面。如需开通,请联系系统管理员。',
fromTitle: '尝试访问路径',
backHome: '返回首页',
goBack: '返回上一页'
}
},
settings: {
title: '设置',
nav: {
general: '通用',
members: '成员',
notifications: '通知',
security: '安全',
documentation: '文档'
},
profile: {
title: '个人资料',
description: '这些信息将会公开显示。',
name: '姓名',
nameDesc: '将展示在收据、发票和其他沟通内容中。',
email: '邮箱',
emailDesc: '用于登录、邮件回执和产品更新通知。',
username: '用户名',
usernameDesc: '用于登录和个人资料链接的唯一用户名。',
avatar: '头像',
avatarDesc: '支持 JPG、GIF 或 PNG,最大 1MB。',
bio: '简介',
bioDesc: '你的个人简介,链接会自动识别。',
toastTitle: '成功',
toastDesc: '设置已更新。',
validation: {
tooShort: '长度太短',
invalidEmail: '邮箱格式不正确'
}
},
members: {
title: '成员',
description: '通过邮箱地址邀请新成员。',
searchPlaceholder: '搜索成员',
editMember: '编辑成员',
removeMember: '移除成员',
inviteModal: {
title: '邀请成员',
description: '填写成员信息并分配角色。',
submit: '发送邀请'
},
editModal: {
title: '编辑成员',
description: '更新成员资料与角色。',
submit: '保存成员'
},
roleLabel: '角色',
role: {
member: '成员',
admin: '管理员',
customer: '客户'
}
},
notifications: {
sections: {
channels: {
title: '通知渠道',
description: '我们通过哪些渠道通知你?'
},
account: {
title: '账户更新',
description: '接收有关 Nuxt UI 的更新通知。'
}
},
fields: {
email: {
label: '邮件',
description: '每天接收一封摘要邮件。'
},
desktop: {
label: '桌面通知',
description: '接收桌面通知。'
},
weeklyDigest: {
label: '每周摘要',
description: '每周接收新闻摘要。'
},
productUpdates: {
label: '产品更新',
description: '每月接收包含新功能与更新的邮件。'
},
importantUpdates: {
label: '重要更新',
description: '接收安全修复、维护等重要通知邮件。'
}
}
},
security: {
password: {
title: '密码',
description: '设置新密码前,请先确认当前密码。',
currentPlaceholder: '当前密码',
newPlaceholder: '新密码',
update: '更新',
validation: {
minLength: '至少 8 个字符',
different: '新旧密码不能相同'
}
},
account: {
title: '账号',
description: '如果你不再使用该服务,可以在这里删除账号。此操作不可逆,账号相关的所有信息将被永久删除。',
delete: '删除账号'
}
}
}
} as const