544 lines
17 KiB
TypeScript
544 lines
17 KiB
TypeScript
export const medications = {
|
||
greeting: '你好,{{name}}',
|
||
welcome: '欢迎来到用药助手!',
|
||
todayMedications: '今日用药',
|
||
filters: {
|
||
all: '全部',
|
||
taken: '已服用',
|
||
missed: '未服用',
|
||
},
|
||
emptyState: {
|
||
title: '今日暂无用药安排',
|
||
subtitle: '还未添加任何用药计划,快来补充吧。',
|
||
},
|
||
stack: {
|
||
completed: '已完成 ({{count}})',
|
||
},
|
||
dateFormats: {
|
||
today: '今天,{{date}}',
|
||
other: '{{date}}',
|
||
},
|
||
// MedicationCard 组件翻译
|
||
card: {
|
||
status: {
|
||
missed: '已错过',
|
||
timeToTake: '到服药时间',
|
||
remaining: '剩余 {{time}}',
|
||
},
|
||
action: {
|
||
takeNow: '立即服用',
|
||
taken: '已服用',
|
||
skipped: '已跳过',
|
||
skip: '跳过',
|
||
submitting: '提交中...',
|
||
},
|
||
skipAlert: {
|
||
title: '确认跳过',
|
||
message: '确定要跳过本次用药吗?\n\n跳过后将不会记录为已服用。',
|
||
cancel: '取消',
|
||
confirm: '确认跳过',
|
||
},
|
||
earlyTakeAlert: {
|
||
title: '尚未到服药时间',
|
||
message: '该用药计划在 {{time}},现在还早于1小时以上。\n\n是否确认已服用此药物?',
|
||
cancel: '取消',
|
||
confirm: '确认已服用',
|
||
},
|
||
takeError: {
|
||
title: '操作失败',
|
||
message: '记录服药时发生错误,请稍后重试',
|
||
confirm: '确定',
|
||
},
|
||
skipError: {
|
||
title: '操作失败',
|
||
message: '跳过操作失败,请稍后重试',
|
||
confirm: '确定',
|
||
},
|
||
},
|
||
// 添加药物页面翻译
|
||
add: {
|
||
title: '添加药物',
|
||
steps: {
|
||
name: '药品名称',
|
||
dosage: '剂型与剂量',
|
||
frequency: '服药频率',
|
||
time: '服药时间',
|
||
note: '备注',
|
||
},
|
||
descriptions: {
|
||
name: '为药物命名并上传包装照片,方便识别',
|
||
dosage: '选择药片类型并填写每次的用药剂量',
|
||
frequency: '设置用药频率以及每日次数',
|
||
time: '添加并管理每天的提醒时间',
|
||
note: '填写备注或医生叮嘱(可选)',
|
||
},
|
||
name: {
|
||
placeholder: '输入或搜索药品名称',
|
||
},
|
||
photo: {
|
||
title: '上传药品图片',
|
||
subtitle: '拍照或从相册选择,辅助识别药品包装',
|
||
selectTitle: '选择图片',
|
||
selectMessage: '请选择图片来源',
|
||
camera: '拍照',
|
||
album: '从相册选择',
|
||
cancel: '取消',
|
||
retake: '重新选择',
|
||
uploading: '上传中…',
|
||
uploadingText: '正在上传',
|
||
remove: '删除',
|
||
cameraPermission: '需要相机权限以拍摄药品照片',
|
||
albumPermission: '需要相册权限以选择药品照片',
|
||
uploadFailed: '上传失败',
|
||
uploadFailedMessage: '图片上传失败,请稍后重试',
|
||
cameraFailed: '拍照失败',
|
||
cameraFailedMessage: '无法打开相机,请稍后再试',
|
||
selectFailed: '选择失败',
|
||
selectFailedMessage: '无法打开相册,请稍后再试',
|
||
},
|
||
dosage: {
|
||
label: '每次剂量',
|
||
placeholder: '0.5',
|
||
type: '类型',
|
||
unitSelector: '选择剂量单位',
|
||
},
|
||
frequency: {
|
||
label: '每日次数',
|
||
value: '{{count}} 次/日',
|
||
period: '用药周期',
|
||
start: '开始',
|
||
end: '结束',
|
||
longTerm: '长期',
|
||
startDateInvalid: '日期无效',
|
||
startDateInvalidMessage: '开始日期不能早于今天',
|
||
endDateInvalid: '日期无效',
|
||
endDateInvalidMessage: '结束日期不能早于开始日期',
|
||
},
|
||
time: {
|
||
label: '每日提醒时间',
|
||
addTime: '添加时间',
|
||
editTime: '修改提醒时间',
|
||
addTimeButton: '添加时间',
|
||
},
|
||
note: {
|
||
label: '备注',
|
||
placeholder: '记录注意事项、医生叮嘱或自定义提醒',
|
||
voiceNotSupported: '当前设备暂不支持语音转文字,可直接输入备注',
|
||
voiceError: '语音识别不可用',
|
||
voiceErrorMessage: '无法使用语音输入,请检查权限设置后重试',
|
||
voiceStartError: '无法启动语音输入',
|
||
voiceStartErrorMessage: '请检查麦克风与语音识别权限后重试',
|
||
},
|
||
actions: {
|
||
previous: '上一步',
|
||
next: '下一步',
|
||
complete: '完成',
|
||
},
|
||
success: {
|
||
title: '添加成功',
|
||
message: '已成功添加药物"{{name}}"',
|
||
confirm: '确定',
|
||
},
|
||
error: {
|
||
title: '添加失败',
|
||
message: '创建药物时发生错误,请稍后重试',
|
||
confirm: '确定',
|
||
},
|
||
datePickers: {
|
||
startDate: '选择开始日期',
|
||
endDate: '选择结束日期',
|
||
time: '选择时间',
|
||
cancel: '取消',
|
||
confirm: '确定',
|
||
},
|
||
pickers: {
|
||
timesPerDay: '选择每日次数',
|
||
dosageUnit: '选择剂量单位',
|
||
cancel: '取消',
|
||
confirm: '确定',
|
||
},
|
||
},
|
||
// 药物管理页面翻译
|
||
manage: {
|
||
title: '药品管理',
|
||
subtitle: '管理所有药品的状态与提醒',
|
||
filters: {
|
||
all: '全部',
|
||
active: '进行中',
|
||
inactive: '已停用',
|
||
},
|
||
loading: '正在载入药品信息...',
|
||
empty: {
|
||
title: '暂无药品',
|
||
subtitle: '还没有相关药品记录,点击右上角添加',
|
||
},
|
||
deactivate: {
|
||
title: '停用 {{name}}?',
|
||
description: '停用后,当天已生成的用药计划会一并删除,且无法恢复。',
|
||
confirm: '确认停用',
|
||
cancel: '取消',
|
||
error: {
|
||
title: '操作失败',
|
||
message: '停用药物时发生问题,请稍后重试。',
|
||
},
|
||
},
|
||
toggleError: {
|
||
title: '操作失败',
|
||
message: '切换药物状态时发生问题,请稍后重试。',
|
||
},
|
||
formLabels: {
|
||
capsule: '胶囊',
|
||
pill: '药片',
|
||
tablet: '药片',
|
||
injection: '注射',
|
||
spray: '喷雾',
|
||
drop: '滴剂',
|
||
syrup: '糖浆',
|
||
other: '其他',
|
||
ointment: '软膏',
|
||
},
|
||
frequency: {
|
||
daily: '每日',
|
||
weekly: '每周',
|
||
custom: '自定义',
|
||
},
|
||
cardMeta: '开始于 {{date}} | 提醒:{{reminder}}',
|
||
reminderNotSet: '尚未设置',
|
||
unknownDate: '未知日期',
|
||
},
|
||
// 药物详情页面翻译
|
||
detail: {
|
||
title: '药品详情',
|
||
notFound: {
|
||
title: '未找到药品信息',
|
||
subtitle: '请从用药列表重新进入此页面。',
|
||
},
|
||
loading: '正在载入...',
|
||
error: {
|
||
title: '暂时无法获取该药品的信息,请稍后重试。',
|
||
subtitle: '请检查网络后重试,或返回上一页。',
|
||
},
|
||
sections: {
|
||
plan: '服药计划',
|
||
dosage: '剂量与形式',
|
||
note: '备注',
|
||
overview: '服药概览',
|
||
aiAnalysis: 'AI 用药分析',
|
||
},
|
||
plan: {
|
||
period: '服药周期',
|
||
time: '用药时间',
|
||
frequency: '频率',
|
||
expiryDate: '药品有效期',
|
||
longTerm: '长期',
|
||
periodMessage: '开始服药日期:{{startDate}}\n{{endDateInfo}}',
|
||
longTermPlan: '服药计划:长期服药',
|
||
timeMessage: '设置的时间:{{times}}',
|
||
dateFormat: 'YYYY年M月D日',
|
||
periodRange: '从 {{startDate}} 至 {{endDate}}',
|
||
periodLongTerm: '从 {{startDate}} 至长期',
|
||
expiryStatus: {
|
||
notSet: '未设置(过期预警)',
|
||
expired: '已过期',
|
||
expiresToday: '今天到期',
|
||
expiresInDays: '{{days}}天后到期',
|
||
},
|
||
},
|
||
dosage: {
|
||
label: '每次剂量',
|
||
form: '剂型',
|
||
selectDosage: '选择剂量',
|
||
selectForm: '选择剂型',
|
||
dosageValue: '剂量值',
|
||
unit: '单位',
|
||
},
|
||
note: {
|
||
label: '药品备注',
|
||
placeholder: '记录注意事项、医生叮嘱或自定义提醒',
|
||
edit: '编辑备注',
|
||
noNote: '暂无备注信息',
|
||
voiceNotSupported: '当前设备暂不支持语音转文字,可直接输入备注',
|
||
save: '保存',
|
||
saveError: {
|
||
title: '保存失败',
|
||
message: '提交备注时出现问题,请稍后重试。',
|
||
},
|
||
},
|
||
overview: {
|
||
calculating: '统计中...',
|
||
takenCount: '累计服药 {{count}} 次',
|
||
calculatingDays: '正在计算坚持天数',
|
||
startedDays: '已坚持 {{days}} 天',
|
||
startDate: '开始于 {{date}}',
|
||
noStartDate: '暂无开始日期',
|
||
},
|
||
aiAnalysis: {
|
||
analyzing: '正在分析用药信息...',
|
||
analyzingButton: '分析中...',
|
||
reanalyzeButton: '重新分析',
|
||
getAnalysisButton: '获取 AI 分析',
|
||
button: 'AI 分析',
|
||
status: {
|
||
generated: '已生成',
|
||
memberExclusive: '会员专享',
|
||
pending: '待生成',
|
||
},
|
||
title: '分析结果',
|
||
recommendation: 'AI 推荐',
|
||
placeholder: '获取 AI 分析,快速了解适用人群、成分安全与使用建议。',
|
||
categories: {
|
||
suitableFor: '适合人群',
|
||
unsuitableFor: '不适合人群',
|
||
sideEffects: '可能的副作用',
|
||
storageAdvice: '储存建议',
|
||
healthAdvice: '健康/使用建议',
|
||
},
|
||
membershipCard: {
|
||
title: '会员专享 AI 深度解读',
|
||
subtitle: '解锁完整药品分析与无限次使用',
|
||
},
|
||
error: {
|
||
title: '分析失败',
|
||
message: 'AI 分析失败,请稍后重试',
|
||
networkError: '发起分析请求失败,请检查网络连接',
|
||
unauthorized: '请先登录',
|
||
forbidden: '无权访问此药物',
|
||
notFound: '药物不存在',
|
||
},
|
||
},
|
||
aiDraft: {
|
||
reshoot: '重新拍摄',
|
||
saveAndCreate: '保存并创建',
|
||
saveError: {
|
||
title: '保存失败',
|
||
message: '创建药物时发生错误,请稍后重试',
|
||
},
|
||
},
|
||
status: {
|
||
enabled: '提醒已开启',
|
||
disabled: '提醒已关闭',
|
||
},
|
||
delete: {
|
||
title: '删除 {{name}}?',
|
||
description: '删除后将清除与该药品相关的提醒与历史记录,且无法恢复。',
|
||
confirm: '删除',
|
||
cancel: '取消',
|
||
error: {
|
||
title: '删除失败',
|
||
message: '移除该药品时出现问题,请稍后再试。',
|
||
},
|
||
},
|
||
deactivate: {
|
||
title: '停用 {{name}}?',
|
||
description: '停用后,当天已生成的用药计划会一并删除,且无法恢复。',
|
||
confirm: '确认停用',
|
||
cancel: '取消',
|
||
error: {
|
||
title: '操作失败',
|
||
message: '停用药物时发生问题,请稍后重试。',
|
||
},
|
||
},
|
||
toggleError: {
|
||
title: '操作失败',
|
||
message: '切换提醒状态时出现问题,请稍后重试。',
|
||
},
|
||
updateErrors: {
|
||
dosage: '更新失败',
|
||
dosageMessage: '更新剂量时出现问题,请稍后重试。',
|
||
form: '更新失败',
|
||
formMessage: '更新剂型时出现问题,请稍后重试。',
|
||
expiryDate: '更新失败',
|
||
expiryDateMessage: '有效期更新失败,请稍后重试',
|
||
},
|
||
imageViewer: {
|
||
close: '关闭',
|
||
},
|
||
pickers: {
|
||
cancel: '取消',
|
||
confirm: '确定',
|
||
},
|
||
},
|
||
// 编辑频率页面翻译
|
||
editFrequency: {
|
||
title: '编辑服药频率',
|
||
missingParams: '缺少必要参数',
|
||
medicationName: '正在编辑:{{name}}',
|
||
sections: {
|
||
frequency: '服药频率',
|
||
frequencyDescription: '设置每日服药次数',
|
||
time: '每日提醒时间',
|
||
timeDescription: '添加并管理每天的提醒时间',
|
||
},
|
||
frequency: {
|
||
repeatPattern: '重复模式',
|
||
timesPerDay: '每日次数',
|
||
daily: '每日',
|
||
weekly: '每周',
|
||
custom: '自定义',
|
||
timesLabel: '{{count}} 次',
|
||
summary: '{{pattern}} {{count}} 次',
|
||
},
|
||
time: {
|
||
addTime: '添加时间',
|
||
editTime: '修改提醒时间',
|
||
addTimeButton: '添加时间',
|
||
},
|
||
actions: {
|
||
save: '保存修改',
|
||
},
|
||
error: {
|
||
title: '更新失败',
|
||
message: '更新服药频率时出现问题,请稍后重试。',
|
||
},
|
||
pickers: {
|
||
cancel: '取消',
|
||
confirm: '确定',
|
||
},
|
||
},
|
||
aiProgress: {
|
||
title: '识别中',
|
||
steps: {
|
||
analyzing_product: '正在进行产品分析...',
|
||
analyzing_suitability: '正在检测适宜人群...',
|
||
analyzing_ingredients: '正在评估成分信息...',
|
||
analyzing_effects: '正在生成安全建议...',
|
||
completed: '识别完成,正在载入详情...',
|
||
},
|
||
errors: {
|
||
default: '识别失败,请重新拍摄',
|
||
queryFailed: '查询失败,请稍后再试',
|
||
},
|
||
modal: {
|
||
title: '需要重新拍摄',
|
||
retry: '重新拍摄',
|
||
},
|
||
},
|
||
aiCamera: {
|
||
title: 'AI 用药识别',
|
||
steps: {
|
||
front: {
|
||
title: '正面',
|
||
subtitle: '保证药品名称清晰可见',
|
||
},
|
||
side: {
|
||
title: '背面',
|
||
subtitle: '包含规格、成分等信息',
|
||
},
|
||
aux: {
|
||
title: '侧面',
|
||
subtitle: '补充更多细节提升准确率',
|
||
},
|
||
stepProgress: '步骤 {{current}} / {{total}}',
|
||
optional: '(可选)',
|
||
notTaken: '未拍摄',
|
||
},
|
||
buttons: {
|
||
flip: '翻转',
|
||
capture: '拍照',
|
||
complete: '完成',
|
||
album: '从相册',
|
||
},
|
||
permission: {
|
||
title: '需要相机权限',
|
||
description: '授权后即可快速拍摄药品包装,自动识别信息',
|
||
button: '授权访问相机',
|
||
},
|
||
alerts: {
|
||
pickFailed: {
|
||
title: '选择失败',
|
||
message: '请重试或更换图片',
|
||
},
|
||
captureFailed: {
|
||
title: '拍摄失败',
|
||
message: '请重试',
|
||
},
|
||
insufficientPhotos: {
|
||
title: '照片不足',
|
||
message: '请至少完成正面和背面拍摄',
|
||
},
|
||
taskFailed: {
|
||
title: '创建任务失败',
|
||
defaultMessage: '请检查网络后重试',
|
||
},
|
||
},
|
||
guideModal: {
|
||
badge: '规范',
|
||
title: '拍摄图片清晰',
|
||
description1: '请拍摄药品正面\\背面的产品名称\\说明部分。',
|
||
description2: '注意拍摄时光线充分,没有反光,文字部分清晰可见。照片的清晰度会影响识别的准确率。',
|
||
button: '知道了!',
|
||
},
|
||
},
|
||
aiSummary: {
|
||
title: 'AI 用药总结',
|
||
headerBadge: 'AI 专业总结',
|
||
subtitle: '依从性与安全重点',
|
||
overviewTitle: '用药总览',
|
||
keyInsights: 'AI 重点解读',
|
||
refresh: 'DeepSeek 正在进行分析,请稍等',
|
||
stats: {
|
||
activePlans: '进行中计划',
|
||
plannedDoses: '计划总次数',
|
||
takenDoses: '已完成次数',
|
||
completion: '总体完成度',
|
||
avgCompletion: '平均依从度',
|
||
activeDays: '计划天数',
|
||
},
|
||
badges: {
|
||
adherence: '依从性',
|
||
safety: '监测建议',
|
||
},
|
||
doseSummary: '已完成 {{taken}} / {{planned}} 次',
|
||
daysLabel: '{{days}} 天计划 · 每日 {{times}} 次',
|
||
completionLabel: '完成度 {{value}}%',
|
||
emptyTitle: '暂无开启的用药计划',
|
||
emptyDescription: '激活或新增计划后,将自动生成 AI 总结。',
|
||
error403: '免费使用次数已用完,请开通会员获取更多使用次数',
|
||
genericError: '获取AI总结失败,请稍后重试',
|
||
keyInsightPlaceholder: '暂未生成解读',
|
||
listTitle: '计划分解',
|
||
updatedAt: '更新于 {{time}}',
|
||
pillChip: '专业建议',
|
||
retry: '重试',
|
||
infoModal: {
|
||
badge: '说明',
|
||
title: '刷新规律 & 依从度',
|
||
point1: '• 每日生成:基于当天已开启的用药计划与实际打卡数据,每天出一版总结。',
|
||
point2: '• 刷新作用:重新获取最新的计划 vs 实际完成度和 AI 解读,不会扣额外次数。',
|
||
point3: '• 依从度:按计划执行的程度(完成率)。越高代表越遵医嘱、风险越低。',
|
||
point4: '• 统计口径:仅统计 isActive=true 且未删除的计划;完成次数只计状态为 taken 的记录。',
|
||
button: '知道了',
|
||
},
|
||
completionInfoModal: {
|
||
badge: '计算说明',
|
||
title: '完成度计算逻辑',
|
||
point1: '• 总体完成度 = 所有计划的实际服药次数总和 ÷ 所有计划的理论服药次数总和 × 100%',
|
||
point2: '• 实际服药次数:标记为"已服用"的用药记录数量',
|
||
point3: '• 理论服药次数:从计划开始时间到当前时间,按照每日服药频率计算的总次数',
|
||
point4: '• 理论次数详细计算:(当前日期 - 开始日期 + 1) × 每日服药次数,例如:今天是第5天,每日2次,则理论次数为10次',
|
||
point5: '• 单个计划完成度 = 该计划的已服药次数 ÷ 该计划的理论服药次数 × 100%',
|
||
button: '了解了',
|
||
},
|
||
},
|
||
aiSummaryInfo: {
|
||
title: 'AI 用药总结',
|
||
placeholderImage: '介绍图片',
|
||
viewImage: '查看大图',
|
||
features: {
|
||
intelligent: {
|
||
title: '智能分析',
|
||
description: 'AI 深度分析您的用药记录,提供个性化健康建议',
|
||
},
|
||
tracking: {
|
||
title: '趋势追踪',
|
||
description: '长期追踪用药效果,帮助优化治疗方案',
|
||
},
|
||
professional: {
|
||
title: '专业可靠',
|
||
description: '基于医学知识库,提供安全可靠的健康分析',
|
||
},
|
||
},
|
||
confirmButton: '我要订阅',
|
||
},
|
||
};
|