STR_STRESS_WARNING = 728,\r
STR_STRESS_NORMAL = 729,\r
STR_STRESS_EXCELLENT = 730,\r
- STR_MAX_ID = 731,\r
+ STR_HRV_LAST_NIGHT_AVG = 731,\r
+ STR_HRV_BASELINE = 732,\r
+ STR_HRV_7DAY_AVG = 733,\r
+ STR_HRV_BALANCED = 734,\r
+ STR_HRV_UNBALANCED = 735,\r
+ STR_HRV_TOO_LOW = 736,\r
+ STR_BP_MEAS_SUCCESS = 737,\r
+ STR_BP_NORMAL_RANGE = 738,\r
+ STR_BP_ELEVATED_ATTN = 739,\r
+ STR_BP_CALIB_EXPIRED = 740,\r
+ STR_BP_INPUT_METER_VALUE = 741,\r
+ STR_BP_CONFIRM_INPUT = 742,\r
+ STR_BP_SBP_GT_DBP = 743,\r
+ STR_BP_MODIFY = 744,\r
+ STR_BP_MEAS_GUIDE = 745,\r
+ STR_BP_MEASURE_NOW = 746,\r
+ STR_BP_PREMEASURE_NOTE = 747,\r
+ STR_BP_TREND_REF_ONLY = 748,\r
+ STR_BP_COMPLETE_CALIB_FIRST = 749,\r
+ STR_BP_NOT_CALIBRATED = 750,\r
+ STR_BP_CALIB_EXPIRING_D = 751,\r
+ STR_BP_INSTR_SEAT = 752,\r
+ STR_BP_INSTR_WEAR = 753,\r
+ STR_BP_INSTR_BELT_LOOSE = 754,\r
+ STR_BP_INSTR_CALIB1 = 755,\r
+ STR_BP_INSTR_CALIB2 = 756,\r
+ STR_BP_START = 757,\r
+ STR_BP_ABORT_MEAS = 758,\r
+ STR_BP_ABORT_CALIB = 759,\r
+ STR_BP_ABORT_MEAS_NOTE = 760,\r
+ STR_BP_ABORT_CALIB_NOTE = 761,\r
+ STR_BP_CALIB_ROUND1 = 762,\r
+ STR_BP_CALIB_ROUND2 = 763,\r
+ STR_BP_KEEP_STILL = 764,\r
+ STR_BP_VALID_UNTIL = 765,\r
+ STR_BP_VALID_UNTIL_NA = 766,\r
+ STR_BP_CALIB_UPLOADED = 767,\r
+ STR_BP_ROUND1_DONE = 768,\r
+ STR_BP_ROUND2_PREP = 769,\r
+ STR_BP_FOLLOW_HINT = 770,\r
+ STR_BP_NEED_CALIB_FIRST = 771,\r
+ STR_BP_PREP_SPHYGM = 772,\r
+ STR_BP_TIP = 773,\r
+ STR_BP_ARM_MOVED = 774,\r
+ STR_BP_WEAK_SIGNAL = 775,\r
+ STR_BP_DIFF_TOO_LARGE = 776,\r
+ STR_BP_DIFF_LARGE_NOTE = 777,\r
+ STR_BP_RESULT_REF = 778,\r
+ STR_BP_NOT_MEDICAL = 779,\r
+ STR_BP_AGREE_CONTINUE = 780,\r
+ STR_BP_LATEST_RECORD = 781,\r
+ STR_BP_VIEW_HISTORY = 782,\r
+ STR_BP_RECENT_RECORD = 783,\r
+ STR_BP_APP_FULL_RECORD = 784,\r
+ STR_BP_WATCH_RECENT_ONLY = 785,\r
+ STR_BP_NO_MEAS_RECORD = 786,\r
+ STR_BP_EMPTY_HIST_HINT = 787,\r
+ STR_ECG_MEAS_TITLE = 788,\r
+ STR_ECG_ENTRY_NOTE = 789,\r
+ STR_ECG_DISCLAIMER = 790,\r
+ STR_ECG_CONSULT_DOC = 791,\r
+ STR_ECG_FINGER_ELECTRODE = 792,\r
+ STR_ECG_KEEP_FINGER_STILL = 793,\r
+ STR_ECG_FINGER_CONTACT = 794,\r
+ STR_ECG_ANALYZING = 795,\r
+ STR_ECG_CONTACT_ABNORMAL = 796,\r
+ STR_ECG_EXIT = 797,\r
+ STR_ECG_VIEW_ALL = 798,\r
+ STR_ECG_MEAS_RECORD = 799,\r
+ STR_ECG_SINUS_RHYTHM = 800,\r
+ STR_ECG_AFIB_POSSIBLE = 801,\r
+ STR_ECG_INCONCLUSIVE = 802,\r
+ STR_ECG_AFIB = 803,\r
+ STR_ECG_HR_TOO_LOW = 804,\r
+ STR_ECG_HR_TOO_HIGH = 805,\r
+ STR_ECG_IRREGULAR = 806,\r
+ STR_ECG_SIGNAL_INCONCLUSIVE = 807,\r
+ STR_ECG_BPM_FORMAT = 808,\r
+ STR_ECG_BPM_NA = 809,\r
+ STR_MAX_ID = 810,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
static std::string FormatMeasureTime();
UIViewGroup *group_{nullptr};
- UILabel *titleLabel_{nullptr};
+ UILabelExt *titleLabel_{nullptr};
UILabel *timeLabel_{nullptr};
UILabelExt *statusLabel_{nullptr};
UIImageView *hlineTop_{nullptr};
RetryButton_ == nullptr) {
return;
}
- titleLabel_->SetText("请根据提示进行操作");
- noteLabel_->SetText("请根据提示进行操作");
+ titleLabel_->SetTextId(STR_BP_FOLLOW_HINT);
+ noteLabel_->SetTextId(STR_BP_FOLLOW_HINT);
if (imageView_ != nullptr) {
imageView_->SetSrc(BLOOD_PATH_NOTE);
imageView_->SetVisible(true);
CancelButton_->Resize(170, 90);
CancelButton_->SetPosition(58, 320);
RetryButton_->SetPosition(238, 320);
- CancelButton_->SetText("取消");
- RetryButton_->SetText("重新校准");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_CANCEL); CancelButton_->SetText(_uiStrTmp.GetText()); } while(0);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RECALIBRATE); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
CancelButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
RetryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
switch (type) {
case BP_ABNORMAL_TYPE_NOT_CALIBRATED:
- titleLabel_->SetText("需先完成校准");
- noteLabel_->SetText("请准备传统血压计\n约需5分钟");
- CancelButton_->SetText("稍后");
- RetryButton_->SetText("开始校准");
+ titleLabel_->SetTextId(STR_BP_NEED_CALIB_FIRST);
+ noteLabel_->SetTextId(STR_BP_PREP_SPHYGM);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_LATER); CancelButton_->SetText(_uiStrTmp.GetText()); } while(0);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
break;
case BP_ABNORMAL_TYPE_ARM_MOVE:
- titleLabel_->SetText("提示");
- noteLabel_->SetText("检测到手臂移动\n请保持静止后重试");
+ titleLabel_->SetTextId(STR_BP_TIP);
+ noteLabel_->SetTextId(STR_BP_ARM_MOVED);
RetryButton_->SetViewId(BP_CLICK_RETRY);
- RetryButton_->SetText("重试");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RETRY); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
break;
case BP_ABNORMAL_TYPE_MEASURE_TIMEOUT:
- titleLabel_->SetText("提示");
+ titleLabel_->SetTextId(STR_BP_TIP);
if (imageView_ != nullptr) {
imageView_->SetSrc(BLOOD_PATH_MEASURE_TIMEOUT);
}
- noteLabel_->SetText("未能获取有效信号\n请调整佩戴后重试");
+ noteLabel_->SetTextId(STR_BP_WEAK_SIGNAL);
RetryButton_->SetViewId(BP_CLICK_RETRY);
- RetryButton_->SetText("重试");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RETRY); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
break;
case BP_ABNORMAL_TYPE_CALIBRATION_DIFFERENCE_TOO_LARGE:
- titleLabel_->SetText("两次偏差过大");
- noteLabel_->SetText("检测到两次偏差较大\n建议重新校准");
+ titleLabel_->SetTextId(STR_BP_DIFF_TOO_LARGE);
+ noteLabel_->SetTextId(STR_BP_DIFF_LARGE_NOTE);
break;
case BP_ABNORMAL_TYPE_DISCLAIMER:
- titleLabel_->SetText("测量结果仅供参考");
- noteLabel_->SetText("不可替代专业医疗诊断\n如有健康疑虑,请咨询医生");
+ titleLabel_->SetTextId(STR_BP_RESULT_REF);
+ noteLabel_->SetTextId(STR_BP_NOT_MEDICAL);
RetryButton_->SetVisible(false);
CancelButton_->SetViewId(BP_CLICK_DISCLAIMER_ACCEPT);
- CancelButton_->SetText("同意并继续");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_AGREE_CONTINUE); CancelButton_->SetText(_uiStrTmp.GetText()); } while(0);
CancelButton_->Resize(280, 90);
CancelButton_->SetPosition(93, 320);
CancelButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
UIViewGroup *BPAbnormalView::InitView(BPAbnormalType type) {
group_ = new UIViewGroup();
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- InitLabel(titleLabel_, 83, 50, 300, 35, "bp_abnormal_title", "请根据提示进行操作",
+ InitLabel(titleLabel_, 83, 50, 300, 35, "bp_abnormal_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
InitImageView(imageView_, 193, 120, 80, 80, "bp_abnormal_image", BLOOD_PATH_NOTE);
- InitLabel(noteLabel_, 53, 200, 360, 100, "bp_abnormal_note", "请根据提示进行操作",
+ InitLabel(noteLabel_, 53, 200, 360, 100, "bp_abnormal_note", "",
DEFAULT_VECTOR_FONT_FILENAME, 24);
- InitLabelButton(CancelButton_, 58, 320, 170, 90, BP_CLICK_EXIT, "取消", 26);
- InitLabelButton(RetryButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, "重新校准", 26);
+ InitLabelButton(CancelButton_, 58, 320, 170, 90, BP_CLICK_EXIT, "", 26);
+ InitLabelButton(RetryButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, "", 26);
RetryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
ApplyAbnormalType(type);
#include "bloodpressure/include/BPCalibFirstDoneView.h"
#include "bloodpressure/include/BPMainPresenter.h"
#include "bloodpressure/include/BPViewClickIds.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
namespace OHOS {
group_ = new UIViewGroup();
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
InitImageView(imageView_, 114, 50, 32, 32, "bp_first_done_image", BLOOD_PATH_FIRST_DONE);
- InitLabel(titleLabel_, 114 + 32 + 8, 50, 230, 35, "bp_first_done_title", "第1轮校准完成",
+ InitLabel(titleLabel_, 114 + 32 + 8, 50, 230, 35, "bp_first_done_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ titleLabel_->SetTextId(STR_BP_ROUND1_DONE);
InitProgressBar();
- InitLabel(noteLabel_, 83, 178, 300, 105, "bp_first_done_note",
- "请准备开始第2轮校准\n请再次使用传统血压计\n测量同一只手",
+ InitLabel(noteLabel_, 83, 178, 300, 105, "bp_first_done_note", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ noteLabel_->SetTextId(STR_BP_ROUND2_PREP);
noteLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xb2));
noteLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(RetryButton_, 93, 330, 280, 90, BP_CLICK_FIRST_CALIB_DONE, "确定", 30);
+ InitLabelButton(RetryButton_, 93, 330, 280, 90, BP_CLICK_FIRST_CALIB_DONE, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_OK); RetryButton_->SetText(_uiStrTmp.GetText()); } while(0);
RetryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
RetryButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance()));
group_->Add(imageView_);
#include "bloodpressure/include/BPModel.h"
#include "bloodpressure/include/BPViewClickIds.h"
#include "securec.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
namespace OHOS {
}
BPModel *model = BPModel::GetInstance();
if (model == nullptr) {
- timeLabel_->SetText("有效期至:----");
+ timeLabel_->SetTextId(STR_BP_VALID_UNTIL_NA);
return;
}
char textBuf[48] = {0};
- if (sprintf_s(textBuf, sizeof(textBuf), "有效期至:%s",
+ std::string fmt = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_VALID_UNTIL); return std::string(_uiStrTmp.GetText()); }());
+ if (sprintf_s(textBuf, sizeof(textBuf), fmt.c_str(),
model->GetCalibrationExpiryDateText().c_str()) < 0) {
- timeLabel_->SetText("有效期至:----");
+ timeLabel_->SetTextId(STR_BP_VALID_UNTIL_NA);
return;
}
timeLabel_->SetText(textBuf);
group_ = new UIViewGroup();
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
InitImageView(imageView_, 193, 141, 80, 80, "bp_second_done_image", BLOOD_PATH_SUCC);
- InitLabel(titleLabel_, 0, 50, 466, 35, "bp_second_done_title", "校准完成",
+ InitLabel(titleLabel_, 0, 50, 466, 35, "bp_second_done_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ titleLabel_->SetTextId(STR_CALIBRATION_DONE);
titleLabel_->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
- InitLabel(timeLabel_, 0, 90, 466, 28, "bp_second_done_time", "有效期至:----",
+ InitLabel(timeLabel_, 0, 90, 466, 28, "bp_second_done_time", "",
DEFAULT_VECTOR_FONT_FILENAME, 24);
- InitLabel(noteLabel_, 0, 141 + 80 + 24, 466, 105, "bp_second_done_note",
- "校准结果已上传\n30天后可重新校准", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ timeLabel_->SetTextId(STR_BP_VALID_UNTIL_NA);
+ InitLabel(noteLabel_, 0, 141 + 80 + 24, 466, 105, "bp_second_done_note", "",
+ DEFAULT_VECTOR_FONT_FILENAME, 30);
+ noteLabel_->SetTextId(STR_BP_CALIB_UPLOADED);
noteLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(confirmButton_, 93, 340, 280, 90, BP_CLICK_SECOND_CALIB_DONE, "确定", 30);
+ InitLabelButton(confirmButton_, 93, 340, 280, 90, BP_CLICK_SECOND_CALIB_DONE, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_OK); confirmButton_->SetText(_uiStrTmp.GetText()); } while(0);
confirmButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
confirmButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance()));
group_->Add(imageView_);
#include "bloodpressure/include/BPMainPresenter.h"
#include "bloodpressure/include/BPViewClickIds.h"
#include "UiConfig.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
void BPCalibStopView::UpdateForMode(bool isMeasure) {
if (titleLabel_ != nullptr) {
- titleLabel_->SetText(isMeasure ? "中止测量" : "中止校准");
+ titleLabel_->SetTextId(isMeasure ? STR_BP_ABORT_MEAS : STR_BP_ABORT_CALIB);
}
if (noteLabel_ != nullptr) {
- noteLabel_->SetText(isMeasure ? "是否中止当前血压测量\n本次测量将取消"
- : "是否中止当前血压校准\n本次校准数据将丢弃");
+ noteLabel_->SetTextId(isMeasure ? STR_BP_ABORT_MEAS_NOTE : STR_BP_ABORT_CALIB_NOTE);
}
}
}
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- InitLabel(titleLabel_, 83, 50, 300, 35, "bp_calib_stop_title", "中止校准",
+ InitLabel(titleLabel_, 83, 50, 300, 35, "bp_calib_stop_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ titleLabel_->SetTextId(STR_BP_ABORT_CALIB);
titleLabel_->SetStyle(STYLE_TEXT_COLOR, 0xffff5a36);
titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabel(noteLabel_, 53, 167, 360, 70, "bp_calib_stop_note",
- "是否中止当前血压校准\n本次校准数据将丢弃", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabel(noteLabel_, 53, 167, 360, 70, "bp_calib_stop_note", "",
+ DEFAULT_VECTOR_FONT_FILENAME, 30);
+ noteLabel_->SetTextId(STR_BP_ABORT_CALIB_NOTE);
noteLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
if (statusLabel_ == nullptr) {
return;
}
- const char *text = (round == 2) ? "第2轮校准中" : "第1轮校准中";
- statusLabel_->SetText(text);
+ statusLabel_->SetTextId(round == 2 ? STR_BP_CALIB_ROUND2 : STR_BP_CALIB_ROUND1);
}
void BPCalibratingView::UpdateTimeText(int seconds) {
InitCircleProgress();
- InitLabelDefault(statusLabel_, 0, 50, 466, 40, "bp_calib_status", "第1轮校准中", 30);
+ InitLabelDefault(statusLabel_, 0, 50, 466, 40, "bp_calib_status", "", 30);
+ statusLabel_->SetTextId(STR_BP_CALIB_ROUND1);
statusLabel_->SetTextColor(Color::GetColorFromRGBA(
(BP_STATUS_COLOR >> 16) & 0xFF, (BP_STATUS_COLOR >> 8) & 0xFF, BP_STATUS_COLOR & 0xFF, 0xFF));
statusLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
percentSign_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER);
percentSign_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 34);
- InitLabel(hintLabel_, 83, 278, 300, 40, "bp_calib_hint", "请保持静止",
+ InitLabel(hintLabel_, 83, 278, 300, 40, "bp_calib_hint", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ hintLabel_->SetTextId(STR_BP_KEEP_STILL);
hintLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
group_->Add(progressBgImage_);
}
char textBuf[48] = {0};
- if (sprintf_s(textBuf, sizeof(textBuf), "校准即将过期·剩%d天", daysLeft) < 0) {
+ std::string fmt = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CALIB_EXPIRING_D); return std::string(_uiStrTmp.GetText()); }());
+ if (sprintf_s(textBuf, sizeof(textBuf), fmt.c_str(), daysLeft) < 0) {
return;
}
calibWarnLabel_->SetPosition(159 + 26 + 12 + 8, 101+8, 90,35);
calibWarnLabel_->SetViewId("bp_calib_warn_label");
- calibWarnLabel_->SetText("未校准");
+ calibWarnLabel_->SetTextId(STR_BP_NOT_CALIBRATED);
calibWarnLabel_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
calibWarnLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
calibWarnLabel_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER);
void BPEntryView::InitCalibratedView() {
//初始化已校准视图
- InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "血压测量",
+ InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CHECK); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
InitCalibExpiringSoonBar();
- InitUILabel(instructionLabel_, 0, 198, 466, 90, "bp_instruction_label", "测量前30分钟\n请避免剧烈运动、咖啡和烟酒",
+ InitUILabel(instructionLabel_, 0, 198, 466, 90, "bp_instruction_label", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabelButton(instructionButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION, "测量说明", 26);
- InitLabelButton(measureButton_, 58+170+10, 320, 170, 90, BP_CLICK_MEASURE, "马上测量", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_PREMEASURE_NOTE); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+ InitLabelButton(instructionButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION, "", 26);
+ InitLabelButton(measureButton_, 58+170+10, 320, 170, 90, BP_CLICK_MEASURE, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MEAS_GUIDE); instructionButton_->SetText(_uiStrTmp.GetText()); } while(0);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MEASURE_NOW); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
group_->Add(titleLabel_);
group_->Add(instructionLabel_);
void BPEntryView::InitCalibrationExpiredView() {
//初始化校准已过期视图
- InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "校准已过期",
+ InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CALIB_EXPIRED); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
titleLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
InitImageView(imageView_, 193, 120, 80, 80, "bp_calibration_expired_image", BLOOD_PATH_CALIBRATION_EXPIRED);
- InitUILabel(instructionLabel_, 53, 230, 360, 90, "bp_instruction_label", "继续测量的数据仅供\n趋势参考",
+ InitUILabel(instructionLabel_, 53, 230, 360, 90, "bp_instruction_label", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabelButton(instructionButton_, 58, 320, 170, 90, BP_CLICK_MEASURE, "马上测量", 26);
- InitLabelButton(measureButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, "重新校准", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_TREND_REF_ONLY); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+ InitLabelButton(instructionButton_, 58, 320, 170, 90, BP_CLICK_MEASURE, "", 26);
+ InitLabelButton(measureButton_, 238, 320, 170, 90, BP_CLICK_RECALIBRATE, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MEASURE_NOW); instructionButton_->SetText(_uiStrTmp.GetText()); } while(0);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RECALIBRATE); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
auto *listener = static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance());
instructionButton_->SetOnClickListener(listener);
void BPEntryView::InitNotCalibratedView() {
//初始化未校准视图
- InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "血压测量",
+ InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_entry_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_CHECK); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
InitNoCalibratedBar();
- InitUILabel(instructionLabel_, 33, 152, 400, 162, "bp_instruction_label", "请先完成校准",
+ InitUILabel(instructionLabel_, 33, 152, 400, 162, "bp_instruction_label", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabelButton(measureButton_, 93, 320, 280, 90, BP_CLICK_MEASURE, "开始校准", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_COMPLETE_CALIB_FIRST); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
+ InitLabelButton(measureButton_, 93, 320, 280, 90, BP_CLICK_MEASURE, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
measureButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance()));
group_->Add(titleLabel_);
#include "color.h"
#include "common/image_cache_manager.h"
#include "common/screen.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
recentPage_->SetOnDragListener(
static_cast<UIView::OnDragListener *>(BPMainPresenter::GetInstance()));
- InitUILabel(recentTitleLabel_, 0, 50, 466, 35, "bp_recent_title", "最新记录",
+ InitUILabel(recentTitleLabel_, 0, 50, 466, 35, "bp_recent_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_LATEST_RECORD); recentTitleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
recentTitleLabel_->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
recentTitleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
recentVlineMid_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
}
- InitLabel(recentSbpTitle_, 0, 158 + 30 + 5, 233, 35, "bp_recent_sbp_title", "收缩压",
+ InitLabel(recentSbpTitle_, 0, 158 + 30 + 5, 233, 35, "bp_recent_sbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(recentDbpTitle_, 233, 158 + 30 + 5, 233, 35, "bp_recent_dbp_title", "舒张压",
+ InitLabel(recentDbpTitle_, 233, 158 + 30 + 5, 233, 35, "bp_recent_dbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ recentSbpTitle_->SetTextId(STR_SBP);
+ recentDbpTitle_->SetTextId(STR_DBP);
recentSbpTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
recentDbpTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
recentSbpTitle_->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));
recentDbpUnit_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
InitLabelButton(historyButton_, BP_HISTORY_BTN_X, BP_HISTORY_BTN_Y, BP_HISTORY_BTN_W, BP_HISTORY_BTN_H,
- BP_CLICK_VIEW_HISTORY, "查看历史", 30);
+ BP_CLICK_VIEW_HISTORY, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_VIEW_HISTORY); historyButton_->SetText(_uiStrTmp.GetText()); } while(0);
historyButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
historyButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);
historyButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
UILabel *sbpUnit = nullptr;
UILabel *dbpUnit = nullptr;
- InitUILabel(titleLabel, 0, 50, 466, 35, "bp_history_record_title", index == 0 ? "最新记录" : "最近记录",
+ InitUILabel(titleLabel, 0, 50, 466, 35, "bp_history_record_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(index == 0 ? STR_BP_LATEST_RECORD : STR_BP_RECENT_RECORD); titleLabel->SetText(_uiStrTmp.GetText()); } while(0);
if (index == 0) {
titleLabel->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
} else {
vlineMid->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
}
- InitLabel(sbpTitle, 0, 158 + 30 + 5, 233, 35, "bp_history_sbp_title", "收缩压",
+ InitLabel(sbpTitle, 0, 158 + 30 + 5, 233, 35, "bp_history_sbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(dbpTitle, 233, 158 + 30 + 5, 233, 35, "bp_history_dbp_title", "舒张压",
+ InitLabel(dbpTitle, 233, 158 + 30 + 5, 233, 35, "bp_history_dbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ sbpTitle->SetTextId(STR_SBP);
+ dbpTitle->SetTextId(STR_DBP);
sbpTitle->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
dbpTitle->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
sbpTitle->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));
UILabel *hintLine2 = nullptr;
UILabelButton *tipOkButton = nullptr;
- InitUILabel(titleLabel, 0, 50, 466, 35, "bp_history_tip_title", "提示",
+ InitUILabel(titleLabel, 0, 50, 466, 35, "bp_history_tip_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_TIP); titleLabel->SetText(_uiStrTmp.GetText()); } while(0);
titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitImageView(phoneIcon, 193, 120, 80, 80, "bp_history_tip_phone", BP_PHONE_IMAGE);
- InitUILabel(hintLine1, 53, 240, 360, 35, "bp_history_tip_hint1", "在APP中查看完整血压记录",
+ InitUILabel(hintLine1, 53, 240, 360, 35, "bp_history_tip_hint1", "",
DEFAULT_VECTOR_FONT_FILENAME, 28);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_APP_FULL_RECORD); hintLine1->SetText(_uiStrTmp.GetText()); } while(0);
hintLine1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitUILabel(hintLine2, 53, 280, 360, 35, "bp_history_tip_hint2", "手表仅保留最近记录",
+ InitUILabel(hintLine2, 53, 280, 360, 35, "bp_history_tip_hint2", "",
DEFAULT_VECTOR_FONT_FILENAME, 28);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_WATCH_RECENT_ONLY); hintLine2->SetText(_uiStrTmp.GetText()); } while(0);
hintLine2->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitLabelButton(tipOkButton, BP_HISTORY_BTN_X, BP_HISTORY_BTN_Y, BP_HISTORY_BTN_W, BP_HISTORY_BTN_H,
- BP_CLICK_HISTORY_TIP_OK, "知道了", 30);
+ BP_CLICK_HISTORY_TIP_OK, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_KONW); tipOkButton->SetText(_uiStrTmp.GetText()); } while(0);
tipOkButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
tipOkButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);
tipOkButton->SetStyle(STYLE_BORDER_RADIUS, 45);
emptyPage_->SetOnDragListener(
static_cast<UIView::OnDragListener *>(BPMainPresenter::GetInstance()));
- InitUILabel(emptyTitleLabel_, 0, 50, 466, 35, "bp_history_empty_title", "暂无测量记录",
+ InitUILabel(emptyTitleLabel_, 0, 50, 466, 35, "bp_history_empty_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_NO_MEAS_RECORD); emptyTitleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
emptyTitleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitImageView(emptyImage_, 174, 120, 80, 80, "bp_history_empty_image", BP_NO_RECORD_IMAGE);
- InitUILabel(emptyHintLabel_, 53, 260, 360, 70, "bp_history_empty_hint",
- "完成一次测量后\n可在这里查看记录", DEFAULT_VECTOR_FONT_FILENAME, 28);
+ InitUILabel(emptyHintLabel_, 53, 260, 360, 70, "bp_history_empty_hint", "",
+ DEFAULT_VECTOR_FONT_FILENAME, 28);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_EMPTY_HIST_HINT); emptyHintLabel_->SetText(_uiStrTmp.GetText()); } while(0);
emptyHintLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
emptyHintLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
- InitLabelButton(startMeasureButton_, 93, 330, 280, 90, BP_CLICK_MEASURE, "开始测量", 30);
+ InitLabelButton(startMeasureButton_, 93, 330, 280, 90, BP_CLICK_MEASURE, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); startMeasureButton_->SetText(_uiStrTmp.GetText()); } while(0);
startMeasureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
startMeasureButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0176ff, UIButton::PRESSED);
startMeasureButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
#include "bloodpressure/include/BPViewClickIds.h"
#include "UiConfig.h"
#include "common/screen.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
switch (type) {
case BP_INSTRUCTION_TYPE_SEAT:
- instructionLabel_->SetText("双脚着地,端坐在椅子上\n双手手背朝上,手臂平放在桌子上");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_SEAT); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
instructionLabel_->SetPosition(8, 230, 450, 70);
- measureButton_->SetText("开始测量");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
break;
case BP_INSTRUCTION_TYPE_WEAR:
- instructionLabel_->SetText("手表和手腕之间仅限一指距离\n偏紧佩戴手表");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_WEAR); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
instructionLabel_->SetPosition(38, 230, 390, 70);
- measureButton_->SetText("开始测量");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
break;
case BP_INSTRUCTION_TYPE_BELT_LOOSE:
- instructionLabel_->SetText("表带过松\n请调整松紧后重试");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_BELT_LOOSE); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
instructionLabel_->SetPosition(113, 230, 240, 70);
- measureButton_->SetText("重新测量");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RE_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
break;
case BP_INSTRUCTION_TYPE_FIRST:
- instructionLabel_->SetText("坐姿端正,手臂平放桌面\n手表与心脏同高");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_CALIB1); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
instructionLabel_->SetPosition(68, 230, 330, 70);
- measureButton_->SetText("开始校准");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
break;
case BP_INSTRUCTION_TYPE_SECOND:
- instructionLabel_->SetText("测量同一只手,保持相同姿势\n准备完成后开始校准");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_INSTR_CALIB2); instructionLabel_->SetText(_uiStrTmp.GetText()); } while(0);
instructionLabel_->SetPosition(38, 230, 390, 70);
- measureButton_->SetText("开始校准");
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
break;
default:
break;
DEFAULT_VECTOR_FONT_FILENAME, 30);
instructionLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
instructionLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(backButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION_BACK, "取消", 26);
- InitLabelButton(measureButton_, 238, 320, 170, 90, BP_CLICK_MEASURE, "开始", 26);
+ InitLabelButton(backButton_, 58, 320, 170, 90, BP_CLICK_INSTRUCTION_BACK, "", 26);
+ InitLabelButton(measureButton_, 238, 320, 170, 90, BP_CLICK_MEASURE, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_CANCEL); backButton_->SetText(_uiStrTmp.GetText()); } while(0);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_START); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
auto *clickListener = static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance());
#include "UiConfig.h"
#include "color.h"
#include "securec.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include <ctime>
//应用正常布局
void BPMeasureResultView::ApplyNormalLayout() {
if (titleLabel_ != nullptr) {
- titleLabel_->SetText("测量成功");
+ titleLabel_->SetTextId(STR_BP_MEAS_SUCCESS);
titleLabel_->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
}
if (statusLabel_ != nullptr) {
- statusLabel_->SetText("血压处于正常范围");
+ statusLabel_->SetTextId(STR_BP_NORMAL_RANGE);
statusLabel_->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
}
if (sbpValue_ != nullptr) {
//应用偏高布局
void BPMeasureResultView::ApplyHighLayout() {
if (titleLabel_ != nullptr) {
- titleLabel_->SetText("测量成功");
+ titleLabel_->SetTextId(STR_BP_MEAS_SUCCESS);
titleLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
}
if (statusLabel_ != nullptr) {
- statusLabel_->SetText("血压偏高,请关注");
+ statusLabel_->SetTextId(STR_BP_ELEVATED_ATTN);
statusLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
}
if (sbpValue_ != nullptr) {
//应用校准过期布局
void BPMeasureResultView::ApplyCalibExpiredLayout() {
if (titleLabel_ != nullptr) {
- titleLabel_->SetText("测量成功");
+ titleLabel_->SetTextId(STR_BP_MEAS_SUCCESS);
}
if (statusLabel_ != nullptr) {
- statusLabel_->SetText("校准已过期");
+ statusLabel_->SetTextId(STR_BP_CALIB_EXPIRED);
statusLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
}
group_ = new UIViewGroup();
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- InitUILabel(titleLabel_, 0, 50, 466, 35, "bp_result_title", "测量成功",
+ InitLabelExt(titleLabel_, 0, 50, 466, 35, "bp_result_title", STR_BP_MEAS_SUCCESS,
DEFAULT_VECTOR_FONT_FILENAME, 30);
titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitDividerLines();
- InitLabel(sbpTitle_, 0, 158 + 30 + 5, 233, 35, "bp_result_sbp_title", "收缩压",
+ InitLabel(sbpTitle_, 0, 158 + 30 + 5, 233, 35, "bp_result_sbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(dbpTitle_, 233, 158 + 30 + 5, 233, 35, "bp_result_dbp_title", "舒张压",
+ InitLabel(dbpTitle_, 233, 158 + 30 + 5, 233, 35, "bp_result_dbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ sbpTitle_->SetTextId(STR_SBP);
+ dbpTitle_->SetTextId(STR_DBP);
sbpTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
dbpTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
sbpTitle_->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));
sbpUnit_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
dbpUnit_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
- InitLabel(statusLabel_, 0, 322, 466, 35, "bp_result_status", "血压处于正常范围",
+ InitLabel(statusLabel_, 0, 322, 466, 35, "bp_result_status", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ statusLabel_->SetTextId(STR_BP_NORMAL_RANGE);
statusLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
confirmButton_ = new UILabelButtonExt();
if (confirmButton_ != nullptr) {
confirmButton_->SetPosition(0, 366, 466, 100);
confirmButton_->SetViewId(BP_CLICK_CONFIRM);
- confirmButton_->SetText("确定");
+ confirmButton_->SetTextId(STR_OK);
confirmButton_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
confirmButton_->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));
confirmButton_->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE);
#include "bloodpressure/include/BPMeasuringView.h"
#include "common/image_cache_manager.h"
#include "securec.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
group_->Add(animatorView_);
}
InitUILabel(noteLabel_, 0, BP_MEASURING_ANIM_Y + BP_MEASURING_ANIM_H + 20, 466, 35,
- "bp_measuring_note", "请保持静止", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ "bp_measuring_note", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_KEEP_STILL); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
group_->Add(noteLabel_);
return group_;
}
auto *listener = static_cast<UIView::OnClickListener *>(BPMainPresenter::GetInstance());
InitLabelButton(modifyButton_, BP_CONFIRM_BTN_LEFT_X, BP_CONFIRM_BTN_Y, BP_CONFIRM_BTN_W,
- BP_CONFIRM_BTN_H, BP_CLICK_STOP, "修改", 26);
+ BP_CONFIRM_BTN_H, BP_CLICK_STOP, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_MODIFY); modifyButton_->SetText(_uiStrTmp.GetText()); } while(0);
modifyButton_->SetStyle(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_GREY);
modifyButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_GREY, UIButton::PRESSED);
modifyButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
modifyButton_->SetOnClickListener(listener);
InitLabelButton(startCalibButton_, BP_CONFIRM_BTN_RIGHT_X, BP_CONFIRM_BTN_Y, BP_CONFIRM_BTN_W,
- BP_CONFIRM_BTN_H, BP_CLICK_VALUE_CONFIRM, "开始校准", 26);
+ BP_CONFIRM_BTN_H, BP_CLICK_VALUE_CONFIRM, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_CAL); startCalibButton_->SetText(_uiStrTmp.GetText()); } while(0);
startCalibButton_->SetStyle(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_BLUE);
startCalibButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_BLUE, UIButton::PRESSED);
startCalibButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
startCalibButton_->SetOnClickListener(listener);
InitLabelButton(errorOkButton_, BP_CONFIRM_ERROR_OK_X, 330, BP_CONFIRM_ERROR_OK_W,
- BP_CONFIRM_BTN_H, BP_CLICK_VALUE_ERROR_OK, "确定", 30);
+ BP_CONFIRM_BTN_H, BP_CLICK_VALUE_ERROR_OK, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_OK); errorOkButton_->SetText(_uiStrTmp.GetText()); } while(0);
errorOkButton_->SetStyle(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_ORANGE);
errorOkButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, BP_COLOR_BTN_ORANGE, UIButton::PRESSED);
errorOkButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
}
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- InitLabelExt(titleLabel_, 83, 50, 300, 35, "bp_value_confirm_title", STR_CONFIRM,
+ InitLabelExt(titleLabel_, 83, 50, 300, 35, "bp_value_confirm_title", STR_BP_CONFIRM_INPUT,
DEFAULT_VECTOR_FONT_FILENAME, 28);
- titleLabel_->SetText("确认输入值");
titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelExt(errorLabel_, 53, 88, 360, 32, "bp_value_confirm_error", STR_CONFIRM,
+ InitLabelExt(errorLabel_, 53, 88, 360, 32, "bp_value_confirm_error", STR_BP_SBP_GT_DBP,
DEFAULT_VECTOR_FONT_FILENAME, 22);
- errorLabel_->SetText("收缩压应大于舒张压");
errorLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x44, 0x44, 0xff));
errorLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
errorLabel_->SetVisible(false);
InitDividerLines();
- InitLabel(sbpTitle_, BP_CONFIRM_BTN_LEFT_X, 140, BP_CONFIRM_BTN_W, 30, "bp_confirm_sbp_title", "收缩压",
+ InitLabel(sbpTitle_, BP_CONFIRM_BTN_LEFT_X, 140, BP_CONFIRM_BTN_W, 30, "bp_confirm_sbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 22);
- InitLabel(dbpTitle_, BP_CONFIRM_BTN_RIGHT_X, 140, BP_CONFIRM_BTN_W, 30, "bp_confirm_dbp_title", "舒张压",
+ InitLabel(dbpTitle_, BP_CONFIRM_BTN_RIGHT_X, 140, BP_CONFIRM_BTN_W, 30, "bp_confirm_dbp_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 22);
+ sbpTitle_->SetTextId(STR_SBP);
+ dbpTitle_->SetTextId(STR_DBP);
sbpTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
dbpTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
group_ = new UIViewGroup();
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- InitLabel(titleLabel_, 128, 50, 210, 35, "bp_value_input_title", "输入血压计值",
+ InitLabel(titleLabel_, 128, 50, 210, 35, "bp_value_input_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ titleLabel_->SetTextId(STR_BP_INPUT_METER_VALUE);
InitBpPicker(sbpPicker_, BP_SBP_PICKER_X, BP_PICKER_Y, BP_SBP_PICKER_W, BP_PICKER_H,
"bp_sbp_picker", SBP_MIN, SBP_MAX);
InitBpPicker(dbpPicker_, BP_DBP_PICKER_X, BP_PICKER_Y, BP_DBP_PICKER_W, BP_PICKER_H,
"bp_dbp_picker", DBP_MIN, DBP_MAX);
- InitLabel(sbpLabel_, 114, BP_UNIT_LABEL_Y, 60, 23, "bp_sbp_unit", "收缩压",
+ InitLabel(sbpLabel_, 114, BP_UNIT_LABEL_Y, 60, 23, "bp_sbp_unit", "",
DEFAULT_VECTOR_FONT_FILENAME, 20);
- InitLabel(dbpLabel_, 292, BP_UNIT_LABEL_Y, 60, 23, "bp_dbp_unit", "舒张压",
+ InitLabel(dbpLabel_, 292, BP_UNIT_LABEL_Y, 60, 23, "bp_dbp_unit", "",
DEFAULT_VECTOR_FONT_FILENAME, 20);
+ sbpLabel_->SetTextId(STR_SBP);
+ dbpLabel_->SetTextId(STR_DBP);
sbpLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
dbpLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
#include "ecg/include/ECGAbnormalView.h"
#include "ecg/include/ECGMainPresenter.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
namespace OHOS {
group_ = new UIViewGroup();
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
- InitUILabel(titleLabel_, 83, 50, 300, 35, "ecg_abnormal_title", "提示",
+ InitUILabel(titleLabel_, 83, 50, 300, 35, "ecg_abnormal_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_TIP); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
InitImageView(iconView_, 193, 120, 80, 80, "ecg_abnormal_icon", ECG_PATH_ABNORMAL);
- InitUILabel(noteLabel_, 53, 210, 360, 90, "ecg_abnormal_note",
- "接触异常,请确保手指\n触摸电极后重试", DEFAULT_VECTOR_FONT_FILENAME, 26);
+ InitUILabel(noteLabel_, 53, 210, 360, 90, "ecg_abnormal_note", "",
+ DEFAULT_VECTOR_FONT_FILENAME, 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_CONTACT_ABNORMAL); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
noteLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(exitButton_, 58, 320, 170, 90, ECG_CLICK_EXIT, "退出", 26);
- InitLabelButton(retryButton_, 238, 320, 170, 90, ECG_CLICK_RETRY, "重试", 26);
+ InitLabelButton(exitButton_, 58, 320, 170, 90, ECG_CLICK_EXIT, "", 26);
+ InitLabelButton(retryButton_, 238, 320, 170, 90, ECG_CLICK_RETRY, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_EXIT); exitButton_->SetText(_uiStrTmp.GetText()); } while(0);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RETRY); retryButton_->SetText(_uiStrTmp.GetText()); } while(0);
exitButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
retryButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffff5a36);
#include "ecg/include/ECGEntryView.h"
#include "ecg/include/ECGMainPresenter.h"
#include "ecg/include/ECGModel.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
void ECGEntryView::InitEntryView() {
- InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_entry_title", "ECG测量",
+ InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_entry_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_TITLE); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitUILabel(noteLabel_, 0, 216, 466, 35, "ecg_entry_note", "保持指尖清洁湿润",
+ InitUILabel(noteLabel_, 0, 216, 466, 35, "ecg_entry_note", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_ENTRY_NOTE); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(measureButton_, 93, 320, 280, 90, ECG_CLICK_MEASURE, "开始测量", 30);
+ InitLabelButton(measureButton_, 93, 320, 280, 90, ECG_CLICK_MEASURE, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); measureButton_->SetText(_uiStrTmp.GetText()); } while(0);
measureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
measureButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
measureButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(ECGMainPresenter::GetInstance()));
#include "ecg/include/ECGHistoryView.h"
#include "ecg/include/ECGMainPresenter.h"
#include "ecg/include/ECGModel.h"
+#include "securec.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
emptyPage_->SetTouchable(true);
emptyPage_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
- InitUILabel(emptyTitleLabel_, 0, 50, 466, 35, "ecg_history_empty_title", "暂无测量记录",
+ InitUILabel(emptyTitleLabel_, 0, 50, 466, 35, "ecg_history_empty_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_NO_MEAS_RECORD); emptyTitleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
emptyTitleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitImageView(emptyImage_, 193, 120, 80, 80, "ecg_history_empty_image", ECG_NO_RECORD_IMAGE);
- InitUILabel(emptyHintLabel_, 53, 260, 360, 70, "ecg_history_empty_hint",
- "完成一次测量后\n可在这里查看记录", DEFAULT_VECTOR_FONT_FILENAME, 28);
+ InitImageView(emptyImage_, 174, 120, 80, 80, "ecg_history_empty_image", ECG_NO_RECORD_IMAGE);
+ InitUILabel(emptyHintLabel_, 53, 260, 360, 70, "ecg_history_empty_hint", "",
+ DEFAULT_VECTOR_FONT_FILENAME, 28);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_EMPTY_HIST_HINT); emptyHintLabel_->SetText(_uiStrTmp.GetText()); } while(0);
emptyHintLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
emptyHintLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
- InitLabelButton(startMeasureButton_, 93, 320, 280, 90, ECG_CLICK_MEASURE, "开始测量", 30);
+ InitLabelButton(startMeasureButton_, 93, 330, 280, 90, ECG_CLICK_MEASURE, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_START_MEAS); startMeasureButton_->SetText(_uiStrTmp.GetText()); } while(0);
startMeasureButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
startMeasureButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
startMeasureButton_->SetOnClickListener(
recentPage_->SetTouchable(true);
recentPage_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
- InitUILabel(recentTitle_, 0, 50, 466, 35, "ecg_recent_title", "最近记录",
+ InitUILabel(recentTitle_, 0, 50, 466, 35, "ecg_recent_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_RECENT_RECORD); recentTitle_->SetText(_uiStrTmp.GetText()); } while(0);
recentTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitUILabel(recentTime_, 0, 93, 466, 33, "ecg_recent_time", "--",
recentBpm_->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
InitUILabel(recentBpmUnit_, ECG_RECENT_BPM_X + ECG_RECENT_BPM_W_TWO_DIGIT + ECG_RECENT_BPM_UNIT_GAP,
- ECG_RECENT_BPM_UNIT_Y, 72, 30, "ecg_recent_bpm_unit", "次/分", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ ECG_RECENT_BPM_UNIT_Y, 72, 30, "ecg_recent_bpm_unit", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_TIMES_PER_MIN); recentBpmUnit_->SetText(_uiStrTmp.GetText()); } while(0);
recentBpmUnit_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
recentBpmUnit_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(viewAllButton_, 93, 320, 280, 90, ECG_CLICK_VIEW_ALL, "查看全部", 28);
+ InitLabelButton(viewAllButton_, 93, 320, 280, 90, ECG_CLICK_VIEW_ALL, "", 28);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_VIEW_ALL); viewAllButton_->SetText(_uiStrTmp.GetText()); } while(0);
viewAllButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
viewAllButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
viewAllButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(ECGMainPresenter::GetInstance()));
listPage_->SetTouchable(true);
listPage_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
- InitUILabel(listTitle_, 0, 50, 466, 35, "ecg_list_title", "测量记录",
+ InitUILabel(listTitle_, 0, 50, 466, 35, "ecg_list_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_RECORD); listTitle_->SetText(_uiStrTmp.GetText()); } while(0);
listTitle_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
scrollView_ = new UIScrollView();
resultLabel->SetTextColor(model->GetAfibResultColor(rec.afibResult));
UILabel *bpmLabel = nullptr;
- std::string bpmStr = rec.bpm > 0 ? (std::to_string(rec.bpm) + " 次/分") : "-- 次/分";
+ std::string bpmStr;
+ if (rec.bpm > 0) {
+ char bpmBuf[32] = {0};
+ std::string fmt = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_BPM_FORMAT); return std::string(_uiStrTmp.GetText()); }());
+ if (sprintf_s(bpmBuf, sizeof(bpmBuf), fmt.c_str(), rec.bpm) >= 0) {
+ bpmStr = bpmBuf;
+ }
+ } else {
+ bpmStr = ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_BPM_NA); return std::string(_uiStrTmp.GetText()); }());
+ }
InitUILabel(bpmLabel, ECG_HISTORY_CARD_MARGIN + 40 + 38 + 8 + 8 + 120, y + 36 + 5, 119, 35, "ecg_list_bpm",
bpmStr.c_str(), DEFAULT_VECTOR_FONT_FILENAME, 28);
bpmLabel->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
#include "ecg/include/ECGInstructionView.h"
#include "ecg/include/ECGMainPresenter.h"
#include "ecg/include/ECGViewClickIds.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
namespace OHOS {
void ECGInstructionView::InitDisclaimer() {
InitImageView(imageView_, 193, 50, 80, 80, "ecg_disclaimer", ECG_PATH_DISCLAIMER);
- InitUILabel(contentLabel_, 50, 147, 366, 70, "ecg_disclaimer_content",
- "ECG 测量结果仅供健康参考\n不可替代专业医疗诊断", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitUILabel(contentLabel_, 50, 147, 366, 70, "ecg_disclaimer_content", "",
+ DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_DISCLAIMER); contentLabel_->SetText(_uiStrTmp.GetText()); } while(0);
contentLabel_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
contentLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitUILabel(noteLabel_, 0, 248, 466, 35, "ecg_disclaimer_note", "如有心脏相关疑虑,请咨询医生",
+ InitUILabel(noteLabel_, 0, 248, 466, 35, "ecg_disclaimer_note", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_CONSULT_DOC); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(agreeButton_, 93, 320, 280, 90, ECG_CLICK_DISCLAIMER_ACCEPT, "同意并继续", 26);
+ InitLabelButton(agreeButton_, 93, 320, 280, 90, ECG_CLICK_DISCLAIMER_ACCEPT, "", 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_AGREE_CONTINUE); agreeButton_->SetText(_uiStrTmp.GetText()); } while(0);
agreeButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff0176ff);
agreeButton_->SetStyle(STYLE_BORDER_RADIUS, 100);
}
void ECGInstructionView::InitWaitContact() {
- InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_wait_contact_title", "ECG测量",
+ InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_wait_contact_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_TITLE); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitImageView(imageView_, 55, 95, 360, 300, "ecg_wait_contact", ECG_PATH_WAIT_CONTACT);
- InitUILabel(contentLabel_, 0, 401, 466, 30, "ecg_wait_contact_content", "将手指放在电极上",
+ InitUILabel(contentLabel_, 0, 401, 466, 30, "ecg_wait_contact_content", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_FINGER_ELECTRODE); contentLabel_->SetText(_uiStrTmp.GetText()); } while(0);
contentLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
auto *dragListener = static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance());
}
void ECGInstructionView::InitContactGood() {
- InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_contact_good_title", "ECG测量",
+ InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_contact_good_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_MEAS_TITLE); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitImageView(imageView_, 55, 95, 360, 300, "ecg_contact_good", ECG_PATH_CONTACT_GOOD);
- InitUILabel(contentLabel_, 0, 401, 466, 30, "ecg_contact_good_content", "保持手指不动",
+ InitUILabel(contentLabel_, 0, 401, 466, 30, "ecg_contact_good_content", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_KEEP_FINGER_STILL); contentLabel_->SetText(_uiStrTmp.GetText()); } while(0);
contentLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
auto *dragListener = static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance());
#include "ecg/include/ECGMeasureCompleteView.h"
#include "common/image_cache_manager.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
group_->Add(animatorView_);
}
InitUILabel(noteLabel_, 0, ECG_COMPLETE_ANIM_Y + ECG_COMPLETE_ANIM_H + 20, 466, 35,
- "ecg_complete_note", "正在分析数据...", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ "ecg_complete_note", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_ANALYZING); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
group_->Add(noteLabel_);
return group_;
#include "ecg/include/ECGModel.h"
#include "ecg/include/ECGEntryView.h"
#include "ecg/include/ECGViewClickIds.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
namespace OHOS {
bpmValueLabel_->SetAlign(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_CENTER);
InitUILabel(bpmUnitLabel_, ECG_BPM_X + ECG_BPM_W_TWO_DIGIT + ECG_BPM_UNIT_GAP, ECG_BPM_UNIT_Y, 72, 30,
- "ecg_result_bpm_unit", "次/分", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ "ecg_result_bpm_unit", "", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_TIMES_PER_MIN); bpmUnitLabel_->SetText(_uiStrTmp.GetText()); } while(0);
bpmUnitLabel_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
bpmUnitLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitUILabel(resultLabel_, 0, 50, 466, 35, "ecg_result_type", "窦性心律",
+ InitUILabel(resultLabel_, 0, 50, 466, 35, "ecg_result_type", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SINUS_RHYTHM); resultLabel_->SetText(_uiStrTmp.GetText()); } while(0);
resultLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitUILabel(noteLabel_, 0, 412, 466, 35, "ecg_result_note", "测量结果仅供参考",
+ InitUILabel(noteLabel_, 0, 412, 466, 35, "ecg_result_note", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_BP_RESULT_REF); noteLabel_->SetText(_uiStrTmp.GetText()); } while(0);
noteLabel_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
noteLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitLabelButton(confirmButton_, 93, 304, 280, 90, ECG_CLICK_CONFIRM, "重新测量", 30);
+ InitLabelButton(confirmButton_, 93, 304, 280, 90, ECG_CLICK_CONFIRM, "", 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_RE_MEAS); confirmButton_->SetText(_uiStrTmp.GetText()); } while(0);
confirmButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
confirmButton_->SetStyle(STYLE_BORDER_RADIUS, 45);
confirmButton_->SetOnClickListener(static_cast<UIView::OnClickListener *>(ECGMainPresenter::GetInstance()));
#include "ecg/include/ECGMeasuringView.h"
#include "ecg/include/ECGMainPresenter.h"
#include "ecg/include/ECGViewClickIds.h"
+#include "ui_resource_string.h"
#include "uicomponents/UIComponents.h"
#include "wearable_log.h"
group_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
group_->SetOnDragListener(static_cast<UIView::OnDragListener *>(ECGMainPresenter::GetInstance()));
- InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_measuring_title", "ECG",
+ InitUILabel(titleLabel_, 0, 50, 466, 35, "ecg_measuring_title", "",
DEFAULT_VECTOR_FONT_FILENAME, 30);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG); titleLabel_->SetText(_uiStrTmp.GetText()); } while(0);
titleLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
InitChart();
DEFAULT_VECTOR_FONT_FILENAME, 40);
countdownLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- InitUILabel(hintLabel_, 53, 360, 360, 35, "ecg_measuring_hint",
- "请保持手指接触电极", DEFAULT_VECTOR_FONT_FILENAME, 26);
+ InitUILabel(hintLabel_, 53, 360, 360, 35, "ecg_measuring_hint", "",
+ DEFAULT_VECTOR_FONT_FILENAME, 26);
+ do { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_FINGER_CONTACT); hintLabel_->SetText(_uiStrTmp.GetText()); } while(0);
hintLabel_->SetTextColor(Color::GetColorFromRGBA(0xff, 0x3a, 0x3a, 0xff));
hintLabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
#include "ecg/include/ECGModel.h"
+#include "components/ui_label_ext.h"
#include "custom_utils.h"
#include "kv_store.h"
#include "securec.h"
+#include "ui_resource_string.h"
#include "wearable_log.h"
#include <cstdio>
#include <ctime>
std::string ECGModel::GetAfibResultText(uint8_t afibResult) const {
switch (afibResult) {
case 0:
- return "窦性心律";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SINUS_RHYTHM); return std::string(_uiStrTmp.GetText()); }());
case 1:
- return "不确定(不规则)";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_IRREGULAR); return std::string(_uiStrTmp.GetText()); }());
case 2:
- return "可能房颤";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_AFIB_POSSIBLE); return std::string(_uiStrTmp.GetText()); }());
case 3:
- return "不确定(信号/特征)";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SIGNAL_INCONCLUSIVE); return std::string(_uiStrTmp.GetText()); }());
case 4:
- return "心率过低";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_HR_TOO_LOW); return std::string(_uiStrTmp.GetText()); }());
case 5:
- return "心率过高";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_HR_TOO_HIGH); return std::string(_uiStrTmp.GetText()); }());
default:
- return "不确定";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_INCONCLUSIVE); return std::string(_uiStrTmp.GetText()); }());
}
}
std::string ECGModel::GetResultText(ECGResultType type) const {
switch (type) {
case ECGResultType::SINUS_RHYTHM:
- return "窦性心律";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_SINUS_RHYTHM); return std::string(_uiStrTmp.GetText()); }());
case ECGResultType::ATRIAL_FIBRILLATION:
- return "可能房颤";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_AFIB_POSSIBLE); return std::string(_uiStrTmp.GetText()); }());
case ECGResultType::INCONCLUSIVE:
default:
- return "不确定";
+ return ([]() { UILabelExt _uiStrTmp; _uiStrTmp.SetTextId(STR_ECG_INCONCLUSIVE); return std::string(_uiStrTmp.GetText()); }());
}
}
STR_STRESS_WARNING = 728,\r
STR_STRESS_NORMAL = 729,\r
STR_STRESS_EXCELLENT = 730,\r
- STR_MAX_ID = 731,\r
+ STR_HRV_LAST_NIGHT_AVG = 731,\r
+ STR_HRV_BASELINE = 732,\r
+ STR_HRV_7DAY_AVG = 733,\r
+ STR_HRV_BALANCED = 734,\r
+ STR_HRV_UNBALANCED = 735,\r
+ STR_HRV_TOO_LOW = 736,\r
+ STR_BP_MEAS_SUCCESS = 737,\r
+ STR_BP_NORMAL_RANGE = 738,\r
+ STR_BP_ELEVATED_ATTN = 739,\r
+ STR_BP_CALIB_EXPIRED = 740,\r
+ STR_BP_INPUT_METER_VALUE = 741,\r
+ STR_BP_CONFIRM_INPUT = 742,\r
+ STR_BP_SBP_GT_DBP = 743,\r
+ STR_BP_MODIFY = 744,\r
+ STR_BP_MEAS_GUIDE = 745,\r
+ STR_BP_MEASURE_NOW = 746,\r
+ STR_BP_PREMEASURE_NOTE = 747,\r
+ STR_BP_TREND_REF_ONLY = 748,\r
+ STR_BP_COMPLETE_CALIB_FIRST = 749,\r
+ STR_BP_NOT_CALIBRATED = 750,\r
+ STR_BP_CALIB_EXPIRING_D = 751,\r
+ STR_BP_INSTR_SEAT = 752,\r
+ STR_BP_INSTR_WEAR = 753,\r
+ STR_BP_INSTR_BELT_LOOSE = 754,\r
+ STR_BP_INSTR_CALIB1 = 755,\r
+ STR_BP_INSTR_CALIB2 = 756,\r
+ STR_BP_START = 757,\r
+ STR_BP_ABORT_MEAS = 758,\r
+ STR_BP_ABORT_CALIB = 759,\r
+ STR_BP_ABORT_MEAS_NOTE = 760,\r
+ STR_BP_ABORT_CALIB_NOTE = 761,\r
+ STR_BP_CALIB_ROUND1 = 762,\r
+ STR_BP_CALIB_ROUND2 = 763,\r
+ STR_BP_KEEP_STILL = 764,\r
+ STR_BP_VALID_UNTIL = 765,\r
+ STR_BP_VALID_UNTIL_NA = 766,\r
+ STR_BP_CALIB_UPLOADED = 767,\r
+ STR_BP_ROUND1_DONE = 768,\r
+ STR_BP_ROUND2_PREP = 769,\r
+ STR_BP_FOLLOW_HINT = 770,\r
+ STR_BP_NEED_CALIB_FIRST = 771,\r
+ STR_BP_PREP_SPHYGM = 772,\r
+ STR_BP_TIP = 773,\r
+ STR_BP_ARM_MOVED = 774,\r
+ STR_BP_WEAK_SIGNAL = 775,\r
+ STR_BP_DIFF_TOO_LARGE = 776,\r
+ STR_BP_DIFF_LARGE_NOTE = 777,\r
+ STR_BP_RESULT_REF = 778,\r
+ STR_BP_NOT_MEDICAL = 779,\r
+ STR_BP_AGREE_CONTINUE = 780,\r
+ STR_BP_LATEST_RECORD = 781,\r
+ STR_BP_VIEW_HISTORY = 782,\r
+ STR_BP_RECENT_RECORD = 783,\r
+ STR_BP_APP_FULL_RECORD = 784,\r
+ STR_BP_WATCH_RECENT_ONLY = 785,\r
+ STR_BP_NO_MEAS_RECORD = 786,\r
+ STR_BP_EMPTY_HIST_HINT = 787,\r
+ STR_ECG_MEAS_TITLE = 788,\r
+ STR_ECG_ENTRY_NOTE = 789,\r
+ STR_ECG_DISCLAIMER = 790,\r
+ STR_ECG_CONSULT_DOC = 791,\r
+ STR_ECG_FINGER_ELECTRODE = 792,\r
+ STR_ECG_KEEP_FINGER_STILL = 793,\r
+ STR_ECG_FINGER_CONTACT = 794,\r
+ STR_ECG_ANALYZING = 795,\r
+ STR_ECG_CONTACT_ABNORMAL = 796,\r
+ STR_ECG_EXIT = 797,\r
+ STR_ECG_VIEW_ALL = 798,\r
+ STR_ECG_MEAS_RECORD = 799,\r
+ STR_ECG_SINUS_RHYTHM = 800,\r
+ STR_ECG_AFIB_POSSIBLE = 801,\r
+ STR_ECG_INCONCLUSIVE = 802,\r
+ STR_ECG_AFIB = 803,\r
+ STR_ECG_HR_TOO_LOW = 804,\r
+ STR_ECG_HR_TOO_HIGH = 805,\r
+ STR_ECG_IRREGULAR = 806,\r
+ STR_ECG_SIGNAL_INCONCLUSIVE = 807,\r
+ STR_ECG_BPM_FORMAT = 808,\r
+ STR_ECG_BPM_NA = 809,\r
+ STR_MAX_ID = 810,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
STR_HRV_7DAY_AVG $7-Day Average HRV\r
STR_HRV_BALANCED $Balanced\r
STR_HRV_UNBALANCED $Unbalanced\r
-STR_HRV_TOO_LOW $Too Low
\ No newline at end of file
+STR_HRV_TOO_LOW $Too Low\r
+STR_BP_MEAS_SUCCESS$Measurement successful\r
+STR_BP_NORMAL_RANGE$Blood pressure is in the normal range\r
+STR_BP_ELEVATED_ATTN$Blood pressure is elevated, please pay attention\r
+STR_BP_CALIB_EXPIRED$Calibration expired\r
+STR_BP_INPUT_METER_VALUE$Enter cuff reading\r
+STR_BP_CONFIRM_INPUT$Confirm entered values\r
+STR_BP_SBP_GT_DBP$Systolic pressure should be higher than diastolic\r
+STR_BP_MODIFY$Edit\r
+STR_BP_MEAS_GUIDE$Measurement guide\r
+STR_BP_MEASURE_NOW$Measure now\r
+STR_BP_PREMEASURE_NOTE$Avoid strenuous exercise, coffee,and smoking 30 minutes before measuring\r
+STR_BP_TREND_REF_ONLY$Continued readings are fortrend reference only\r
+STR_BP_COMPLETE_CALIB_FIRST$Please complete calibration first\r
+STR_BP_NOT_CALIBRATED$Not calibrated\r
+STR_BP_CALIB_EXPIRING_D$Calibration expiring in %d days\r
+STR_BP_INSTR_SEAT$Sit upright with both feet on the floor.Place both forearms on the table, palms up.\r
+STR_BP_INSTR_WEAR$Leave one finger width between watch and wrist.Wear the watch snugly.\r
+STR_BP_INSTR_BELT_LOOSE$Watch band is too loose.Adjust tightness and try again.\r
+STR_BP_INSTR_CALIB1$Sit upright with your arm on the table.Keep the watch at heart level.\r
+STR_BP_INSTR_CALIB2$Measure the same arm in the same posture.Start calibration when ready.\r
+STR_BP_START$Start\r
+STR_BP_ABORT_MEAS$Stop measurement\r
+STR_BP_ABORT_CALIB$Stop calibration\r
+STR_BP_ABORT_MEAS_NOTE$Stop the current blood pressure measurement?This session will be canceled.\r
+STR_BP_ABORT_CALIB_NOTE$Stop the current calibration?This calibration data will be discarded.\r
+STR_BP_CALIB_ROUND1$Calibration round 1\r
+STR_BP_CALIB_ROUND2$Calibration round 2\r
+STR_BP_KEEP_STILL$Please keep still\r
+STR_BP_VALID_UNTIL$Valid until: %s\r
+STR_BP_VALID_UNTIL_NA$Valid until: ----\r
+STR_BP_CALIB_UPLOADED$Calibration result uploaded.Recalibrate after 30 days.\r
+STR_BP_ROUND1_DONE$Round 1 calibration complete\r
+STR_BP_ROUND2_PREP$Prepare for round 2 calibration.Measure the same arm againwith a traditional cuff.\r
+STR_BP_FOLLOW_HINT$Please follow the instructions\r
+STR_BP_NEED_CALIB_FIRST$Calibration required first\r
+STR_BP_PREP_SPHYGM$Prepare a traditional blood pressure monitor.It takes about 5 minutes.\r
+STR_BP_TIP$Notice\r
+STR_BP_ARM_MOVED$Arm movement detected.Keep still and try again.\r
+STR_BP_WEAK_SIGNAL$No valid signal detected.Adjust wearing and try again.\r
+STR_BP_DIFF_TOO_LARGE$Two readings differ too much\r
+STR_BP_DIFF_LARGE_NOTE$Large difference detected between two readings.Recalibration is recommended.\r
+STR_BP_RESULT_REF$Results are for reference only\r
+STR_BP_NOT_MEDICAL$Not a substitute for professional diagnosis.Consult a doctor if you have concerns.\r
+STR_BP_AGREE_CONTINUE$Agree and continue\r
+STR_BP_LATEST_RECORD$Latest record\r
+STR_BP_VIEW_HISTORY$View history\r
+STR_BP_RECENT_RECORD$Recent record\r
+STR_BP_APP_FULL_RECORD$View full blood pressure history in the app\r
+STR_BP_WATCH_RECENT_ONLY$Watch keeps recent records only\r
+STR_BP_NO_MEAS_RECORD$No measurement records\r
+STR_BP_EMPTY_HIST_HINT$After your first measurement,you can view records here\r
+STR_ECG_MEAS_TITLE$ECG measurement\r
+STR_ECG_ENTRY_NOTE$Keep fingertips clean and moist\r
+STR_ECG_DISCLAIMER$ECG results are for health reference onlyand cannot replace professional diagnosis\r
+STR_ECG_CONSULT_DOC$Consult a doctor if you have heart-related concerns\r
+STR_ECG_FINGER_ELECTRODE$Place your finger on the electrode\r
+STR_ECG_KEEP_FINGER_STILL$Keep your finger still\r
+STR_ECG_FINGER_CONTACT$Keep your finger on the electrode\r
+STR_ECG_ANALYZING$Analyzing data...\r
+STR_ECG_CONTACT_ABNORMAL$Contact error. Make sure your fingertouches the electrode and retry.\r
+STR_ECG_EXIT$Exit\r
+STR_ECG_VIEW_ALL$View all\r
+STR_ECG_MEAS_RECORD$Measurement records\r
+STR_ECG_SINUS_RHYTHM$Sinus rhythm\r
+STR_ECG_AFIB_POSSIBLE$Possible atrial fibrillation\r
+STR_ECG_INCONCLUSIVE$Inconclusive\r
+STR_ECG_AFIB$Atrial fibrillation\r
+STR_ECG_HR_TOO_LOW$Heart rate too low\r
+STR_ECG_HR_TOO_HIGH$Heart rate too high\r
+STR_ECG_IRREGULAR$Inconclusive (irregular)\r
+STR_ECG_SIGNAL_INCONCLUSIVE$Inconclusive (signal/feature)\r
+STR_ECG_BPM_FORMAT$%d bpm\r
+STR_ECG_BPM_NA$-- bpm
\ No newline at end of file
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_20$注:只保留最近20条通话记录在通话记录上长按可删除\r
STR_RECORDS_NOTE$是否永久删除该条记录\r
STR_RECORDS_DELETE$删除记录\r
STR_NEW_INCOM$新来电\r
STR_HRV_7DAY_AVG $7天平均 HRV\r
STR_HRV_BALANCED $平衡\r
STR_HRV_UNBALANCED $不平衡\r
-STR_HRV_TOO_LOW $过低
\ No newline at end of file
+STR_HRV_TOO_LOW $过低\r
+STR_BP_MEAS_SUCCESS$测量成功\r
+STR_BP_NORMAL_RANGE$血压处于正常范围\r
+STR_BP_ELEVATED_ATTN$血压偏高,请关注\r
+STR_BP_CALIB_EXPIRED$校准已过期\r
+STR_BP_INPUT_METER_VALUE$输入血压计值\r
+STR_BP_CONFIRM_INPUT$确认输入值\r
+STR_BP_SBP_GT_DBP$收缩压应大于舒张压\r
+STR_BP_MODIFY$修改\r
+STR_BP_MEAS_GUIDE$测量说明\r
+STR_BP_MEASURE_NOW$马上测量\r
+STR_BP_PREMEASURE_NOTE$测量前30分钟请避免剧烈运动、咖啡和烟酒\r
+STR_BP_TREND_REF_ONLY$继续测量的数据仅供趋势参考\r
+STR_BP_COMPLETE_CALIB_FIRST$请先完成校准\r
+STR_BP_NOT_CALIBRATED$未校准\r
+STR_BP_CALIB_EXPIRING_D$校准即将过期·剩%d天\r
+STR_BP_INSTR_SEAT$双脚着地,端坐在椅子上双手手背朝上,手臂平放在桌子上\r
+STR_BP_INSTR_WEAR$手表和手腕之间仅限一指距离偏紧佩戴手表\r
+STR_BP_INSTR_BELT_LOOSE$表带过松请调整松紧后重试\r
+STR_BP_INSTR_CALIB1$坐姿端正,手臂平放桌面手表与心脏同高\r
+STR_BP_INSTR_CALIB2$测量同一只手,保持相同姿势准备完成后开始校准\r
+STR_BP_START$开始\r
+STR_BP_ABORT_MEAS$中止测量\r
+STR_BP_ABORT_CALIB$中止校准\r
+STR_BP_ABORT_MEAS_NOTE$是否中止当前血压测量本次测量将取消\r
+STR_BP_ABORT_CALIB_NOTE$是否中止当前血压校准本次校准数据将丢弃\r
+STR_BP_CALIB_ROUND1$第1轮校准中\r
+STR_BP_CALIB_ROUND2$第2轮校准中\r
+STR_BP_KEEP_STILL$请保持静止\r
+STR_BP_VALID_UNTIL$有效期至:%s\r
+STR_BP_VALID_UNTIL_NA$有效期至:----\r
+STR_BP_CALIB_UPLOADED$校准结果已上传30天后可重新校准\r
+STR_BP_ROUND1_DONE$第1轮校准完成\r
+STR_BP_ROUND2_PREP$请准备开始第2轮校准请再次使用传统血压计测量同一只手\r
+STR_BP_FOLLOW_HINT$请根据提示进行操作\r
+STR_BP_NEED_CALIB_FIRST$需先完成校准\r
+STR_BP_PREP_SPHYGM$请准备传统血压计约需5分钟\r
+STR_BP_TIP$提示\r
+STR_BP_ARM_MOVED$检测到手臂移动请保持静止后重试\r
+STR_BP_WEAK_SIGNAL$未能获取有效信号请调整佩戴后重试\r
+STR_BP_DIFF_TOO_LARGE$两次偏差过大\r
+STR_BP_DIFF_LARGE_NOTE$检测到两次偏差较大建议重新校准\r
+STR_BP_RESULT_REF$测量结果仅供参考\r
+STR_BP_NOT_MEDICAL$不可替代专业医疗诊断如有健康疑虑,请咨询医生\r
+STR_BP_AGREE_CONTINUE$同意并继续\r
+STR_BP_LATEST_RECORD$最新记录\r
+STR_BP_VIEW_HISTORY$查看历史\r
+STR_BP_RECENT_RECORD$最近记录\r
+STR_BP_APP_FULL_RECORD$在APP中查看完整血压记录\r
+STR_BP_WATCH_RECENT_ONLY$手表仅保留最近记录\r
+STR_BP_NO_MEAS_RECORD$暂无测量记录\r
+STR_BP_EMPTY_HIST_HINT$完成一次测量后可在这里查看记录\r
+STR_ECG_MEAS_TITLE$ECG测量\r
+STR_ECG_ENTRY_NOTE$保持指尖清洁湿润\r
+STR_ECG_DISCLAIMER$ECG 测量结果仅供健康参考不可替代专业医疗诊断\r
+STR_ECG_CONSULT_DOC$如有心脏相关疑虑,请咨询医生\r
+STR_ECG_FINGER_ELECTRODE$将手指放在电极上\r
+STR_ECG_KEEP_FINGER_STILL$保持手指不动\r
+STR_ECG_FINGER_CONTACT$请保持手指接触电极\r
+STR_ECG_ANALYZING$正在分析数据...\r
+STR_ECG_CONTACT_ABNORMAL$接触异常,请确保手指触摸电极后重试\r
+STR_ECG_EXIT$退出\r
+STR_ECG_VIEW_ALL$查看全部\r
+STR_ECG_MEAS_RECORD$测量记录\r
+STR_ECG_SINUS_RHYTHM$窦性心律\r
+STR_ECG_AFIB_POSSIBLE$可能房颤\r
+STR_ECG_INCONCLUSIVE$不确定\r
+STR_ECG_AFIB$房颤\r
+STR_ECG_HR_TOO_LOW$心率过低\r
+STR_ECG_HR_TOO_HIGH$心率过高\r
+STR_ECG_IRREGULAR$不确定(不规则)\r
+STR_ECG_SIGNAL_INCONCLUSIVE$不确定(信号/特征)\r
+STR_ECG_BPM_FORMAT$%d 次/分\r
+STR_ECG_BPM_NA$-- 次/分
\ No newline at end of file
<lanstr id="STR_HRV_BALANCED " value="Balanced"/>
<lanstr id="STR_HRV_UNBALANCED " value="Unbalanced"/>
<lanstr id="STR_HRV_TOO_LOW " value="Too Low"/>
+ <lanstr id="STR_BP_MEAS_SUCCESS" value="Measurement successful"/>
+ <lanstr id="STR_BP_NORMAL_RANGE" value="Blood pressure is in the normal range"/>
+ <lanstr id="STR_BP_ELEVATED_ATTN" value="Blood pressure is elevated, please pay attention"/>
+ <lanstr id="STR_BP_CALIB_EXPIRED" value="Calibration expired"/>
+ <lanstr id="STR_BP_INPUT_METER_VALUE" value="Enter cuff reading"/>
+ <lanstr id="STR_BP_CONFIRM_INPUT" value="Confirm entered values"/>
+ <lanstr id="STR_BP_SBP_GT_DBP" value="Systolic pressure should be higher than diastolic"/>
+ <lanstr id="STR_BP_MODIFY" value="Edit"/>
+ <lanstr id="STR_BP_MEAS_GUIDE" value="Measurement guide"/>
+ <lanstr id="STR_BP_MEASURE_NOW" value="Measure now"/>
+ <lanstr id="STR_BP_PREMEASURE_NOTE" value="Avoid strenuous exercise, coffee,and smoking 30 minutes before measuring"/>
+ <lanstr id="STR_BP_TREND_REF_ONLY" value="Continued readings are fortrend reference only"/>
+ <lanstr id="STR_BP_COMPLETE_CALIB_FIRST" value="Please complete calibration first"/>
+ <lanstr id="STR_BP_NOT_CALIBRATED" value="Not calibrated"/>
+ <lanstr id="STR_BP_CALIB_EXPIRING_D" value="Calibration expiring in %d days"/>
+ <lanstr id="STR_BP_INSTR_SEAT" value="Sit upright with both feet on the floor.Place both forearms on the table, palms up."/>
+ <lanstr id="STR_BP_INSTR_WEAR" value="Leave one finger width between watch and wrist.Wear the watch snugly."/>
+ <lanstr id="STR_BP_INSTR_BELT_LOOSE" value="Watch band is too loose.Adjust tightness and try again."/>
+ <lanstr id="STR_BP_INSTR_CALIB1" value="Sit upright with your arm on the table.Keep the watch at heart level."/>
+ <lanstr id="STR_BP_INSTR_CALIB2" value="Measure the same arm in the same posture.Start calibration when ready."/>
+ <lanstr id="STR_BP_START" value="Start"/>
+ <lanstr id="STR_BP_ABORT_MEAS" value="Stop measurement"/>
+ <lanstr id="STR_BP_ABORT_CALIB" value="Stop calibration"/>
+ <lanstr id="STR_BP_ABORT_MEAS_NOTE" value="Stop the current blood pressure measurement?This session will be canceled."/>
+ <lanstr id="STR_BP_ABORT_CALIB_NOTE" value="Stop the current calibration?This calibration data will be discarded."/>
+ <lanstr id="STR_BP_CALIB_ROUND1" value="Calibration round 1"/>
+ <lanstr id="STR_BP_CALIB_ROUND2" value="Calibration round 2"/>
+ <lanstr id="STR_BP_KEEP_STILL" value="Please keep still"/>
+ <lanstr id="STR_BP_VALID_UNTIL" value="Valid until: %s"/>
+ <lanstr id="STR_BP_VALID_UNTIL_NA" value="Valid until: ----"/>
+ <lanstr id="STR_BP_CALIB_UPLOADED" value="Calibration result uploaded.Recalibrate after 30 days."/>
+ <lanstr id="STR_BP_ROUND1_DONE" value="Round 1 calibration complete"/>
+ <lanstr id="STR_BP_ROUND2_PREP" value="Prepare for round 2 calibration.Measure the same arm againwith a traditional cuff."/>
+ <lanstr id="STR_BP_FOLLOW_HINT" value="Please follow the instructions"/>
+ <lanstr id="STR_BP_NEED_CALIB_FIRST" value="Calibration required first"/>
+ <lanstr id="STR_BP_PREP_SPHYGM" value="Prepare a traditional blood pressure monitor.It takes about 5 minutes."/>
+ <lanstr id="STR_BP_TIP" value="Notice"/>
+ <lanstr id="STR_BP_ARM_MOVED" value="Arm movement detected.Keep still and try again."/>
+ <lanstr id="STR_BP_WEAK_SIGNAL" value="No valid signal detected.Adjust wearing and try again."/>
+ <lanstr id="STR_BP_DIFF_TOO_LARGE" value="Two readings differ too much"/>
+ <lanstr id="STR_BP_DIFF_LARGE_NOTE" value="Large difference detected between two readings.Recalibration is recommended."/>
+ <lanstr id="STR_BP_RESULT_REF" value="Results are for reference only"/>
+ <lanstr id="STR_BP_NOT_MEDICAL" value="Not a substitute for professional diagnosis.Consult a doctor if you have concerns."/>
+ <lanstr id="STR_BP_AGREE_CONTINUE" value="Agree and continue"/>
+ <lanstr id="STR_BP_LATEST_RECORD" value="Latest record"/>
+ <lanstr id="STR_BP_VIEW_HISTORY" value="View history"/>
+ <lanstr id="STR_BP_RECENT_RECORD" value="Recent record"/>
+ <lanstr id="STR_BP_APP_FULL_RECORD" value="View full blood pressure history in the app"/>
+ <lanstr id="STR_BP_WATCH_RECENT_ONLY" value="Watch keeps recent records only"/>
+ <lanstr id="STR_BP_NO_MEAS_RECORD" value="No measurement records"/>
+ <lanstr id="STR_BP_EMPTY_HIST_HINT" value="After your first measurement,you can view records here"/>
+ <lanstr id="STR_ECG_MEAS_TITLE" value="ECG measurement"/>
+ <lanstr id="STR_ECG_ENTRY_NOTE" value="Keep fingertips clean and moist"/>
+ <lanstr id="STR_ECG_DISCLAIMER" value="ECG results are for health reference onlyand cannot replace professional diagnosis"/>
+ <lanstr id="STR_ECG_CONSULT_DOC" value="Consult a doctor if you have heart-related concerns"/>
+ <lanstr id="STR_ECG_FINGER_ELECTRODE" value="Place your finger on the electrode"/>
+ <lanstr id="STR_ECG_KEEP_FINGER_STILL" value="Keep your finger still"/>
+ <lanstr id="STR_ECG_FINGER_CONTACT" value="Keep your finger on the electrode"/>
+ <lanstr id="STR_ECG_ANALYZING" value="Analyzing data..."/>
+ <lanstr id="STR_ECG_CONTACT_ABNORMAL" value="Contact error. Make sure your fingertouches the electrode and retry."/>
+ <lanstr id="STR_ECG_EXIT" value="Exit"/>
+ <lanstr id="STR_ECG_VIEW_ALL" value="View all"/>
+ <lanstr id="STR_ECG_MEAS_RECORD" value="Measurement records"/>
+ <lanstr id="STR_ECG_SINUS_RHYTHM" value="Sinus rhythm"/>
+ <lanstr id="STR_ECG_AFIB_POSSIBLE" value="Possible atrial fibrillation"/>
+ <lanstr id="STR_ECG_INCONCLUSIVE" value="Inconclusive"/>
+ <lanstr id="STR_ECG_AFIB" value="Atrial fibrillation"/>
+ <lanstr id="STR_ECG_HR_TOO_LOW" value="Heart rate too low"/>
+ <lanstr id="STR_ECG_HR_TOO_HIGH" value="Heart rate too high"/>
+ <lanstr id="STR_ECG_IRREGULAR" value="Inconclusive (irregular)"/>
+ <lanstr id="STR_ECG_SIGNAL_INCONCLUSIVE" value="Inconclusive (signal/feature)"/>
+ <lanstr id="STR_ECG_BPM_FORMAT" value="%d bpm"/>
+ <lanstr id="STR_ECG_BPM_NA" value="-- bpm"/>
</language>
<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_20" value="注:只保留最近20条通话记录在通话记录上长按可删除"/>
<lanstr id="STR_RECORDS_NOTE" value="是否永久删除该条记录"/>
<lanstr id="STR_RECORDS_DELETE" value="删除记录"/>
<lanstr id="STR_NEW_INCOM" value="新来电"/>
<lanstr id="STR_HRV_BALANCED " value="平衡"/>
<lanstr id="STR_HRV_UNBALANCED " value="不平衡"/>
<lanstr id="STR_HRV_TOO_LOW " value="过低"/>
+ <lanstr id="STR_BP_MEAS_SUCCESS" value="测量成功"/>
+ <lanstr id="STR_BP_NORMAL_RANGE" value="血压处于正常范围"/>
+ <lanstr id="STR_BP_ELEVATED_ATTN" value="血压偏高,请关注"/>
+ <lanstr id="STR_BP_CALIB_EXPIRED" value="校准已过期"/>
+ <lanstr id="STR_BP_INPUT_METER_VALUE" value="输入血压计值"/>
+ <lanstr id="STR_BP_CONFIRM_INPUT" value="确认输入值"/>
+ <lanstr id="STR_BP_SBP_GT_DBP" value="收缩压应大于舒张压"/>
+ <lanstr id="STR_BP_MODIFY" value="修改"/>
+ <lanstr id="STR_BP_MEAS_GUIDE" value="测量说明"/>
+ <lanstr id="STR_BP_MEASURE_NOW" value="马上测量"/>
+ <lanstr id="STR_BP_PREMEASURE_NOTE" value="测量前30分钟请避免剧烈运动、咖啡和烟酒"/>
+ <lanstr id="STR_BP_TREND_REF_ONLY" value="继续测量的数据仅供趋势参考"/>
+ <lanstr id="STR_BP_COMPLETE_CALIB_FIRST" value="请先完成校准"/>
+ <lanstr id="STR_BP_NOT_CALIBRATED" value="未校准"/>
+ <lanstr id="STR_BP_CALIB_EXPIRING_D" value="校准即将过期·剩%d天"/>
+ <lanstr id="STR_BP_INSTR_SEAT" value="双脚着地,端坐在椅子上双手手背朝上,手臂平放在桌子上"/>
+ <lanstr id="STR_BP_INSTR_WEAR" value="手表和手腕之间仅限一指距离偏紧佩戴手表"/>
+ <lanstr id="STR_BP_INSTR_BELT_LOOSE" value="表带过松请调整松紧后重试"/>
+ <lanstr id="STR_BP_INSTR_CALIB1" value="坐姿端正,手臂平放桌面手表与心脏同高"/>
+ <lanstr id="STR_BP_INSTR_CALIB2" value="测量同一只手,保持相同姿势准备完成后开始校准"/>
+ <lanstr id="STR_BP_START" value="开始"/>
+ <lanstr id="STR_BP_ABORT_MEAS" value="中止测量"/>
+ <lanstr id="STR_BP_ABORT_CALIB" value="中止校准"/>
+ <lanstr id="STR_BP_ABORT_MEAS_NOTE" value="是否中止当前血压测量本次测量将取消"/>
+ <lanstr id="STR_BP_ABORT_CALIB_NOTE" value="是否中止当前血压校准本次校准数据将丢弃"/>
+ <lanstr id="STR_BP_CALIB_ROUND1" value="第1轮校准中"/>
+ <lanstr id="STR_BP_CALIB_ROUND2" value="第2轮校准中"/>
+ <lanstr id="STR_BP_KEEP_STILL" value="请保持静止"/>
+ <lanstr id="STR_BP_VALID_UNTIL" value="有效期至:%s"/>
+ <lanstr id="STR_BP_VALID_UNTIL_NA" value="有效期至:----"/>
+ <lanstr id="STR_BP_CALIB_UPLOADED" value="校准结果已上传30天后可重新校准"/>
+ <lanstr id="STR_BP_ROUND1_DONE" value="第1轮校准完成"/>
+ <lanstr id="STR_BP_ROUND2_PREP" value="请准备开始第2轮校准请再次使用传统血压计测量同一只手"/>
+ <lanstr id="STR_BP_FOLLOW_HINT" value="请根据提示进行操作"/>
+ <lanstr id="STR_BP_NEED_CALIB_FIRST" value="需先完成校准"/>
+ <lanstr id="STR_BP_PREP_SPHYGM" value="请准备传统血压计约需5分钟"/>
+ <lanstr id="STR_BP_TIP" value="提示"/>
+ <lanstr id="STR_BP_ARM_MOVED" value="检测到手臂移动请保持静止后重试"/>
+ <lanstr id="STR_BP_WEAK_SIGNAL" value="未能获取有效信号请调整佩戴后重试"/>
+ <lanstr id="STR_BP_DIFF_TOO_LARGE" value="两次偏差过大"/>
+ <lanstr id="STR_BP_DIFF_LARGE_NOTE" value="检测到两次偏差较大建议重新校准"/>
+ <lanstr id="STR_BP_RESULT_REF" value="测量结果仅供参考"/>
+ <lanstr id="STR_BP_NOT_MEDICAL" value="不可替代专业医疗诊断如有健康疑虑,请咨询医生"/>
+ <lanstr id="STR_BP_AGREE_CONTINUE" value="同意并继续"/>
+ <lanstr id="STR_BP_LATEST_RECORD" value="最新记录"/>
+ <lanstr id="STR_BP_VIEW_HISTORY" value="查看历史"/>
+ <lanstr id="STR_BP_RECENT_RECORD" value="最近记录"/>
+ <lanstr id="STR_BP_APP_FULL_RECORD" value="在APP中查看完整血压记录"/>
+ <lanstr id="STR_BP_WATCH_RECENT_ONLY" value="手表仅保留最近记录"/>
+ <lanstr id="STR_BP_NO_MEAS_RECORD" value="暂无测量记录"/>
+ <lanstr id="STR_BP_EMPTY_HIST_HINT" value="完成一次测量后可在这里查看记录"/>
+ <lanstr id="STR_ECG_MEAS_TITLE" value="ECG测量"/>
+ <lanstr id="STR_ECG_ENTRY_NOTE" value="保持指尖清洁湿润"/>
+ <lanstr id="STR_ECG_DISCLAIMER" value="ECG 测量结果仅供健康参考不可替代专业医疗诊断"/>
+ <lanstr id="STR_ECG_CONSULT_DOC" value="如有心脏相关疑虑,请咨询医生"/>
+ <lanstr id="STR_ECG_FINGER_ELECTRODE" value="将手指放在电极上"/>
+ <lanstr id="STR_ECG_KEEP_FINGER_STILL" value="保持手指不动"/>
+ <lanstr id="STR_ECG_FINGER_CONTACT" value="请保持手指接触电极"/>
+ <lanstr id="STR_ECG_ANALYZING" value="正在分析数据..."/>
+ <lanstr id="STR_ECG_CONTACT_ABNORMAL" value="接触异常,请确保手指触摸电极后重试"/>
+ <lanstr id="STR_ECG_EXIT" value="退出"/>
+ <lanstr id="STR_ECG_VIEW_ALL" value="查看全部"/>
+ <lanstr id="STR_ECG_MEAS_RECORD" value="测量记录"/>
+ <lanstr id="STR_ECG_SINUS_RHYTHM" value="窦性心律"/>
+ <lanstr id="STR_ECG_AFIB_POSSIBLE" value="可能房颤"/>
+ <lanstr id="STR_ECG_INCONCLUSIVE" value="不确定"/>
+ <lanstr id="STR_ECG_AFIB" value="房颤"/>
+ <lanstr id="STR_ECG_HR_TOO_LOW" value="心率过低"/>
+ <lanstr id="STR_ECG_HR_TOO_HIGH" value="心率过高"/>
+ <lanstr id="STR_ECG_IRREGULAR" value="不确定(不规则)"/>
+ <lanstr id="STR_ECG_SIGNAL_INCONCLUSIVE" value="不确定(信号/特征)"/>
+ <lanstr id="STR_ECG_BPM_FORMAT" value="%d 次/分"/>
+ <lanstr id="STR_ECG_BPM_NA" value="-- 次/分"/>
</language>
STR_HRV_BALANCED = 734,\r
STR_HRV_UNBALANCED = 735,\r
STR_HRV_TOO_LOW = 736,\r
- STR_MAX_ID = 737,\r
+ STR_BP_MEAS_SUCCESS = 737,\r
+ STR_BP_NORMAL_RANGE = 738,\r
+ STR_BP_ELEVATED_ATTN = 739,\r
+ STR_BP_CALIB_EXPIRED = 740,\r
+ STR_BP_INPUT_METER_VALUE = 741,\r
+ STR_BP_CONFIRM_INPUT = 742,\r
+ STR_BP_SBP_GT_DBP = 743,\r
+ STR_BP_MODIFY = 744,\r
+ STR_BP_MEAS_GUIDE = 745,\r
+ STR_BP_MEASURE_NOW = 746,\r
+ STR_BP_PREMEASURE_NOTE = 747,\r
+ STR_BP_TREND_REF_ONLY = 748,\r
+ STR_BP_COMPLETE_CALIB_FIRST = 749,\r
+ STR_BP_NOT_CALIBRATED = 750,\r
+ STR_BP_CALIB_EXPIRING_D = 751,\r
+ STR_BP_INSTR_SEAT = 752,\r
+ STR_BP_INSTR_WEAR = 753,\r
+ STR_BP_INSTR_BELT_LOOSE = 754,\r
+ STR_BP_INSTR_CALIB1 = 755,\r
+ STR_BP_INSTR_CALIB2 = 756,\r
+ STR_BP_START = 757,\r
+ STR_BP_ABORT_MEAS = 758,\r
+ STR_BP_ABORT_CALIB = 759,\r
+ STR_BP_ABORT_MEAS_NOTE = 760,\r
+ STR_BP_ABORT_CALIB_NOTE = 761,\r
+ STR_BP_CALIB_ROUND1 = 762,\r
+ STR_BP_CALIB_ROUND2 = 763,\r
+ STR_BP_KEEP_STILL = 764,\r
+ STR_BP_VALID_UNTIL = 765,\r
+ STR_BP_VALID_UNTIL_NA = 766,\r
+ STR_BP_CALIB_UPLOADED = 767,\r
+ STR_BP_ROUND1_DONE = 768,\r
+ STR_BP_ROUND2_PREP = 769,\r
+ STR_BP_FOLLOW_HINT = 770,\r
+ STR_BP_NEED_CALIB_FIRST = 771,\r
+ STR_BP_PREP_SPHYGM = 772,\r
+ STR_BP_TIP = 773,\r
+ STR_BP_ARM_MOVED = 774,\r
+ STR_BP_WEAK_SIGNAL = 775,\r
+ STR_BP_DIFF_TOO_LARGE = 776,\r
+ STR_BP_DIFF_LARGE_NOTE = 777,\r
+ STR_BP_RESULT_REF = 778,\r
+ STR_BP_NOT_MEDICAL = 779,\r
+ STR_BP_AGREE_CONTINUE = 780,\r
+ STR_BP_LATEST_RECORD = 781,\r
+ STR_BP_VIEW_HISTORY = 782,\r
+ STR_BP_RECENT_RECORD = 783,\r
+ STR_BP_APP_FULL_RECORD = 784,\r
+ STR_BP_WATCH_RECENT_ONLY = 785,\r
+ STR_BP_NO_MEAS_RECORD = 786,\r
+ STR_BP_EMPTY_HIST_HINT = 787,\r
+ STR_ECG_MEAS_TITLE = 788,\r
+ STR_ECG_ENTRY_NOTE = 789,\r
+ STR_ECG_DISCLAIMER = 790,\r
+ STR_ECG_CONSULT_DOC = 791,\r
+ STR_ECG_FINGER_ELECTRODE = 792,\r
+ STR_ECG_KEEP_FINGER_STILL = 793,\r
+ STR_ECG_FINGER_CONTACT = 794,\r
+ STR_ECG_ANALYZING = 795,\r
+ STR_ECG_CONTACT_ABNORMAL = 796,\r
+ STR_ECG_EXIT = 797,\r
+ STR_ECG_VIEW_ALL = 798,\r
+ STR_ECG_MEAS_RECORD = 799,\r
+ STR_ECG_SINUS_RHYTHM = 800,\r
+ STR_ECG_AFIB_POSSIBLE = 801,\r
+ STR_ECG_INCONCLUSIVE = 802,\r
+ STR_ECG_AFIB = 803,\r
+ STR_ECG_HR_TOO_LOW = 804,\r
+ STR_ECG_HR_TOO_HIGH = 805,\r
+ STR_ECG_IRREGULAR = 806,\r
+ STR_ECG_SIGNAL_INCONCLUSIVE = 807,\r
+ STR_ECG_BPM_FORMAT = 808,\r
+ STR_ECG_BPM_NA = 809,\r
+ STR_MAX_ID = 810,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {