STR_DIAL_FAIL_LABEL = 598,\r
STR_MP3_FAIL_TITL = 599,\r
STR_MP3_FAIL_LABEL = 600,\r
- STR_MAX_ID = 601,\r
+ STR_CALLSOMEONE = 601,\r
+ STR_BLUENOTE = 602,\r
+ STR_VOICE_FAIL = 603,\r
+ STR_WAKE_VOIVE = 604,\r
+ STR_TIME_SET = 605,\r
+ STR_FORMAT = 606,\r
+ STR_FORMAT_NOTE = 607,\r
+ STR_SLEEP_UPDATE = 608,\r
+ STR_CAMERA = 609,\r
+ STR_GOAL_TITLE = 610,\r
+ STR_HEART_HIAGER = 611,\r
+ STR_CHARG_DOWN = 612,\r
+ STR_CHAEGING = 613,\r
+ STR_GOAL_DOWN = 614,\r
+ STR_OPERAT_FAIL = 615,\r
+ STR_DIAL_NOTE = 616,\r
+ STR_HEART_UNKOWN = 617,\r
+ STR_HEART_AVAILABLE = 618,\r
+ STR_HEART_JUST = 619,\r
+ STR_HEART_MIN_AGO = 620,\r
+ STR_HEART_HOUR_AGO = 621,\r
+ STR_RECORDS_20 = 622,\r
+ STR_RECORDS_NOTE = 623,\r
+ STR_RECORDS_DELETE = 624,\r
+ STR_NEW_INCOM = 625,\r
+ STR_NET_ERROR = 626,\r
+ STR_LANGUAGE_SELECTION_NOTE = 627,\r
+ STR_AUTO_OFF_BLUETOOTH_NOTE2 = 628,\r
+ STR_PHONE_MUSCI_NOTE = 629,\r
+ STR_TIME_FORMAT_SET = 630,\r
+ STR_DIAL_PLATE = 631,\r
+ STR_SLEEP_NOTIFY = 632,\r
+ STR_SLEEP_NOTE = 633,\r
+ STR_MAX_CARD = 634,\r
+ STR_NUM_LENGTH = 635,\r
+ STR_CALL_LIST = 636,\r
+ STR_DELETE_ALL = 637,\r
+ STR_FRE_CONTACT = 638,\r
+ STR_RECORD_MAX = 639,\r
+ STR_MAX_ID = 640,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
toastLabel_.SetPosition(77, 220);
toastLabel_.Resize(454, 60);
toastLabel_.SetViewId("toast");
- toastLabel_.SetText("卡片数量已经到达上限");
+ // toastLabel_.SetTextId(STR_MAX_CARD);//可以不增加多国语言。目前没有该需求
toastLabel_.SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);
toastLabel_.SetStyle(STYLE_BACKGROUND_OPA, 255);
toastLabel_.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
#include "color.h"\r
#include "ConfigModel.h"\r
#include "ui_resource_string.h"\r
+#include "languagecode/LanguageInit.h"\r
namespace OHOS\r
{\r
#define SET_ALARM "编辑闹钟"\r
sprintf(showtime, "%02d:%02d", hour, min);\r
// labelTime->SetTime24Hour(hour, min, 0);\r
labelTime->SetText(showtime);\r
- if (ConfigModel::GetInstance()->GetLanguage() == 0)\r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN)\r
labelDay->SetText(weekStr.c_str());\r
else\r
labelDay->SetText(weekStr_en.c_str());\r
#include "PhoneService.h"
#include "ui_resource_string.h"
#include "ConfigModel.h"
+#include "languagecode/LanguageInit.h"
namespace OHOS {
static MainAlarmView *g_MainAlarmView = nullptr;
weekStr_en += SUN_DAY_EN;
}
}
- if(ConfigModel::GetInstance()->GetLanguage() == 0)
+ if(ConfigModel::GetInstance()->GetLanguage() == ZH_CN)
dLabel[alarmNum]->SetText(weekStr.c_str());
else
dLabel[alarmNum]->SetText(weekStr_en.c_str());
notelabel->SetViewId("notelabel");
notelabel->SetStyle(STYLE_TEXT_FONT, 30);
//TODO:多国语言
- notelabel->SetText("试试对我说“打电话给某人”");
+ notelabel->SetTextId(STR_CALLSOMEONE);
notelabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
notelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
notelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
// }
// TODO:多国语言
- InitLabel(noteLabel, 53, 230, 360, 105, "label",
- "请打开通话蓝牙开关后使用语音助手功能", DEFAULT_VECTOR_FONT_FILENAME_EN,
- 30);
+ InitLabelExt(noteLabel, 53, 230, 360, 105, "label", STR_BLUENOTE, DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
noteLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
noteLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
noteLabel->SetRollSpeed(70);
Label->SetPosition(53, 250, 360, 35);
Label->SetStyle(STYLE_TEXT_FONT, 30);
Label->SetStyle(STYLE_LINE_HEIGHT, 35);
- Label->SetText("启用语音助手失败"); //启用语音助手失败 TODO::多国语言
+ Label->SetTextId(STR_VOICE_FAIL); //启用语音助手失败 TODO::多国语言
Label->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
Label->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
AssistantScrollView[ASSISTANT_MAIN_VIEW]->SetStyle(STYLE_BACKGROUND_COLOR,
Color::Black().full);
//初始化label TODO::多国语言
- InitLabel(noteLabel, 53, 339, 360, 35, "label", "点击唤醒语音助手", DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
+ InitLabelExt(noteLabel, 53, 339, 360, 35, "label",STR_WAKE_VOIVE, DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
//初始化button
InitButton(wakeButton, 128, 91, 210, 210, WAKE_ASSISTANT);
wakeButton->SetImageSrc(WAKE_IMAGE, WAKE_IMAGE);
hint->SetStyle(STYLE_LINE_HEIGHT, 20);
// Set additional property
- hint->SetText("超过数字长度范围");
+ hint->SetTextId(STR_NUM_LENGTH);
hint->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
hint->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
hint->SetRollSpeed(0);
return false;
}
- CallingView::GetInstance()->GetCallingDisplayLabel()->SetText("正在通话");
+ // CallingView::GetInstance()->GetCallingDisplayLabel()->SetTextId(STR_CALLING);
CallingView::GetInstance()->GetCallingDurationLabel()->SetText("");
return true;
}
groupFirst->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
\r
labelLog.SetPosition(0, APP_ITEM_FONT_SIZE, HORIZONTAL_RESOLUTION, ICON_X + NUM_20);\r
- labelLog.SetText("通话记录");\r
+ // labelLog.SetTextId(STR_CALL_LIST);\r
labelLog.SetTextColor(Color::White());\r
labelLog.SetFont(DEFAULT_VECTOR_FONT_FILENAME, HEAD_END_FONT_SIZE);\r
labelLog.SetAlign(TEXT_ALIGNMENT_CENTER);\r
groupFinal->SetOnClickListener(clickLeftListener);\r
\r
labelClear.SetPosition(0, NUM_20, HORIZONTAL_RESOLUTION, APP_ITEM_BUTTON_HEIGHT);\r
- labelClear.SetText("全部清除");\r
+ // labelClear.SetTextId(STR_DELETE_ALL);\r
labelClear.SetTextColor(Color::White());\r
labelClear.SetFont(DEFAULT_VECTOR_FONT_FILENAME, HEAD_END_FONT_SIZE);\r
labelClear.SetAlign(TEXT_ALIGNMENT_CENTER);\r
//.text = "注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加电耗,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等)",\r
// AttentionLabel->SetTextId(STR_AUTO_OFF_BLUETOOTH_NOTE);\r
//TODO:多国语言\r
- AttentionLabel->SetText("注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加耗电,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等)");\r
+ AttentionLabel->SetTextId(STR_AUTO_OFF_BLUETOOTH_NOTE2);\r
AttentionLabel->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
AttentionLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
AttentionLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); // 断行模式。\r
goalhintlabel->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- goalhintlabel->SetText("目标设置及更多数据请前往手机APP查看");
+ // goalhintlabel->SetText("目标设置及更多数据请前往手机APP查看");
goalhintlabel->SetTextId(STR_GOAL_HINT);
goalhintlabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
goalhintlabel->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
mileagegoalTitle->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- mileagegoalTitle->SetText("里程(KM)");
+ // mileagegoalTitle->SetText("里程(KM)");
mileagegoalTitle->SetTextId(STR_MILEAGE);
mileagegoalTitle->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
mileagegoalTitle->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
fatburninggoalTitle->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- fatburninggoalTitle->SetText("燃脂时间");
+ // fatburninggoalTitle->SetText("燃脂时间");
fatburninggoalTitle->SetTextId(STR_FAT_BURNING_TIME);
fatburninggoalTitle->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
fatburninggoalTitle->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
standgoalTitle->SetViewId("label1");// Set style
standgoalTitle->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- standgoalTitle->SetText("站立次数");
+ // standgoalTitle->SetText("站立次数");
standgoalTitle->SetTextId(STR_NUMBER_OF_STANDS);
standgoalTitle->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
standgoalTitle->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
caloriegoalTitle->SetViewId("label1");// Set style
caloriegoalTitle->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- caloriegoalTitle->SetText("消耗卡路里");
+ // caloriegoalTitle->SetText("消耗卡路里");
caloriegoalTitle->SetTextId(STR_CONSUME_CALORIES);
caloriegoalTitle->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
caloriegoalTitle->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
goalTitle->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- goalTitle->SetText("今日步数");
+ // goalTitle->SetText("今日步数");
goalTitle->SetTextId(STR_STEPS_OF_THE_DAY);
goalTitle->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
goalTitle->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
//上一次检测信息
InitLabel(lastheart_, 53, 130, 360, 35, "label", "--",
DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
+ lastheart_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+ lastheart_->SetRollSpeed(70);
//最小心率 不居中
InitLabelAdapt(minheart_, 293, 380, 200, 35, "label", "--",
DEFAULT_VECTOR_FONT_FILENAME_EN, 35);
\r
#include "battery_hal.h"\r
#include "ui_service.h"\r
+#include "languagecode/LanguageInit.h"\r
\r
#ifdef __cplusplus\r
extern "C" {\r
return;\r
}\r
if (request->msgId == TOPIC_EVENT_HEARTRATE_UPDATA) {\r
- GraphicService::GetInstance()->PostGraphicEvent(std::bind(\r
- &HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance()));\r
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(\r
+ &HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance()));\r
}\r
}\r
\r
#else\r
HealthService::GetInstance()->send_heart_save();\r
// 将更新曲线写到这里提前更新\r
- HealthService::GetInstance()->UpdateHourlyHeartRate(timestamp_ms, currentheart);\r
+ HealthService::GetInstance()->UpdateHourlyHeartRate(timestamp_ms,\r
+ currentheart);\r
#endif\r
// WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "保存的心率数据:%d%ld",\r
// currentheart,data.timestamp);\r
// 获取检测字符串\r
// 获取检测字符串\r
// TODO: 适配多国语言\r
-std::string HeartModel::GetCheckString() {\r
- std::string check_string = "检测结果未知"; // 默认返回值\r
-\r
- // 获取检测数据\r
- if (currentheart == 0) {\r
- check_string = "暂无检测数据";\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测数据:%s",\r
- check_string.c_str()); // 打印无检测数据信息\r
- return check_string; // 直接返回,无需继续处理\r
- }\r
-\r
- // 获取目前的时间戳\r
- uint32_t currentTime;\r
- if (uapi_get_timestampe_ss(¤tTime) != ERRCODE_SUCC) {\r
- check_string = "获取当前时间戳失败"; // 如果获取时间戳失败,返回相应的信息\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
- "获取当前时间戳失败"); // 打印错误信息\r
- return check_string; // 直接返回,无法进行后续计算\r
- }\r
-\r
- // 检查时间戳是否有效\r
- if (timestamp_ms == 0) {\r
- check_string = std::to_string(currentheart) + " " + "时间戳无效,无法检测";\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "时间戳无效,无法检测:%s",\r
- check_string.c_str());\r
- return check_string; // 直接返回,无需继续处理\r
- }\r
-\r
- // 进行时间戳相减计算\r
- uint32_t diff = currentTime - timestamp_ms;\r
- uint32_t diff_min = diff / 60; // 计算分钟差\r
- uint32_t diff_hour = diff_min / 60; // 计算小时差\r
-\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "当前时间:%d,上次检测时间:%d",\r
- currentTime, timestamp_ms); // 打印时间信息\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
- "时间差(秒):%d,时间差(分钟):%d,时间差(小时):%d", diff, diff_min,\r
- diff_hour); // 打印时间差信息\r
-\r
- // 根据时间差生成检测字符串\r
- if (diff_min < 1) {\r
- check_string = std::to_string(currentheart) + "次/分 " + "刚刚检测";\r
- } else if (diff_hour < 1) { // 一个小时内\r
- check_string = std::to_string(currentheart) + "次/分 " +\r
- std::to_string(diff_min) + "分钟前";\r
- } else {\r
- check_string = std::to_string(currentheart) + "次/分 " + "超过一个小时前";\r
- }\r
-\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:%s",\r
- check_string.c_str()); // 打印最终检测结果\r
- return check_string;\r
+std::string HeartModel::GetCheckString() { \r
+ std::string check_string = "检测结果未知"; \r
+\r
+ // 获取检测数据 \r
+ if (currentheart == 0) { \r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { \r
+ check_string = "暂无检测数据";\r
+ } else { \r
+ check_string = "No detection data is available"; \r
+ } \r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测数据:%s", check_string.c_str());\r
+ return check_string; \r
+ } \r
+\r
+ // 获取目前的时间戳 \r
+ uint32_t currentTime; \r
+ if (uapi_get_timestampe_ss(¤tTime) != ERRCODE_SUCC) { \r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { \r
+ check_string = "获取当前时间失败"; \r
+ } else { \r
+ check_string = "Get time failed"; \r
+ } \r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "获取当前时间失败"); \r
+ return check_string; \r
+ } \r
+\r
+ // 检查时间戳是否有效 \r
+ if (timestamp_ms == 0) { \r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { \r
+ check_string = std::to_string(currentheart) + " " + "时间无效,无法检测";\r
+ } else { \r
+ check_string = std::to_string(currentheart) + " " + "Invalid time, cannot detect"; \r
+ } \r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "时间戳无效,无法检测:%s", check_string.c_str()); \r
+ return check_string; \r
+ } \r
+\r
+ // 进行时间戳相减计算 \r
+ uint32_t diff = currentTime - timestamp_ms; \r
+ uint32_t diff_min = diff / 60; \r
+ uint32_t diff_hour = diff_min / 60; \r
+\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "当前时间:%d, 上次检测时间:%d", currentTime, timestamp_ms); \r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "时间差(秒):%d, 时间差(分钟):%d, 时间差(小时):%d", diff, diff_min, diff_hour); \r
+\r
+ // 根据时间差生成检测字符串 \r
+ if (diff_min < 1) { \r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { \r
+ check_string = std::to_string(currentheart) + "次/分 " + "刚刚检测"; // \r
+ } else { \r
+ check_string = std::to_string(currentheart) + " bpm " + "Just detected"; \r
+ } \r
+ } else if (diff_hour < 1) { // Within one hour \r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { \r
+ check_string = std::to_string(currentheart) + "次/分 " + std::to_string(diff_min) + "分钟前"; \r
+ } else { \r
+ check_string = std::to_string(currentheart) + " bpm " + std::to_string(diff_min) + " minutes ago"; \r
+ } \r
+ } else { \r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { \r
+ check_string = std::to_string(currentheart) + "次/分 " + "超过一个小时前"; \r
+ } else { \r
+ check_string = std::to_string(currentheart) + " bpm " + "More than an hour ago"; \r
+ } \r
+ } \r
+\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:%s", check_string.c_str()); \r
+ return check_string; // Return the final string \r
}\r
\r
// 声明定时器变量\r
label_call_hint->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- label_call_hint->SetText("挂断/接听");
+ // label_call_hint->SetText("挂断/接听");
label_call_hint->SetTextId(STR_HANG_UP_OR_ANSWER);
label_call_hint->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
label_call_hint->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- label_call_hint->SetText("挂断/接听");
+ // label_call_hint->SetText("挂断/接听");
label_call_hint->SetTextId(STR_HANG_UP_OR_ANSWER);
label_call_hint->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
// Set additional property
if (CallerLogModel::GetInstance()->GetCallSource() == CallerLogModel::CallSourceCat1)
{
- label_call_source->SetText("手表来电");
+ // label_call_source->SetText("手表来电");
label_call_source->SetTextId(STR_WATCH_CALL);
}
else
{
- label_call_source->SetText("手机来电");
+ // label_call_source->SetText("手机来电");
label_call_source->SetTextId(STR_PHONE_CALL);
}
label1_no->SetStyle(STYLE_TEXT_FONT, 30);\r
\r
// Set additional property\r
- label1_no->SetText("常用联系人");\r
+ label1_no->SetTextId(STR_FRE_CONTACT);\r
label1_no->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
label1_no->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
label1_no->SetRollSpeed(0);\r
label2_no->SetStyle(STYLE_TEXT_FONT, 26);\r
\r
// Set additional property\r
- label2_no->SetText("未添加联系人,请前往APP进行设置");\r
+ // label2_no->SetText("未添加联系人,请前往APP进行设置");\r
label2_no->SetTextId(STR_NO_CONTACTS_ADDED);\r
label2_no->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
label2_no->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
label1_->SetViewId("label1");// Set style\r
label1_->SetStyle(STYLE_TEXT_FONT, 30);\r
\r
- label1_->SetText("常用联系人");\r
+ label1_->SetTextId(STR_FRE_CONTACT);\r
label1_->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
label1_->SetTextId(STR_FAVORITE_CONTACTS);\r
//label1_->SetTextColor(Color::GetColorFromRGBA(0xac, 0xa4, 0xa4, 0xff));\r
noteLabel->SetPosition(53, 230, 360, 35);
noteLabel->SetStyle(STYLE_TEXT_FONT, 30);
noteLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
- noteLabel->SetText("手表正在播放手机音乐,不能对本地音乐进行操作。");
+ // noteLabel->SetText("手表正在播放手机音乐,不能对本地音乐进行操作");
+ noteLabel->SetTextId(STR_PHONE_MUSCI_NOTE);
noteLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
noteLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
noteLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
note->SetPosition(53, 222, 360, 70); // 位置大小
note->SetStyle(STYLE_TEXT_FONT, 30); // 字体大小
note->SetStyle(STYLE_LINE_HEIGHT, 35); // 字体行高
- note->SetText("录音空间已满");
+ note->SetTextId(STR_RECORD_MAX);
note->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); // 断行模式。
note->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
note->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
datelabel->SetViewId("label2");\r
datelabel->SetStyle(STYLE_TEXT_FONT, 30);\r
\r
- datelabel->SetText("04-22 周五");\r
+ // datelabel->SetText("04-22 周五");\r
datelabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);\r
datelabel->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));\r
datelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
label->SetStyle(STYLE_TEXT_FONT, 30);\r
label->SetStyle(STYLE_LINE_HEIGHT, 35);\r
// Set additional property\r
- label->SetText("快速训练");\r
+ // label->SetText("快速训练");\r
label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
label->SetRollSpeed(0);\r
confirmBtn.SetPosition(184, 118);\r
confirmBtn.Resize(86, 50);\r
confirmBtn.SetViewId(SET_CARD_DEL_CONFIRM);\r
- confirmBtn.SetText("删除");\r
+ // confirmBtn.SetText("删除");\r
confirmBtn.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
confirmBtn.SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
confirmBtn.SetOnClickListener(presenter_);\r
cancelBtn.SetPosition(186, 231);\r
cancelBtn.Resize(82, 50);\r
cancelBtn.SetViewId(SET_CARD_DEL_CANCEL);\r
- cancelBtn.SetText("取消");\r
+ // cancelBtn.SetText("取消");\r
cancelBtn.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
cancelBtn.SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
cancelBtn.SetOnClickListener(presenter_);\r
addBtn.SetPosition(184, 118);\r
addBtn.Resize(86, 50);\r
addBtn.SetViewId(SET_CARD_ADD);\r
- addBtn.SetText("添加");\r
+ // addBtn.SetText("添加");\r
addBtn.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
addBtn.SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
addBtn.SetOnClickListener(presenter_);\r
labelTitle_.SetPosition(83, 50, 300, 60);
labelTitle_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
// labelTitle_.SetTextId(STR_BROWSING_SPECIAL_EFFECTS);
- labelTitle_.SetText("时间设置"); // TODO:多国语言
+ labelTitle_.SetTextId(STR_TIME_SET); // TODO:多国语言
labelTitle_.SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS); // 居中
labelTitle_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
container_->Add(&labelTitle_);
labelFormat24H_.SetPosition(90, 153, 200, 60);
labelFormat24H_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
// labelFormat24H_.SetTextId(STR_OVERLAY_FLOW);
- labelFormat24H_.SetText("24小时制"); // TODO:多国语言
+ labelFormat24H_.SetTextId(STR_FORMAT); // TODO:多国语言
container_->Add(&labelFormat24H_);
btnFormat24H_.SetPosition(298, 145, 100, 50);
labelNote_.SetPosition(53, 240, 360, 100);
labelNote_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 20);
- labelNote_.SetText("注: 开启为24小时制显示,关闭则按照12小时制显示");
+ labelNote_.SetTextId(STR_FORMAT_NOTE);
container_->Add(&labelNote_);
const TimeFormat style = SetTimeFormatModel::GetInstance().GetTimeStyle();
/* -------------------------------- title初始化
* -------------------------------- */
//TODO:多国语言
- InitLabel(naptitle, 83, 90, 300, 35, "resttitle", "小睡数据",
+ InitLabelExt(naptitle, 83, 90, 300, 35, "resttitle",STR_NAP,
DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
InitLabelExt(napsleeptitle, 21, 203, 200, 35, "sleeptitle", STR_SLEEPTIME,
DEFAULT_VECTOR_FONT_FILENAME, 30);
#include "sleep/include/SleepView.h"
#include "ConfigModel.h"
-#include "sleep/include/SleepModel.h"
#include "common/image_cache_manager.h"
+#include "languagecode/LanguageInit.h"
+#include "sleep/include/SleepModel.h"
#include "uicomponents/UIComponents.h"
-namespace OHOS
-{
- static constexpr char *roomimagePath = "/user/res/Sleep/room.bin";
- static constexpr char *upimagePath = "/user/res/Sleep/up.bin";
- static constexpr const char *prossimagePath = "/user/res/step/step_b.bin";
-
- static SleepView *g_pSleepView{nullptr};
- SleepView::SleepView()
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepView::SleepView");
- SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
- SetViewIndex(0); // 视图索引
-
- g_pSleepView = this;
- }
-
- SleepView::~SleepView()
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SleepView::~SleepView");
- ClearAll();
-
- g_pSleepView = nullptr;
- }
-
- void SleepView::SleepDataRefresh()
- {
- // 获取睡眠数据内存
- SleepModel &sleepModel = SleepModel::GetInstance();
- sleepModel.ReInitData();
-
- int sleep_hour = sleepModel.get_sleep_hour();
- int sleep_min = sleepModel.get_sleep_min();
- int total_sleep = sleepModel.get_sleep_total();
- int sleep_goal = sleepModel.get_sleep_goal();
-
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepDataRefresh %d %d sleep_goal:%d total_sleep:%d", sleep_hour, sleep_min, sleep_goal * 60, total_sleep);
-
- // 补零操作
- std::string hour_str = (sleep_hour < 10) ? "0" + std::to_string(sleep_hour) : std::to_string(sleep_hour);
- std::string min_str = (sleep_min < 10) ? "0" + std::to_string(sleep_min) : std::to_string(sleep_min);
-
- // 有数据才刷新
- if (sleep_hour != 0 || sleep_min != 0)
- {
- // 更新时间显示
- if (time_hour != nullptr)
- {
- time_hour->SetText(hour_str.c_str());
- }
- if (time_minute != nullptr)
- {
- time_minute->SetText(min_str.c_str());
- }
-
- // 计算进度百分比,确保目标睡眠时间不为零
- float progress_value = 0.0f;
- if (sleep_goal > 0)
- {
- progress_value = static_cast<float>(total_sleep) / (sleep_goal * 60); // 计算进度
- }
-
- // 日志输出进度百分比
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%", progress_value * 100); // 显示为百分比
-
- // 更新进度条
- circleProgress_->SetValue(progress_value * 100); // 更新进度条值,范围为 0 到 100
- circleProgress_->SetCapType(CAP_ROUND);
- }
- // 更新时间
- if (sleep_update_time != nullptr)
- {
- std::string update_time = sleepModel.GetUpdateSleepTime();
- if (!update_time.empty()) // 检查返回值是否有效
- {
- //TODO:多国语言
- std::string update_time_str = update_time + " 更新"; // 拼接字符串
- sleep_update_time->SetText(update_time_str.c_str());
- // UpdateLabel(sleep_update_time, sleep_goal, STR_SLEEPMGOAL); // TODO: 多国语言支持
- }
- }
- // 刷新视图
- RootView::GetInstance()->Invalidate();
- }
-
- void SleepView::ClearAll()
- {
- RemoveAll();
- if (circleProgress_ != nullptr)
- {
- delete circleProgress_;
- circleProgress_ = nullptr;
- }
- if (title != nullptr)
- {
- delete title;
- title = nullptr;
- }
- if (hour != nullptr)
- {
- delete hour;
- hour = nullptr;
- }
- if (minute != nullptr)
- {
- delete minute;
- minute = nullptr;
- }
- if (time_hour != nullptr)
- {
- delete time_hour;
- time_hour = nullptr;
- }
- if (time_minute != nullptr)
- {
- delete time_minute;
- time_minute = nullptr;
- }
- if (sleep_update_time != nullptr)
- {
- delete sleep_update_time;
- sleep_update_time = nullptr;
- }
- if (roomimage != nullptr)
- {
- delete roomimage;
- roomimage = nullptr;
- }
- if (upiconimage != nullptr)
- {
- delete upiconimage;
- upiconimage = nullptr;
- }
- if (progress_image != nullptr)
- {
- delete progress_image;
- progress_image = nullptr;
- }
- }
-
- SleepView *SleepView::GetInstance()
- {
- return g_pSleepView;
+namespace OHOS {
+static constexpr char *roomimagePath = "/user/res/Sleep/room.bin";
+static constexpr char *upimagePath = "/user/res/Sleep/up.bin";
+static constexpr const char *prossimagePath = "/user/res/step/step_b.bin";
+
+static SleepView *g_pSleepView{nullptr};
+SleepView::SleepView() {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepView::SleepView");
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
+ SetViewIndex(0); // 视图索引
+
+ g_pSleepView = this;
+}
+
+SleepView::~SleepView() {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SleepView::~SleepView");
+ ClearAll();
+
+ g_pSleepView = nullptr;
+}
+
+void SleepView::SleepDataRefresh() {
+ // 获取睡眠数据内存
+ SleepModel &sleepModel = SleepModel::GetInstance();
+ sleepModel.ReInitData();
+
+ int sleep_hour = sleepModel.get_sleep_hour();
+ int sleep_min = sleepModel.get_sleep_min();
+ int total_sleep = sleepModel.get_sleep_total();
+ int sleep_goal = sleepModel.get_sleep_goal();
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+ "SleepDataRefresh %d %d sleep_goal:%d total_sleep:%d",
+ sleep_hour, sleep_min, sleep_goal * 60, total_sleep);
+
+ // 补零操作
+ std::string hour_str = (sleep_hour < 10) ? "0" + std::to_string(sleep_hour)
+ : std::to_string(sleep_hour);
+ std::string min_str = (sleep_min < 10) ? "0" + std::to_string(sleep_min)
+ : std::to_string(sleep_min);
+
+ // 有数据才刷新
+ if (sleep_hour != 0 || sleep_min != 0) {
+ // 更新时间显示
+ if (time_hour != nullptr) {
+ time_hour->SetText(hour_str.c_str());
}
-
- /*初始化界面*/
- bool SleepView::InitPage(void)
- {
- /*初始化title*/
- InitLabelExt(title, 83, 50, 300, 35, "labletitle", STR_SLEEP_YESTERDAY, DEFAULT_VECTOR_FONT_FILENAME, 30);
- /*初始化单位*/
- InitLabelExt(hour, 157, 246, 75, 75, "lablehour", STR_HOUR, DEFAULT_VECTOR_FONT_FILENAME, 26);
- hour->SetTextColor(Color::Gray());
- InitLabelExt(minute, 295, 246, 100, 75, "lableminute", STR_MIN, DEFAULT_VECTOR_FONT_FILENAME, 26);
- minute->SetTextColor(Color::Gray());
- /*初始化image*/
- InitImageView(roomimage, 192, 127, 82, 82, "image", roomimagePath);
- InitImageView(upiconimage, 213, 420, 40, 40, "image", upimagePath);
- InitImageView(progress_image, 28, 80, 100, 100, "image", prossimagePath);
- /*初始化目标时间*/
- //DEFAULT_VECTOR_FONT_FILENAME_EN
- InitLabelExt(sleep_update_time, 83, 330, 300, 35, "lablegoal", STR_SLEEPMGOAL, DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
- sleep_update_time->SetTextColor(Color::Gray());
- /*初始化睡眠时间*/
- time_hour = new UILabel();
- time_hour->SetPosition(84, 237);
- time_hour->Resize(40, 75);
- time_hour->SetViewId("time_hour");
- time_hour->SetText("--");
- time_hour->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
- time_hour->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- time_hour->SetFont(GILROY_BOLD_FONT, 65);
-
- time_minute = new UILabel();
- time_minute->SetPosition(240, 237);
- time_minute->Resize(40, 75);
- time_minute->SetViewId("time_minute");
- time_minute->SetText("--");
- time_minute->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
- time_minute->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- time_minute->SetFont(GILROY_BOLD_FONT, 65);
- /* --------------------------------- 初始化进度条 --------------------------------- */
- circleProgress_ = new UICircleProgress();
- if (circleProgress_ == nullptr)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "circleProgress new fail");
- return false;
- }
- circleProgress_->SetPosition(0, 0);
- circleProgress_->Resize(466, 466);
- circleProgress_->SetViewId("circleProgress1");
- circleProgress_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
- circleProgress_->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
- circleProgress_->SetBackgroundStyle(STYLE_BACKGROUND_OPA, 0x00);
- circleProgress_->SetBackgroundStyle(STYLE_BORDER_OPA, 0x00);
- circleProgress_->SetBackgroundStyle(STYLE_LINE_OPA, 0x00);
- circleProgress_->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xff2195F6);
- circleProgress_->SetForegroundStyle(STYLE_BORDER_COLOR, 0xff000000);
- circleProgress_->SetForegroundStyle(STYLE_LINE_COLOR, 0xff5320e2);
- circleProgress_->SetForegroundStyle(STYLE_LINE_WIDTH, 20);
- circleProgress_->SetCenterPosition(233, 229);
- circleProgress_->SetRadius(205);
- circleProgress_->SetStartAngle(320);
- circleProgress_->SetEndAngle(40);
- circleProgress_->SetCapType(CAP_ROUND);
- /* -------------------------------- 将组件添加到根视图 ------------------------------- */
- Add(progress_image);
- Add(circleProgress_);
- Add(title);
- Add(hour);
- Add(minute);
- Add(time_hour);
- Add(time_minute);
- Add(sleep_update_time);
- Add(upiconimage);
- Add(roomimage);
-
- viewInitStatus = true;
- return true;
+ if (time_minute != nullptr) {
+ time_minute->SetText(min_str.c_str());
}
- bool SleepView::InitView(void *caller)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepView InitView %p", caller);
- if (InitPage() == false)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepView::InitPage fail");
- return false;
- }
- SleepDataRefresh(); // 刷新数据
- SetDraggable(true);
- SetTouchable(true);
- return true;
+ // 计算进度百分比,确保目标睡眠时间不为零
+ float progress_value = 0.0f;
+ if (sleep_goal > 0) {
+ progress_value =
+ static_cast<float>(total_sleep) / (sleep_goal * 60); // 计算进度
}
- bool SleepView::GetInitViewState(void)
+ // 日志输出进度百分比
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%",
+ progress_value * 100); // 显示为百分比
+
+ // 更新进度条
+ circleProgress_->SetValue(progress_value *
+ 100); // 更新进度条值,范围为 0 到 100
+ circleProgress_->SetCapType(CAP_ROUND);
+ }
+ // 更新时间
+ if (sleep_update_time != nullptr) {
+ std::string update_time = sleepModel.GetUpdateSleepTime();
+ if (!update_time.empty()) // 检查返回值是否有效
{
- return viewInitStatus;
+ std::string update_time_str;
+ // TODO:多国语言
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) {
+ update_time_str = update_time + " 更新";
+ }
+ else {
+ update_time_str = update_time + " update";
+ }
+ sleep_update_time->SetText(update_time_str.c_str());
+ // UpdateLabel(sleep_update_time, sleep_goal, STR_SLEEPMGOAL); // TODO:
+ // 多国语言支持
}
-}
\ No newline at end of file
+ }
+ // 刷新视图
+ RootView::GetInstance()->Invalidate();
+}
+
+void SleepView::ClearAll() {
+ RemoveAll();
+ if (circleProgress_ != nullptr) {
+ delete circleProgress_;
+ circleProgress_ = nullptr;
+ }
+ if (title != nullptr) {
+ delete title;
+ title = nullptr;
+ }
+ if (hour != nullptr) {
+ delete hour;
+ hour = nullptr;
+ }
+ if (minute != nullptr) {
+ delete minute;
+ minute = nullptr;
+ }
+ if (time_hour != nullptr) {
+ delete time_hour;
+ time_hour = nullptr;
+ }
+ if (time_minute != nullptr) {
+ delete time_minute;
+ time_minute = nullptr;
+ }
+ if (sleep_update_time != nullptr) {
+ delete sleep_update_time;
+ sleep_update_time = nullptr;
+ }
+ if (roomimage != nullptr) {
+ delete roomimage;
+ roomimage = nullptr;
+ }
+ if (upiconimage != nullptr) {
+ delete upiconimage;
+ upiconimage = nullptr;
+ }
+ if (progress_image != nullptr) {
+ delete progress_image;
+ progress_image = nullptr;
+ }
+}
+
+SleepView *SleepView::GetInstance() { return g_pSleepView; }
+
+/*初始化界面*/
+bool SleepView::InitPage(void) {
+ /*初始化title*/
+ InitLabelExt(title, 83, 50, 300, 35, "labletitle", STR_SLEEP_YESTERDAY,
+ DEFAULT_VECTOR_FONT_FILENAME, 30);
+ /*初始化单位*/
+ InitLabelExt(hour, 157, 246, 75, 75, "lablehour", STR_HOUR,
+ DEFAULT_VECTOR_FONT_FILENAME, 26);
+ hour->SetTextColor(Color::Gray());
+ InitLabelExt(minute, 295, 246, 100, 75, "lableminute", STR_MIN,
+ DEFAULT_VECTOR_FONT_FILENAME, 26);
+ minute->SetTextColor(Color::Gray());
+ /*初始化image*/
+ InitImageView(roomimage, 192, 127, 82, 82, "image", roomimagePath);
+ InitImageView(upiconimage, 213, 420, 40, 40, "image", upimagePath);
+ InitImageView(progress_image, 28, 80, 100, 100, "image", prossimagePath);
+ /*初始化目标时间*/
+ // DEFAULT_VECTOR_FONT_FILENAME_EN
+ InitLabelExt(sleep_update_time, 83, 330, 300, 35, "lablegoal", STR_SLEEPMGOAL,
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
+ sleep_update_time->SetTextColor(Color::Gray());
+ /*初始化睡眠时间*/
+ time_hour = new UILabel();
+ time_hour->SetPosition(84, 237);
+ time_hour->Resize(40, 75);
+ time_hour->SetViewId("time_hour");
+ time_hour->SetText("--");
+ time_hour->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+ time_hour->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ time_hour->SetFont(GILROY_BOLD_FONT, 65);
+
+ time_minute = new UILabel();
+ time_minute->SetPosition(240, 237);
+ time_minute->Resize(40, 75);
+ time_minute->SetViewId("time_minute");
+ time_minute->SetText("--");
+ time_minute->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+ time_minute->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ time_minute->SetFont(GILROY_BOLD_FONT, 65);
+ /* --------------------------------- 初始化进度条
+ * --------------------------------- */
+ circleProgress_ = new UICircleProgress();
+ if (circleProgress_ == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "circleProgress new fail");
+ return false;
+ }
+ circleProgress_->SetPosition(0, 0);
+ circleProgress_->Resize(466, 466);
+ circleProgress_->SetViewId("circleProgress1");
+ circleProgress_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+ circleProgress_->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
+ circleProgress_->SetBackgroundStyle(STYLE_BACKGROUND_OPA, 0x00);
+ circleProgress_->SetBackgroundStyle(STYLE_BORDER_OPA, 0x00);
+ circleProgress_->SetBackgroundStyle(STYLE_LINE_OPA, 0x00);
+ circleProgress_->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xff2195F6);
+ circleProgress_->SetForegroundStyle(STYLE_BORDER_COLOR, 0xff000000);
+ circleProgress_->SetForegroundStyle(STYLE_LINE_COLOR, 0xff5320e2);
+ circleProgress_->SetForegroundStyle(STYLE_LINE_WIDTH, 20);
+ circleProgress_->SetCenterPosition(233, 229);
+ circleProgress_->SetRadius(205);
+ circleProgress_->SetStartAngle(320);
+ circleProgress_->SetEndAngle(40);
+ circleProgress_->SetCapType(CAP_ROUND);
+ /* -------------------------------- 将组件添加到根视图
+ * ------------------------------- */
+ Add(progress_image);
+ Add(circleProgress_);
+ Add(title);
+ Add(hour);
+ Add(minute);
+ Add(time_hour);
+ Add(time_minute);
+ Add(sleep_update_time);
+ Add(upiconimage);
+ Add(roomimage);
+
+ viewInitStatus = true;
+ return true;
+}
+
+bool SleepView::InitView(void *caller) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepView InitView %p", caller);
+ if (InitPage() == false) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepView::InitPage fail");
+ return false;
+ }
+ SleepDataRefresh(); // 刷新数据
+ SetDraggable(true);
+ SetTouchable(true);
+ return true;
+}
+
+bool SleepView::GetInitViewState(void) { return viewInitStatus; }
+} // namespace OHOS
\ No newline at end of file
label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height);\r
label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize);\r
label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh);\r
- if (labelconfig.textId == STR_TIME)\r
- label->SetText("时间格式设置");\r
- else\r
- label->SetTextId(labelconfig.textId);\r
+ label->SetTextId(labelconfig.textId);\r
label->SetLineBreakMode(labelconfig.lineBreakMode);\r
label->SetRollSpeed(70);\r
label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
LabelSetup labelSetups[] = {\r
{153, STR_ABOUT_WATCH},\r
// {273, STR_SYSTEM_UPDATE},\r
- {273, STR_TIME},\r
+ {273, STR_TIME_FORMAT_SET},\r
{393, STR_WATCH_QR_CODE},\r
{513, STR_SYSTEM_LANGUAGE},\r
{633, STR_RESTART},\r
/*拍照提醒界面*/
UIScrollView *creamView{nullptr};
UILabelExt *labeltitle_ = nullptr;
- UILabel *labelnote_ = nullptr;
+ UILabelExt *labelnote_ = nullptr;
UILabelButtonExt *buttongo = nullptr;
UIImageAnimatorView *creamAnimator{nullptr};
DEFAULT_VECTOR_FONT_FILENAME, 30);
// 设置标签的位置和大小
- labelnote_ = new UILabel();
+ labelnote_ = new UILabelExt();
labelnote_->SetPosition(53, 250);
labelnote_->Resize(360, 200);
// 设置标签的视图 ID
labelnote_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
labelnote_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
// SetLabelId(labelnote_, STR_TACK);
- labelnote_->SetText("请先打开app,进入“设备”-“遥控拍照”");//TODO:多国语言
+ labelnote_->SetTextId(STR_CAMERA);//TODO:多国语言
/*初始化按键*/
InitButtonExt(buttongo, 0, 366, 466, 100, BUTTONGO, STR_KONW, 30);
label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height);
label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize);
label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh);
- TOOD:
- if(labelconfig.textId == STR_GRID_DISPLAY) {
- if(ConfigModel::GetInstance()->GetLanguage() == 0)
- label->SetText("拨号盘");//TODO::多国语言
- else
- label->SetText("Dial plate");//TODO::多国语言
- }else{
- label->SetTextId(labelconfig.textId);
- }
+ label->SetTextId(STR_DIAL_PLATE);//TODO::多国语言
label->SetLineBreakMode(labelconfig.lineBreakMode);
label->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER);
label->SetRollSpeed(70);
// 保存心率表
if (!SaveHeartTable()) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SaveHeartRateData is error!");
- uapi_dev_runtime_set_train_storage_status(0); // 恢复状态
- return false;
+ // uapi_dev_runtime_set_train_storage_status(0); // 恢复状态
+ // return false;
}
// 保存速度表
if (!SavePaceTable()) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SaveSpeedData is error!");
- uapi_dev_runtime_set_train_storage_status(0); // 恢复状态
- return false;
+ // uapi_dev_runtime_set_train_storage_status(0); // 恢复状态
+ // return false;
}
}
// 检查自动获取的配置 app发起
if (user_autoget && Openingway) {
// 发送实时数据
- if (g_motionTimes % user_freq == 0) {
+ if (g_motionTimes % 1 == 0) {
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SendLiveData is OK\r\n");
SendLiveData(); // 发送实时数据
}
\r
#include "ConfigModel.h"\r
#include "custom_utils.h"\r
+#include "languagecode/LanguageInit.h"\r
#include "traing/include/TraingModel.h"\r
#include "uicomponents/UIComponents.h"\r
\r
+\r
extern "C" {\r
void InitTimer();\r
void DisableTimer();\r
// InitRollLabel(labeltitle, 83, 50, 300, 35, "label1", STR_GOAL_ACHIEVED,\r
// DEFAULT_VECTOR_FONT_FILENAME, 35);\r
// TODO:多国语言\r
- InitLabel(labeltitle, 83, 50, 300, 35, "label3", "本次训练目标已达成",\r
- DEFAULT_VECTOR_FONT_FILENAME_EN, 35);\r
+ InitLabelExt(labeltitle, 83, 50, 300, 35, "label3", STR_GOAL_TITLE,\r
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 35);\r
labeltitle->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
labeltitle->SetRollSpeed(70);\r
\r
void TraingCardView::SetHeartMaxLabel(int maxheart) {\r
if (maxheart == 0 || labelnote == nullptr)\r
return;\r
- std::string heartStr = "当前心率高于" + std::to_string(maxheart) + "次/分钟";\r
+ std::string heartStr;\r
+ if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) {\r
+ heartStr = "当前心率高于" + std::to_string(maxheart) + "次/分钟";\r
+ } else {\r
+ heartStr =\r
+ "Current heart rate is above " + std::to_string(maxheart) + " bpm";\r
+ }\r
labelnote->SetText(heartStr.c_str());\r
}\r
} // namespace OHOS\r
// 更新充电状态标签
if (UILabel_Chargeing) {
if (power == 100) {
- UILabel_Chargeing->SetText("充电完成"); // TODO: 增加多国语言
+ UILabel_Chargeing->SetTextId(STR_CHARG_DOWN); // TODO: 增加多国语言
} else {
- UILabel_Chargeing->SetText("正在充电");
+ UILabel_Chargeing->SetTextId(STR_CHAEGING);
// UILabel_Chargeing->SetTextId(STR_CHARGE);
}
UILabel_Chargeing->Invalidate();
alarm_UILabel->SetPosition(110, 252); // widget's left position and top position
alarm_UILabel->Resize(245, 70); // widget's width and height
- alarm_UILabel->SetText("当前电量低于10%请及时充电");
+ // alarm_UILabel->SetText("当前电量低于10%请及时充电");
alarm_UILabel->SetTextId(STR_LOW_POWER_NOTIF_1);
alarm_UILabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
const char *ImgSrc = "/user/res/466x100button.bin";
alarm_labelbutton->SetImageSrc(ImgSrc, ImgSrc);
// Set additional property
- alarm_labelbutton->SetText("确认");
+ // alarm_labelbutton->SetText("确认");
alarm_labelbutton->SetTextId(STR_KONW);
alarm_labelbutton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
alarm_labelbutton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
// 初始化Lable
// InitRollLabel(labeltitle, 83, 50, 300, 35, "label1", STR_GOAL_ACHIEVED, DEFAULT_VECTOR_FONT_FILENAME, 35);
// TODO:多国语言
- InitLabel(labeltitle, 83, 50, 300, 35, "label3",
- "今日活动目标已达成", DEFAULT_VECTOR_FONT_FILENAME_EN,
+ InitLabelExt(labeltitle, 83, 50, 300, 35, "label3",
+ STR_GOAL_DOWN, DEFAULT_VECTOR_FONT_FILENAME_EN,
35);
labeltitle->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
labeltitle->SetRollSpeed(70);
/*获取最新sleep*/
SLEEPSTATE sleepsate = SleepModel::GetInstance().get_sleep_state();
// TODO:适配多国语言
- // UIResourceTextId textId = STR_MORNNING;
- std::string sleep_note;
+ UIResourceTextId textId = STR_MORNNING;
+ // std::string sleep_note;
switch (sleepsate)
{
case SLEEPSTATE::SLEEPNOTIFY:
titleStr = SleepModel::GetInstance().get_notifiy();
- // textId = STR_DISTURB; // 即将开启勿扰
- sleep_note = "手表将在20分钟后开启睡眠模式,关闭请到控制中心";
+ textId = STR_SLEEP_NOTIFY; // 即将开启勿扰
+ // sleep_note = "手表将在20分钟后开启睡眠模式,关闭请到控制中心";
break;
case SLEEPSTATE::SLEPP:
titleStr = SleepModel::GetInstance().get_sleep_notifiy();
- // textId = STR_DISTURBNOTE;
- sleep_note = "已开启睡眠模式,此模式下手表将关闭所有提醒功能";
+ textId = STR_SLEEP_NOTE;
+ // sleep_note = "已开启睡眠模式,此模式下手表将关闭所有提醒功能";
break;
case SLEEPSTATE::WAKE:
titleStr = SleepModel::GetInstance().get_wake_notifiy();
}
sleepnotifylabel->SetPosition(53, 220, 360, 144);
sleepnotifylabel->SetViewId("sleepnotifylabel");
- // sleepnotifylabel->SetTextId(textId);
- sleepnotifylabel->SetText(sleep_note.c_str());
+ sleepnotifylabel->SetTextId(textId);
+ // sleepnotifylabel->SetText(sleep_note.c_str());
sleepnotifylabel->SetTextColor(Color::Gray());
sleepnotifylabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
sleepnotifylabel->SetLineBreakMode(UILabel::LINE_BREAK_CLIP); // 换行裁剪
Title->SetStyle(STYLE_TEXT_FONT, 30);
// Set additional property
- Title->SetText("操作失败");//TODO:多国语言
+ Title->SetTextId(STR_OPERAT_FAIL);//TODO:多国语言
//Title->SetTextId (STR_DIAL_FAIL_TITLE);
Title->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
// Set additional property
- label_->SetText("离线表盘个数已经超过最大或内存不足 请到app删除部分表盘再进行下载");//TODO:多国语言
+ label_->SetTextId(STR_DIAL_NOTE);//TODO:多国语言
label_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
label_->SetTextColor(Color::GetColorFromRGBA(0xAA, 0xAA, 0xAA, 0xff));
STR_DIAL_FAIL_LABEL = 598,\r
STR_MP3_FAIL_TITL = 599,\r
STR_MP3_FAIL_LABEL = 600,\r
- STR_MAX_ID = 601,\r
+ STR_CALLSOMEONE = 601,\r
+ STR_BLUENOTE = 602,\r
+ STR_VOICE_FAIL = 603,\r
+ STR_WAKE_VOIVE = 604,\r
+ STR_TIME_SET = 605,\r
+ STR_FORMAT = 606,\r
+ STR_FORMAT_NOTE = 607,\r
+ STR_SLEEP_UPDATE = 608,\r
+ STR_CAMERA = 609,\r
+ STR_GOAL_TITLE = 610,\r
+ STR_HEART_HIAGER = 611,\r
+ STR_CHARG_DOWN = 612,\r
+ STR_CHAEGING = 613,\r
+ STR_GOAL_DOWN = 614,\r
+ STR_OPERAT_FAIL = 615,\r
+ STR_DIAL_NOTE = 616,\r
+ STR_HEART_UNKOWN = 617,\r
+ STR_HEART_AVAILABLE = 618,\r
+ STR_HEART_JUST = 619,\r
+ STR_HEART_MIN_AGO = 620,\r
+ STR_HEART_HOUR_AGO = 621,\r
+ STR_RECORDS_20 = 622,\r
+ STR_RECORDS_NOTE = 623,\r
+ STR_RECORDS_DELETE = 624,\r
+ STR_NEW_INCOM = 625,\r
+ STR_NET_ERROR = 626,\r
+ STR_LANGUAGE_SELECTION_NOTE = 627,\r
+ STR_AUTO_OFF_BLUETOOTH_NOTE2 = 628,\r
+ STR_PHONE_MUSCI_NOTE = 629,\r
+ STR_TIME_FORMAT_SET = 630,\r
+ STR_DIAL_PLATE = 631,\r
+ STR_SLEEP_NOTIFY = 632,\r
+ STR_SLEEP_NOTE = 633,\r
+ STR_MAX_CARD = 634,\r
+ STR_NUM_LENGTH = 635,\r
+ STR_CALL_LIST = 636,\r
+ STR_DELETE_ALL = 637,\r
+ STR_FRE_CONTACT = 638,\r
+ STR_RECORD_MAX = 639,\r
+ STR_MAX_ID = 640,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
STR_RANGE_SETTING$Range setting(Km)\r
STR_STEP_NUMBER$steps\r
STR_STEP_SETTING$Step setting(steps)\r
-STR_HEART_RATE_SETTING$Heart rate (times/min)\r
+STR_HEART_RATE_SETTING$Heart rate (bmp)\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_TIMES_PER_MIN$bmp\r
+STR_MEAN_HEART_RATE_MIN$Mean heart rate(bmp)\r
STR_LOWER_STRENGTH$Lower strength\r
STR_MEDIUM_STRENGTH$Medium strength\r
STR_HIGH_STRENGTH$High strength\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_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_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_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$Call Bluetooth\r
STR_A2DP$Media Bluetooth\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_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_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_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_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_CALLING$Calling\r
STR_NOT_PAIRED$Not Paired\r
STR_PAIRED$Paired\r
STR_UNPAIR$Unpair\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_SOLUTION$The solution:\r
-STR_IPHONE$1.IPhone\r
-STR_ANDROID$2.Android phone\r
+STR_IPHONE$1IPhone\r
+STR_ANDROID$2Android phone\r
STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE$Please go to the phone "Settings" → "Bluetooth" list to find XX Click and try again\r
STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID$Please go to the phone "Settings" → "Bluetooth" list to find XX 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_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_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_NOTE1$The device has been bound to XX \r
STR_NEWDEVICE_BIND_REMIND_NOTE2$Continuing to connect will unbind XX and restore the watch to factory Settings (will clear the watch data)\r
STR_TONGYI_QIANWEN$Tongyi Qianwen\r
STR_IFLYTEK_SPARK$Xunfei Spark\r
STR_DISTURBNOTE_OFF$Do not disturb mode is enabled or disabled\r
-STR_4G_NOTE$After enabling this function, the watch can make calls with a 4G SIM card, and power consumption will increase.\r
+STR_4G_NOTE$After enabling this function, the watch can make calls with a 4G SIM card, and power consumption will increase\r
STR_MUSIC_PLAYER_SOURCE_NOTE$Please enter Music - Music Source from the watch app interface, set it to Mobile Mode and try again\r
STR_MUSIC_LIST_IS_EMPTY$The current music list is empty, please download and add via APP\r
STR_BT_HEADSET_RESCAN$Rescan\r
STR_LOW_POWER_NOTIF_2$When the battery is too low XXs will automatically shut down\r
STR_CONNECTION_SUCC$Connection successful\r
STR_RETRY$Retry\r
-STR_BTEARPHONE_CONN_FAIL_TIP$Please confirm that the device is within the communication range and in the pairing-ready state.\r
+STR_BTEARPHONE_CONN_FAIL_TIP$Please confirm that the device is within the communication range and in the pairing-ready state\r
STR_FLASHLIGHT_SETTING$Flashlight settings\r
STR_LIGHT_COLOR$Light color\r
STR_FLICKER_FREQUENCY$Blinking frequency\r
STR_ROLLER$Roller\r
STR_DIAL_BROWSING_SPECIAL_EFFECTS$Dial browsing special effects\r
STR_SET_TARGET$Set target>\r
-STR_PWUWC$Please wear the watch correctly and remain still.\r
+STR_PWUWC$Please wear the watch correctly and remain still\r
STR_CALENDAR$calendar\r
STR_ALARM_DELETE_NOTE$Whether to delete the alarm\r
STR_ALARM_TIME_CHANGE$Change time\r
STR_ALARM_WEEK_CHANGE$Change week\r
STR_ALARM_REPEAT$Repeat\r
STR_ALARM_ADD_LIMIT_NOTE$The current number of alarm clocks has reached the upper limit\r
-STR_MOTION_RECOGNITION_NOTE$After turning it on, the watch will send a reminder when it detects that you are in an exercise state. Supported exercises include: walking, running, cycling, rowing machine, and elliptical trainer.\r
+STR_MOTION_RECOGNITION_NOTE$After turning it on, the watch will send a reminder when it detects that you are in an exercise state Supported exercises include: walking, running, cycling, rowing machine, and elliptical trainer\r
STR_DURATION_SETTINGS$Duration settings\r
STR_2_MIN$2min\r
STR_3_MIN$3min\r
STR_FOUR_MIN$4min >\r
STR_FIVE_MIN$5min >\r
STR_MUSIC_TRANSMIT$Music is being transferred\r
-STR_MUSIC_TRANSMIT_NOTE$Music is being transferred. Please do not perform other operations or turn off the watch.\r
-STR_MUSIC_TRANSMIT_SUCCESS_NOTE$Music transfer is successful and is being verified. Please wait.\r
+STR_MUSIC_TRANSMIT_NOTE$Music is being transferred Please do not perform other operations or turn off the watch\r
+STR_MUSIC_TRANSMIT_SUCCESS_NOTE$Music transfer is successful and is being verified Please wait\r
STR_OTA_DOWNLOAD$OTA downloading\r
STR_OTA_DOWNLOADING$Software is being updated\r
STR_OTA_DOWNLOADFIAL$OTA download failed\r
-STR_OTA_DOWNLOADFIAL_TRY$Downloading upgrade package failed. Please exit or redownload.\r
+STR_OTA_DOWNLOADFIAL_TRY$Downloading upgrade package failed Please exit or redownload\r
STR_OTA_DOWNLOADSUCC$OTA download succeeded\r
-STR_OTA_DOWNLOADSUCC_UPDATA$Downloading upgrade package succeeded. You can start upgrading the watch.\r
+STR_OTA_DOWNLOADSUCC_UPDATA$Downloading upgrade package succeeded You can start upgrading the watch\r
STR_DIAL_DOWNLOADING_TITLE$Dial installation in progress\r
-STR_DIAL_DOWNLOADING_LABEL$Dial is being installed. Please do not perform other operations or turn off the watch.\r
+STR_DIAL_DOWNLOADING_LABEL$Dial is being installed Please do not perform other operations or turn off the watch\r
STR_MP3_SUCC_TITLE$Transmission succeeded\r
STR_DIAL_SUCC_TITLE$Installation succeeded\r
-STR_DIAL_SUCC_LABEL$Dial installation succeeded. The dial is being updated. Please wait.\r
+STR_DIAL_SUCC_LABEL$Dial installation succeeded The dial is being updated Please wait\r
STR_DIAL_FAIL_TITLE$Installation failed\r
-STR_DIAL_FAIL_LABEL$Dial installation failed. Please exit or reinstall.\r
+STR_DIAL_FAIL_LABEL$Dial installation failed Please exit or reinstall\r
STR_MP3_FAIL_TITL$Transmission failed\r
-STR_MP3_FAIL_LABEL$Music transmission failed. Please exit or reinstall.
\ No newline at end of file
+STR_MP3_FAIL_LABEL$Music transmission failed Please exit or reinstall\r
+STR_CALLSOMEONE$Try saying 'Call someone' to me\r
+STR_BLUENOTE$Please turn on the call Bluetooth switch before using the voice assistant function\r
+STR_VOICE_FAIL$Voice assistant activation failed\r
+STR_WAKE_VOIVE$Click to wake up the voice assistant\r
+STR_TIME_SET$Time setting\r
+STR_FORMAT$24-hour format\r
+STR_FORMAT_NOTE$Note: When enabled, it shows in 24-hour format; when disabled, it shows in 12-hour format\r
+STR_NAP$Nap data\r
+STR_SLEEP_UPDATE$XX update\r
+STR_CAMERA$Please open the app first, and enter 'Device' - 'Remote Camera'\r
+STR_GOAL_TITLE$The current training goal has been achieved\r
+STR_HEART_HIAGER$The current heart rate is higher than XX beats per minute\r
+STR_CHARG_DOWN$Charging completed\r
+STR_CHAEGING$Charging in progress\r
+STR_GOAL_DOWN$Today's activity goal has been achieved\r
+STR_OPERAT_FAIL$Operation failed\r
+STR_DIAL_NOTE$The number of offline watch faces has exceeded the maximum or the memory is insufficient Please delete some watch faces in the app and then download\r
+STR_HEART_UNKOWN$Detection result unknown\r
+STR_HEART_AVAILABLE$No detection data available\r
+STR_HEART_JUST$XX beats per minute Just detected\r
+STR_HEART_MIN_AGO$XX beats per minute XX minutes ago\r
+STR_HEART_HOUR_AGO$XX beats per minute More than an hour ago\r
+STR_RECORDS_20$Note: Only the latest 20 call records will be retained Long press on a call record to delete it\r
+STR_RECORDS_NOTE$Whether to permanently delete this record\r
+STR_RECORDS_DELETE$Delete record\r
+STR_NEW_INCOM$New incoming call\r
+STR_NET_ERROR$Network anomaly\r
+STR_LANGUAGE_SELECTION_NOTE$The selected language takes effect after the restart\r
+STR_AUTO_OFF_BLUETOOTH_NOTE2$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_PHONE_MUSCI_NOTE$The watch is playing mobile music and cannot operate local music\r
+STR_TIME_FORMAT_SET$Time formatting\r
+STR_DIAL_PLATE$Dial plate\r
+STR_SLEEP_NOTIFY$The watch will turn on the sleep mode in 20 minutes Please go to the control center to turn it off\r
+STR_SLEEP_NOTE$Sleep mode is enabled, in which the watch will turn off all reminder functions\r
+STR_MAX_CARD$The number of cards has reached its limit\r
+STR_NUM_LENGTH$The number length exceeds the range\r
+STR_CALLING$On the phone\r
+STR_CALL_LIST$Call log\r
+STR_DELETE_ALL$Clear all\r
+STR_FRE_CONTACT$Frequent contact\r
+STR_RECORD_MAX$The recording space is full
\ No newline at end of file
STR_DIAL_FAIL_TITLE$安装失败\r
STR_DIAL_FAIL_LABEL$表盘安装失败,请退出或重新安装\r
STR_MP3_FAIL_TITL$传输失败\r
-STR_MP3_FAIL_LABEL$音乐传输失败,请退出或重新安装
\ No newline at end of file
+STR_MP3_FAIL_LABEL$音乐传输失败,请退出或重新安装\r
+STR_CALLSOMEONE$试试对我说“打电话给某人”\r
+STR_BLUENOTE$请打开通话蓝牙开关后使用语音助手功能\r
+STR_VOICE_FAIL$启用语音助手失败\r
+STR_WAKE_VOIVE$点击唤醒语音助手\r
+STR_TIME_SET$时间设置\r
+STR_FORMAT$24小时制\r
+STR_FORMAT_NOTE$注: 开启为24小时制显示,关闭则按照12小时制显示\r
+STR_NAP$小睡数据\r
+STR_SLEEP_UPDATE$XX更新\r
+STR_CAMERA$请先打开app,进入“设备”-“遥控拍照”\r
+STR_GOAL_TITLE$本次训练目标已达成\r
+STR_HEART_HIAGER$当前心率高于XX次/分钟\r
+STR_CHARG_DOWN$充电完成\r
+STR_CHAEGING$正在充电\r
+STR_GOAL_DOWN$今日活动目标已达成\r
+STR_OPERAT_FAIL$操作失败\r
+STR_DIAL_NOTE$离线表盘个数已经超过最大或内存不足 请到app删除部分表盘再进行下载\r
+STR_HEART_UNKOWN$检测结果未知\r
+STR_HEART_AVAILABLE$暂无检测数据\r
+STR_HEART_JUST$XX次/分 刚刚检测\r
+STR_HEART_MIN_AGO$XX次/分 XX分钟前\r
+STR_HEART_HOUR_AGO$XX次/分 超过一个小时前\r
+STR_RECORDS_20$注:只保留最近20条通话记录\n在通话记录上长按可删除\r
+STR_RECORDS_NOTE$是否永久删除该条记录\r
+STR_RECORDS_DELETE$删除记录\r
+STR_NEW_INCOM$新来电\r
+STR_NET_ERROR$网络异常\r
+STR_LANGUAGE_SELECTION_NOTE$选择该语言需要重启后生效\r
+STR_AUTO_OFF_BLUETOOTH_NOTE2$注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加耗电,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等)\r
+STR_PHONE_MUSCI_NOTE$手表正在播放手机音乐,不能对本地音乐进行操作\r
+STR_TIME_FORMAT_SET$时间格式设置\r
+STR_DIAL_PLATE$拨号盘\r
+STR_SLEEP_NOTIFY$手表将在20分钟后开启睡眠模式,关闭请到控制中心\r
+STR_SLEEP_NOTE$已开启睡眠模式,此模式下手表将关闭所有提醒功能\r
+STR_MAX_CARD$卡片数量已经到达上限\r
+STR_NUM_LENGTH$超过数字长度范围\r
+STR_CALLING$正在通话\r
+STR_CALL_LIST$通话记录\r
+STR_DELETE_ALL$全部清除\r
+STR_FRE_CONTACT$常用联系人\r
+STR_RECORD_MAX$录音空间已满
\ No newline at end of file
<lanstr id="STR_RANGE_SETTING" value="Range setting(Km)"/>
<lanstr id="STR_STEP_NUMBER" value="steps"/>
<lanstr id="STR_STEP_SETTING" value="Step setting(steps)"/>
- <lanstr id="STR_HEART_RATE_SETTING" value="Heart rate (times/min)"/>
+ <lanstr id="STR_HEART_RATE_SETTING" value="Heart rate (bmp)"/>
<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_TIMES_PER_MIN" value="bmp"/>
+ <lanstr id="STR_MEAN_HEART_RATE_MIN" value="Mean heart rate(bmp)"/>
<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_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_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_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_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="Call Bluetooth"/>
<lanstr id="STR_A2DP" value="Media Bluetooth"/>
<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_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_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_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_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_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_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_SOLUTION" value="The solution:"/>
- <lanstr id="STR_IPHONE" value="1.IPhone"/>
- <lanstr id="STR_ANDROID" value="2.Android phone"/>
+ <lanstr id="STR_IPHONE" value="1IPhone"/>
+ <lanstr id="STR_ANDROID" value="2Android phone"/>
<lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_IPHONE" value="Please go to the phone "Settings" → "Bluetooth" list to find XX Click and try again"/>
<lanstr id="STR_ENABLE_BLUETOOTH_CALL_NOTE_ANDROID" value="Please go to the phone "Settings" → "Bluetooth" list to find XX 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_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_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_NOTE1" value="The device has been bound to XX"/>
<lanstr id="STR_NEWDEVICE_BIND_REMIND_NOTE2" value="Continuing to connect will unbind XX and restore the watch to factory Settings (will clear the watch data)"/>
<lanstr id="STR_TONGYI_QIANWEN" value="Tongyi Qianwen"/>
<lanstr id="STR_IFLYTEK_SPARK" value="Xunfei Spark"/>
<lanstr id="STR_DISTURBNOTE_OFF" value="Do not disturb mode is enabled or disabled"/>
- <lanstr id="STR_4G_NOTE" value="After enabling this function, the watch can make calls with a 4G SIM card, and power consumption will increase."/>
+ <lanstr id="STR_4G_NOTE" value="After enabling this function, the watch can make calls with a 4G SIM card, and power consumption will increase"/>
<lanstr id="STR_MUSIC_PLAYER_SOURCE_NOTE" value="Please enter Music - Music Source from the watch app interface, set it to Mobile Mode and try again"/>
<lanstr id="STR_MUSIC_LIST_IS_EMPTY" value="The current music list is empty, please download and add via APP"/>
<lanstr id="STR_BT_HEADSET_RESCAN" value="Rescan"/>
<lanstr id="STR_LOW_POWER_NOTIF_2" value="When the battery is too low XXs will automatically shut down"/>
<lanstr id="STR_CONNECTION_SUCC" value="Connection successful"/>
<lanstr id="STR_RETRY" value="Retry"/>
- <lanstr id="STR_BTEARPHONE_CONN_FAIL_TIP" value="Please confirm that the device is within the communication range and in the pairing-ready state."/>
+ <lanstr id="STR_BTEARPHONE_CONN_FAIL_TIP" value="Please confirm that the device is within the communication range and in the pairing-ready state"/>
<lanstr id="STR_FLASHLIGHT_SETTING" value="Flashlight settings"/>
<lanstr id="STR_LIGHT_COLOR" value="Light color"/>
<lanstr id="STR_FLICKER_FREQUENCY" value="Blinking frequency"/>
<lanstr id="STR_ROLLER" value="Roller"/>
<lanstr id="STR_DIAL_BROWSING_SPECIAL_EFFECTS" value="Dial browsing special effects"/>
<lanstr id="STR_SET_TARGET" value="Set target>"/>
- <lanstr id="STR_PWUWC" value="Please wear the watch correctly and remain still."/>
+ <lanstr id="STR_PWUWC" value="Please wear the watch correctly and remain still"/>
<lanstr id="STR_CALENDAR" value="calendar"/>
<lanstr id="STR_ALARM_DELETE_NOTE" value="Whether to delete the alarm"/>
<lanstr id="STR_ALARM_TIME_CHANGE" value="Change time"/>
<lanstr id="STR_ALARM_WEEK_CHANGE" value="Change week"/>
<lanstr id="STR_ALARM_REPEAT" value="Repeat"/>
<lanstr id="STR_ALARM_ADD_LIMIT_NOTE" value="The current number of alarm clocks has reached the upper limit"/>
- <lanstr id="STR_MOTION_RECOGNITION_NOTE" value="After turning it on, the watch will send a reminder when it detects that you are in an exercise state. Supported exercises include: walking, running, cycling, rowing machine, and elliptical trainer."/>
+ <lanstr id="STR_MOTION_RECOGNITION_NOTE" value="After turning it on, the watch will send a reminder when it detects that you are in an exercise state Supported exercises include: walking, running, cycling, rowing machine, and elliptical trainer"/>
<lanstr id="STR_DURATION_SETTINGS" value="Duration settings"/>
<lanstr id="STR_2_MIN" value="2min"/>
<lanstr id="STR_3_MIN" value="3min"/>
<lanstr id="STR_FOUR_MIN" value="4min >"/>
<lanstr id="STR_FIVE_MIN" value="5min >"/>
<lanstr id="STR_MUSIC_TRANSMIT" value="Music is being transferred"/>
- <lanstr id="STR_MUSIC_TRANSMIT_NOTE" value="Music is being transferred. Please do not perform other operations or turn off the watch."/>
- <lanstr id="STR_MUSIC_TRANSMIT_SUCCESS_NOTE" value="Music transfer is successful and is being verified. Please wait."/>
+ <lanstr id="STR_MUSIC_TRANSMIT_NOTE" value="Music is being transferred Please do not perform other operations or turn off the watch"/>
+ <lanstr id="STR_MUSIC_TRANSMIT_SUCCESS_NOTE" value="Music transfer is successful and is being verified Please wait"/>
<lanstr id="STR_OTA_DOWNLOAD" value="OTA downloading"/>
<lanstr id="STR_OTA_DOWNLOADING" value="Software is being updated"/>
<lanstr id="STR_OTA_DOWNLOADFIAL" value="OTA download failed"/>
- <lanstr id="STR_OTA_DOWNLOADFIAL_TRY" value="Downloading upgrade package failed. Please exit or redownload."/>
+ <lanstr id="STR_OTA_DOWNLOADFIAL_TRY" value="Downloading upgrade package failed Please exit or redownload"/>
<lanstr id="STR_OTA_DOWNLOADSUCC" value="OTA download succeeded"/>
- <lanstr id="STR_OTA_DOWNLOADSUCC_UPDATA" value="Downloading upgrade package succeeded. You can start upgrading the watch."/>
+ <lanstr id="STR_OTA_DOWNLOADSUCC_UPDATA" value="Downloading upgrade package succeeded You can start upgrading the watch"/>
<lanstr id="STR_DIAL_DOWNLOADING_TITLE" value="Dial installation in progress"/>
- <lanstr id="STR_DIAL_DOWNLOADING_LABEL" value="Dial is being installed. Please do not perform other operations or turn off the watch."/>
+ <lanstr id="STR_DIAL_DOWNLOADING_LABEL" value="Dial is being installed Please do not perform other operations or turn off the watch"/>
<lanstr id="STR_MP3_SUCC_TITLE" value="Transmission succeeded"/>
<lanstr id="STR_DIAL_SUCC_TITLE" value="Installation succeeded"/>
- <lanstr id="STR_DIAL_SUCC_LABEL" value="Dial installation succeeded. The dial is being updated. Please wait."/>
+ <lanstr id="STR_DIAL_SUCC_LABEL" value="Dial installation succeeded The dial is being updated Please wait"/>
<lanstr id="STR_DIAL_FAIL_TITLE" value="Installation failed"/>
- <lanstr id="STR_DIAL_FAIL_LABEL" value="Dial installation failed. Please exit or reinstall."/>
+ <lanstr id="STR_DIAL_FAIL_LABEL" value="Dial installation failed Please exit or reinstall"/>
<lanstr id="STR_MP3_FAIL_TITL" value="Transmission failed"/>
- <lanstr id="STR_MP3_FAIL_LABEL" value="Music transmission failed. Please exit or reinstall."/>
+ <lanstr id="STR_MP3_FAIL_LABEL" value="Music transmission failed Please exit or reinstall"/>
+ <lanstr id="STR_CALLSOMEONE" value="Try saying 'Call someone' to me"/>
+ <lanstr id="STR_BLUENOTE" value="Please turn on the call Bluetooth switch before using the voice assistant function"/>
+ <lanstr id="STR_VOICE_FAIL" value="Voice assistant activation failed"/>
+ <lanstr id="STR_WAKE_VOIVE" value="Click to wake up the voice assistant"/>
+ <lanstr id="STR_TIME_SET" value="Time setting"/>
+ <lanstr id="STR_FORMAT" value="24-hour format"/>
+ <lanstr id="STR_FORMAT_NOTE" value="Note: When enabled, it shows in 24-hour format; when disabled, it shows in 12-hour format"/>
+ <lanstr id="STR_NAP" value="Nap data"/>
+ <lanstr id="STR_SLEEP_UPDATE" value="XX update"/>
+ <lanstr id="STR_CAMERA" value="Please open the app first, and enter 'Device' - 'Remote Camera'"/>
+ <lanstr id="STR_GOAL_TITLE" value="The current training goal has been achieved"/>
+ <lanstr id="STR_HEART_HIAGER" value="The current heart rate is higher than XX beats per minute"/>
+ <lanstr id="STR_CHARG_DOWN" value="Charging completed"/>
+ <lanstr id="STR_CHAEGING" value="Charging in progress"/>
+ <lanstr id="STR_GOAL_DOWN" value="Today's activity goal has been achieved"/>
+ <lanstr id="STR_OPERAT_FAIL" value="Operation failed"/>
+ <lanstr id="STR_DIAL_NOTE" value="The number of offline watch faces has exceeded the maximum or the memory is insufficient Please delete some watch faces in the app and then download"/>
+ <lanstr id="STR_HEART_UNKOWN" value="Detection result unknown"/>
+ <lanstr id="STR_HEART_AVAILABLE" value="No detection data available"/>
+ <lanstr id="STR_HEART_JUST" value="XX beats per minute Just detected"/>
+ <lanstr id="STR_HEART_MIN_AGO" value="XX beats per minute XX minutes ago"/>
+ <lanstr id="STR_HEART_HOUR_AGO" value="XX beats per minute More than an hour ago"/>
+ <lanstr id="STR_RECORDS_20" value="Note: Only the latest 20 call records will be retained Long press on a call record to delete it"/>
+ <lanstr id="STR_RECORDS_NOTE" value="Whether to permanently delete this record"/>
+ <lanstr id="STR_RECORDS_DELETE" value="Delete record"/>
+ <lanstr id="STR_NEW_INCOM" value="New incoming call"/>
+ <lanstr id="STR_NET_ERROR" value="Network anomaly"/>
+ <lanstr id="STR_LANGUAGE_SELECTION_NOTE" value="The selected language takes effect after the restart"/>
+ <lanstr id="STR_AUTO_OFF_BLUETOOTH_NOTE2" 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_PHONE_MUSCI_NOTE" value="The watch is playing mobile music and cannot operate local music"/>
+ <lanstr id="STR_TIME_FORMAT_SET" value="Time formatting"/>
+ <lanstr id="STR_DIAL_PLATE" value="Dial plate"/>
+ <lanstr id="STR_SLEEP_NOTIFY" value="The watch will turn on the sleep mode in 20 minutes Please go to the control center to turn it off"/>
+ <lanstr id="STR_SLEEP_NOTE" value="Sleep mode is enabled, in which the watch will turn off all reminder functions"/>
+ <lanstr id="STR_MAX_CARD" value="The number of cards has reached its limit"/>
+ <lanstr id="STR_NUM_LENGTH" value="The number length exceeds the range"/>
+ <lanstr id="STR_CALLING" value="On the phone"/>
+ <lanstr id="STR_CALL_LIST" value="Call log"/>
+ <lanstr id="STR_DELETE_ALL" value="Clear all"/>
+ <lanstr id="STR_FRE_CONTACT" value="Frequent contact"/>
+ <lanstr id="STR_RECORD_MAX" value="The recording space is full"/>
</language>
<lanstr id="STR_DIAL_FAIL_LABEL" value="表盘安装失败,请退出或重新安装"/>
<lanstr id="STR_MP3_FAIL_TITL" value="传输失败"/>
<lanstr id="STR_MP3_FAIL_LABEL" value="音乐传输失败,请退出或重新安装"/>
+ <lanstr id="STR_CALLSOMEONE" value="试试对我说“打电话给某人”"/>
+ <lanstr id="STR_BLUENOTE" value="请打开通话蓝牙开关后使用语音助手功能"/>
+ <lanstr id="STR_VOICE_FAIL" value="启用语音助手失败"/>
+ <lanstr id="STR_WAKE_VOIVE" value="点击唤醒语音助手"/>
+ <lanstr id="STR_TIME_SET" value="时间设置"/>
+ <lanstr id="STR_FORMAT" value="24小时制"/>
+ <lanstr id="STR_FORMAT_NOTE" value="注: 开启为24小时制显示,关闭则按照12小时制显示"/>
+ <lanstr id="STR_NAP" value="小睡数据"/>
+ <lanstr id="STR_SLEEP_UPDATE" value="XX更新"/>
+ <lanstr id="STR_CAMERA" value="请先打开app,进入“设备”-“遥控拍照”"/>
+ <lanstr id="STR_GOAL_TITLE" value="本次训练目标已达成"/>
+ <lanstr id="STR_HEART_HIAGER" value="当前心率高于XX次/分钟"/>
+ <lanstr id="STR_CHARG_DOWN" value="充电完成"/>
+ <lanstr id="STR_CHAEGING" value="正在充电"/>
+ <lanstr id="STR_GOAL_DOWN" value="今日活动目标已达成"/>
+ <lanstr id="STR_OPERAT_FAIL" value="操作失败"/>
+ <lanstr id="STR_DIAL_NOTE" value="离线表盘个数已经超过最大或内存不足 请到app删除部分表盘再进行下载"/>
+ <lanstr id="STR_HEART_UNKOWN" value="检测结果未知"/>
+ <lanstr id="STR_HEART_AVAILABLE" value="暂无检测数据"/>
+ <lanstr id="STR_HEART_JUST" value="XX次/分 刚刚检测"/>
+ <lanstr id="STR_HEART_MIN_AGO" value="XX次/分 XX分钟前"/>
+ <lanstr id="STR_HEART_HOUR_AGO" value="XX次/分 超过一个小时前"/>
+ <lanstr id="STR_RECORDS_20" value="注:只保留最近20条通话记录\n在通话记录上长按可删除"/>
+ <lanstr id="STR_RECORDS_NOTE" value="是否永久删除该条记录"/>
+ <lanstr id="STR_RECORDS_DELETE" value="删除记录"/>
+ <lanstr id="STR_NEW_INCOM" value="新来电"/>
+ <lanstr id="STR_NET_ERROR" value="网络异常"/>
+ <lanstr id="STR_LANGUAGE_SELECTION_NOTE" value="选择该语言需要重启后生效"/>
+ <lanstr id="STR_AUTO_OFF_BLUETOOTH_NOTE2" value="注:开启后10分钟没连接成功会自动关闭,因为传统蓝牙长时间打开会增加耗电,建议在有需要的时候使用(该功能主要用于电话拨打/通知、音乐控制/传输等)"/>
+ <lanstr id="STR_PHONE_MUSCI_NOTE" value="手表正在播放手机音乐,不能对本地音乐进行操作"/>
+ <lanstr id="STR_TIME_FORMAT_SET" value="时间格式设置"/>
+ <lanstr id="STR_DIAL_PLATE" value="拨号盘"/>
+ <lanstr id="STR_SLEEP_NOTIFY" value="手表将在20分钟后开启睡眠模式,关闭请到控制中心"/>
+ <lanstr id="STR_SLEEP_NOTE" value="已开启睡眠模式,此模式下手表将关闭所有提醒功能"/>
+ <lanstr id="STR_MAX_CARD" value="卡片数量已经到达上限"/>
+ <lanstr id="STR_NUM_LENGTH" value="超过数字长度范围"/>
+ <lanstr id="STR_CALLING" value="正在通话"/>
+ <lanstr id="STR_CALL_LIST" value="通话记录"/>
+ <lanstr id="STR_DELETE_ALL" value="全部清除"/>
+ <lanstr id="STR_FRE_CONTACT" value="常用联系人"/>
+ <lanstr id="STR_RECORD_MAX" value="录音空间已满"/>
</language>
STR_DIAL_FAIL_LABEL = 598,\r
STR_MP3_FAIL_TITL = 599,\r
STR_MP3_FAIL_LABEL = 600,\r
- STR_MAX_ID = 601,\r
+ STR_CALLSOMEONE = 601,\r
+ STR_BLUENOTE = 602,\r
+ STR_VOICE_FAIL = 603,\r
+ STR_WAKE_VOIVE = 604,\r
+ STR_TIME_SET = 605,\r
+ STR_FORMAT = 606,\r
+ STR_FORMAT_NOTE = 607,\r
+ STR_SLEEP_UPDATE = 608,\r
+ STR_CAMERA = 609,\r
+ STR_GOAL_TITLE = 610,\r
+ STR_HEART_HIAGER = 611,\r
+ STR_CHARG_DOWN = 612,\r
+ STR_CHAEGING = 613,\r
+ STR_GOAL_DOWN = 614,\r
+ STR_OPERAT_FAIL = 615,\r
+ STR_DIAL_NOTE = 616,\r
+ STR_HEART_UNKOWN = 617,\r
+ STR_HEART_AVAILABLE = 618,\r
+ STR_HEART_JUST = 619,\r
+ STR_HEART_MIN_AGO = 620,\r
+ STR_HEART_HOUR_AGO = 621,\r
+ STR_RECORDS_20 = 622,\r
+ STR_RECORDS_NOTE = 623,\r
+ STR_RECORDS_DELETE = 624,\r
+ STR_NEW_INCOM = 625,\r
+ STR_NET_ERROR = 626,\r
+ STR_LANGUAGE_SELECTION_NOTE = 627,\r
+ STR_AUTO_OFF_BLUETOOTH_NOTE2 = 628,\r
+ STR_PHONE_MUSCI_NOTE = 629,\r
+ STR_TIME_FORMAT_SET = 630,\r
+ STR_DIAL_PLATE = 631,\r
+ STR_SLEEP_NOTIFY = 632,\r
+ STR_SLEEP_NOTE = 633,\r
+ STR_MAX_CARD = 634,\r
+ STR_NUM_LENGTH = 635,\r
+ STR_CALL_LIST = 636,\r
+ STR_DELETE_ALL = 637,\r
+ STR_FRE_CONTACT = 638,\r
+ STR_RECORD_MAX = 639,\r
+ STR_MAX_ID = 640,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {