2026-03-26 09:34:26 +08:00

664 lines
26 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export const zhCN = {
common: {
cancel: '取消',
confirm: '确认',
delete: '删除',
close: '关闭',
clear: '清空'
},
app: {
projectConflict: {
title: '检测到项目重复打开',
desc: '项目「{name}」已在其他页面处于活跃状态。为避免 IndexedDB 数据冲突,本页面已阻断编辑。',
countdown: '本页将在 {seconds} 秒后自动尝试关闭。你也可以先在新标签页打开其他项目。',
opened: '(已打开)',
lastEdited: '最后编辑:{time}',
openDefault: '打开默认项目',
createAndOpen: '新建项目并打开'
}
},
home: {
title: '计算入口',
subtitle: '项目计算 · 单项速算 · 导入数据',
projectCalcTab: '项目计算',
quickCalcTab: '快速计算',
cards: {
heroTitle: '智能预算一键生成',
heroSubTitle: '助力《规范》高效落地',
heroDesc: '交通建设项目工程造价咨询服务费计算',
projectBudget: '项目预算',
projectBudgetDesc: '适用于多合同段、项目级整体计算,支持导出/导入完整项目数据',
quickCalc: '单项速算',
quickCalcDesc: '适用于单项服务试算,选择行业、咨询类型、工程专业,输入基数秒出结果',
importData: '导入数据',
importDataDesc: '导入".zw"数据包,快速恢复项目计算状态,续未完成工作',
enter: '进入计算',
pickFile: '选择文件'
},
dialog: {
newProject: '新建项目',
chooseIndustryDesc: '选择工程行业后,直接进入项目计算页面。',
industry: '工程行业',
selectIndustry: '请选择工程行业',
entering: '进入中...',
enterProjectCalc: '进入项目计算',
confirmImport: '确认导入数据',
confirmImportDesc: '将导入“{file}”,并立即进入工作台覆盖当前项目数据。',
confirmImportAction: '确认导入'
}
},
tab: {
toolbar: {
light: '浅色',
dark: '深色',
language: '语言',
importExport: '导入/导出',
importData: '导入数据',
exportData: '导出数据',
exportReport: '导出报表',
userGuide: '使用引导',
reset: '重置',
resetting: '重置中...',
projectList: '项目列表',
projectCount: '项目数量:{count}',
createProject: '新建项目',
resetAll: '重置全部项目',
opened: '(已打开)',
lastEdited: '最后编辑:{time}'
},
menu: {
closeAll: '删除所有',
closeLeft: '删除左侧',
closeRight: '删除右侧',
closeOther: '删除其他'
},
dialog: {
resetTitle: '确认重置',
resetDesc: '将清空全部项目数据,并恢复默认页面,确认继续吗?',
confirmReset: '确认重置',
importOverrideTitle: '确认导入覆盖',
importOverrideDesc: '将使用“{file}”覆盖当前本地全部数据,是否继续?',
confirmOverride: '确认覆盖',
newProjectTitle: '新建项目',
newProjectDesc: '选择工程行业后,将在新标签页直接打开新项目计算页面。',
createAndOpen: '新建并打开',
creating: '创建中...',
projectLimitTitle: '项目数量已达上限',
projectLimitDesc: '当前项目数量已达到 {max} 个,请先删除一个项目后再添加。',
iKnow: '我知道了',
deleteProjectTitle: '确认删除项目',
deleteCurrentProjectDesc: '确认删除当前项目「{name}」吗?将先清空该项目全部本地数据并返回首页。',
deleteProjectDesc: '确认删除项目「{name}」吗?这会移除该项目本地数据。'
},
guide: {
title: '新用户引导',
later: '稍后再看',
prev: '上一步',
next: '下一步',
finish: '完成并不再自动弹出',
jumpToStep: '跳转到第 {index} 步',
steps: {
step1: {
title: '欢迎使用',
description: '这个引导会覆盖系统主要功能和完整使用路径,建议按顺序走一遍。',
point1: '顶部是标签页区,可在项目、合同段、服务计算页之间快速切换。',
point2: '页面里的表格与表单会自动保存到本地,无需手动点击保存。',
point3: '你可以随时点击右上角“使用引导”重新打开本教程。'
},
step2: {
title: '项目卡片与四个模块',
description: '默认标签“项目卡片”是入口,左侧流程线包含四个项目级功能。',
point1: '基础信息:填写项目名称与项目规模明细。',
point2: '合同段管理:新建、排序、搜索、导入/导出合同段。',
point3: '咨询分类系数 / 工程专业系数:维护系数预算取值和备注。'
},
step3: {
title: '基础信息填写',
description: '先在“基础信息”中补齐项目级数据,再进入后续合同段计算。',
point1: '项目名称会用于导出文件名和页面展示。',
point2: '项目明细表支持直接编辑、复制粘贴、撤销重做。',
point3: '分组行自动汇总,顶部固定行显示总合计。'
},
step4: {
title: '合同段管理',
description: '在“合同段管理”中完成合同段生命周期操作。',
point1: '“添加合同段”用于新增,卡片右上角可编辑或删除。',
point2: '支持搜索、网格/列表切换,非搜索状态可拖拽排序。',
point3: '更多菜单可导入/导出合同段;点击卡片进入该合同段详情。'
},
step5: {
title: '合同段详情',
description: '进入合同段后,左侧同样是流程线,包含规模信息和咨询服务两部分。',
point1: '规模信息:按工程专业填写当前合同段的规模数据。',
point2: '咨询服务:选择服务词典并生成服务费用明细。',
point3: '合同段页面会独立缓存,不同合同段互不干扰。'
},
step6: {
title: '咨询服务与计算页',
description: '咨询服务页面用于管理服务明细,并进入具体计费方法页面。',
point1: '先点击“浏览”选择服务,再确认生成明细行。',
point2: '明细表“编辑”可打开服务计算页,“清空”会重置该服务计算结果。',
point3: '服务计算页包含投资规模法、用地规模法、工作量法、工时法四种方法。'
},
step7: {
title: '系数维护',
description: '项目级系数用于调节预算取值,可在两个系数页分别维护。',
point1: '咨询分类系数页:按咨询分类维护预算取值与说明。',
point2: '工程专业系数页:按专业树维护预算取值与说明。',
point3: '支持批量粘贴、撤销重做,便于一次性维护多行数据。'
},
step8: {
title: '数据管理与恢复',
description: '顶部工具栏负责全量数据导入导出与初始化重置。',
point1: '“导入/导出”是整项目级别的数据包操作。',
point2: '“重置”会清空本地全部数据并恢复默认页面。',
point3: '建议在重要调整前先导出备份。'
}
}
},
toast: {
export: '导出报表',
success: '导出成功',
failed: '导出失败'
},
messages: {
defaultProjectLabel: '默认项目',
defaultProjectName: '造价项目',
projectNamePrefix: '项目-{id}',
contractFallbackName: '合同段-{index}',
reportFileSuffix: '预算文件',
reportGenerating: '正在生成报表文件...',
reportExportDone: '报表导出完成',
reportExportFailedRetry: '报表导出失败,请重试',
importFailedTitle: '导入失败',
importProjectIdMissing: '该数据包不包含项目标识(旧版本导出包),为避免串项目已禁止导入。',
importProjectMismatch: '该数据包属于其他项目,不能覆盖当前项目。',
importInvalidFile: '文件无效、已损坏或被修改。',
importWriteError: '写入本地数据时发生错误。',
openFile: '打开文件'
}
},
typeLine: {
copy: '复制',
copied: '已复制',
copyFailed: '复制失败',
brandAlt: '众为咨询',
supportText: '本网站由众为工程咨询有限公司提供免费技术支持',
aboutTitle: '关于我们',
companyName: '众为工程咨询有限公司',
openOfficialSiteAria: '跳转到官网首页',
officialSiteTitle: '官网首页',
aboutParagraph1: '众为工程咨询有限公司 2009 年成立,专注工程造价与工程成本管控全过程咨询,是广东省政府审计入库优选单位。公司服务覆盖多领域、全类型客户,累计服务投资额超万亿元,深度参与港珠澳大桥、澳门大学横琴校区等国家级重点工程,参编三十余项国家及省市行业标准。',
aboutParagraph2: '公司立足大湾区,布局全球,设有澳门公司、斯里兰卡分公司,具备跨境与海外项目服务能力,以十五年专业沉淀、万亿级项目经验,为客户提供精准、可靠的工程咨询服务。'
},
agGrid: {
resetDefault: '恢复默认值'
},
ht: {
title: '合同段列表',
projectTotalBudget: '项目总预算金额:{amount}',
budgetLoading: '计算中...',
selectedCount: '已选 {count} 个',
exportSelected: '导出已选',
deleteSelected: '删除已选',
cancelSelect: '取消',
addContract: '添加合同段',
batchDelete: '批量删除',
exportContracts: '导出合同段',
importContracts: '导入合同段',
searchPlaceholder: '搜索合同段名称或ID',
clearFilter: '清空筛选',
searchingHint: '搜索中({filtered} / {total}),已关闭拖拽排序',
selectModeExportHint: '导出选择模式:勾选合同段后点击“导出已选”',
selectModeDeleteHint: '删除选择模式:勾选合同段后点击“删除已选”',
setupRequiredHint: '请先在“基础信息”里新建项目并选择工程行业后,再新增或导入合同段',
listLayout: '列表布局',
gridLayout: '网格布局',
dragSort: '拖动排序',
dragSortSearchOff: '拖动排序(搜索时关闭)',
edit: '编辑',
remove: '删除',
idLabel: 'ID{id}',
contractBudget: '预算:{amount}',
contractBudgetLine: '本合同预算金额:{amount}',
createdAt: '创建时间:{time}',
emptyTitle: '暂无合同卡片',
emptyDesc: '赶紧来添加吧',
notFound: '未找到匹配的合同段',
backToTop: '回到顶部',
editContract: '编辑合同段',
createContract: '新增合同段',
contractTabTitle: '合同段{name}',
contractName: '合同段名称',
contractNamePlaceholder: '请输入合同段名称',
save: '保存',
ok: '确定',
toastSuccessTitle: '操作成功',
createSuccess: '新建成功',
editSuccess: '编辑成功',
deleteSuccess: '删除成功',
sortDone: '排序完成',
exportSuccess: '导出成功({count} 个合同段)',
importSuccess: '导入成功({count} 个合同段)',
deleteBatchSuccess: '删除成功({count} 个合同段)',
tipTitle: '提示',
exportFailedTitle: '导出失败',
importFailedTitle: '导入失败',
batchDeleteFailedTitle: '批量删除失败',
retry: '请重试。',
selectAtLeastOne: '请先勾选至少一个合同段。',
noContractsToDelete: '未找到可删除的合同段。',
industryMissingForExport: '未读取到当前项目工程行业,请先在“基础信息”里新建项目。',
importIndustryMismatch: '工程行业不一致(导入包:{importIndustry},当前项目:{currentIndustry})。',
importCurrentIndustryMissing: '当前项目未设置工程行业,请先在“基础信息”里新建项目。',
importPackageIndustryMissing: '导入包缺少工程行业信息,请使用最新版本重新导出后再导入。',
importFileInvalid: '文件无效、已损坏或不是合同段导出文件。',
deleteSingleTitle: '确认删除合同段',
deleteSingleDesc: '即将删除“{name}”及其关联咨询服务和计价数据,是否继续?',
deleteBatchTitle: '确认批量删除',
deleteBatchDesc: '即将删除 {count} 个合同段及其关联咨询服务和计价数据,是否继续?'
},
htCard: {
title: '合同段:{name}',
subtitle: '合同段ID{id}',
metaBudget: '合同段预算金额:{amount}',
currencySuffix: '元',
categories: {
baseInfo: '基础信息',
scaleInfo: '规模信息',
services: '咨询服务',
consultFactor: '咨询分类系数',
majorFactor: '工程专业系数',
additionalFee: '附加工作费',
reserveFee: '预备费',
summary: '汇总'
}
},
htBaseInfo: {
title: '基础信息',
defaultQuality: '造价咨询服务的综合评价应达到"较好"或综合评分90分',
qualityLabel: '质量要求',
qualityPlaceholder: '请输入质量要求',
durationLabel: '工期要求',
durationPlaceholder: '请输入工期要求'
},
htFactors: {
consultCategoryTitle: '咨询分类系数明细',
majorTitle: '工程专业系数明细'
},
htFee: {
additionalTitle: '附加工作费',
reserveTitle: '预备费'
},
htInfo: {
scaleDetailTitle: '合同规模明细'
},
htFeeRate: {
baseLabel: '基数(所有服务费预算合计)',
reserveBaseLabel: '基数(咨询服务总计 + 附加工作费总计)',
rateLabel: '费率(%',
ratePlaceholder: '请输入费率建议1 ~ 5',
budgetFeeLabel: '预算费用(自动计算)',
remarkLabel: '说明',
remarkPlaceholder: '请输入说明'
},
htZxFw: {
title: '咨询服务明细',
warning: '※ 请注意检查并修改《规范》建议的限值或特殊值,并在确认金额栏修改',
editTabTitle: '服务编辑-{name}',
subtotal: '小计',
edit: '编辑',
resetDefault: '恢复默认',
delete: '删除',
processDraft: '编制',
processReview: '审核',
columns: {
code: '编码',
name: '名称',
process: '工作环节',
investScale: '投资规模法',
landScale: '用地规模法',
workload: '工作量法',
hourly: '工时法',
subtotal: '小计',
finalFee: '确认金额 ✎',
finalFeeTooltip: '该列支持手动修改,修改后会自动汇总到固定小计行',
actions: '操作'
},
dialog: {
resetTitle: '确认恢复默认数据',
resetDesc: '会使用合同卡片里面最新填写的规模信息以及系数,自动计算默认数据,覆盖“{name}”当前数据,是否继续?',
confirmReset: '确认恢复',
deleteTitle: '确认删除服务',
deleteDesc: '将逻辑删除“{name}”,已填写的数据不会清空,重新勾选后会恢复,是否继续?'
}
},
htSummary: {
title: '合同段汇总',
total: '合计',
remark: '说明',
placeholder: '请先填咨询服务/附加工作费/预备费的数据',
additionalPrefix: '附加工作费',
reservePrefix: '预备费',
explainByRate: '按费率{rate}%计得{fee}元',
explainByHourly: '按工时法计得{fee}元',
explainByQuantity: '按数量单价计得{fee}元',
columns: {
code: '编码',
name: '名称',
investScale: '投资规模法',
landScale: '用地规模法',
workload: '工作量法',
hourly: '工时法',
subtotal: '小计',
finalFee: '确认金额'
}
},
htFeeGrid: {
subtotal: '小计',
currentRow: '当前行',
unnamed: '未命名',
edit: '编辑',
clear: '清空',
add: '新增',
editTabTitle: '费用编辑-{name}',
columns: {
name: '名字',
rateFee: '费率计取',
hourlyFee: '工时法',
quantityUnitPriceFee: '数量单价',
subtotal: '小计',
actions: '操作'
},
dialog: {
clearTitle: '确认清空',
clearDesc: '将清空“{name}”及其编辑页面的可填和自动计算数据,是否继续?',
confirmClear: '确认清空'
}
},
xmFactorGrid: {
clickToInput: '点击输入',
columns: {
standardFactor: '标准系数',
budgetValue: '预算取值',
remark: '说明',
groupName: '专业编码以及工程专业名称'
}
},
serviceSelector: {
title: '选择服务',
clear: '清空',
empty: '暂无服务'
},
zxFwView: {
contractPrefix: '合同段:{name}',
calcSuffix: '计算',
contractId: '合同ID{id}',
workContentTitle: '工作内容',
categories: {
investmentScale: '投资规模法',
landScale: '用地规模法',
workload: '工作量法',
hourly: '工时法',
workContent: '工作内容'
},
unavailable: {
investmentScaleTitle: '该服务不适用投资规模法',
investmentScaleMessage: '当前服务未启用规模法,投资规模法不可编辑。',
landScaleTitle: '该服务不适用用地规模法',
landScaleMessage: '当前服务仅支持投资规模法,用地规模法不可编辑。',
workloadTitle: '该服务不适用工作量法',
workloadMessage: '当前服务未启用工作量法,工作量法不可编辑。',
hourlyTitle: '该服务不适用工时法',
hourlyMessage: '当前服务未启用工时法,工时法不可编辑。'
}
},
htFeeDetail: {
subtotal: '小计',
currentRow: '当前行',
clickToInput: '点击输入',
addRow: '添加行',
columns: {
no: '序号',
feeItem: '费用项',
unit: '单位',
quantity: '数量',
unitPrice: '单价(元)',
budgetFee: '预算费用(元)',
remark: '说明',
actions: '操作'
},
dialog: {
deleteTitle: '确认删除行',
deleteDesc: '将删除“{name}”这条明细,是否继续?'
}
},
workContent: {
title: '工作内容',
addCustom: '添加自定义内容',
clickToInput: '点击输入',
clickToInputContent: '点击输入工作内容',
currentRow: '当前行',
unnamed: '未命名',
ungrouped: '未分组',
type: {
basic: '基本工作',
optional: '可选工作',
daily: '日常顾问',
special: '专项顾问',
additional: '附加工作',
custom: '自定义'
},
columns: {
no: '序号',
content: '工作内容',
type: '工作类型',
remark: '备注',
actions: '操作'
},
dialog: {
deleteTitle: '确认删除行',
deleteDesc: '将删除“{name}”这条明细,是否继续?'
}
},
quickCalc: {
projectName: '快速计算',
catalogEyebrow: '分类清单',
formEyebrow: '参数表单',
industryLabel: '行业 {name}',
selectIndustry: '请选择工程行业',
saving: '保存中...',
synced: '已同步行业',
notSelectedIndustry: '未选择行业',
notSelected: '未选择',
consultCategory: '咨询类别',
majorCategory: '工程专业',
types: {
consult: {
label: '咨询类别(常用)',
hint: '先选择咨询类别,再补规模和预算参数。'
},
general: {
label: '通用专业',
hint: '跨行业共用的补偿与其他费用专业。'
},
road: {
label: '公路工程专业',
hint: '首页行业为公路工程时默认展示。'
},
railway: {
label: '铁路工程专业',
hint: '首页行业为铁路工程时默认展示。'
},
waterway: {
label: '水运工程专业',
hint: '首页行业为水运工程时默认展示。'
}
},
fields: {
industry: '工程行业',
code: '编码',
investScale: '投资规模(万元)',
landScale: '用地规模(亩)',
formula: '计算式',
amount: '金额(元)',
consultFactor: '咨询分类系数',
majorFactor: '工程专业系数',
workEnvCoefficient: '工作环节系数',
workEnvCoefficientPlaceholder: '默认 1',
budgetAmount: '预算金额(元)'
},
sections: {
basicInfo: '基础信息',
scaleBase: '计算基数',
benchmarkBudget: '基准预算',
serviceBudget: '服务预算',
},
empty: {
selectIndustry: '请选择工程行业。选中后可先选择咨询类别,再显示对应专业分类。',
selectConsult: '请先选择咨询类别。选中后才会显示匹配的通用专业和工程专业分类。',
scaleUnavailable: '当前咨询类别不适用规模法,因此不显示专业分类。',
consultCostOnly: '当前咨询类别按行业汇总计价,工程专业系数已按所选行业自动带入,不再显示内部互补专业行。'
},
placeholder: {
selectConsultFirst: '请先选择咨询类别',
scaleUnavailable: '当前分类不适用规模法',
selectMajorFirst: '请先选择工程专业',
preferLandScale: '当前专业按用地规模计价',
investUnavailable: '当前专业不适用投资规模',
consultCostOnly: '当前分类仅支持投资规模',
landUnavailable: '当前专业不适用用地规模',
input: '请输入',
selectScaleFirst: '请先选择输入对应规模'
}
},
methodUnavailable: {
defaultTitle: '该服务不适用当前计价方法'
},
xmCard: {
categories: {
info: '基础信息',
scaleInfo: '规模信息',
consultCategoryFactor: '咨询分类系数',
majorFactor: '工程专业系数',
contract: '合同段管理'
}
},
htFeeMethodTypeLine: {
feeDetail: '费用明细',
unnamed: '未命名',
title: '合同段:{contractName} · {rowName}',
contractId: '合同ID{id}',
quantityUnitPrice: '数量单价'
},
pricingScale: {
totalInvestmentByIndustry: '{industryName}总投资',
totalInvestment: '总投资',
clickToInput: '点击输入',
projectLabel: '项目{index}',
columns: {
investAmount: '造价金额(万元)',
landArea: '用地面积(亩)',
benchmarkBudget: '基准预算(元)',
basicWork: '基本工作',
optionalWork: '可选工作',
subtotal: '小计',
budgetFee: '预算费用',
consultCategoryFactor: '咨询分类系数',
majorFactor: '专业系数',
workStageFactor: '工作环节系数(编审系数)',
workRatio: '工作占比(%)',
total: '合计',
remark: '说明',
majorGroup: '专业编码以及工程专业名称'
},
tooltip: {
resetInvestAmount: '点击右侧↻恢复本列默认造价金额',
resetLandArea: '点击右侧↻恢复本列默认用地面积',
resetConsultCategoryFactor: '点击右侧↻恢复本列默认咨询分类系数',
resetMajorFactor: '点击右侧↻恢复本列默认专业系数'
}
},
pricingPane: {
projectCount: '项目数量',
clearTitle: '确认清空当前明细',
confirmClear: '确认清空',
useDefault: '使用默认数据',
overrideTitle: '确认覆盖当前明细',
confirmOverride: '确认覆盖',
investment: {
title: '投资规模明细',
clearDesc: '将清空当前投资规模明细,是否继续?',
overrideDesc: '将使用合同默认数据覆盖当前投资规模明细,是否继续?'
},
land: {
title: '用地规模明细',
clearDesc: '将清空当前用地规模明细,是否继续?',
overrideDesc: '将使用合同默认数据覆盖当前用地规模明细,是否继续?'
}
},
workloadPricing: {
title: '工作量明细',
unavailableTitle: '该服务不适用工作量法',
unavailableMessage: '当前服务没有关联工作量法任务,无需填写此部分内容。',
clickToInput: '点击输入',
none: '无',
total: '总合计',
columns: {
code: '编码',
name: '名称',
budgetBase: '预算基数',
budgetReferenceUnitPrice: '预算参考单价',
budgetAdoptedUnitPrice: '预算采用单价',
workload: '工作量',
consultCategoryFactor: '咨询分类系数',
serviceFee: '服务费用(元)',
remark: '说明'
}
},
hourlyFeeGrid: {
title: '工时法明细',
clickToInput: '点击输入',
total: '总合计',
columns: {
code: '编码',
name: '人员名称',
referenceUnitPrice: '预算参考单价',
laborBudgetUnitPrice: '人工预算单价(元/工日)',
compositeBudgetUnitPrice: '综合预算单价(元/工日)',
adoptedBudgetUnitPrice: '预算采用单价(元/工日)',
personnelCount: '人员数量(人)',
workdayCount: '工日数量(工日)',
serviceBudget: '服务预算(元)',
remark: '说明'
}
},
xmScaleGrid: {
syncToastTitle: '已同步咨询服务',
syncToastDesc: '规模信息已同步到咨询服务({serviceCount} 项服务,{methodCount} 个计价页,{rowCount} 行)'
},
xmInfo: {
defaultProjectName: 'xxx造价咨询服务',
defaultDesc: '在履行造价咨询服务时宜根据咨询服务质量情况分级确定相应的处罚金额。其中考评得分在大于及等于85和小于90分时处罚金额为预算费用的10%其中考评得分在大于及等于80和小于85分时处罚金额为预算费用的20%其中考评得分在大于及等于75和小于80分时处罚金额为预算费用的30%其中考评得分在大于及等于70和小于75分时处罚金额为预算费用的40%其中考评得分小于70分时处罚金额为预算费用的50%以上。',
industryHint: '变更需要重置后重新选择',
industryHintAria: '工程行业提示',
createFromHomeFirst: '请从首页先新建项目后再进入此页面。',
fields: {
projectName: '项目名称',
projectIndustry: '工程行业',
overview: '项目概况',
preparedBy: '编制人',
reviewedBy: '复核人',
preparedCompany: '编制单位',
preparedDate: '编制日期',
desc: '其他说明'
},
placeholders: {
overview: '请输入项目概况',
preparedBy: '请输入编制人',
reviewedBy: '请输入复核人',
preparedCompany: '请输入编制单位'
}
}
} as const