feat(i18n): 实现应用国际化支持,添加中英文翻译
- 为所有UI组件添加国际化支持,替换硬编码文本 - 新增useI18n钩子函数统一管理翻译 - 完善中英文翻译资源,覆盖统计、用药、通知设置等模块 - 优化Tab布局使用翻译键值替代静态文本 - 更新药品管理、个人资料编辑等页面的多语言支持
This commit is contained in:
@@ -2,6 +2,7 @@ import { fetchHRVWithStatus } from '@/utils/health';
|
||||
import { Image } from 'expo-image';
|
||||
import { LinearGradient } from 'expo-linear-gradient';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
||||
import { StressAnalysisModal } from './StressAnalysisModal';
|
||||
|
||||
@@ -10,6 +11,7 @@ interface StressMeterProps {
|
||||
}
|
||||
|
||||
export function StressMeter({ curDate }: StressMeterProps) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
// 将HRV值转换为压力指数(0-100)
|
||||
// HRV值范围:30-110ms,映射到压力指数100-0
|
||||
@@ -34,23 +36,23 @@ export function StressMeter({ curDate }: StressMeterProps) {
|
||||
|
||||
const getHrvData = async () => {
|
||||
try {
|
||||
console.log('StressMeter: 开始获取HRV数据...', curDate);
|
||||
console.log('StressMeter: Starting to get HRV data...', curDate);
|
||||
|
||||
// 使用智能HRV数据获取功能
|
||||
const result = await fetchHRVWithStatus(curDate);
|
||||
|
||||
console.log('StressMeter: HRV数据获取结果:', result);
|
||||
console.log('StressMeter: HRV data fetch result:', result);
|
||||
|
||||
if (result.hrvData) {
|
||||
setHrvValue(Math.round(result.hrvData.value));
|
||||
console.log(`StressMeter: 使用${result.message},HRV值: ${result.hrvData.value}ms`);
|
||||
console.log(`StressMeter: Using ${result.message}, HRV value: ${result.hrvData.value}ms`);
|
||||
} else {
|
||||
console.log('StressMeter: 未获取到HRV数据');
|
||||
console.log('StressMeter: No HRV data obtained');
|
||||
// 可以设置一个默认值或者显示无数据状态
|
||||
setHrvValue(0);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('StressMeter: 获取HRV数据失败:', error);
|
||||
console.error('StressMeter: Failed to get HRV data:', error);
|
||||
setHrvValue(0);
|
||||
}
|
||||
}
|
||||
@@ -84,7 +86,7 @@ export function StressMeter({ curDate }: StressMeterProps) {
|
||||
source={require('@/assets/images/icons/icon-pressure.png')}
|
||||
style={styles.titleIcon}
|
||||
/>
|
||||
<Text style={styles.title}>压力</Text>
|
||||
<Text style={styles.title}>{t('statistics.components.stress.title')}</Text>
|
||||
</View>
|
||||
{/* {updateTime && (
|
||||
<Text style={styles.headerUpdateTime}>{formatUpdateTime(updateTime)}</Text>
|
||||
@@ -94,7 +96,7 @@ export function StressMeter({ curDate }: StressMeterProps) {
|
||||
{/* 数值显示区域 */}
|
||||
<View style={styles.valueSection}>
|
||||
<Text style={styles.value}>{hrvValue || '--'}</Text>
|
||||
<Text>ms</Text>
|
||||
<Text>{t('statistics.components.stress.unit')}</Text>
|
||||
</View>
|
||||
|
||||
{/* 进度条区域 */}
|
||||
|
||||
Reference in New Issue
Block a user