{{ t('header.dashboard') }} {{ selectedDeviceId }}

{{ t('header.lastUpdated') }}{{ formatValue('lastUpdated', currentDeviceData.lastUpdated) }}
{{ currentTime }}
flag {{ currentLangObj.label }}
flag {{ lang.label }}

{{ t('profile.title') }}

{{ t('profile.desc') }}

{{ t('profile.id') }}{{ p.id.substring(0,8) }} {{ t('profile.company') }}
{{ p.name || t('general.unnamed') }}
{{ p.gender === 'female' ? t('general.female') : (p.gender === 'male' ? t('general.male') : t('general.notSet')) }}
📏 {{ t('profile.height') }}: {{ p.height ? p.height + ' cm' : '--' }}
⚖️ {{ t('profile.weight') }}: {{ p.weight ? p.weight + ' kg' : '--' }}
🎂 {{ t('profile.age') }}: {{ p.age ? p.age + ' ' + t('analysis.ageUnit') : '--' }}

{{ currentEditingProfileId === 'new' ? t('profile.editTitleNew') : t('profile.editTitleEdit') }}

{{ t('profile.editDesc') }}

cm
kg
{{ saveMessage }}

{{ t('specs.title') }}

{{ t('specs.subtitle') }}

{{ t('specs.func1Title') }}

{{ t('specs.func1Desc') }}

1米 45° L3 = L2 ≤ 2.5米

{{ t('specs.func2Title') }}

{{ t('specs.func2Desc') }}

{{ t('specs.func2Warning') }}

  • {{ t('specs.func2W1_strong') }}{{ t('specs.func2W1') }}{{ t('specs.func2W1_strong2') }}{{ t('specs.func2W1_2') }}
  • {{ t('specs.func2W2_strong') }}{{ t('specs.func2W2') }}{{ t('specs.func2W2_strong2') }}{{ t('specs.func2W2_2') }}
  • {{ t('specs.func2W3_strong') }}{{ t('specs.func2W3') }}
H: 2.7m R1: 2m {{ t('specs.svgFallText1') }} R2: 2.5m {{ t('specs.svgFallText2') }} R3: 3.5m {{ t('specs.svgFallText3') }}

{{ t('specs.installTitle') }}

{{ t('specs.installDesc') }}

{{ t('specs.desktopTitle') }}

{{ t('specs.radarBlind') }}
  • {{ t('specs.desktopS1') }}{{ t('specs.desktopS1Desc') }}
  • {{ t('specs.desktopS2') }}{{ t('specs.desktopS2Desc') }}{{ t('specs.desktopS2Desc_strong') }}{{ t('specs.desktopS2Desc2') }}

{{ t('specs.ceilingTitle') }}

{{ t('specs.ceilingZ') }} 🚨
  • {{ t('specs.ceilingS1') }}{{ t('specs.ceilingS1Desc') }}
  • {{ t('specs.ceilingS2') }}{{ t('specs.ceilingS2Desc') }}{{ t('specs.ceilingS2Desc_strong') }}{{ t('specs.ceilingS2Desc2') }}
  • {{ t('specs.specVolt') }}{{ t('specs.specVoltVal') }}
  • {{ t('specs.specCur') }}{{ t('specs.specCurVal') }}
  • {{ t('specs.specFreq') }}{{ t('specs.specFreqVal') }}
  • {{ t('specs.specPow') }}{{ t('specs.specPowVal') }}
  • {{ t('specs.specDist') }}{{ t('specs.specDistVal') }}
  • {{ t('specs.specAngle') }}{{ t('specs.specAngleVal') }}
  • {{ t('specs.specSleep') }}{{ t('specs.specSleepVal') }}
  • {{ t('specs.specRespDist') }}{{ t('specs.specRespDistVal') }}
  • {{ t('specs.specRespRange') }}{{ t('specs.specRespRangeVal') }}
  • {{ t('specs.specHeartRange') }}{{ t('specs.specHeartRangeVal') }}
  • {{ t('specs.specTemp') }}{{ t('specs.specTempVal') }}

🧠 {{ t('algorithm.title') }}

{{ t('algorithm.subtitle') }}

{{ t('algorithm.desc1') }}{{ t('algorithm.desc1_strong') }}{{ t('algorithm.desc1_2') }}{{ t('algorithm.desc1_3_strong') }}{{ t('algorithm.desc1_4') }}

0 {{ t('algorithm.layer0Title') }}

{{ t('algorithm.layer0Desc') }}

  • {{ t('algorithm.layer0L1_strong') }}{{ t('algorithm.layer0L1') }}
  • {{ t('algorithm.layer0L2_strong') }}{{ t('algorithm.layer0L2') }}

1 {{ t('algorithm.layer1Title') }}

{{ t('algorithm.layer1Desc') }}

{{ t('algorithm.layer1Node1') }}
  • {{ t('algorithm.layer1Node1_S1') }}{{ t('algorithm.layer1Node1_L1') }}
  • {{ t('algorithm.layer1Node1_S2') }}{{ t('algorithm.layer1Node1_L2') }}
{{ t('algorithm.layer1Node2') }}
  • {{ t('algorithm.layer1Node2_S1') }}{{ t('algorithm.layer1Node2_L1') }}
  • {{ t('algorithm.layer1Node2_S2') }}{{ t('algorithm.layer1Node2_L2') }}

2 {{ t('algorithm.layer2Title') }}

{{ t('algorithm.layer2Desc') }}

🌡️ × 💤 {{ t('algorithm.layer2Effect1') }}{{ t('algorithm.layer2Effect1Desc') }}
🫁 × ❤️ {{ t('algorithm.layer2Effect2') }}{{ t('algorithm.layer2Effect2Desc') }}
🥱 × 💤 {{ t('algorithm.layer2Effect3') }}{{ t('algorithm.layer2Effect3Desc') }}

3 {{ t('algorithm.layer3Title') }}

{{ t('algorithm.layer3Desc') }}

{{ t('algorithm.layer3H1') }}
{{ t('algorithm.layer3H2') }}
{{ t('algorithm.layer3H3') }}
> 85
- 3
{{ t('algorithm.layer3Eval1') }}
70 ~ 85
- 1
{{ t('algorithm.layer3Eval2') }}
60 ~ 70
0
{{ t('algorithm.layer3Eval3') }}
50 ~ 60
+ 2
{{ t('algorithm.layer3Eval4') }}
< 50
+ 5
{{ t('algorithm.layer3Eval5') }}

{{ t('algorithm.summaryTitle') }}

{{ t('algorithm.summaryDesc1') }}{{ t('algorithm.summaryDesc_strong') }}{{ t('algorithm.summaryDesc2') }}

{{ t('controls.placement') }}
{{ t('controls.assignUser') }}
💡

{{ t('advice.title') }}

  • {{ advice }}
{{ config.icon }}
{{ config.title }}
{{ formatValue(config.key, currentDeviceData[config.key]) }}
{{ config.icon }}
{{ config.title }}
{{ config.key === 'HumanPosition' ? t('metrics.badgeDangerFall') : t('metrics.badgeDangerLimit') }}
{{ t('metrics.badgeWarning') }}
{{ t('metrics.badgeOffline') }}
{{ formatValue(config.key, currentDeviceData[config.key]) }}
{{ config.safeText }}

{{ t('charts.vitalsTitle') }}

{{ t('charts.vitalsSubtitle') }}

{{ t('charts.envTitle') }}

{{ t('charts.envSubtitle') }}
{{ t('history.time') }} {{ t('history.sleepStatus') }} {{ t('history.existence') }} {{ t('history.respHeart') }} {{ t('history.position') }} {{ t('history.tempHum') }} {{ t('history.airQuality') }}
{{ formatTimestamp(log.lastUpdated) }} {{ log.BedSleepStatus || '-' }} {{ log.HumanExistence || '-' }} {{ log.RespirationHeart || '-' }} {{ log.HumanPosition || '-' }} {{ log.Temperature || '-' }} °C / {{ log.Humidity || '-' }} % - TVOC: {{ log.TVOC || '-' }} | PM2.5: {{ log['PM2.5'] || '-' }} | CO2: {{ log.CO2 || '-' }} -
{{ t('analysis.actualAge') }}
{{ activeProfile.age || t('general.notSet') }} {{ t('analysis.ageUnit') }}
{{ t('analysis.bioAge') }} ℹ️
{{ healthAnalysisData.bioAge || '-' }} {{ t('analysis.ageUnit') }}
{{ t('analysis.ageDiff') }} {{ Math.abs(healthAnalysisData.bioAge - activeProfile.age) }} {{ t('analysis.ageUnit') }}

{{ t('analysis.factorResult') }} {{ t('analysis.mainFactorsTitle') }}

{{ factor.icon }} {{ factor.text }}

{{ t('analysis.radarTitle') }}

{{ t('analysis.adviceTitle') }}

{{ t('analysis.envAdviceSection') }}

  • {{ advice }}
  • {{ t('analysis.envAdviceGood') }}

{{ t('analysis.dietAdviceSection') }}

  • {{ advice }}
  • {{ t('analysis.dietAdviceGood') }}
📡

{{ t('general.selectDevice') }}