From: 袁清梦 <3449750381@qq.com> Date: Fri, 6 Sep 2024 07:37:35 +0000 (+0000) Subject: Merge #888 into sdk602patch0626 from refs/changes/888/head X-Git-Tag: release_V1.2.70_20241020_135402~529^2~2^2 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=c98418d0161806ce0b9f617d72cc2b5e19fbcaad;p=mirrors%2FFD230.git Merge #888 into sdk602patch0626 from refs/changes/888/head 增加多国语言自动翻译脚本:待完善 * refs/changes/888/head: (2 commits squashed) - 增加多国语言自动翻译脚本:待完善 - 修复心率测量发生的死机 Signed-off-by: Caisking <3449750381@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/888 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp index cb9a40f65..c8dacf31e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp @@ -192,7 +192,7 @@ namespace OHOS heartSerial->EnableGradient(true); heartchart->AddDataSerial(heartSerial); - heartchart->RefreshChart(); + // heartchart->RefreshChart(); /*更新最大最小值*/ SetDataTopAndBottom(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp index 2a4757ca0..26910d3fc 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp @@ -429,7 +429,8 @@ namespace OHOS heartSerial->EnableGradient(true); heartchart->AddDataSerial(heartSerial); - heartchart->RefreshChart(); + heartchart->Invalidate(); + // heartchart->RefreshChart(); } void HeartRateView::CleanAllDataView() { @@ -452,7 +453,8 @@ namespace OHOS heartSerial->EnableGradient(true); heartchart->AddDataSerial(heartSerial); - heartchart->RefreshChart(); + heartchart->Invalidate(); + // heartchart->RefreshChart(); /*更新最大最小值*/ SetDataTopAndBottom(); diff --git a/tools/language_tool/Language_xlxs/cs.xlsx b/tools/language_tool/Language_xlxs/cs.xlsx new file mode 100644 index 000000000..59a1d1432 Binary files /dev/null and b/tools/language_tool/Language_xlxs/cs.xlsx differ diff --git a/tools/language_tool/Language_xlxs/zh.xlsx b/tools/language_tool/Language_xlxs/zh.xlsx new file mode 100644 index 000000000..87c0529aa --- /dev/null +++ b/tools/language_tool/Language_xlxs/zh.xlsx @@ -0,0 +1,568 @@ +id 内容 +STR_EXERCISE_OUTDOORWALKING 室外走路 +STR_EXERCISE_OUTDOORRUNNING 室外跑步 +STR_EXERCISE_OUTDOORBIKING 室外骑行 +STR_EXERCISE_GENERAL 一般锻炼 +STR_EXERCISE_FREETRAINING 自由训练 +STR_EXERCISE_RESISTANCETRAINING 肌力训练 +STR_EXERCISE_SPINBIKE 飞轮车/室内健身车 +STR_EXERCISE_TREADMILL 踏步机 +STR_EXERCISE_STROLLMACHINE 漫步机 +STR_EXERCISE_HIIT HIIT/高强度间歇训练 +STR_EXERCISE_CROSSFIT 健身 +STR_EXERCISE_GROUPCALISTHENICS 团体操 +STR_EXERCISE_YOGA 瑜珈 +STR_EXERCISE_YOGACAT 瑜珈猫式 +STR_EXERCISE_YOGACOW 瑜珈牛式 +STR_EXERCISE_YOGACOBRA 瑜珈眼镜蛇式 +STR_EXERCISE_YOGAHERO1 瑜珈英雄式1 +STR_EXERCISE_YOGAHERO2 瑜珈英雄式2 +STR_EXERCISE_YOGAHERO3 瑜珈英雄式3 +STR_EXERCISE_YOGAROLLING 瑜珈滚轮 +STR_EXERCISE_INDOORWALKING 室内走路 +STR_EXERCISE_INDOORRUNNING 室内跑步 +STR_EXERCISE_JUMPINGROPE 跳绳 +STR_EXERCISE_PILATES 皮拉提斯 +STR_EXERCISE_CROSS_FIT 混合健身 +STR_EXERCISE_FUNCTIONALTRAINING 功能性训练 +STR_EXERCISE_PHYSICALTRAINING 体能训练 +STR_EXERCISE_TAEKWONDO 跆拳道/踢拳 +STR_EXERCISE_BOXING 拳击 +STR_EXERCISE_KICKBOXING 自由搏击 +STR_EXERCISE_KARATE 空手道 +STR_EXERCISE_FENCING 击剑 +STR_EXERCISE_CORETRAINING 核心训练 +STR_EXERCISE_BODYCOMBAT 拳击有氧 +STR_EXERCISE_KENDO 剑道 +STR_EXERCISE_HORIZONTALBAR 单杠 +STR_EXERCISE_PARALLELBARS 双杠 +STR_EXERCISE_CIRCUIT 循环训练 +STR_EXERCISE_AEROBICS 有氧运动 +STR_EXERCISE_CALISTHENICE 健美操 +STR_EXERCISE_P90X P90X +STR_EXERCISE_KETTLEBELLTRAINING 壶铃训练 +STR_EXERCISE_MIXEDMARTIALARTS 综合格斗 +STR_EXERCISE_STAIRCLIMBINGMACHINE 爬楼梯机 +STR_EXERCISE_WEIGHTLIFTING 举重 +STR_EXERCISE_BARRE Barre +STR_EXERCISE_HANDCYCLING 手轮 +STR_EXERCISE_TRACKFIELD 田径 +STR_EXERCISE_WRESTLING 角力 +STR_EXERCISE_MINDBODY 身心运动 +STR_EXERCISE_FLEXIBILITY 柔软操 +STR_EXERCISE_MIXEDCARDIO 混和有氧 +STR_EXERCISE_TRADITIONALSTRENGTHTRAINING 传统肌力训练 +STR_EXERCISE_CROSSTRAINING 交叉训练 +STR_EXERCISE_GYMNASTICS 体操 +STR_EXERCISE_STEPTRAINING 阶梯训练 +STR_EXERCISE_ELLIPTICALTRAINER 椭圆机 +STR_EXERCISE_ROWINGMACHINE 划船机 +STR_DANCING_GENERAL 一般舞蹈 +STR_DANCING_BELLY 肚皮舞 +STR_DANCING_JAZZ 爵士舞 +STR_DANCING_LATIN 拉丁舞 +STR_DANCING_BALLET 芭蕾 +STR_DANCING_STREET 街舞 +STR_DANCING_PUBLICSQUARE 广场舞 +STR_DANCING_ZUMBA 尊巴 +STR_DANCING_SOCIALDANCE 社交舞 +STR_DANCING_TAPDANCE 踢踏舞 +STR_RECREATIONAL_SPORTS 一般休闲运动 +STR_RECREATIONAL_SKATING 滑轮溜冰 +STR_RECREATIONAL_MARTIALARTS 武术 +STR_RECREATIONAL_TAICHI 太极拳 +STR_RECREATIONAL_HULAHOOP 呼拉圈 +STR_RECREATIONAL_DISCSPORT 飞盘 +STR_RECREATIONAL_DARTS 飞镖 +STR_RECREATIONAL_ARCHERY 射箭 +STR_RECREATIONAL_HORSERIDING 骑马 +STR_RECREATIONAL_BATTLEGAME 对战游戏 +STR_RECREATIONAL_KITE 放风筝 +STR_RECREATIONAL_TUGOFWAR 拔河 +STR_RECREATIONAL_SWING 鞦韆 +STR_RECREATIONAL_STAIRCLIMBING 爬楼梯 +STR_RECREATIONAL_OBSTACLERACE 障碍赛 +STR_RECREATIONAL_FISHING 钓鱼 +STR_RECREATIONAL_HUNTING 打猎 +STR_RECREATIONAL_SCOOTERRIDING 滑板车 +STR_RECREATIONAL_PARAGLIDING 滑翔伞 +STR_RECREATIONAL_TEAMSPORTS 团队竞技 +STR_RECREATIONAL_FINESSGAMING 健身电玩 +STR_RECREATIONAL_HIKING 健行 +STR_RECREATIONAL_EQUESTRIANSPORTS 马术运动 +STR_RECREATIONAL_PLAY 玩乐 +STR_BALL_GAMES 一般球类运动 +STR_BALL_BADMINTON 羽毛球 +STR_BALL_TABLETENNIS 乒乓球 +STR_BALL_TENNIS 网球 +STR_BALL_BILLIARDS 撞球 +STR_BALL_BOWLING 保龄球 +STR_BALL_VOLLEYBALL 排球 +STR_BALL_SHUTTLECOCK 毽子球 +STR_BALL_HANDBALL 手球 +STR_BALL_BASEBALL 棒球 +STR_BALL_SOFTBALL 垒球 +STR_BALL_CRICKET 板球 +STR_BALL_FOOTBALL 美式橄榄球 +STR_BALL_BEACHSOCCER 沙滩足球 +STR_BALL_BEACHVOLLEYBALL 沙滩排球 +STR_BALL_CROQUET 槌球 +STR_BALL_HOCKEY 曲棍球 +STR_BALL_SQUASH 英式壁球 +STR_BALL_SEPAKTAKRAW 藤球 +STR_BALL_DODGEBALL 躲避球 +STR_BALL_BASKETBALL 篮球 +STR_BALL_SOCCER 足球 +STR_BALL_GOLF 高尔夫球 +STR_BALL_POLO 马球 +STR_BALL_RACQUETBALL 美式壁球 +STR_BALL_RUGBY 英式橄榄球 +STR_BALL_GATEBALL 门球 +STR_BALL_PICKLEBALL 匹克球 +STR_BALL_LACROSSE 袋棍球 +STR_WATER_ACTIVITIES 一般水上活动 +STR_WATER_SAILING 帆船 +STR_WATER_SURFING 冲浪 +STR_WATER_WHITEWATERRAFTING 泛舟 +STR_WATER_CANOEING 划龙舟 +STR_WATER_KAYAKING 轻艇 +STR_WATER_ROWING 赛艇 +STR_WATER_MOTORBOAT 水上摩托车 +STR_WATER_SUP 立桨冲浪 +STR_WATER_SCUBADIVING 潜水 +STR_WATER_DIVING 跳水 +STR_WATER_KITESURFING 滑翔伞冲浪 +STR_WATER_WAKEBOARDING 冲浪滑水 +STR_WATER_POLO 水球 +STR_WATER_WINDSURFING 风帆冲浪 +STR_WATER_DRIFTING 漂流活动 +STR_WATER_FITNESS 水中健身 +STR_WATER_SPORTS 水上运动 +STR_WATER_OUTDOORSWIM 户外游泳 +STR_WATER_INDOORSWIM 室内游泳 +STR_WATER_SWIMFREESTYLE 游泳_自由式 +STR_WATER_SWIMBREASTSTROKE 游泳_蛙式 +STR_WATER_SWIMBACKSTROKE 游泳_仰式 +STR_WATER_SWIMBUTTERFLY 游泳_蝶式 +STR_ICE_SPORTS 一般冰上运动 +STR_ICE_SKATING 溜冰 +STR_ICE_HOCKEY 冰球 +STR_ICE_CURLING 冰石壶/冰壶 +STR_ICE_SNOWMOBILING 雪上摩托车 +STR_ICE_SLED 雪橇 +STR_ICE_BIATHLON 冬季两项 +STR_ICE_CROSSCOUNTRYSKING 越野滑雪 +STR_ICE_SKIING 滑雪 +STR_ICE_SNOWBOARDING 单板滑雪/滑雪板 +STR_ICE_SNOWSHOEING 雪鞋健行 +STR_ICE_SNOWSPORTS 雪地运动 +STR_EXTREME_SPORTS 一般极限运动 +STR_EXTREME_SKATEBOARDING 滑板 +STR_EXTREME_ROCKCLIMBING 攀岩 +STR_EXTREME_BUNGEEJUMPING 高空弹跳/蹦极活动 +STR_EXTREME_PARKOUR 跑酷 +STR_EXTREME_BMX BMX +STR_EXTREME_ORIENTEERING 定向越野 +STR_EXTREME_PARACHUTE 跳伞 +STR_EXTREME_RACING 赛车 +STR_EXTREME_TRIATHLONS 铁人三项运动 +STR_OTHER_ELEVATOR 乘电梯 +STR_OTHER_ESCALATOR 乘手扶梯 +STR_OTHER_GARDENING 做园艺 +STR_OTHER_HORSEWORK 做家务 +STR_OTHER_INVEHICLE 在车里 +STR_OTHER_MEDITATION 冥想 +STR_OTHER_STILL 静止 +STR_OTHER_TILTING 倾斜 +STR_OTHER_WHEELCHAIR 坐轮椅移动 +STR_HEART_RATE 心率 +STR_BLOOD_OXYGEN 血氧 +STR_TRAINING 运动 +STR_TRAINING_RECORD 运动记录 +STR_COMPASS 指南针 +STR_TELEPHONE 电话 +STR_FAVORITE_CONTACTS 常用联系人 +STR_WEATHER 天气 +STR_ACTIVITY 活动 +STR_WATCH_FACE 更换表盘 +STR_DISPLAY_MODE 显示方式 +STR_CARD_MANAGEMENT 卡片管理 +STR_MUSIC 音乐 +STR_SLEEP 睡眠 +STR_RECORD 录音 +STR_BREATH_TRAINING 呼吸训练 +STR_REMOTE_SHOOTING 遥控拍照 +STR_VOICE_ASSISTANT 语音助手 +STR_ALIPAY 支付宝 +STR_TIMER 计时器 +STR_ALARM 闹钟 +STR_STOPWATCH 秒表 +STR_CALCULATOR 计算器 +STR_FIND_PHONE 查找手机 +STR_BRIGHTNESS_ADJUSTMENT 亮度调节 +STR_SOUND 声音 +STR_BLUETOOTH 蓝牙 +STR_DO_NOT_DISTURB 勿扰模式 +STR_MESSAGE_NOTIFICATION 消息通知 +STR_POWER_SAVE_MODE 省电模式 +STR_FLASHLIGHT 手电筒 +STR_SETTINGS 设置 +STR_EXERCISE_LIST 健身类 +STR_BALL_LIST 球类 +STR_WATER_LIST 水上运动 +STR_DANCING_LIST 舞蹈类 +STR_EXTREME_LIST 极限运动 +STR_ICE_LIST 冰上运动 +STR_RECREATIONAL_LIST 休闲运动 +STR_OTHER_LIST 其他 +STR_DANCING_TITLE 舞蹈运动 +STR_BALL_LIST_TITLE 球类运动 +STR_OTHER_TITLE 其他运动 +STR_EXERCISE_TITLE 健身运动 +STR_RAPID_TRAINING 快速训练 +STR_SET_GOALS 设置目标 +STR_DURATION 时长 +STR_DURATION_SETTING 时长(分钟) +STR_CALORIE 卡路里 +STR_CALORIE_SETTING 卡路里(千卡) +STR_DISTANCE 距离 +STR_RANGE_SETTING 距离(公里) +STR_STEP_NUMBER 步数 +STR_STEP_SETTING 步数(步) +STR_HEART_RATE_SETTING 心率(次/分) +STR_MEAN_HEART_RATE 平均心率 +STR_TIMES_PER_MIN 次/分 +STR_MEAN_HEART_RATE_MIN 平均心率(次/分) +STR_LOWER_STRENGTH 较低强度 +STR_MEDIUM_STRENGTH 中等强度 +STR_HIGH_STRENGTH 高等强度 +STR_ULTRA_HIGH_STRENGTH 超大强度 +STR_TRAINING_INTENSITY 训练强度 +STR_TRAINING_IN_PROGRESS 训练中 +STR_BREAK_TRAINING 暂停训练 +STR_FINISH 结束 +STR_PAUSE 暂停 +STR_RESUME ç»§ç»­ +STR_GOAL_ACHIEVED 目标已达成 +STR_ACCOMPLISH_GOAL 完成目标 +STR_OK 确定 +STR_LOOK_OUT 注意 +STR_INSUFFICIENT_EXERCISE_AMOUNT 当前运动量太小,无法记录 +STR_END_MOVEMENT 结束运动 +STR_END_THIS_MOVEMENT 是否结束本次运动 +STR_GOAL_ACCOMPLISHMENT_DEGREE 目标完成度 +STR_TRAINING_DURATION 训练时长 +STR_RANGE_MILE 距离(米) +STR_CLOSE 关闭 +STR_MORE 更多 +STR_MORE_APP 更多前往APP查看 +STR_SAVENOTE 开启省电模式会关闭非必要的蓝牙连接,以及传感器监测等功能 +STR_SAVEBACK 长按屏幕3秒以上或充电可退出省电模式 +STR_SAVEASK 是否开启 +STR_BLOOD 血氧饱和度 +STR_CHECK 检测 +STR_CHECKNEW 刚刚检测 +STR_CHECKTIME XX分钟前检测 +STR_CHECKLONG 超过1个小时前检测 +STR_CHECKNO 暂无检测记录 +STR_CHECKNOTE 偏紧佩戴,保持静止 +STR_CHECKON 正在检测 +STR_CHECKSTOP 停止检测 +STR_CHECKERROR 检测不到结果 +STR_WAERKEEP 请确认已带上手表,并保持静止 +STR_WEARRE 进行重新检测 +STR_WEARREADY 准备好后点击下方按钮 +STR_RECHECK 重测 +STR_CHECKEWARN 血氧提醒 +STR_BLOODSHORT 当前血氧含量已低于XX% +STR_HEARTNOTE 请注意身体健康 +STR_KONW 知道了 +STR_EXPLAIN 说明 +STR_HEARTREST 静息 +STR_HEARTDATA 心率检测结果 +STR_HEARTTITLE 心率提醒 +STR_HEARTMAX 当前心率值高于XX +STR_HEARTMIN 当前心率值低于XX +STR_TRAINGNO 无记录 +STR_TRAINGGO 去训练 +STR_MESSAGENO 暂无内容 +STR_CLEAN 清除 +STR_CLEANALL 全部清除 +STR_SLEEP_YESTERDAY 昨日睡眠 +STR_HOUR 小时 +STR_MIN 分钟 +STR_SLEEPMGOAL 目标XX小时 +STR_REATTIME 作息时间 +STR_SLEEPTIME 入睡时间 +STR_WALKTIME 醒来时间 +STR_APPMORE 更多详情请前往手机APP查看 +STR_DISTURB 手表将在20分钟后开启勿扰模式,关闭请到控制中心 +STR_DISTURBNOTE 已开启勿扰模式,此模式下手表将不会发出震动与铃声 +STR_MORNNING 早安 +STR_NOW 当前 +STR_NAP 小睡(5分钟) +STR_TACK 请先打开app,进入“设备”-“拍照” +STR_CLICK 点击拍照 +STR_TACKNUM 已拍摄XXå¼  +STR_SCREEN_AND_BRIGHTNESS 屏幕与亮度 +STR_NETWORKANDCALL 网络与通话 +STR_SOUND_AND_VIBRATION 声音与震动 +STR_MOTION_RECOGNITION 运动识别 +STR_SYSTEM 系统 +STR_SHUTDOWN_AND_RESTART 关机和重启 +STR_SCREEN_ON_DURATION 亮屏时长 +STR_RAISE_TO_WAKE 抬腕亮屏 +STR_5_SECONDS 5秒 +STR_10_SECONDS 10秒 +STR_15_SECONDS 15秒 +STR_30_SECONDS 30秒 +STR_60_SECONDS 60秒 +STR_300_SECONDS 300秒 +STR_4G_CAPABILITY 4G +STR_VOLTE_CALL VoLTE 通话 +STR_MOBILE_DATA_OPTION 移动数据选项 +STR_SYSTEM_UPDATE 系统更新 +STR_ONLINE_MUSIC 在线音乐 +STR_BLUETOOTH_HEADPHONES 蓝牙耳机 +STR_TRADITIONAL_BLUETOOTH 传统蓝牙 +STR_AUTO_OFF_BLUETOOTH_NOTE 注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加电耗,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等) +STR_BLUETOOTH_SERVICE_OPTIONS 蓝牙服务选项 +STR_HFP 通话蓝牙 +STR_A2DP 媒体蓝牙 +STR_SYSTEM_VOLUME 系统音量 +STR_MEDIA_VOLUME 媒体音量 +STR_CALL_VOLUME 通话音量 +STR_VIBRATION_MODE 震动模式 +STR_SILENT_MODE 静音模式 +STR_LIST_DISPLAY 列表显示 +STR_GRID_DISPLAY 网格显示 +STR_CELLULAR_DISPLAY 蜂窝显示 +STR_AUTO_DETECT 自动识别 +STR_ABOUT_WATCH 关于手表 +STR_WATCH_QR_CODE 手表二维码 +STR_SYSTEM_LANGUAGE 系统语言 +STR_RESTART 重新启动 +STR_SHUTDOWN 关机 +STR_FACTORY_RESET 恢复出厂 +STR_WATCH_NAME 手表名称 +STR_FIRMWARE_VERSION 固件版本 +STR_BLUETOOTH_NAME 蓝牙名称 +STR_BLUETOOTH_ADDRESS 蓝牙地址 +STR_UPDATENOW 立即更新 +STR_LATEST_VERSION 最新版本 +STR_LATER 稍后再说 +STR_UP_TO_DATE 当前已升级到最新版本 +STR_NO_UPDATE 暂无更新 +STR_LANGUAGE_SELECTION 语言选择 +STR_RESET_CONFIRM 是否确定重新启动? +STR_SHUTDOWN_CONFIRM 是否确定关机? +STR_RESET_CONFIRM_NOTE 该操作会清空并重置手表数据,是否确认继续? +STR_RECORDER 录音机 +STR_CLICK_TO_RECORD 点击开始录音 +STR_RECORDING 录音中 +STR_AUDIO_XX 录音XX +STR_VOICE_RECORDING_REMINDER 录音提醒 +STR_VOICE_RECORDING_REMINDER_NOTE 录音数量不得超过30首,请删除已有录音 +STR_DELETE_RECORDING 删除录音 +STR_DELETE_PERMANENTLY 是否永久删除 +STR_RECORDING_LIST 录音列表 +STR_CRLEMPTY 当前录音列表为空 +STR_DO_NOT_DISTURB_MODE 开启勿扰模式,手表将不会发出震动与铃声,是否开启 +STR_CONNECTION_STATUS 连接状态 +STR_PHONE 手机 +STR_HEADSET 耳机 +STR_CONNECTED 已连接 +STR_DISCONNECTED 未连接 +STR_PHONE_RINGING_VIBRATING 手机正在响铃/震动 +STR_BLUETOOTH_DISCONNECTED 蓝牙未连接 +STR_STOP 停止 +STR_WORKDAY 工作日 +STR_REPEAT_NO 不重复 +STR_EVERYDAY 每日 +STR_ADD_A_NEW_ALARM 添加新闹钟 +STR_TIME 时间 +STR_NEXT_STEP 下一步 +STR_MON 一 +STR_TUES 二 +STR_WEDNES 三 +STR_THURS 四 +STR_FRI 五 +STR_SATUR 六 +STR_SUN 日 +STR_MONDAY 星期一 +STR_TUESDAY 星期二 +STR_WEDNESDAY 星期三 +STR_THURSDAY 星期四 +STR_FRIDAY 星期五 +STR_SATURDAY 星期六 +STR_SUNDAY 星期日 +STR_CALIBRATE_COMPASS 指南针校准 +STR_CALIBRATE_COMPASS_NOTE 请远离干扰源,按图示旋转手表进行校准 +STR_EAST 东 +STR_SOUTH 南 +STR_WEST 西 +STR_NORTH 北 +STR_SOUTHEAST 东南 +STR_SOUTHWEST 西南 +STR_NORTHEAST 东北 +STR_NORTHWEST 西北 +STR_KEEP_STILL_FOCUS_ON_BREATHING 保持不动,将注意力集中在呼吸上 +STR_EXHALE_NOW 现在呼气 +STR_INHALE_NOW 现在吸气 +STR_TRAINING_COMPLETE 训练完成 +STR_THIS_BREATH 本次呼吸 +STR_TODAYS_BREATHING_TRAINING 今日呼吸训练 +STR_RECENT_CALLS 最近通话 +STR_NO_CALLS 暂无通话 +STR_MISSED_CALLS 未接来电 +STR_DIALED_CALLS 拨出电话 +STR_RECEIVED_CALLS 拨入电话 +STR_NOTE_RECENT_CALLS_LIMITATION 注:只保留最近20条通话记录 +STR_NO_CONTACTS_ADDED 尚未添加联系人,请前往APP进行设置 +STR_DIAL_MODE 拨号方式 +STR_DIAL_VIA_WATCH_SIM 通过手表SIM卡拨号 +STR_DIAL_VIA_PHONE 通过手机拨号 +STR_KUMI_TECHNOLOGY 库密科技 +STR_CALLING 拨号中... +STR_NOT_PAIRED 未配对 +STR_PAIRED 已配对 +STR_UNPAIR 取消配对 +STR_CONNECTION_ERROR 连接异常 +STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE 请插入手表SIM卡或连接手机并确认开启蓝牙通话后再进行拨号 +STR_ENABLE_BLUETOOTH_CALL 开启蓝牙通话 +STR_SOLUTION 解决方法: +STR_IPHONE 1.苹果手机 +STR_ANDROID 2.安卓手机 +STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE 请前往手机“设置”→“蓝牙”列表找到“XX”并点击后重试 +STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID 请前往手机“设置”→“蓝牙”列表找到 “XX”点击右侧图标进入蓝牙设置 +STR_SIM_CARD_ERROR Sim卡异常 +STR_CHECK_SIM_CARD_INSERTION SIM卡拨号异常,请检查手表SIM卡是否正确插入 +STR_WEATHER_REPORT 气象报告 +STR_ULTRAVIOLET 紫外线 +STR_WIND_SPEED 风速 +STR_HUMIDITY 湿度 +STR_NEXT_7_DAYS 未来七天 +STR_GET_WEATHER_ERROR 未获取到天气信息请前往APP更新 +STR_MUSIC_SOURCE 音乐来源 +STR_MOBILE_MUSIC 手机音乐 +STR_WATCH_MUSIC 手表音乐 +STR_MUSIC_LIST 音乐列表 +STR_BLUETOOTH_CONNECTION_FAILED 蓝牙连接失败 +STR_SCANNING_BINDING 扫码绑定 +STR_DEVICE_BINDING 设备绑定 +STR_DEVICE_BINDING_NOTE XX想要与你进行连接绑定 +STR_EQUIPMENT_UNTYING 设备解绑 +STR_EQUIPMENT_UNTYING_NOTE XX想要与你进行解绑 +STR_DRINK_WATER_REMINDER 喝水提醒 +STR_DRINK_WATER_REMINDER_NOTE 该喝水啦!记得按时保持水分充足 +STR_SEDENTARY_REMINDER 久坐提醒 +STR_SEDENTARY_REMINDER_NOTE 你已经XX小时未活动了,站起来活动一下吧。 +STR_SYSTEM_UPGRADING 系统升级中 +STR_NEWDEVICE_BIND_REMIND_NOTE1 当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2 继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3 是否继续此操作 +STR_AI_VOICE AI Voice +STR_AI_INTELLIGENT_ASSISTANT AI智能助手 +STR_START_CHAT 开始对话 +STR_BOOT_FAILED 启动失败 +STR_ENABLE_MOBILE_DATA_FIRST 请先开启移动数据 +STR_ENABLE_BLUETOOTH_FIRST 请先开启蓝牙 +STR_LISTENING 正在聆听... +STR_FINISH_SPEAKING 说话完毕 +STR_THINKING 正在思考... +STR_CANCEL 取消 +STR_CONNECT_TIMEOUT 连接超时 +STR_PLEASE_RESTART_CHAT 请重新开始对话 +STR_CONTINUE_CHAT 继续对话 +STR_AIMODELS_DOUBAO 豆包 +STR_AIMODES_WENXINYIYAN 文心一言 +STR_AIMODES_KIMI KIMI +STR_AIMODES_CHATGPT ChatGPT +STR_SLIDE_TO_SHUTDOWN 滑动关机 >> +STR_SLIDE_TO_REBOOT 滑动重启 >> +STR_AI_FAMILY_MEALS AI 全家桶 +STR_CHAT 对话 +STR_PCY4GC_OR_AS 请检查4G连接或APP设置 +STR_API_KEYS API keys +STR_PGTTAF 请先前往APP +STR_DAFBS “设备”-“AI全家桶”设置 +STR_OPENAI_API_KEYS OpenAI API keys +STR_KHBB 已绑定API keys +STR_GTAS 更换请前往APP设置 +STR_DYWTDAK 是否确认删除API keys +STR_CONNECTING 正在连接 +STR_CONNECTION_FAIL 连接失败 +STR_PTALORTM 请稍后再重试或更换模型 +STR_MOTION_DETECTION_WALK_NOTE 检测到您好像在进行走路,是否开始记录 +STR_MOTION_DETECTION_RUN_NOTE 检测到您好像在进行跑步,是否开始记录 +STR_MOTION_DETECTION_RIDE_NOTE 检测到您好像在进行骑车,是否开始记录 +STR_MOTION_DETECTION_ROWING_NOTE 检测到您好像在进行划船机,是否开始记录 +STR_MOTION_DETECTION_ELLIPTICAL_NOTE 检测到您好像在进行椭圆机,是否开始记录 +STR_PE4GC 请开启4G能力 +STR_OBU_MESSAGE OBU +STR_DELETE 删除 +STR_CHARGE 正在充电 +STR_CHARGE_NOTE 当前处于充电中,请勿使用检测 +STR_STEP_FREQUENCY 步频(æ­¥/分钟) +STR_STEP_LENGTH 步幅(CM) +STR_AVG_PACE 平均配速 +STR_TONGYI_QIANWEN 通义千问 +STR_IFLYTEK_SPARK 讯飞星火 +STR_DISTURBNOTE_OFF 勿扰模式已开启是否关闭 +STR_4G_NOTE 注:开启后,手表功耗会提高,待机时间会缩短 +STR_MUSIC_PLAYER_SOURCE_NOTE 请从手表端应用界面进入“音乐”-“音乐来源”,设置为“手机模式”后重试 +STR_MUSIC_LIST_IS_EMPTY 当前音乐列表为空请通过APP下载添加 +STR_BT_HEADSET_RESCAN 重新搜索 +STR_BT_HEADSET_NOFOND 当前搜索不到蓝牙耳机设备 +STR_SCHEDULE 日程 +STR_SCHEDULE_TITLE 日程管理 +STR_SCHEDULE_NO_DATA 当前无日程 +STR_SCHEDULE_NO_DATA_PROMPT 请先通过APP同步 +STR_NO_PAIRED_DEV 暂无已配对设备 +STR_IGNORE 忽略 +STR_START 开始 +STR_ARC_SCALE_LIST_DISPLAY 弧形列表显示 +STR_COUNT_DOWN 倒计时 +STR_CUSTOM_TIME 自定义时间 +STR_QUICK_START 快速开始 +STR_1_MIN 1分钟 +STR_5_MIN 5分钟 +STR_10_MIN 10分钟 +STR_30_MIN 30分钟 +STR_SET_COUNT_DOWN_NOTE 请先设置好倒计时间 +STR_COUNTDOWN_ENDS 倒计时结束 +STR_MAXIMUM_TIME_REACH_NOTE 当前已达到了最长时间 +STR_STOPWATCH_STOP_NOTE 秒表自动暂停,请重新开始 +STR_TMCHBR 当前已达到了最高计数 +STR_SCHEDULE_TOPIC 主题: +STR_SCHEDULE_TIME 时间: +STR_SCHEDULE_NOTES 备注: +STR_SCHEDULE_DELETE_PROMPT 是否确认删除该日程 +STR_HANG_UP_OR_ANSWER 挂断/接听 +STR_WATCH_CALL 手表来电 +STR_PHONE_CALL 手机来电 +STR_STEPS_OF_THE_DAY 今日步数 +STR_MILEAGE 里程(KM) +STR_FAT_BURNING_TIME 燃脂时间 +STR_NUMBER_OF_STANDS 站立次数 +STR_CONSUME_CALORIES 消耗卡路里 +STR_GOAL_HINT 目标设置及更多数据请前往手机APP查看 +STR_SLEEPMODE 睡眠模式 +STR_SLEEP_MODE_PROMPT_ON 开启睡眠模式,手表将禁用所有提醒并开启睡眠监测 +STR_LOW_POWER_NOTIF_1 当前电量低于10%请及时充电 +STR_LOW_POWER_NOTIF_2 电量过低XXs后将自动关机 +STR_CONNECTION_SUCC 连接成功 +STR_RETRY 重试 +STR_BTEARPHONE_CONN_FAIL_TIP 请确认该设备在通信范围内且处于待配对状态 +STR_FLASHLIGHT_SETTING 手电筒设置 +STR_LIGHT_COLOR 灯光颜色 +STR_FLICKER_FREQUENCY 闪烁频率 +STR_NO_FLICKER 不闪烁 +STR_FAST_FLICKER 快闪烁 +STR_SLOW_FLICKER 慢闪烁 +STR_BROWSING_SPECIAL_EFFECTS 浏览特效 +STR_OVERLAY_FLOW 覆盖流 +STR_ROLLER 滚筒 +STR_DIAL_BROWSING_SPECIAL_EFFECTS 表盘浏览特效 +STR_SET_TARGET 设置目标> +STR_PWUWC 请正确佩戴手表,并保存静止 \ No newline at end of file diff --git a/tools/language_tool/translate_languages.py b/tools/language_tool/translate_languages.py new file mode 100644 index 000000000..60b25cce3 --- /dev/null +++ b/tools/language_tool/translate_languages.py @@ -0,0 +1,153 @@ +import openpyxl +import requests +import hashlib +import random +import os +import time +import argparse + +# 百度翻译 API 配置 使用需要先配置 +# BAIDU_APP_ID = '20240906002142607' # 替换百度翻译 API ID +# BAIDU_SECRET_KEY = 'DIVPZjQEY1mXc10EtV20' # 替换百度翻译 API 密钥 + +def translate_baidu(text, from_lang='zh', to_lang='en'): + url = 'https://fanyi-api.baidu.com/api/trans/vip/translate' + salt = str(random.randint(32768, 65536)) + sign = BAIDU_APP_ID + text + salt + BAIDU_SECRET_KEY + sign = hashlib.md5(sign.encode()).hexdigest() + + params = { + 'q': text, + 'from': from_lang, + 'to': to_lang, + 'appid': BAIDU_APP_ID, + 'salt': salt, + 'sign': sign, + } + + for _ in range(5): # 尝试 5 次 + try: + response = requests.get(url, params=params) + result = response.json() + if 'trans_result' in result: + return result['trans_result'][0]['dst'] + else: + time.sleep(2) # 等待 2 秒后重试 + except Exception as e: + print(f"翻译时发生错误:{e}") + time.sleep(2) # 等待 2 秒后重试 + return None + +# 语言列表,包含所需的目标语言代码 +language_list = [ + ["en", "English", "英语"], + ["ja", "日本語", "日语"], + ["ko", "한국어", "韩语"], + ["es", "Español", "西班牙语"], + ["ru", "Русский", "俄语"], + ["hr", "Hrvatski", "克罗地亚语"], + ["de", "Deutsch", "德语"], + ["pt", "Português", "葡萄牙语"], + ["fr", "Français", "法语"], + ["nl", "Nederlands", "荷兰语"], + ["it", "Italiano", "意大利语"], + ["cs", "ČeÅ¡tina", "捷克语"], + ["el", "Ελληνικά", "希腊语"], + ["hi", "हिन्दी", "印地语"], + ["id", "Bahasa Indonesia", "印尼语"], + ["ms", "Bahasa Melayu", "马来语"], + ["pl", "Polski", "波兰语"], + ["th", "ไทย", "泰语"], + ["vi", "Tiếng Việt", "越南语"], + ["fi", "Suomi", "芬兰语"], + ["ro", "Română", "罗马尼亚语"], + ["tr", "Türkçe", "土耳其语"], + ["fa", "فارسی", "波斯语"], + ["ar", "العربية", "阿拉伯语"], + ["he", "עברית", "希伯来语"], + ["uk", "Українська", "乌克兰语"], + ["sv", "Svenska", "瑞典语"], + ["uz", "O‘zbek", "乌兹别克语"], + ["az", "Azərbaycan dili", "阿塞拜疆语"] +] + +def main(): + parser = argparse.ArgumentParser(description='Translate Excel file using Baidu Translate API.') + parser.add_argument('-l', '--language', required=True, help='Specify the target language code.') + args = parser.parse_args() + + target_lang_code = args.language + + # 加载中文 Excel 文件 + input_file = 'Language_xlxs/zh.xlsx' + if not os.path.exists(input_file): + print(f"输入文件 {input_file} 不存在。") + return + + try: + workbook = openpyxl.load_workbook(input_file) + sheet = workbook.active + except Exception as e: + print(f"打开 Excel 文件时发生错误:{e}") + return + + # 创建输出文件夹 + output_dir = 'Language_xlxs' + try: + os.makedirs(output_dir, exist_ok=True) + except Exception as e: + print(f"创建输出文件夹时发生错误:{e}") + return + + # 找到指定语言在列表中的信息 + lang_info = None + for lang in language_list: + if lang[0] == target_lang_code: + lang_info = lang + break + + if lang_info is None: + print(f"找不到指定的语言代码 {target_lang_code}。") + return + + lang_code, lang_name, _ = lang_info + print(f"正在处理语言: {lang_name}") + + # 创建一个新的工作簿 + try: + output_workbook = openpyxl.Workbook() + output_sheet = output_workbook.active + output_sheet.append(["id", lang_name]) + except Exception as e: + print(f"创建输出工作簿时发生错误:{e}") + return + + for row in sheet.iter_rows(values_only=True): + if row[0]!= "id": + original_text = row[1] + id_value = row[0] + + # 进行翻译 + translated_text = translate_baidu(original_text, from_lang='zh', to_lang=lang_code) + if translated_text is not None: + output_sheet.append([id_value, translated_text]) + print(f"{original_text} => {translated_text}") + else: + print(f"翻译 {original_text} 时出错。") + + # 保存新工作簿为相关语言的文件名 + output_file = os.path.join(output_dir, f"{lang_code}.xlsx") + try: + output_workbook.save(output_file) + print(f"{lang_name} 的翻译结果已保存到 {output_file}。") + except Exception as e: + print(f"保存输出文件时发生错误:{e}") + + # 关闭工作簿 + try: + workbook.close() + except Exception as e: + print(f"关闭输入工作簿时发生错误:{e}") + +if __name__ == "__main__": + main() diff --git "a/tools/language_tool/\345\244\232\345\233\275\350\257\255\350\250\200\345\267\245\345\205\267\350\204\232\346\234\254.md" "b/tools/language_tool/\345\244\232\345\233\275\350\257\255\350\250\200\345\267\245\345\205\267\350\204\232\346\234\254.md" index 794ddb6cd..37967f2c3 100644 --- "a/tools/language_tool/\345\244\232\345\233\275\350\257\255\350\250\200\345\267\245\345\205\267\350\204\232\346\234\254.md" +++ "b/tools/language_tool/\345\244\232\345\233\275\350\257\255\350\250\200\345\267\245\345\205\267\350\204\232\346\234\254.md" @@ -4,6 +4,7 @@ * @LastEditTime: 2024-08-19 11:23:23 * @FilePath: /FD230/tools/language_tool/多国语言工具脚本.md --> + ## 多国语言工具脚本使用方法 ### 1.下载打包工具 @@ -66,8 +67,8 @@ Output Path: /tools/string_packer/font res路径: \FD230\code\sdk\build\config\target_config\brandy\mk_fs_image\fd230\fs\user\res\font - 【完成多国语言文件配置】 + ### PS:如果需要增加语言语种 需要增加 languagetool.py 里面语种数组项 ### 更新 0709 @@ -78,19 +79,39 @@ python language_trans.py ../Language_xml/ ../font/ ../font/ 脚本 输入路径 字体文件输出路径 头文件输出路径 ### 更新 0710 + 在language路径下 直接使用脚本即可生成语言文件夹 /font chmod +x languagemake.sh ./languagemake.sh ### 更新 0711 + 更换路径 ### 更新 0720 + 修复脚本异常 ### 更新 0815 + 脚本增加生成文件直接copy功能 复制到对应文件夹 ### 更新 0819 -脚本增加xlsx表格生成功能 \ No newline at end of file + +脚本增加xlsx表格生成功能 + +### 更新0906 + +增加自动翻译脚本测试 + +1. 先安装apk模块 + + `pip install openpyxl requests` +2. 运行脚本 + +` python translate_languages.py -l cs` + +脚本参数 -l 【list里面的语言缩写】 + +生成路径:/Language_xlxs/cs.xlsx