1
{{$t('stepSelectType')}}
2
{{addType === 'host' ? $t('stepConfigHost') : $t('stepPairDevice')}}
3
{{$t('stepDone')}}
{{$t('selectDeviceType')}}
📡
{{$t('typeEsp32Host')}}
{{$t('typeEsp32HostDesc')}}
>
❄️
{{$t('typeAirConditioner')}}
{{$t('typeAirConditionerDesc')}}
>
💡
{{$t('typeIrDevice')}}
{{$t('typeIrDeviceDesc')}}
>
📻
{{$t('typeRf433Device')}}
{{$t('typeRf433DeviceDesc')}}
>
🔥
{{$t('typeGasValve')}}
{{$t('typeGasValveDesc')}}
>
{{$t('addEsp32Host')}}
📡
{{$t('lanScan')}}
{{$t('lanScanDesc')}}
✏️
{{$t('manualInput')}}
{{$t('manualInputDesc')}}
📡
{{$t('scanningDevices')}}
{{$t('foundDevices')}}
📡
{{d.name}}
IP: {{d.ip}}
{{$t('hostIpAddress')}}
{{$t('irSelectTypeTitle')}}
💡
{{$t('irLight')}}
🔌
{{$t('irPowerStrip')}}
🌀
{{$t('irFan')}}
📱
{{$t('irOther')}}
{{$t('previous')}}
{{$t('irSelectBrandPrefix')}}{{getIrSubTypeName(irSubType)}}{{$t('irSelectBrandSuffix')}}
{{brand.name}}
{{brand.codeCount}}{{$t('codeLibraries')}}
{{$t('previous')}}
{{$t('pairPrefix')}}{{selectedBrand.name}}{{getIrSubTypeName(irSubType)}}
{{$t('selectControlHost')}}
📡
{{h.name}}
{{$t('pleaseAddEsp32HostFirst')}}
{{$t('irCodePairing')}}
{{$t('currentCode')}}: {{currentCodeIndex}} / {{selectedBrand.codeCount}}
{{$t('pairHint')}}
{{$t('testing')}}: {{selectedBrand.name}}_{{String(currentCodeIndex).padStart(3, '0')}}
📡 {{$t('sendCurrentCode')}}
✅ {{$t('deviceResponded')}}
❌ {{$t('noResponseNext')}}
✅
{{$t('pairingSuccess')}}
{{$t('matchedCode')}}: {{selectedBrand.name}}_{{String(matchedCodeIndex).padStart(3, '0')}}
{{$t('rePair')}}
{{$t('next')}}
{{$t('previous')}}
{{$t('completeDeviceInfo')}}
{{$t('deviceName')}}
{{$t('room')}}
{{selectedRoom || $t('chooseRoom')}}
{{$t('deviceType')}}
{{getIrSubTypeName(irSubType)}}
{{$t('brand')}}
{{selectedBrand.name}}
{{$t('controlHost')}}
{{selectedHost ? selectedHost.name : '-'}}
{{$t('pairStatus')}}
{{$t('paired')}}
{{$t('previous')}}
{{$t('addDeviceTitle')}}
{{$t('addPrefix')}}{{getTypeName(addType)}}
{{$t('selectControlHost')}}
📡
{{h.name}}
{{$t('pleaseAddEsp32HostFirst')}}
{{$t('deviceName')}}
{{$t('room')}}
{{selectedRoom || $t('chooseRoom')}}
💡
{{$t('acNeedPairNotice')}}
{{$t('previous')}}
{{addType === 'ac' ? $t('next') : $t('addDeviceTitle')}}
{{$t('previous')}}
{{$t('connectHost')}}
✅
{{addType === 'host' ? $t('hostAddedSuccess') : $t('deviceAddedSuccess')}}
{{$t('deviceType')}}
{{getTypeName(addType)}}
{{$t('deviceName')}}
{{deviceName}}
{{$t('room')}}
{{selectedRoom}}
{{$t('controlHost')}}
{{selectedHost ? selectedHost.name : '-'}}
{{$t('pairStatus')}}
{{$t('unpaired')}}
{{$t('acNeedPairHint')}}
{{$t('pairNow')}}
{{$t('continueAdd')}}
{{$t('finish')}}