更改语言工具路径,更改语言头文件位置
authorCaisking <3449750381@qq.com>
Thu, 11 Jul 2024 13:07:42 +0000 (21:07 +0800)
committerCaisking <3449750381@qq.com>
Thu, 11 Jul 2024 13:07:42 +0000 (21:07 +0800)
198 files changed:
code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.h
code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceBluetoothFailedStartView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceConnectTimeoutView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceListeningView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceMobileDataFailedStartView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceReturnResultTextView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceThinkingView.cpp
code/sdk/application/wearable/fd230app/nativeui/alipay/include/AlipayList/AlipayListView.h
code/sdk/application/wearable/fd230app/nativeui/alipay/include/AlipayTrans/AlipayTransListView.h
code/sdk/application/wearable/fd230app/nativeui/applist/include/ApplistModel.h
code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/src/BloodBandoffView.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/src/BloodCheckView.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/src/BloodResultView.cpp
code/sdk/application/wearable/fd230app/nativeui/callerlog/include/CallerLogModel.h
code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothView.cpp
code/sdk/application/wearable/fd230app/nativeui/compass/include/CompassPresenter.h
code/sdk/application/wearable/fd230app/nativeui/compass/include/MainCompassPresenter.h
code/sdk/application/wearable/fd230app/nativeui/dialupdate/src/DialUpdatePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp
code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp
code/sdk/application/wearable/fd230app/nativeui/dnotdisturb/src/DnotDisturbView.cpp
code/sdk/application/wearable/fd230app/nativeui/findphone/include/FindPhoneView.h
code/sdk/application/wearable/fd230app/nativeui/findphone/src/FindPhonePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/findphone/src/FindPhoneView.cpp
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartBandoffView.cpp
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartCheckView.cpp
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartResultView.cpp
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartView.cpp
code/sdk/application/wearable/fd230app/nativeui/key/src/KeyInputListener.cpp
code/sdk/application/wearable/fd230app/nativeui/languagecode/include/LanguageSwitchPresenter.h
code/sdk/application/wearable/fd230app/nativeui/message/include/MessageControlPresenter.h
code/sdk/application/wearable/fd230app/nativeui/message/include/MessageModel.h
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageControlPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessagePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageShowPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/MobileDataOptionsView.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneCallPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneCallingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneCallupPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneDirPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhonePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/phone/src/PhoneRingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayerListDelSongView.cpp
code/sdk/application/wearable/fd230app/nativeui/producttest/src/testPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordDeleteView.h
code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingPlayerView.h
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordDeleteView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingCompletedView.cpp
code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingView.cpp
code/sdk/application/wearable/fd230app/nativeui/rotate/src/RotatePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveElePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/FastTrainingAttentionPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/FastTrainingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/SecondaryFunctionPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/settings/include/SettingItem.h
code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingView.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/CallVolumePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SoundAndVibrationView.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/SystemVolumePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/soundandvibration/src/VibrationModeView.cpp
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemFactoryResetView.cpp
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemView.cpp
code/sdk/application/wearable/fd230app/nativeui/systemupdate/src/SystemUpdateView.cpp
code/sdk/application/wearable/fd230app/nativeui/takephotos/src/TakephotosPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/themestyle/src/ThemeStyleView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingSetPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingSetView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TrainingSetCaluliView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TrainingSetMileView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TrainingSetStepView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TrainingSetTimeView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSbackPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSbackView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSlackPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSlackView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSlostPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSlostView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSnotePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSnoteView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSsetPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSsetView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/Training_CardPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/Training_CardView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/include/TraingAquaticAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/include/TraingAquaticItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/include/TraingAquaticModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/include/TraingAquaticView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/src/TraingAquaticItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/src/TraingAquaticModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/src/TraingAquaticPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/src/TraingAquaticView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/include/TraingBallAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/include/TraingBallItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/include/TraingBallModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/include/TraingBallView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/include/TraingDanceAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/include/TraingDanceItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/include/TraingDanceModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/include/TraingDanceView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDanceItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDanceModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDancePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDanceView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIcePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/include/TraingOtherAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/include/TraingOtherItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/include/TraingOtherModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/include/TraingOtherView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/src/TraingOtherItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/src/TraingOtherModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/src/TraingOtherPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/src/TraingOtherView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/include/TraingRestAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/include/TraingRestItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/include/TraingRestModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/include/TraingRestView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestView.cpp
code/sdk/application/wearable/fd230app/nativeui/traingrecord/include/TraingRecordAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traingrecord/include/TraingRecordItemView.h
code/sdk/application/wearable/fd230app/nativeui/traingrecord/include/TraingRecordModel.h
code/sdk/application/wearable/fd230app/nativeui/traingrecord/src/TraingRecordItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/traingrecord/src/TraingRecordModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traingrecord/src/TraingRecordPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/include/WeatherReportView.h
code/sdk/application/wearable/fd230app/nativeui/weather/src/FutureWeatherView.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/src/GetWeatherDataErrorView.cpp
code/sdk/application/wearable/service/msg_center/src/notify/drinkReminder_notification.cpp
code/sdk/application/wearable/service/msg_center/src/notify/sedentaryReminder_notification.cpp
code/sdk/drivers/peripheral/config/include/ConfigModel.h
tools/language_tool/Language_xml/input_list_en.txt [new file with mode: 0644]
tools/language_tool/Language_xml/input_list_zh.txt [new file with mode: 0644]
tools/language_tool/Language_xml/language_en.xml [new file with mode: 0644]
tools/language_tool/Language_xml/language_zh.xml [new file with mode: 0644]
tools/language_tool/Language_xml/languagetool.py [new file with mode: 0644]
tools/language_tool/README [new file with mode: 0644]
tools/language_tool/font/en.lang [new file with mode: 0644]
tools/language_tool/font/ui_resource_string.h [new file with mode: 0644]
tools/language_tool/font/zh.lang [new file with mode: 0644]
tools/language_tool/languagemake.sh [new file with mode: 0644]
tools/language_tool/stringpack_tool/language_trans.py [new file with mode: 0644]
tools/language_tool/stringpack_tool/searchdir.py [new file with mode: 0644]
tools/language_tool/多国语言工具脚本.md [new file with mode: 0644]

index 597ed1b..b34dc3f 100644 (file)
@@ -33,7 +33,7 @@
 #include "components/ui_card_page.h"
 #ifdef FD230
 #include "traing/include/TraingModel.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #endif
 #include "common/image_cache_manager.h"
 
diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h
new file mode 100644 (file)
index 0000000..d7d2106
--- /dev/null
@@ -0,0 +1,497 @@
+/*
+* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved.
+* Description: language
+* Author: Graphic develop team
+* Create: 2021-07-06
+*/
+
+#ifndef UI_RESOURCE_STRING_H
+#define UI_RESOURCE_STRING_H
+#include <cstdint>
+namespace OHOS {
+enum UIResourceTextId : uint16_t {
+    STR_EXERCISE_OUTDOORWALKING = 0,\r
+    STR_EXERCISE_OUTDOORRUNNING = 1,\r
+    STR_EXERCISE_OUTDOORBIKING = 2,\r
+    STR_EXERCISE_GENERAL = 3,\r
+    STR_EXERCISE_FREETRAINING = 4,\r
+    STR_EXERCISE_RESISTANCETRAINING = 5,\r
+    STR_EXERCISE_SPINBIKE = 6,\r
+    STR_EXERCISE_TREADMILL = 7,\r
+    STR_EXERCISE_STROLLMACHINE = 8,\r
+    STR_EXERCISE_HIIT = 9,\r
+    STR_EXERCISE_CROSSFIT = 10,\r
+    STR_EXERCISE_GROUPCALISTHENICS = 11,\r
+    STR_EXERCISE_YOGA = 12,\r
+    STR_EXERCISE_YOGACAT = 13,\r
+    STR_EXERCISE_YOGACOW = 14,\r
+    STR_EXERCISE_YOGACOBRA = 15,\r
+    STR_EXERCISE_YOGAHERO1 = 16,\r
+    STR_EXERCISE_YOGAHERO2 = 17,\r
+    STR_EXERCISE_YOGAHERO3 = 18,\r
+    STR_EXERCISE_YOGAROLLING = 19,\r
+    STR_EXERCISE_INDOORWALKING = 20,\r
+    STR_EXERCISE_INDOORRUNNING = 21,\r
+    STR_EXERCISE_JUMPINGROPE = 22,\r
+    STR_EXERCISE_PILATES = 23,\r
+    STR_EXERCISE_CROSS_FIT = 24,\r
+    STR_EXERCISE_FUNCTIONALTRAINING = 25,\r
+    STR_EXERCISE_PHYSICALTRAINING = 26,\r
+    STR_EXERCISE_TAEKWONDO = 27,\r
+    STR_EXERCISE_BOXING = 28,\r
+    STR_EXERCISE_KICKBOXING = 29,\r
+    STR_EXERCISE_KARATE = 30,\r
+    STR_EXERCISE_FENCING = 31,\r
+    STR_EXERCISE_CORETRAINING = 32,\r
+    STR_EXERCISE_BODYCOMBAT = 33,\r
+    STR_EXERCISE_KENDO = 34,\r
+    STR_EXERCISE_HORIZONTALBAR = 35,\r
+    STR_EXERCISE_PARALLELBARS = 36,\r
+    STR_EXERCISE_CIRCUIT = 37,\r
+    STR_EXERCISE_AEROBICS = 38,\r
+    STR_EXERCISE_CALISTHENICE = 39,\r
+    STR_EXERCISE_P90X = 40,\r
+    STR_EXERCISE_KETTLEBELLTRAINING = 41,\r
+    STR_EXERCISE_MIXEDMARTIALARTS = 42,\r
+    STR_EXERCISE_STAIRCLIMBINGMACHINE = 43,\r
+    STR_EXERCISE_WEIGHTLIFTING = 44,\r
+    STR_EXERCISE_BARRE = 45,\r
+    STR_EXERCISE_HANDCYCLING = 46,\r
+    STR_EXERCISE_TRACKFIELD = 47,\r
+    STR_EXERCISE_WRESTLING = 48,\r
+    STR_EXERCISE_MINDBODY = 49,\r
+    STR_EXERCISE_FLEXIBILITY = 50,\r
+    STR_EXERCISE_MIXEDCARDIO = 51,\r
+    STR_EXERCISE_TRADITIONALSTRENGTHTRAINING = 52,\r
+    STR_EXERCISE_CROSSTRAINING = 53,\r
+    STR_EXERCISE_GYMNASTICS = 54,\r
+    STR_EXERCISE_STEPTRAINING = 55,\r
+    STR_EXERCISE_ELLIPTICALTRAINER = 56,\r
+    STR_EXERCISE_ROWINGMACHINE = 57,\r
+    STR_DANCING_GENERAL = 58,\r
+    STR_DANCING_BELLY = 59,\r
+    STR_DANCING_JAZZ = 60,\r
+    STR_DANCING_LATIN = 61,\r
+    STR_DANCING_BALLET = 62,\r
+    STR_DANCING_STREET = 63,\r
+    STR_DANCING_PUBLICSQUARE = 64,\r
+    STR_DANCING_ZUMBA = 65,\r
+    STR_DANCING_SOCIALDANCE = 66,\r
+    STR_DANCING_TAPDANCE = 67,\r
+    STR_RECREATIONAL_SPORTS = 68,\r
+    STR_RECREATIONAL_SKATING = 69,\r
+    STR_RECREATIONAL_MARTIALARTS = 70,\r
+    STR_RECREATIONAL_TAICHI = 71,\r
+    STR_RECREATIONAL_HULAHOOP = 72,\r
+    STR_RECREATIONAL_DISCSPORT = 73,\r
+    STR_RECREATIONAL_DARTS = 74,\r
+    STR_RECREATIONAL_ARCHERY = 75,\r
+    STR_RECREATIONAL_HORSERIDING = 76,\r
+    STR_RECREATIONAL_BATTLEGAME = 77,\r
+    STR_RECREATIONAL_KITE = 78,\r
+    STR_RECREATIONAL_TUGOFWAR = 79,\r
+    STR_RECREATIONAL_SWING = 80,\r
+    STR_RECREATIONAL_STAIRCLIMBING = 81,\r
+    STR_RECREATIONAL_OBSTACLERACE = 82,\r
+    STR_RECREATIONAL_FISHING = 83,\r
+    STR_RECREATIONAL_HUNTING = 84,\r
+    STR_RECREATIONAL_SCOOTERRIDING = 85,\r
+    STR_RECREATIONAL_PARAGLIDING = 86,\r
+    STR_RECREATIONAL_TEAMSPORTS = 87,\r
+    STR_RECREATIONAL_FINESSGAMING = 88,\r
+    STR_RECREATIONAL_HIKING = 89,\r
+    STR_RECREATIONAL_EQUESTRIANSPORTS = 90,\r
+    STR_RECREATIONAL_PLAY = 91,\r
+    STR_BALL_GAMES = 92,\r
+    STR_BALL_BADMINTON = 93,\r
+    STR_BALL_TABLETENNIS = 94,\r
+    STR_BALL_TENNIS = 95,\r
+    STR_BALL_BILLIARDS = 96,\r
+    STR_BALL_BOWLING = 97,\r
+    STR_BALL_VOLLEYBALL = 98,\r
+    STR_BALL_SHUTTLECOCK = 99,\r
+    STR_BALL_HANDBALL = 100,\r
+    STR_BALL_BASEBALL = 101,\r
+    STR_BALL_SOFTBALL = 102,\r
+    STR_BALL_CRICKET = 103,\r
+    STR_BALL_FOOTBALL = 104,\r
+    STR_BALL_BEACHSOCCER = 105,\r
+    STR_BALL_BEACHVOLLEYBALL = 106,\r
+    STR_BALL_CROQUET = 107,\r
+    STR_BALL_HOCKEY = 108,\r
+    STR_BALL_SQUASH = 109,\r
+    STR_BALL_SEPAKTAKRAW = 110,\r
+    STR_BALL_DODGEBALL = 111,\r
+    STR_BALL_BASKETBALL = 112,\r
+    STR_BALL_SOCCER = 113,\r
+    STR_BALL_GOLF = 114,\r
+    STR_BALL_POLO = 115,\r
+    STR_BALL_RACQUETBALL = 116,\r
+    STR_BALL_RUGBY = 117,\r
+    STR_BALL_GATEBALL = 118,\r
+    STR_BALL_PICKLEBALL = 119,\r
+    STR_BALL_LACROSSE = 120,\r
+    STR_WATER_ACTIVITIES = 121,\r
+    STR_WATER_SAILING = 122,\r
+    STR_WATER_SURFING = 123,\r
+    STR_WATER_WHITEWATERRAFTING = 124,\r
+    STR_WATER_CANOEING = 125,\r
+    STR_WATER_KAYAKING = 126,\r
+    STR_WATER_ROWING = 127,\r
+    STR_WATER_MOTORBOAT = 128,\r
+    STR_WATER_SUP = 129,\r
+    STR_WATER_SCUBADIVING = 130,\r
+    STR_WATER_DIVING = 131,\r
+    STR_WATER_KITESURFING = 132,\r
+    STR_WATER_WAKEBOARDING = 133,\r
+    STR_WATER_POLO = 134,\r
+    STR_WATER_WINDSURFING = 135,\r
+    STR_WATER_DRIFTING = 136,\r
+    STR_WATER_FITNESS = 137,\r
+    STR_WATER_SPORTS = 138,\r
+    STR_WATER_OUTDOORSWIM = 139,\r
+    STR_WATER_INDOORSWIM = 140,\r
+    STR_WATER_SWIMFREESTYLE = 141,\r
+    STR_WATER_SWIMBREASTSTROKE = 142,\r
+    STR_WATER_SWIMBACKSTROKE = 143,\r
+    STR_WATER_SWIMBUTTERFLY = 144,\r
+    STR_ICE_SPORTS = 145,\r
+    STR_ICE_SKATING = 146,\r
+    STR_ICE_HOCKEY = 147,\r
+    STR_ICE_CURLING = 148,\r
+    STR_ICE_SNOWMOBILING = 149,\r
+    STR_ICE_SLED = 150,\r
+    STR_ICE_BIATHLON = 151,\r
+    STR_ICE_CROSSCOUNTRYSKING = 152,\r
+    STR_ICE_SKIING = 153,\r
+    STR_ICE_SNOWBOARDING = 154,\r
+    STR_ICE_SNOWSHOEING = 155,\r
+    STR_ICE_SNOWSPORTS = 156,\r
+    STR_EXTREME_SPORTS = 157,\r
+    STR_EXTREME_SKATEBOARDING = 158,\r
+    STR_EXTREME_ROCKCLIMBING = 159,\r
+    STR_EXTREME_BUNGEEJUMPING = 160,\r
+    STR_EXTREME_PARKOUR = 161,\r
+    STR_EXTREME_BMX = 162,\r
+    STR_EXTREME_ORIENTEERING = 163,\r
+    STR_EXTREME_PARACHUTE = 164,\r
+    STR_EXTREME_RACING = 165,\r
+    STR_EXTREME_TRIATHLONS = 166,\r
+    STR_OTHER_ELEVATOR = 167,\r
+    STR_OTHER_ESCALATOR = 168,\r
+    STR_OTHER_GARDENING = 169,\r
+    STR_OTHER_HORSEWORK = 170,\r
+    STR_OTHER_INVEHICLE = 171,\r
+    STR_OTHER_MEDITATION = 172,\r
+    STR_OTHER_STILL = 173,\r
+    STR_OTHER_TILTING = 174,\r
+    STR_OTHER_WHEELCHAIR = 175,\r
+    STR_HEART_RATE = 176,\r
+    STR_BLOOD_OXYGEN = 177,\r
+    STR_TRAINING = 178,\r
+    STR_TRAINING_RECORD = 179,\r
+    STR_COMPASS = 180,\r
+    STR_TELEPHONE = 181,\r
+    STR_FAVORITE_CONTACTS = 182,\r
+    STR_WEATHER = 183,\r
+    STR_ACTIVITY = 184,\r
+    STR_WATCH_FACE = 185,\r
+    STR_DISPLAY_MODE = 186,\r
+    STR_CARD_MANAGEMENT = 187,\r
+    STR_MUSIC = 188,\r
+    STR_SLEEP = 189,\r
+    STR_RECORD = 190,\r
+    STR_BREATH_TRAINING = 191,\r
+    STR_REMOTE_SHOOTING = 192,\r
+    STR_VOICE_ASSISTANT = 193,\r
+    STR_ALIPAY = 194,\r
+    STR_TIMER = 195,\r
+    STR_ALARM = 196,\r
+    STR_STOPWATCH = 197,\r
+    STR_CALCULATOR = 198,\r
+    STR_FIND_PHONE = 199,\r
+    STR_BRIGHTNESS_ADJUSTMENT = 200,\r
+    STR_SOUND = 201,\r
+    STR_BLUETOOTH = 202,\r
+    STR_DO_NOT_DISTURB = 203,\r
+    STR_MESSAGE_NOTIFICATION = 204,\r
+    STR_POWER_SAVE_MODE = 205,\r
+    STR_FLASHLIGHT = 206,\r
+    STR_SETTINGS = 207,\r
+    STR_EXERCISE_LIST = 208,\r
+    STR_BALL_LIST = 209,\r
+    STR_WATER_LIST = 210,\r
+    STR_DANCING_LIST = 211,\r
+    STR_EXTREME_LIST = 212,\r
+    STR_ICE_LIST = 213,\r
+    STR_RECREATIONAL_LIST = 214,\r
+    STR_OTHER_LIST = 215,\r
+    STR_DANCING_TITLE = 216,\r
+    STR_BALL_LIST_TITLE = 217,\r
+    STR_OTHER_TITLE = 218,\r
+    STR_EXERCISE_TITLE = 219,\r
+    STR_RAPID_TRAINING = 220,\r
+    STR_SET_GOALS = 221,\r
+    STR_DURATION = 222,\r
+    STR_DURATION_SETTING = 223,\r
+    STR_CALORIE = 224,\r
+    STR_CALORIE_SETTING = 225,\r
+    STR_DISTANCE = 226,\r
+    STR_RANGE_SETTING = 227,\r
+    STR_STEP_NUMBER = 228,\r
+    STR_STEP_SETTING = 229,\r
+    STR_HEART_RATE_SETTING = 230,\r
+    STR_MEAN_HEART_RATE = 231,\r
+    STR_TIMES_PER_MIN = 232,\r
+    STR_MEAN_HEART_RATE_MIN = 233,\r
+    STR_LOWER_STRENGTH = 234,\r
+    STR_MEDIUM_STRENGTH = 235,\r
+    STR_HIGH_STRENGTH = 236,\r
+    STR_ULTRA_HIGH_STRENGTH = 237,\r
+    STR_TRAINING_INTENSITY = 238,\r
+    STR_TRAINING_IN_PROGRESS = 239,\r
+    STR_BREAK_TRAINING = 240,\r
+    STR_FINISH = 241,\r
+    STR_PAUSE = 242,\r
+    STR_RESUME = 243,\r
+    STR_GOAL_ACHIEVED = 244,\r
+    STR_ACCOMPLISH_GOAL = 245,\r
+    STR_OK = 246,\r
+    STR_LOOK_OUT = 247,\r
+    STR_INSUFFICIENT_EXERCISE_AMOUNT = 248,\r
+    STR_END_MOVEMENT = 249,\r
+    STR_END_THIS_MOVEMENT = 250,\r
+    STR_GOAL_ACCOMPLISHMENT_DEGREE = 251,\r
+    STR_TRAINING_DURATION = 252,\r
+    STR_RANGE_MILE = 253,\r
+    STR_CLOSE = 254,\r
+    STR_MORE = 255,\r
+    STR_MORE_APP = 256,\r
+    STR_SAVENOTE = 257,\r
+    STR_SAVEBACK = 258,\r
+    STR_SAVEASK = 259,\r
+    STR_BLOOD = 260,\r
+    STR_CHECK = 261,\r
+    STR_CHECKNEW = 262,\r
+    STR_CHECKTIME = 263,\r
+    STR_CHECKLONG = 264,\r
+    STR_CHECKNO = 265,\r
+    STR_CHECKNOTE = 266,\r
+    STR_CHECKON = 267,\r
+    STR_CHECKSTOP = 268,\r
+    STR_CHECKERROR = 269,\r
+    STR_WAERKEEP = 270,\r
+    STR_WEARRE = 271,\r
+    STR_WEARREADY = 272,\r
+    STR_RECHECK = 273,\r
+    STR_CHECKEWARN = 274,\r
+    STR_BLOODSHORT = 275,\r
+    STR_HEARTNOTE = 276,\r
+    STR_KONW = 277,\r
+    STR_EXPLAIN = 278,\r
+    STR_HEARTREST = 279,\r
+    STR_HEARTDATA = 280,\r
+    STR_HEARTTITLE = 281,\r
+    STR_HEARTMAX = 282,\r
+    STR_HEARTMIN = 283,\r
+    STR_TRAINGNO = 284,\r
+    STR_TRAINGGO = 285,\r
+    STR_MESSAGENO = 286,\r
+    STR_CLEAN = 287,\r
+    STR_CLEANALL = 288,\r
+    STR_SLEEP_YESTERDAY = 289,\r
+    STR_HOUR = 290,\r
+    STR_MIN = 291,\r
+    STR_SLEEPMGOAL = 292,\r
+    STR_REATTIME = 293,\r
+    STR_SLEEPTIME = 294,\r
+    STR_WALKTIME = 295,\r
+    STR_APPMORE = 296,\r
+    STR_DISTURB = 297,\r
+    STR_DISTURBNOTE = 298,\r
+    STR_MORNNING = 299,\r
+    STR_NOW = 300,\r
+    STR_NAP = 301,\r
+    STR_TACK = 302,\r
+    STR_CLICK = 303,\r
+    STR_TACKNUM = 304,\r
+    STR_SCREEN_AND_BRIGHTNESS = 305,\r
+    STR_NETWORKANDCALL = 306,\r
+    STR_SOUND_AND_VIBRATION = 307,\r
+    STR_MOTION_RECOGNITION = 308,\r
+    STR_SYSTEM = 309,\r
+    STR_SHUTDOWN_AND_RESTART = 310,\r
+    STR_SCREEN_ON_DURATION = 311,\r
+    STR_RAISE_TO_WAKE = 312,\r
+    STR_5_SECONDS = 313,\r
+    STR_10_SECONDS = 314,\r
+    STR_15_SECONDS = 315,\r
+    STR_30_SECONDS = 316,\r
+    STR_60_SECONDS = 317,\r
+    STR_300_SECONDS = 318,\r
+    STR_4G_CAPABILITY = 319,\r
+    STR_VOLTE_CALL = 320,\r
+    STR_MOBILE_DATA_OPTION = 321,\r
+    STR_SYSTEM_UPDATE = 322,\r
+    STR_ONLINE_MUSIC = 323,\r
+    STR_BLUETOOTH_HEADPHONES = 324,\r
+    STR_TRADITIONAL_BLUETOOTH = 325,\r
+    STR_AUTO_OFF_BLUETOOTH_NOTE = 326,\r
+    STR_BLUETOOTH_SERVICE_OPTIONS = 327,\r
+    STR_HFP = 328,\r
+    STR_A2DP = 329,\r
+    STR_SYSTEM_VOLUME = 330,\r
+    STR_MEDIA_VOLUME = 331,\r
+    STR_CALL_VOLUME = 332,\r
+    STR_VIBRATION_MODE = 333,\r
+    STR_SILENT_MODE = 334,\r
+    STR_LIST_DISPLAY = 335,\r
+    STR_GRID_DISPLAY = 336,\r
+    STR_CELLULAR_DISPLAY = 337,\r
+    STR_AUTO_DETECT = 338,\r
+    STR_ABOUT_WATCH = 339,\r
+    STR_WATCH_QR_CODE = 340,\r
+    STR_SYSTEM_LANGUAGE = 341,\r
+    STR_RESTART = 342,\r
+    STR_SHUTDOWN = 343,\r
+    STR_FACTORY_RESET = 344,\r
+    STR_WATCH_NAME = 345,\r
+    STR_FIRMWARE_VERSION = 346,\r
+    STR_BLUETOOTH_NAME = 347,\r
+    STR_BLUETOOTH_ADDRESS = 348,\r
+    STR_UPDATENOW = 349,\r
+    STR_LATEST_VERSION = 350,\r
+    STR_LATER = 351,\r
+    STR_UP_TO_DATE = 352,\r
+    STR_NO_UPDATE = 353,\r
+    STR_LANGUAGE_SELECTION = 354,\r
+    STR_RESET_CONFIRM = 355,\r
+    STR_SHUTDOWN_CONFIRM = 356,\r
+    STR_RESET_CONFIRM_NOTE = 357,\r
+    STR_RECORDER = 358,\r
+    STR_CLICK_TO_RECORD = 359,\r
+    STR_RECORDING = 360,\r
+    STR_AUDIO_XX = 361,\r
+    STR_VOICE_RECORDING_REMINDER = 362,\r
+    STR_VOICE_RECORDING_REMINDER_NOTE = 363,\r
+    STR_DELETE_RECORDING = 364,\r
+    STR_DELETE_PERMANENTLY = 365,\r
+    STR_RECORDING_LIST = 366,\r
+    STR_CRLEMPTY = 367,\r
+    STR_DO_NOT_DISTURB_MODE = 368,\r
+    STR_CONNECTION_STATUS = 369,\r
+    STR_PHONE = 370,\r
+    STR_HEADSET = 371,\r
+    STR_CONNECTED = 372,\r
+    STR_DISCONNECTED = 373,\r
+    STR_PHONE_RINGING_VIBRATING = 374,\r
+    STR_BLUETOOTH_DISCONNECTED = 375,\r
+    STR_STOP = 376,\r
+    STR_WORKDAY = 377,\r
+    STR_REPEAT_NO = 378,\r
+    STR_EVERYDAY = 379,\r
+    STR_ADD_A_NEW_ALARM = 380,\r
+    STR_TIME = 381,\r
+    STR_NEXT_STEP = 382,\r
+    STR_MON = 383,\r
+    STR_TUES = 384,\r
+    STR_WEDNES = 385,\r
+    STR_THURS = 386,\r
+    STR_FRI = 387,\r
+    STR_SATUR = 388,\r
+    STR_SUN = 389,\r
+    STR_MONDAY = 390,\r
+    STR_TUESDAY = 391,\r
+    STR_WEDNESDAY = 392,\r
+    STR_THURSDAY = 393,\r
+    STR_FRIDAY = 394,\r
+    STR_SATURDAY = 395,\r
+    STR_SUNDAY = 396,\r
+    STR_CALIBRATE_COMPASS = 397,\r
+    STR_CALIBRATE_COMPASS_NOTE = 398,\r
+    STR_EAST = 399,\r
+    STR_SOUTH = 400,\r
+    STR_WEST = 401,\r
+    STR_NORTH = 402,\r
+    STR_SOUTHEAST = 403,\r
+    STR_SOUTHWEST = 404,\r
+    STR_NORTHEAST = 405,\r
+    STR_NORTHWEST = 406,\r
+    STR_KEEP_STILL_FOCUS_ON_BREATHING = 407,\r
+    STR_EXHALE_NOW = 408,\r
+    STR_INHALE_NOW = 409,\r
+    STR_TRAINING_COMPLETE = 410,\r
+    STR_THIS_BREATH = 411,\r
+    STR_TODAYS_BREATHING_TRAINING = 412,\r
+    STR_RECENT_CALLS = 413,\r
+    STR_NO_CALLS = 414,\r
+    STR_MISSED_CALLS = 415,\r
+    STR_DIALED_CALLS = 416,\r
+    STR_RECEIVED_CALLS = 417,\r
+    STR_NOTE_RECENT_CALLS_LIMITATION = 418,\r
+    STR_NO_CONTACTS_ADDED = 419,\r
+    STR_DIAL_MODE = 420,\r
+    STR_DIAL_VIA_WATCH_SIM = 421,\r
+    STR_DIAL_VIA_PHONE = 422,\r
+    STR_KUMI_TECHNOLOGY = 423,\r
+    STR_CALLING = 424,\r
+    STR_NOT_PAIRED = 425,\r
+    STR_PAIRED = 426,\r
+    STR_UNPAIR = 427,\r
+    STR_CONNECTION_ERROR = 428,\r
+    STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE = 429,\r
+    STR_ENABLE_BLUETOOTH_CALL = 430,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 431,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR = 432,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE = 433,\r
+    STR_SIM_CARD_ERROR = 434,\r
+    STR_CHECK_SIM_CARD_INSERTION = 435,\r
+    STR_WEATHER_REPORT = 436,\r
+    STR_ULTRAVIOLET = 437,\r
+    STR_WIND_SPEED = 438,\r
+    STR_HUMIDITY = 439,\r
+    STR_NEXT_7_DAYS = 440,\r
+    STR_GET_WEATHER_ERROR = 441,\r
+    STR_MUSIC_SOURCE = 442,\r
+    STR_MOBILE_MUSIC = 443,\r
+    STR_WATCH_MUSIC = 444,\r
+    STR_MUSIC_LIST = 445,\r
+    STR_BLUETOOTH_CONNECTION_FAILED = 446,\r
+    STR_SCANNING_BINDING = 447,\r
+    STR_DEVICE_BINDING = 448,\r
+    STR_DEVICE_BINDING_NOTE = 449,\r
+    STR_EQUIPMENT_UNTYING = 450,\r
+    STR_EQUIPMENT_UNTYING_NOTE = 451,\r
+    STR_DRINK_WATER_REMINDER = 452,\r
+    STR_DRINK_WATER_REMINDER_NOTE = 453,\r
+    STR_SEDENTARY_REMINDER = 454,\r
+    STR_SEDENTARY_REMINDER_NOTE = 455,\r
+    STR_SYSTEM_UPGRADING = 456,\r
+    STR_NEWDEVICE_BIND_REMIND_NOTE = 457,\r
+    STR_AI_VOICE = 458,\r
+    STR_AI_INTELLIGENT_ASSISTANT = 459,\r
+    STR_START_CHAT = 460,\r
+    STR_BOOT_FAILED = 461,\r
+    STR_ENABLE_MOBILE_DATA_FIRST = 462,\r
+    STR_ENABLE_BLUETOOTH_FIRST = 463,\r
+    STR_LISTENING = 464,\r
+    STR_FINISH_SPEAKING = 465,\r
+    STR_THINKING = 466,\r
+    STR_CANCEL = 467,\r
+    STR_CONNECT_TIMEOUT = 468,\r
+    STR_PLEASE_RESTART_CHAT = 469,\r
+    STR_CONTINUE_CHAT = 470,\r
+    STR_AIMODELS_DOUBAO = 471,\r
+    STR_AIMODES_WENXINYIYAN = 472,\r
+    STR_AIMODES_KIMI = 473,\r
+    STR_AIMODES_CHATGPT = 474,\r
+    STR_MAX_ID = 475,\r
+}; // UIResourceTextId\r
+
+enum FontLanguageId : uint8_t {
+    LANGUAGE_ID_ZH,\r
+    LANGUAGE_ID_EN,\r
+    LANGUAGE_ID_MAX\r
+}; // UITextLanguageTextId\r
+}\r
+#endif  /* UI_RESOURCE_STRING_H */\r
index 3643e02..5b11db1 100644 (file)
@@ -16,7 +16,7 @@
 #include "components/ui_scroll_view.h"
 #include "components/ui_image_view.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include <map>
 namespace OHOS
 {
index 25b5ae8..d1402c8 100644 (file)
@@ -8,7 +8,7 @@
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AiVoiceBluetoothFailedStartView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include <UiConfig.h>
 namespace OHOS
 {
index dfff188..0aa9a82 100644 (file)
@@ -8,7 +8,7 @@
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AiVoiceView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index ce220d8..d014caa 100644 (file)
@@ -8,7 +8,7 @@
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AivoiceConnectTimeoutView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include <UiConfig.h>
 namespace OHOS
 {
index 7cb7e89..504fa27 100644 (file)
@@ -8,7 +8,7 @@
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AivoiceListeningView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include <UiConfig.h>
 // #include "common/image_cache_manager.h"
 namespace OHOS
index 9aaec87..9f49602 100644 (file)
@@ -8,7 +8,7 @@
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AivoiceMobileDataFailedStartView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include <UiConfig.h>
 namespace OHOS
 {
index 8e8a938..ed940e5 100644 (file)
@@ -8,7 +8,7 @@
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AivoiceReturnResultTextView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "aivoice/include/AiVoiceModel.h"
 #include <UiConfig.h>
 #include <iostream>
index 5aa19e9..27a28f8 100644 (file)
@@ -8,7 +8,7 @@
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AivoiceThinkingView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include <UiConfig.h>
 // #include "common/image_cache_manager.h"
 namespace OHOS
index b4a3081..075df43 100644 (file)
@@ -19,7 +19,7 @@
 #include "components/icon_adapter.h"
 #include "AlipayPresenter.h"
 #include "AppViewIDs.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "AlipayListAdapter.h"
 #include "AlipayListItem.h"
index ff2e9e2..61c0bd9 100644 (file)
@@ -20,7 +20,7 @@
 #include "components/icon_adapter.h"
 #include "AlipayPresenter.h"
 #include "AppViewIDs.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "AlipayTransListAdapter.h"
 #include "AlipayTransListItem.h"
index 40059b7..8474614 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "ohos_types.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ThemeStyleModel.h"
 #define APP_MAX_NUM 50
 
index eae7c6e..7afa487 100644 (file)
@@ -18,7 +18,7 @@
 #include "applist/include/ApplistPresenter.h"
 #include "SetDesktopModel.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "applist/include/ApplistModel.h"
 #include "themestyle/include/ThemeStyleModel.h"
 #include "set_desktop/include/SetDesktopView.h"
index c41ab9e..52c8cf9 100644 (file)
@@ -9,7 +9,7 @@
 #include "wearable_log.h"
 #include "BloodBandoffView.h"
 #include "BloodOxygenModel.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 
 namespace OHOS
 {
index 05ea9a9..2dd3d27 100644 (file)
@@ -4,7 +4,7 @@
 #include "BloodOxygenModel.h"
 #include "ui_image_animator.h"
 #include "BloodCheckView.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     // 动态刷新设置
index fabdc21..37f03a5 100644 (file)
@@ -7,7 +7,7 @@
 #include "ui_image_animator.h"
 #include "BloodResultView.h"
 #include "common/image_cache_manager.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     // 图片设置
index 03cf154..74509a7 100644 (file)
@@ -12,7 +12,7 @@
 #include "PhoneService.h"\r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "message.h"\r
 #include "msg_center.h"\r
 \r
index 2f8ae48..520695e 100644 (file)
@@ -2,7 +2,7 @@
 #include "classicbluetooth/include/ClassicBlueToothPresenter.h"\r
 #include "ConfigModel.h"\r
 #include "UiConfig.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 namespace OHOS\r
 {\r
     static ClassicBlueToothView *g_pClassicBlueToothView{nullptr};\r
index 121b77a..cd8770c 100644 (file)
@@ -14,7 +14,7 @@
 #include "UiConfig.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "CompassView.h"
 
 namespace OHOS {
index efa623f..8382be7 100644 (file)
@@ -14,7 +14,7 @@
 #include "UiConfig.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "compass/include/CompassView.h"
 #include "compass/include/CompassPresenter.h"
 #include "compass/include/CompassModel.h"
index 152b447..5f10ed5 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "NativeAbility.h"
 #include "DialViewGroup.h"
 #include "dialupdate/include/DialUpdatePresenter.h"
index de9086b..96e0d9e 100644 (file)
@@ -8,7 +8,7 @@
 #include "AppViewIDs.h"\r
 #include "UiConfig.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "string.h"\r
index ffa0c8f..022e155 100644 (file)
@@ -2,7 +2,7 @@
 #include "displaybrightness/include/DisplayBrightnessModel.h"\r
 #include "wearable_log.h"\r
 #include "ConfigModel.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 namespace OHOS\r
 {\r
     static DisplayBrightnessView *g_pDisplayBrightnessView{nullptr};\r
index ede47b8..d1dc438 100644 (file)
@@ -2,7 +2,7 @@
 #include "displaybrightness/include/DisplayBrightnessPresenter.h"\r
 #include "displaybrightness/include/DisplayBrightnessModel.h"\r
 #include "wearable_log.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 namespace OHOS\r
 {\r
 \r
index 03ce7a7..4c1dca9 100644 (file)
@@ -12,7 +12,7 @@
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "uicomponents/UIComponents.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index af94c3c..c033ea4 100644 (file)
@@ -5,7 +5,7 @@
 #include "View.h"
 #include "components/ui_view_group.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_image_animator.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_image_view.h"
index 0e1b57b..4b53e97 100644 (file)
@@ -8,7 +8,7 @@
 #include "AppViewIDs.h"
 #include "UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 #include "findphone/include/FindPhonePresenter.h"
 #include "common/key_code.h"
index f2a8333..541f80f 100644 (file)
@@ -12,7 +12,7 @@
 #include "UiConfig.h"
 #include "bletest.h"
 #include "bleEvent.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index fd71a52..3929763 100644 (file)
@@ -9,7 +9,7 @@
 #include "wearable_log.h"
 #include "HeartBandoffView.h"
 #include "HeartModel.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 
 namespace OHOS
 {
index 27556ee..51c1242 100644 (file)
@@ -6,7 +6,7 @@
 #include "HeartModel.h"
 #include "ui_image_animator.h"
 #include "HeartCheckView.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     // 动态刷新设置
index 6c05a52..94d9d3b 100644 (file)
@@ -6,7 +6,7 @@
 #include "HeartModel.h"
 #include "ui_image_animator.h"
 #include "HeartResultView.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     // 图片设置
index 3138a2d..b1a5524 100644 (file)
@@ -13,7 +13,7 @@
 #include "heartrate/include/HeartBandoffView.h"
 #include "heartrate/include/HeartCheckView.h"
 #include "heartrate/include/HeartRateView.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "uicomponents/UIComponents.h"
 #include "heart_blood/health_service/health_service.h"
 namespace OHOS
index d345d15..5566ec8 100644 (file)
@@ -9,7 +9,7 @@
 #include "common/key_code.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "View.h"
 #include "MainViewSample.h"
 #include "wearable_log.h"
index 442e73f..d8becf8 100644 (file)
@@ -13,7 +13,7 @@
 #include "languagecode/include/LanguageSwitchModel.h"
 #include "LanguageSwitchView.h"
 #include "languagecode/include/LanguageSwitchListitemView.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index b82d73c..e3abc0b 100644 (file)
@@ -21,7 +21,7 @@
 #include "UiConfig.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "message/include/MessageControlView.h"
 
 namespace OHOS
index 0d08b65..b68cccf 100644 (file)
@@ -6,7 +6,7 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "MessagePresenter.h"
 #include "message/include/MessageAdapter.h"
index 73a9063..1db0397 100644 (file)
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
 
index aa5ff07..0de31f8 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 #include "message/include/MessagePresenter.h"
 #include "message/include/MessageAdapter.h"
index ab9eeb2..ef2a340 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 #include "message/include/MessageShowPresenter.h"
 #include "components/ui_abstract_scroll_bar.h"
index 977a54b..f4a4ae6 100644 (file)
@@ -1,7 +1,7 @@
 #include "networkandcall/include/MobileDataOptionsView.h"
 #include "networkandcall/include/NetworkAndCallPresenter.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 
 namespace OHOS
 {
index 97447f1..194ca29 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "string"\r
 #include "phone/include/PhoneCallPresenter.h"\r
index af177c3..ab73284 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "phone/include/PhoneCallingPresenter.h"\r
index e80cae8..fbf2aab 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "phone/include/PhoneCallupPresenter.h"\r
index 69f2722..20f9bf9 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "phone/include/phoneaddressmodel.h"\r
 #include "phone/include/PhoneDirPresenter.h"\r
index 4252bce..b2af1c7 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "phone/include/PhonePresenter.h"\r
index 621910d..778df1c 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "phone/include/PhoneRingPresenter.h"\r
index 0bf81f9..83ac59b 100644 (file)
@@ -1,7 +1,7 @@
 #include "player/include/PlayerListDelSongView.h"
 #include "player/include/PlayersPresenter.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "custom_utils.h"
 namespace OHOS
index 54e1863..622dd51 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "string.h"\r
index 9bbbf26..36e4343 100644 (file)
@@ -16,7 +16,7 @@
 #include "components/ui_image_view.h"\r
 #include "components/ui_button.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 namespace OHOS\r
 {\r
 \r
index 9a05c2d..60abb9b 100644 (file)
@@ -9,7 +9,7 @@
 #include "components/ui_circle_progress.h"\r
 #include "components/ui_checkbox.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "components/ui_button.h"\r
 #define APP_RES_PATH "/user/res"\r
 namespace OHOS\r
index e5f276c..4e2a337 100644 (file)
@@ -1,7 +1,7 @@
 #include "record/include/RecordDeleteView.h"\r
 #include "record/include/RecordingPresenter.h"\r
 #include "wearable_log.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 namespace OHOS\r
 {\r
     static RecordDeleteView *g_pRecordDeleteView{nullptr};\r
index de4d495..4bc4ef8 100644 (file)
@@ -8,7 +8,7 @@
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "string.h"\r
index 2414334..c8c42f7 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "respiratorytraining/include/RespiratoryTrainingCompletedView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "respiratorytraining/include/RespiratoryTrainingPresenter.h"
 #include "common/image_cache_manager.h"
 #include "respiratorytraining/include/RespiratoryTrainingModel.h"
index 3f7a1ec..b559e35 100644 (file)
@@ -11,7 +11,7 @@
 #include "wearable_log.h"
 #include "common/image_cache_manager.h"
 #include "animator/easing_equation.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "respiratorytraining/include/RespiratoryTrainingModel.h"
 
 namespace OHOS
index 3be61c1..8700a0d 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "NativeAbility.h"
 
 #include "rotate/include/RotatePresenter.h"
index 8732423..13aa264 100644 (file)
@@ -1,7 +1,7 @@
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "saveele/include/SaveBatPresenter.h"\r
index 9ddd6d9..350f3eb 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "saveele/include/SaveElePresenter.h"\r
index fc8d59c..1b5592c 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "secondaryfunction/include/FastTrainingAttentionPresenter.h"\r
index aa1e2e6..ac621c4 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "string.h"\r
index febc7af..68c4dbf 100644 (file)
@@ -1,7 +1,7 @@
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include"ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "secondaryfunction/include/SecondaryFunctionPresenter.h"\r
 #include "secondaryfunction/include/SecondaryFunctionModel.h"\r
index 968e08b..48c7fc8 100644 (file)
@@ -10,7 +10,7 @@
 
 #include <cstdint>
 #include <AppViewIDs.h>
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     typedef struct
index abce341..69c7f7c 100644 (file)
@@ -7,7 +7,7 @@
  */
 #include "settings/include/SettingModel.h"
 #include "main/include/PullUpDownView.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     SettingModel::SettingModel() {}
index f23090e..0596496 100644 (file)
@@ -10,7 +10,7 @@
 #include "SettingView.h"
 #include "SettingItem.h"
 #include "SettingPresenter.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
     /* ---------------------------------- 设置标签 ---------------------------------- */
index 5301aa0..ef7b5bc 100644 (file)
@@ -7,7 +7,7 @@
  */\r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "soundandvibration/include/CallVolumePresenter.h"\r
index a6a0971..612fb8e 100644 (file)
@@ -8,7 +8,7 @@
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "string.h"\r
index fe77925..251303e 100644 (file)
@@ -9,7 +9,7 @@
 #include "soundandvibration/include/SoundAndVibrationPresenter.h"\r
 #include "soundandvibration/include/SoundAndVibrationModel.h"\r
 #include "wearable_log.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include <UiConfig.h>\r
 /*\r
 按优先级分为\r
index 434b292..04c1351 100644 (file)
@@ -8,7 +8,7 @@
  */\r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "string.h"\r
index a78fb82..b5512d6 100644 (file)
@@ -9,7 +9,7 @@
 #include "soundandvibration/include/SoundAndVibrationPresenter.h"
 #include "wearable_log.h"
 #include "ConfigModel.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include <UiConfig.h>
 namespace OHOS
 {
index 8b278a1..c9ae126 100644 (file)
@@ -2,7 +2,7 @@
 #include "system/include/SystemPresenter.h"\r
 #include "wearable_log.h"\r
 #include "UiConfig.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 \r
 namespace OHOS\r
 {\r
index ad18c14..25dbcc3 100644 (file)
@@ -1,6 +1,6 @@
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "graphic_math.h"\r
 #include "string.h"\r
@@ -12,7 +12,7 @@
 #include "common/key_code.h"\r
 #include "custom_utils.h"\r
 #include "languagecode/LanguageInit.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "ConfigModel.h"\r
 namespace OHOS\r
 {\r
index 4110fab..81235e0 100644 (file)
@@ -3,7 +3,7 @@
 #include "wearable_log.h"\r
 #include "bleService.h"\r
 #include "battery_hal.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 extern uint8_t battery_get_voltage(float *voltage);\r
 #include "systemupdate/include/SystemUpdateModel.h"\r
 namespace OHOS\r
index eb81d37..c65ff9f 100644 (file)
@@ -9,7 +9,7 @@
 #include "systemupdate/include/SystemUpdatePresenter.h"
 #include "systemupdate/include/SystemUpdateView.h"
 #include "wearable_log.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ConfigModel.h"
 #include "systemupdate/include/SystemUpdateModel.h"
 #include "UiConfig.h"
index f6fb1d2..9be982d 100644 (file)
@@ -6,7 +6,7 @@
  */
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 
 #include <iostream>
index 062a071..ca34acb 100644 (file)
@@ -9,7 +9,7 @@
 #include <string>
 #include "themestyle/include/ThemeStyleView.h"
 #include "themestyle/include/ThemeStylePresenter.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 
 namespace OHOS
 {
index 537a205..74609a8 100644 (file)
@@ -17,7 +17,7 @@
 
 // #include "traing/include/TraingModel.h"
 #include "traing/Training_UiConfig.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 
 #include "cywee_service.h"
 #include "cywee_hal.h"
index b6c37c0..e19a922 100644 (file)
@@ -18,7 +18,7 @@
  */
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 #include "KeyInputListener.h"
 #include "custom_utils.h"
index ee598e0..fb327fd 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 62bd3aa..628e33e 100644 (file)
@@ -2,7 +2,7 @@
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "KeyInputListener.h"\r
 #include "custom_utils.h"\r
index 3ee8f3b..fd263b4 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 9e71557..4bc39d0 100644 (file)
@@ -7,7 +7,7 @@
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 #include "KeyInputListener.h"
 #include "custom_utils.h"
index 4a11854..91af3e3 100644 (file)
@@ -6,7 +6,7 @@
  */\r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 #include "KeyInputListener.h"\r
 #include "custom_utils.h"\r
index 42b483a..080d87e 100644 (file)
@@ -3,7 +3,7 @@
 \r
 #include "common/image_cache_manager.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "UiConfig.h"\r
 #include "ui_resource_image.h"\r
 #include <ui_scroll_view.h>\r
index b68c45d..d86be7f 100644 (file)
@@ -15,7 +15,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "components/ui_button.h"
index bc17316..b598ce3 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "components/ui_button.h"
index ad304e5..a975492 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "components/ui_button.h"
index e608c1d..5f00365 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "components/ui_button.h"
index ba08302..e5decf0 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 0a9d123..ce11ce5 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 63f9e93..ceabb74 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 8ff2a11..bd8f304 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index d42dd93..755797a 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 62f6182..b4a94d2 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 9fbae07..2d0fdd5 100644 (file)
@@ -7,7 +7,7 @@
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include <iostream>\r
index 07bee8e..6e772b5 100644 (file)
@@ -2,7 +2,7 @@
 #include "traing/training_card/include/TraingCardView.h"\r
 #include "common/image_cache_manager.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "UiConfig.h"\r
 #include "ui_resource_image.h"\r
 #include <ui_scroll_view.h>\r
index 916d78e..3a1b45a 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index c23f24d..ab9a400 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index dd4b846..89de4dd 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
index 842f0e6..90e24bc 100644 (file)
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
 #include "traing/include/TraingModel.h"
index 157d85c..d81f178 100644 (file)
@@ -3,7 +3,7 @@
 \r
 #include "common/image_cache_manager.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "UiConfig.h"\r
 #include "ui_resource_image.h"\r
 #include <ui_scroll_view.h>\r
index 2d88cbc..5b776cf 100644 (file)
@@ -15,7 +15,7 @@
 #include "components/abstract_adapter.h"
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
index 3305f7f..1a81a0f 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_view_group.h"
 #include "components/ui_checkbox.h"
 #include "components/ui_image_view.h"
@@ -12,7 +12,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index 42060bb..1c27017 100644 (file)
@@ -14,9 +14,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingAquaticPresenter.h"
 #include "traing/training_list_aquatic/include/TraingAquaticAdapter.h"
index 91e46c0..eaa6129 100644 (file)
@@ -19,7 +19,7 @@
 #include "traing/training_list_aquatic/include/TraingAquaticModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index c0f9c07..a6593f8 100644 (file)
@@ -13,7 +13,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index d47b9e9..b63f709 100644 (file)
 #include "traing/training_list_aquatic/include/TraingAquaticModel.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index ab23cff..32b517a 100644 (file)
@@ -7,7 +7,7 @@
 #include "components/abstract_adapter.h"
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
index 28ca204..2a1582d 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_view_group.h"
 #include "components/ui_checkbox.h"
 #include "components/ui_image_view.h"
@@ -12,7 +12,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index 9235557..cebb1d9 100644 (file)
@@ -14,9 +14,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingBallPresenter.h"
 #include "traing/training_list_ball/include/TraingBallAdapter.h"
index 2dc65c1..510f30e 100644 (file)
@@ -19,7 +19,7 @@
 #include "traing/training_list_ball/include/TraingBallModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index 4d84af3..7ccc5b8 100644 (file)
@@ -5,7 +5,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index 7b651bf..a7f51f9 100644 (file)
 #include "traing/training_list_ball/include/TraingBallModel.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index 9ec6b68..738dcd3 100644 (file)
@@ -5,7 +5,7 @@
 #include "traing/Training_UiConfig.h"
 
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
 
index 84c5506..4cb14c9 100644 (file)
@@ -18,8 +18,8 @@
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
-#include "language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
+#include "ui_resource_string.h"
 // 列表的适配器
 namespace OHOS
 {
index 7682fd2..1fd79c2 100644 (file)
@@ -27,9 +27,9 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index 5cae108..9bc67fd 100644 (file)
@@ -14,9 +14,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingDancePresenter.h"
 #include "traing/training_list_dance/include/TraingDanceAdapter.h"
index 484b4e3..36d0754 100644 (file)
@@ -11,7 +11,7 @@
 #include "traing/training_list_dance/include/TraingDanceModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index c96950a..9bdc74e 100644 (file)
@@ -12,7 +12,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index 6e4535d..9eaff98 100644 (file)
 #include "traing/training_list_dance/include/TraingDanceModel.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 namespace OHOS
 {
 
index 03d164a..2611e9b 100644 (file)
@@ -5,7 +5,7 @@
 #include "traing/Training_UiConfig.h"
 
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
 
index f2a711f..ffa57e7 100644 (file)
@@ -15,7 +15,7 @@
 #include "components/abstract_adapter.h"
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 
index 535de06..57c7805 100644 (file)
@@ -5,7 +5,7 @@
 
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_view_group.h"
 #include "components/ui_checkbox.h"
 #include "components/ui_image_view.h"
index 8231bd2..ef2bda1 100644 (file)
@@ -19,7 +19,7 @@
 #include "traing/training_list_fitness/include/TraingFitnessModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index 6f38618..d5afbe9 100644 (file)
@@ -26,7 +26,7 @@
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 // 列表的适配器
 namespace OHOS
index 8944ece..b060ed2 100644 (file)
@@ -12,7 +12,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index fef4cf7..492d677 100644 (file)
@@ -6,9 +6,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingIcePresenter.h"
 #include "traing/training_list_ice/include/TraingIceAdapter.h"
index f768e7a..f217783 100644 (file)
@@ -11,7 +11,7 @@
 #include "traing/training_list_ice/include/TraingIceModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index d7aa3fb..4c5d1d1 100644 (file)
@@ -12,7 +12,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index 8cc02f2..5aed3fe 100644 (file)
 #include "traing/training_list_ice/include/TraingIceModel.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index 5065f0f..450535e 100644 (file)
@@ -13,7 +13,7 @@
 #include "traing/Training_UiConfig.h"
 
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
 
index 857df6a..6b35a6a 100644 (file)
@@ -15,7 +15,7 @@
 #include "components/abstract_adapter.h"
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
index d9c27ac..fa19f66 100644 (file)
@@ -20,7 +20,7 @@
 
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_view_group.h"
 #include "components/ui_checkbox.h"
 #include "components/ui_image_view.h"
@@ -28,7 +28,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index d93ad18..6a7a554 100644 (file)
@@ -6,9 +6,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingLimitPresenter.h"
 #include "traing/training_list_limit/include/TraingLimitAdapter.h"
index 077cb2d..695b080 100644 (file)
@@ -19,7 +19,7 @@
 #include "traing/training_list_limit/include/TraingLimitModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index 1c775cb..6b15b03 100644 (file)
@@ -12,7 +12,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index fa1b6fc..78187f6 100644 (file)
 #include "traing/training_list_limit/include/TraingLimitModel.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index b2a069c..bebe036 100644 (file)
@@ -5,7 +5,7 @@
 #include "traing/Training_UiConfig.h"\r
 \r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "UiConfig.h"\r
 #include "wearable_log.h"\r
 \r
index 2a06068..0389fd3 100644 (file)
@@ -16,7 +16,7 @@
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 
 // 列表的适配器
 namespace OHOS
index 8b5c9e3..78505d6 100644 (file)
@@ -19,7 +19,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index 7fff325..fc9a3c1 100644 (file)
@@ -6,9 +6,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingMorePresenter.h"
 #include "traing/training_list_more/include/TraingMoreAdapter.h"
index 0690447..5eaa40d 100644 (file)
@@ -11,7 +11,7 @@
 #include "traing/training_list_more/include/TraingMoreModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index e0513ed..1b9fbe8 100644 (file)
@@ -12,7 +12,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index 23bce5d..fe4664f 100644 (file)
 #include "traing/Training_UiConfig.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index 8e0823f..3c9a6a3 100644 (file)
@@ -13,7 +13,7 @@
 #include "traing/Training_UiConfig.h"\r
 \r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "UiConfig.h"\r
 #include "wearable_log.h"\r
 \r
index be70078..f6df12f 100644 (file)
@@ -15,7 +15,7 @@
 #include "components/abstract_adapter.h"
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
index e8fa675..210fdb4 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_view_group.h"
 #include "components/ui_checkbox.h"
 #include "components/ui_image_view.h"
@@ -12,7 +12,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index 01d634c..e257b5b 100644 (file)
@@ -22,9 +22,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingOtherPresenter.h"
 #include "traing/training_list_other/include/TraingOtherAdapter.h"
index 426a6a0..b16ec28 100644 (file)
@@ -19,7 +19,7 @@
 #include "traing/training_list_other/include/TraingOtherModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index 22a20d6..df82d9f 100644 (file)
@@ -13,7 +13,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index 1774135..14df81a 100644 (file)
 #include "traing/training_list_other/include/TraingOtherModel.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index 4c78490..00e8722 100644 (file)
@@ -5,7 +5,7 @@
 #include "traing/Training_UiConfig.h"
 
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
 
index 1906582..90153b6 100644 (file)
@@ -15,7 +15,7 @@
 #include "components/abstract_adapter.h"
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
index 9ce2129..1c20f9b 100644 (file)
@@ -20,7 +20,7 @@
 
 #include "components/ui_label.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_view_group.h"
 #include "components/ui_checkbox.h"
 #include "components/ui_image_view.h"
@@ -28,7 +28,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index 5ef3af1..2983ad4 100644 (file)
@@ -14,9 +14,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingRestPresenter.h"
 #include "traing/training_list_rest/include/TraingRestAdapter.h"
index 04cc47a..f68708c 100644 (file)
@@ -19,7 +19,7 @@
 #include "traing/training_list_rest/include/TraingRestModel.h"
 #include "components/ui_label_button_ext.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include"ui_resource_string.h"
 
 namespace OHOS
 {
index 6428fe8..c83ee9a 100644 (file)
@@ -20,7 +20,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index 52e7c16..a2627a3 100644 (file)
@@ -3,12 +3,12 @@
 #include "traing/training_list_rest/include/TraingRestModel.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 namespace OHOS
 {
 
index 78b292d..61da697 100644 (file)
@@ -5,7 +5,7 @@
 #include "traing/Training_UiConfig.h"
 
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
 
index 7126d26..ef595fa 100644 (file)
@@ -16,7 +16,7 @@
 #include "components/ui_checkbox.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 
 // 列表的适配器
 namespace OHOS
index 424164d..93d2bb3 100644 (file)
@@ -25,7 +25,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
index cfbc40d..8f14891 100644 (file)
@@ -18,9 +18,9 @@
 #include <map>
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "TraingRecordPresenter.h"
 #include "traingrecord/include/TraingRecordAdapter.h"
index 71645e5..f916e82 100644 (file)
@@ -12,7 +12,7 @@
 #include "uicomponents/UIComponents.h"
 #include "traing/Training_UiConfig.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 namespace OHOS
 {
index 9463823..7de9eec 100644 (file)
 #include "traing/Training_UiConfig.h"
 #include "common/image_cache_manager.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "UiConfig.h"
 #include "ui_resource_image.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "traing/include/TraingModel.h"
 #include <vector>
 
index afe88b8..a5de12b 100644 (file)
@@ -6,7 +6,7 @@
  */
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #include "NativeAbility.h"
 
 #include <iostream>
index 8729039..35058b8 100644 (file)
@@ -14,7 +14,7 @@
 #include "components/ui_view_group.h"\r
 #include "components/ui_scroll_view.h"\r
 #include "components/ui_label_ext.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "components/ui_image_animator.h"\r
 #include "ConfigModel.h"\r
 namespace OHOS\r
index 09d2bc0..39107a3 100644 (file)
@@ -8,7 +8,7 @@
 #include "weather/include/FutureWeatherView.h"\r
 #include "wearable_log.h"\r
 #include "weather/include/WeatherModel.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "weather/include/WeatherModel.h"\r
 namespace OHOS\r
 {\r
index 4f14579..6553338 100644 (file)
@@ -8,7 +8,7 @@
 #include "weather/include/GetWeatherDataErrorView.h"\r
 #include "wearable_log.h"\r
 #include "weather/include/MainWeatherPresenter.h"\r
-#include "language/font/ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 \r
 /* 天气获取数据失败后会调用该视图*/\r
 namespace OHOS\r
index be95abf..39681d7 100644 (file)
@@ -4,7 +4,7 @@
 #include "components/ui_image_view.h"
 #include "components/ui_label_ext.h"
 #ifdef FD230
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #endif
 #include <cmsis_os2.h>
 #include <cmsis_os.h>
index 97de0af..08a052c 100644 (file)
@@ -4,7 +4,7 @@
 #include "components/ui_image_view.h"
 #include "components/ui_label_ext.h"
 #ifdef FD230
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #endif
 #include <UIComponents.h>
 #include <cmsis_os2.h>
index cbc68b6..2c949ef 100644 (file)
@@ -8,7 +8,7 @@
 #include "wearable_log.h"
 #include "vector"
 #ifdef FD230
-#include "language/font/ui_resource_string.h"
+#include "ui_resource_string.h"
 #endif
 
 
diff --git a/tools/language_tool/Language_xml/input_list_en.txt b/tools/language_tool/Language_xml/input_list_en.txt
new file mode 100644 (file)
index 0000000..bd842a6
--- /dev/null
@@ -0,0 +1,475 @@
+STR_EXERCISE_OUTDOORWALKING$Walk\r
+STR_EXERCISE_OUTDOORRUNNING$Run\r
+STR_EXERCISE_OUTDOORBIKING$Biking\r
+STR_EXERCISE_GENERAL$Exercise general\r
+STR_EXERCISE_FREETRAINING$Free training\r
+STR_EXERCISE_RESISTANCETRAINING$Resistance training\r
+STR_EXERCISE_SPINBIKE$Spin bike\r
+STR_EXERCISE_TREADMILL$Treadmill\r
+STR_EXERCISE_STROLLMACHINE$Stroll machine\r
+STR_EXERCISE_HIIT$High intense interval training\r
+STR_EXERCISE_CROSSFIT$Crossfit\r
+STR_EXERCISE_GROUPCALISTHENICS$Group calisthenics\r
+STR_EXERCISE_YOGA$Yoga\r
+STR_EXERCISE_YOGACAT$Yoga cat\r
+STR_EXERCISE_YOGACOW$Yoga cow\r
+STR_EXERCISE_YOGACOBRA$Yoga cobra\r
+STR_EXERCISE_YOGAHERO1$Yoga hero1\r
+STR_EXERCISE_YOGAHERO2$Yoga hero2\r
+STR_EXERCISE_YOGAHERO3$Yoga hero3\r
+STR_EXERCISE_YOGAROLLING$Yoga rolling\r
+STR_EXERCISE_INDOORWALKING$Indoor walking\r
+STR_EXERCISE_INDOORRUNNING$Indoor running\r
+STR_EXERCISE_JUMPINGROPE$Jumping rope\r
+STR_EXERCISE_PILATES$Pilates\r
+STR_EXERCISE_CROSS_FIT$Cross fit\r
+STR_EXERCISE_FUNCTIONALTRAINING$Functional training\r
+STR_EXERCISE_PHYSICALTRAINING$Physical Training\r
+STR_EXERCISE_TAEKWONDO$Taekwondo\r
+STR_EXERCISE_BOXING$Boxing\r
+STR_EXERCISE_KICKBOXING$Kickboxing\r
+STR_EXERCISE_KARATE$Karate\r
+STR_EXERCISE_FENCING$Fencing\r
+STR_EXERCISE_CORETRAINING$Core training\r
+STR_EXERCISE_BODYCOMBAT$Body Combat\r
+STR_EXERCISE_KENDO$Kendo\r
+STR_EXERCISE_HORIZONTALBAR$Horizontal bar\r
+STR_EXERCISE_PARALLELBARS$Parallel bars\r
+STR_EXERCISE_CIRCUIT$Circuit training\r
+STR_EXERCISE_AEROBICS$Aerobics\r
+STR_EXERCISE_CALISTHENICE$Calisthenice\r
+STR_EXERCISE_P90X$P90X\r
+STR_EXERCISE_KETTLEBELLTRAINING$Kettlebell Training\r
+STR_EXERCISE_MIXEDMARTIALARTS$Mixed martial arts\r
+STR_EXERCISE_STAIRCLIMBINGMACHINE$Stair climbing machine\r
+STR_EXERCISE_WEIGHTLIFTING$Weightlifting\r
+STR_EXERCISE_BARRE$Barre\r
+STR_EXERCISE_HANDCYCLING$Hand cycling\r
+STR_EXERCISE_TRACKFIELD$Track field\r
+STR_EXERCISE_WRESTLING$Wrestling\r
+STR_EXERCISE_MINDBODY$Mind body\r
+STR_EXERCISE_FLEXIBILITY$Flexibility\r
+STR_EXERCISE_MIXEDCARDIO$Mixed cardio\r
+STR_EXERCISE_TRADITIONALSTRENGTHTRAINING$Traditional strength training\r
+STR_EXERCISE_CROSSTRAINING$Cross training\r
+STR_EXERCISE_GYMNASTICS$Gymnastics\r
+STR_EXERCISE_STEPTRAINING$Step training\r
+STR_EXERCISE_ELLIPTICALTRAINER$Elliptical trainer\r
+STR_EXERCISE_ROWINGMACHINE$Rowing machine\r
+STR_DANCING_GENERAL$Dancing general\r
+STR_DANCING_BELLY$Belly dance\r
+STR_DANCING_JAZZ$Jazz dance\r
+STR_DANCING_LATIN$Latin dance\r
+STR_DANCING_BALLET$Ballet dance\r
+STR_DANCING_STREET$Street dance\r
+STR_DANCING_PUBLICSQUARE$Public square dancing\r
+STR_DANCING_ZUMBA$Zumba\r
+STR_DANCING_SOCIALDANCE$Social dance\r
+STR_DANCING_TAPDANCE$Tap dance\r
+STR_RECREATIONAL_SPORTS$Recreational Sports\r
+STR_RECREATIONAL_SKATING$Roller Skating\r
+STR_RECREATIONAL_MARTIALARTS$Martial arts\r
+STR_RECREATIONAL_TAICHI$Tai Chi\r
+STR_RECREATIONAL_HULAHOOP$Hula hoop\r
+STR_RECREATIONAL_DISCSPORT$Disc sport\r
+STR_RECREATIONAL_DARTS$Darts\r
+STR_RECREATIONAL_ARCHERY$Archery\r
+STR_RECREATIONAL_HORSERIDING$Horse riding\r
+STR_RECREATIONAL_BATTLEGAME$Battle game\r
+STR_RECREATIONAL_KITE$Fly a kite\r
+STR_RECREATIONAL_TUGOFWAR$Tug of war\r
+STR_RECREATIONAL_SWING$Swing\r
+STR_RECREATIONAL_STAIRCLIMBING$Stair climbing\r
+STR_RECREATIONAL_OBSTACLERACE$Obstacle race\r
+STR_RECREATIONAL_FISHING$Fishing\r
+STR_RECREATIONAL_HUNTING$Hunting\r
+STR_RECREATIONAL_SCOOTERRIDING$Scooter Riding\r
+STR_RECREATIONAL_PARAGLIDING$Paragliding\r
+STR_RECREATIONAL_TEAMSPORTS$Team sports\r
+STR_RECREATIONAL_FINESSGAMING$Finess gaming\r
+STR_RECREATIONAL_HIKING$Hiking\r
+STR_RECREATIONAL_EQUESTRIANSPORTS$Equestrian sports\r
+STR_RECREATIONAL_PLAY$Play\r
+STR_BALL_GAMES$Ball games\r
+STR_BALL_BADMINTON$Badminton\r
+STR_BALL_TABLETENNIS$Table tennis\r
+STR_BALL_TENNIS$Tennis\r
+STR_BALL_BILLIARDS$Billiards\r
+STR_BALL_BOWLING$Bowling\r
+STR_BALL_VOLLEYBALL$Volleyball\r
+STR_BALL_SHUTTLECOCK$Shuttlecock\r
+STR_BALL_HANDBALL$Handball\r
+STR_BALL_BASEBALL$Baseball\r
+STR_BALL_SOFTBALL$Softball\r
+STR_BALL_CRICKET$Cricket\r
+STR_BALL_FOOTBALL$Football\r
+STR_BALL_BEACHSOCCER$Beach soccer\r
+STR_BALL_BEACHVOLLEYBALL$Beach volleyball\r
+STR_BALL_CROQUET$Croquet\r
+STR_BALL_HOCKEY$Hockey\r
+STR_BALL_SQUASH$Squash\r
+STR_BALL_SEPAKTAKRAW$Sepak takraw\r
+STR_BALL_DODGEBALL$Dodge ball\r
+STR_BALL_BASKETBALL$Basketball\r
+STR_BALL_SOCCER$Soccer\r
+STR_BALL_GOLF$Golf\r
+STR_BALL_POLO$Polo\r
+STR_BALL_RACQUETBALL$Racquetball\r
+STR_BALL_RUGBY$Rugby\r
+STR_BALL_GATEBALL$Gateball\r
+STR_BALL_PICKLEBALL$Pickleball\r
+STR_BALL_LACROSSE$Lacrosse\r
+STR_WATER_ACTIVITIES$Water activities\r
+STR_WATER_SAILING$Sailing\r
+STR_WATER_SURFING$Surfing\r
+STR_WATER_WHITEWATERRAFTING$Whitewater rafting\r
+STR_WATER_CANOEING$Canoeing\r
+STR_WATER_KAYAKING$Kayaking\r
+STR_WATER_ROWING$Rowing\r
+STR_WATER_MOTORBOAT$Motorboat\r
+STR_WATER_SUP$SUP\r
+STR_WATER_SCUBADIVING$Scuba diving\r
+STR_WATER_DIVING$Diving\r
+STR_WATER_KITESURFING$Kitesurfing\r
+STR_WATER_WAKEBOARDING$Wakeboarding\r
+STR_WATER_POLO$Water Polo\r
+STR_WATER_WINDSURFING$Windsurfing\r
+STR_WATER_DRIFTING$Drifting\r
+STR_WATER_FITNESS$Water fitness\r
+STR_WATER_SPORTS$Water sports\r
+STR_WATER_OUTDOORSWIM$Outdoor swim\r
+STR_WATER_INDOORSWIM$Indoor swim\r
+STR_WATER_SWIMFREESTYLE$Swim freestyle\r
+STR_WATER_SWIMBREASTSTROKE$Swim breaststroke\r
+STR_WATER_SWIMBACKSTROKE$Swim backstroke\r
+STR_WATER_SWIMBUTTERFLY$Swim butterfly\r
+STR_ICE_SPORTS$Ice sports\r
+STR_ICE_SKATING$Skating\r
+STR_ICE_HOCKEY$Ice hockey\r
+STR_ICE_CURLING$Curling\r
+STR_ICE_SNOWMOBILING$Snow mobiling\r
+STR_ICE_SLED$Sled\r
+STR_ICE_BIATHLON$Biathlon\r
+STR_ICE_CROSSCOUNTRYSKING$Crosscountry sking\r
+STR_ICE_SKIING$Skiing\r
+STR_ICE_SNOWBOARDING$Snowboarding\r
+STR_ICE_SNOWSHOEING$Snowshoeing\r
+STR_ICE_SNOWSPORTS$Snow sport\r
+STR_EXTREME_SPORTS$Extreme sports\r
+STR_EXTREME_SKATEBOARDING$Skateboarding\r
+STR_EXTREME_ROCKCLIMBING$Rock climbing\r
+STR_EXTREME_BUNGEEJUMPING$Bungee Jumping\r
+STR_EXTREME_PARKOUR$Parkour\r
+STR_EXTREME_BMX$Bike motocross\r
+STR_EXTREME_ORIENTEERING$Orienteering\r
+STR_EXTREME_PARACHUTE$Parachute\r
+STR_EXTREME_RACING$Racing\r
+STR_EXTREME_TRIATHLONS$Triathlons\r
+STR_OTHER_ELEVATOR$Elevator\r
+STR_OTHER_ESCALATOR$Escalator\r
+STR_OTHER_GARDENING$Gardening\r
+STR_OTHER_HORSEWORK$House Work\r
+STR_OTHER_INVEHICLE$In Vehicle\r
+STR_OTHER_MEDITATION$Meditation\r
+STR_OTHER_STILL$Still\r
+STR_OTHER_TILTING$Tilting\r
+STR_OTHER_WHEELCHAIR$Wheelchair\r
+STR_HEART_RATE$Heart Rate\r
+STR_BLOOD_OXYGEN$Blood Oxygen\r
+STR_TRAINING$Training\r
+STR_TRAINING_RECORD$Training Record\r
+STR_COMPASS$Compass\r
+STR_TELEPHONE$Telephone\r
+STR_FAVORITE_CONTACTS$Favorite Contacts\r
+STR_WEATHER$Weather\r
+STR_ACTIVITY$Activity\r
+STR_WATCH_FACE$Watch Face\r
+STR_DISPLAY_MODE$Display Mode\r
+STR_CARD_MANAGEMENT$Card Management\r
+STR_MUSIC$Music\r
+STR_SLEEP$Sleep\r
+STR_RECORD$Record\r
+STR_BREATH_TRAINING$Breath Training\r
+STR_REMOTE_SHOOTING$Remote Shooting\r
+STR_VOICE_ASSISTANT$Voice Assistant\r
+STR_ALIPAY$Alipay\r
+STR_TIMER$Timer\r
+STR_ALARM$Alarm\r
+STR_STOPWATCH$Stopwatch\r
+STR_CALCULATOR$Calculator\r
+STR_FIND_PHONE$Find Phone\r
+STR_BRIGHTNESS_ADJUSTMENT$Brightness Adjustment\r
+STR_SOUND$Sound\r
+STR_BLUETOOTH$Bluetooth\r
+STR_DO_NOT_DISTURB$Do Not Disturb\r
+STR_MESSAGE_NOTIFICATION$Message Notification\r
+STR_POWER_SAVE_MODE$Power Save Mode\r
+STR_FLASHLIGHT$Flashlight\r
+STR_SETTINGS$Settings\r
+STR_EXERCISE_LIST$Exercise\r
+STR_BALL_LIST$Ball\r
+STR_WATER_LIST$Water\r
+STR_DANCING_LIST$Dance\r
+STR_EXTREME_LIST$Extreme\r
+STR_ICE_LIST$Ice\r
+STR_RECREATIONAL_LIST$Recreational\r
+STR_OTHER_LIST$Other\r
+STR_DANCING_TITLE$Dance Sport\r
+STR_BALL_LIST_TITLE$Ball Sport\r
+STR_OTHER_TITLE$Other Sport\r
+STR_EXERCISE_TITLE$Exercise Sport\r
+STR_RAPID_TRAINING$Rapid training\r
+STR_SET_GOALS$Set goals \r
+STR_DURATION$duration\r
+STR_DURATION_SETTING$Duration setting(Min)\r
+STR_CALORIE$calorie\r
+STR_CALORIE_SETTING$Calorie setting(Kcal)\r
+STR_DISTANCE$distance\r
+STR_RANGE_SETTING$Range setting(Km)\r
+STR_STEP_NUMBER$Step number\r
+STR_STEP_SETTING$Step setting(steps)\r
+STR_HEART_RATE_SETTING$Heart rate (times/min)\r
+STR_MEAN_HEART_RATE$Mean heart rate\r
+STR_TIMES_PER_MIN$Times/min\r
+STR_MEAN_HEART_RATE_MIN$Mean heart rate(Times/min)\r
+STR_LOWER_STRENGTH$Lower strength\r
+STR_MEDIUM_STRENGTH$Medium strength\r
+STR_HIGH_STRENGTH$High strength\r
+STR_ULTRA_HIGH_STRENGTH$Ultra-high strength\r
+STR_TRAINING_INTENSITY$Training intensity\r
+STR_TRAINING_IN_PROGRESS$Training in progress\r
+STR_BREAK_TRAINING$Break training\r
+STR_FINISH$finish\r
+STR_PAUSE$Pause\r
+STR_RESUME$Resume\r
+STR_GOAL_ACHIEVED$Goal achieved\r
+STR_ACCOMPLISH_GOAL$Accomplish the goal\r
+STR_OK$OK\r
+STR_LOOK_OUT$Look out\r
+STR_INSUFFICIENT_EXERCISE_AMOUNT$The current amount of exercise is too small to record\r
+STR_END_MOVEMENT$End movement\r
+STR_END_THIS_MOVEMENT$Whether to end this movement\r
+STR_GOAL_ACCOMPLISHMENT_DEGREE$Goal accomplishment degree\r
+STR_TRAINING_DURATION$Training duration\r
+STR_RANGE_MILE$Distance (m)\r
+STR_CLOSE$Close\r
+STR_MORE$More\r
+STR_MORE_APP$Check out the APP for more\r
+STR_SAVENOTE$Turning on power-saving mode turns off non-essential Bluetooth connections, as well as features such as sensor monitoring\r
+STR_SAVEBACK$Press and hold the screen for more than 3 seconds or charge to exit the power saving mode\r
+STR_SAVEASK$Enable or not\r
+STR_BLOOD$bloodoxygen \r
+STR_CHECK$detection\r
+STR_CHECKNEW$Just detected\r
+STR_CHECKTIME$Detected XX minutes ago\r
+STR_CHECKLONG$Detected over 1 hour ago\r
+STR_CHECKNO$No detection records available\r
+STR_CHECKNOTE$Wear it snugly and stay still\r
+STR_CHECKON$Detecting\r
+STR_CHECKSTOP$Stop detection\r
+STR_CHECKERROR$Unable to detect results\r
+STR_WAERKEEP$Please ensure the watch is worn and remain still\r
+STR_WEARRE$Perform a retest\r
+STR_WEARREADY$Click the button below when ready\r
+STR_RECHECK$Retest\r
+STR_CHECKEWARN$Blood Oxygen Alert\r
+STR_BLOODSHORT$Current blood oxygen level is below XX%\r
+STR_HEARTNOTE$Please take care of your health\r
+STR_KONW$Got it\r
+STR_EXPLAIN$Explanation\r
+STR_HEARTREST$Resting\r
+STR_HEARTDATA$Heart rate detection result\r
+STR_HEARTTITLE$Heart rate alert\r
+STR_HEARTMAX$Current heart rate is higher than XX\r
+STR_HEARTMIN$Current heart rate is lower than XX\r
+STR_TRAINGNO$no record\r
+STR_TRAINGGO$Go to training\r
+STR_MESSAGENO$No content currently\r
+STR_CLEAN$Clear\r
+STR_CLEANALL$Clear all\r
+STR_SLEEP_YESTERDAY$Last Night's Sleep\r
+STR_HOUR$Hours\r
+STR_MIN$MInutes\r
+STR_SLEEPMGOAL$Goal XX Hours\r
+STR_REATTIME$Schedule\r
+STR_SLEEPTIME$Bedtime\r
+STR_WALKTIME$Wake-up Time\r
+STR_APPMORE$For more details yesterday, please visit the mobile APP\r
+STR_DISTURB$The watch will enter Do Not Disturb mode in 20 minutes. To turn it off, please go to the Control Center.\r
+STR_DISTURBNOTE$Do Not Disturb mode is enabled, thus the watch won't vibrate or ring.\r
+STR_MORNNING$Good morning\r
+STR_NOW$Current\r
+STR_NAP$Nap (5 minutes)\r
+STR_TACK$Please open the app first, go to "Device" - "Camera"\r
+STR_CLICK$click on "Take a Photo\r
+STR_TACKNUM$Number of photos taken: XX\r
+STR_SCREEN_AND_BRIGHTNESS$Screen and Brightness\r
+STR_NETWORKANDCALL$NetworkAndCall\r
+STR_SOUND_AND_VIBRATION$Sound and Vibration\r
+STR_MOTION_RECOGNITION$Motion Recognition\r
+STR_SYSTEM$System \r
+STR_SHUTDOWN_AND_RESTART$Shutdown and Restart\r
+STR_SCREEN_ON_DURATION$Screen On Duration\r
+STR_RAISE_TO_WAKE$Raise to Wake\r
+STR_5_SECONDS$5 s\r
+STR_10_SECONDS$10 s\r
+STR_15_SECONDS$15 s\r
+STR_30_SECONDS$30 s\r
+STR_60_SECONDS$60 s\r
+STR_300_SECONDS$300 s\r
+STR_4G_CAPABILITY$4G capability\r
+STR_VOLTE_CALL$VoLTE call\r
+STR_MOBILE_DATA_OPTION$Mobile data option\r
+STR_SYSTEM_UPDATE$System Update\r
+STR_ONLINE_MUSIC$Online music\r
+STR_BLUETOOTH_HEADPHONES$Bluetooth Headphones\r
+STR_TRADITIONAL_BLUETOOTH$Traditional Bluetooth\r
+STR_AUTO_OFF_BLUETOOTH_NOTE$Note: It will be automatically turned off if the connection is not successful for 10 minutes after opening, because the traditional Bluetooth will increase the power consumption for a long time, it is recommended to use when necessary(this function is mainly used for phone calls/notifications、music control/transmission, etc.)\r
+STR_BLUETOOTH_SERVICE_OPTIONS$Bluetooth Service Options\r
+STR_HFP$HFP\r
+STR_A2DP$A2DP\r
+STR_SYSTEM_VOLUME$System Volume\r
+STR_MEDIA_VOLUME$Media Volume\r
+STR_CALL_VOLUME$Call Volume\r
+STR_VIBRATION_MODE$Vibration Mode\r
+STR_SILENT_MODE$Silent Mode\r
+STR_LIST_DISPLAY$List display\r
+STR_GRID_DISPLAY$Grid Display\r
+STR_CELLULAR_DISPLAY$Cellular Display\r
+STR_AUTO_DETECT$Auto Detect\r
+STR_ABOUT_WATCH$About Watch\r
+STR_WATCH_QR_CODE$watch QR code\r
+STR_SYSTEM_LANGUAGE$System Language\r
+STR_RESTART$Restart\r
+STR_SHUTDOWN$Shutdown\r
+STR_FACTORY_RESET$Factory Reset\r
+STR_WATCH_NAME$Watch Name\r
+STR_FIRMWARE_VERSION$Firmware Version \r
+STR_BLUETOOTH_NAME$Bluetooth Name\r
+STR_BLUETOOTH_ADDRESS$Bluetooth Address \r
+STR_UPDATENOW$Update Now\r
+STR_LATEST_VERSION$Latest version\r
+STR_LATER$Later\r
+STR_UP_TO_DATE$The system has been upgraded to the latest version\r
+STR_NO_UPDATE$No update\r
+STR_LANGUAGE_SELECTION$Language Select \r
+STR_RESET_CONFIRM$Are you sure to restart?\r
+STR_SHUTDOWN_CONFIRM$Are you sure to shut down?\r
+STR_RESET_CONFIRM_NOTE$The operation will clear and reset the watch data. Are you sure you want to continue?\r
+STR_RECORDER$Recorder\r
+STR_CLICK_TO_RECORD$Click to record\r
+STR_RECORDING$Recording\r
+STR_AUDIO_XX$Audio_XX\r
+STR_VOICE_RECORDING_REMINDER$Voice recording reminder\r
+STR_VOICE_RECORDING_REMINDER_NOTE$The number of recordings must not exceed 30. Please delete some existing recordings.\r
+STR_DELETE_RECORDING$Delete recording\r
+STR_DELETE_PERMANENTLY$Permanently Delete\r
+STR_RECORDING_LIST$Recording List\r
+STR_CRLEMPTY$Current recording list is empty.\r
+STR_DO_NOT_DISTURB_MODE$Turn on Do Not Disturb mode, the watch will not vibrate or ring, do you want to turn it on?\r
+STR_CONNECTION_STATUS$Connection Status\r
+STR_PHONE$Phone\r
+STR_HEADSET$Headset\r
+STR_CONNECTED$Connected\r
+STR_DISCONNECTED$Disconnected\r
+STR_PHONE_RINGING_VIBRATING$The mobile phone is ringing/vibrating\r
+STR_BLUETOOTH_DISCONNECTED$Bluetooth not connected\r
+STR_STOP$Stop\r
+STR_WORKDAY$WorkDay\r
+STR_REPEAT_NO$no-repeat\r
+STR_EVERYDAY$Everyday\r
+STR_ADD_A_NEW_ALARM$Add a new alarm\r
+STR_TIME$Time\r
+STR_NEXT_STEP$Next Step\r
+STR_MON$Mon\r
+STR_TUES$Tue\r
+STR_WEDNES$Wed\r
+STR_THURS$Thu\r
+STR_FRI$Fri\r
+STR_SATUR$Sat\r
+STR_SUN$Sun\r
+STR_MONDAY$Monday\r
+STR_TUESDAY$Tuesday\r
+STR_WEDNESDAY$Wednesday\r
+STR_THURSDAY$Thursday\r
+STR_FRIDAY$Friday\r
+STR_SATURDAY$Saturday\r
+STR_SUNDAY$Sunday\r
+STR_CALIBRATE_COMPASS$Calibration compass\r
+STR_CALIBRATE_COMPASS_NOTE$Please stay away from interference sources and follow the instructions Rotate the watch to calibrate\r
+STR_EAST$E\r
+STR_SOUTH$S\r
+STR_WEST$W\r
+STR_NORTH$N\r
+STR_SOUTHEAST$SE\r
+STR_SOUTHWEST$SW\r
+STR_NORTHEAST$NE\r
+STR_NORTHWEST$NW\r
+STR_KEEP_STILL_FOCUS_ON_BREATHING$Keep Still Focus on Breathing\r
+STR_EXHALE_NOW$Exhale now\r
+STR_INHALE_NOW$Inhale now\r
+STR_TRAINING_COMPLETE$Training Complete\r
+STR_THIS_BREATH$This breath\r
+STR_TODAYS_BREATHING_TRAINING$Today's Breathing Training\r
+STR_RECENT_CALLS$Recent Calls\r
+STR_NO_CALLS$No Calls\r
+STR_MISSED_CALLS$Missed Calls\r
+STR_DIALED_CALLS$Dialed Calls\r
+STR_RECEIVED_CALLS$Received Calls\r
+STR_NOTE_RECENT_CALLS_LIMITATION$Note: Only the last 20 calls are saved\r
+STR_NO_CONTACTS_ADDED$No contacts added, please set up in APP\r
+STR_DIAL_MODE$Dial Mode\r
+STR_DIAL_VIA_WATCH_SIM$Dial via Watch SIM\r
+STR_DIAL_VIA_PHONE$Dial via Phone\r
+STR_KUMI_TECHNOLOGY$KUMI Technology\r
+STR_CALLING$Calling\r
+STR_NOT_PAIRED$Not Paired\r
+STR_PAIRED$Paired\r
+STR_UNPAIR$Unpair\r
+STR_CONNECTION_ERROR$Connection Error\r
+STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE$Insert watch SIM or connect phone to make calls\r
+STR_ENABLE_BLUETOOTH_CALL$Enable Bluetooth Call\r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE$The solution:1. IPhone Please go to the phone "Settings" → "Bluetooth" list to find “KUMI_XX” Click and try again \r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR$2. Android phones Please go to the phone "Settings" → "Bluetooth" list to find “KUMI_XX” \r
+STR_ENABLE_BLUETOOTH_CALL_NOTE$Click the icon on the right to enter Bluetooth Settings Enable the call and media functions and try again\r
+STR_SIM_CARD_ERROR$SIM Card Error\r
+STR_CHECK_SIM_CARD_INSERTION$Check if the watch’s SIM card is properly inserted\r
+STR_WEATHER_REPORT$Weather report\r
+STR_ULTRAVIOLET$Ultraviolet\r
+STR_WIND_SPEED$WindSpeed\r
+STR_HUMIDITY$Humidity\r
+STR_NEXT_7_DAYS$Next 7 Days\r
+STR_GET_WEATHER_ERROR$No weather information was obtained Please go to APP Update\r
+STR_MUSIC_SOURCE$Music source\r
+STR_MOBILE_MUSIC$Mobile music\r
+STR_WATCH_MUSIC$Watch music\r
+STR_MUSIC_LIST$Music list\r
+STR_BLUETOOTH_CONNECTION_FAILED$Bluetooth connection failed\r
+STR_SCANNING_BINDING$Scanning binding\r
+STR_DEVICE_BINDING$Device binding\r
+STR_DEVICE_BINDING_NOTE$XX wants to connect and bind with you\r
+STR_EQUIPMENT_UNTYING$Equipment untying\r
+STR_EQUIPMENT_UNTYING_NOTE$XX would like to unbind you\r
+STR_DRINK_WATER_REMINDER$Drink water reminder\r
+STR_DRINK_WATER_REMINDER_NOTE$Time for some water! And stay hydrated (๑•̀ㅂ•́)\r
+STR_SEDENTARY_REMINDER$Sedentary reminder\r
+STR_SEDENTARY_REMINDER_NOTE$You haven't moved for XX hours. Get up and move.\r
+STR_SYSTEM_UPGRADING$System upgrading\r
+STR_NEWDEVICE_BIND_REMIND_NOTE$The device has been bound to XX. If you continue to connect the device, the device will be unbound and the watch will be restored to factory Settings (the watch data will be cleared).\r
+STR_AI_VOICE$AI Voice\r
+STR_AI_INTELLIGENT_ASSISTANT$AI Intelligent Assistant\r
+STR_START_CHAT$Start Chat\r
+STR_BOOT_FAILED$Boot Failed\r
+STR_ENABLE_MOBILE_DATA_FIRST$Please enable mobile data first\r
+STR_ENABLE_BLUETOOTH_FIRST$Please enable Bluetooth first\r
+STR_LISTENING$Listening\r
+STR_FINISH_SPEAKING$Finish Speaking\r
+STR_THINKING$Thinking\r
+STR_CANCEL$Cancel\r
+STR_CONNECT_TIMEOUT$Connection Timeout\r
+STR_PLEASE_RESTART_CHAT$Please restart the conversation\r
+STR_CONTINUE_CHAT$Continue the conversation\r
+STR_AIMODELS_DOUBAO$Cici\r
+STR_AIMODES_WENXINYIYAN$ERNIE Bot\r
+STR_AIMODES_KIMI$Kimi\r
+STR_AIMODES_CHATGPT$ChatGPT
\ No newline at end of file
diff --git a/tools/language_tool/Language_xml/input_list_zh.txt b/tools/language_tool/Language_xml/input_list_zh.txt
new file mode 100644 (file)
index 0000000..407425a
--- /dev/null
@@ -0,0 +1,475 @@
+STR_EXERCISE_OUTDOORWALKING$室外走路\r
+STR_EXERCISE_OUTDOORRUNNING$室外跑步\r
+STR_EXERCISE_OUTDOORBIKING$室外骑行\r
+STR_EXERCISE_GENERAL$一般锻炼\r
+STR_EXERCISE_FREETRAINING$自由训练\r
+STR_EXERCISE_RESISTANCETRAINING$肌力训练\r
+STR_EXERCISE_SPINBIKE$飞轮车/室内健身车\r
+STR_EXERCISE_TREADMILL$踏步机\r
+STR_EXERCISE_STROLLMACHINE$漫步机\r
+STR_EXERCISE_HIIT$HIIT/高强度间歇训练\r
+STR_EXERCISE_CROSSFIT$健身\r
+STR_EXERCISE_GROUPCALISTHENICS$团体操\r
+STR_EXERCISE_YOGA$瑜珈\r
+STR_EXERCISE_YOGACAT$瑜珈猫式\r
+STR_EXERCISE_YOGACOW$瑜珈牛式\r
+STR_EXERCISE_YOGACOBRA$瑜珈眼镜蛇式\r
+STR_EXERCISE_YOGAHERO1$瑜珈英雄式1\r
+STR_EXERCISE_YOGAHERO2$瑜珈英雄式2\r
+STR_EXERCISE_YOGAHERO3$瑜珈英雄式3\r
+STR_EXERCISE_YOGAROLLING$瑜珈滚轮\r
+STR_EXERCISE_INDOORWALKING$室内走路\r
+STR_EXERCISE_INDOORRUNNING$室内跑步\r
+STR_EXERCISE_JUMPINGROPE$跳绳\r
+STR_EXERCISE_PILATES$皮拉提斯\r
+STR_EXERCISE_CROSS_FIT$混合健身\r
+STR_EXERCISE_FUNCTIONALTRAINING$功能性训练\r
+STR_EXERCISE_PHYSICALTRAINING$体能训练\r
+STR_EXERCISE_TAEKWONDO$跆拳道/踢拳\r
+STR_EXERCISE_BOXING$拳击\r
+STR_EXERCISE_KICKBOXING$自由搏击\r
+STR_EXERCISE_KARATE$空手道\r
+STR_EXERCISE_FENCING$击剑\r
+STR_EXERCISE_CORETRAINING$核心训练\r
+STR_EXERCISE_BODYCOMBAT$拳击有氧\r
+STR_EXERCISE_KENDO$剑道\r
+STR_EXERCISE_HORIZONTALBAR$单杠\r
+STR_EXERCISE_PARALLELBARS$双杠\r
+STR_EXERCISE_CIRCUIT$循环训练\r
+STR_EXERCISE_AEROBICS$有氧运动\r
+STR_EXERCISE_CALISTHENICE$健美操\r
+STR_EXERCISE_P90X$P90X\r
+STR_EXERCISE_KETTLEBELLTRAINING$壶铃训练\r
+STR_EXERCISE_MIXEDMARTIALARTS$综合格斗\r
+STR_EXERCISE_STAIRCLIMBINGMACHINE$爬楼梯机\r
+STR_EXERCISE_WEIGHTLIFTING$举重\r
+STR_EXERCISE_BARRE$Barre\r
+STR_EXERCISE_HANDCYCLING$手轮\r
+STR_EXERCISE_TRACKFIELD$田径\r
+STR_EXERCISE_WRESTLING$角力\r
+STR_EXERCISE_MINDBODY$身心运动\r
+STR_EXERCISE_FLEXIBILITY$柔软操\r
+STR_EXERCISE_MIXEDCARDIO$混和有氧\r
+STR_EXERCISE_TRADITIONALSTRENGTHTRAINING$传统肌力训练\r
+STR_EXERCISE_CROSSTRAINING$交叉训练\r
+STR_EXERCISE_GYMNASTICS$体操\r
+STR_EXERCISE_STEPTRAINING$阶梯训练\r
+STR_EXERCISE_ELLIPTICALTRAINER$椭圆机\r
+STR_EXERCISE_ROWINGMACHINE$划船机\r
+STR_DANCING_GENERAL$一般舞蹈\r
+STR_DANCING_BELLY$肚皮舞\r
+STR_DANCING_JAZZ$爵士舞\r
+STR_DANCING_LATIN$拉丁舞\r
+STR_DANCING_BALLET$芭蕾\r
+STR_DANCING_STREET$街舞\r
+STR_DANCING_PUBLICSQUARE$广场舞\r
+STR_DANCING_ZUMBA$尊巴\r
+STR_DANCING_SOCIALDANCE$社交舞\r
+STR_DANCING_TAPDANCE$踢踏舞\r
+STR_RECREATIONAL_SPORTS$一般休闲运动\r
+STR_RECREATIONAL_SKATING$滑轮溜冰\r
+STR_RECREATIONAL_MARTIALARTS$武术\r
+STR_RECREATIONAL_TAICHI$太极拳\r
+STR_RECREATIONAL_HULAHOOP$呼拉圈\r
+STR_RECREATIONAL_DISCSPORT$飞盘\r
+STR_RECREATIONAL_DARTS$飞镖\r
+STR_RECREATIONAL_ARCHERY$射箭\r
+STR_RECREATIONAL_HORSERIDING$骑马\r
+STR_RECREATIONAL_BATTLEGAME$对战游戏\r
+STR_RECREATIONAL_KITE$放风筝\r
+STR_RECREATIONAL_TUGOFWAR$拔河\r
+STR_RECREATIONAL_SWING$鞦韆\r
+STR_RECREATIONAL_STAIRCLIMBING$爬楼梯\r
+STR_RECREATIONAL_OBSTACLERACE$障碍赛\r
+STR_RECREATIONAL_FISHING$钓鱼\r
+STR_RECREATIONAL_HUNTING$打猎\r
+STR_RECREATIONAL_SCOOTERRIDING$滑板车\r
+STR_RECREATIONAL_PARAGLIDING$滑翔伞\r
+STR_RECREATIONAL_TEAMSPORTS$团队竞技\r
+STR_RECREATIONAL_FINESSGAMING$健身电玩\r
+STR_RECREATIONAL_HIKING$健行\r
+STR_RECREATIONAL_EQUESTRIANSPORTS$马术运动\r
+STR_RECREATIONAL_PLAY$玩乐\r
+STR_BALL_GAMES$一般球类运动\r
+STR_BALL_BADMINTON$羽毛球\r
+STR_BALL_TABLETENNIS$乒乓球\r
+STR_BALL_TENNIS$网球\r
+STR_BALL_BILLIARDS$撞球\r
+STR_BALL_BOWLING$保龄球\r
+STR_BALL_VOLLEYBALL$排球\r
+STR_BALL_SHUTTLECOCK$毽子球\r
+STR_BALL_HANDBALL$手球\r
+STR_BALL_BASEBALL$棒球\r
+STR_BALL_SOFTBALL$垒球\r
+STR_BALL_CRICKET$板球\r
+STR_BALL_FOOTBALL$美式橄榄球\r
+STR_BALL_BEACHSOCCER$沙滩足球\r
+STR_BALL_BEACHVOLLEYBALL$沙滩排球\r
+STR_BALL_CROQUET$槌球\r
+STR_BALL_HOCKEY$曲棍球\r
+STR_BALL_SQUASH$英式壁球\r
+STR_BALL_SEPAKTAKRAW$藤球\r
+STR_BALL_DODGEBALL$躲避球\r
+STR_BALL_BASKETBALL$篮球\r
+STR_BALL_SOCCER$足球\r
+STR_BALL_GOLF$高尔夫球\r
+STR_BALL_POLO$马球\r
+STR_BALL_RACQUETBALL$美式壁球\r
+STR_BALL_RUGBY$英式橄榄球\r
+STR_BALL_GATEBALL$门球\r
+STR_BALL_PICKLEBALL$匹克球\r
+STR_BALL_LACROSSE$袋棍球\r
+STR_WATER_ACTIVITIES$一般水上活动\r
+STR_WATER_SAILING$帆船\r
+STR_WATER_SURFING$冲浪\r
+STR_WATER_WHITEWATERRAFTING$泛舟\r
+STR_WATER_CANOEING$划龙舟\r
+STR_WATER_KAYAKING$轻艇\r
+STR_WATER_ROWING$赛艇\r
+STR_WATER_MOTORBOAT$水上摩托车\r
+STR_WATER_SUP$立桨冲浪\r
+STR_WATER_SCUBADIVING$潜水\r
+STR_WATER_DIVING$跳水\r
+STR_WATER_KITESURFING$滑翔伞冲浪\r
+STR_WATER_WAKEBOARDING$冲浪滑水\r
+STR_WATER_POLO$水球\r
+STR_WATER_WINDSURFING$风帆冲浪\r
+STR_WATER_DRIFTING$漂流活动\r
+STR_WATER_FITNESS$水中健身\r
+STR_WATER_SPORTS$水上运动\r
+STR_WATER_OUTDOORSWIM$户外游泳\r
+STR_WATER_INDOORSWIM$室内游泳\r
+STR_WATER_SWIMFREESTYLE$游泳_自由式\r
+STR_WATER_SWIMBREASTSTROKE$游泳_蛙式\r
+STR_WATER_SWIMBACKSTROKE$游泳_仰式\r
+STR_WATER_SWIMBUTTERFLY$游泳_蝶式\r
+STR_ICE_SPORTS$一般冰上运动\r
+STR_ICE_SKATING$溜冰\r
+STR_ICE_HOCKEY$冰球\r
+STR_ICE_CURLING$冰石壶/冰壶\r
+STR_ICE_SNOWMOBILING$雪上摩托车\r
+STR_ICE_SLED$雪橇\r
+STR_ICE_BIATHLON$冬季两项\r
+STR_ICE_CROSSCOUNTRYSKING$越野滑雪\r
+STR_ICE_SKIING$滑雪\r
+STR_ICE_SNOWBOARDING$单板滑雪/滑雪板\r
+STR_ICE_SNOWSHOEING$雪鞋健行\r
+STR_ICE_SNOWSPORTS$雪地运动\r
+STR_EXTREME_SPORTS$一般极限运动\r
+STR_EXTREME_SKATEBOARDING$滑板\r
+STR_EXTREME_ROCKCLIMBING$攀岩\r
+STR_EXTREME_BUNGEEJUMPING$高空弹跳/蹦极活动\r
+STR_EXTREME_PARKOUR$跑酷\r
+STR_EXTREME_BMX$BMX\r
+STR_EXTREME_ORIENTEERING$定向越野\r
+STR_EXTREME_PARACHUTE$跳伞\r
+STR_EXTREME_RACING$赛车\r
+STR_EXTREME_TRIATHLONS$铁人三项运动\r
+STR_OTHER_ELEVATOR$乘电梯\r
+STR_OTHER_ESCALATOR$乘手扶梯\r
+STR_OTHER_GARDENING$做园艺\r
+STR_OTHER_HORSEWORK$做家务\r
+STR_OTHER_INVEHICLE$在车里\r
+STR_OTHER_MEDITATION$冥想\r
+STR_OTHER_STILL$静止\r
+STR_OTHER_TILTING$倾斜\r
+STR_OTHER_WHEELCHAIR$坐轮椅移动\r
+STR_HEART_RATE$心率\r
+STR_BLOOD_OXYGEN$血氧\r
+STR_TRAINING$训练\r
+STR_TRAINING_RECORD$训练记录\r
+STR_COMPASS$指南针\r
+STR_TELEPHONE$电话\r
+STR_FAVORITE_CONTACTS$常用联系人\r
+STR_WEATHER$天气\r
+STR_ACTIVITY$活动\r
+STR_WATCH_FACE$更换表盘\r
+STR_DISPLAY_MODE$显示方式\r
+STR_CARD_MANAGEMENT$卡片管理\r
+STR_MUSIC$音乐\r
+STR_SLEEP$睡眠\r
+STR_RECORD$录音\r
+STR_BREATH_TRAINING$呼吸训练\r
+STR_REMOTE_SHOOTING$遥控拍照\r
+STR_VOICE_ASSISTANT$语音助手\r
+STR_ALIPAY$支付宝\r
+STR_TIMER$计时器\r
+STR_ALARM$闹钟\r
+STR_STOPWATCH$秒表\r
+STR_CALCULATOR$计算器\r
+STR_FIND_PHONE$查找手机\r
+STR_BRIGHTNESS_ADJUSTMENT$亮度调节\r
+STR_SOUND$声音\r
+STR_BLUETOOTH$蓝牙\r
+STR_DO_NOT_DISTURB$勿扰模式\r
+STR_MESSAGE_NOTIFICATION$消息通知\r
+STR_POWER_SAVE_MODE$省电模式\r
+STR_FLASHLIGHT$手电筒\r
+STR_SETTINGS$设置\r
+STR_EXERCISE_LIST$健身类\r
+STR_BALL_LIST$球类\r
+STR_WATER_LIST$水上运动\r
+STR_DANCING_LIST$舞蹈类\r
+STR_EXTREME_LIST$极限运动\r
+STR_ICE_LIST$冰上运动\r
+STR_RECREATIONAL_LIST$休闲运动\r
+STR_OTHER_LIST$其他\r
+STR_DANCING_TITLE$舞蹈运动\r
+STR_BALL_LIST_TITLE$球类运动\r
+STR_OTHER_TITLE$其他运动\r
+STR_EXERCISE_TITLE$健身运动\r
+STR_RAPID_TRAINING$快速训练\r
+STR_SET_GOALS$设置目标 \r
+STR_DURATION$时长\r
+STR_DURATION_SETTING$时长(分钟)\r
+STR_CALORIE$卡路里\r
+STR_CALORIE_SETTING$卡路里(千卡)\r
+STR_DISTANCE$距离\r
+STR_RANGE_SETTING$距离(公里)\r
+STR_STEP_NUMBER$步数\r
+STR_STEP_SETTING$步数(步)\r
+STR_HEART_RATE_SETTING$心率(次/分)\r
+STR_MEAN_HEART_RATE$平均心率\r
+STR_TIMES_PER_MIN$次/分\r
+STR_MEAN_HEART_RATE_MIN$平均心率(次/分)\r
+STR_LOWER_STRENGTH$较低强度\r
+STR_MEDIUM_STRENGTH$中等强度\r
+STR_HIGH_STRENGTH$高等强度\r
+STR_ULTRA_HIGH_STRENGTH$超大强度\r
+STR_TRAINING_INTENSITY$训练强度\r
+STR_TRAINING_IN_PROGRESS$训练中\r
+STR_BREAK_TRAINING$暂停训练\r
+STR_FINISH$结束\r
+STR_PAUSE$暂停\r
+STR_RESUME$继续\r
+STR_GOAL_ACHIEVED$目标已达成\r
+STR_ACCOMPLISH_GOAL$完成目标\r
+STR_OK$确定\r
+STR_LOOK_OUT$注意\r
+STR_INSUFFICIENT_EXERCISE_AMOUNT$当前运动量太小,无法记录\r
+STR_END_MOVEMENT$结束运动\r
+STR_END_THIS_MOVEMENT$是否结束本次运动\r
+STR_GOAL_ACCOMPLISHMENT_DEGREE$目标完成度\r
+STR_TRAINING_DURATION$训练时长\r
+STR_RANGE_MILE$距离(米)\r
+STR_CLOSE$关闭\r
+STR_MORE$更多\r
+STR_MORE_APP$更多前往APP查看\r
+STR_SAVENOTE$开启省电模式会关闭非必要的蓝牙连接,以及传感器监测等功能\r
+STR_SAVEBACK$长按屏幕3秒以上或充电可退出省电模式\r
+STR_SAVEASK$是否开启\r
+STR_BLOOD$血氧饱和度\r
+STR_CHECK$检测\r
+STR_CHECKNEW$刚刚检测\r
+STR_CHECKTIME$XX分钟前检测\r
+STR_CHECKLONG$超过1个小时前检测\r
+STR_CHECKNO$暂无检测记录\r
+STR_CHECKNOTE$偏紧佩戴,保持静止\r
+STR_CHECKON$正在检测\r
+STR_CHECKSTOP$停止检测\r
+STR_CHECKERROR$检测不到结果\r
+STR_WAERKEEP$请确认已带上手表,并保持静止\r
+STR_WEARRE$进行重新检测\r
+STR_WEARREADY$准备好后点击下方按钮\r
+STR_RECHECK$重新检测\r
+STR_CHECKEWARN$血氧提醒\r
+STR_BLOODSHORT$当前血氧含量已低于XX%\r
+STR_HEARTNOTE$请注意身体健康\r
+STR_KONW$知道了\r
+STR_EXPLAIN$说明\r
+STR_HEARTREST$静息 \r
+STR_HEARTDATA$心率检测结果\r
+STR_HEARTTITLE$心率提醒\r
+STR_HEARTMAX$当前心率值高于XX\r
+STR_HEARTMIN$当前心率值低于XX\r
+STR_TRAINGNO$无记录\r
+STR_TRAINGGO$去训练\r
+STR_MESSAGENO$暂无内容\r
+STR_CLEAN$清除\r
+STR_CLEANALL$全部清除\r
+STR_SLEEP_YESTERDAY$昨日睡眠\r
+STR_HOUR$小时\r
+STR_MIN$分钟\r
+STR_SLEEPMGOAL$目标XX小时\r
+STR_REATTIME$作息时间\r
+STR_SLEEPTIME$入睡时间\r
+STR_WALKTIME$醒来时间\r
+STR_APPMORE$更多详情请前往手机APP查看\r
+STR_DISTURB$手表将在20分钟后开启勿扰模式,关闭请到控制中心\r
+STR_DISTURBNOTE$已开启勿扰模式,此模式下手表将不会发出震动与铃声\r
+STR_MORNNING$早安\r
+STR_NOW$当前\r
+STR_NAP$小睡(5分钟)\r
+STR_TACK$请先打开app,进入“设备”-“拍照”\r
+STR_CLICK$点击拍照\r
+STR_TACKNUM$已拍摄XX张\r
+STR_SCREEN_AND_BRIGHTNESS$屏幕与亮度\r
+STR_NETWORKANDCALL$网络与通话\r
+STR_SOUND_AND_VIBRATION$声音与震动\r
+STR_MOTION_RECOGNITION$运动识别\r
+STR_SYSTEM$系统\r
+STR_SHUTDOWN_AND_RESTART$关机和重启\r
+STR_SCREEN_ON_DURATION$亮屏时长\r
+STR_RAISE_TO_WAKE$抬腕亮屏\r
+STR_5_SECONDS$5秒\r
+STR_10_SECONDS$10秒\r
+STR_15_SECONDS$15秒\r
+STR_30_SECONDS$30秒\r
+STR_60_SECONDS$60秒\r
+STR_300_SECONDS$300秒\r
+STR_4G_CAPABILITY$4G能力\r
+STR_VOLTE_CALL$VoLTE 通话\r
+STR_MOBILE_DATA_OPTION$移动数据选项\r
+STR_SYSTEM_UPDATE$系统更新\r
+STR_ONLINE_MUSIC$在线音乐\r
+STR_BLUETOOTH_HEADPHONES$蓝牙耳机\r
+STR_TRADITIONAL_BLUETOOTH$传统蓝牙\r
+STR_AUTO_OFF_BLUETOOTH_NOTE$注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加电耗,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等)\r
+STR_BLUETOOTH_SERVICE_OPTIONS$蓝牙服务选项\r
+STR_HFP$通话蓝牙\r
+STR_A2DP$媒体蓝牙\r
+STR_SYSTEM_VOLUME$系统音量\r
+STR_MEDIA_VOLUME$媒体音量\r
+STR_CALL_VOLUME$通话音量\r
+STR_VIBRATION_MODE$震动模式\r
+STR_SILENT_MODE$静音模式\r
+STR_LIST_DISPLAY$列表显示\r
+STR_GRID_DISPLAY$网格显示\r
+STR_CELLULAR_DISPLAY$蜂窝显示\r
+STR_AUTO_DETECT$自动识别\r
+STR_ABOUT_WATCH$关于手表\r
+STR_WATCH_QR_CODE$手表二维码\r
+STR_SYSTEM_LANGUAGE$系统语言\r
+STR_RESTART$重启\r
+STR_SHUTDOWN$关机\r
+STR_FACTORY_RESET$恢复出厂\r
+STR_WATCH_NAME$手表名称\r
+STR_FIRMWARE_VERSION$固件版本\r
+STR_BLUETOOTH_NAME$蓝牙名称\r
+STR_BLUETOOTH_ADDRESS$蓝牙地址\r
+STR_UPDATENOW$立即更新\r
+STR_LATEST_VERSION$最新版本\r
+STR_LATER$稍后再说\r
+STR_UP_TO_DATE$当前已升级到最新版本\r
+STR_NO_UPDATE$暂无更新\r
+STR_LANGUAGE_SELECTION$语言选择\r
+STR_RESET_CONFIRM$是否确定重新启动?\r
+STR_SHUTDOWN_CONFIRM$是否确定关机?\r
+STR_RESET_CONFIRM_NOTE$该操作会清空并重置手表数据,是否确认继续?\r
+STR_RECORDER$录音机\r
+STR_CLICK_TO_RECORD$点击开始录音\r
+STR_RECORDING$录音中\r
+STR_AUDIO_XX$录音XX\r
+STR_VOICE_RECORDING_REMINDER$录音提醒\r
+STR_VOICE_RECORDING_REMINDER_NOTE$录音数量不得超过30首,请删除已有录音\r
+STR_DELETE_RECORDING$删除录音\r
+STR_DELETE_PERMANENTLY$是否永久删除\r
+STR_RECORDING_LIST$录音列表\r
+STR_CRLEMPTY$当前录音列表为空\r
+STR_DO_NOT_DISTURB_MODE$开启勿扰模式,手表将不会发出震动与铃声,是否开启\r
+STR_CONNECTION_STATUS$连接状态\r
+STR_PHONE$手机\r
+STR_HEADSET$耳机\r
+STR_CONNECTED$已连接\r
+STR_DISCONNECTED$未连接\r
+STR_PHONE_RINGING_VIBRATING$手机正在响铃/震动\r
+STR_BLUETOOTH_DISCONNECTED$蓝牙未连接\r
+STR_STOP$停止\r
+STR_WORKDAY$工作日\r
+STR_REPEAT_NO$不重复\r
+STR_EVERYDAY$每日\r
+STR_ADD_A_NEW_ALARM$添加新闹钟\r
+STR_TIME$时间\r
+STR_NEXT_STEP$下一步\r
+STR_MON$一\r
+STR_TUES$二\r
+STR_WEDNES$三\r
+STR_THURS$四\r
+STR_FRI$五\r
+STR_SATUR$六\r
+STR_SUN$日\r
+STR_MONDAY$星期一\r
+STR_TUESDAY$星期二\r
+STR_WEDNESDAY$星期三\r
+STR_THURSDAY$星期四\r
+STR_FRIDAY$星期五\r
+STR_SATURDAY$星期六\r
+STR_SUNDAY$星期日\r
+STR_CALIBRATE_COMPASS$校准指南针\r
+STR_CALIBRATE_COMPASS_NOTE$请远离干扰源,按图示旋转手表进行校准\r
+STR_EAST$东\r
+STR_SOUTH$南\r
+STR_WEST$西\r
+STR_NORTH$北\r
+STR_SOUTHEAST$东南\r
+STR_SOUTHWEST$西南\r
+STR_NORTHEAST$东北\r
+STR_NORTHWEST$西北\r
+STR_KEEP_STILL_FOCUS_ON_BREATHING$保持不动,将注意力集中在呼吸上\r
+STR_EXHALE_NOW$现在呼气\r
+STR_INHALE_NOW$现在吸气\r
+STR_TRAINING_COMPLETE$训练完成\r
+STR_THIS_BREATH$本次呼吸\r
+STR_TODAYS_BREATHING_TRAINING$今日呼吸训练\r
+STR_RECENT_CALLS$最近通话\r
+STR_NO_CALLS$暂无通话\r
+STR_MISSED_CALLS$未接来电\r
+STR_DIALED_CALLS$拨出电话\r
+STR_RECEIVED_CALLS$拨入电话\r
+STR_NOTE_RECENT_CALLS_LIMITATION$注:只保留最近20条通话记录\r
+STR_NO_CONTACTS_ADDED$尚未添加联系人,请前往APP进行设置\r
+STR_DIAL_MODE$拨号方式\r
+STR_DIAL_VIA_WATCH_SIM$通过手表SIM卡拨号\r
+STR_DIAL_VIA_PHONE$通过手机拨号\r
+STR_KUMI_TECHNOLOGY$库密科技\r
+STR_CALLING$拨号中\r
+STR_NOT_PAIRED$未配对\r
+STR_PAIRED$已配对\r
+STR_UNPAIR$取消配对\r
+STR_CONNECTION_ERROR$连接异常\r
+STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE$请插入手表SIM卡或连接手机并确认开启蓝牙通话后再进行拨号\r
+STR_ENABLE_BLUETOOTH_CALL$开启蓝牙通话\r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE$解决方法:1.苹果手机 请前往手机“设置”→“蓝牙”列表找到“KUMI_XX”并点击后重试\r
+STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR$2.安卓手机 请前往手机“设置”→“蓝牙”列表找到 “KUMI_XX”\r
+STR_ENABLE_BLUETOOTH_CALL_NOTE$点击右侧图标进入蓝牙设置\r
+STR_SIM_CARD_ERROR$Sim卡异常\r
+STR_CHECK_SIM_CARD_INSERTION$SIM卡拨号异常,请检查手表SIM卡是否正确插入\r
+STR_WEATHER_REPORT$气象报告\r
+STR_ULTRAVIOLET$紫外线\r
+STR_WIND_SPEED$风速\r
+STR_HUMIDITY$湿度\r
+STR_NEXT_7_DAYS$未来七天\r
+STR_GET_WEATHER_ERROR$未获取到天气信息请前往APP更新\r
+STR_MUSIC_SOURCE$音乐来源\r
+STR_MOBILE_MUSIC$手机音乐\r
+STR_WATCH_MUSIC$手表音乐\r
+STR_MUSIC_LIST$音乐列表\r
+STR_BLUETOOTH_CONNECTION_FAILED$蓝牙连接失败\r
+STR_SCANNING_BINDING$扫码绑定\r
+STR_DEVICE_BINDING$设备绑定\r
+STR_DEVICE_BINDING_NOTE$XX想要与你进行连接绑定\r
+STR_EQUIPMENT_UNTYING$设备解绑\r
+STR_EQUIPMENT_UNTYING_NOTE$XX想要与你进行解绑\r
+STR_DRINK_WATER_REMINDER$喝水提醒\r
+STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足(๑•̀ㅂ•́)و✧\r
+STR_SEDENTARY_REMINDER$久坐提醒\r
+STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。\r
+STR_SYSTEM_UPGRADING$系统升级中\r
+STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作\r
+STR_AI_VOICE$AI Voice\r
+STR_AI_INTELLIGENT_ASSISTANT$AI智能助手\r
+STR_START_CHAT$开始对话\r
+STR_BOOT_FAILED$启动失败\r
+STR_ENABLE_MOBILE_DATA_FIRST$请先开启移动数据 \r
+STR_ENABLE_BLUETOOTH_FIRST$请先开启蓝牙\r
+STR_LISTENING$正在聆听...\r
+STR_FINISH_SPEAKING$说话完毕\r
+STR_THINKING$正在思考...\r
+STR_CANCEL$取消\r
+STR_CONNECT_TIMEOUT$连接超时\r
+STR_PLEASE_RESTART_CHAT$请重新开始对话\r
+STR_CONTINUE_CHAT$继续对话\r
+STR_AIMODELS_DOUBAO$豆包\r
+STR_AIMODES_WENXINYIYAN$文心一言\r
+STR_AIMODES_KIMI$Kimi\r
+STR_AIMODES_CHATGPT$ChatGPT
\ No newline at end of file
diff --git a/tools/language_tool/Language_xml/language_en.xml b/tools/language_tool/Language_xml/language_en.xml
new file mode 100644 (file)
index 0000000..be26e19
--- /dev/null
@@ -0,0 +1,477 @@
+<language id="language" direct="ltr" languageinfo="en">
+       <lanstr id="STR_EXERCISE_OUTDOORWALKING" value="Walk"/>
+       <lanstr id="STR_EXERCISE_OUTDOORRUNNING" value="Run"/>
+       <lanstr id="STR_EXERCISE_OUTDOORBIKING" value="Biking"/>
+       <lanstr id="STR_EXERCISE_GENERAL" value="Exercise general"/>
+       <lanstr id="STR_EXERCISE_FREETRAINING" value="Free training"/>
+       <lanstr id="STR_EXERCISE_RESISTANCETRAINING" value="Resistance training"/>
+       <lanstr id="STR_EXERCISE_SPINBIKE" value="Spin bike"/>
+       <lanstr id="STR_EXERCISE_TREADMILL" value="Treadmill"/>
+       <lanstr id="STR_EXERCISE_STROLLMACHINE" value="Stroll machine"/>
+       <lanstr id="STR_EXERCISE_HIIT" value="High intense interval training"/>
+       <lanstr id="STR_EXERCISE_CROSSFIT" value="Crossfit"/>
+       <lanstr id="STR_EXERCISE_GROUPCALISTHENICS" value="Group calisthenics"/>
+       <lanstr id="STR_EXERCISE_YOGA" value="Yoga"/>
+       <lanstr id="STR_EXERCISE_YOGACAT" value="Yoga cat"/>
+       <lanstr id="STR_EXERCISE_YOGACOW" value="Yoga cow"/>
+       <lanstr id="STR_EXERCISE_YOGACOBRA" value="Yoga cobra"/>
+       <lanstr id="STR_EXERCISE_YOGAHERO1" value="Yoga hero1"/>
+       <lanstr id="STR_EXERCISE_YOGAHERO2" value="Yoga hero2"/>
+       <lanstr id="STR_EXERCISE_YOGAHERO3" value="Yoga hero3"/>
+       <lanstr id="STR_EXERCISE_YOGAROLLING" value="Yoga rolling"/>
+       <lanstr id="STR_EXERCISE_INDOORWALKING" value="Indoor walking"/>
+       <lanstr id="STR_EXERCISE_INDOORRUNNING" value="Indoor running"/>
+       <lanstr id="STR_EXERCISE_JUMPINGROPE" value="Jumping rope"/>
+       <lanstr id="STR_EXERCISE_PILATES" value="Pilates"/>
+       <lanstr id="STR_EXERCISE_CROSS_FIT" value="Cross fit"/>
+       <lanstr id="STR_EXERCISE_FUNCTIONALTRAINING" value="Functional training"/>
+       <lanstr id="STR_EXERCISE_PHYSICALTRAINING" value="Physical Training"/>
+       <lanstr id="STR_EXERCISE_TAEKWONDO" value="Taekwondo"/>
+       <lanstr id="STR_EXERCISE_BOXING" value="Boxing"/>
+       <lanstr id="STR_EXERCISE_KICKBOXING" value="Kickboxing"/>
+       <lanstr id="STR_EXERCISE_KARATE" value="Karate"/>
+       <lanstr id="STR_EXERCISE_FENCING" value="Fencing"/>
+       <lanstr id="STR_EXERCISE_CORETRAINING" value="Core training"/>
+       <lanstr id="STR_EXERCISE_BODYCOMBAT" value="Body Combat"/>
+       <lanstr id="STR_EXERCISE_KENDO" value="Kendo"/>
+       <lanstr id="STR_EXERCISE_HORIZONTALBAR" value="Horizontal bar"/>
+       <lanstr id="STR_EXERCISE_PARALLELBARS" value="Parallel bars"/>
+       <lanstr id="STR_EXERCISE_CIRCUIT" value="Circuit training"/>
+       <lanstr id="STR_EXERCISE_AEROBICS" value="Aerobics"/>
+       <lanstr id="STR_EXERCISE_CALISTHENICE" value="Calisthenice"/>
+       <lanstr id="STR_EXERCISE_P90X" value="P90X"/>
+       <lanstr id="STR_EXERCISE_KETTLEBELLTRAINING" value="Kettlebell Training"/>
+       <lanstr id="STR_EXERCISE_MIXEDMARTIALARTS" value="Mixed martial arts"/>
+       <lanstr id="STR_EXERCISE_STAIRCLIMBINGMACHINE" value="Stair climbing machine"/>
+       <lanstr id="STR_EXERCISE_WEIGHTLIFTING" value="Weightlifting"/>
+       <lanstr id="STR_EXERCISE_BARRE" value="Barre"/>
+       <lanstr id="STR_EXERCISE_HANDCYCLING" value="Hand cycling"/>
+       <lanstr id="STR_EXERCISE_TRACKFIELD" value="Track field"/>
+       <lanstr id="STR_EXERCISE_WRESTLING" value="Wrestling"/>
+       <lanstr id="STR_EXERCISE_MINDBODY" value="Mind body"/>
+       <lanstr id="STR_EXERCISE_FLEXIBILITY" value="Flexibility"/>
+       <lanstr id="STR_EXERCISE_MIXEDCARDIO" value="Mixed cardio"/>
+       <lanstr id="STR_EXERCISE_TRADITIONALSTRENGTHTRAINING" value="Traditional strength training"/>
+       <lanstr id="STR_EXERCISE_CROSSTRAINING" value="Cross training"/>
+       <lanstr id="STR_EXERCISE_GYMNASTICS" value="Gymnastics"/>
+       <lanstr id="STR_EXERCISE_STEPTRAINING" value="Step training"/>
+       <lanstr id="STR_EXERCISE_ELLIPTICALTRAINER" value="Elliptical trainer"/>
+       <lanstr id="STR_EXERCISE_ROWINGMACHINE" value="Rowing machine"/>
+       <lanstr id="STR_DANCING_GENERAL" value="Dancing general"/>
+       <lanstr id="STR_DANCING_BELLY" value="Belly dance"/>
+       <lanstr id="STR_DANCING_JAZZ" value="Jazz dance"/>
+       <lanstr id="STR_DANCING_LATIN" value="Latin dance"/>
+       <lanstr id="STR_DANCING_BALLET" value="Ballet dance"/>
+       <lanstr id="STR_DANCING_STREET" value="Street dance"/>
+       <lanstr id="STR_DANCING_PUBLICSQUARE" value="Public square dancing"/>
+       <lanstr id="STR_DANCING_ZUMBA" value="Zumba"/>
+       <lanstr id="STR_DANCING_SOCIALDANCE" value="Social dance"/>
+       <lanstr id="STR_DANCING_TAPDANCE" value="Tap dance"/>
+       <lanstr id="STR_RECREATIONAL_SPORTS" value="Recreational Sports"/>
+       <lanstr id="STR_RECREATIONAL_SKATING" value="Roller Skating"/>
+       <lanstr id="STR_RECREATIONAL_MARTIALARTS" value="Martial arts"/>
+       <lanstr id="STR_RECREATIONAL_TAICHI" value="Tai Chi"/>
+       <lanstr id="STR_RECREATIONAL_HULAHOOP" value="Hula hoop"/>
+       <lanstr id="STR_RECREATIONAL_DISCSPORT" value="Disc sport"/>
+       <lanstr id="STR_RECREATIONAL_DARTS" value="Darts"/>
+       <lanstr id="STR_RECREATIONAL_ARCHERY" value="Archery"/>
+       <lanstr id="STR_RECREATIONAL_HORSERIDING" value="Horse riding"/>
+       <lanstr id="STR_RECREATIONAL_BATTLEGAME" value="Battle game"/>
+       <lanstr id="STR_RECREATIONAL_KITE" value="Fly a kite"/>
+       <lanstr id="STR_RECREATIONAL_TUGOFWAR" value="Tug of war"/>
+       <lanstr id="STR_RECREATIONAL_SWING" value="Swing"/>
+       <lanstr id="STR_RECREATIONAL_STAIRCLIMBING" value="Stair climbing"/>
+       <lanstr id="STR_RECREATIONAL_OBSTACLERACE" value="Obstacle race"/>
+       <lanstr id="STR_RECREATIONAL_FISHING" value="Fishing"/>
+       <lanstr id="STR_RECREATIONAL_HUNTING" value="Hunting"/>
+       <lanstr id="STR_RECREATIONAL_SCOOTERRIDING" value="Scooter Riding"/>
+       <lanstr id="STR_RECREATIONAL_PARAGLIDING" value="Paragliding"/>
+       <lanstr id="STR_RECREATIONAL_TEAMSPORTS" value="Team sports"/>
+       <lanstr id="STR_RECREATIONAL_FINESSGAMING" value="Finess gaming"/>
+       <lanstr id="STR_RECREATIONAL_HIKING" value="Hiking"/>
+       <lanstr id="STR_RECREATIONAL_EQUESTRIANSPORTS" value="Equestrian sports"/>
+       <lanstr id="STR_RECREATIONAL_PLAY" value="Play"/>
+       <lanstr id="STR_BALL_GAMES" value="Ball games"/>
+       <lanstr id="STR_BALL_BADMINTON" value="Badminton"/>
+       <lanstr id="STR_BALL_TABLETENNIS" value="Table tennis"/>
+       <lanstr id="STR_BALL_TENNIS" value="Tennis"/>
+       <lanstr id="STR_BALL_BILLIARDS" value="Billiards"/>
+       <lanstr id="STR_BALL_BOWLING" value="Bowling"/>
+       <lanstr id="STR_BALL_VOLLEYBALL" value="Volleyball"/>
+       <lanstr id="STR_BALL_SHUTTLECOCK" value="Shuttlecock"/>
+       <lanstr id="STR_BALL_HANDBALL" value="Handball"/>
+       <lanstr id="STR_BALL_BASEBALL" value="Baseball"/>
+       <lanstr id="STR_BALL_SOFTBALL" value="Softball"/>
+       <lanstr id="STR_BALL_CRICKET" value="Cricket"/>
+       <lanstr id="STR_BALL_FOOTBALL" value="Football"/>
+       <lanstr id="STR_BALL_BEACHSOCCER" value="Beach soccer"/>
+       <lanstr id="STR_BALL_BEACHVOLLEYBALL" value="Beach volleyball"/>
+       <lanstr id="STR_BALL_CROQUET" value="Croquet"/>
+       <lanstr id="STR_BALL_HOCKEY" value="Hockey"/>
+       <lanstr id="STR_BALL_SQUASH" value="Squash"/>
+       <lanstr id="STR_BALL_SEPAKTAKRAW" value="Sepak takraw"/>
+       <lanstr id="STR_BALL_DODGEBALL" value="Dodge ball"/>
+       <lanstr id="STR_BALL_BASKETBALL" value="Basketball"/>
+       <lanstr id="STR_BALL_SOCCER" value="Soccer"/>
+       <lanstr id="STR_BALL_GOLF" value="Golf"/>
+       <lanstr id="STR_BALL_POLO" value="Polo"/>
+       <lanstr id="STR_BALL_RACQUETBALL" value="Racquetball"/>
+       <lanstr id="STR_BALL_RUGBY" value="Rugby"/>
+       <lanstr id="STR_BALL_GATEBALL" value="Gateball"/>
+       <lanstr id="STR_BALL_PICKLEBALL" value="Pickleball"/>
+       <lanstr id="STR_BALL_LACROSSE" value="Lacrosse"/>
+       <lanstr id="STR_WATER_ACTIVITIES" value="Water activities"/>
+       <lanstr id="STR_WATER_SAILING" value="Sailing"/>
+       <lanstr id="STR_WATER_SURFING" value="Surfing"/>
+       <lanstr id="STR_WATER_WHITEWATERRAFTING" value="Whitewater rafting"/>
+       <lanstr id="STR_WATER_CANOEING" value="Canoeing"/>
+       <lanstr id="STR_WATER_KAYAKING" value="Kayaking"/>
+       <lanstr id="STR_WATER_ROWING" value="Rowing"/>
+       <lanstr id="STR_WATER_MOTORBOAT" value="Motorboat"/>
+       <lanstr id="STR_WATER_SUP" value="SUP"/>
+       <lanstr id="STR_WATER_SCUBADIVING" value="Scuba diving"/>
+       <lanstr id="STR_WATER_DIVING" value="Diving"/>
+       <lanstr id="STR_WATER_KITESURFING" value="Kitesurfing"/>
+       <lanstr id="STR_WATER_WAKEBOARDING" value="Wakeboarding"/>
+       <lanstr id="STR_WATER_POLO" value="Water Polo"/>
+       <lanstr id="STR_WATER_WINDSURFING" value="Windsurfing"/>
+       <lanstr id="STR_WATER_DRIFTING" value="Drifting"/>
+       <lanstr id="STR_WATER_FITNESS" value="Water fitness"/>
+       <lanstr id="STR_WATER_SPORTS" value="Water sports"/>
+       <lanstr id="STR_WATER_OUTDOORSWIM" value="Outdoor swim"/>
+       <lanstr id="STR_WATER_INDOORSWIM" value="Indoor swim"/>
+       <lanstr id="STR_WATER_SWIMFREESTYLE" value="Swim freestyle"/>
+       <lanstr id="STR_WATER_SWIMBREASTSTROKE" value="Swim breaststroke"/>
+       <lanstr id="STR_WATER_SWIMBACKSTROKE" value="Swim backstroke"/>
+       <lanstr id="STR_WATER_SWIMBUTTERFLY" value="Swim butterfly"/>
+       <lanstr id="STR_ICE_SPORTS" value="Ice sports"/>
+       <lanstr id="STR_ICE_SKATING" value="Skating"/>
+       <lanstr id="STR_ICE_HOCKEY" value="Ice hockey"/>
+       <lanstr id="STR_ICE_CURLING" value="Curling"/>
+       <lanstr id="STR_ICE_SNOWMOBILING" value="Snow mobiling"/>
+       <lanstr id="STR_ICE_SLED" value="Sled"/>
+       <lanstr id="STR_ICE_BIATHLON" value="Biathlon"/>
+       <lanstr id="STR_ICE_CROSSCOUNTRYSKING" value="Crosscountry sking"/>
+       <lanstr id="STR_ICE_SKIING" value="Skiing"/>
+       <lanstr id="STR_ICE_SNOWBOARDING" value="Snowboarding"/>
+       <lanstr id="STR_ICE_SNOWSHOEING" value="Snowshoeing"/>
+       <lanstr id="STR_ICE_SNOWSPORTS" value="Snow sport"/>
+       <lanstr id="STR_EXTREME_SPORTS" value="Extreme sports"/>
+       <lanstr id="STR_EXTREME_SKATEBOARDING" value="Skateboarding"/>
+       <lanstr id="STR_EXTREME_ROCKCLIMBING" value="Rock climbing"/>
+       <lanstr id="STR_EXTREME_BUNGEEJUMPING" value="Bungee Jumping"/>
+       <lanstr id="STR_EXTREME_PARKOUR" value="Parkour"/>
+       <lanstr id="STR_EXTREME_BMX" value="Bike motocross"/>
+       <lanstr id="STR_EXTREME_ORIENTEERING" value="Orienteering"/>
+       <lanstr id="STR_EXTREME_PARACHUTE" value="Parachute"/>
+       <lanstr id="STR_EXTREME_RACING" value="Racing"/>
+       <lanstr id="STR_EXTREME_TRIATHLONS" value="Triathlons"/>
+       <lanstr id="STR_OTHER_ELEVATOR" value="Elevator"/>
+       <lanstr id="STR_OTHER_ESCALATOR" value="Escalator"/>
+       <lanstr id="STR_OTHER_GARDENING" value="Gardening"/>
+       <lanstr id="STR_OTHER_HORSEWORK" value="House Work"/>
+       <lanstr id="STR_OTHER_INVEHICLE" value="In Vehicle"/>
+       <lanstr id="STR_OTHER_MEDITATION" value="Meditation"/>
+       <lanstr id="STR_OTHER_STILL" value="Still"/>
+       <lanstr id="STR_OTHER_TILTING" value="Tilting"/>
+       <lanstr id="STR_OTHER_WHEELCHAIR" value="Wheelchair"/>
+       <lanstr id="STR_HEART_RATE" value="Heart Rate"/>
+       <lanstr id="STR_BLOOD_OXYGEN" value="Blood Oxygen"/>
+       <lanstr id="STR_TRAINING" value="Training"/>
+       <lanstr id="STR_TRAINING_RECORD" value="Training Record"/>
+       <lanstr id="STR_COMPASS" value="Compass"/>
+       <lanstr id="STR_TELEPHONE" value="Telephone"/>
+       <lanstr id="STR_FAVORITE_CONTACTS" value="Favorite Contacts"/>
+       <lanstr id="STR_WEATHER" value="Weather"/>
+       <lanstr id="STR_ACTIVITY" value="Activity"/>
+       <lanstr id="STR_WATCH_FACE" value="Watch Face"/>
+       <lanstr id="STR_DISPLAY_MODE" value="Display Mode"/>
+       <lanstr id="STR_CARD_MANAGEMENT" value="Card Management"/>
+       <lanstr id="STR_MUSIC" value="Music"/>
+       <lanstr id="STR_SLEEP" value="Sleep"/>
+       <lanstr id="STR_RECORD" value="Record"/>
+       <lanstr id="STR_BREATH_TRAINING" value="Breath Training"/>
+       <lanstr id="STR_REMOTE_SHOOTING" value="Remote Shooting"/>
+       <lanstr id="STR_VOICE_ASSISTANT" value="Voice Assistant"/>
+       <lanstr id="STR_ALIPAY" value="Alipay"/>
+       <lanstr id="STR_TIMER" value="Timer"/>
+       <lanstr id="STR_ALARM" value="Alarm"/>
+       <lanstr id="STR_STOPWATCH" value="Stopwatch"/>
+       <lanstr id="STR_CALCULATOR" value="Calculator"/>
+       <lanstr id="STR_FIND_PHONE" value="Find Phone"/>
+       <lanstr id="STR_BRIGHTNESS_ADJUSTMENT" value="Brightness Adjustment"/>
+       <lanstr id="STR_SOUND" value="Sound"/>
+       <lanstr id="STR_BLUETOOTH" value="Bluetooth"/>
+       <lanstr id="STR_DO_NOT_DISTURB" value="Do Not Disturb"/>
+       <lanstr id="STR_MESSAGE_NOTIFICATION" value="Message Notification"/>
+       <lanstr id="STR_POWER_SAVE_MODE" value="Power Save Mode"/>
+       <lanstr id="STR_FLASHLIGHT" value="Flashlight"/>
+       <lanstr id="STR_SETTINGS" value="Settings"/>
+       <lanstr id="STR_EXERCISE_LIST" value="Exercise"/>
+       <lanstr id="STR_BALL_LIST" value="Ball"/>
+       <lanstr id="STR_WATER_LIST" value="Water"/>
+       <lanstr id="STR_DANCING_LIST" value="Dance"/>
+       <lanstr id="STR_EXTREME_LIST" value="Extreme"/>
+       <lanstr id="STR_ICE_LIST" value="Ice"/>
+       <lanstr id="STR_RECREATIONAL_LIST" value="Recreational"/>
+       <lanstr id="STR_OTHER_LIST" value="Other"/>
+       <lanstr id="STR_DANCING_TITLE" value="Dance Sport"/>
+       <lanstr id="STR_BALL_LIST_TITLE" value="Ball Sport"/>
+       <lanstr id="STR_OTHER_TITLE" value="Other Sport"/>
+       <lanstr id="STR_EXERCISE_TITLE" value="Exercise Sport"/>
+       <lanstr id="STR_RAPID_TRAINING" value="Rapid training"/>
+       <lanstr id="STR_SET_GOALS" value="Set goals"/>
+       <lanstr id="STR_DURATION" value="duration"/>
+       <lanstr id="STR_DURATION_SETTING" value="Duration setting(Min)"/>
+       <lanstr id="STR_CALORIE" value="calorie"/>
+       <lanstr id="STR_CALORIE_SETTING" value="Calorie setting(Kcal)"/>
+       <lanstr id="STR_DISTANCE" value="distance"/>
+       <lanstr id="STR_RANGE_SETTING" value="Range setting(Km)"/>
+       <lanstr id="STR_STEP_NUMBER" value="Step number"/>
+       <lanstr id="STR_STEP_SETTING" value="Step setting(steps)"/>
+       <lanstr id="STR_HEART_RATE_SETTING" value="Heart rate (times/min)"/>
+       <lanstr id="STR_MEAN_HEART_RATE" value="Mean heart rate"/>
+       <lanstr id="STR_TIMES_PER_MIN" value="Times/min"/>
+       <lanstr id="STR_MEAN_HEART_RATE_MIN" value="Mean heart rate(Times/min)"/>
+       <lanstr id="STR_LOWER_STRENGTH" value="Lower strength"/>
+       <lanstr id="STR_MEDIUM_STRENGTH" value="Medium strength"/>
+       <lanstr id="STR_HIGH_STRENGTH" value="High strength"/>
+       <lanstr id="STR_ULTRA_HIGH_STRENGTH" value="Ultra-high strength"/>
+       <lanstr id="STR_TRAINING_INTENSITY" value="Training intensity"/>
+       <lanstr id="STR_TRAINING_IN_PROGRESS" value="Training in progress"/>
+       <lanstr id="STR_BREAK_TRAINING" value="Break training"/>
+       <lanstr id="STR_FINISH" value="finish"/>
+       <lanstr id="STR_PAUSE" value="Pause"/>
+       <lanstr id="STR_RESUME" value="Resume"/>
+       <lanstr id="STR_GOAL_ACHIEVED" value="Goal achieved"/>
+       <lanstr id="STR_ACCOMPLISH_GOAL" value="Accomplish the goal"/>
+       <lanstr id="STR_OK" value="OK"/>
+       <lanstr id="STR_LOOK_OUT" value="Look out"/>
+       <lanstr id="STR_INSUFFICIENT_EXERCISE_AMOUNT" value="The current amount of exercise is too small to record"/>
+       <lanstr id="STR_END_MOVEMENT" value="End movement"/>
+       <lanstr id="STR_END_THIS_MOVEMENT" value="Whether to end this movement"/>
+       <lanstr id="STR_GOAL_ACCOMPLISHMENT_DEGREE" value="Goal accomplishment degree"/>
+       <lanstr id="STR_TRAINING_DURATION" value="Training duration"/>
+       <lanstr id="STR_RANGE_MILE" value="Distance (m)"/>
+       <lanstr id="STR_CLOSE" value="Close"/>
+       <lanstr id="STR_MORE" value="More"/>
+       <lanstr id="STR_MORE_APP" value="Check out the APP for more"/>
+       <lanstr id="STR_SAVENOTE" value="Turning on power-saving mode turns off non-essential Bluetooth connections, as well as features such as sensor monitoring"/>
+       <lanstr id="STR_SAVEBACK" value="Press and hold the screen for more than 3 seconds or charge to exit the power saving mode"/>
+       <lanstr id="STR_SAVEASK" value="Enable or not"/>
+       <lanstr id="STR_BLOOD" value="bloodoxygen"/>
+       <lanstr id="STR_CHECK" value="detection"/>
+       <lanstr id="STR_CHECKNEW" value="Just detected"/>
+       <lanstr id="STR_CHECKTIME" value="Detected XX minutes ago"/>
+       <lanstr id="STR_CHECKLONG" value="Detected over 1 hour ago"/>
+       <lanstr id="STR_CHECKNO" value="No detection records available"/>
+       <lanstr id="STR_CHECKNOTE" value="Wear it snugly and stay still"/>
+       <lanstr id="STR_CHECKON" value="Detecting"/>
+       <lanstr id="STR_CHECKSTOP" value="Stop detection"/>
+       <lanstr id="STR_CHECKERROR" value="Unable to detect results"/>
+       <lanstr id="STR_WAERKEEP" value="Please ensure the watch is worn and remain still"/>
+       <lanstr id="STR_WEARRE" value="Perform a retest"/>
+       <lanstr id="STR_WEARREADY" value="Click the button below when ready"/>
+       <lanstr id="STR_RECHECK" value="Retest"/>
+       <lanstr id="STR_CHECKEWARN" value="Blood Oxygen Alert"/>
+       <lanstr id="STR_BLOODSHORT" value="Current blood oxygen level is below XX%"/>
+       <lanstr id="STR_HEARTNOTE" value="Please take care of your health"/>
+       <lanstr id="STR_KONW" value="Got it"/>
+       <lanstr id="STR_EXPLAIN" value="Explanation"/>
+       <lanstr id="STR_HEARTREST" value="Resting"/>
+       <lanstr id="STR_HEARTDATA" value="Heart rate detection result"/>
+       <lanstr id="STR_HEARTTITLE" value="Heart rate alert"/>
+       <lanstr id="STR_HEARTMAX" value="Current heart rate is higher than XX"/>
+       <lanstr id="STR_HEARTMIN" value="Current heart rate is lower than XX"/>
+       <lanstr id="STR_TRAINGNO" value="no record"/>
+       <lanstr id="STR_TRAINGGO" value="Go to training"/>
+       <lanstr id="STR_MESSAGENO" value="No content currently"/>
+       <lanstr id="STR_CLEAN" value="Clear"/>
+       <lanstr id="STR_CLEANALL" value="Clear all"/>
+       <lanstr id="STR_SLEEP_YESTERDAY" value="Last Night's Sleep"/>
+       <lanstr id="STR_HOUR" value="Hours"/>
+       <lanstr id="STR_MIN" value="MInutes"/>
+       <lanstr id="STR_SLEEPMGOAL" value="Goal XX Hours"/>
+       <lanstr id="STR_REATTIME" value="Schedule"/>
+       <lanstr id="STR_SLEEPTIME" value="Bedtime"/>
+       <lanstr id="STR_WALKTIME" value="Wake-up Time"/>
+       <lanstr id="STR_APPMORE" value="For more details yesterday, please visit the mobile APP"/>
+       <lanstr id="STR_DISTURB" value="The watch will enter Do Not Disturb mode in 20 minutes. To turn it off, please go to the Control Center."/>
+       <lanstr id="STR_DISTURBNOTE" value="Do Not Disturb mode is enabled, thus the watch won't vibrate or ring."/>
+       <lanstr id="STR_MORNNING" value="Good morning"/>
+       <lanstr id="STR_NOW" value="Current"/>
+       <lanstr id="STR_NAP" value="Nap (5 minutes)"/>
+       <lanstr id="STR_TACK" value="Please open the app first, go to &quot;Device&quot; - &quot;Camera&quot;"/>
+       <lanstr id="STR_CLICK" value="click on &quot;Take a Photo"/>
+       <lanstr id="STR_TACKNUM" value="Number of photos taken: XX"/>
+       <lanstr id="STR_SCREEN_AND_BRIGHTNESS" value="Screen and Brightness"/>
+       <lanstr id="STR_NETWORKANDCALL" value="NetworkAndCall"/>
+       <lanstr id="STR_SOUND_AND_VIBRATION" value="Sound and Vibration"/>
+       <lanstr id="STR_MOTION_RECOGNITION" value="Motion Recognition"/>
+       <lanstr id="STR_SYSTEM" value="System"/>
+       <lanstr id="STR_SHUTDOWN_AND_RESTART" value="Shutdown and Restart"/>
+       <lanstr id="STR_SCREEN_ON_DURATION" value="Screen On Duration"/>
+       <lanstr id="STR_RAISE_TO_WAKE" value="Raise to Wake"/>
+       <lanstr id="STR_5_SECONDS" value="5 s"/>
+       <lanstr id="STR_10_SECONDS" value="10 s"/>
+       <lanstr id="STR_15_SECONDS" value="15 s"/>
+       <lanstr id="STR_30_SECONDS" value="30 s"/>
+       <lanstr id="STR_60_SECONDS" value="60 s"/>
+       <lanstr id="STR_300_SECONDS" value="300 s"/>
+       <lanstr id="STR_4G_CAPABILITY" value="4G capability"/>
+       <lanstr id="STR_VOLTE_CALL" value="VoLTE call"/>
+       <lanstr id="STR_MOBILE_DATA_OPTION" value="Mobile data option"/>
+       <lanstr id="STR_SYSTEM_UPDATE" value="System Update"/>
+       <lanstr id="STR_ONLINE_MUSIC" value="Online music"/>
+       <lanstr id="STR_BLUETOOTH_HEADPHONES" value="Bluetooth Headphones"/>
+       <lanstr id="STR_TRADITIONAL_BLUETOOTH" value="Traditional Bluetooth"/>
+       <lanstr id="STR_AUTO_OFF_BLUETOOTH_NOTE" value="Note: It will be automatically turned off if the connection is not successful for 10 minutes after opening, because the traditional Bluetooth will increase the power consumption for a long time, it is recommended to use when necessary(this function is mainly used for phone calls/notifications、music control/transmission, etc.)"/>
+       <lanstr id="STR_BLUETOOTH_SERVICE_OPTIONS" value="Bluetooth Service Options"/>
+       <lanstr id="STR_HFP" value="HFP"/>
+       <lanstr id="STR_A2DP" value="A2DP"/>
+       <lanstr id="STR_SYSTEM_VOLUME" value="System Volume"/>
+       <lanstr id="STR_MEDIA_VOLUME" value="Media Volume"/>
+       <lanstr id="STR_CALL_VOLUME" value="Call Volume"/>
+       <lanstr id="STR_VIBRATION_MODE" value="Vibration Mode"/>
+       <lanstr id="STR_SILENT_MODE" value="Silent Mode"/>
+       <lanstr id="STR_LIST_DISPLAY" value="List display"/>
+       <lanstr id="STR_GRID_DISPLAY" value="Grid Display"/>
+       <lanstr id="STR_CELLULAR_DISPLAY" value="Cellular Display"/>
+       <lanstr id="STR_AUTO_DETECT" value="Auto Detect"/>
+       <lanstr id="STR_ABOUT_WATCH" value="About Watch"/>
+       <lanstr id="STR_WATCH_QR_CODE" value="watch QR code"/>
+       <lanstr id="STR_SYSTEM_LANGUAGE" value="System Language"/>
+       <lanstr id="STR_RESTART" value="Restart"/>
+       <lanstr id="STR_SHUTDOWN" value="Shutdown"/>
+       <lanstr id="STR_FACTORY_RESET" value="Factory Reset"/>
+       <lanstr id="STR_WATCH_NAME" value="Watch Name"/>
+       <lanstr id="STR_FIRMWARE_VERSION" value="Firmware Version"/>
+       <lanstr id="STR_BLUETOOTH_NAME" value="Bluetooth Name"/>
+       <lanstr id="STR_BLUETOOTH_ADDRESS" value="Bluetooth Address"/>
+       <lanstr id="STR_UPDATENOW" value="Update Now"/>
+       <lanstr id="STR_LATEST_VERSION" value="Latest version"/>
+       <lanstr id="STR_LATER" value="Later"/>
+       <lanstr id="STR_UP_TO_DATE" value="The system has been upgraded to the latest version"/>
+       <lanstr id="STR_NO_UPDATE" value="No update"/>
+       <lanstr id="STR_LANGUAGE_SELECTION" value="Language Select"/>
+       <lanstr id="STR_RESET_CONFIRM" value="Are you sure to restart?"/>
+       <lanstr id="STR_SHUTDOWN_CONFIRM" value="Are you sure to shut down?"/>
+       <lanstr id="STR_RESET_CONFIRM_NOTE" value="The operation will clear and reset the watch data. Are you sure you want to continue?"/>
+       <lanstr id="STR_RECORDER" value="Recorder"/>
+       <lanstr id="STR_CLICK_TO_RECORD" value="Click to record"/>
+       <lanstr id="STR_RECORDING" value="Recording"/>
+       <lanstr id="STR_AUDIO_XX" value="Audio_XX"/>
+       <lanstr id="STR_VOICE_RECORDING_REMINDER" value="Voice recording reminder"/>
+       <lanstr id="STR_VOICE_RECORDING_REMINDER_NOTE" value="The number of recordings must not exceed 30. Please delete some existing recordings."/>
+       <lanstr id="STR_DELETE_RECORDING" value="Delete recording"/>
+       <lanstr id="STR_DELETE_PERMANENTLY" value="Permanently Delete"/>
+       <lanstr id="STR_RECORDING_LIST" value="Recording List"/>
+       <lanstr id="STR_CRLEMPTY" value="Current recording list is empty."/>
+       <lanstr id="STR_DO_NOT_DISTURB_MODE" value="Turn on Do Not Disturb mode, the watch will not vibrate or ring, do you want to turn it on?"/>
+       <lanstr id="STR_CONNECTION_STATUS" value="Connection Status"/>
+       <lanstr id="STR_PHONE" value="Phone"/>
+       <lanstr id="STR_HEADSET" value="Headset"/>
+       <lanstr id="STR_CONNECTED" value="Connected"/>
+       <lanstr id="STR_DISCONNECTED" value="Disconnected"/>
+       <lanstr id="STR_PHONE_RINGING_VIBRATING" value="The mobile phone is ringing/vibrating"/>
+       <lanstr id="STR_BLUETOOTH_DISCONNECTED" value="Bluetooth not connected"/>
+       <lanstr id="STR_STOP" value="Stop"/>
+       <lanstr id="STR_WORKDAY" value="WorkDay"/>
+       <lanstr id="STR_REPEAT_NO" value="no-repeat"/>
+       <lanstr id="STR_EVERYDAY" value="Everyday"/>
+       <lanstr id="STR_ADD_A_NEW_ALARM" value="Add a new alarm"/>
+       <lanstr id="STR_TIME" value="Time"/>
+       <lanstr id="STR_NEXT_STEP" value="Next Step"/>
+       <lanstr id="STR_MON" value="Mon"/>
+       <lanstr id="STR_TUES" value="Tue"/>
+       <lanstr id="STR_WEDNES" value="Wed"/>
+       <lanstr id="STR_THURS" value="Thu"/>
+       <lanstr id="STR_FRI" value="Fri"/>
+       <lanstr id="STR_SATUR" value="Sat"/>
+       <lanstr id="STR_SUN" value="Sun"/>
+       <lanstr id="STR_MONDAY" value="Monday"/>
+       <lanstr id="STR_TUESDAY" value="Tuesday"/>
+       <lanstr id="STR_WEDNESDAY" value="Wednesday"/>
+       <lanstr id="STR_THURSDAY" value="Thursday"/>
+       <lanstr id="STR_FRIDAY" value="Friday"/>
+       <lanstr id="STR_SATURDAY" value="Saturday"/>
+       <lanstr id="STR_SUNDAY" value="Sunday"/>
+       <lanstr id="STR_CALIBRATE_COMPASS" value="Calibration compass"/>
+       <lanstr id="STR_CALIBRATE_COMPASS_NOTE" value="Please stay away from interference sources and follow the instructions Rotate the watch to calibrate"/>
+       <lanstr id="STR_EAST" value="E"/>
+       <lanstr id="STR_SOUTH" value="S"/>
+       <lanstr id="STR_WEST" value="W"/>
+       <lanstr id="STR_NORTH" value="N"/>
+       <lanstr id="STR_SOUTHEAST" value="SE"/>
+       <lanstr id="STR_SOUTHWEST" value="SW"/>
+       <lanstr id="STR_NORTHEAST" value="NE"/>
+       <lanstr id="STR_NORTHWEST" value="NW"/>
+       <lanstr id="STR_KEEP_STILL_FOCUS_ON_BREATHING" value="Keep Still Focus on Breathing"/>
+       <lanstr id="STR_EXHALE_NOW" value="Exhale now"/>
+       <lanstr id="STR_INHALE_NOW" value="Inhale now"/>
+       <lanstr id="STR_TRAINING_COMPLETE" value="Training Complete"/>
+       <lanstr id="STR_THIS_BREATH" value="This breath"/>
+       <lanstr id="STR_TODAYS_BREATHING_TRAINING" value="Today's Breathing Training"/>
+       <lanstr id="STR_RECENT_CALLS" value="Recent Calls"/>
+       <lanstr id="STR_NO_CALLS" value="No Calls"/>
+       <lanstr id="STR_MISSED_CALLS" value="Missed Calls"/>
+       <lanstr id="STR_DIALED_CALLS" value="Dialed Calls"/>
+       <lanstr id="STR_RECEIVED_CALLS" value="Received Calls"/>
+       <lanstr id="STR_NOTE_RECENT_CALLS_LIMITATION" value="Note: Only the last 20 calls are saved"/>
+       <lanstr id="STR_NO_CONTACTS_ADDED" value="No contacts added, please set up in APP"/>
+       <lanstr id="STR_DIAL_MODE" value="Dial Mode"/>
+       <lanstr id="STR_DIAL_VIA_WATCH_SIM" value="Dial via Watch SIM"/>
+       <lanstr id="STR_DIAL_VIA_PHONE" value="Dial via Phone"/>
+       <lanstr id="STR_KUMI_TECHNOLOGY" value="KUMI Technology"/>
+       <lanstr id="STR_CALLING" value="Calling"/>
+       <lanstr id="STR_NOT_PAIRED" value="Not Paired"/>
+       <lanstr id="STR_PAIRED" value="Paired"/>
+       <lanstr id="STR_UNPAIR" value="Unpair"/>
+       <lanstr id="STR_CONNECTION_ERROR" value="Connection Error"/>
+       <lanstr id="STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE" value="Insert watch SIM or connect phone to make calls"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL" value="Enable Bluetooth Call"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE" value="The solution:1. IPhone Please go to the phone &quot;Settings&quot; → &quot;Bluetooth&quot; list to find “KUMI_XX” Click and try again"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR" value="2. Android phones Please go to the phone &quot;Settings&quot; → &quot;Bluetooth&quot; list to find “KUMI_XX”"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE" value="Click the icon on the right to enter Bluetooth Settings Enable the call and media functions and try again"/>
+       <lanstr id="STR_SIM_CARD_ERROR" value="SIM Card Error"/>
+       <lanstr id="STR_CHECK_SIM_CARD_INSERTION" value="Check if the watch’s SIM card is properly inserted"/>
+       <lanstr id="STR_WEATHER_REPORT" value="Weather report"/>
+       <lanstr id="STR_ULTRAVIOLET" value="Ultraviolet"/>
+       <lanstr id="STR_WIND_SPEED" value="WindSpeed"/>
+       <lanstr id="STR_HUMIDITY" value="Humidity"/>
+       <lanstr id="STR_NEXT_7_DAYS" value="Next 7 Days"/>
+       <lanstr id="STR_GET_WEATHER_ERROR" value="No weather information was obtained Please go to APP Update"/>
+       <lanstr id="STR_MUSIC_SOURCE" value="Music source"/>
+       <lanstr id="STR_MOBILE_MUSIC" value="Mobile music"/>
+       <lanstr id="STR_WATCH_MUSIC" value="Watch music"/>
+       <lanstr id="STR_MUSIC_LIST" value="Music list"/>
+       <lanstr id="STR_BLUETOOTH_CONNECTION_FAILED" value="Bluetooth connection failed"/>
+       <lanstr id="STR_SCANNING_BINDING" value="Scanning binding"/>
+       <lanstr id="STR_DEVICE_BINDING" value="Device binding"/>
+       <lanstr id="STR_DEVICE_BINDING_NOTE" value="XX wants to connect and bind with you"/>
+       <lanstr id="STR_EQUIPMENT_UNTYING" value="Equipment untying"/>
+       <lanstr id="STR_EQUIPMENT_UNTYING_NOTE" value="XX would like to unbind you"/>
+       <lanstr id="STR_DRINK_WATER_REMINDER" value="Drink water reminder"/>
+       <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="Time for some water! And stay hydrated (๑•̀ㅂ•́)"/>
+       <lanstr id="STR_SEDENTARY_REMINDER" value="Sedentary reminder"/>
+       <lanstr id="STR_SEDENTARY_REMINDER_NOTE" value="You haven't moved for XX hours. Get up and move."/>
+       <lanstr id="STR_SYSTEM_UPGRADING" value="System upgrading"/>
+       <lanstr id="STR_NEWDEVICE_BIND_REMIND_NOTE" value="The device has been bound to XX. If you continue to connect the device, the device will be unbound and the watch will be restored to factory Settings (the watch data will be cleared)."/>
+       <lanstr id="STR_AI_VOICE" value="AI Voice"/>
+       <lanstr id="STR_AI_INTELLIGENT_ASSISTANT" value="AI Intelligent Assistant"/>
+       <lanstr id="STR_START_CHAT" value="Start Chat"/>
+       <lanstr id="STR_BOOT_FAILED" value="Boot Failed"/>
+       <lanstr id="STR_ENABLE_MOBILE_DATA_FIRST" value="Please enable mobile data first"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_FIRST" value="Please enable Bluetooth first"/>
+       <lanstr id="STR_LISTENING" value="Listening"/>
+       <lanstr id="STR_FINISH_SPEAKING" value="Finish Speaking"/>
+       <lanstr id="STR_THINKING" value="Thinking"/>
+       <lanstr id="STR_CANCEL" value="Cancel"/>
+       <lanstr id="STR_CONNECT_TIMEOUT" value="Connection Timeout"/>
+       <lanstr id="STR_PLEASE_RESTART_CHAT" value="Please restart the conversation"/>
+       <lanstr id="STR_CONTINUE_CHAT" value="Continue the conversation"/>
+       <lanstr id="STR_AIMODELS_DOUBAO" value="Cici"/>
+       <lanstr id="STR_AIMODES_WENXINYIYAN" value="ERNIE Bot"/>
+       <lanstr id="STR_AIMODES_KIMI" value="Kimi"/>
+       <lanstr id="STR_AIMODES_CHATGPT" value="ChatGPT"/>
+</language>
diff --git a/tools/language_tool/Language_xml/language_zh.xml b/tools/language_tool/Language_xml/language_zh.xml
new file mode 100644 (file)
index 0000000..0ea317f
--- /dev/null
@@ -0,0 +1,477 @@
+<language id="language" direct="ltr" languageinfo="zh">
+       <lanstr id="STR_EXERCISE_OUTDOORWALKING" value="室外走路"/>
+       <lanstr id="STR_EXERCISE_OUTDOORRUNNING" value="室外跑步"/>
+       <lanstr id="STR_EXERCISE_OUTDOORBIKING" value="室外骑行"/>
+       <lanstr id="STR_EXERCISE_GENERAL" value="一般锻炼"/>
+       <lanstr id="STR_EXERCISE_FREETRAINING" value="自由训练"/>
+       <lanstr id="STR_EXERCISE_RESISTANCETRAINING" value="肌力训练"/>
+       <lanstr id="STR_EXERCISE_SPINBIKE" value="飞轮车/室内健身车"/>
+       <lanstr id="STR_EXERCISE_TREADMILL" value="踏步机"/>
+       <lanstr id="STR_EXERCISE_STROLLMACHINE" value="漫步机"/>
+       <lanstr id="STR_EXERCISE_HIIT" value="HIIT/高强度间歇训练"/>
+       <lanstr id="STR_EXERCISE_CROSSFIT" value="健身"/>
+       <lanstr id="STR_EXERCISE_GROUPCALISTHENICS" value="团体操"/>
+       <lanstr id="STR_EXERCISE_YOGA" value="瑜珈"/>
+       <lanstr id="STR_EXERCISE_YOGACAT" value="瑜珈猫式"/>
+       <lanstr id="STR_EXERCISE_YOGACOW" value="瑜珈牛式"/>
+       <lanstr id="STR_EXERCISE_YOGACOBRA" value="瑜珈眼镜蛇式"/>
+       <lanstr id="STR_EXERCISE_YOGAHERO1" value="瑜珈英雄式1"/>
+       <lanstr id="STR_EXERCISE_YOGAHERO2" value="瑜珈英雄式2"/>
+       <lanstr id="STR_EXERCISE_YOGAHERO3" value="瑜珈英雄式3"/>
+       <lanstr id="STR_EXERCISE_YOGAROLLING" value="瑜珈滚轮"/>
+       <lanstr id="STR_EXERCISE_INDOORWALKING" value="室内走路"/>
+       <lanstr id="STR_EXERCISE_INDOORRUNNING" value="室内跑步"/>
+       <lanstr id="STR_EXERCISE_JUMPINGROPE" value="跳绳"/>
+       <lanstr id="STR_EXERCISE_PILATES" value="皮拉提斯"/>
+       <lanstr id="STR_EXERCISE_CROSS_FIT" value="混合健身"/>
+       <lanstr id="STR_EXERCISE_FUNCTIONALTRAINING" value="功能性训练"/>
+       <lanstr id="STR_EXERCISE_PHYSICALTRAINING" value="体能训练"/>
+       <lanstr id="STR_EXERCISE_TAEKWONDO" value="跆拳道/踢拳"/>
+       <lanstr id="STR_EXERCISE_BOXING" value="拳击"/>
+       <lanstr id="STR_EXERCISE_KICKBOXING" value="自由搏击"/>
+       <lanstr id="STR_EXERCISE_KARATE" value="空手道"/>
+       <lanstr id="STR_EXERCISE_FENCING" value="击剑"/>
+       <lanstr id="STR_EXERCISE_CORETRAINING" value="核心训练"/>
+       <lanstr id="STR_EXERCISE_BODYCOMBAT" value="拳击有氧"/>
+       <lanstr id="STR_EXERCISE_KENDO" value="剑道"/>
+       <lanstr id="STR_EXERCISE_HORIZONTALBAR" value="单杠"/>
+       <lanstr id="STR_EXERCISE_PARALLELBARS" value="双杠"/>
+       <lanstr id="STR_EXERCISE_CIRCUIT" value="循环训练"/>
+       <lanstr id="STR_EXERCISE_AEROBICS" value="有氧运动"/>
+       <lanstr id="STR_EXERCISE_CALISTHENICE" value="健美操"/>
+       <lanstr id="STR_EXERCISE_P90X" value="P90X"/>
+       <lanstr id="STR_EXERCISE_KETTLEBELLTRAINING" value="壶铃训练"/>
+       <lanstr id="STR_EXERCISE_MIXEDMARTIALARTS" value="综合格斗"/>
+       <lanstr id="STR_EXERCISE_STAIRCLIMBINGMACHINE" value="爬楼梯机"/>
+       <lanstr id="STR_EXERCISE_WEIGHTLIFTING" value="举重"/>
+       <lanstr id="STR_EXERCISE_BARRE" value="Barre"/>
+       <lanstr id="STR_EXERCISE_HANDCYCLING" value="手轮"/>
+       <lanstr id="STR_EXERCISE_TRACKFIELD" value="田径"/>
+       <lanstr id="STR_EXERCISE_WRESTLING" value="角力"/>
+       <lanstr id="STR_EXERCISE_MINDBODY" value="身心运动"/>
+       <lanstr id="STR_EXERCISE_FLEXIBILITY" value="柔软操"/>
+       <lanstr id="STR_EXERCISE_MIXEDCARDIO" value="混和有氧"/>
+       <lanstr id="STR_EXERCISE_TRADITIONALSTRENGTHTRAINING" value="传统肌力训练"/>
+       <lanstr id="STR_EXERCISE_CROSSTRAINING" value="交叉训练"/>
+       <lanstr id="STR_EXERCISE_GYMNASTICS" value="体操"/>
+       <lanstr id="STR_EXERCISE_STEPTRAINING" value="阶梯训练"/>
+       <lanstr id="STR_EXERCISE_ELLIPTICALTRAINER" value="椭圆机"/>
+       <lanstr id="STR_EXERCISE_ROWINGMACHINE" value="划船机"/>
+       <lanstr id="STR_DANCING_GENERAL" value="一般舞蹈"/>
+       <lanstr id="STR_DANCING_BELLY" value="肚皮舞"/>
+       <lanstr id="STR_DANCING_JAZZ" value="爵士舞"/>
+       <lanstr id="STR_DANCING_LATIN" value="拉丁舞"/>
+       <lanstr id="STR_DANCING_BALLET" value="芭蕾"/>
+       <lanstr id="STR_DANCING_STREET" value="街舞"/>
+       <lanstr id="STR_DANCING_PUBLICSQUARE" value="广场舞"/>
+       <lanstr id="STR_DANCING_ZUMBA" value="尊巴"/>
+       <lanstr id="STR_DANCING_SOCIALDANCE" value="社交舞"/>
+       <lanstr id="STR_DANCING_TAPDANCE" value="踢踏舞"/>
+       <lanstr id="STR_RECREATIONAL_SPORTS" value="一般休闲运动"/>
+       <lanstr id="STR_RECREATIONAL_SKATING" value="滑轮溜冰"/>
+       <lanstr id="STR_RECREATIONAL_MARTIALARTS" value="武术"/>
+       <lanstr id="STR_RECREATIONAL_TAICHI" value="太极拳"/>
+       <lanstr id="STR_RECREATIONAL_HULAHOOP" value="呼拉圈"/>
+       <lanstr id="STR_RECREATIONAL_DISCSPORT" value="飞盘"/>
+       <lanstr id="STR_RECREATIONAL_DARTS" value="飞镖"/>
+       <lanstr id="STR_RECREATIONAL_ARCHERY" value="射箭"/>
+       <lanstr id="STR_RECREATIONAL_HORSERIDING" value="骑马"/>
+       <lanstr id="STR_RECREATIONAL_BATTLEGAME" value="对战游戏"/>
+       <lanstr id="STR_RECREATIONAL_KITE" value="放风筝"/>
+       <lanstr id="STR_RECREATIONAL_TUGOFWAR" value="拔河"/>
+       <lanstr id="STR_RECREATIONAL_SWING" value="鞦韆"/>
+       <lanstr id="STR_RECREATIONAL_STAIRCLIMBING" value="爬楼梯"/>
+       <lanstr id="STR_RECREATIONAL_OBSTACLERACE" value="障碍赛"/>
+       <lanstr id="STR_RECREATIONAL_FISHING" value="钓鱼"/>
+       <lanstr id="STR_RECREATIONAL_HUNTING" value="打猎"/>
+       <lanstr id="STR_RECREATIONAL_SCOOTERRIDING" value="滑板车"/>
+       <lanstr id="STR_RECREATIONAL_PARAGLIDING" value="滑翔伞"/>
+       <lanstr id="STR_RECREATIONAL_TEAMSPORTS" value="团队竞技"/>
+       <lanstr id="STR_RECREATIONAL_FINESSGAMING" value="健身电玩"/>
+       <lanstr id="STR_RECREATIONAL_HIKING" value="健行"/>
+       <lanstr id="STR_RECREATIONAL_EQUESTRIANSPORTS" value="马术运动"/>
+       <lanstr id="STR_RECREATIONAL_PLAY" value="玩乐"/>
+       <lanstr id="STR_BALL_GAMES" value="一般球类运动"/>
+       <lanstr id="STR_BALL_BADMINTON" value="羽毛球"/>
+       <lanstr id="STR_BALL_TABLETENNIS" value="乒乓球"/>
+       <lanstr id="STR_BALL_TENNIS" value="网球"/>
+       <lanstr id="STR_BALL_BILLIARDS" value="撞球"/>
+       <lanstr id="STR_BALL_BOWLING" value="保龄球"/>
+       <lanstr id="STR_BALL_VOLLEYBALL" value="排球"/>
+       <lanstr id="STR_BALL_SHUTTLECOCK" value="毽子球"/>
+       <lanstr id="STR_BALL_HANDBALL" value="手球"/>
+       <lanstr id="STR_BALL_BASEBALL" value="棒球"/>
+       <lanstr id="STR_BALL_SOFTBALL" value="垒球"/>
+       <lanstr id="STR_BALL_CRICKET" value="板球"/>
+       <lanstr id="STR_BALL_FOOTBALL" value="美式橄榄球"/>
+       <lanstr id="STR_BALL_BEACHSOCCER" value="沙滩足球"/>
+       <lanstr id="STR_BALL_BEACHVOLLEYBALL" value="沙滩排球"/>
+       <lanstr id="STR_BALL_CROQUET" value="槌球"/>
+       <lanstr id="STR_BALL_HOCKEY" value="曲棍球"/>
+       <lanstr id="STR_BALL_SQUASH" value="英式壁球"/>
+       <lanstr id="STR_BALL_SEPAKTAKRAW" value="藤球"/>
+       <lanstr id="STR_BALL_DODGEBALL" value="躲避球"/>
+       <lanstr id="STR_BALL_BASKETBALL" value="篮球"/>
+       <lanstr id="STR_BALL_SOCCER" value="足球"/>
+       <lanstr id="STR_BALL_GOLF" value="高尔夫球"/>
+       <lanstr id="STR_BALL_POLO" value="马球"/>
+       <lanstr id="STR_BALL_RACQUETBALL" value="美式壁球"/>
+       <lanstr id="STR_BALL_RUGBY" value="英式橄榄球"/>
+       <lanstr id="STR_BALL_GATEBALL" value="门球"/>
+       <lanstr id="STR_BALL_PICKLEBALL" value="匹克球"/>
+       <lanstr id="STR_BALL_LACROSSE" value="袋棍球"/>
+       <lanstr id="STR_WATER_ACTIVITIES" value="一般水上活动"/>
+       <lanstr id="STR_WATER_SAILING" value="帆船"/>
+       <lanstr id="STR_WATER_SURFING" value="冲浪"/>
+       <lanstr id="STR_WATER_WHITEWATERRAFTING" value="泛舟"/>
+       <lanstr id="STR_WATER_CANOEING" value="划龙舟"/>
+       <lanstr id="STR_WATER_KAYAKING" value="轻艇"/>
+       <lanstr id="STR_WATER_ROWING" value="赛艇"/>
+       <lanstr id="STR_WATER_MOTORBOAT" value="水上摩托车"/>
+       <lanstr id="STR_WATER_SUP" value="立桨冲浪"/>
+       <lanstr id="STR_WATER_SCUBADIVING" value="潜水"/>
+       <lanstr id="STR_WATER_DIVING" value="跳水"/>
+       <lanstr id="STR_WATER_KITESURFING" value="滑翔伞冲浪"/>
+       <lanstr id="STR_WATER_WAKEBOARDING" value="冲浪滑水"/>
+       <lanstr id="STR_WATER_POLO" value="水球"/>
+       <lanstr id="STR_WATER_WINDSURFING" value="风帆冲浪"/>
+       <lanstr id="STR_WATER_DRIFTING" value="漂流活动"/>
+       <lanstr id="STR_WATER_FITNESS" value="水中健身"/>
+       <lanstr id="STR_WATER_SPORTS" value="水上运动"/>
+       <lanstr id="STR_WATER_OUTDOORSWIM" value="户外游泳"/>
+       <lanstr id="STR_WATER_INDOORSWIM" value="室内游泳"/>
+       <lanstr id="STR_WATER_SWIMFREESTYLE" value="游泳_自由式"/>
+       <lanstr id="STR_WATER_SWIMBREASTSTROKE" value="游泳_蛙式"/>
+       <lanstr id="STR_WATER_SWIMBACKSTROKE" value="游泳_仰式"/>
+       <lanstr id="STR_WATER_SWIMBUTTERFLY" value="游泳_蝶式"/>
+       <lanstr id="STR_ICE_SPORTS" value="一般冰上运动"/>
+       <lanstr id="STR_ICE_SKATING" value="溜冰"/>
+       <lanstr id="STR_ICE_HOCKEY" value="冰球"/>
+       <lanstr id="STR_ICE_CURLING" value="冰石壶/冰壶"/>
+       <lanstr id="STR_ICE_SNOWMOBILING" value="雪上摩托车"/>
+       <lanstr id="STR_ICE_SLED" value="雪橇"/>
+       <lanstr id="STR_ICE_BIATHLON" value="冬季两项"/>
+       <lanstr id="STR_ICE_CROSSCOUNTRYSKING" value="越野滑雪"/>
+       <lanstr id="STR_ICE_SKIING" value="滑雪"/>
+       <lanstr id="STR_ICE_SNOWBOARDING" value="单板滑雪/滑雪板"/>
+       <lanstr id="STR_ICE_SNOWSHOEING" value="雪鞋健行"/>
+       <lanstr id="STR_ICE_SNOWSPORTS" value="雪地运动"/>
+       <lanstr id="STR_EXTREME_SPORTS" value="一般极限运动"/>
+       <lanstr id="STR_EXTREME_SKATEBOARDING" value="滑板"/>
+       <lanstr id="STR_EXTREME_ROCKCLIMBING" value="攀岩"/>
+       <lanstr id="STR_EXTREME_BUNGEEJUMPING" value="高空弹跳/蹦极活动"/>
+       <lanstr id="STR_EXTREME_PARKOUR" value="跑酷"/>
+       <lanstr id="STR_EXTREME_BMX" value="BMX"/>
+       <lanstr id="STR_EXTREME_ORIENTEERING" value="定向越野"/>
+       <lanstr id="STR_EXTREME_PARACHUTE" value="跳伞"/>
+       <lanstr id="STR_EXTREME_RACING" value="赛车"/>
+       <lanstr id="STR_EXTREME_TRIATHLONS" value="铁人三项运动"/>
+       <lanstr id="STR_OTHER_ELEVATOR" value="乘电梯"/>
+       <lanstr id="STR_OTHER_ESCALATOR" value="乘手扶梯"/>
+       <lanstr id="STR_OTHER_GARDENING" value="做园艺"/>
+       <lanstr id="STR_OTHER_HORSEWORK" value="做家务"/>
+       <lanstr id="STR_OTHER_INVEHICLE" value="在车里"/>
+       <lanstr id="STR_OTHER_MEDITATION" value="冥想"/>
+       <lanstr id="STR_OTHER_STILL" value="静止"/>
+       <lanstr id="STR_OTHER_TILTING" value="倾斜"/>
+       <lanstr id="STR_OTHER_WHEELCHAIR" value="坐轮椅移动"/>
+       <lanstr id="STR_HEART_RATE" value="心率"/>
+       <lanstr id="STR_BLOOD_OXYGEN" value="血氧"/>
+       <lanstr id="STR_TRAINING" value="训练"/>
+       <lanstr id="STR_TRAINING_RECORD" value="训练记录"/>
+       <lanstr id="STR_COMPASS" value="指南针"/>
+       <lanstr id="STR_TELEPHONE" value="电话"/>
+       <lanstr id="STR_FAVORITE_CONTACTS" value="常用联系人"/>
+       <lanstr id="STR_WEATHER" value="天气"/>
+       <lanstr id="STR_ACTIVITY" value="活动"/>
+       <lanstr id="STR_WATCH_FACE" value="更换表盘"/>
+       <lanstr id="STR_DISPLAY_MODE" value="显示方式"/>
+       <lanstr id="STR_CARD_MANAGEMENT" value="卡片管理"/>
+       <lanstr id="STR_MUSIC" value="音乐"/>
+       <lanstr id="STR_SLEEP" value="睡眠"/>
+       <lanstr id="STR_RECORD" value="录音"/>
+       <lanstr id="STR_BREATH_TRAINING" value="呼吸训练"/>
+       <lanstr id="STR_REMOTE_SHOOTING" value="遥控拍照"/>
+       <lanstr id="STR_VOICE_ASSISTANT" value="语音助手"/>
+       <lanstr id="STR_ALIPAY" value="支付宝"/>
+       <lanstr id="STR_TIMER" value="计时器"/>
+       <lanstr id="STR_ALARM" value="闹钟"/>
+       <lanstr id="STR_STOPWATCH" value="秒表"/>
+       <lanstr id="STR_CALCULATOR" value="计算器"/>
+       <lanstr id="STR_FIND_PHONE" value="查找手机"/>
+       <lanstr id="STR_BRIGHTNESS_ADJUSTMENT" value="亮度调节"/>
+       <lanstr id="STR_SOUND" value="声音"/>
+       <lanstr id="STR_BLUETOOTH" value="蓝牙"/>
+       <lanstr id="STR_DO_NOT_DISTURB" value="勿扰模式"/>
+       <lanstr id="STR_MESSAGE_NOTIFICATION" value="消息通知"/>
+       <lanstr id="STR_POWER_SAVE_MODE" value="省电模式"/>
+       <lanstr id="STR_FLASHLIGHT" value="手电筒"/>
+       <lanstr id="STR_SETTINGS" value="设置"/>
+       <lanstr id="STR_EXERCISE_LIST" value="健身类"/>
+       <lanstr id="STR_BALL_LIST" value="球类"/>
+       <lanstr id="STR_WATER_LIST" value="水上运动"/>
+       <lanstr id="STR_DANCING_LIST" value="舞蹈类"/>
+       <lanstr id="STR_EXTREME_LIST" value="极限运动"/>
+       <lanstr id="STR_ICE_LIST" value="冰上运动"/>
+       <lanstr id="STR_RECREATIONAL_LIST" value="休闲运动"/>
+       <lanstr id="STR_OTHER_LIST" value="其他"/>
+       <lanstr id="STR_DANCING_TITLE" value="舞蹈运动"/>
+       <lanstr id="STR_BALL_LIST_TITLE" value="球类运动"/>
+       <lanstr id="STR_OTHER_TITLE" value="其他运动"/>
+       <lanstr id="STR_EXERCISE_TITLE" value="健身运动"/>
+       <lanstr id="STR_RAPID_TRAINING" value="快速训练"/>
+       <lanstr id="STR_SET_GOALS" value="设置目标"/>
+       <lanstr id="STR_DURATION" value="时长"/>
+       <lanstr id="STR_DURATION_SETTING" value="时长(分钟)"/>
+       <lanstr id="STR_CALORIE" value="卡路里"/>
+       <lanstr id="STR_CALORIE_SETTING" value="卡路里(千卡)"/>
+       <lanstr id="STR_DISTANCE" value="距离"/>
+       <lanstr id="STR_RANGE_SETTING" value="距离(公里)"/>
+       <lanstr id="STR_STEP_NUMBER" value="步数"/>
+       <lanstr id="STR_STEP_SETTING" value="步数(步)"/>
+       <lanstr id="STR_HEART_RATE_SETTING" value="心率(次/分)"/>
+       <lanstr id="STR_MEAN_HEART_RATE" value="平均心率"/>
+       <lanstr id="STR_TIMES_PER_MIN" value="次/分"/>
+       <lanstr id="STR_MEAN_HEART_RATE_MIN" value="平均心率(次/分)"/>
+       <lanstr id="STR_LOWER_STRENGTH" value="较低强度"/>
+       <lanstr id="STR_MEDIUM_STRENGTH" value="中等强度"/>
+       <lanstr id="STR_HIGH_STRENGTH" value="高等强度"/>
+       <lanstr id="STR_ULTRA_HIGH_STRENGTH" value="超大强度"/>
+       <lanstr id="STR_TRAINING_INTENSITY" value="训练强度"/>
+       <lanstr id="STR_TRAINING_IN_PROGRESS" value="训练中"/>
+       <lanstr id="STR_BREAK_TRAINING" value="暂停训练"/>
+       <lanstr id="STR_FINISH" value="结束"/>
+       <lanstr id="STR_PAUSE" value="暂停"/>
+       <lanstr id="STR_RESUME" value="继续"/>
+       <lanstr id="STR_GOAL_ACHIEVED" value="目标已达成"/>
+       <lanstr id="STR_ACCOMPLISH_GOAL" value="完成目标"/>
+       <lanstr id="STR_OK" value="确定"/>
+       <lanstr id="STR_LOOK_OUT" value="注意"/>
+       <lanstr id="STR_INSUFFICIENT_EXERCISE_AMOUNT" value="当前运动量太小,无法记录"/>
+       <lanstr id="STR_END_MOVEMENT" value="结束运动"/>
+       <lanstr id="STR_END_THIS_MOVEMENT" value="是否结束本次运动"/>
+       <lanstr id="STR_GOAL_ACCOMPLISHMENT_DEGREE" value="目标完成度"/>
+       <lanstr id="STR_TRAINING_DURATION" value="训练时长"/>
+       <lanstr id="STR_RANGE_MILE" value="距离(米)"/>
+       <lanstr id="STR_CLOSE" value="关闭"/>
+       <lanstr id="STR_MORE" value="更多"/>
+       <lanstr id="STR_MORE_APP" value="更多前往APP查看"/>
+       <lanstr id="STR_SAVENOTE" value="开启省电模式会关闭非必要的蓝牙连接,以及传感器监测等功能"/>
+       <lanstr id="STR_SAVEBACK" value="长按屏幕3秒以上或充电可退出省电模式"/>
+       <lanstr id="STR_SAVEASK" value="是否开启"/>
+       <lanstr id="STR_BLOOD" value="血氧饱和度"/>
+       <lanstr id="STR_CHECK" value="检测"/>
+       <lanstr id="STR_CHECKNEW" value="刚刚检测"/>
+       <lanstr id="STR_CHECKTIME" value="XX分钟前检测"/>
+       <lanstr id="STR_CHECKLONG" value="超过1个小时前检测"/>
+       <lanstr id="STR_CHECKNO" value="暂无检测记录"/>
+       <lanstr id="STR_CHECKNOTE" value="偏紧佩戴,保持静止"/>
+       <lanstr id="STR_CHECKON" value="正在检测"/>
+       <lanstr id="STR_CHECKSTOP" value="停止检测"/>
+       <lanstr id="STR_CHECKERROR" value="检测不到结果"/>
+       <lanstr id="STR_WAERKEEP" value="请确认已带上手表,并保持静止"/>
+       <lanstr id="STR_WEARRE" value="进行重新检测"/>
+       <lanstr id="STR_WEARREADY" value="准备好后点击下方按钮"/>
+       <lanstr id="STR_RECHECK" value="重新检测"/>
+       <lanstr id="STR_CHECKEWARN" value="血氧提醒"/>
+       <lanstr id="STR_BLOODSHORT" value="当前血氧含量已低于XX%"/>
+       <lanstr id="STR_HEARTNOTE" value="请注意身体健康"/>
+       <lanstr id="STR_KONW" value="知道了"/>
+       <lanstr id="STR_EXPLAIN" value="说明"/>
+       <lanstr id="STR_HEARTREST" value="静息"/>
+       <lanstr id="STR_HEARTDATA" value="心率检测结果"/>
+       <lanstr id="STR_HEARTTITLE" value="心率提醒"/>
+       <lanstr id="STR_HEARTMAX" value="当前心率值高于XX"/>
+       <lanstr id="STR_HEARTMIN" value="当前心率值低于XX"/>
+       <lanstr id="STR_TRAINGNO" value="无记录"/>
+       <lanstr id="STR_TRAINGGO" value="去训练"/>
+       <lanstr id="STR_MESSAGENO" value="暂无内容"/>
+       <lanstr id="STR_CLEAN" value="清除"/>
+       <lanstr id="STR_CLEANALL" value="全部清除"/>
+       <lanstr id="STR_SLEEP_YESTERDAY" value="昨日睡眠"/>
+       <lanstr id="STR_HOUR" value="小时"/>
+       <lanstr id="STR_MIN" value="分钟"/>
+       <lanstr id="STR_SLEEPMGOAL" value="目标XX小时"/>
+       <lanstr id="STR_REATTIME" value="作息时间"/>
+       <lanstr id="STR_SLEEPTIME" value="入睡时间"/>
+       <lanstr id="STR_WALKTIME" value="醒来时间"/>
+       <lanstr id="STR_APPMORE" value="更多详情请前往手机APP查看"/>
+       <lanstr id="STR_DISTURB" value="手表将在20分钟后开启勿扰模式,关闭请到控制中心"/>
+       <lanstr id="STR_DISTURBNOTE" value="已开启勿扰模式,此模式下手表将不会发出震动与铃声"/>
+       <lanstr id="STR_MORNNING" value="早安"/>
+       <lanstr id="STR_NOW" value="当前"/>
+       <lanstr id="STR_NAP" value="小睡(5分钟)"/>
+       <lanstr id="STR_TACK" value="请先打开app,进入“设备”-“拍照”"/>
+       <lanstr id="STR_CLICK" value="点击拍照"/>
+       <lanstr id="STR_TACKNUM" value="已拍摄XX张"/>
+       <lanstr id="STR_SCREEN_AND_BRIGHTNESS" value="屏幕与亮度"/>
+       <lanstr id="STR_NETWORKANDCALL" value="网络与通话"/>
+       <lanstr id="STR_SOUND_AND_VIBRATION" value="声音与震动"/>
+       <lanstr id="STR_MOTION_RECOGNITION" value="运动识别"/>
+       <lanstr id="STR_SYSTEM" value="系统"/>
+       <lanstr id="STR_SHUTDOWN_AND_RESTART" value="关机和重启"/>
+       <lanstr id="STR_SCREEN_ON_DURATION" value="亮屏时长"/>
+       <lanstr id="STR_RAISE_TO_WAKE" value="抬腕亮屏"/>
+       <lanstr id="STR_5_SECONDS" value="5秒"/>
+       <lanstr id="STR_10_SECONDS" value="10秒"/>
+       <lanstr id="STR_15_SECONDS" value="15秒"/>
+       <lanstr id="STR_30_SECONDS" value="30秒"/>
+       <lanstr id="STR_60_SECONDS" value="60秒"/>
+       <lanstr id="STR_300_SECONDS" value="300秒"/>
+       <lanstr id="STR_4G_CAPABILITY" value="4G能力"/>
+       <lanstr id="STR_VOLTE_CALL" value="VoLTE 通话"/>
+       <lanstr id="STR_MOBILE_DATA_OPTION" value="移动数据选项"/>
+       <lanstr id="STR_SYSTEM_UPDATE" value="系统更新"/>
+       <lanstr id="STR_ONLINE_MUSIC" value="在线音乐"/>
+       <lanstr id="STR_BLUETOOTH_HEADPHONES" value="蓝牙耳机"/>
+       <lanstr id="STR_TRADITIONAL_BLUETOOTH" value="传统蓝牙"/>
+       <lanstr id="STR_AUTO_OFF_BLUETOOTH_NOTE" value="注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加电耗,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等)"/>
+       <lanstr id="STR_BLUETOOTH_SERVICE_OPTIONS" value="蓝牙服务选项"/>
+       <lanstr id="STR_HFP" value="通话蓝牙"/>
+       <lanstr id="STR_A2DP" value="媒体蓝牙"/>
+       <lanstr id="STR_SYSTEM_VOLUME" value="系统音量"/>
+       <lanstr id="STR_MEDIA_VOLUME" value="媒体音量"/>
+       <lanstr id="STR_CALL_VOLUME" value="通话音量"/>
+       <lanstr id="STR_VIBRATION_MODE" value="震动模式"/>
+       <lanstr id="STR_SILENT_MODE" value="静音模式"/>
+       <lanstr id="STR_LIST_DISPLAY" value="列表显示"/>
+       <lanstr id="STR_GRID_DISPLAY" value="网格显示"/>
+       <lanstr id="STR_CELLULAR_DISPLAY" value="蜂窝显示"/>
+       <lanstr id="STR_AUTO_DETECT" value="自动识别"/>
+       <lanstr id="STR_ABOUT_WATCH" value="关于手表"/>
+       <lanstr id="STR_WATCH_QR_CODE" value="手表二维码"/>
+       <lanstr id="STR_SYSTEM_LANGUAGE" value="系统语言"/>
+       <lanstr id="STR_RESTART" value="重启"/>
+       <lanstr id="STR_SHUTDOWN" value="关机"/>
+       <lanstr id="STR_FACTORY_RESET" value="恢复出厂"/>
+       <lanstr id="STR_WATCH_NAME" value="手表名称"/>
+       <lanstr id="STR_FIRMWARE_VERSION" value="固件版本"/>
+       <lanstr id="STR_BLUETOOTH_NAME" value="蓝牙名称"/>
+       <lanstr id="STR_BLUETOOTH_ADDRESS" value="蓝牙地址"/>
+       <lanstr id="STR_UPDATENOW" value="立即更新"/>
+       <lanstr id="STR_LATEST_VERSION" value="最新版本"/>
+       <lanstr id="STR_LATER" value="稍后再说"/>
+       <lanstr id="STR_UP_TO_DATE" value="当前已升级到最新版本"/>
+       <lanstr id="STR_NO_UPDATE" value="暂无更新"/>
+       <lanstr id="STR_LANGUAGE_SELECTION" value="语言选择"/>
+       <lanstr id="STR_RESET_CONFIRM" value="是否确定重新启动?"/>
+       <lanstr id="STR_SHUTDOWN_CONFIRM" value="是否确定关机?"/>
+       <lanstr id="STR_RESET_CONFIRM_NOTE" value="该操作会清空并重置手表数据,是否确认继续?"/>
+       <lanstr id="STR_RECORDER" value="录音机"/>
+       <lanstr id="STR_CLICK_TO_RECORD" value="点击开始录音"/>
+       <lanstr id="STR_RECORDING" value="录音中"/>
+       <lanstr id="STR_AUDIO_XX" value="录音XX"/>
+       <lanstr id="STR_VOICE_RECORDING_REMINDER" value="录音提醒"/>
+       <lanstr id="STR_VOICE_RECORDING_REMINDER_NOTE" value="录音数量不得超过30首,请删除已有录音"/>
+       <lanstr id="STR_DELETE_RECORDING" value="删除录音"/>
+       <lanstr id="STR_DELETE_PERMANENTLY" value="是否永久删除"/>
+       <lanstr id="STR_RECORDING_LIST" value="录音列表"/>
+       <lanstr id="STR_CRLEMPTY" value="当前录音列表为空"/>
+       <lanstr id="STR_DO_NOT_DISTURB_MODE" value="开启勿扰模式,手表将不会发出震动与铃声,是否开启"/>
+       <lanstr id="STR_CONNECTION_STATUS" value="连接状态"/>
+       <lanstr id="STR_PHONE" value="手机"/>
+       <lanstr id="STR_HEADSET" value="耳机"/>
+       <lanstr id="STR_CONNECTED" value="已连接"/>
+       <lanstr id="STR_DISCONNECTED" value="未连接"/>
+       <lanstr id="STR_PHONE_RINGING_VIBRATING" value="手机正在响铃/震动"/>
+       <lanstr id="STR_BLUETOOTH_DISCONNECTED" value="蓝牙未连接"/>
+       <lanstr id="STR_STOP" value="停止"/>
+       <lanstr id="STR_WORKDAY" value="工作日"/>
+       <lanstr id="STR_REPEAT_NO" value="不重复"/>
+       <lanstr id="STR_EVERYDAY" value="每日"/>
+       <lanstr id="STR_ADD_A_NEW_ALARM" value="添加新闹钟"/>
+       <lanstr id="STR_TIME" value="时间"/>
+       <lanstr id="STR_NEXT_STEP" value="下一步"/>
+       <lanstr id="STR_MON" value="一"/>
+       <lanstr id="STR_TUES" value="二"/>
+       <lanstr id="STR_WEDNES" value="三"/>
+       <lanstr id="STR_THURS" value="四"/>
+       <lanstr id="STR_FRI" value="五"/>
+       <lanstr id="STR_SATUR" value="六"/>
+       <lanstr id="STR_SUN" value="日"/>
+       <lanstr id="STR_MONDAY" value="星期一"/>
+       <lanstr id="STR_TUESDAY" value="星期二"/>
+       <lanstr id="STR_WEDNESDAY" value="星期三"/>
+       <lanstr id="STR_THURSDAY" value="星期四"/>
+       <lanstr id="STR_FRIDAY" value="星期五"/>
+       <lanstr id="STR_SATURDAY" value="星期六"/>
+       <lanstr id="STR_SUNDAY" value="星期日"/>
+       <lanstr id="STR_CALIBRATE_COMPASS" value="校准指南针"/>
+       <lanstr id="STR_CALIBRATE_COMPASS_NOTE" value="请远离干扰源,按图示旋转手表进行校准"/>
+       <lanstr id="STR_EAST" value="东"/>
+       <lanstr id="STR_SOUTH" value="南"/>
+       <lanstr id="STR_WEST" value="西"/>
+       <lanstr id="STR_NORTH" value="北"/>
+       <lanstr id="STR_SOUTHEAST" value="东南"/>
+       <lanstr id="STR_SOUTHWEST" value="西南"/>
+       <lanstr id="STR_NORTHEAST" value="东北"/>
+       <lanstr id="STR_NORTHWEST" value="西北"/>
+       <lanstr id="STR_KEEP_STILL_FOCUS_ON_BREATHING" value="保持不动,将注意力集中在呼吸上"/>
+       <lanstr id="STR_EXHALE_NOW" value="现在呼气"/>
+       <lanstr id="STR_INHALE_NOW" value="现在吸气"/>
+       <lanstr id="STR_TRAINING_COMPLETE" value="训练完成"/>
+       <lanstr id="STR_THIS_BREATH" value="本次呼吸"/>
+       <lanstr id="STR_TODAYS_BREATHING_TRAINING" value="今日呼吸训练"/>
+       <lanstr id="STR_RECENT_CALLS" value="最近通话"/>
+       <lanstr id="STR_NO_CALLS" value="暂无通话"/>
+       <lanstr id="STR_MISSED_CALLS" value="未接来电"/>
+       <lanstr id="STR_DIALED_CALLS" value="拨出电话"/>
+       <lanstr id="STR_RECEIVED_CALLS" value="拨入电话"/>
+       <lanstr id="STR_NOTE_RECENT_CALLS_LIMITATION" value="注:只保留最近20条通话记录"/>
+       <lanstr id="STR_NO_CONTACTS_ADDED" value="尚未添加联系人,请前往APP进行设置"/>
+       <lanstr id="STR_DIAL_MODE" value="拨号方式"/>
+       <lanstr id="STR_DIAL_VIA_WATCH_SIM" value="通过手表SIM卡拨号"/>
+       <lanstr id="STR_DIAL_VIA_PHONE" value="通过手机拨号"/>
+       <lanstr id="STR_KUMI_TECHNOLOGY" value="库密科技"/>
+       <lanstr id="STR_CALLING" value="拨号中"/>
+       <lanstr id="STR_NOT_PAIRED" value="未配对"/>
+       <lanstr id="STR_PAIRED" value="已配对"/>
+       <lanstr id="STR_UNPAIR" value="取消配对"/>
+       <lanstr id="STR_CONNECTION_ERROR" value="连接异常"/>
+       <lanstr id="STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE" value="请插入手表SIM卡或连接手机并确认开启蓝牙通话后再进行拨号"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL" value="开启蓝牙通话"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE" value="解决方法:1.苹果手机 请前往手机“设置”→“蓝牙”列表找到“KUMI_XX”并点击后重试"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR" value="2.安卓手机 请前往手机“设置”→“蓝牙”列表找到 “KUMI_XX”"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE" value="点击右侧图标进入蓝牙设置"/>
+       <lanstr id="STR_SIM_CARD_ERROR" value="Sim卡异常"/>
+       <lanstr id="STR_CHECK_SIM_CARD_INSERTION" value="SIM卡拨号异常,请检查手表SIM卡是否正确插入"/>
+       <lanstr id="STR_WEATHER_REPORT" value="气象报告"/>
+       <lanstr id="STR_ULTRAVIOLET" value="紫外线"/>
+       <lanstr id="STR_WIND_SPEED" value="风速"/>
+       <lanstr id="STR_HUMIDITY" value="湿度"/>
+       <lanstr id="STR_NEXT_7_DAYS" value="未来七天"/>
+       <lanstr id="STR_GET_WEATHER_ERROR" value="未获取到天气信息请前往APP更新"/>
+       <lanstr id="STR_MUSIC_SOURCE" value="音乐来源"/>
+       <lanstr id="STR_MOBILE_MUSIC" value="手机音乐"/>
+       <lanstr id="STR_WATCH_MUSIC" value="手表音乐"/>
+       <lanstr id="STR_MUSIC_LIST" value="音乐列表"/>
+       <lanstr id="STR_BLUETOOTH_CONNECTION_FAILED" value="蓝牙连接失败"/>
+       <lanstr id="STR_SCANNING_BINDING" value="扫码绑定"/>
+       <lanstr id="STR_DEVICE_BINDING" value="设备绑定"/>
+       <lanstr id="STR_DEVICE_BINDING_NOTE" value="XX想要与你进行连接绑定"/>
+       <lanstr id="STR_EQUIPMENT_UNTYING" value="设备解绑"/>
+       <lanstr id="STR_EQUIPMENT_UNTYING_NOTE" value="XX想要与你进行解绑"/>
+       <lanstr id="STR_DRINK_WATER_REMINDER" value="喝水提醒"/>
+       <lanstr id="STR_DRINK_WATER_REMINDER_NOTE" value="该喝水啦!记得按时保持水分充足(๑•̀ㅂ•́)و✧"/>
+       <lanstr id="STR_SEDENTARY_REMINDER" value="久坐提醒"/>
+       <lanstr id="STR_SEDENTARY_REMINDER_NOTE" value="你已经XX小时未活动了,站起来活动一下吧。"/>
+       <lanstr id="STR_SYSTEM_UPGRADING" value="系统升级中"/>
+       <lanstr id="STR_NEWDEVICE_BIND_REMIND_NOTE" value="当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作"/>
+       <lanstr id="STR_AI_VOICE" value="AI Voice"/>
+       <lanstr id="STR_AI_INTELLIGENT_ASSISTANT" value="AI智能助手"/>
+       <lanstr id="STR_START_CHAT" value="开始对话"/>
+       <lanstr id="STR_BOOT_FAILED" value="启动失败"/>
+       <lanstr id="STR_ENABLE_MOBILE_DATA_FIRST" value="请先开启移动数据"/>
+       <lanstr id="STR_ENABLE_BLUETOOTH_FIRST" value="请先开启蓝牙"/>
+       <lanstr id="STR_LISTENING" value="正在聆听..."/>
+       <lanstr id="STR_FINISH_SPEAKING" value="说话完毕"/>
+       <lanstr id="STR_THINKING" value="正在思考..."/>
+       <lanstr id="STR_CANCEL" value="取消"/>
+       <lanstr id="STR_CONNECT_TIMEOUT" value="连接超时"/>
+       <lanstr id="STR_PLEASE_RESTART_CHAT" value="请重新开始对话"/>
+       <lanstr id="STR_CONTINUE_CHAT" value="继续对话"/>
+       <lanstr id="STR_AIMODELS_DOUBAO" value="豆包"/>
+       <lanstr id="STR_AIMODES_WENXINYIYAN" value="文心一言"/>
+       <lanstr id="STR_AIMODES_KIMI" value="Kimi"/>
+       <lanstr id="STR_AIMODES_CHATGPT" value="ChatGPT"/>
+</language>
diff --git a/tools/language_tool/Language_xml/languagetool.py b/tools/language_tool/Language_xml/languagetool.py
new file mode 100644 (file)
index 0000000..a10ba3b
--- /dev/null
@@ -0,0 +1,44 @@
+import xml.dom.minidom
+
+# 从外部文件读取列表数据,使用特殊分隔符
+def read_list_from_file(file_path, delimiter):
+    with open(file_path, "r", encoding="utf-8") as f:
+        lines = f.readlines()
+        input_list = [line.strip().split(delimiter) for line in lines]
+    return input_list
+
+# 生成 XML 文件,使用特殊分隔符
+def generate_xml_from_list(input_list, output_file, lang, delimiter):
+    dom = xml.dom.minidom.getDOMImplementation().createDocument(None, "language", None)
+    root = dom.documentElement
+    root.setAttribute("id", "language")
+    root.setAttribute("direct", "ltr")
+    root.setAttribute("languageinfo", lang)
+
+    for item in input_list:
+        key = item[0]
+        value = item[1]
+
+        lanstr_element = dom.createElement("lanstr")
+        lanstr_element.setAttribute("id", key)
+        lanstr_element.setAttribute("value", value)
+        root.appendChild(lanstr_element)
+
+    with open(output_file, "w", encoding="utf-8") as f:
+        f.write(root.toprettyxml())
+
+        
+# 从外部文件读取不同语言的列表数据,使用特殊分隔符
+input_list_en = read_list_from_file("./input_list_en.txt", "$")
+input_list_zh = read_list_from_file("./input_list_zh.txt", "$")
+#input_list_ja = read_list_from_file("./input_list_ja.txt", "$")
+#input_list_de = read_list_from_file("./input_list_de.txt", "$")
+
+
+# 生成不同语言的 XML 文件,使用特殊分隔符
+generate_xml_from_list(input_list_en, "./language_en.xml", "en", "$")
+generate_xml_from_list(input_list_zh, "./language_zh.xml", "zh", "$")
+#generate_xml_from_list(input_list_ja, "./language_ja.xml", "ja", "$")
+#generate_xml_from_list(input_list_de, "./language_de.xml", "de", "$")
+
+print("XML文件生成完成。")
diff --git a/tools/language_tool/README b/tools/language_tool/README
new file mode 100644 (file)
index 0000000..0dd1a73
--- /dev/null
@@ -0,0 +1,60 @@
+## 根元素\r
+\r
+XML 必须以 language 为根元素并支持以下属性,\r
+language 元素中的属性对所有的子元素都生效,并且作为子元素的默认值,\r
+如果子元素有定义相同的属性,以子元素设置的生效。 \r
+\r
+**表3-3 多语言 xml 配置**\r
+\r
+| 属性名       | 描述                                                         | 取值                                            | 必选 |\r
+| ------------ | ------------------------------------------------------------ | :---------------------------------------------- | :--: |\r
+| languageinfo | 语言信息,使用语言代码 (ISO 639)标识语言                   | ISO 639 标准定义的语言代码                      |  Y   |\r
+| direct       | 文本方向布局                                                 | ltr(left to right)   rtl (right to left) |  N   |\r
+| fontName     | 设置矢量字库名,路径需要 在 graphic_config.h 中配置 宏 VECTOR_FONT_DIR。 | ttf 文件名                                      |  N   |\r
+\r
+例如:\r
+\r
+```c++\r
+<language\r
+    id="language"\r
+    direct="ltf"\r
+    languageinfo="zh">\r
+        <lanstr\r
+        ....\r
+        />\r
+</language>\r
+```\r
+\r
+\r
+\r
+##  字符串元素 \r
+\r
+字符串元素以 lanstr 为命名,定义字符串的相关信息,包括字符串取值、文本大小、 字库名等信息。\r
+\r
+如果根元素也定义的相同的属性,会以字符串元素中定义的值为准,\r
+\r
+ 如果都没有定义,取 UIKit 中设置的默认值。\r
+\r
+\r
+\r
+ **表3-4 字符串元素配置** \r
+\r
+| 属性名   | 描述                                                         | 取值                                            | 必选 |\r
+| -------- | ------------------------------------------------------------ | ----------------------------------------------- | ---- |\r
+| id       | 字符串唯一标识,需要保证唯一性                               | 统一以 STR_ 为前缀 是 value 字符串内容          | Y    |\r
+| value    | 字符串内容                                                   | 任意字符串                                      | Y    |\r
+| direct   | 文本方向布局                                                 | ltr(left to right)      rtl (right to left) | N    |\r
+| size     | 文本大小,如果同时有在代码中通 过接口 SetFont 进行设置,会按照 和 SetText 以及 ForceResetText 先 后顺序为准 | 0~255                                          | N    |\r
+| fontName | 设置矢量字库名,路径需要在 graphic_config.h 中配置宏 VECTOR_FONT_DIR。如果同时有 在代码中通过接口 SetFont 进行设 置,会按照和 SetText 以及 ForceResetText 先后顺序为准 | ttf 文件名                                      | N    |\r
+\r
+例如:\r
+\r
+```c++\r
+<lanstr\r
+    id="STR_IMAGE"\r
+    value="Image"\r
+    size="21"\r
+    direct="rtl"\r
+/>\r
+```\r
+\r
diff --git a/tools/language_tool/font/en.lang b/tools/language_tool/font/en.lang
new file mode 100644 (file)
index 0000000..a242fed
Binary files /dev/null and b/tools/language_tool/font/en.lang differ
diff --git a/tools/language_tool/font/ui_resource_string.h b/tools/language_tool/font/ui_resource_string.h
new file mode 100644 (file)
index 0000000..d7d2106
--- /dev/null
@@ -0,0 +1,497 @@
+/*
+* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved.
+* Description: language
+* Author: Graphic develop team
+* Create: 2021-07-06
+*/
+
+#ifndef UI_RESOURCE_STRING_H
+#define UI_RESOURCE_STRING_H
+#include <cstdint>
+namespace OHOS {
+enum UIResourceTextId : uint16_t {
+    STR_EXERCISE_OUTDOORWALKING = 0,\r
+    STR_EXERCISE_OUTDOORRUNNING = 1,\r
+    STR_EXERCISE_OUTDOORBIKING = 2,\r
+    STR_EXERCISE_GENERAL = 3,\r
+    STR_EXERCISE_FREETRAINING = 4,\r
+    STR_EXERCISE_RESISTANCETRAINING = 5,\r
+    STR_EXERCISE_SPINBIKE = 6,\r
+    STR_EXERCISE_TREADMILL = 7,\r
+    STR_EXERCISE_STROLLMACHINE = 8,\r
+    STR_EXERCISE_HIIT = 9,\r
+    STR_EXERCISE_CROSSFIT = 10,\r
+    STR_EXERCISE_GROUPCALISTHENICS = 11,\r
+    STR_EXERCISE_YOGA = 12,\r
+    STR_EXERCISE_YOGACAT = 13,\r
+    STR_EXERCISE_YOGACOW = 14,\r
+    STR_EXERCISE_YOGACOBRA = 15,\r
+    STR_EXERCISE_YOGAHERO1 = 16,\r
+    STR_EXERCISE_YOGAHERO2 = 17,\r
+    STR_EXERCISE_YOGAHERO3 = 18,\r
+    STR_EXERCISE_YOGAROLLING = 19,\r
+    STR_EXERCISE_INDOORWALKING = 20,\r
+    STR_EXERCISE_INDOORRUNNING = 21,\r
+    STR_EXERCISE_JUMPINGROPE = 22,\r
+    STR_EXERCISE_PILATES = 23,\r
+    STR_EXERCISE_CROSS_FIT = 24,\r
+    STR_EXERCISE_FUNCTIONALTRAINING = 25,\r
+    STR_EXERCISE_PHYSICALTRAINING = 26,\r
+    STR_EXERCISE_TAEKWONDO = 27,\r
+    STR_EXERCISE_BOXING = 28,\r
+    STR_EXERCISE_KICKBOXING = 29,\r
+    STR_EXERCISE_KARATE = 30,\r
+    STR_EXERCISE_FENCING = 31,\r
+    STR_EXERCISE_CORETRAINING = 32,\r
+    STR_EXERCISE_BODYCOMBAT = 33,\r
+    STR_EXERCISE_KENDO = 34,\r
+    STR_EXERCISE_HORIZONTALBAR = 35,\r
+    STR_EXERCISE_PARALLELBARS = 36,\r
+    STR_EXERCISE_CIRCUIT = 37,\r
+    STR_EXERCISE_AEROBICS = 38,\r
+    STR_EXERCISE_CALISTHENICE = 39,\r
+    STR_EXERCISE_P90X = 40,\r
+    STR_EXERCISE_KETTLEBELLTRAINING = 41,\r
+    STR_EXERCISE_MIXEDMARTIALARTS = 42,\r
+    STR_EXERCISE_STAIRCLIMBINGMACHINE = 43,\r
+    STR_EXERCISE_WEIGHTLIFTING = 44,\r
+    STR_EXERCISE_BARRE = 45,\r
+    STR_EXERCISE_HANDCYCLING = 46,\r
+    STR_EXERCISE_TRACKFIELD = 47,\r
+    STR_EXERCISE_WRESTLING = 48,\r
+    STR_EXERCISE_MINDBODY = 49,\r
+    STR_EXERCISE_FLEXIBILITY = 50,\r
+    STR_EXERCISE_MIXEDCARDIO = 51,\r
+    STR_EXERCISE_TRADITIONALSTRENGTHTRAINING = 52,\r
+    STR_EXERCISE_CROSSTRAINING = 53,\r
+    STR_EXERCISE_GYMNASTICS = 54,\r
+    STR_EXERCISE_STEPTRAINING = 55,\r
+    STR_EXERCISE_ELLIPTICALTRAINER = 56,\r
+    STR_EXERCISE_ROWINGMACHINE = 57,\r
+    STR_DANCING_GENERAL = 58,\r
+    STR_DANCING_BELLY = 59,\r
+    STR_DANCING_JAZZ = 60,\r
+    STR_DANCING_LATIN = 61,\r
+    STR_DANCING_BALLET = 62,\r
+    STR_DANCING_STREET = 63,\r
+    STR_DANCING_PUBLICSQUARE = 64,\r
+    STR_DANCING_ZUMBA = 65,\r
+    STR_DANCING_SOCIALDANCE = 66,\r
+    STR_DANCING_TAPDANCE = 67,\r
+    STR_RECREATIONAL_SPORTS = 68,\r
+    STR_RECREATIONAL_SKATING = 69,\r
+    STR_RECREATIONAL_MARTIALARTS = 70,\r
+    STR_RECREATIONAL_TAICHI = 71,\r
+    STR_RECREATIONAL_HULAHOOP = 72,\r
+    STR_RECREATIONAL_DISCSPORT = 73,\r
+    STR_RECREATIONAL_DARTS = 74,\r
+    STR_RECREATIONAL_ARCHERY = 75,\r
+    STR_RECREATIONAL_HORSERIDING = 76,\r
+    STR_RECREATIONAL_BATTLEGAME = 77,\r
+    STR_RECREATIONAL_KITE = 78,\r
+    STR_RECREATIONAL_TUGOFWAR = 79,\r
+    STR_RECREATIONAL_SWING = 80,\r
+    STR_RECREATIONAL_STAIRCLIMBING = 81,\r
+    STR_RECREATIONAL_OBSTACLERACE = 82,\r
+    STR_RECREATIONAL_FISHING = 83,\r
+    STR_RECREATIONAL_HUNTING = 84,\r
+    STR_RECREATIONAL_SCOOTERRIDING = 85,\r
+    STR_RECREATIONAL_PARAGLIDING = 86,\r
+    STR_RECREATIONAL_TEAMSPORTS = 87,\r
+    STR_RECREATIONAL_FINESSGAMING = 88,\r
+    STR_RECREATIONAL_HIKING = 89,\r
+    STR_RECREATIONAL_EQUESTRIANSPORTS = 90,\r
+    STR_RECREATIONAL_PLAY = 91,\r
+    STR_BALL_GAMES = 92,\r
+    STR_BALL_BADMINTON = 93,\r
+    STR_BALL_TABLETENNIS = 94,\r
+    STR_BALL_TENNIS = 95,\r
+    STR_BALL_BILLIARDS = 96,\r
+    STR_BALL_BOWLING = 97,\r
+    STR_BALL_VOLLEYBALL = 98,\r
+    STR_BALL_SHUTTLECOCK = 99,\r
+    STR_BALL_HANDBALL = 100,\r
+    STR_BALL_BASEBALL = 101,\r
+    STR_BALL_SOFTBALL = 102,\r
+    STR_BALL_CRICKET = 103,\r
+    STR_BALL_FOOTBALL = 104,\r
+    STR_BALL_BEACHSOCCER = 105,\r
+    STR_BALL_BEACHVOLLEYBALL = 106,\r
+    STR_BALL_CROQUET = 107,\r
+    STR_BALL_HOCKEY = 108,\r
+    STR_BALL_SQUASH = 109,\r
+    STR_BALL_SEPAKTAKRAW = 110,\r
+    STR_BALL_DODGEBALL = 111,\r
+    STR_BALL_BASKETBALL = 112,\r
+    STR_BALL_SOCCER = 113,\r
+    STR_BALL_GOLF = 114,\r
+    STR_BALL_POLO = 115,\r
+    STR_BALL_RACQUETBALL = 116,\r
+    STR_BALL_RUGBY = 117,\r
+    STR_BALL_GATEBALL = 118,\r
+    STR_BALL_PICKLEBALL = 119,\r
+    STR_BALL_LACROSSE = 120,\r
+    STR_WATER_ACTIVITIES = 121,\r
+    STR_WATER_SAILING = 122,\r
+    STR_WATER_SURFING = 123,\r
+    STR_WATER_WHITEWATERRAFTING = 124,\r
+    STR_WATER_CANOEING = 125,\r
+    STR_WATER_KAYAKING = 126,\r
+    STR_WATER_ROWING = 127,\r
+    STR_WATER_MOTORBOAT = 128,\r
+    STR_WATER_SUP = 129,\r
+    STR_WATER_SCUBADIVING = 130,\r
+    STR_WATER_DIVING = 131,\r
+    STR_WATER_KITESURFING = 132,\r
+    STR_WATER_WAKEBOARDING = 133,\r
+    STR_WATER_POLO = 134,\r
+    STR_WATER_WINDSURFING = 135,\r
+    STR_WATER_DRIFTING = 136,\r
+    STR_WATER_FITNESS = 137,\r
+    STR_WATER_SPORTS = 138,\r
+    STR_WATER_OUTDOORSWIM = 139,\r
+    STR_WATER_INDOORSWIM = 140,\r
+    STR_WATER_SWIMFREESTYLE = 141,\r
+    STR_WATER_SWIMBREASTSTROKE = 142,\r
+    STR_WATER_SWIMBACKSTROKE = 143,\r
+    STR_WATER_SWIMBUTTERFLY = 144,\r
+    STR_ICE_SPORTS = 145,\r
+    STR_ICE_SKATING = 146,\r
+    STR_ICE_HOCKEY = 147,\r
+    STR_ICE_CURLING = 148,\r
+    STR_ICE_SNOWMOBILING = 149,\r
+    STR_ICE_SLED = 150,\r
+    STR_ICE_BIATHLON = 151,\r
+    STR_ICE_CROSSCOUNTRYSKING = 152,\r
+    STR_ICE_SKIING = 153,\r
+    STR_ICE_SNOWBOARDING = 154,\r
+    STR_ICE_SNOWSHOEING = 155,\r
+    STR_ICE_SNOWSPORTS = 156,\r
+    STR_EXTREME_SPORTS = 157,\r
+    STR_EXTREME_SKATEBOARDING = 158,\r
+    STR_EXTREME_ROCKCLIMBING = 159,\r
+    STR_EXTREME_BUNGEEJUMPING = 160,\r
+    STR_EXTREME_PARKOUR = 161,\r
+    STR_EXTREME_BMX = 162,\r
+    STR_EXTREME_ORIENTEERING = 163,\r
+    STR_EXTREME_PARACHUTE = 164,\r
+    STR_EXTREME_RACING = 165,\r
+    STR_EXTREME_TRIATHLONS = 166,\r
+    STR_OTHER_ELEVATOR = 167,\r
+    STR_OTHER_ESCALATOR = 168,\r
+    STR_OTHER_GARDENING = 169,\r
+    STR_OTHER_HORSEWORK = 170,\r
+    STR_OTHER_INVEHICLE = 171,\r
+    STR_OTHER_MEDITATION = 172,\r
+    STR_OTHER_STILL = 173,\r
+    STR_OTHER_TILTING = 174,\r
+    STR_OTHER_WHEELCHAIR = 175,\r
+    STR_HEART_RATE = 176,\r
+    STR_BLOOD_OXYGEN = 177,\r
+    STR_TRAINING = 178,\r
+    STR_TRAINING_RECORD = 179,\r
+    STR_COMPASS = 180,\r
+    STR_TELEPHONE = 181,\r
+    STR_FAVORITE_CONTACTS = 182,\r
+    STR_WEATHER = 183,\r
+    STR_ACTIVITY = 184,\r
+    STR_WATCH_FACE = 185,\r
+    STR_DISPLAY_MODE = 186,\r
+    STR_CARD_MANAGEMENT = 187,\r
+    STR_MUSIC = 188,\r
+    STR_SLEEP = 189,\r
+    STR_RECORD = 190,\r
+    STR_BREATH_TRAINING = 191,\r
+    STR_REMOTE_SHOOTING = 192,\r
+    STR_VOICE_ASSISTANT = 193,\r
+    STR_ALIPAY = 194,\r
+    STR_TIMER = 195,\r
+    STR_ALARM = 196,\r
+    STR_STOPWATCH = 197,\r
+    STR_CALCULATOR = 198,\r
+    STR_FIND_PHONE = 199,\r
+    STR_BRIGHTNESS_ADJUSTMENT = 200,\r
+    STR_SOUND = 201,\r
+    STR_BLUETOOTH = 202,\r
+    STR_DO_NOT_DISTURB = 203,\r
+    STR_MESSAGE_NOTIFICATION = 204,\r
+    STR_POWER_SAVE_MODE = 205,\r
+    STR_FLASHLIGHT = 206,\r
+    STR_SETTINGS = 207,\r
+    STR_EXERCISE_LIST = 208,\r
+    STR_BALL_LIST = 209,\r
+    STR_WATER_LIST = 210,\r
+    STR_DANCING_LIST = 211,\r
+    STR_EXTREME_LIST = 212,\r
+    STR_ICE_LIST = 213,\r
+    STR_RECREATIONAL_LIST = 214,\r
+    STR_OTHER_LIST = 215,\r
+    STR_DANCING_TITLE = 216,\r
+    STR_BALL_LIST_TITLE = 217,\r
+    STR_OTHER_TITLE = 218,\r
+    STR_EXERCISE_TITLE = 219,\r
+    STR_RAPID_TRAINING = 220,\r
+    STR_SET_GOALS = 221,\r
+    STR_DURATION = 222,\r
+    STR_DURATION_SETTING = 223,\r
+    STR_CALORIE = 224,\r
+    STR_CALORIE_SETTING = 225,\r
+    STR_DISTANCE = 226,\r
+    STR_RANGE_SETTING = 227,\r
+    STR_STEP_NUMBER = 228,\r
+    STR_STEP_SETTING = 229,\r
+    STR_HEART_RATE_SETTING = 230,\r
+    STR_MEAN_HEART_RATE = 231,\r
+    STR_TIMES_PER_MIN = 232,\r
+    STR_MEAN_HEART_RATE_MIN = 233,\r
+    STR_LOWER_STRENGTH = 234,\r
+    STR_MEDIUM_STRENGTH = 235,\r
+    STR_HIGH_STRENGTH = 236,\r
+    STR_ULTRA_HIGH_STRENGTH = 237,\r
+    STR_TRAINING_INTENSITY = 238,\r
+    STR_TRAINING_IN_PROGRESS = 239,\r
+    STR_BREAK_TRAINING = 240,\r
+    STR_FINISH = 241,\r
+    STR_PAUSE = 242,\r
+    STR_RESUME = 243,\r
+    STR_GOAL_ACHIEVED = 244,\r
+    STR_ACCOMPLISH_GOAL = 245,\r
+    STR_OK = 246,\r
+    STR_LOOK_OUT = 247,\r
+    STR_INSUFFICIENT_EXERCISE_AMOUNT = 248,\r
+    STR_END_MOVEMENT = 249,\r
+    STR_END_THIS_MOVEMENT = 250,\r
+    STR_GOAL_ACCOMPLISHMENT_DEGREE = 251,\r
+    STR_TRAINING_DURATION = 252,\r
+    STR_RANGE_MILE = 253,\r
+    STR_CLOSE = 254,\r
+    STR_MORE = 255,\r
+    STR_MORE_APP = 256,\r
+    STR_SAVENOTE = 257,\r
+    STR_SAVEBACK = 258,\r
+    STR_SAVEASK = 259,\r
+    STR_BLOOD = 260,\r
+    STR_CHECK = 261,\r
+    STR_CHECKNEW = 262,\r
+    STR_CHECKTIME = 263,\r
+    STR_CHECKLONG = 264,\r
+    STR_CHECKNO = 265,\r
+    STR_CHECKNOTE = 266,\r
+    STR_CHECKON = 267,\r
+    STR_CHECKSTOP = 268,\r
+    STR_CHECKERROR = 269,\r
+    STR_WAERKEEP = 270,\r
+    STR_WEARRE = 271,\r
+    STR_WEARREADY = 272,\r
+    STR_RECHECK = 273,\r
+    STR_CHECKEWARN = 274,\r
+    STR_BLOODSHORT = 275,\r
+    STR_HEARTNOTE = 276,\r
+    STR_KONW = 277,\r
+    STR_EXPLAIN = 278,\r
+    STR_HEARTREST = 279,\r
+    STR_HEARTDATA = 280,\r
+    STR_HEARTTITLE = 281,\r
+    STR_HEARTMAX = 282,\r
+    STR_HEARTMIN = 283,\r
+    STR_TRAINGNO = 284,\r
+    STR_TRAINGGO = 285,\r
+    STR_MESSAGENO = 286,\r
+    STR_CLEAN = 287,\r
+    STR_CLEANALL = 288,\r
+    STR_SLEEP_YESTERDAY = 289,\r
+    STR_HOUR = 290,\r
+    STR_MIN = 291,\r
+    STR_SLEEPMGOAL = 292,\r
+    STR_REATTIME = 293,\r
+    STR_SLEEPTIME = 294,\r
+    STR_WALKTIME = 295,\r
+    STR_APPMORE = 296,\r
+    STR_DISTURB = 297,\r
+    STR_DISTURBNOTE = 298,\r
+    STR_MORNNING = 299,\r
+    STR_NOW = 300,\r
+    STR_NAP = 301,\r
+    STR_TACK = 302,\r
+    STR_CLICK = 303,\r
+    STR_TACKNUM = 304,\r
+    STR_SCREEN_AND_BRIGHTNESS = 305,\r
+    STR_NETWORKANDCALL = 306,\r
+    STR_SOUND_AND_VIBRATION = 307,\r
+    STR_MOTION_RECOGNITION = 308,\r
+    STR_SYSTEM = 309,\r
+    STR_SHUTDOWN_AND_RESTART = 310,\r
+    STR_SCREEN_ON_DURATION = 311,\r
+    STR_RAISE_TO_WAKE = 312,\r
+    STR_5_SECONDS = 313,\r
+    STR_10_SECONDS = 314,\r
+    STR_15_SECONDS = 315,\r
+    STR_30_SECONDS = 316,\r
+    STR_60_SECONDS = 317,\r
+    STR_300_SECONDS = 318,\r
+    STR_4G_CAPABILITY = 319,\r
+    STR_VOLTE_CALL = 320,\r
+    STR_MOBILE_DATA_OPTION = 321,\r
+    STR_SYSTEM_UPDATE = 322,\r
+    STR_ONLINE_MUSIC = 323,\r
+    STR_BLUETOOTH_HEADPHONES = 324,\r
+    STR_TRADITIONAL_BLUETOOTH = 325,\r
+    STR_AUTO_OFF_BLUETOOTH_NOTE = 326,\r
+    STR_BLUETOOTH_SERVICE_OPTIONS = 327,\r
+    STR_HFP = 328,\r
+    STR_A2DP = 329,\r
+    STR_SYSTEM_VOLUME = 330,\r
+    STR_MEDIA_VOLUME = 331,\r
+    STR_CALL_VOLUME = 332,\r
+    STR_VIBRATION_MODE = 333,\r
+    STR_SILENT_MODE = 334,\r
+    STR_LIST_DISPLAY = 335,\r
+    STR_GRID_DISPLAY = 336,\r
+    STR_CELLULAR_DISPLAY = 337,\r
+    STR_AUTO_DETECT = 338,\r
+    STR_ABOUT_WATCH = 339,\r
+    STR_WATCH_QR_CODE = 340,\r
+    STR_SYSTEM_LANGUAGE = 341,\r
+    STR_RESTART = 342,\r
+    STR_SHUTDOWN = 343,\r
+    STR_FACTORY_RESET = 344,\r
+    STR_WATCH_NAME = 345,\r
+    STR_FIRMWARE_VERSION = 346,\r
+    STR_BLUETOOTH_NAME = 347,\r
+    STR_BLUETOOTH_ADDRESS = 348,\r
+    STR_UPDATENOW = 349,\r
+    STR_LATEST_VERSION = 350,\r
+    STR_LATER = 351,\r
+    STR_UP_TO_DATE = 352,\r
+    STR_NO_UPDATE = 353,\r
+    STR_LANGUAGE_SELECTION = 354,\r
+    STR_RESET_CONFIRM = 355,\r
+    STR_SHUTDOWN_CONFIRM = 356,\r
+    STR_RESET_CONFIRM_NOTE = 357,\r
+    STR_RECORDER = 358,\r
+    STR_CLICK_TO_RECORD = 359,\r
+    STR_RECORDING = 360,\r
+    STR_AUDIO_XX = 361,\r
+    STR_VOICE_RECORDING_REMINDER = 362,\r
+    STR_VOICE_RECORDING_REMINDER_NOTE = 363,\r
+    STR_DELETE_RECORDING = 364,\r
+    STR_DELETE_PERMANENTLY = 365,\r
+    STR_RECORDING_LIST = 366,\r
+    STR_CRLEMPTY = 367,\r
+    STR_DO_NOT_DISTURB_MODE = 368,\r
+    STR_CONNECTION_STATUS = 369,\r
+    STR_PHONE = 370,\r
+    STR_HEADSET = 371,\r
+    STR_CONNECTED = 372,\r
+    STR_DISCONNECTED = 373,\r
+    STR_PHONE_RINGING_VIBRATING = 374,\r
+    STR_BLUETOOTH_DISCONNECTED = 375,\r
+    STR_STOP = 376,\r
+    STR_WORKDAY = 377,\r
+    STR_REPEAT_NO = 378,\r
+    STR_EVERYDAY = 379,\r
+    STR_ADD_A_NEW_ALARM = 380,\r
+    STR_TIME = 381,\r
+    STR_NEXT_STEP = 382,\r
+    STR_MON = 383,\r
+    STR_TUES = 384,\r
+    STR_WEDNES = 385,\r
+    STR_THURS = 386,\r
+    STR_FRI = 387,\r
+    STR_SATUR = 388,\r
+    STR_SUN = 389,\r
+    STR_MONDAY = 390,\r
+    STR_TUESDAY = 391,\r
+    STR_WEDNESDAY = 392,\r
+    STR_THURSDAY = 393,\r
+    STR_FRIDAY = 394,\r
+    STR_SATURDAY = 395,\r
+    STR_SUNDAY = 396,\r
+    STR_CALIBRATE_COMPASS = 397,\r
+    STR_CALIBRATE_COMPASS_NOTE = 398,\r
+    STR_EAST = 399,\r
+    STR_SOUTH = 400,\r
+    STR_WEST = 401,\r
+    STR_NORTH = 402,\r
+    STR_SOUTHEAST = 403,\r
+    STR_SOUTHWEST = 404,\r
+    STR_NORTHEAST = 405,\r
+    STR_NORTHWEST = 406,\r
+    STR_KEEP_STILL_FOCUS_ON_BREATHING = 407,\r
+    STR_EXHALE_NOW = 408,\r
+    STR_INHALE_NOW = 409,\r
+    STR_TRAINING_COMPLETE = 410,\r
+    STR_THIS_BREATH = 411,\r
+    STR_TODAYS_BREATHING_TRAINING = 412,\r
+    STR_RECENT_CALLS = 413,\r
+    STR_NO_CALLS = 414,\r
+    STR_MISSED_CALLS = 415,\r
+    STR_DIALED_CALLS = 416,\r
+    STR_RECEIVED_CALLS = 417,\r
+    STR_NOTE_RECENT_CALLS_LIMITATION = 418,\r
+    STR_NO_CONTACTS_ADDED = 419,\r
+    STR_DIAL_MODE = 420,\r
+    STR_DIAL_VIA_WATCH_SIM = 421,\r
+    STR_DIAL_VIA_PHONE = 422,\r
+    STR_KUMI_TECHNOLOGY = 423,\r
+    STR_CALLING = 424,\r
+    STR_NOT_PAIRED = 425,\r
+    STR_PAIRED = 426,\r
+    STR_UNPAIR = 427,\r
+    STR_CONNECTION_ERROR = 428,\r
+    STR_INSERT_WATCH_SIM_OR_CONNECT_PHONE = 429,\r
+    STR_ENABLE_BLUETOOTH_CALL = 430,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE = 431,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDRODIR = 432,\r
+    STR_ENABLE_BLUETOOTH_CALL_NOTE = 433,\r
+    STR_SIM_CARD_ERROR = 434,\r
+    STR_CHECK_SIM_CARD_INSERTION = 435,\r
+    STR_WEATHER_REPORT = 436,\r
+    STR_ULTRAVIOLET = 437,\r
+    STR_WIND_SPEED = 438,\r
+    STR_HUMIDITY = 439,\r
+    STR_NEXT_7_DAYS = 440,\r
+    STR_GET_WEATHER_ERROR = 441,\r
+    STR_MUSIC_SOURCE = 442,\r
+    STR_MOBILE_MUSIC = 443,\r
+    STR_WATCH_MUSIC = 444,\r
+    STR_MUSIC_LIST = 445,\r
+    STR_BLUETOOTH_CONNECTION_FAILED = 446,\r
+    STR_SCANNING_BINDING = 447,\r
+    STR_DEVICE_BINDING = 448,\r
+    STR_DEVICE_BINDING_NOTE = 449,\r
+    STR_EQUIPMENT_UNTYING = 450,\r
+    STR_EQUIPMENT_UNTYING_NOTE = 451,\r
+    STR_DRINK_WATER_REMINDER = 452,\r
+    STR_DRINK_WATER_REMINDER_NOTE = 453,\r
+    STR_SEDENTARY_REMINDER = 454,\r
+    STR_SEDENTARY_REMINDER_NOTE = 455,\r
+    STR_SYSTEM_UPGRADING = 456,\r
+    STR_NEWDEVICE_BIND_REMIND_NOTE = 457,\r
+    STR_AI_VOICE = 458,\r
+    STR_AI_INTELLIGENT_ASSISTANT = 459,\r
+    STR_START_CHAT = 460,\r
+    STR_BOOT_FAILED = 461,\r
+    STR_ENABLE_MOBILE_DATA_FIRST = 462,\r
+    STR_ENABLE_BLUETOOTH_FIRST = 463,\r
+    STR_LISTENING = 464,\r
+    STR_FINISH_SPEAKING = 465,\r
+    STR_THINKING = 466,\r
+    STR_CANCEL = 467,\r
+    STR_CONNECT_TIMEOUT = 468,\r
+    STR_PLEASE_RESTART_CHAT = 469,\r
+    STR_CONTINUE_CHAT = 470,\r
+    STR_AIMODELS_DOUBAO = 471,\r
+    STR_AIMODES_WENXINYIYAN = 472,\r
+    STR_AIMODES_KIMI = 473,\r
+    STR_AIMODES_CHATGPT = 474,\r
+    STR_MAX_ID = 475,\r
+}; // UIResourceTextId\r
+
+enum FontLanguageId : uint8_t {
+    LANGUAGE_ID_ZH,\r
+    LANGUAGE_ID_EN,\r
+    LANGUAGE_ID_MAX\r
+}; // UITextLanguageTextId\r
+}\r
+#endif  /* UI_RESOURCE_STRING_H */\r
diff --git a/tools/language_tool/font/zh.lang b/tools/language_tool/font/zh.lang
new file mode 100644 (file)
index 0000000..053d7e3
Binary files /dev/null and b/tools/language_tool/font/zh.lang differ
diff --git a/tools/language_tool/languagemake.sh b/tools/language_tool/languagemake.sh
new file mode 100644 (file)
index 0000000..f1cf98f
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+###
+ # @Date: 2024-07-10 21:03:33
+ # @LastEditors: Caisking 3449750381@qq.com
+ # @LastEditTime: 2024-07-11 20:55:04
+ # @FilePath: /FD230/tools/language_tool/languagemake.sh
+### 
+
+# 进入目录 Language_xml
+
+cd ~/XTS_FD230/FD230/tools/language_tool//Language_xml
+
+# 运行 languagetool.py
+python languagetool.py
+
+# 回到上级目录
+cd ..
+
+# 进入目录 stringpack_tool
+cd stringpack_tool
+
+# 运行 language_trans.py
+python language_trans.py ../Language_xml/ ../font/ ../font/
+
+# 打印完成信息
+echo "脚本执行完成。"
\ No newline at end of file
diff --git a/tools/language_tool/stringpack_tool/language_trans.py b/tools/language_tool/stringpack_tool/language_trans.py
new file mode 100644 (file)
index 0000000..86e6e55
--- /dev/null
@@ -0,0 +1,277 @@
+#!/usr/bin/env python
+# coding: utf-8
+# Description: language_trans
+
+import sys
+sys.dont_write_bytecode = True
+import xml.etree.ElementTree as ET
+import zlib
+import struct
+import searchdir
+import os
+
+g_lang_info = {}
+g_lang_id = []
+g_lang_default_text_info = {}
+
+def make_sure_dir_exit(filename):
+    if not os.path.exists(os.path.dirname(filename)):
+        try:
+            os.makedirs(os.path.dirname(filename))
+        except OSError as exc: # Guard against race condition
+            if exc.errno != errno.EEXIST:
+                raise
+
+class TextInfo:
+    KEY_VALUE = "value"
+    KEY_fontName = "fontName"
+    KEY_SIZE = "size"
+    KEY_DIRECT = "direct"
+    DIRECT_LTR = 0
+    DIRECT_RTL = 1
+    DIRECT_MIXED = 2
+    DIRECT_NONE = 3
+
+    def __init__(self, info):
+        self._info = info
+
+    def get_size(self):
+        if TextInfo.KEY_SIZE in self._info:
+            return int(self._info[TextInfo.KEY_SIZE])
+        else:
+            return 0
+
+    def get_font_name(self):
+        if TextInfo.KEY_fontName in self._info:
+            return self._info[TextInfo.KEY_fontName]
+        return None
+
+    def get_value(self):
+        if TextInfo.KEY_VALUE in self._info:
+            return self._info[TextInfo.KEY_VALUE]
+        return ""
+
+    def get_direct(self):
+        if TextInfo.KEY_DIRECT in self._info:
+            if self._info[TextInfo.KEY_DIRECT] == "ltr":
+                return TextInfo.DIRECT_LTR
+            if self._info[TextInfo.KEY_DIRECT] == "rtl":
+                return TextInfo.DIRECT_RTL
+            if self._info[TextInfo.KEY_DIRECT] == "mixed":
+                return TextInfo.DIRECT_MIXED
+        return TextInfo.DIRECT_NONE
+
+    def __repr__(self):
+        return "%s" % (self._info)
+
+
+def int_prim_xml_layer_tree(tree):
+    root = tree.getroot()
+    layer_root_element = ET.Element('')
+    for child_1 in root:
+        if child_1.tag == 'language':
+            layer_root_element = child_1
+            break
+    return layer_root_element
+
+
+def get_lang_binary_body(tree):
+    offset = b''
+    str = b''
+    num = b''
+    crcData = b''
+    langId = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+    # print(len(tree.findall('lanstr')))
+    num += len(tree.findall('lanstr')).to_bytes(4, byteorder="little")
+    for item in tree.findall('lanstr'):
+        id = item.get('id')
+        value = item.get('value')
+        str += bytes(value, 'utf-8')
+        str += b'\x00'
+        offset += (len(bytes(value, 'utf-8')) +
+                   1).to_bytes(4, byteorder="little")
+
+    langId = struct.pack('16s', bytes(tree.get('languageinfo'), 'utf-8'))
+    crcData += zlib.crc32(langId + num + offset +
+                          str).to_bytes(4, byteorder="little")
+    return crcData + langId + num + offset + str
+
+
+def get_lang_head_body(tree):
+    result = ''
+    index = 0
+    result += '/*\r\n'
+    result += '* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved.\r\n'
+    result += '* Description: language\r\n'
+    result += '* Author: Graphic develop team\r\n'
+    result += '* Create: 2021-07-06\r\n'
+    result += '*/\r\n'
+    result += '\r\n'
+    result += '#ifndef UI_TEXT_LANGUAGE_H\r\n'
+    result += '#define UI_TEXT_LANGUAGE_H\r\n'
+    result += '#include <cstdint>\r\n'
+    result += 'namespace OHOS {\r\n'
+    result += 'enum UITextLanguageTextId : uint16_t {\r\n'
+
+    for item in tree.findall('lanstr'):
+        id = item.get('id')
+        value = item.get('value')
+        result += '    ' + id + ' = ' + str(index) + ',\r\n'
+        index += 1
+    result += '}; // UITextLanguageTextId\r\n'
+    result += '#endif  /* UI_TEXT_LANGUAGE_H */\r\n'
+    return result
+
+
+def get_lang_binary_body_map(map, langType):
+   # print(langType)
+    offset = b''
+    str = b''
+    num = b''
+    crcData = b''
+    langId = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
+    # print(len(tree.findall('lanstr')))
+    keys = map.keys()
+    totalNum = len(keys)
+    index = 0
+    default_text_info = g_lang_default_text_info[langType]
+    # check default fontName
+    default_fontName = default_text_info.get_font_name()
+    if default_fontName != None:
+        str += bytes(default_fontName, 'utf-8')
+        str += b'\x00'
+        index += len(bytes(default_fontName, 'utf-8')) + 1
+        totalNum |= 0x8000
+    num += totalNum.to_bytes(2, byteorder="little")
+
+    for item in keys:
+        id = item
+        if langType in map[item]:
+            text_info = map[item][langType]
+        else:
+            text_info = TextInfo({})
+        value = text_info.get_value()
+        str += bytes(value, 'utf-8')
+        str += b'\x00'
+        index_value = index
+        font_size = text_info.get_size()
+        if font_size > 0:
+            index_value |= (index_value & 0xFF000000) | (font_size << 24)
+
+        direct = text_info.get_direct()
+        if direct == TextInfo.DIRECT_NONE:
+            direct = default_text_info.get_direct()
+        if direct != None:
+            index_value |= (index_value & 0x00600000) | (direct << 21)
+
+        font_name = text_info.get_font_name()
+        if font_name != None:
+            index_value |= (index_value | 0x00800000)
+            str += bytes(font_name, 'utf-8')
+            str += b'\x00'
+            index += len(bytes(font_name, 'utf-8')) + 1
+
+        offset += (index_value).to_bytes(4, byteorder="little")
+        index += len(bytes(value, 'utf-8')) + 1
+
+    langId = struct.pack('16s', bytes(langType, 'utf-8'))
+    crcData += zlib.crc32(langId + num + offset +
+                          str).to_bytes(4, byteorder="little")
+    return crcData + langId + num + offset + str
+
+
+def GetTextInfo(item):
+    info = {}
+    if item.get(TextInfo.KEY_VALUE) != None:
+        info[TextInfo.KEY_VALUE] = item.get(TextInfo.KEY_VALUE)
+    if item.get(TextInfo.KEY_SIZE) != None:
+        info[TextInfo.KEY_SIZE] = item.get(TextInfo.KEY_SIZE)
+    if item.get(TextInfo.KEY_fontName) != None:
+        info[TextInfo.KEY_fontName] = item.get(TextInfo.KEY_fontName)
+    if item.get(TextInfo.KEY_DIRECT) != None:
+        info[TextInfo.KEY_DIRECT] = item.get(TextInfo.KEY_DIRECT)
+    text_info = TextInfo(info)
+    return text_info
+
+
+def get_lang_map(tree):
+    langid = tree.get('languageinfo')
+    g_lang_id.append(langid)
+   # print(g_lang_id)
+
+    text_info = GetTextInfo(tree)
+   # print(text_info)
+    g_lang_default_text_info[langid] = text_info
+
+    for item in tree.findall('lanstr'):
+        text_info = GetTextInfo(item)
+        id = item.get('id')
+        value = item.get('value')
+        if id in g_lang_info:
+            g_lang_info[id][langid] = text_info
+        else:
+            g_lang_info[id] = {langid: text_info}
+   # print(g_lang_info)
+
+
+def get_language_id_enum():
+    result = """
+enum FontLanguageId : uint8_t {
+"""
+    for language in g_lang_id:
+        result += "    LANGUAGE_ID_" + language.upper() + ",\r\n"
+    result += '    LANGUAGE_ID_MAX\r\n'
+    result += '}; // UITextLanguageTextId\r\n'
+    return result
+
+
+def get_lang_head_body_map(map):
+    result = """/*
+* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved.
+* Description: language
+* Author: Graphic develop team
+* Create: 2021-07-06
+*/
+
+#ifndef UI_RESOURCE_STRING_H
+#define UI_RESOURCE_STRING_H
+#include <cstdint>
+namespace OHOS {
+enum UIResourceTextId : uint16_t {
+"""
+    index = 0
+    keys = map.keys()
+    for item in keys:
+        id = item
+        result += '    ' + id + ' = ' + str(index) + ',\r\n'
+        index += 1
+    result += '    ' + "STR_MAX_ID" + ' = ' + str(index) + ',\r\n'
+    result += '}; // UIResourceTextId\r\n'
+    result += get_language_id_enum()
+    result += '}\r\n'
+    result += '#endif  /* UI_RESOURCE_STRING_H */\r\n'
+   # print(result)
+    return result
+
+
+if __name__ == "__main__":
+    args = len(sys.argv)
+    argv = sys.argv
+    if (args < 3):
+        print("param should be \'xmlpath langPath headPath\'")
+        # sys.exit()
+    dirlist = searchdir.BASE()
+    dirlist.RecusWalkDir(dir=argv[1])
+    for item in dirlist.fileList:
+       # print(item)
+        tree = ET.parse(item).getroot()
+        get_lang_map(tree)
+    for item in g_lang_id:
+        bin = get_lang_binary_body_map(g_lang_info, item)
+        make_sure_dir_exit(os.path.join(argv[2], item + ".lang"));
+        with open(os.path.join(argv[2], item + ".lang"), 'wb+') as file:
+            file.write(bin)
+    head = get_lang_head_body_map(g_lang_info)
+    make_sure_dir_exit(os.path.join(argv[3], "ui_resource_string.h"))
+    with open(os.path.join(argv[3], "ui_resource_string.h"), 'wb+') as file:
+        file.write(bytes(head, 'utf-8'))
diff --git a/tools/language_tool/stringpack_tool/searchdir.py b/tools/language_tool/stringpack_tool/searchdir.py
new file mode 100644 (file)
index 0000000..3ae8244
--- /dev/null
@@ -0,0 +1,67 @@
+import os
+
+#全局变量设置歌曲预定格式
+Const_Song_Format=["xml"]
+
+
+class BASE:
+    #类变量,设置文件列表
+    fileList=[]
+    #类变量,设置文件计算
+    counter=0
+    def __init__(self):
+        pass
+    def RecusWalkDir(self,dir,filtrate=0):
+        """本方法递归遍历目的文件夹中所有文件,获取指定格式的文件绝对地址,利用类变量fileList存储地址"""
+        global Const_Song_Format
+        for s in os.listdir(dir):
+            newDir=dir+"/"+s
+            if os.path.isdir(newDir):
+                self.RecusWalkDir(newDir)
+            else:
+                if os.path.isfile(newDir):
+
+                    if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
+                        self.__class__.fileList.append(newDir)
+                        self.__class__.counter+=1
+                   
+
+
+    def CycWalkDir(self,dir,filtrate=0):
+        """本方法循环遍历文件夹中所有文件,获取指定格式的文件绝对地址,返回歌曲列表fileList"""
+        global Const_Song_Format
+        fileList=[""]
+        for s in os.listdir(dir):
+            newDir=dir+"/"+s
+            if os.path.isfile(newDir):
+                if filtrate:
+                    if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
+                        fileList.append(newDir)
+                else:
+                    fileList.append(newDir)
+            else:
+                newDir=dir+"/"+s
+            while os.path.isdir(newDir):
+                for s in os.listdir(dir):
+                    newDir=dir+"/"+s
+                    if os.path.isfile(newDir):
+                        if filtrate:
+                            if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
+                                fileList.append(newDir)
+                        else:
+                            fileList.append(newDir)
+                    else:
+                        newDir=dir+"/"+s
+        return fileList
+
+
+    def GetFileFormat(self,fileName):
+        """返回文件格式"""
+        if fileName:
+            BaseName=os.path.basename(fileName)
+            str=BaseName.split(".")
+  
+            return str[-1]
+        else:
+            return fileName
+
diff --git a/tools/language_tool/多国语言工具脚本.md b/tools/language_tool/多国语言工具脚本.md
new file mode 100644 (file)
index 0000000..6463546
--- /dev/null
@@ -0,0 +1,88 @@
+<!--\r
+ * @Date: 2024-04-15 10:55:58\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-07-10 21:18:59\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/language/多国语言工具脚本.md\r
+-->\r
+## 多国语言工具脚本使用方法\r
+\r
+### 1.下载打包工具\r
+\r
+\tools\string_packer  属于DebugKit里面的tool\r
+\r
+同时新建文件夹font\r
+\r
+### 2.下载脚本文件\r
+\r
+将**【Language_xml】**下载到打包工具里面\r
+\r
+【Language_xml】文件夹包含:\r
+\r
+```c\r
+       languagetool.py: 生成xml脚本\r
+\r
+       language_zh.xml: 中文xml(使用脚本可生成)\r
+\r
+       language_eh.xml:  英语xml(使用脚本可生成)\r
+\r
+       input_list_zh.txt: 中文语言列表 \r
+               里面可以直接输入键和建值:比如:STR_ICE_SPORTS,冰上运动\r
+    input_list_en.txt: 英语语言列表 (同上)\r
+```\r
+\r
+### 3.使用方法\r
+\r
+在\tools\string_packer\Language_xml目录下使用cmd:\r
+\r
+输入以下指令将脚本增加权限:\r
+\r
+```\r
+ icacls languagetool.py /grant Everyone:F\r
+```\r
+\r
+使用指令运行脚本:\r
+\r
+```\r
+ python languagetool.py\r
+```\r
+\r
+文件夹里面生成两个xml文件。\r
+\r
+在**DebugKit**里面\r
+\r
+选择“system”->"string packer"\r
+\r
+```c\r
+python file: /tools/string_packer/language_trans.py\r
+\r
+File path: /tools/string_packer/Language_xml\r
+\r
+Output Path: /tools/string_packer/font\r
+```\r
+\r
+点击Execute生成:生成的font文件夹里面的内容**需要同步到代码以及res资源库**\r
+\r
+代码路径:application/wearable/fd230app/nativeui/language/font\r
+\r
+res路径:  \FD230\code\sdk\build\config\target_config\brandy\mk_fs_image\fd230\fs\user\res\font\r
+\r
+\r
+【完成多国语言文件配置】\r
+### PS:如果需要增加语言语种 需要增加 languagetool.py 里面语种数组项\r
+\r
+### 更新 0709\r
+\r
+使用多国语言工具直接生成多国语言lang文件 以及 字体头文件\r
+\r
+python language_trans.py ../Language_xml/ ../font/ ../font/\r
+脚本 输入路径 字体文件输出路径 头文件输出路径\r
+\r
+### 更新 0710\r
+在language路径下 直接使用脚本即可生成语言文件夹 /font\r
+\r
+chmod +x languagemake.sh\r
+./languagemake.sh\r
+\r
+### 更新 0711\r
+更换路径\r
+\r