Files
digital-pilates/i18n/zh/medication.ts

544 lines
17 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 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: '我要订阅',
},
};