From 58a81420d1b19decf85d656419ec9bee7319abcd Mon Sep 17 00:00:00 2001 From: seo Date: Sun, 26 Jul 2026 01:11:02 +0900 Subject: [PATCH] =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EB=B2=88=EC=97=AD=20?= =?UTF-8?q?=ED=82=A4=20=EB=88=84=EB=9D=BD=20=EB=B3=B4=EA=B0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/app.js | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/public/assets/app.js b/public/assets/app.js index ef499fa..b818df9 100644 --- a/public/assets/app.js +++ b/public/assets/app.js @@ -250,6 +250,8 @@ settingsSaveFailed: 'settings save failed', settingsResetConfirm: 'Reset all Control settings to defaults?', settingsDefault: 'default', + settingsOn: 'on', + settingsOff: 'off', touchDisplaySettings: 'Touch Display', touchDisplayStatus: 'Status', touchDisplayDetected: 'Detected', @@ -270,6 +272,7 @@ touchSizeX: 'Touch X size', touchSizeY: 'Touch Y size', touchDisplaySave: 'Save display boot settings', + touchDisplaySaveConfirm: 'Save display boot settings? Reboot is required after saving.', touchDisplaySaved: 'Display settings saved. Reboot is required.', touchDisplayNoChange: 'Display settings already match.', rebootButton: 'Reboot', @@ -281,6 +284,8 @@ noWifiClients: 'No connected DHCP clients', noProcessActivity: 'No process activity', noCause: 'No candidate', + wifiValueAlias: 'DB saved name', + wifiValueGenerated: 'Temporary MAC-based name', recordedReason: 'Recorded reason', instantChange: 'instant change', tempHigher: 'temperature above average', @@ -304,6 +309,7 @@ minuteAgo: ({ minutes }) => `${minutes}m ago`, unnamed: 'Unnamed', ago: 'ago', + recentCountUnit: 'x', refreshFailed: 'refresh failed', applyingFan: 'Applying fan policy...', fanUpdated: 'Fan updated', @@ -467,6 +473,8 @@ settingsSaveFailed: '설정 저장 실패', settingsResetConfirm: 'Control 설정을 모두 기본값으로 되돌릴까요?', settingsDefault: '기본값', + settingsOn: '켜기', + settingsOff: '끄기', touchDisplaySettings: '터치 디스플레이', touchDisplayStatus: '상태', touchDisplayDetected: '인식', @@ -487,6 +495,7 @@ touchSizeX: '터치 X 크기', touchSizeY: '터치 Y 크기', touchDisplaySave: '디스플레이 부팅 설정 저장', + touchDisplaySaveConfirm: '디스플레이 부팅 설정을 저장할까요? 저장 후 재부팅해야 적용됩니다.', touchDisplaySaved: '디스플레이 설정을 저장했습니다. 재부팅이 필요합니다.', touchDisplayNoChange: '디스플레이 설정이 이미 동일합니다.', rebootButton: '재부팅', @@ -498,6 +507,8 @@ noWifiClients: '연결된 DHCP 클라이언트 없음', noProcessActivity: '프로세스 활동 없음', noCause: '원인 후보 없음', + wifiValueAlias: 'DB 저장 이름', + wifiValueGenerated: 'MAC 기반 임시 이름', recordedReason: '기록된 이유', instantChange: '순간 변화', tempHigher: '온도 평균보다 상승', @@ -521,6 +532,7 @@ minuteAgo: ({ minutes }) => `${minutes}분 전`, unnamed: '이름 없음', ago: '전', + recentCountUnit: '회', refreshFailed: '갱신 실패', applyingFan: '팬 정책 적용 중...', fanUpdated: '팬 갱신 완료', @@ -672,8 +684,8 @@ layer.dataset.open = '0'; layer.setAttribute('aria-hidden', 'true'); ok.classList.remove('red'); - ok.textContent = '확인'; - cancel.textContent = '취소'; + ok.textContent = t('dialogOk'); + cancel.textContent = t('dialogCancel'); input.value = ''; input.hidden = true; input.type = 'text'; @@ -817,8 +829,8 @@ - 켜기 - 끄기 + ${escapeHtml(t('settingsOn'))} + ${escapeHtml(t('settingsOff'))} @@ -907,8 +919,8 @@ return ` - 켜기 - 끄기 + ${escapeHtml(t('settingsOn'))} + ${escapeHtml(t('settingsOff'))} `; } @@ -953,8 +965,8 @@ } if (item.type === 'boolean') { return item.default === true || item.default === 1 || item.default === '1' || item.default === 'true' - ? '켜기' - : '끄기'; + ? t('settingsOn') + : t('settingsOff'); } return item.default ?? ''; }; @@ -1087,7 +1099,7 @@ } async function saveTouchDisplaySettings() { - if (!await window.customConfirm('디스플레이 부팅 설정을 저장할까요? 저장 후 재부팅해야 적용됩니다.', { title: t('touchDisplaySettings') })) { + if (!await window.customConfirm(t('touchDisplaySaveConfirm'), { title: t('touchDisplaySettings') })) { return; } try { @@ -1580,8 +1592,8 @@ if (!source || source === 'iw' || source === 'lease') return ''; if (source.startsWith('estimated_')) return ''; const labels = { - alias: 'DB 저장 이름', - generated: 'MAC 기반 임시 이름', + alias: t('wifiValueAlias'), + generated: t('wifiValueGenerated'), }; return labels[source] || source; } @@ -1820,7 +1832,7 @@ const percent = Number(eventState.recent_active_percent ?? 0); const activeText = formatDhms(seconds) || '0s'; - return `${count}${state.lang === 'ko' ? '회' : 'x'} / ${t('recentActive')} ${activeText} (${percent.toFixed(1)}%)`; + return `${count}${t('recentCountUnit')} / ${t('recentActive')} ${activeText} (${percent.toFixed(1)}%)`; } function eventDurationText(eventState) {