{{ t('header.prefix') }}

{{ isSecureContext ? '>_ RNode Flasher' : '>_ RNode WebSocket Configurator' }}

{{ t('warning.serial') }}
{{ t('panel.device') }}
{{ connectedDevice }} {{ connectedFwVer }} {{ connectedPlatformLabel }}
{{ flashProgress }}%
{{ detectedStatusText }}
▶ {{ t('adv.toggle') }}
{{ t('screen.label') }}
RNode screen
{{ t('monitor.title') }}
{{ t('monitor.empty') }}
{{ entry.pfx }} {{ entry.txt }}
▌
{{ t('cfg.title') }}
{{ t('cfg.not_connected') }}
{{ t('radio.notice') }}
{{ t('tnc.on') }} {{ t('tnc.off') }}
{{ t('eth.speed_notice') }}
{{ btPin ? t('bt.pin.label') : t('bt.pin.connect') }}
{{ btPin || '······' }}
{{ t('urns.id.lxmf') }}{{ urns.copied === 'lxmf' ? t('urns.copied') : (urns.info.idHash || '—') }}
{{ t('urns.id.transport') }}{{ urns.copied === 'transport' ? t('urns.copied') : (urns.info.transportHash || '—') }}
{{ t('urns.id.delivery') }}{{ urns.copied === 'delivery' ? t('urns.copied') : (urns.info.deliveryHash || '—') }}
{{ urns.info.sd ? t('urns.sd') : t('urns.storage') }}{{ urnsFmtBytes(urns.info.used) }} / {{ urnsFmtBytes(urns.info.total) }}{{ t('urns.pin') }}
{{ t('urns.not_ready') }}
{{ t('urns.backup.desc') }}
{{ t('urns.password_warn') }}
{{ t('urns.restore.desc') }}
{{ urns.restoreFile.name }}
{{ urns.restoreError }}
{{ t('urns.restore.from') }}: {{ urns.restoreManifest.device || '?' }} {{ t('urns.identity') }}: {{ urns.restoreManifest.identity_hash }} {{ urns.restoreManifest.created }} {{ urns.restoreManifest.files }} {{ t('urns.files') }}, {{ urnsFmtBytes(urns.restoreManifest.bytes) }} {{ t('urns.vault_on') }}
{{ t('urns.restore.warn') }}
{{ t('urns.restore.model_mismatch') }}
{{ urns.pct }}%
{{ selectedDevice ? t('hw.info.no_data') : t('hw.info.select') }}