正在接入星海 / CONNECTING TO THE STARS MEMORY × MELODY / CELESTIAL ECHOES
{{ showSiteName ? siteName : '星穹回响' }}{{ showSiteName ? subtitle : siteName }}
后台 {{ connected ? t('live') : t('syncing') }}
✦ HONKAI: STAR RAIL PERSONAL OBSERVATORY
{{ language === 'zh-CN' ? '昔涟 × 知更鸟' : 'CYRENE × ROBIN' }}

{{ language === 'zh-CN' ? '星穹回响' : 'Celestial Echoes' }}

MEMORY ✧ MELODY

{{ heroDescription }}

{{ connected ? (language==='zh-CN' ? '实时连接' : 'LIVE LINK') : t('syncing') }}{{ onlineCount }} / {{ nodes.length }}{{ t('online') }}
{{ onlineCount }}{{ t('onlineNodes') }}
{{ nodes.length }}{{ t('nodeArray') }}
{{ formatBytes(totalTraffic) }}{{ t('totalTraffic') }}
{{ syncLabel }}{{ t('lastSync') }}
NOTICE{{ settings.announcement }}

{{ t('nodeArray') }}

{{ visibleNodes.length }} / {{ nodes.length }} {{ t('visible') }}

{{ t('layout'+nodeView) }}

{{ t('probe') }}

{{ t('probeSub') }}

{{ t('noTasks') }}

{{ selectedProbeNode.name || selectedProbeNode.uuid }}

{{ t('probeDetailSub') }}
{{ t('latencyTrace') }} / {{ probeDetailHours }}H
{{ chartHover.label }}
{{ chartHover.value }}
{{ chartZoomLabel('probe-detail') }}
{{ t('sampleCount') }}{{ probeDetailStats.count }}
{{ t('minLatency') }}{{ probeDetailStats.min }}
{{ t('averageLatency') }}{{ probeDetailStats.avg }}
{{ t('maxLatency') }} / {{ t('loss') }}{{ probeDetailStats.max }} / {{ probeDetailStats.loss }}
{{ t('loading') }} {{ t('loaderSignal') }}
{{ t('noProbeData') }}

{{ activeTaskName }}

{{ t('probeWindow') }}: {{ probeHours }}H
{{ t('latencyTrace') }} / {{ probeSourceLabel }}
{{ chartHover.label }}
{{ chartHover.value }}
{{ chartZoomLabel('probe') }}
{{ t('node') }} {{ t('latency') }} {{ t('loss') }} {{ t('status') }}
{{ row.average===null?'--':row.average.toFixed(1)+' ms' }} {{ row.loss.toFixed(1) }}% {{ row.loss>5||!isOnline(row.node)?t('degraded'):t('stable') }}
{{ t('noProbeData') }}

{{ t('map') }}

{{ t('mapSub') }}

{{ mappedNodes.length }} {{ t('mapped') }}
{{ t('globeLoading') }} {{ t('loaderSignal') }}
{{ t('globeUnavailable') }}
{{ t('globeOrbit') }} {{ t('globeHint') }}
{{ mapScaleLabel }}
{{ t('online') }}{{ t('offline') }}

{{ t('billing') }}

{{ t('billingSub') }}

{{ t('monthlySpend') }}{{ billingHeadline }}
{{ t('paidNodes') }}{{ paidNodes.length }}
{{ t('renewingSoon') }}{{ expiringNodes.length }}

{{ t('nodeCost') }}

{{ t('normalizedMonth') }}
{{ node.name||node.uuid }}{{ billingCycleText(node) }} · {{ node.currency || '$' }}{{ number(node.price).toFixed(2) }} {{ node.public_remark }}
{{ billingFor(node).label }}{{ expiryText(node) }}
{{ t('noBilling') }}
← {{ t('back') }}

{{ selectedNode.name || selectedNode.uuid }}

{{ selectedNode.region || '--' }} / {{ selectedNode.os || '--' }} / {{ selectedNode.cpu_name || '--' }}

{{ metric.name }}{{ metric.value }}{{ metric.sub }}

{{ t('historyWindow') }}

{{ t('historySub') }}
{{ t('loadTrace') }} / {{ detailHours }}H
{{ chartHover.label }}
{{ chartHover.value }}
{{ chartZoomLabel('detail-load') }}
{{ t('latencyTrace') }} / {{ detailHours }}H
{{ chartHover.label }}
{{ chartHover.value }}
{{ chartZoomLabel('detail-ping') }}
{{ t('sampleCount') }}{{ detailPingStats.count }}
{{ t('minLatency') }}{{ detailPingStats.min }}
{{ t('averageLatency') }}{{ detailPingStats.avg }}
{{ t('maxLatency') }} / {{ t('loss') }}{{ detailPingStats.max }} / {{ detailPingStats.loss }}
{{ t('nodeNotFound') }}