Add Chinese translations for medication management and personal settings

- Introduced new translation files for medication, personal, and weight management in Chinese.
- Updated the main index file to include the new translation modules.
- Enhanced the medication type definitions to include 'ointment'.
- Refactored workout type labels to utilize i18n for better localization support.
- Improved sleep quality descriptions and recommendations with i18n integration.
This commit is contained in:
richarjiang
2025-11-28 17:29:51 +08:00
parent fbe0c92f0f
commit bca6670390
42 changed files with 7972 additions and 6632 deletions

472
i18n/zh/medication.ts Normal file
View File

@@ -0,0 +1,472 @@
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: '知道了!',
},
},
};