/*
 * CoolerControl - monitor and control your cooling and other devices
 * Copyright (c) 2021-2025  Guy Boldon and contributors
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

export default {
    common: {
        save: '저장',
        cancel: '취소',
        confirm: '확인',
        delete: '삭제',
        edit: '편집',
        add: '추가',
        remove: '제거',
        yes: '예',
        no: '아니오',
        ok: '확인',
        error: '오류',
        success: '성공',
        warning: '주의',
        loading: '로딩 중...',
        restarting: '재시작 중...',
        noData: '사용 가능한 데이터 없음',
        retry: '재시도',
        saveAndRefresh: '저장 및 새로 고침',
        reset: '재설정',
        back: '뒤로',
        sslTls: 'SSL/TLS',
        protocol: '프로토콜',
        address: '주소',
        port: '포트',
        search: '검색',
        selected: '선택됨',
        clear: '지우기',
        finish: '끝내기',
        next: '다음',
        previous: '이전',
        apply: '적용',
        defaults: '기본',
        unmanaged: '관리 안 됨',
        readOnly: '읽기 전용',
        rename: '이름 바꾸기',
        password: '비밀번호',
        currentPassword: '현재 비밀번호',
        newPassword: '새 비밀번호',
        confirmPassword: '비밀번호 확인',
        passwordPrompt: '비밀번호를 입력하세요',
        passwordWeak: '약함',
        passwordMedium: '보통',
        passwordStrong: '강함',
        savePassword: '비밀번호 저장',
        editName: '이름 편집',
        state: '상태',
        name: '이름',
        message: '메세지',
        timestamp: '타임스탬프',
        overview: '개요',
        login: '로그인',
        logout: '로그아웃',
        temperature: '온도',
        duty: '점유',
        offset: '오프셋',
        stay: '유지',
        discard: '폐기',
        blankNameResetDefault: '이름을 비워두면 시스템 기본값으로 재설정됩니다.',
        copy: '(복사)',
        minuteAbbr: '최소',
        rpmAbbr: 'rpm',
        mhzAbbr: 'MHz',
        ghzAbbr: 'GHz',
        tempUnit: '°C',
        percentUnit: '%',
        secondAbbr: 's',
        wattAbbr: 'W',
        toast: {
            modeCreated: '모드 생성됨',
            modeDuplicated: '모드 중복됨',
            modeNameUpdated: '모드 이름 업데이트됨',
            modeUpdated: '모드가 현재 설정으로 업데이트됨',
            modeDeleted: '모드 삭제됨',
            modeActivated: '모드 활성화됨',
            customSensorSaved: '커스텀 센서가 저장되었고 UI가 새로 고침 중...',
            customSensorUpdated: '커스텀 센서가 성공적으로 업데이트되었고 UI가 새로 고침 중...',
            customSensorDeleted: '커스텀 센서가 성공적으로 삭제되었고 UI가 새로 고침 중...',
            alertSaved: '알림 저장됨',
            alertUpdated: '알림 업데이트됨',
            alertDeleted: '알림 삭제됨',
            alertNotFound: '업데이트할 알림을 찾을 수 없음',
            settingsUpdated: '설정이 성공적으로 업데이트되어 장치에 적용되었음',
            settingsError: '이 설정을 적용하는 과정에서 오류 발생',
            thinkPadFanControlApplied: 'ThinkPad 팬 제어 기능이 성공적으로 적용되었음',
        },
    },
    layout: {
        topbar: {
            login: '로그인',
            logout: '로그아웃',
            changePassword: '비밀번호 변경',
            accessTokens: '액세스 토큰',
            restartUI: 'UI 재시작',
            restartDaemonAndUI: '데몬 및 UI 재시작',
            restartConfirmMessage: '데몬과 UI를 재시작할까요?',
            restartConfirmHeader: '데몬 재시작',
            shutdownSuccess: '데몬 종료 신호가 수락되었음',
            shutdownError:
                '종료 신호를 보내는 동안 알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.',
            quitDesktopApp: '데스크톱 앱 종료',
            applicationInfo: '정보 및 도구',
            back: '뒤로',
            expandMenu: '확장 메뉴',
            collapseMenu: '메뉴 접기',
            controls: '제어',
            alerts: '알림',
            settings: '설정',
            openInBrowser: '브라우저에서 열기',
            modes: '모드',
            loginSuccessful: '로그인 성공',
        },
        settings: {
            title: '설정',
            userInterface: '사용자 인터페이스',
            device: '장치',
            daemon: '데몬',
            devices: {
                devicesAndSensors: '장치 및 센서',
                detectionIssues: '감지에 문제가 있나요?',
                hardwareSupportDoc: '하드웨어 지원 문서를 참조하세요.',
                toggleRequiresRestart:
                    '장치 또는 센서를 켜고 끄려면 데몬과 UI를 재시작해야 합니다. 지금 재시작할까요?',
                enableDevices: '장치 활성화',
                selectTooltip:
                    '비활성화하거나 활성화할 장치 및 센서를 선택하세요.\n사용하지 않는 장치와 센서는 비활성화하는 것을 강력히 추천합니다.',
                unknownError:
                    '모든 장치에 변경 사항을 적용하는 중 알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.',
            },
            plugin: '플러그인 (베타)',
            plugins: {
                device: '장치 서비스 플러그인',
                integration: '통합 플러그인',
                privileged: '권한 있는 접속',
                pluginUrl: '홈페이지',
                restricted: '제한적 접속',
                settingsSaved: '플러그인 설정이 성공적으로 저장되었음',
                settingsNotSaved: '플러그인 설정을 저장하는 데 실패함',
            },
            profiles: '프로파일',
            alerts: '알림',
            dashboards: '대시보드',
            modes: '모드',
            appearance: '디자인',
            language: '언어',
            selectLanguage: '언어 선택',
            english: '영어',
            chinese: '중국어 (간체)',
            japanese: '일본어',
            chineseTrad: '중국어 (번체)',
            russian: '러시아어',
            german: '독일어',
            french: '프랑스어',
            spanish: '스페인어',
            arabic: '아라비아어',
            portuguese: '포르투갈어',
            hindi: '힌디어',
            theme: '테마',
            themeLight: '밝음',
            themeDark: '어두움',
            themeSystem: '시스템',
            themeCustom: '커스텀',
            themeHighContrastDark: '고대비 어두움',
            themeHighContrastLight: '고대비 밝음',
            lineThickness: '선 두께',
            fullScreen: '전체 화면',
            menuBarAlwaysVisible: '메뉴 표시줄 항상 보이기',
            hideMenuCollapseIcon: '메뉴 접기 아이콘 숨기기',
            eyeCandy: '시각 효과',
            showOnboarding: '시작 시 온보딩 투어 표시',
            introduction: '소개',
            startTour: '투어 시작',
            timeFormat: '시간 형식',
            time24h: '24시간',
            time12h: '12시간',
            frequencyPrecision: '주파수 정밀도',
            startupPage: '시작 페이지',
            sidebarToCollapse: '사이드바 접기',
            entitiesBelowSensors: '센서 아래 개체',
            dashboardLineSize: '대시보드 선 크기',
            themeStyle: '테마 스타일',
            themeMode: {
                system: '시스템',
                dark: '어두움',
                light: '밝음',
                highContrastDark: '고대비 어두움',
                highContrastLight: '고대비 밝음',
                custom: '커스텀',
            },
            desktop: '데스크톱',
            startInTray: '트레이에서 시작',
            closeToTray: '트레이에서 닫기',
            zoom: '확대/축소',
            desktopStartupDelay: '데스크톱 시작 지연',
            applySettingsOnStartup: '시작 시 설정 적용',
            deviceDelayAtStartup: '장치 시작 시 지연',
            pollingRate: '폴링 레이트',
            compressApiPayload: 'API 페이로드 압축',
            liquidctlIntegration: 'Liquidctl',
            liquidctlDeviceInit: 'Liquidctl 장치 초기화',
            hideDuplicateDevices: '중복 장치 숨기기',
            drivePowerState: '드라이버 전원 상태',
            sensorsAutoDetect: '센서 자동 감지',
            deviceListener: '장치 변경 리스너',
            customTheme: {
                title: '커스텀 테마',
                accent: '강조색',
                bgOne: '메인 배경색',
                bgTwo: '보조 배경색',
                border: '테두리 색',
                text: '문자 색',
                textSecondary: '보조 문자 색',
                export: '테마 내보내기',
                import: '테마 가져오기',
                copyCode: '코드 복사',
                pasteCode: '코드 붙여넣기',
                themeCodeCopied: '테마 코드가 복사되었습니다',
                themeApplied: '테마가 적용되었습니다',
                invalidThemeCode: '잘못된 테마 코드',
            },
            tooltips: {
                introduction: '애플리케이션 소개 투어를 시작합니다.',
                timeFormat: '시간 형식: 12시간 (AM/PM) 또는 24시간',
                frequencyPrecision: '표시되는 주파수 값의 정밀도를 조정하세요.',
                startupPage: '애플리케이션 로드 후 표시되는 페이지입니다.',
                eyeCandy:
                    '회전하는 팬 아이콘과 같은 시각적 애니메이션을 활성화합니다.\n이 기능은 추가적인 GPU 리소스를 사용합니다.',
                sidebarCollapse:
                    '사이드바에 메뉴 접기 아이콘을 표시할지,\n또는 빈 사이드바 영역을 활용하여 메인 메뉴를 펼치거나 접을지 결정합니다.',
                entitiesBelowSensors: '메인 메뉴에서 장치 센서 아래에 개체를 표시할지 여부.',
                fullScreen: '전체 화면 모드 전환',
                lineThickness: '대시보드의 차트 선 굵기를 조정',
                startInTray:
                    '시스템 시작 시 메인 UI 창은 숨겨지고\n시스템 트레이 아이콘만 표시됩니다.',
                closeToTray: '애플리케이션 창을 닫아도 앱은 시스템 트레이에서 계속 실행됩니다.',
                zoom: 'UI 확대/축소 수준을 수동으로 설정합니다.',
                desktopStartupDelay:
                    '데스크톱 애플리케이션 시작 전에 (몇 초 정도의) 지연 시간을 추가합니다.\n로그인 시 데스크톱 애플리케이션이 자동으로 시작되거나 너무 빨리 시작될 때\n발생하는 문제를 해결하는 데 도움이 됨',
                applySettingsOnStartup:
                    '데몬 시작 시 및 절전 모드에서 깨어날 때 설정을 자동으로 적용함',
                deviceDelayAtStartup:
                    '장치 통신 시작 전 (몇 초 정도의) 지연 시간입니다.\n초기화 시간이 오래 걸리거나 간헐적으로 감지되는 장치에 도움이 됨',
                pollingRate:
                    '센서 데이터 (몇 초 정도의) 수집 속도입니다.\n수집 속도가 높을수록 리소스 사용량이 줄어들고, 낮을수록 응답 속도가 향상됩니다.\n1.0 미만의 속도는 주의해서 사용해야 합니다.',
                compressApiPayload: 'API 페이로드 압축 활성화',
                liquidctlIntegration:
                    '이 기능을 비활성화하면 coolercontrol-liqctld 패키지의 설치 상태와\n관계없이 Liquidctl 통합 기능이 완전히 비활성화됩니다.\n사용 가능한 경우 HWMon 드라이버가 대신 사용됩니다.',
                liquidctlDeviceInit:
                    '주의: Liquidctl 장치 초기화를 본인 또는 다른 프로그램에서\n처리하는 경우에만 이 옵션을 비활성화하세요.\n이렇게 하면 다른 프로그램과의 충돌을 방지할 수 있습니다.',
                hideDuplicateDevices:
                    '일부 장치는 Liquidctl 및 HWMon 드라이버 모두에서 지원됩니다.\nLiquidctl은 추가 기능 때문에 기본적으로 사용됩니다. HWMon 드라이버를 사용하려면,\n드라이버 충돌을 방지하기 위해 Liquidctl과 HWMon 드라이버를 모두 비활성화하세요.',
                drivePowerState:
                    '특히 SSD와 HDD는 회전을 멈추고 저전력 상태로 전환할 수 있습니다.\n이 옵션을 활성화하고 드라이브가 이를 지원하는 경우, 드라이브가 회전을 멈췄을 때\n드라이브 온도를 0°C로 보고하므로 팬 프로파일을 그에 맞게 조정할 수 있습니다.',
                sensorsAutoDetect:
                    '시작 시 Super-I/O 하드웨어 센서를 자동으로 감지하고\n커널 모듈을 로드합니다. (x86_64 전용)',
                deviceListener:
                    '장치 추가/제거 이벤트(예: USB 핫플러그)를 감지하고\n하드웨어 변경이 감지되면 알림을 보냅니다.',
                daemonAddress:
                    '연결을 설정할 데몬의 IP 주소 또는 도메인 이름입니다.\nIPv4, IPv6, DNS로 확인 가능한 호스트 이름을 지원합니다.',
                daemonPort: '데몬과의 연결을 설정하는 데 사용되는 포트입니다.',
                sslTls: 'SSL/TLS를 사용하여 데몬에 연결할지 여부.\n프록시 설정이 필요합니다.',
                triggersRestart: '자동 재시작 트리거',
                triggersUIRestart: 'UI 자동 재시작 트리거',
                triggersDaemonRestart: '자동 데몬 재시작 트리거',
                resetToDefaults: '기본 설정으로 재설정',
                saveAndReload: 'UI를 저장하고 다시 로드',
                copyThemeCode:
                    '현재 커스텀 테마를 나타내는 짧은 코드를 복사합니다.\n채팅이나 포럼에서 공유하세요.',
                pasteThemeCode: '공유받은 코드 (cct1:...) 로 커스텀 테마를 적용합니다.',
                exportThemeFile: '현재 커스텀 테마를 JSON 파일로 저장합니다.',
                importThemeFile: '디스크의 JSON 파일에서 커스텀 테마를 불러옵니다.',
            },
            applySettingAndRestart:
                '이 설정을 변경하려면 데몬과 UI를 다시 시작해야 합니다. 지금 다시 시작할까요?',
            restartHeader: '설정 적용 후 다시 시작',
            restartSuccess: '지금 다시 시작',
            success: '성공',
            successDetail: '작업이 성공적으로 완료되었음',
            settingsAppliedSuccess: '설정이 성공적으로 적용되었음',
            restartRequestSuccess: '재시작 요청이 성공적으로 전송되었',
            colorPickerDialogTitle: '색상 선택',
            colorPickerConfirm: '확인',
            colorPickerCancel: '취소',
            languageChangeConfirm: '언어를 변경할까요?',
            languageChangeConfirmMessage:
                '계속할까요? 인터페이스 요소가 제대로 표시되지 않으면 페이지를 수동으로 새로 고침하세요.',
            languageChangeSuccess: '언어가 성공적으로 변경되었습니다.',
            languageChangeError: '언어 변경에 실패했습니다. 다시 시도해 주세요.',
            themeChangeSuccess: '테마가 성공적으로 변경되었습니다.',
            entitiesBelowSensorsEnabledMessage: '이제 개체가 센서 아래에 표시됩니다.',
            entitiesBelowSensorsDisabledMessage: '개체가 더 이상 센서 아래에 표시되지 않습니다',
        },
        menu: {
            system: '시스템',
            dashboards: '대시보드',
            profiles: '프로파일',
            functions: '기능',
            customSensors: '커스텀 센서',
            modes: '모드',
            alerts: '알림',
            pinned: '고정됨',
            tooltips: {
                delete: '삭제',
                createMode: '현재 설정에서 모드 생성',
                addProfile: '프로파일 추가',
                editName: '이름 편집',
                addAlert: '알림 추가',
                deleteFunction: '기능 삭제',
                addDashboard: '대시보드 추가',
                deleteDashboard: '대시보드 삭제',
                duplicate: '복제',
                setAsHome: '홈으로 설정',
                save: '저장',
                deleteMode: '모드 삭제',
                updateWithCurrentSettings: '현재 설정 업데이트',
                rename: '이름 바꾸기',
                createModeFromCurrentSettings: '현재 설정에서 생성 모드',
                addCustomSensor: '커스텀 센서 추가',
                addFunction: '기능 추가',
                chooseColor: '색상 선택',
                deviceSettings: '고급 장치 설정',
                options: '더 많은 옵션',
                moveTop: '위로 이동',
                moveBottom: '아래로 이동',
                disable: '비활성',
                pin: '위에 고정',
                unpin: '핀 해제',
                profileApply: '팬들에 프로파일 적용',
                tags: '태그 관리',
            },
        },
        plugins: {
            plugins: '플러그인',
            notFound: '플러그인을 찾을 수 없습니다',
            type: '유형',
            address: '주소',
            privileges: '권한',
            url: 'URL',
            start: '시작',
            stop: '중지',
            restart: '재시작',
            started: '플러그인이 시작되었습니다',
            stopped: '플러그인이 중지되었습니다',
            restarted: '플러그인이 재시작되었습니다',
            startFailed: '플러그인 시작 실패',
            stopFailed: '플러그인 중지 실패',
            restartFailed: '플러그인 재시작 실패',
            overview: '플러그인 개요',
            gettingStarted:
                '플러그인은 추가 장치 지원, 통합 및 자동화로 CoolerControl을 확장합니다. 새로운 장치 센서 및 제어를 제공하고, 외부 서비스에 연결하거나, 사용자 지정 UI 페이지를 추가할 수 있습니다.',
            docsLink: '플러그인 문서',
            restartNote:
                '최근에 새 플러그인을 추가했는데 여기에 표시되지 않으면 CoolerControl 데몬을 재시작하세요.',
            containerNote:
                '컨테이너에서 CoolerControl을 실행할 때 플러그인은 컨테이너 재시작 후에도 유지되도록 영구 가상 공유 폴더에 배치해야 합니다.',
            installedPlugins: '설치된 플러그인',
            noPlugins: '설치된 플러그인 없음',
            info: '정보',
            description: '설명',
            enable: '활성화',
            disable: '비활성화',
            disabled: '비활성화됨',
            pluginDisabled: '플러그인이 비활성화되었습니다.',
            pluginEnabled: '플러그인이 활성화되었습니다.',
            pluginDisabledRestart: '플러그인이 비활성화되었습니다. 적용하려면 데몬을 재시작하세요.',
            pluginEnabledRestart: '플러그인이 활성화되었습니다. 적용하려면 데몬을 재시작하세요.',
            disableFailed: '플러그인 비활성화 실패',
            enableFailed: '플러그인 활성화 실패',
            serviceLogs: '서비스 로그',
            commandCopied: '명령이 클립보드에 복사됨',
        },
        add: {
            dashboard: '대시보드',
            mode: '모드',
            profile: '프로파일',
            function: '기능',
            alert: '알림',
            customSensor: '커스텀 센서',
        },
    },
    views: {
        daemon: {
            title: '데몬',
            daemonErrors: '데몬 오류',
            daemonErrorsDetail: '데몬에서 오류가 발생했습니다. 자세한 내용은 로그를 확인하세요.',
            daemonDisconnected: '데몬 연결 해제됨',
            daemonDisconnectedDetail: '데몬에 연결할 수 없습니다. 데몬이 실행 중인지 확인하세요.',
            connectionRestored: '연결 복원됨',
            connectionRestoredMessage: '데몬 연결이 복원되었습니다.',
            thinkpadFanControl: 'ThinkPad 팬 제어',
            pollRate: '폴링 레이트',
            applySettingAndRestart: '설정 적용 및 다시 시작',
            changeSetting:
                '이 설정을 변경하려면 데몬과 UI를 다시 시작해야 합니다. 지금 다시 시작할까요?',
            status: {
                ok: '확인',
                hasWarnings: '주의 발생',
                hasErrors: '오류 발생',
            },
        },
        devices: {
            detectionIssues: '감지 문제가 발생했나요? 다음을 참조하세요',
            hardwareSupportDocs: '하드웨어 지원 문서',
            selectDevices:
                '비활성화 또는 활성화할 장치 및 센서를 선택하세요.\n사용하지 않는 장치와 센서는 비활성화하는 것을\n강력히 추천합니다.',
            devicesAndSensors: '장치 및 센서',
            apply: '적용',
            applySettingsAndReload: '설정 적용 후 다시 로드',
            triggersAutoRestart: '자동 데몬 다시 시작 트리거',
            restartPrompt:
                '장치 또는 센서를 켜고 끄려면 데몬과 UI를 다시 시작해야 합니다. 지금 정말로 다시 시작할까요?',
            enableDevices: '장치 활성화',
        },
        speed: {
            automatic: '자동',
            manual: '수동',
            unsavedChanges: '저장되지 않은 변경 사항',
            unsavedChangesMessage: '이 제어 채널에 저장되지 않은 변경 사항이 있습니다.',
            manualDuty: '수동 점유',
            profileToApply: '적용할 프로파일',
            controlModeAutomaticTooltip: '이 채널에 팬 프로파일 적용',
            controlModeManualTooltip: '고정 듀티 백분율을 수동으로 설정',
            controlModeUnmanagedTooltip:
                '이 채널의 관리를 중지하고 장치의 하드웨어 또는 드라이버에 맡깁니다',
            driverNoSupportControl:
                '읽기 전용 채널입니다. 현재 드라이버는 이 채널의 속도 설정을 지원하지 않습니다.',
            amdOverdriveNotEnabled:
                'AMD GPU 오버드라이브가 활성화되지 않았습니다. 이 장치의 고급 설정에서 활성화하세요 (재부팅 필요).',
            controlOrView: '제어 또는 보기',
            applySetting: '설성 적용',
            defaultProfileInfo:
                '"관리 안 됨"을 선택하면 CoolerControl이 이 팬의 제어를 중지하고<br/>제어 권한을 장치 드라이버에 다시 넘깁니다.<br/><br/><b>경고:</b> 많은 드라이버에는 자동 팬 제어 기능이 <i>없습니다</i>.<br/>해당 장치에서는 팬이 마지막으로 설정된 속도로 유지됩니다.',
        },
        customSensors: {
            newSensor: '새 센서',
            sensorType: '센서 유형',
            type: '유형',
            mixFunction: '혼합 기능',
            howCalculateValue: '센서값을 계산하는 방법',
            tempFileLocation: '온도 파일 위치',
            tempFile: '온도 파일',
            filePathTooltip:
                '이 센서에 사용할 온도 파일의 절대 경로를 입력하세요.\n해당 파일은 sysfs 데이터 형식 표준을 사용해야 합니다:\n섭씨 밀리도 단위의 고정 소수점 숫자입니다.\n예: 80°C의 경우 80000입니다.\n파일은 제출 시 검증됩니다.',
            browse: '찾아보기',
            browseCustomSensorFile: '커스텀 센서 파일 찾아보기',
            tempSources: '온도 소스',
            tempSource: '온도 소스',
            tempSourcesTooltip:
                '혼합 기능에 사용할 온도 소스<br/><i>참고: 여러 커스텀 센서를 결합할 때는<br/>직접적인 부모-자식 관계만 허용됩니다.<br/>더 복잡한 설정을 위해서는 혼합 프로파일을 사용하세요.</i>',
            offset: '오프셋 조정값',
            offsetTooltip:
                '소스 센서에 적용할 음수 또는 양수 오프셋 값을 입력하세요.<br/><br/><i>참고: 최종 값은 정상 온도 범위로 제한됩니다.<br/></i>',
            timeWindow: '스무딩 윈도우',
            timeWindowTooltip:
                '최근 샘플을 몇 초 동안 함께 스무딩할지 설정합니다.<br/><i>참고: 1초에서 300초 사이여야 합니다.</i>',
            helpText: {
                mix: '선택한 함수(최소/최대/평균/델타/가중 평균)를 통해 여러 온도 소스를 결합합니다. 여러 센서 중 가장 뜨거운 것으로 팬을 구동하거나 영역 간의 균형을 맞추는 데 사용합니다.',
                file: '파일 경로에서 온도를 읽습니다. CoolerControl에서 자동 감지되지 않는 센서에 사용합니다.',
                offset: '온도 소스에서 고정값을 더하거나 뺍니다. 알려진 센서 부정확성을 보정하는 데 사용합니다.',
                timeAverage:
                    '고정된 시간 윈도우에 대한 산술 평균입니다. 출력은 입력 범위로 제한되며 절대 초과하지 않습니다. 짧은 온도 급증을 무시해야 하는 팬에 적합합니다.',
                exponentialMovingAvg:
                    '최근 측정값을 선호하는 가중 평균입니다. 동일한 윈도우의 시간 평균보다 매끄럽지만 지속적인 변화를 완전히 따르려면 윈도우 길이의 약 3배가 걸립니다. 지터 없이 실제 추세를 추적해야 하는 팬에 적합합니다.',
            },
            tempWeights: '온도 가중치',
            tempWeightsTooltip: '선택된 각 온도 소스의 개별 가중치입니다.',
            tempName: '온도 이름',
            weight: '가중치',
            saveSensor: '센서 저장',
            saveCustomSensor: '커스텀 센서 저장',
            unsavedChanges: '이 커스텀 센서에 저장되지 않은 변경 사항이 있습니다.',
            unsavedChangesHeader: '저장되지 않은 변경 사항',
            stay: '유지',
            discard: '폐기',
            selectCustomSensorFile: '커스텀 센서 파일 선택',
            deleteCustomSensor: '커스텀 센서 파일 삭제',
            deleteCustomSensorConfirm: '다음 커스텀 센서를 삭제합니다: "{name}" 맞나요?',
        },
        dashboard: {
            timeRange: '시간 범위',
            minutes: '분',
            chartType: '챠트 유형',
            dataType: '데이터 유형',
            filterSensors: '필터 센서',
            showControls: '제어 표시',
            mouseActions:
                '대시보드 마우스 동작:\n- 확대/축소하려면 강조 표시합니다.\n- 스크롤하여 확대/축소합니다.\n- 확대/축소 시 마우스 오른쪽 버튼을 클릭하여 화면 이동합니다.\n- 두 번 클릭하면 초기화되고 업데이트가 재개됩니다.\n- Ctrl+클릭 또는 가운데 버튼 클릭으로 모든 센서를 툴팁에 표시합니다.',
            fullPage: '전체 페이지',
            filterTags: '태그 필터',
            filterByTag: '태그별 필터링',
            filterBySensor: '센서별 필터링',
            search: '검색',
            filterTypes: '필터 유형',
            filterByDataType: '데이터 유형별 필터링',
            selectChartType: '차트 유형 선택',
            exitFullPage: '전체 페이지 나가기',
            controls: '제어',
            sensorValues: '센서 값',
            selected: '선택됨',
            clear: '지우기',
            deleteDashboard: '대시보드 삭제',
            deleteDashboardConfirm: '다음 대시보드를 삭제할까요: "{name}" 맞나요?',
            dashboardDeleted: '대시보드 삭제됨',
            setAsHome: '홈으로 설정',
            duplicateDashboard: '대시보드 복제',
        },
        appInfo: {
            title: '정보 및 도구',
            noWarranty: '이 프로그램에는 어떠한 보증도 제공되지 않습니다.',
            changeStartupPage: '설정에서 시작 페이지 변경',
            daemonStatus: '데몬 상태',
            acknowledgeIssues: '문제 인지',
            status: '상태',
            processStatus: '프로세스 상태',
            host: '호스트',
            uptime: '가동 시간',
            version: '버전',
            processId: '프로세스 ID',
            memoryUsage: '메모리 사용량',
            liquidctl: 'Liquidctl',
            connected: '연결됨',
            disconnected: '연결 해제됨',
            helpfulLinks: '유용한 링크',
            uiTour: 'UI 투어',
            uiTourDesc: '애플리케이션의 가이드 투어',
            gettingStarted: '시작하기',
            gettingStartedGraphProfile: '그래프 프로파일',
            gettingStartedControlsPage: '제어 페이지',
            gettingStartedStep1: '팬 프로파일에서 {profile}을 만들고 팬 곡선을 조정하세요.',
            gettingStartedStep2:
                '{controls}(또는 팬의 자체 페이지)에서 할당하세요. 프로파일은 자동 적용되지 않습니다.',
            gettingStartedStep3: '동일한 프로파일을 여러 팬에 재사용할 수 있습니다.',
            helpSettingUp: '팬 제어 설정 도움말',
            hardwareSupport: '하드웨어 지원',
            hardwareSupportDesc: '지원되는 장치 및 드라이버 설치',
            gitRepository: '깃 저장소',
            gitRepositoryDesc: '문제 또는 기능 요청 제출',
            discord: '디스코드',
            discordDesc: '디스코드 커뮤니티 참여',
            whatsNew: '새로운 소식',
            whatsNewDesc: '최신 릴리스 노트 보기',
            logsAndDiagnostics: '로그 및 진단',
            downloadCurrentLog: '현재 로그 다운로드',
            stressTest: '열 스트레스 테스트',
            stressTestTooltip:
                '지속적인 열 부하를 생성하여<br>팬 곡선과 냉각 프로파일을 검증합니다.<br>결과는 하드웨어에 따라 다를 수 있습니다.<br>추가 백엔드를 위해 stress-ng를 설치하세요.',
            cpuStress: 'CPU 스트레스',
            gpuStress: 'GPU 스트레스',
            gpuStressTooltip:
                '내장 백엔드 사용 시<br>Vulkan 또는 OpenGL ES 드라이버가 필요할 수 있습니다.',
            ramStress: 'RAM 스트레스',
            driveStress: '드라이브 스트레스',
            driveStressTooltip:
                '블록 장치에 대한 I/O 스트레스로<br>드라이브 컨트롤러에 열을 발생시킵니다.<br>stress-ng는 장치가 마운트되어 있어야 합니다.',
            builtInBackend: '내장',
            stressNgBackend: 'stress-ng',
            backendTooltip:
                '스트레스 테스트 백엔드를 선택하세요.<br>내장 백엔드는 외부 종속성 없이 작동합니다.<br>stress-ng (설치된 경우) 추가 스트레스 변형을 제공합니다.',
            selectDrive: '드라이브 선택',
            threadCount: '스레드',
            duration: '지속 시간 (초)',
            start: '시작',
            stop: '중지',
            stopAll: '모두 중지',
            active: '활성',
            inactive: '비활성',
            allCores: '모든 코어',
            psuWarningHeader: '높은 전력 경고',
            psuWarningMessage:
                'CPU와 GPU 스트레스 테스트를 동시에 실행하면 PSU에 상당한 부하가 걸립니다. 오버클럭 중이거나 저전력 PSU를 사용하는 경우 시스템 불안정이 발생할 수 있습니다. 계속하시겠습니까?',
            proceed: '계속',
        },
        alerts: {
            createAlert: '경고 생성',
            editAlert: '경고 편집',
            deleteAlert: '경고 삭제',
            noAlerts: '구성된 경고 없음',
            alertsOverview: '경고 개요',
            alertLogs: '경고 로그',
            alertTriggered: '경고 발생함',
            alertRecovered: '경고 복구됨',
            deleteAlertConfirm: '다음을 삭제할까요: "{name}" 맞나요?',
            saveAlert: '경고 저장',
            channelSource: '경고 채널 소스',
            channelSourceTooltip: '경고에 사용할 채널 소스',
            triggerConditions: '발생 조건',
            maxValueTooltip: '이 값보다 크면 경고가 발생합니다.',
            minValueTooltip: '이 값보다 작으면 경고가 발생합니다.',
            warmupDurationTooltip:
                '경고가 활성화되기 전에 특정 조건이 얼마나 오랫동안 지속되어야 하는지를 나타냅니다.\n이 값은 정기적인 폴링 간격으로만 확인되므로\n정확히 이 시간과 일치하지 않을 수 있습니다.',
            greaterThan: '보다 큰',
            lessThan: '보다 작은',
            newAlert: '새 경고',
            warmupGreaterThan: '조건이 더 오래 지속됨',
            unsavedChanges: '이 경고에 저장되지 않은 변경 사항이 있습니다.',
            unsavedChangesHeader: '저장되지 않은 변경 사항',
            createFailAlert: '경고 실패',
            desktopNotify: '데스크톱 알림',
            desktopNotifyTooltip: '경고가 발생될 때 데스크톱 알림을 활성화합니다.\n(지원되는 경우)',
            desktopNotifyRecovery: '복구 시 데스크톱 알림',
            desktopNotifyRecoveryTooltip:
                '경고가 복구될 때 데스크톱 알림을 활성화합니다.\n(지원되는 경우)',
            desktopNotifyAudio: '데스크톱 알림 오디오',
            desktopNotifyAudioTooltip:
                '알림이 발생될 때 데스크톱 알림 소리를 활성합니다.\n(지원되는 경우)',
            shutdownOnActivation: '활성화 시 종료',
            shutdownOnActivationTooltip:
                '경고가 발생하면 시스템을 종료합니다.\n시스템 종료는 경고 발생 후 1분 후에 시작되며,\n경고가 복구되면 취소됩니다.',
        },
        profiles: {
            createProfile: '프로파일 생성',
            editProfile: '프로파일 편집',
            deleteProfile: '프로파일 삭제',
            noProfiles: '구성된 프로파일이 없음',
            profileType: '프로파일 유형',
            fixedDuty: '고정 팬 속도',
            selectedPointDuty: '선택된 지점 점유',
            selectedPointTemp: '선택된 지정 온도',
            tempSource: '온도 소스',
            memberProfiles: '멤버 프로파일',
            mixFunction: '혼합 기능',
            applyMixFunction: '선택한 프로파일에 혼합 기능 적용',
            profilesToMix: '혼합할 프로파일',
            saveProfile: '프로파일 저장',
            function: '기능',
            functionToApply: '적용할 기능',
            graphProfileMouseActions:
                '그래프 프로파일 마우스 동작:\n- 스크롤하여 확대/축소합니다.\n- 선을 왼쪽 클릭하여 포인트를 추가합니다.\n- 해당 포인트를 마우스 오른쪽 클릭하여 제거합니다.\n- 포인트를 드래그하여 이동합니다.',
            unsavedChanges: '이 프로파일에 저장되지 않은 변경 사항이 있습니다.',
            unsavedChangesHeader: '저장되지 않은 변경 사항',
            appliedFunction: '적용된 기능',
            newProfile: '새 프로파일',
            tooltip: {
                profileType:
                    '프로파일 유형:<br/>- 기본값: 관리 안 됨, 제어 권한을 장치 드라이버에 다시 넘김<br/>- 고정: 일정한 속도 설정<br/>- 그래프: 커스텀 가능한 팬 속도 곡선<br/>- 혼합: 여러 프로파일 결합<br/>- 오버레이: 기존 프로파일의 출력 오프셋',
            },
            profileDeleted: '프로파일 삭제됨',
            profileDuplicated: '프로파일 중복됨',
            deleteProfileConfirm: '다음을 삭제할까요: "{name}" 맞나요?',
            deleteProfileWithChannelsConfirm:
                '"{name}"은/는 현재 다음에서 사용 중입니다: {channels}.\n이 프로파일을 삭제하면 해당 채널들의 설정이 초기화됩니다.\n"{name}" 프로파일을 삭제할까요?',
            profileUpdated: '프로파일이 성공적으로 업데이트됨',
            profileUpdateError: '이 프로필을 업데이트하는 동안 오류가 발생함',
            tempSourceRequired: '그래프 프로파일에는 온도 소스가 필요합니다.',
            memberProfilesRequired: '혼합 프로파일에는 최소 2개의 멤버 프로파일이 필요합니다.',
            minProfileTemp: '최소 프로파일 온도',
            maxProfileTemp: '최대 프로파일 온도',
            staticOffset: '정적 오프셋',
            offsetType: '오프셋 유형',
            offsetTypeStatic: '정적 오프셋',
            offsetTypeGraph: '그래프 오프셋',
            baseProfile: '기본 프로파일',
            baseProfileRequired: '오버레이 프로파일을 사용하려면 기본 프로파일이 필요합니다.',
            selectedPointOutputDuty: '선택된 지점 프로파일 출력 점유',
            selectedPointOffset: '선택된 지점 오프셋 점유',
            profileOutputDuty: '프로파일 출력 점유',
            offsetDuty: '오프셋 점유',
            points: '포인트',
            moveTable: '다른 모서리로 이동',
            addPointAfter: '이후에 포인트 추가',
            removePoint: '포인트 제거',
            curvePointLimitBadge: '최대 {n}점',
            curveLimitedByAmdGpu: 'AMD GPU 하드웨어 팬 커브에 의해 커브가 {n}개 점으로 제한됩니다.',
            curveLimitedByFirmware: '장치 펌웨어 팬 커브에 의해 커브가 {n}개 점으로 제한됩니다.',
        },
        controls: {
            viewType: '보기 유형',
            controlOrView: '제어 또는 보기',
            title: '시스템 제어',
            noControllableChannels: '제어 가능한 채널을 찾을 수 없습니다.',
            noControlChain: '이 채널에 대한 제어 체인을 찾을 수 없습니다.',
            controlFlow: '제어 흐름',
            backToOverview: '제어 개요로 돌아가기',
            viewControlFlow: '제어 흐름 보기',
            switchProfile: '프로필 전환',
            switchTempSource: '온도 소스 전환',
            switchFunction: '함수 전환',
            switchMembers: '멤버 프로필 전환',
            switchBaseProfile: '기본 프로필 전환',
            adjustFixedSpeed: '고정 속도 조정',
            editSources: '소스 편집',
        },
        modes: {
            createMode: '모드 생성',
            editMode: '모드 편집',
            deleteMode: '모드 삭제',
            noModes: '구성된 모드 없음',
            deleteModeConfirm: '다음 모드를 삭제할까요: "{name}" 맞나요?',
            updateModeConfirm: '"{name}"을/를 현재 설정으로 덮어쓸까요?',
            duplicateMode: '중복 모드',
        },
        functions: {
            createFunction: '기능 생성',
            editFunction: '기능 편집',
            deleteFunction: '기능 삭제',
            noFunctions: '구성된 기능 없음',
            saveFunction: '기능 저장',
            functionType: '기능 유형',
            functionTypeTooltip:
                '기능 유형:<br/>' +
                '- <b>항등</b>: 단계 크기 제한을 적용하지만 그 외에는 프로파일 값을 변경하지 않고 그대로 전달합니다.<br/>' +
                '- <b>기본</b>: 팬 응답 타이밍 및 안정성을 정밀하게 제어하기 위해 단계 크기 제한 및 이력 설정을 적용합니다.<br/>' +
                '- <b지수 이동 평균</b>: 가중 평균을 사용하여 온도 변동을 완화합니다. 표준보다 간단하지만 정밀도는 떨어집니다.',
            stepSizeTitle: '단계 크기',
            fixedStepSize: '고정',
            fixedStepSizeTooltip:
                '활성화하면 모든 변경 사항에 대해 단일 고정 단계 크기를 사용합니다.\n비활성화하면 최소 및 최대 단계 크기 범위를 설정할 수 있습니다.',
            asymmetric: '비대칭형',
            asymmetricTooltip:
                '이 기능을 활성화하면 팬 속도 증가 및 감소에 대해 별도의 단계 크기 제한을 설정할 수 있습니다.\n팬의 속도를 빠르게 높였다가 서서히 낮추거나, 또는 그 반대로 하고 싶을 때 유용합니다.',
            stepSizeMin: '최소',
            stepSizeMinTooltip:
                '적용될 최소 팬 속도 변화량입니다.\n이보다 작은 변화는 불필요한 조정을 줄이기 위해 무시됩니다.',
            stepSizeMax: '최대',
            stepSizeMaxTooltip:
                '업데이트당 허용되는 최대 팬 속도 변화량입니다.\n더 큰 변화는 부드러운 전환을 위해 이 값으로 제한됩니다.',
            stepSizeFixed: '크기',
            stepSizeFixedTooltip:
                '팬 속도 변경 시 단일 단계 크기가 적용됩니다.\n모든 조정은 정확히 이 값으로 제한됩니다.',
            stepSizeFixedIncreasing: '증가',
            stepSizeFixedIncreasingTooltip:
                '팬 속도 증가 시 단계 크기가 고정됩니다.\n모든 상향 조정은 정확히 이 값으로 제한됩니다.',
            stepSizeFixedDecreasing: '감소',
            stepSizeFixedDecreasingTooltip:
                '팬 속도 감소 시 단계 크기가 고정됩니다.\n모든 하향 조정은 정확히 이 값으로 제한됩니다.',
            stepSizeMinIncreasing: '최소 증가',
            stepSizeMinIncreasingTooltip:
                '팬 속도가 증가할 때의 최소 단계 크기입니다.\n계산된 작은 변화는 불필요한 조정을 줄이기 위해 무시됩니다.',
            stepSizeMaxIncreasing: '최대 증가',
            stepSizeMaxIncreasingTooltip:
                '팬 속도가 증가할 때의 최대 단계 크기입니다.\n팬 속도가 업데이트당 얼마나 빨리 증가할 수 있는지 제한합니다.',
            stepSizeMinDecreasing: '최소 감소',
            stepSizeMinDecreasingTooltip:
                '팬 속도가 감소할 때의 최소 단계 크기입니다.\n계산된 작은 변화량은 불필요한 조정을 줄이기 위해 무시됩니다.',
            stepSizeMaxDecreasing: '최대 감소',
            stepSizeMaxDecreasingTooltip:
                '팬 속도가 감소할 때의 최대 단계 크기입니다.\n업데이트당 팬 속도가 느려지는 속도를 제한합니다.',
            windowSize: '창 크기',
            windowSizeTooltip:
                '지수 이동 평균 계산에 사용되는 창 온도 샘플 크기입니다.\n값이 작을수록 = 반응 속도가 빠르고 온도 급변에 더 민감하게 반응합니다.\n값이 클수록 = 반응 속도는 느리지만 팬 속도 전환이 더 부드러워집니다.\n팁: 응답 시간을 정밀하게 제어하려면 표준 함수를 사용하세요.',
            emaCustomSensorAvailableNote:
                'EMA는 사용자 지정 센서 유형으로도 사용할 수 있어 스무딩된 온도를 직접 그래프로 표시할 수 있습니다.',
            emaDeprecatedWarning:
                '함수 유형 EMA는 더 이상 사용되지 않습니다. EMA 사용자 지정 센서 유형으로 전환하세요.',
            hysteresis: '고급 이력 현상',
            hysteresisThreshold: '임계값',
            hysteresisThresholdTooltip:
                '팬 속도 조절 전 필요한 최소 온도 변화(°C)입니다.\n작은 온도 변화로 인한 급격한 팬 속도 변동을 방지하는 데 도움이 됩니다.',
            hysteresisDelay: '지연',
            hysteresisDelayTooltip:
                '팬 속도 변경을 적용하기 전 응답 지연 시간(초)입니다.\n이 지연 시간 내의 일시적인 온도 급변은 무시되어 변동이 완화됩니다.',
            onlyDownward: '하향할 때만',
            onlyDownwardTooltip: '온도가 감소할 때만 이력 현상 설정을 적용합니다.',
            general: '일반',
            thresholdHopping: '임계값 도약',
            thresholdHoppingTooltip:
                '팬 속도가 30초 이상 변하지 않으면 단계 크기 및 이력 현상 제한이 일시적으로 무시됩니다.\n이렇게 하면 보수적인 임계값 설정에서도 팬이 결국 목표 속도에 도달합니다.',
            stepOverrides: '단계 재정의',
            bypassMinAtExtremes: '항상 0% / 100% 적용',
            bypassMinAtExtremesTooltip:
                '활성화되면 변경이 최소 단계 크기보다 작더라도 0% 또는 100%의 목표 듀티가 적용됩니다.\n팬이 완전히 멈추거나 최대 RPM에 도달하도록 보장하는 데 유용합니다. 기본적으로 비활성화됩니다.',
            unsavedChanges: '이 기능에 저장되지 않은 변경 사항이 있습니다.',
            unsavedChangesHeader: '저장되지 않은 변경 사항',
            functionError: '이 기능을 업데이트하는 데 오류 발생',
            newFunction: '새 기능',
            functionDeleted: '기능 삭제됨',
            functionDuplicated: '기능 중복됨',
            deleteFunctionConfirm: '"{name}"을/를 삭제할까요?',
            deleteFunctionWithProfilesConfirm:
                '"{name}"은/는 현재 다음 프로파일에서 사용 중입니다: {profiles}.\n이 기능을 삭제하면 해당 프로파일 기능이 초기화됩니다.\n"{name}"을/를 삭제할까요?',
            functionUpdated: '기능 업데이트됨',
            functionUpdateError: '이 기능을 업데이트하는 동안 오류 발생',
        },
        error: {
            accessDenied: '접근 거부',
            accessDeniedMessage: '인증에 실패했습니다. 비밀번호를 확인하고 다시 시도해 주세요.',
            connectionError: 'CoolerControl 연결 오류',
            connectionToast: '데몬에 연결할 수 없음',
            connectionToastDetail:
                '데몬에 연결할 수 없습니다. 서비스가 실행 중인지 확인하고 다시 연결해 보세요.',
            connectionRetryFailure: '연결 실패 - 재시도 실패',
            connectionRetryDetail: '여러 번 시도했지만 데몬에 연결할 수 없습니다.',
            errorLoadingGraph: '그래프를 불러오는 중 오류 발생',
            highCpuUsageWarning: 'CPU 사용량이 높게 감지됨',
            highCpuUsageDetail:
                '현재 CPU 사용량이 높습니다.\n시스템 영향을 줄이려면 다음을 고려하세요:\n1. 표시되는 차트 수 감소\n2. 모니터링 대상 센서 수 감소\n3. 폴링 간격 늘리기',
            pageNotFound: '페이지를 찾을 수 없음',
            returnToDashboard: '대시보드로 돌아가기',
            connectionErrorMessage: 'CoolerControl 데몬에 연결할 수 없습니다.',
            serviceRunningMessage: '데몬 서비스가 실행 중인지 확인하세요.',
            checkProjectPage: '데몬 설정에 대한 도움말은 다음을 참조하세요',
            projectPage: '프로젝트 페이지',
            helpfulCommands: '유용한 명령:',
            nonStandardAddress: '표준 데몬 주소가 아닌 경우 아래에 지정할 수 있습니다:',
            daemonAddressDesktop: '데몬 주소 (데스트톱 앱)',
            daemonAddressWeb: '데몬 주소 (웹 UI)',
            addressTooltip: '연결을 설정할 IP 주소 또는 도메인 이름입니다.',
            portTooltip: '연결할 포트입니다.',
            sslTooltip: 'SSL/TLS를 사용하여 데몬에 연결할지 여부입니다.',
            saveTooltip: '설정을 저장하고 UI를 다시 로드',
            resetTooltip: '기본 설정으로 재설정',
        },
        singleDashboard: {
            minutes: '분',
            chartMouseActions:
                '대시보드 마우스 동작:\n- 확대/축소하려면 강조 표시합니다.\n- 스크롤하여 확대/축소합니다.\n- 확대/축소 시 마우스 오른쪽 버튼을 클릭하여 화면 이동합니다.\n- 두 번 클릭하면 초기화되고 업데이트가 다시 시작됩니다.',
            timeRange: '시간 범위',
            chartType: '차트 유형',
        },
        mode: {
            activateMode: '활성화 모드',
            currentlyActive: '현재 활성화',
            modeHint:
                '참고: 모드에는 프로파일 또는 기능 설정이 포함되지 않고 채널 구성만 포함됩니다.',
        },
        lighting: {
            saveLightingSettings: '조명 설정 저장',
            lightingMode: '조명 모드',
            speed: '속도',
            direction: '방향',
            forward: '앞으로',
            backward: '뒤로',
            numberOfColors: '색상 수',
            numberOfColorsTooltip: '선택한 조명 모드에 사용할 색상 수입니다.',
        },
        lcd: {
            saveLcdSettings: 'LCD 설정 저장',
            lcdMode: 'LCD 모드',
            brightness: '밝기',
            brightnessPercent: '밝기 백분율',
            orientation: '방향',
            orientationDegrees: '도 단위 방향',
            chooseImage: '이미지 선택',
            dragAndDrop: '파일을 여기에 드래그 앤 드롭하세요.',
            tempSource: '온도 소스',
            tempSourceTooltip: 'LCD 디스플레이에 사용할 온도 소스입니다.',
            imagesPath: '이미지 경로',
            imagesPathTooltip:
                '이미지 파일이 있는 디렉터리의 절대 경로를 입력하세요.\n디렉터리에는 최소 하나 이상의 이미지 파일이 있어야 하며,\n정적 이미지 또는 GIF 파일일 수 있습니다. 캐러셀은\n선택한 지연 시간 간격으로 이미지를 순환하며 표시합니다.\n모든 파일은 호환성을 최대한 확보하기 위해 제출 즉시 처리됩니다.',
            browse: '찾아보기',
            browseTooltip: '이미지 디렉터리 찾아보기',
            delayInterval: '지연 간격',
            delayIntervalTooltip:
                '이미지 변경 간 최소 지연 시간(초)입니다.\n데몬 폴링 속도로 인해 실제 지연 시간은 더 길어질 수 있습니다.',
            processing: '진행 중...',
            applying: '적용 중...',
            unsavedChanges: '이 LCD 설정에는 저장되지 않은 변경 사항이 있습니다.',
            unsavedChangesHeader: '저장되지 않은 변경 사항',
            imageTooLarge: '이미지가 너무 큽니다. 더 작은 이미지를 선택해 주세요.',
            notImageType: '이미지가 이미지 유형으로 등록되지 않았음',
        },
        shortcuts: {
            shortcuts: '키보드 단축키',
            ctrl: 'Ctrl',
            alt: 'Alt',
            left: '왼쪽',
            right: '오른쪽',
            comma: ',',
            h: 'h',
            a: 'a',
            c: 'c',
            i: 'i',
            slash: '/',
            one: '1',
            two: '2',
            three: '3',
            four: '4',
            f11: 'F11',
            viewShortcuts: '키보드 단축키',
            home: '홈페이지',
            settings: '설정',
            info: '애플리케이션 정보',
            dashboardOne: '대시보드 1',
            dashboardTwo: '대시보드 2',
            dashboardThree: '대시보드 3',
            dashboardFour: '대시보드 4',
            alerts: '경고',
            controls: '제어',
            sideMenuCollapse: '사이드 메뉴 접기',
            sideMenuExpand: '확장 사이드 메뉴',
            fullScreen: '전체 화면',
        },
    },
    components: {
        confirmation: {
            title: '확인',
            message: '확실한가요?',
        },
        aseTek690: {
            sameDeviceID:
                '기존 NZXT Kraken과 EVGA CLC는 장치 ID가 동일하여 CoolerControl이 어떤 장치가 연결되어 있는지 확인할 수 없습니다. 이는 장치 간 원활한 통신을 위해 필수적입니다.',
            restartRequired:
                'CoolerControl systemd 서비스를 재시작해야 할 수 있으며, 필요한 경우 자동으로 처리됩니다.',
            deviceModel: 'Liquidctl 장치가 다음 모델 중 하나인가요?',
            modelList: 'NZXT Kraken X40, X60, X31, X41, X51, X61',
            acceptLabel: '예, 구형 Kraken 장치입니다',
            rejectLabel: '아니요, EVGA CLC 장치입니다',
        },
        password: {
            title: '비밀번호 입력',
            newPasswordTitle: '새 비밀번호 입력',
            invalidPassword: '잘못된 비밀번호',
            forgotPassword: '비밀번호를 잊으셨나요?',
            forgotPasswordHelpIntro:
                '터미널에서 root 권한으로 이 명령어를 실행한 후 UI 다시 로드를 클릭하세요:',
            forgotPasswordCopyCommand: '명령어 복사',
            forgotPasswordCommandCopied: '명령어가 클립보드에 복사되었습니다',
            forgotPasswordReloadButton: 'UI 다시 로드',
            continueButton: '계속',
            backButton: '뒤로',
            passwordMismatch: '비밀번호가 일치하지 않습니다',
        },
        notFound: {
            message: '완벽한 리눅스 🐧 배포판처럼,\n이 페이지는 존재하지 않습니다.',
        },
        helloWorld: {
            message:
                'Vite + Vue 3를 사용하여 프로젝트를 성공적으로 생성하였습니다. 다음 단계는 무엇인가요?',
        },
        dashboardInfo: {
            description:
                '대시보드를 사용하면 원하는 방식으로 시스템 센서 데이터를 확인할 수 있습니다. 시간 기반 차트 또는 표 기반 차트 중에서 선택할 수 있으며, 각 차트의 필터와 설정을 조정하여 보고 싶은 특정 데이터에 집중할 수 있습니다. 또한 필요에 따라 여러 개의 커스텀 대시보드를 생성할 수 있습니다.',
        },
        modeInfo: {
            description:
                "모드 기능을 사용하면 장치의 채널 설정을 저장하여 빠르고 쉽게 적용할 수 있습니다. 예를 들어 '게임' 모드와 '무음' 모드를 만들어 간편하게 전환할 수 있습니다.",
            note: '모드에는 채널 구성만 포함되며 내부 프로파일 또는 기능 설정은 포함되지 않으므로 각 모드마다 별도의 팬 프로파일을 생성해야 할 수 있다는 점에 유의하세요.',
        },
        alertInfo: {
            description:
                '알림은 특정 조건이 발생했을 때 사용자에게 알려주는 데 사용됩니다. 온도와 팬 속도를 모니터링하여 시스템이 정상적으로 작동하는지 확인할 수 있습니다. 알림은 특정 센서 값 범위에 맞춰 설정되며, 값이 허용 가능한 임계값 범위를 초과하거나 다시 돌아올 때 알림을 보냅니다.',
        },
        customSensorInfo: {
            title: '맞춤형 센서 개요',
            description:
                '커스텀 센서를 사용하면 기존 센서를 다양한 방식으로 조합하여 시스템 냉각에 대한 제어 및 효율성을 향상시킬 수 있습니다. 또한 파일 기반 데이터를 지원하므로 외부 센서 입력을 스크립트로 제어하여 유연성을 높일 수 있습니다.',
            note: '참고: 혼합 프로파일을 사용하여 여러 커스텀 센서 출력을 결합할 수 있습니다.',
        },
        functionInfo: {
            title: '기능 개요',
            description:
                '기능은 프로파일 출력에 적용되는 구성 가능한 알고리즘입니다. 이를 통해 팬 속도 변경 시점을 관리하고, 이력 현상 설정을 조정하고, 동적 온도에 이동 평균을 사용할 수 있습니다.',
            identityFunction:
                '항등 기능은 계산된 프로파일 출력값을 수정하지 않고 최소 및 최대 속도 변화 범위만 설정할 수 있으므로 가장 간단한 옵션입니다. 이는 특히 팬 속도의 지속적인 변동을 최소화하는 데 유용합니다.',
        },
        profileInfo: {
            title: '프로파일 개요',
            description:
                '프로파일은 팬 속도 제어를 위한 커스텀 설정을 정의하며, 동일한 프로파일을 여러 팬에 사용할 수 있습니다. 프로파일 유형은 다음과 같습니다:',
            type: {
                fixed: '고정 속도',
                fanCurve: '팬 곡선/그래프',
                mix: '최소 프로파일',
                default: '기본 장치 설정',
            },
            additionalInfo:
                '프로파일은 팬 속도 제어의 기본이며, 더욱 고급 알고리즘 기능을 적용하여 성능을 향상시킬 수 있습니다.',
        },
        deviceInfo: {
            details: '장치 세부 정보',
            systemName: '시스템 이름',
            deviceType: '장치 유형',
            deviceUID: '장치 UID',
            firmwareVersion: '펌웨어 버전',
            model: '모델',
            driverName: '드라이버 이름',
            driverType: '드라이버 유형',
            driverVersion: '드라이버 버전',
            locations: '위치',
        },
        onboarding: {
            welcome: 'CoolerControl에 오신 것을 환영합니다!',
            gettingStartedIntro:
                '투어를 선택하여 둘러보세요. 빠른 투어는 몇 단계로 기본 사항을 다룹니다. 전체 투어는 모든 메뉴와 버튼을 안내합니다.',
            startTourAgain: '정보 및 도구 페이지에서 언제든지 이 투어를 다시 시작할 수 있습니다.',
            quickTour: '빠른 투어',
            thoroughTour: '전체 투어',
            maybeLater: '나중에',
            openGettingStarted: '시작하기 문서 열기',
            finishLater: '직접 해보기',
            appInfo: '정보 및 도구',
            appInfoDesc:
                '앱 정보, 데몬 상태, 로그, 유용한 링크 및 스트레스 테스트 도구를 확인하세요. 로고에 표시되는 배지가 문제를 알려줍니다.',
            controls: '제어',
            controlsDesc:
                '한 곳에서 팬 속도를 조절하고, 프로파일을 적용하고, 감지된 모든 채널을 관리할 수 있습니다.',
            profiles: '프로파일',
            profilesDesc:
                '프로파일은 팬이 온도 변화에 어떻게 반응하는지 정의합니다. 그래프 프로파일을 사용하면 사용자 정의 팬 곡선을 그릴 수 있으며 여러 장치에서 재사용할 수 있습니다.',
            functions: '기능',
            functionsDesc:
                '프로파일에 기능을 적용하여 팬 속도 전환을 부드럽게 하고 소음을 줄입니다.',
            systemMenu: '시스템 메뉴',
            systemMenuDesc:
                '주 메뉴에는 이 시스템의 장치와 센서가 나열됩니다. 각 섹션을 확장하여 채널과 할당된 제어를 볼 수 있습니다.',
            dashboards: '대시보드',
            dashboardsDesc:
                '대시보드를 사용하면 차트와 그래프를 포함한 커스텀 보기를 만들어 온도, 팬 속도, 기타 센서 데이터를 실시간으로 모니터링할 수 있습니다.',
            modes: '모드',
            modesDesc:
                '모드는 저장된 설정 모음입니다. 한 번의 클릭으로 무음 및 성능과 같은 구성 사이를 전환할 수 있습니다.',
            alerts: '알림',
            alertsDesc:
                '알림은 센서 값이 선택한 임계값을 초과할 때 알려주므로 문제가 커지기 전에 대응할 수 있습니다.',
            customSensors: '사용자 정의 센서',
            customSensorsDesc:
                '사용자 정의 센서는 기존 센서 데이터를 다양한 방식으로 결합하거나, 자체 스크립트 출력을 온도 소스로 실행합니다.',
            quickAdd: '빠른 추가',
            quickAddDesc: '대시보드, 프로파일, 기능 등을 빠르게 생성하세요.',
            dashboardQuick: '대시보드 빠른 메뉴',
            dashboardQuickDesc:
                '메인 메뉴가 접혀 있는 경우에도 모든 대시보드로 바로 이동할 수 있습니다.',
            modesQuick: '모드 빠른 메뉴',
            modesQuickDesc: '앱 어디에서나 저장된 모드 사이를 전환할 수 있습니다.',
            alertsQuick: '알림 개요',
            alertsQuickDesc: '모든 알림의 현재 상태를 확인하고 최근 활동을 점검하세요.',
            pluginsQuick: '플러그인 개요',
            pluginsQuickDesc:
                '설치된 플러그인을 둘러보고 앱 어디에서나 원하는 플러그인으로 이동하세요.',
            settings: '설정',
            settingsDesc: 'UI 기본 설정, 데몬 옵션 및 시스템 동작을 구성합니다.',
            access: '액세스',
            accessDesc: '비밀번호를 관리하고 현재 액세스 수준을 확인하세요.',
            restartMenu: '메뉴 재시작',
            restartMenuDesc: '필요할 때 UI를 다시 로드하거나 시스템 데몬을 다시 시작하세요.',
            collapseMenu: '메뉴 접기',
            collapseMenuDesc:
                '주 메뉴를 확장하거나 접어 앱의 나머지 부분에 더 많은 공간을 제공합니다.',
            thatsIt: '그게 다입니다!',
            startNow:
                '준비가 끝났습니다. 자세히 알아보려면 시작하기 문서를 열거나, 바로 장치 구성을 시작하세요.',
        },
        axisOptions: {
            title: '축 옵션',
            autoScale: '자동 크기 조절',
            max: '최대',
            min: '최소',
            dutyTemperature: '점유 / 온도',
            rpmMhz: 'rpm / MHz',
            krpmGhz: 'krpm / GHz',
            watts: '와트',
        },
        sensorTable: {
            device: '장치',
            channel: '채널',
            current: '현재',
            min: '최소',
            max: '최대',
            average: '평균',
        },
        modeTable: {
            setting: '설정',
        },
        menuTagAssign: {
            title: '태그 할당',
            noTags: '아직 태그가 없습니다.',
            newTag: '새 태그 만들기',
            tagName: '태그 이름',
            editTag: '태그 편집',
            deleteTag: '태그 삭제',
        },
        wizards: {
            fanControl: {
                fanControlWizard: '팬 제어 마법사',
                editCurrentProfile: '프로파일 편집',
                editCurrentFunction: '기능 편집',
                currentSettings: '현재 설정',
                manualSpeed: '수동 속도',
                createNewProfile: '새 프로파일',
                existingProfile: '프로파일 선택',
                resetSettings: '관리 안 됨으로 재설정',
                chooseProfileNameType: '프로파일 이름과 유형 선택',
                newDefaultProfile: '새 기본 프로파일',
                profileCreatedApplied: '프로파일 생성 및 적용됨',
                willCreatedAndAppliedTo: '생성되어 적용됨',
                newFixedProfile: '새 수정된 프로파일',
                withSettings: '다음 설정으로',
                selectSpeed: '속도 선택',
                newMixProfile: '새 혼합 프로파일',
                newGraphProfile: '새 그래프 프로파일',
                newOverlayProfile: '새 오버레이 프로파일',
                functionFor: '적용할 기능를 선택',
                functionDescription:
                    '기능은 응답 시간 및 최소 부하 시간과 같이 프로파일이 적용되는 방식을 세밀하게 조정합니다.',
                createNewFunction: '새 기능',
                existingFunction: '기능 선택',
                defaultFunction: '기본 기능',
                chooseFunctionNameType: '기능과 유형 선택',
                newFunctionName: '{profileName}용 기능',
                summary: '요약',
                aNewProfile: '새 프로파일',
                andFunction: '그리고 기능',
            },
            profile: {
                willCreated: '생성될 것 입니다.',
            },
            profileApply: {
                applyProfile: '프로파일 적용',
                channelsApply: '프로파일을 적용할 채널',
                selectChannels: '채널 선택',
                channelsTooltip: '이 프로파일을 적용할 채널을 하나 이상 선택하세요.',
                selectByTag: '태그로 선택',
                selectByChannel: '채널로 선택',
                tagFanCount: '{count}개 채널',
                noTags: '구성된 태그가 없습니다.',
            },
            functionApply: {
                applyFunction: '기능 적용',
                profilesApply: '기능을 적용할 프로파일',
                selectProfiles: '프로파일 선택',
                profilesTooltip: '이 기능을 적용할 프로파일을 하나 이상 선택하십시오.',
            },
            customSensor: {
                new: '새 커스텀 센서',
            },
        },
        channelExtensionSettings: {
            title: '장치 채널 설정',
            firmwareControlledProfile: '펌웨어 제어 프로파일',
            firmwareControlledProfileDesc:
                '이 기능이 활성화되면 장치 펌웨어에서 팬 프로파일을 관리합니다.\n잦은 소프트웨어 속도 변경에 잘 반응하지 않는 하드웨어에 유용합니다.\n장치 내부 온도 센서를 사용하는 그래프 프로파일에서만 사용할 수 있습니다.\n기능 설정은 적용되지 않습니다.',
            saveError: '채널 확장 설정 저장에 실패함',
            firmwareControlDisabled:
                '현재 설정으로는 펌웨어 제어가 불가능합니다.\n지원되는 내부 온도 센서가 있는 이 장치에는 그래프 프로파일을 사용하세요.',
        },
        deviceExtensionSettings: {
            title: '고급 장치 설정',
            directAccess: '직접 접속',
            directAccessDesc:
                '이 옵션을 활성화하면 liquidctl 드라이버는 HWMon 커널 드라이버\낸드를 무시하고 장치와 직접 통신합니다.\n이는 두 드라이버를 모두 사용할 때 충돌이 발생하는 장치에 유용할 수 있습니다.',
            useHwmon: 'HWMon 드라이버 사용',
            useHwmonDesc:
                '이 장치의 드라이버를 liquidctl에서 HWMon 커널 드라이버로 전환합니다.\n이렇게 하면 성능과 안정성이 향상될 수 있지만, 사용 가능한 기능이 제한될 수 있습니다.',
            disableDevice: 'liquidctl 장치 비활성화',
            disableInfo:
                'liquidctl 드라이버를 비활성화하면 이 장치가 비활성화됩니다. 장치 메뉴 하단에 HWMon 기반의 새로운 장치가 나타납니다. 설정 메뉴에서 언제든지 liquidctl 장치를 다시 활성화할 수 있습니다.',
            commandDelay: '명령 지연',
            commandDelayDesc:
                '이 장치로 전송되는 명령 사이의 지연 시간(밀리초).\n여러 명령이 빠르게 연속으로 전송될 때\n통신 문제가 있는 장치에 도움이 될 수 있습니다.',
            overdrive: 'GPU 오버드라이브',
            overdriveDesc:
                'AMD RDNA3/4 GPU는 팬 제어를 위해 오버드라이브를 활성화해야 합니다.\namdgpu.ppfeaturemask 커널 매개변수를 구성하며\n시스템 재부팅이 필요합니다.',
            overdriveEnable: '활성화',
            overdriveActive: '활성',
            overdriveSuccess: '오버드라이브 구성됨',
            thinkPadFanControl: '팬 제어',
            thinkPadFanControlDesc:
                'ThinkPad ACPI 팬 제어를 활성화합니다.\n안전상의 이유로 팬 제어는 기본적으로 비활성화되어 있습니다.\n본인의 책임 하에 진행하십시오.',
            thinkPadFullSpeed: '최대 속도',
            thinkPadFullSpeedDesc:
                'ThinkPad 팬의 최대 속도 모드를 활성화합니다.\n100%에서 팬이 절대 최대 회전수로 회전할 수 있지만,\n사양을 초과하여 마모가 증가합니다.',
        },
    },
    auth: {
        enterPassword: '비밀번호 입력',
        setNewPassword: '새 비밀번호 입력',
        changeDefaultPassword:
            '무단 접근을 방지하기 위해 비밀번호를 설정해 주세요. 이것은 시스템 계정과 별개입니다.',
        loginFailed: '로그인 실패함',
        invalidPassword: '잘못된 비밀번호',
        passwordSetFailed: '비밀번호 설정 실패',
        passwordSetSuccessfully: '새 비밀번호가 성공적으로 설정됨',
        logoutSuccessful: '로그아웃에 성공했습니다.',
        unauthorizedAction: '이 작업을 완료하려면 로그인해야 함',
        accessTokens: '액세스 토큰',
        tokenLabel: '레이블 (예: cctv)',
        tokenExpiry: '만료일 (선택 사항)',
        createToken: '토큰 생성',
        tokenCreated: '토큰 생성됨',
        tokenCreatedDetail: '이 토큰을 지금 복사하세요. 다시 표시되지 않습니다.',
        tokenCopied: '토큰이 클립보드에 복사됨',
        tokenDeleted: '토큰 삭제됨',
        tokenCreateError: '토큰 생성 실패',
        tokenDeleteError: '토큰 삭제 실패',
        tokenLoadError: '토큰 로드 실패',
        tokenDeleteConfirm:
            '이 토큰을 삭제하시겠습니까? 이 토큰을 사용하는 모든 서비스의 접근 권한이 사라집니다.',
        tokenDeleteHeader: '토큰 삭제',
        noTokens: '아직 생성된 액세스 토큰이 없습니다.',
        expires: '만료',
        expired: '만료됨',
        active: '활성',
        never: '없음',
        lastUsed: '마지막 사용',
        neverUsed: '사용한 적 없음',
        created: '생성일',
        label: '레이블',
        actions: '작업',
        writeAccess: '쓰기 권한',
        writeAccessTooltip:
            '활성화하면 이 토큰으로 변경할 수 있습니다. 비활성화하면 토큰은 데이터만 읽을 수 있습니다.',
    },
    daemon: {
        status: {
            ok: '확인',
            hasWarnings: '주의 발생',
            hasErrors: '오류 발생',
        },
    },
    device_store: {
        unauthorized: {
            summary: '세션 만료됨',
            detail: '세션이 만료되었습니다. 다시 로그인하기 위해 다시 로드 중입니다.',
        },
        login: {
            success: {
                summary: '성공',
                detail: '로그인에 성공하였습니다.',
            },
            failed: {
                summary: '로그인 실패함',
                detail: '잘못된 비밀번호',
            },
            rate_limited: {
                summary: '로그인 일시적으로 차단됨',
            },
        },
        logout: {
            summary: '로그아웃',
            detail: '로그아웃에 성공했습니다.',
        },
        password: {
            set_success: {
                summary: '비밀번호',
                detail: '새 비밀번호가 성공적으로 설정되었음',
            },
            set_failed: {
                summary: '비밀번호 설정 실패함',
            },
        },
        asetek: {
            header: '알 수 없는 장치가 감지되었음',
            success: {
                summary: '성공',
                detail_legacy: '장치 모델 유형이 성공적으로 설정되었습니다. 재시작 중입니다.',
                detail_evga: '장치 모델 유형이 성공적으로 설정되었습니다.',
            },
            error: {
                summary: '오류',
                detail: '프로세스가 중단되었습니다.',
            },
        },
    },
    models: {
        chartType: {
            timeChart: '시간챠트',
            table: '표',
        },
        dataType: {
            temp: '온도',
            duty: '점유',
            load: '부하',
            rpm: 'RPM',
            freq: '주파수',
            watts: '와트',
        },
        profile: {
            profileType: {
                default: '기본',
                fixed: '고정',
                graph: '그래프',
                mix: '혼합',
                overlay: '오버레이',
            },
            functionType: {
                identity: '항등',
                standard: '표준',
                exponentialMovingAvg: '지수 이동 평균',
            },
            mixFunctionType: {
                min: '최소',
                max: '최대',
                avg: '평균',
                diff: '차이',
                sum: '합계',
            },
        },
        customSensor: {
            sensorType: {
                mix: '혼합',
                file: '파일',
                offset: '오프셋',
                timeAverage: '시간 평균',
                exponentialMovingAvg: '지수 이동 평균',
            },
            mixFunctionType: {
                min: '최소',
                max: '최대',
                delta: '델타',
                avg: '평균',
                weightedAvg: '가중평균',
            },
        },
        themeMode: {
            system: '시스템',
            dark: '어두움',
            light: '밝음',
            highContrastDark: '고대비 어두움',
            highContrastLight: '고대비 밝음',
            custom: '커스텀 테마',
        },
        channelViewType: {
            control: '제어',
            dashboard: '대시보드',
        },
        startupPage: {
            appInfo: '정보 및 도구',
            homeDashboard: '홈 대시보드',
            controls: '제어',
        },
        alertState: {
            active: '활성',
            inactive: '비활성',
            error: '오류',
        },
        pluginStatus: {
            running: '실행 중',
            stopped: '중지됨',
            unmanaged: '비관리',
            disabled: '비활성화됨',
        },
        deviceType: {
            customSensors: '커스텀 센서',
            cpu: 'CPU',
            gpu: 'GPU',
            liquidctl: 'Liquidctl',
            hwmon: 'Hwmon',
            servicePlugin: '서비스 플러그인',
        },
        driverType: {
            kernel: '커널',
            liquidctl: 'Liquidctl',
            nvml: 'NVML',
            nvidiaCli: 'Nvidia CLI',
            coolercontrol: '쿨러컨트롤',
            external: '외부',
        },
        lcdModeType: {
            none: '없음',
            liquidctl: 'Liquidctl',
            custom: '커스텀',
        },
        channelType: {
            lcd: 'LCD',
            lighting: '조명',
        },
    },
}
