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

408
i18n/zh/personal.ts Normal file
View File

@@ -0,0 +1,408 @@
export const personal = {
edit: '编辑',
login: '登录',
memberNumber: '会员编号: {{number}}',
aiUsage: '免费AI次数: {{value}}',
aiUsageUnlimited: '无限',
fishRecord: '能量记录',
badgesPreview: {
title: '我的勋章',
subtitle: '记录你的荣耀时刻',
cta: '查看全部',
loading: '正在同步勋章...',
empty: '完成睡眠或挑战任务即可解锁首枚勋章',
lockedHint: '坚持训练即可点亮更多勋章',
},
stats: {
height: '身高',
weight: '体重',
age: '年龄',
ageSuffix: '岁',
},
membership: {
badge: '尊享会员',
planFallback: 'VIP 会员',
expiryLabel: '会员有效期',
changeButton: '更改会员套餐',
validForever: '长期有效',
dateFormat: 'YYYY年MM月DD日',
},
sections: {
notifications: '通知',
developer: '开发者',
other: '其他',
account: '账号与安全',
language: '语言',
healthData: '健康数据授权',
medicalSources: '医学建议来源',
customization: '个性化',
},
menu: {
notificationSettings: '通知设置',
developerOptions: '开发者选项',
pushSettings: '推送通知设置',
privacyPolicy: '隐私政策',
feedback: '意见反馈',
userAgreement: '用户协议',
logout: '退出登录',
deleteAccount: '注销帐号',
healthDataPermissions: '健康数据授权说明',
whoSource: '世界卫生组织 (WHO)',
tabBarConfig: '底部栏配置',
},
language: {
title: '语言',
menuTitle: '界面语言',
modalTitle: '选择语言',
modalSubtitle: '选择后界面会立即更新',
cancel: '取消',
options: {
zh: {
label: '中文',
description: '推荐中文用户使用',
},
en: {
label: '英文',
description: '使用英文界面',
},
},
},
tabBarConfig: {
title: '底部栏配置',
subtitle: '自定义你的底部导航栏',
description: '使用开关控制标签的显示和隐藏',
resetButton: '恢复默认',
cannotDisable: '此标签不可关闭',
resetConfirm: {
title: '恢复默认设置?',
message: '将重置所有底部栏配置和显示状态',
cancel: '取消',
confirm: '确认恢复',
},
resetSuccess: '已恢复默认设置',
},
};
export const editProfile = {
title: '编辑资料',
fields: {
name: '昵称',
gender: '性别',
height: '身高',
weight: '体重',
activityLevel: '活动水平',
birthDate: '出生日期',
maxHeartRate: '最大心率',
},
gender: {
male: '男',
female: '女',
notSet: '未设置',
},
height: {
unit: '厘米',
placeholder: '170厘米',
},
weight: {
unit: '公斤',
placeholder: '55公斤',
},
activityLevels: {
1: '久坐',
2: '轻度活跃',
3: '中度活跃',
4: '非常活跃',
descriptions: {
1: '很少运动',
2: '每周1-3次运动',
3: '每周3-5次运动',
4: '每周6-7次运动',
},
},
birthDate: {
placeholder: '1995年1月1日',
format: '{{year}}年{{month}}月{{day}}日',
},
maxHeartRate: {
unit: '次/分钟',
notAvailable: '未获取',
alert: {
title: '提示',
message: '最大心率数据从健康应用自动获取',
},
},
alerts: {
notLoggedIn: {
title: '未登录',
message: '请先登录后再尝试保存',
},
saveFailed: {
title: '保存失败',
message: '请稍后重试',
},
avatarPermissions: {
title: '权限不足',
message: '需要相册权限以选择头像',
},
avatarUploadFailed: {
title: '上传失败',
message: '头像上传失败,请重试',
},
avatarError: {
title: '发生错误',
message: '选择头像失败,请重试',
},
avatarSuccess: {
title: '成功',
message: '头像更新成功',
},
},
modals: {
cancel: '取消',
confirm: '确定',
save: '保存',
input: {
namePlaceholder: '输入昵称',
weightPlaceholder: '输入体重',
weightUnit: '公斤 (kg)',
},
selectHeight: '选择身高',
selectGender: '选择性别',
selectActivityLevel: '选择活动水平',
female: '女性',
male: '男性',
},
defaultValues: {
name: '今晚要吃肉',
height: 170,
weight: 55,
birthDate: '1995-01-01',
activityLevel: 1,
},
};
export const login = {
title: '登录',
subtitle: '健康生活,自律让我更自由',
appleLogin: '使用 Apple 登录',
loggingIn: '登录中...',
agreement: {
readAndAgree: '我已阅读并同意',
privacyPolicy: '《隐私政策》',
and: '和',
userAgreement: '《用户协议》',
alert: {
title: '请先阅读并同意',
message: '继续登录前,请阅读并勾选《隐私政策》和《用户协议》。点击“同意并继续”将默认勾选并继续登录。',
cancel: '取消',
confirm: '同意并继续',
},
},
errors: {
appleIdentityTokenMissing: '未获取到 Apple 身份令牌',
loginFailed: '登录失败,请稍后再试',
loginFailedTitle: '登录失败',
},
success: {
loginSuccess: '登录成功',
},
};
export const authGuard = {
logout: {
error: '退出登录失败',
errorMessage: '退出登录失败,请稍后重试',
},
confirmLogout: {
title: '确认退出',
message: '确定要退出当前账号吗?',
cancelButton: '取消',
confirmButton: '确定',
},
deleteAccount: {
successTitle: '账号已注销',
successMessage: '您的账号已成功注销',
confirmButton: '确定',
errorTitle: '注销失败',
errorMessage: '注销失败,请稍后重试',
},
confirmDeleteAccount: {
title: '确认注销账号',
message: '此操作不可恢复,将删除您的账号及相关数据。确定继续吗?',
cancelButton: '取消',
confirmButton: '确认注销',
},
};
export const membershipModal = {
plans: {
lifetime: {
title: '终身会员',
subtitle: '终身陪伴,见证您的每一次健康蜕变',
},
quarterly: {
title: '季度会员',
subtitle: '3个月科学计划让健康成为生活习惯',
},
weekly: {
title: '周会员',
subtitle: '7天体验期感受专业健康指导的力量',
},
unknown: '未知套餐',
tag: '超值推荐',
},
benefits: {
title: '权益对比',
subtitle: '核心权益一目了然,选择更安心',
table: {
benefit: '权益',
vip: 'VIP',
regular: '普通用户',
},
items: {
aiCalories: {
title: 'AI拍照记录热量',
description: '通过拍照识别食物并自动记录热量',
},
aiNutrition: {
title: 'AI拍照识别包装',
description: '识别食品包装上的营养成分信息',
},
healthReminder: {
title: '每日健康提醒',
description: '根据个人目标提供个性化健康提醒',
},
aiMedication: {
title: 'AI 智能用药管家',
description: '深度解析用药禁忌,生成专属服药计划,科学守护健康每一刻',
},
customChallenge: {
title: '解锁无限自定义挑战',
description: '突破限制,邀请挚友同行,让坚持不再孤单,共同见证蜕变',
},
},
permissions: {
unlimited: '无限次使用',
limited: '有限次使用',
dailyLimit: '每日{{count}}次',
fullSupport: '完全支持',
basicSupport: '基础提醒',
smartReminder: '智能提醒',
fullAnalysis: '深度分析',
createUnlimited: '无限创建',
notSupported: '不支持',
},
},
sectionTitle: {
plans: '会员套餐',
plansSubtitle: '灵活选择,跟随节奏稳步提升',
},
actions: {
subscribe: '立即订阅',
processing: '正在处理购买...',
restore: '恢复购买',
restoring: '恢复中...',
back: '返回',
close: '关闭会员购买弹窗',
selectPlan: '选择{{plan}}套餐',
purchaseHint: '点击购买{{plan}}会员套餐',
},
agreements: {
prefix: '开通即视为同意',
userAgreement: '《用户协议》',
membershipAgreement: '《会员协议》',
autoRenewalAgreement: '《自动续费协议》',
alert: {
title: '请阅读并同意相关协议',
message: '购买前需要同意用户协议、会员协议和自动续费协议',
confirm: '确定',
},
},
errors: {
noProducts: '暂未获取到会员商品,请在 RevenueCat 中配置 iOS 产品并同步到当前 Offering。',
purchaseCancelled: '购买已取消',
alreadyPurchased: '您已拥有此商品',
networkError: '网络连接失败',
paymentPending: '支付正在处理中',
invalidCredentials: '账户验证失败',
purchaseFailed: '购买失败',
restoreSuccess: '恢复购买成功',
restoreFailed: '恢复购买失败',
restoreCancelled: '恢复购买已取消',
restorePartialFailed: '恢复购买部分失败',
noPurchasesFound: '没有找到购买记录',
selectPlan: '请选择会员套餐',
},
loading: {
products: '正在加载会员套餐,请稍候',
purchase: '购买正在进行中,请稍候',
},
success: {
purchase: '会员开通成功',
},
};
export const notificationSettings = {
title: '通知设置',
loading: '加载中...',
sections: {
notifications: '通知设置',
medicationReminder: '药品提醒',
nutritionReminder: '营养提醒',
moodReminder: '心情提醒',
description: '说明',
},
items: {
pushNotifications: {
title: '消息推送',
description: '开启后将接收应用通知',
},
medicationReminder: {
title: '药品通知提醒',
description: '在用药时间接收提醒通知',
},
nutritionReminder: {
title: '营养记录提醒',
description: '在用餐时间接收营养记录提醒',
},
moodReminder: {
title: '心情记录提醒',
description: '在晚间接收心情记录提醒',
},
},
description: {
text: '• 消息推送是所有通知的总开关\n• 各类提醒需要在消息推送开启后才能使用\n• 您可以在系统设置中管理通知权限\n• 关闭消息推送将停止所有应用通知',
},
alerts: {
permissionDenied: {
title: '权限被拒绝',
message: '请在系统设置中开启通知权限,然后再尝试开启推送功能',
cancel: '取消',
goToSettings: '去设置',
},
error: {
title: '错误',
message: '请求通知权限失败',
saveFailed: '保存设置失败',
medicationReminderFailed: '设置药品提醒失败',
nutritionReminderFailed: '设置营养提醒失败',
moodReminderFailed: '设置心情提醒失败',
},
notificationsEnabled: {
title: '通知已开启',
body: '您将收到应用通知和提醒',
},
medicationReminderEnabled: {
title: '药品提醒已开启',
body: '您将在用药时间收到提醒通知',
},
nutritionReminderEnabled: {
title: '营养提醒已开启',
body: '您将在用餐时间收到营养记录提醒',
},
moodReminderEnabled: {
title: '心情提醒已开启',
body: '您将在晚间收到心情记录提醒',
},
},
};