Files
digital-pilates/i18n/zh/challenge.ts
richarjiang bca6670390 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.
2025-11-28 17:29:51 +08:00

304 lines
9.5 KiB
TypeScript

export const challengeDetail = {
title: '挑战详情',
notFound: '未找到该挑战,稍后再试试吧。',
loading: '加载挑战详情中…',
retry: '重新加载',
share: {
generating: '正在生成分享卡片...',
failed: '分享失败,请稍后重试',
messageJoined: '我正在参与「{{title}}」挑战,已完成 {{completed}}/{{target}} 天!一起加入吧!',
messageNotJoined: '发现一个很棒的挑战「{{title}}」,一起来参与吧!',
},
dateRange: {
format: '{{start}} - {{end}}',
monthDay: '{{month}}月{{day}}日',
ongoing: '持续更新中',
},
participants: {
count: '{{count}} 人正在参与',
ongoing: '持续更新中',
more: '更多',
},
detail: {
requirement: '按日打卡自动累计',
viewAllRanking: '查看全部',
},
checkIn: {
title: '挑战打卡',
todayChecked: '今日已打卡',
subtitle: '每日打卡会累计进度,达成目标天数',
subtitleChecked: '已记录今日进度,明天继续保持',
button: {
checkIn: '立即打卡',
checking: '打卡中…',
checked: '今日已打卡',
notJoined: '加入后打卡',
upcoming: '挑战未开始',
expired: '挑战已结束',
},
toast: {
alreadyChecked: '今日已打卡',
notStarted: '挑战未开始,开始后再来打卡',
expired: '挑战已结束,无法打卡',
mustJoin: '加入挑战后才能打卡',
success: '打卡成功,继续坚持!',
failed: '打卡失败,请稍后再试',
},
},
cta: {
join: '立即加入挑战',
joining: '加入中…',
leave: '退出挑战',
leaving: '退出中…',
delete: '删除挑战',
deleting: '删除中…',
upcoming: '挑战即将开始',
expired: '挑战已结束',
},
highlight: {
join: {
title: '立即加入挑战',
subtitle: '邀请好友一起坚持,更容易收获成果',
},
leave: {
title: '先别急着离开',
subtitle: '再坚持一下,下一个里程碑就要出现了',
},
upcoming: {
title: '挑战即将开始',
subtitle: '{{date}} 开始,敬请期待',
subtitleFallback: '挑战即将开启,敬请期待',
},
expired: {
title: '挑战已结束',
subtitle: '{{date}} 已截止,期待下一次挑战',
subtitleFallback: '本轮挑战已结束,期待下一次挑战',
},
},
alert: {
leaveConfirm: {
title: '确认退出挑战?',
message: '退出后需要重新加入才能继续坚持。',
cancel: '取消',
confirm: '退出挑战',
},
joinFailed: '加入挑战失败',
leaveFailed: '退出挑战失败',
archiveConfirm: {
title: '确认删除该挑战?',
message: '删除后将无法恢复,参与者也将无法再访问此挑战。',
cancel: '取消',
confirm: '删除挑战',
},
archiveFailed: '删除挑战失败',
archiveSuccess: '挑战已删除',
},
ranking: {
title: '排行榜',
description: '',
empty: '榜单即将开启,快来抢占席位。',
today: '今日',
todayGoal: '今日目标',
hour: '小时',
},
leaderboard: {
title: '排行榜',
loading: '加载榜单中…',
notFound: '未找到该挑战。',
loadFailed: '暂时无法加载榜单,请稍后再试。',
empty: '榜单即将开启,快来抢占席位。',
loadMore: '加载更多…',
loadMoreFailed: '加载更多失败,请下拉刷新重试',
},
shareCard: {
footer: 'Out Live · 超越生命',
progress: {
label: '我的坚持进度',
days: '{{completed}} / {{target}} 天',
completed: '🎉 已完成挑战!',
remaining: '还差 {{remaining}} 天完成挑战',
},
info: {
checkInDaily: '按日打卡',
joinUs: '快来一起坚持吧',
},
shareCode: {
copied: '分享码已复制',
},
},
shareCode: {
copied: '分享码已复制',
},
};
export const badges = {
title: '勋章馆',
subtitle: '点亮每一次坚持',
hero: {
highlight: '保持连续打卡即可解锁更多稀有勋章',
earnedLabel: '已获得',
totalLabel: '总数',
progressLabel: '解锁进度',
},
categories: {
all: '全部',
sleep: '睡眠',
exercise: '运动',
diet: '饮食',
challenge: '挑战',
social: '社交',
special: '特别',
},
rarities: {
common: '普通',
uncommon: '少见',
rare: '稀有',
epic: '史诗',
legendary: '传说',
},
status: {
earned: '已获得',
locked: '待解锁',
earnedAt: '{{date}} 获得',
},
legend: '稀有度说明',
filterLabel: '勋章分类',
empty: {
title: '还没有勋章',
description: '完成睡眠、运动、挑战等任务即可点亮你的第一枚勋章。',
action: '去探索计划',
},
};
export const challenges = {
title: '挑战',
subtitle: '加入官方或自定义挑战,一起坚持',
loading: '加载挑战中…',
loadFailed: '暂时无法获取挑战,请稍后再试。',
retry: '重新加载',
empty: '暂时没有挑战,先去创建或加入一个吧。',
customChallenges: '自定义挑战',
officialChallengesTitle: '官方挑战',
officialChallenges: '官方挑战即将上线。',
join: '加入',
joined: '已加入',
invalidInviteCode: '请输入有效的分享码',
joinSuccess: '加入挑战成功',
joinFailed: '加入失败,请稍后再试',
joinModal: {
title: '输入分享码加入',
description: '输入好友分享码即可加入挑战',
confirm: '加入挑战',
joining: '加入中…',
cancel: '取消',
placeholder: '请输入分享码',
},
statusLabels: {
upcoming: '即将开始',
ongoing: '进行中',
expired: '已结束',
},
createCustom: {
title: '创建挑战',
editTitle: '编辑挑战',
yourChallenge: '你的挑战',
basicInfo: '基础信息',
challengeSettings: '挑战设置',
displayInteraction: '展示与互动',
durationDays: '{{days}} 天',
durationDaysChallenge: '{{days}} 天挑战',
dayUnit: '天',
defaultTitle: '自定义挑战',
rankingDescription: '榜单每日更新',
typeLabels: {
water: '饮水',
exercise: '运动',
diet: '饮食',
sleep: '睡眠',
mood: '心情',
weight: '体重',
custom: '自定义',
},
fields: {
title: '挑战名称',
titlePlaceholder: '例如 21 天早睡',
coverImage: '封面图',
uploadCover: '上传封面',
challengeDescription: '挑战简介',
descriptionPlaceholder: '写下挑战目标和打卡方式',
challengeType: '挑战类型',
challengeTypeHelper: '选择最贴近目标的类型',
timeRange: '时间范围',
start: '开始日期',
end: '结束日期',
duration: '持续时间',
periodLabel: '周期标签',
periodLabelPlaceholder: '例如 21 天养成计划',
dailyTargetAndUnit: '每日目标与单位',
dailyTargetPlaceholder: '每日目标数值',
unitPlaceholder: '单位(杯/分钟/步数等)',
unitHelper: '选填,展示在每日目标后',
minimumCheckInDays: '最少打卡天数',
minimumCheckInDaysPlaceholder: '不能超过总天数',
maxParticipants: '参与人数上限',
noLimit: '不限制',
isPublic: '允许他人通过分享码加入',
publicDescription: '开启后他人可凭分享码加入;关闭则仅自己可见',
},
floatingCTA: {
title: '生成分享码',
subtitle: '创建挑战并分享给好友一起打卡',
editTitle: '保存更改',
editSubtitle: '更新挑战信息并同步给参与者',
},
buttons: {
createAndGenerateCode: '创建并生成分享码',
creating: '创建中…',
updateAndSave: '保存修改',
updating: '保存中…',
},
datePicker: {
confirm: '确认',
cancel: '取消',
},
alerts: {
titleRequired: '请输入挑战名称',
endTimeError: '结束时间需要晚于开始时间',
targetValueError: '每日目标需在 1-1000 之间',
minimumDaysError: '最少打卡天数需在 1-365 之间',
minimumDaysExceedError: '最少打卡天数不能超过挑战总天数',
participantsError: '人数需在 2-10000 之间或留空',
createFailed: '创建挑战失败',
createSuccess: '挑战已创建',
updateSuccess: '挑战已更新',
},
imageUpload: {
selectSource: '选择封面',
selectMessage: '拍照或从相册选择封面',
camera: '拍照',
album: '相册',
cancel: '取消',
cameraPermission: '需要相机权限',
cameraPermissionMessage: '请开启相机权限以拍摄封面',
albumPermissionMessage: '请开启相册权限以选择图片',
cameraFailed: '打开相机失败',
cameraFailedMessage: '请重试或从相册选择',
selectFailed: '选择失败',
selectFailedMessage: '暂时无法选择图片,请重试',
uploadFailed: '上传失败',
uploadFailedMessage: '封面上传失败,请稍后重试',
uploading: '上传中…',
clear: '移除封面',
helper: '推荐使用 16:9 的高清图片,大小 2MB 内',
},
shareModal: {
title: '分享码已生成',
subtitle: '分享给好友即可一起参与挑战',
generatingCode: '生成中…',
copyCode: '复制分享码',
viewChallenge: '查看挑战',
later: '稍后再说',
},
},
};