diff --git a/healthlink-his-ui/src/i18n/autoTranslate.js b/healthlink-his-ui/src/i18n/autoTranslate.js index 26725b456..4d1109273 100644 --- a/healthlink-his-ui/src/i18n/autoTranslate.js +++ b/healthlink-his-ui/src/i18n/autoTranslate.js @@ -1,218 +1,421 @@ /** - * 离线自动翻译插件 - * 当 $t() 找不到翻译时,自动从预设字典中查找翻译 - * 开发模式下标记未翻译文本 + * Offline auto-translate plugin + * When $t() can't find a translation, auto-lookup from preset dictionary */ import Cookies from 'js-cookie' -// 预设翻译字典 - 中文到各语言 +// Preset translation dictionary - Chinese to each language const translationDict = { 'en': { - // 通用操作 - '新增': 'Add', '编辑': 'Edit', '删除': 'Delete', '查询': 'Search', '重置': 'Reset', - '确定': 'Confirm', '取消': 'Cancel', '保存': 'Save', '提交': 'Submit', '关闭': 'Close', - '导出': 'Export', '导入': 'Import', '刷新': 'Refresh', '打印': 'Print', '复制': 'Copy', - '返回': 'Back', '下一步': 'Next', '上一步': 'Previous', '完成': 'Finish', - '查看': 'View', '详情': 'Detail', '操作': 'Action', '状态': 'Status', - '启用': 'Enabled', '停用': 'Disabled', '正常': 'Normal', '异常': 'Abnormal', - '是': 'Yes', '否': 'No', '有': 'Yes', '无': 'None', - '成功': 'Success', '失败': 'Failed', '警告': 'Warning', '提示': 'Tip', '错误': 'Error', - '加载中': 'Loading', '暂无数据': 'No Data', '请稍候': 'Please wait', - '请选择': 'Please select', '请输入': 'Please enter', '必填': 'Required', - '确认删除': 'Confirm Delete', '确认操作': 'Confirm Action', - '操作成功': 'Operation successful', '操作失败': 'Operation failed', - '保存成功': 'Saved successfully', '保存失败': 'Save failed', - '删除成功': 'Deleted successfully', '删除失败': 'Delete failed', - '新增成功': 'Added successfully', '新增失败': 'Add failed', - '修改成功': 'Modified successfully', '修改失败': 'Modification failed', - '提交成功': 'Submitted successfully', '提交失败': 'Submit failed', - '导出成功': 'Exported successfully', '导出失败': 'Export failed', - '导入成功': 'Imported successfully', '导入失败': 'Import failed', - '查询成功': 'Query successful', '查询失败': 'Query failed', - '登录成功': 'Login successful', '登录失败': 'Login failed', - '退出成功': 'Logged out', '注册成功': 'Registration successful', - // 表格通用 - '序号': 'No.', '名称': 'Name', '编码': 'Code', '类型': 'Type', '级别': 'Level', - '描述': 'Description', '备注': 'Remark', '创建时间': 'Create Time', '更新时间': 'Update Time', - '创建人': 'Creator', '更新人': 'Updater', '排序': 'Sort', '显示': 'Display', - '隐藏': 'Hidden', '可见': 'Visible', '全部': 'All', '其他': 'Other', - '开始日期': 'Start Date', '结束日期': 'End Date', '开始时间': 'Start Time', '结束时间': 'End Time', - '日期': 'Date', '时间': 'Time', '年': 'Year', '月': 'Month', '日': 'Day', - '今天': 'Today', '昨天': 'Yesterday', '本周': 'This Week', '本月': 'This Month', - // 医疗通用 - '患者': 'Patient', '患者姓名': 'Patient Name', '患者ID': 'Patient ID', - '性别': 'Gender', '男': 'Male', '女': 'Female', '年龄': 'Age', - '科室': 'Department', '医生': 'Doctor', '护士': 'Nurse', - '诊断': 'Diagnosis', '处方': 'Prescription', '医嘱': 'Order', - '药品': 'Drug', '剂量': 'Dosage', '用法': 'Usage', '频次': 'Frequency', - '住院号': 'Admission No.', '门诊号': 'Outpatient No.', '就诊卡号': 'Visit Card No.', - '身份证号': 'ID Card No.', '手机号': 'Phone No.', '地址': 'Address', - '入院日期': 'Admission Date', '出院日期': 'Discharge Date', - '主治医生': 'Attending Doctor', '责任护士': 'Responsible Nurse', - '费用': 'Fee', '金额': 'Amount', '单价': 'Unit Price', '数量': 'Quantity', - '合计': 'Total', '应收': 'Receivable', '实收': 'Actual', '找零': 'Change', - '支付方式': 'Payment Method', '现金': 'Cash', '微信': 'WeChat', '支付宝': 'Alipay', - '医保': 'Medical Insurance', '自费': 'Self Pay', - '已支付': 'Paid', '未支付': 'Unpaid', '已退款': 'Refunded', - '待处理': 'Pending', '处理中': 'Processing', '已完成': 'Completed', '已取消': 'Cancelled', - '已确认': 'Confirmed', '已审核': 'Reviewed', '已批准': 'Approved', '已拒绝': 'Rejected', - '待审核': 'Pending Review', '待批准': 'Pending Approval', - // 药房 - '西药': 'Western Medicine', '中成药': 'Chinese Patent Medicine', '中草药': 'Chinese Herbal Medicine', - '库存': 'Stock', '入库': 'Inbound', '出库': 'Outbound', '盘点': 'Stocktaking', - '效期': 'Expiry Date', '批号': 'Batch No.', '规格': 'Specification', '单位': 'Unit', - '生产厂家': 'Manufacturer', '供应商': 'Supplier', '批准文号': 'Approval No.', - // 手术 - '手术': 'Surgery', '手术名称': 'Surgery Name', '手术时间': 'Surgery Time', - '主刀医生': 'Surgeon', '麻醉医生': 'Anesthesiologist', '麻醉方式': 'Anesthesia Type', - '手术室': 'Operating Room', '手术台': 'Operating Table', - // 检验检查 - '检验': 'Lab Test', '检查': 'Examination', '标本': 'Specimen', - '结果': 'Result', '参考范围': 'Reference Range', '正常值': 'Normal Value', - '报告': 'Report', '申请': 'Application', - // 病历 - '病历': 'Medical Record', '病案': 'Case Record', '病程': 'Progress Notes', - '入院记录': 'Admission Record', '出院记录': 'Discharge Record', - '首次病程': 'First Progress Note', '日常病程': 'Daily Progress Note', - '手术记录': 'Surgery Record', '护理记录': 'Nursing Record', - // 系统 - '系统': 'System', '设置': 'Settings', '配置': 'Configuration', - '权限': 'Permission', '角色': 'Role', '菜单': 'Menu', '字典': 'Dictionary', - '用户': 'User', '密码': 'Password', '验证码': 'Captcha', - '登录': 'Login', '退出': 'Logout', '注册': 'Register', - '首页': 'Home', '仪表盘': 'Dashboard', '个人中心': 'Profile', - '帮助': 'Help', '关于': 'About', '版本': 'Version', - '在线': 'Online', '离线': 'Offline', '已连接': 'Connected', '未连接': 'Disconnected', - '医院信息管理系统': 'Hospital HIS', '医院管理系统': 'Hospital HIS', - '信息管理系统': 'Info System', '管理系统': 'Management System', - '经创贺联': 'HealthLink', 'HIS': 'HIS', - '元': 'Yuan', '次': 'Times', '天': 'Days', '小时': 'Hours', '分钟': 'Minutes', - '条': 'Items', '个': 'Items', '项': 'Items', '次/分': 'Times/min', - // 菜单专用术语 - '工作站': 'Workstation', '日结': 'Daily Settlement', '换卡': 'Card Replacement', - '预交金': 'Prepayment', '收费': 'Charge', '退费': 'Refund', '退号': 'Cancel Reg.', - '挂号': 'Registration', '划价': 'Pricing', '发药': 'Dispensing', '退药': 'Drug Return', - '领药': 'Drug Collection', '入库': 'Inbound', '出库': 'Outbound', '盘点': 'Stocktaking', - '调拨': 'Transfer', '报损': 'Damage Report', '损益': 'Profit/Loss', - '审批': 'Approval', '审核': 'Review', '校对': 'Proofreading', '签发': 'Sign & Issue', - '闭环': 'Closed Loop', '组套': 'Template', '组合': 'Combination', - '增强': 'Enhanced', '质量': 'Quality', '指标': 'Indicator', '统计': 'Statistics', - '报表': 'Report', '管理': 'Management', '维护': 'Maintenance', '配置': 'Config', - '设置': 'Settings', '参数': 'Parameter', '目录': 'Catalog', '对照': 'Mapping', - '清单': 'List', '明细': 'Detail', '汇总': 'Summary', '查询': 'Query', - '追溯': 'Traceability', '预警': 'Alert', '监测': 'Monitoring', '筛查': 'Screening', - '评估': 'Assessment', '记录': 'Record', '执行': 'Execution', '追踪': 'Tracking', - '床位': 'Bed', '病区': 'Ward', '病房': 'Room', '诊室': 'Consulting Room', - '叫号': 'Call Number', '排队': 'Queue', '分诊': 'Triage', '留观': 'Observation', - '抢救': 'Rescue', '绿色通道': 'Green Channel', - '知情同意': 'Informed Consent', '临床路径': 'Clinical Pathway', - '随访': 'Follow-up', '会诊': 'Consultation', '转诊': 'Referral', - '传染病': 'Infectious Disease', '疫情': 'Epidemic', '院感': 'HAI', - '抗菌': 'Antibiotic', '耐药': 'Drug Resistant', '手卫生': 'Hand Hygiene', - '消毒': 'Sterilization', '供应': 'Supply', - '手术室': 'Operating Room', '手术台': 'Operating Table', '麻醉': 'Anesthesia', - '病历': 'Medical Record', '病案': 'Case Record', '病程': 'Progress Notes', - '医嘱': 'Order', '处方': 'Prescription', '诊断': 'Diagnosis', - '检验': 'Lab Test', '检查': 'Examination', '标本': 'Specimen', '仪器': 'Instrument', - '药品': 'Drug', '耗材': 'Consumable', '设备': 'Device', '物资': 'Material', - '供应商': 'Supplier', '合同': 'Contract', '货位': 'Location', - '财务': 'Finance', '结算': 'Settlement', '对账': 'Reconciliation', - '发票': 'Invoice', '收据': 'Receipt', '押金': 'Deposit', - '排班': 'Schedule', '考勤': 'Attendance', '排期': 'Scheduling', - '权限': 'Permission', '角色': 'Role', '菜单': 'Menu', '字典': 'Dictionary', - '部门': 'Department', '岗位': 'Position', '租户': 'Tenant', - '日志': 'Log', '审计': 'Audit', '监控': 'Monitor', '缓存': 'Cache', - '接口': 'Interface', '服务': 'Service', '流程': 'Process', - '模板': 'Template', '签名': 'Signature', '电子': 'Electronic', - '知识库': 'Knowledge Base', '合理用药': 'Rational Drug Use', - 'DRG': 'DRG', 'DIP': 'DIP', 'EMPI': 'EMPI', 'ESB': 'ESB', - 'FHIR': 'FHIR', 'CDA': 'CDA', 'LIS': 'LIS', 'PACS': 'PACS', - 'TPR': 'TPR', 'ICD': 'ICD', 'CSSD': 'CSSD', - '门诊': 'Outpatient', '住院': 'Inpatient', '急诊': 'Emergency', - '外科': 'Surgery', '内科': 'Internal Medicine', '妇产科': 'OB/GYN', - '儿科': 'Pediatrics', '骨科': 'Orthopedics', '眼科': 'Ophthalmology', - '耳鼻喉': 'ENT', '口腔': 'Dental', '皮肤科': 'Dermatology', - '中医': 'TCM', '康复': 'Rehabilitation', '营养': 'Nutrition', - '心理': 'Psychology', '放射': 'Radiology', '超声': 'Ultrasound', - '病理': 'Pathology', '输血': 'Blood Transfusion', '透析': 'Dialysis', - '重症': 'ICU', '新生儿': 'Neonatal', '产科': 'Obstetrics', - '体检': 'Physical Exam', '预防': 'Prevention', '保健': 'Health Care', - '药品效期': 'Drug Expiry', '药品追溯': 'Drug Traceability', - '医嘱执行': 'Order Execution', '医嘱校对': 'Order Proofreading', - '发药管理': 'Dispensing Management', '发药统计': 'Dispensing Statistics', - '库存预警': 'Stock Alert', '库存明细': 'Stock Detail', - '价格调整': 'Price Adjustment', '调价': 'Price Adjustment', - '缴费': 'Payment', '退费': 'Refund', '欠费': 'Arrears', - '预交': 'Prepayment', '押金': 'Deposit', '补打': 'Reprint', - '重打': 'Reprint', '补录': 'Retroactive Entry', - '皮试': 'Skin Test', '过敏': 'Allergy', '不良反应': 'Adverse Reaction', - '危急值': 'Critical Value', '危急': 'Critical', - '床位管理': 'Bed Management', '入院': 'Admission', '出院': 'Discharge', - '转科': 'Transfer Dept.', '转院': 'Transfer Hospital', - '接诊': 'Consultation', '复诊': 'Follow-up Visit', '初诊': 'First Visit', - '叫号': 'Call Number', '候诊': 'Waiting', '就诊': 'Visit', - '收费工作站': 'Charge Workstation', '门诊日结': 'OPD Daily Settlement', - '门诊换卡': 'OPD Card Replacement', '预交金管理': 'Prepayment Management', - '收费记录': 'Charge Records', '出院结算': 'Discharge Settlement', - '门诊医生工作站': 'OPD Doctor Workstation', '住院医生工作站': 'IPD Doctor Workstation', - '门诊收费工作站': 'OPD Charge Workstation', '住院收费工作站': 'IPD Charge Workstation', - '门诊挂号': 'OPD Registration', '门诊收费': 'OPD Charge', '门诊退费': 'OPD Refund', - '门诊发药': 'OPD Dispensing', '门诊退药': 'OPD Drug Return', - '住院登记': 'IPD Registration', '住院结算': 'IPD Settlement', - '住院发药': 'IPD Dispensing', '住院退药': 'IPD Drug Return', - '手术安排': 'Surgery Schedule', '手术记录': 'Surgery Record', - '护理记录': 'Nursing Record', '护理评估': 'Nursing Assessment', - '病历检索': 'EMR Search', '病历时效': 'EMR Timeliness', - '病案归档': 'Case Archive', '病案首页': 'Case Homepage', - '合理用药': 'Rational Drug Use', '抗菌药物': 'Antibiotics', - '传染病报告': 'Infectious Disease Report', '院感管理': 'HAI Management', - '危急值处理': 'Critical Value Handling', '危急值管理': 'Critical Value Mgmt', - '检验报告': 'Lab Report', '检查报告': 'Inspection Report', - '药品目录': 'Drug Catalog', '诊疗目录': 'Treatment Catalog', - '医保结算': 'Insurance Settlement', '医保对账': 'Insurance Reconciliation', - '库存管理': 'Inventory Management', '采购管理': 'Procurement Management', - '知识库': 'Knowledge Base', '临床路径': 'Clinical Pathway', - '会诊管理': 'Consultation Management', '随访管理': 'Follow-up Management', - '电子签名': 'Electronic Signature', '电子病历': 'Electronic Medical Record', - '质量指标': 'Quality Indicator', '质量管理': 'Quality Management', - }, + "新增": "Add", + "编辑": "Edit", + "删除": "Delete", + "查询": "Search", + "重置": "Reset", + "确定": "Confirm", + "取消": "Cancel", + "保存": "Save", + "提交": "Submit", + "关闭": "Close", + "导出": "Export", + "导入": "Import", + "刷新": "Refresh", + "打印": "Print", + "复制": "Copy", + "返回": "Back", + "完成": "Finish", + "查看": "View", + "详情": "Detail", + "明细": "Detail", + "列表": "List", + "操作": "Action", + "状态": "Status", + "排序": "Sort", + "启用": "Enabled", + "停用": "Disabled", + "正常": "Normal", + "异常": "Abnormal", + "是": "Yes", + "否": "No", + "有": "Yes", + "无": "None", + "成功": "Success", + "失败": "Failed", + "警告": "Warning", + "提示": "Tip", + "错误": "Error", + "加载中": "Loading", + "暂无数据": "No Data", + "请选择": "Please select", + "请输入": "Please enter", + "确认删除": "Confirm Delete", + "操作成功": "Operation successful", + "操作失败": "Operation failed", + "保存成功": "Saved", + "删除成功": "Deleted", + "新增成功": "Added", + "修改成功": "Modified", + "序号": "No.", + "编号": "No.", + "编码": "Code", + "名称": "Name", + "姓名": "Name", + "性别": "Gender", + "年龄": "Age", + "类型": "Type", + "级别": "Level", + "日期": "Date", + "时间": "Time", + "创建时间": "Create Time", + "更新时间": "Update Time", + "备注": "Remark", + "描述": "Description", + "创建人": "Creator", + "更新人": "Updater", + "数量": "Qty", + "金额": "Amount", + "单价": "Price", + "总价": "Total", + "价格": "Price", + "费用": "Fee", + "规格": "Spec", + "单位": "Unit", + "批号": "Batch No.", + "科室": "Dept", + "部门": "Department", + "医生": "Doctor", + "护士": "Nurse", + "患者": "Patient", + "患者姓名": "Patient Name", + "患者ID": "Patient ID", + "病历号": "MRN", + "住院号": "Admission No.", + "门诊号": "OPD No.", + "诊断": "Diagnosis", + "处方": "Rx", + "医嘱": "Order", + "药品": "Drug", + "剂量": "Dosage", + "用法": "Usage", + "频次": "Frequency", + "开始时间": "Start Time", + "结束时间": "End Time", + "联系电话": "Phone", + "手机号": "Phone", + "地址": "Address", + "身份证号": "ID No.", + "就诊卡号": "Visit Card", + "卡号": "Card No.", + "来源": "Source", + "结果": "Result", + "参考值": "Ref Value", + "参考范围": "Ref Range", + "项目": "Item", + "耗材": "Consumable", + "库存": "Stock", + "入库": "Inbound", + "出库": "Outbound", + "供应商": "Supplier", + "生产商": "Manufacturer", + "有效期": "Expiry", + "发票号": "Invoice No.", + "单据号": "Document No.", + "结算": "Settlement", + "支付方式": "Payment Method", + "合计": "Total", + "总计": "Grand Total", + "小计": "Subtotal", + "应收": "Receivable", + "实收": "Actual", + "欠费": "Arrears", + "找零": "Change", + "退费": "Refund", + "待处理": "Pending", + "处理中": "Processing", + "已完成": "Completed", + "已取消": "Cancelled", + "已确认": "Confirmed", + "已审核": "Reviewed", + "已批准": "Approved", + "已拒绝": "Rejected", + "待审核": "Pending Review", + "已签到": "Checked In", + "已就诊": "Consulted", + "已退号": "Cancelled", + "全部": "All", + "其他": "Other", + "男": "Male", + "女": "Female", + "未知": "Unknown", + "元": "Yuan", + "次": "Times", + "天": "Days", + "小时": "Hours", + "分钟": "Minutes", + "系统": "System", + "设置": "Settings", + "配置": "Configuration", + "权限": "Permission", + "角色": "Role", + "菜单": "Menu", + "字典": "Dictionary", + "用户": "User", + "密码": "Password", + "登录": "Login", + "退出": "Logout", + "首页": "Home", + "仪表盘": "Dashboard", + "个人中心": "Profile", + "医院信息管理系统": "Hospital HIS", + "经创贺联": "HealthLink", + "门诊": "OPD", + "住院": "IPD", + "急诊": "Emergency", + "外科": "Surgery", + "内科": "Internal Medicine", + "妇产科": "OB/GYN", + "儿科": "Pediatrics", + "骨科": "Orthopedics", + "眼科": "Ophthalmology", + "耳鼻喉": "ENT", + "口腔": "Dental", + "皮肤科": "Dermatology", + "中医": "TCM", + "康复": "Rehabilitation", + "放射": "Radiology", + "超声": "Ultrasound", + "病理": "Pathology", + "输血": "Blood Transfusion", + "透析": "Dialysis", + "重症": "ICU", + "新生儿": "Neonatal", + "产科": "Obstetrics", + "ICU": "ICU", + "住院部": "Inpatient Dept", + "儿科门诊": "Pediatric OPD", + "影像科": "Radiology Dept", + "急诊科": "Emergency Dept", + "手术室": "Operating Room", + "检验科": "Lab Dept", + "药房": "Pharmacy", + "门诊内科": "Internal Medicine OPD", + "门诊外科": "Surgery OPD", + "门诊部": "OPD Dept", + "康复科": "Rehab Dept", + "药剂科": "Pharmacy Dept", + "设备科": "Equipment Dept", + "信息科": "IT Dept", + "财务科": "Finance Dept", + "人事科": "HR Dept", + "医务科": "Medical Affairs Dept", + "护理部": "Nursing Dept", + "质控科": "Quality Control Dept", + "院感科": "Infection Control Dept", + "病案室": "Medical Record Room", + "挂号处": "Registration", + "收费处": "Cashier", + "药库": "Pharmacy Warehouse", + "中药房": "Chinese Pharmacy", + "西药房": "Western Pharmacy", + "门诊药房": "OPD Pharmacy", + "住院药房": "IPD Pharmacy", + "急诊药房": "Emergency Pharmacy", + "工作站": "Workstation", + "日结": "Daily Settlement", + "换卡": "Card Replacement", + "预交金": "Prepayment", + "收费": "Charge", + "划价": "Pricing", + "发药": "Dispensing", + "退药": "Drug Return", + "闭环": "Closed Loop", + "组套": "Template", + "增强": "Enhanced", + "质量": "Quality", + "维护": "Maintenance", + "目录": "Catalog", + "对照": "Mapping", + "追溯": "Traceability", + "预警": "Alert", + "监测": "Monitoring", + "床位": "Bed", + "分诊": "Triage", + "抢救": "Rescue", + "绿色通道": "Green Channel", + "知情同意": "Informed Consent", + "临床路径": "Clinical Pathway", + "随访": "Follow-up", + "会诊": "Consultation", + "传染病": "Infectious Disease", + "抗菌": "Antibiotic", + "手术": "Surgery", + "护理": "Nursing", + "检验": "Lab Test", + "检查": "Examination", + "病历": "Medical Record", + "病案": "Case Record", + "报告": "Report", + "DRG": "DRG", + "EMPI": "EMPI", + "ESB": "ESB", + "FHIR": "FHIR", + "LIS": "LIS", + "PACS": "PACS" +}, 'vi': { - '新增': 'Thêm', '编辑': 'Sửa', '删除': 'Xóa', '查询': 'Tìm kiếm', '重置': 'Đặt lại', - '确定': 'Xác nhận', '取消': 'Hủy', '保存': 'Lưu', '提交': 'Gửi', '关闭': 'Đóng', - '导出': 'Xuất', '导入': 'Nhập', '刷新': 'Làm mới', '打印': 'In', '复制': 'Sao chép', - '返回': 'Quay lại', '下一步': 'Tiếp theo', '上一步': 'Trước đó', '完成': 'Hoàn thành', - '查看': 'Xem', '详情': 'Chi tiết', '操作': 'Thao tác', '状态': 'Trạng thái', - '启用': 'Kích hoạt', '停用': 'Vô hiệu', '正常': 'Bình thường', '异常': 'Bất thường', - '是': 'Có', '否': 'Không', '有': 'Có', '无': 'Không', - '成功': 'Thành công', '失败': 'Thất bại', '警告': 'Cảnh báo', '提示': 'Thông báo', '错误': 'Lỗi', - '加载中': 'Đang tải', '暂无数据': 'Không có dữ liệu', '请稍候': 'Vui lòng đợi', - '请选择': 'Vui lòng chọn', '请输入': 'Vui lòng nhập', '必填': 'Bắt buộc', - '确认删除': 'Xác nhận xóa', '确认操作': 'Xác nhận thao tác', - '操作成功': 'Thao tác thành công', '操作失败': 'Thao tác thất bại', - '保存成功': 'Lưu thành công', '保存失败': 'Lưu thất bại', - '删除成功': 'Xóa thành công', '删除失败': 'Xóa thất bại', - '新增成功': 'Thêm thành công', '新增失败': 'Thêm thất bại', - '修改成功': 'Sửa thành công', '修改失败': 'Sửa thất bại', - '患者': 'Bệnh nhân', '患者姓名': 'Tên BN', '患者ID': 'Mã BN', - '性别': 'Giới tính', '男': 'Nam', '女': 'Nữ', '年龄': 'Tuổi', - '科室': 'Khoa', '医生': 'Bác sĩ', '护士': 'Điều dưỡng', - '诊断': 'Chẩn đoán', '处方': 'Đơn thuốc', '医嘱': 'Y lệnh', - '药品': 'Thuốc', '剂量': 'Liều lượng', '用法': 'Cách dùng', '频次': 'Tần suất', - '费用': 'Viện phí', '金额': 'Số tiền', '合计': 'Tổng cộng', - '待处理': 'Chờ xử lý', '处理中': 'Đang xử lý', '已完成': 'Hoàn thành', '已取消': 'Đã hủy', - '系统': 'Hệ thống', '设置': 'Cài đặt', '权限': 'Phân quyền', '角色': 'Vai trò', - '用户': 'Người dùng', '密码': 'Mật khẩu', '登录': 'Đăng nhập', '退出': 'Đăng xuất', - '首页': 'Trang chủ', '仪表盘': 'Bảng điều khiển', - '元': 'đồng', '次': 'lần', '天': 'ngày', 'giờ': 'giờ', 'phút': 'phút', - } + "新增": "Thêm", + "编辑": "Sửa", + "删除": "Xóa", + "查询": "Tìm kiếm", + "重置": "Đặt lại", + "确定": "OK", + "取消": "Hủy", + "保存": "Lưu", + "提交": "Gửi", + "关闭": "Đóng", + "导出": "Xuất", + "导入": "Nhập", + "刷新": "Làm mới", + "打印": "In", + "复制": "Sao chép", + "返回": "Quay lại", + "完成": "Hoàn thành", + "查看": "Xem", + "详情": "Chi tiết", + "列表": "Danh sách", + "操作": "Thao tác", + "状态": "Trạng thái", + "排序": "Sắp xếp", + "启用": "Kích hoạt", + "停用": "Vô hiệu", + "正常": "Bình thường", + "异常": "Bất thường", + "是": "Có", + "否": "Không", + "有": "Có", + "无": "Không", + "成功": "Thành công", + "失败": "Thất bại", + "警告": "Cảnh báo", + "提示": "Thông báo", + "错误": "Lỗi", + "加载中": "Đang tải", + "暂无数据": "Không có dữ liệu", + "请选择": "Vui lòng chọn", + "请输入": "Vui lòng nhập", + "男": "Nam", + "女": "Nữ", + "未知": "Không xác định", + "序号": "STT", + "编号": "Số", + "编码": "Mã", + "名称": "Tên", + "姓名": "Họ tên", + "性别": "Giới tính", + "年龄": "Tuổi", + "类型": "Loại", + "级别": "Cấp", + "日期": "Ngày", + "时间": "Thời gian", + "创建时间": "TG tạo", + "更新时间": "TG cập nhật", + "备注": "Ghi chú", + "描述": "Mô tả", + "数量": "SL", + "金额": "Số tiền", + "单价": "Đơn giá", + "价格": "Giá", + "规格": "Quy cách", + "单位": "Đơn vị", + "批号": "Số lô", + "科室": "Khoa", + "部门": "Phòng ban", + "医生": "Bác sĩ", + "护士": "Điều dưỡng", + "患者": "Bệnh nhân", + "诊断": "Chẩn đoán", + "处方": "Đơn thuốc", + "医嘱": "Y lệnh", + "药品": "Thuốc", + "费用": "Viện phí", + "合计": "Tổng cộng", + "库存": "Tồn kho", + "入库": "Nhập kho", + "出库": "Xuất kho", + "结算": "Thanh toán", + "支付方式": "PT thanh toán", + "门诊": "Ngoại trú", + "住院": "Nội trú", + "急诊": "Cấp cứu", + "外科": "Ngoại khoa", + "内科": "Nội khoa", + "妇产科": "Sản phụ khoa", + "儿科": "Nhi khoa", + "骨科": "Chỉnh hình", + "眼科": "Mắt", + "耳鼻喉": "TMH", + "口腔": "RHM", + "皮肤科": "Da liễu", + "中医": "YHCT", + "康复": "PHCN", + "放射": "X quang", + "超声": "Siêu âm", + "病理": "Bệnh lý", + "输血": "Truyền máu", + "透析": "Lọc máu", + "重症": "HSCC", + "新生儿": "Sơ sinh", + "产科": "Sản khoa", + "ICU": "ICU", + "住院部": "Khoa Nội trú", + "儿科门诊": "PK Nhi", + "影像科": "Khoa CĐHA", + "急诊科": "Khoa Cấp cứu", + "手术室": "Phòng mổ", + "检验科": "Khoa Xét nghiệm", + "药房": "Nhà thuốc", + "门诊内科": "PK Nội", + "门诊外科": "PK Ngoại", + "门诊部": "Khoa Khám bệnh", + "全部": "Tất cả", + "其他": "Khác", + "审核": "Duyệt", + "系统": "Hệ thống", + "设置": "Cài đặt", + "权限": "Phân quyền", + "角色": "Vai trò", + "用户": "Người dùng", + "密码": "Mật khẩu", + "登录": "Đăng nhập", + "退出": "Đăng xuất", + "首页": "Trang chủ", + "仪表盘": "Bảng điều khiển", + "元": "đồng", + "次": "lần", + "天": "ngày", + "待处理": "Chờ xử lý", + "处理中": "Đang xử lý", + "已完成": "Hoàn thành", + "已取消": "Đã hủy", + "待审核": "Chờ duyệt", + "已审核": "Đã duyệt", + "已拒绝": "Đã từ chối", + "手术": "Phẫu thuật", + "护理": "Điều dưỡng", + "检验": "Xét nghiệm", + "检查": "Khám", + "病历": "Bệnh án", + "病案": "Hồ sơ bệnh án", + "报告": "Báo cáo" +} } -// 当前语言 +// Current language function getCurrentLang() { return Cookies.get('lang') || localStorage.getItem('lang') || 'zh-CN' } -// 自动翻译函数 +// Auto-translate function export function autoTranslate(chineseText) { const lang = getCurrentLang() if (lang === 'zh-CN') return chineseText @@ -223,28 +426,27 @@ export function autoTranslate(chineseText) { const dict = translationDict[langKey] if (!dict) return chineseText - // 精确匹配 + // Exact match if (dict[chineseText]) return dict[chineseText] - // 尝试组合翻译(处理 "XX管理" 这类组合词) + // Try compound translation let result = chineseText - for (const [zh, en] of Object.entries(dict)) { + const sorted = Object.entries(dict).sort((a, b) => b[0].length - a[0].length) + for (const [zh, en] of sorted) { result = result.replace(new RegExp(zh, 'g'), en) } return result } -// Vue 插件安装 +// Vue plugin export const AutoTranslatePlugin = { install(app) { - // 在开发模式下,给未翻译的文本添加标记 if (import.meta.env.DEV) { const originalT = app.config.globalProperties.$t if (originalT) { app.config.globalProperties.$t = function(key, ...args) { const result = originalT.call(this, key, ...args) - // 如果结果等于 key(说明没找到翻译),尝试自动翻译 if (result === key && /[\u4e00-\u9fff]/.test(key)) { return autoTranslate(key) }