From e2ac8ce64b4a994d0dcd1c4341927af4ba1abb8a Mon Sep 17 00:00:00 2001 From: moduvoice Date: Mon, 13 Jul 2026 09:29:05 +0700 Subject: [PATCH] i18n: add Korean (ko_KR) translation (#1408) --- ui/flutter/lib/i18n/langs/ko_kr.dart | 231 +++++++++++++++++++++++++++ ui/flutter/lib/i18n/message.dart | 2 + 2 files changed, 233 insertions(+) create mode 100644 ui/flutter/lib/i18n/langs/ko_kr.dart diff --git a/ui/flutter/lib/i18n/langs/ko_kr.dart b/ui/flutter/lib/i18n/langs/ko_kr.dart new file mode 100644 index 00000000..390add6a --- /dev/null +++ b/ui/flutter/lib/i18n/langs/ko_kr.dart @@ -0,0 +1,231 @@ +const koKR = { + 'ko_KR': { + 'label': '한국어', + 'error': '오류', + 'tip': '안내', + 'confirm': '확인', + 'confirmDelete': '정말 삭제하시겠습니까?', + 'cancel': '취소', + 'on': '켜짐', + 'off': '꺼짐', + 'selectAll': '전체 선택', + 'select': '선택', + 'task': '작업', + 'downloading': '다운로드 중', + 'downloaded': '다운로드 완료', + 'setting': '설정', + 'donate': '후원', + 'exit': '종료', + 'create': '작업 생성', + 'directDownload': '바로 다운로드', + 'advancedOptions': '고급 옵션', + 'followSettings': '설정값 사용', + 'downloadLink': '다운로드 링크', + 'downloadLinkValid': '다운로드 링크를 입력해 주세요', + 'downloadLinkHit': '다운로드 링크를 한 줄에 하나씩 입력해 주세요@append', + 'downloadLinkHitDesktop': ', 또는 토렌트 파일을 이곳에 직접 끌어다 놓으세요', + 'download': '다운로드', + 'noFileSelected': '계속하려면 파일을 하나 이상 선택해 주세요.', + 'noStoragePermission': '저장소 권한이 필요합니다', + 'selectFile': '파일 선택', + 'rename': '이름 바꾸기', + 'basic': '기본', + 'advanced': '고급', + 'general': '일반', + 'downloadDir': '다운로드 폴더', + 'downloadDirValid': '다운로드 폴더를 선택해 주세요', + 'connections': '연결 수', + 'useServerCtime': '파일 생성 시간에 서버 시간 사용', + 'maxRunning': '최대 동시 작업 수', + 'defaultDirectDownload': '기본으로 바로 다운로드 사용', + 'autoStartTasks': '시작 시 미완료 작업 자동 시작', + 'autoTorrentEnable': '.torrent 파일로 BT 작업 자동 생성', + 'autoTorrentDeleteAfterDownload': + 'BT 작업 생성 후 .torrent 파일 삭제', + 'autoDeleteMissingFileTasks': '파일이 없는 작업 자동 삭제', + 'items': '@count개 항목', + 'subscribeTracker': '트래커 구독', + 'subscribeFail': + '구독에 실패했습니다. 네트워크를 확인하거나 나중에 다시 시도해 주세요', + 'update': '업데이트', + 'updateDaily': '매일 업데이트', + 'lastUpdate': '마지막 업데이트: @time', + 'addTracker': '트래커 추가', + 'addTrackerHit': '트래커 서버 주소를 한 줄에 하나씩 입력해 주세요', + 'ui': 'UI', + 'theme': '테마', + 'themeSystem': '시스템', + 'themeLight': '라이트', + 'themeDark': '다크', + 'locale': '언어', + 'notifyWhenNewVersion': '새 버전 알림', + 'analyticsEnabled': '통계 업로드', + 'analyticsEnabledDesc': '익명 사용 데이터를 공유하여 개선에 도움을 주세요', + 'about': '정보', + 'homepage': '홈페이지', + 'version': '버전', + 'protocol': '프로토콜', + 'port': '포트', + 'apiToken': 'API 토큰', + 'notSet': '미설정', + 'set': '설정됨', + 'portInUse': '포트 [@port]가 이미 사용 중입니다. 다른 포트로 변경해 주세요', + 'effectAfterRestart': '재시작 후 적용됩니다', + 'developer': '개발자', + 'logDirectory': '로그 폴더', + 'webhook': '웹훅', + 'webhookEnable': '웹훅 사용', + 'webhookDesc': '작업이 완료되거나 실패하면 HTTP POST 알림 전송', + 'webhookUrlHint': '웹훅 URL을 입력하세요', + 'webhookTest': '테스트', + 'webhookTestSuccess': '웹훅 테스트에 성공했습니다', + 'webhookTestFail': '웹훅 테스트에 실패했습니다', + 'script': '스크립트', + 'scriptEnable': '스크립트 사용', + 'scriptDesc': '다운로드가 성공적으로 완료되면 사용자 지정 스크립트 실행', + 'scriptPathHint': '스크립트 파일 경로 입력 (예: /path/to/script.sh)', + 'urlInvalid': '올바른 HTTP 또는 HTTPS URL을 입력해 주세요', + 'required': '필수 입력 항목입니다', + 'show': '보기', + 'continue': '계속', + 'pause': '일시정지', + 'startAll': '전체 시작', + 'pauseAll': '전체 일시정지', + 'deleteTask': '작업 @count개 삭제', + 'deleteTaskTip': '다운로드된 파일은 유지', + 'delete': '삭제', + 'add': '추가', + 'edit': '편집', + 'newVersionTitle': '새 버전 @version 발견', + 'newVersionUpdate': '지금 업데이트', + 'newVersionLater': '나중에', + 'extensions': '확장 프로그램', + 'extensionInstallUrl': '설치 URL', + 'extensionInstallSuccess': '설치되었습니다', + 'extensionUpdateSuccess': '업데이트되었습니다', + 'extensionDelete': '확장 프로그램 삭제', + 'extensionAlreadyLatest': '이미 최신 버전입니다', + 'extensionFind': '확장 프로그램 찾기', + 'extensionDevelop': '확장 프로그램 개발', + 'extensionStoreTitle': '확장 프로그램 스토어', + 'extensionStoreSection': '스토어 확장 프로그램', + 'extensionInstalledSection': '설치된 확장 프로그램', + 'extensionInstalledEmpty': '설치된 확장 프로그램이 없습니다', + 'extensionStoreEmpty': '일치하는 확장 프로그램이 없습니다', + 'extensionSearchHint': '이름, 제목, 설명 또는 작성자로 검색', + 'extensionSortStars': '별점 높은 순', + 'extensionSortInstalls': '설치 많은 순', + 'extensionSortUpdated': '최근 업데이트 순', + 'extensionSortToggle': '정렬 방향 전환', + 'extensionLoadMore': '더 보기', + 'extensionNoMore': '더 이상 없습니다', + 'extensionInstalled': '설치됨', + 'extensionCanUpdate': '업데이트 가능', + 'extensionInstall': '설치', + 'extensionLoadLocal': '로컬 폴더 설치', + 'extensionFilterAll': '전체', + 'extensionFilterMarket': '스토어', + 'extensionFilterInstalled': '설치됨', + 'extensionManualInstall': '수동 설치', + 'extensionInstallTools': '설치 옵션', + 'history': '기록', + 'clearHistory': '기록 지우기', + 'noHistoryFound': '기록이 없습니다', + 'serviceTitle': '다운로드 서비스', + 'serviceText': '실행 중', + 'network': '네트워크', + 'proxy': '프록시', + 'noProxy': '프록시 사용 안 함', + 'systemProxy': '시스템 프록시', + 'customProxy': '사용자 지정 프록시', + 'server': '서버', + 'username': '사용자 이름', + 'password': '비밀번호', + 'thanks': '감사의 말', + 'thanksDesc': + 'Gopeed 커뮤니티를 만들고 발전시키는 데 도움을 주신 모든 기여자분들께 감사드립니다!', + 'browserExtension': '브라우저 확장 프로그램', + 'launchAtStartup': '시작 시 자동 실행', + 'runAsMenubarApp': '메뉴바 앱으로 실행', + 'runAsMenubarAppDesc': '독 아이콘을 숨기고 메뉴바에서만 실행', + 'seedConfig': '시드 설정', + 'seedKeep': '수동으로 중지할 때까지 계속 시드', + 'seedRatio': '시드 비율', + 'seedTime': '시드 시간(분)', + 'setAsDefaultBtClient': '기본 BT 클라이언트로 설정', + 'taskDetail': '작업 상세 정보', + 'taskName': '작업 이름', + 'taskUrl': '작업 URL', + 'downloadPath': '다운로드 경로', + 'skipVerifyCert': '인증서 확인 건너뛰기', + 'archives': '압축 파일', + 'autoExtract': '압축 파일 자동 압축 해제', + 'archivePassword': '압축 파일 비밀번호', + 'archivePasswordHint': '비밀번호가 없으면 비워 두세요', + 'deleteAfterExtract': '압축 해제 후 압축 파일 삭제', + 'extracting': '압축 해제 중', + 'extractDone': '압축 해제 완료', + 'extractError': '압축 해제 실패', + 'waitingParts': '분할 파일 대기 중', + 'name': '이름', + 'size': '크기', + 'unknown': '알 수 없음', + 'fileSelectedCount': '파일: ', + 'fileSelectedSize': '크기: ', + 'httpHeader': '헤더', + 'httpHeaderName': '헤더 이름', + 'httpHeaderValue': '헤더 값', + 'login': '로그인', + 'username_required': '사용자 이름을 입력해 주세요', + 'password_required': '비밀번호를 입력해 주세요', + 'login_success': '로그인에 성공했습니다', + 'login_failed': '로그인에 실패했습니다. 사용자 이름과 비밀번호를 확인해 주세요', + 'login_failed_network': '로그인에 실패했습니다. 네트워크 연결을 확인해 주세요', + 'insertPlaceholder': '플레이스홀더 삽입', + 'placeholderYear': '현재 연도', + 'placeholderMonth': '현재 월(01-12)', + 'placeholderDay': '현재 일(01-31)', + 'placeholderDate': '전체 날짜(YYYY-MM-DD)', + 'example': '예: @value', + 'downloadCategories': '다운로드 카테고리', + 'categoryMusic': '음악', + 'categoryVideo': '동영상', + 'categoryDocument': '문서', + 'categoryProgram': '프로그램', + 'categoryName': '카테고리 이름', + 'categoryPath': '카테고리 경로', + 'builtInCategory': '기본 제공 카테고리는 삭제할 수 없습니다', + 'selectCategory': '카테고리 선택', + 'githubMirror': 'GitHub 미러', + 'githubMirrorEnable': 'GitHub 미러 사용', + 'githubMirrorDesc': '미러를 사용하여 GitHub 콘텐츠 다운로드 가속화', + 'githubMirrorType': '미러 유형', + 'githubMirrorUrl': '미러 URL', + 'githubMirrorUrlHint': '미러 URL을 입력하세요', + 'updateUrl': '업데이트 URL', + 'updateUrlManual': '수동 업데이트', + 'updateUrlListen': '업데이트 감지', + 'updateUrlListeningTip': 'URL 업데이트를 기다리는 중', + 'updateUrlCancelListen': '감지 취소', + 'updateUrlDialogHint': '새 다운로드 URL을 입력하세요', + 'pendingUpdateFound': '대기 중인 업데이트 작업 발견', + 'pendingUpdateConfirm': + '작업 "@name"이(가) URL 업데이트를 기다리고 있습니다. 새 URL로 업데이트하시겠습니까?', + 'pendingUpdateYes': '작업 업데이트', + 'pendingUpdateNo': '새 작업 생성', + 'ed2k': 'ED2K', + 'ed2kTcpPort': 'TCP 수신 포트', + 'ed2kUdpPort': 'UDP 수신 포트', + 'ed2kServerList': '서버 주소', + 'ed2kServerMet': 'Server.met 소스', + 'ed2kNodesDat': 'nodes.dat 소스', + 'ed2kAutoPort': '자동 할당', + 'ed2kOnePerLine': '한 줄에 하나씩 입력', + 'ed2kServersHint': 'host:port 형식, 한 줄에 하나씩', + 'ed2kServerMetHint': 'Server.met URL 또는 ed2k 서버 목록 링크, 한 줄에 하나씩', + 'ed2kNodesDatHint': 'nodes.dat 경로 또는 URL, 한 줄에 하나씩', + 'desktopNotification': '데스크톱 알림', + 'notificationTaskDone': '작업 완료', + 'notificationTaskError': '작업 오류', + }, +}; diff --git a/ui/flutter/lib/i18n/message.dart b/ui/flutter/lib/i18n/message.dart index 8a0f3f46..b879f5dc 100644 --- a/ui/flutter/lib/i18n/message.dart +++ b/ui/flutter/lib/i18n/message.dart @@ -7,6 +7,7 @@ import 'langs/fr_fr.dart'; import 'langs/id_id.dart'; import 'langs/it_it.dart'; import 'langs/ja_jp.dart'; +import 'langs/ko_kr.dart'; import 'langs/pl_pl.dart'; import 'langs/ru_ru.dart'; import 'langs/ta_ta.dart'; @@ -33,6 +34,7 @@ class _Messages extends Translations { ...zhTW, ...faIR, ...jaJP, + ...koKR, ...viVN, ...taTA, ...trTR,