From baef4ea4d1747233a86b90fe5b60a0d6cfba1f1c Mon Sep 17 00:00:00 2001 From: Fabio Di Stasio Date: Mon, 17 Apr 2023 09:21:01 +0200 Subject: [PATCH] feat(translation): ko-KR translation, closes #561 --- src/renderer/i18n/index.ts | 4 +- src/renderer/i18n/ko-KR.ts | 509 +++++++++++++++++++++++++ src/renderer/i18n/supported-locales.ts | 3 +- 3 files changed, 514 insertions(+), 2 deletions(-) create mode 100644 src/renderer/i18n/ko-KR.ts diff --git a/src/renderer/i18n/index.ts b/src/renderer/i18n/index.ts index 0f94f788..219b3c91 100644 --- a/src/renderer/i18n/index.ts +++ b/src/renderer/i18n/index.ts @@ -11,6 +11,7 @@ import { jaJP } from './ja-JP'; import { zhCN } from './zh-CN'; import { ruRU } from './ru-RU'; import { idID } from './id-ID'; +import { koKR } from './ko-KR'; const messages = { 'en-US': enUS, @@ -24,7 +25,8 @@ const messages = { 'ja-JP': jaJP, 'zh-CN': zhCN, 'ru-RU': ruRU, - 'id-ID': idID + 'id-ID': idID, + 'ko-KR': koKR }; type NestedPartial = { diff --git a/src/renderer/i18n/ko-KR.ts b/src/renderer/i18n/ko-KR.ts new file mode 100644 index 00000000..1e33eb5d --- /dev/null +++ b/src/renderer/i18n/ko-KR.ts @@ -0,0 +1,509 @@ +export const koKR = { + word: { + edit: '편집', + save: '저장', + close: '닫기', + delete: '삭제', + confirm: '확인', + cancel: '취소', + send: '보내기', + connectionName: '연결 이름', + client: '클라이언트', + hostName: '호스트 이름', + port: '포트', + user: '사용자', + password: '비밀번호', + credentials: '자격 증명', + connect: '연결', + connected: '연결됨', + disconnect: '연결 해제', + disconnected: '연결 해제됨', + refresh: '새로고침', + settings: '설정', + general: '일반', + themes: '테마', + update: '업데이트', + about: '정보', + language: '언어', + version: '버전', + donate: '기부', + run: '실행', + schema: '스키마', + results: '결과', + size: '크기', + seconds: '초', + type: '유형', + mimeType: 'Mime 타입', + download: '다운로드', + add: '추가', + data: '데이터', + properties: '속성', + insert: '삽입', + connecting: '연결 중', + name: '이름', + collation: 'Collation', + clear: '초기화', + options: '옵션', + autoRefresh: '자동 새로고침', + indexes: '인덱스', + foreignKeys: '외래 키', + length: '길이', + unsigned: 'Unsigned', + default: '기본값', + comment: '설명', + key: '키 | 키들', + order: '순서', + expression: '식', + autoIncrement: '자동 증가', + engine: '엔진', + field: '필드 | 필드들', + approximately: '대략', + total: '전체', + table: '테이블', + discard: '취소', + stay: '계속하기', + author: '작성자', + light: '라이트', + dark: '다크', + autoCompletion: '자동 완성', + application: '애플리케이션', + editor: '편집기', + view: '보기', + definer: '정의자', + algorithm: '알고리즘', + trigger: '트리거 | 트리거들', + storedRoutine: '프로시저 | 프로시저들', + scheduler: '스케줄러 | 스케줄러들', + event: '이벤트', + parameters: '매개변수', + function: '함수 | 함수들', + deterministic: '결정론적', + context: '컨텍스트', + export: '내보내기', + import: '가져오기', + returns: '반환', + timing: '타이밍', + state: '상태', + execution: '실행', + starts: '시작', + ends: '종료', + ssl: 'SSL', + privateKey: '개인 키', + certificate: '인증서', + caCertificate: 'CA 인증서', + ciphers: '암호화', + upload: '업로드', + browse: '찾아보기', + faker: 'Faker', + content: '컨텐츠', + cut: '잘라내기', + copy: '복사', + paste: '붙여넣기', + tools: '도구', + variables: '변수', + processes: '프로세스', + database: '데이터베이스', + scratchpad: '스크래치패드', + array: '배열', + changelog: '변경 로그', + format: '형식', + sshTunnel: 'SSH 터널', + structure: '구조', + small: '작음', + medium: '중간', + large: '큼', + row: '행 | 행들', + cell: '셀 | 셀들', + triggerFunction: '트리거 함수 | 트리거 함수들', + all: '모두', + duplicate: '복제', + routine: '루틴', + new: '새로 만들기', + history: '기록', + select: '선택', + passphrase: '암호', + filter: '필터', + change: '변경', + views: '뷰', + triggers: '트리거', + routines: '루틴', + functions: '함수', + schedulers: '스케줄러', + includes: '포함', + drop: '삭제', + completed: '완료됨', + aborted: '중단됨', + disabled: '비활성화됨', + enable: '활성화', + disable: '비활성화', + commit: '커밋', + rollback: '롤백', + connectionString: '연결 문자열', + contributors: '기여자', + pin: '고정', + unpin: '고정 해제', + console: '콘솔', + shortcuts: '바로가기', + folder: '폴더 | 폴더들', + appearence: '외형', + color: '색상', + label: '라벨', + icon: '아이콘', + resultsTable: '결과 테이블' + }, + message: { + appWelcome: 'Antares SQL 클라이언트에 오신 것을 환영합니다!', + appFirstStep: '첫 번째 단계: 새 데이터베이스 연결', + addConnection: '연결 추가', + createConnection: '연결 생성', + createNewConnection: '새로운 연결 생성', + askCredentials: '자격 증명 요청', + testConnection: '연결 테스트', + editConnection: '연결 편집', + deleteConnection: '연결 삭제', + deleteCorfirm: '취소를 확인하시겠습니까', + connectionSuccessfullyMade: '성공적으로 연결되었습니다!', + madeWithJS: '💛과 JavaScript로 만들어졌습니다!', + checkForUpdates: '업데이트 확인', + noUpdatesAvailable: '업데이트가 없습니다', + checkingForUpdate: '업데이트 확인 중', + checkFailure: '확인 실패, 나중에 다시 시도해주세요', + updateAvailable: '업데이트 가능', + downloadingUpdate: '업데이트 다운로드 중', + updateDownloaded: '업데이트 다운로드 완료', + restartToInstall: 'Antares를 다시 실행해주세요', + unableEditFieldWithoutPrimary: '기본 키 없이 필드를 편집할 수 없습니다.', + editCell: '셀 편집', + deleteRows: '행 삭제 | {count}개의 행 삭제', + confirmToDeleteRows: '행을 삭제하시겠습니까? | {count}개의 행을 삭제하시겠습니까?', + notificationsTimeout: '알림 시간 초과', + uploadFile: '파일 업로드', + addNewRow: '새 행 추가', + numberOfInserts: '삽입 횟수', + openNewTab: '새 탭 열기', + affectedRows: '영향 받은 행', + createNewDatabase: '새 데이터베이스 생성', + databaseName: '데이터베이스 이름', + serverDefault: '서버 기본값', + deleteDatabase: '데이터베이스 삭제', + editDatabase: '데이터베이스 편집', + clearChanges: '변경사항 초기화', + addNewField: '새 필드 추가', + manageIndexes: '인덱스 관리', + manageForeignKeys: '외래 키 관리', + allowNull: 'NULL 허용', + zeroFill: '0 채우기', + customValue: '사용자 지정 값', + onUpdate: '업데이트 시', + deleteField: '필드 삭제', + createNewIndex: '새 인덱스 생성', + addToIndex: '인덱스에 추가', + createNewTable: '새 테이블 생성', + emptyTable: '테이블 비우기', + deleteTable: '테이블 삭제', + emptyCorfirm: '비우시겠습니까', + unsavedChanges: '저장되지 않은 변경사항', + discardUnsavedChanges: '저장되지 않은 변경사항이 있습니다. 탭을 닫으면 이러한 변경사항이 삭제됩니다.', + thereAreNoIndexes: '인덱스가 없습니다.', + thereAreNoForeign: '외래 키가 없습니다.', + createNewForeign: '새로운 외래 키 생성', + referenceTable: '참조 테이블', + referenceField: '참조 필드', + foreignFields: '외래 필드', + invalidDefault: '잘못된 기본값', + onDelete: '삭제 시', + applicationTheme: '애플리케이션 테마', + editorTheme: '편집기 테마', + wrapLongLines: '긴 줄 바꿈', + selectStatement: 'SELECT 문', + triggerStatement: '트리거 문', + sqlSecurity: 'SQL 보안', + updateOption: '업데이트 옵션', + deleteView: '뷰 삭제', + createNewView: '새로운 뷰 생성', + deleteTrigger: '트리거 삭제', + createNewTrigger: '새로운 트리거 생성', + currentUser: '현재 사용자', + routineBody: '루틴 본문', + dataAccess: '데이터 접근', + thereAreNoParameters: '매개변수가 없습니다.', + createNewParameter: '새 매개변수 생성', + createNewRoutine: '새 루틴 생성', + deleteRoutine: '루틴 삭제', + functionBody: '함수 본문', + createNewFunction: '새 함수 생성', + deleteFunction: '함수 삭제', + schedulerBody: '스케줄러 본문', + createNewScheduler: '새 스케줄러 생성', + deleteScheduler: '스케줄러 삭제', + preserveOnCompletion: '완료 후 보존', + enableSsl: 'SSL 활성화', + manualValue: '수동 값', + tableFiller: '테이블 채우기', + fakeDataLanguage: '가짜 데이터 언어', + searchForElements: '요소 검색', + selectAll: '전체 조회', + queryDuration: '쿼리 시간', + includeBetaUpdates: '베타 업데이트 포함', + setNull: 'NULL 설정', + processesList: '프로세스 목록', + processInfo: '프로세스 정보', + manageUsers: '사용자 관리', + createNewSchema: '새 스키마 생성', + schemaName: '스키마 이름', + editSchema: '스키마 편집', + deleteSchema: '스키마 삭제', + markdownSupported: '마크다운 지원', + plantATree: '나무 심기', + dataTabPageSize: '데이터 탭 페이지 크기', + enableSsh: 'SSH 활성화', + pageNumber: '페이지 번호', + duplicateTable: '테이블 복제', + noOpenTabs: '열린 탭이 없습니다.', + noSchema: '스키마 없음', + restorePreviourSession: '이전 세션 복원', + runQuery: '쿼리 실행', + thereAreNoTableFields: '테이블 필드가 없습니다', + newTable: '새 테이블', + newView: '새 뷰', + newTrigger: '새 트리거', + newRoutine: '새 루틴', + newFunction: '새 함수', + newScheduler: '새 스케줄러', + newTriggerFunction: '새 트리거 함수', + thereIsNoQueriesYet: '아직 쿼리가 없습니다', + searchForQueries: '쿼리 검색', + killProcess: '프로세스 종료', + closeTab: '탭 닫기', + exportSchema: '스키마 내보내기', + importSchema: '스키마 가져오기', + directoryPath: '디렉터리 경로', + newInserStmtEvery: '마다 새 INSERT 문', + processingTableExport: '{table} 처리 중', + fechingTableExport: '{table} 데이터 가져오는 중', + writingTableExport: '{table} 데이터 쓰는 중', + checkAllTables: '모든 테이블 선택', + uncheckAllTables: '모든 테이블 선택 취소', + goToDownloadPage: '다운로드 페이지로 이동', + readOnlyMode: '읽기 전용 모드', + killQuery: '쿼리 종료', + insertRow: '행 삽입 | 행 삽입', + commitMode: '커밋 모드', + autoCommit: '자동 커밋', + manualCommit: '수동 커밋', + actionSuccessful: '{action} 성공', + importQueryErrors: '경고: {n}개의 오류 발생 | 경고: {n}개의 오류 발생', + executedQueries: '{n}개의 쿼리 실행 | {n}개의 쿼리 실행', + ourputFormat: '출력 형식', + singleFile: '단일 {ext} 파일', + zipCompressedFile: 'ZIP 압축 {ext} 파일', + disableBlur: 'blur 비활성화', + untrustedConnection: '신뢰할 수 없는 연결', + missingOrIncompleteTranslation: '누락 혹은 불완전한 번역?', + findOutHowToContribute: '기여 방법 알아보기', + disableFKChecks: '외래 키 검사 비활성화', + allConnections: '모든 연결', + searchForConnections: '연결 검색', + disableScratchpad: '스크래치패드 비활성화', + reportABug: '버그 신고', + nextTab: '다음 탭', + previousTab: '이전 탭', + selectTabNumber: '{param}번 탭 선택', + toggleConsole: '콘솔 전환', + addShortcut: '단축키 추가', + editShortcut: '단축키 편집', + deleteShortcut: '단축키 삭제', + restoreDefaults: '기본값 복원', + restoreDefaultsQuestion: '기본값으로 복원하시겠습니까?', + registerAShortcut: '단축키 등록', + invalidShortcutMessage: '유효하지 않은 조합입니다. 계속 입력하세요.', + shortcutAlreadyExists: '이미 존재하는 단축키입니다.', + saveContent: '내용 저장', + openAllConnections: '모든 연결 열기', + openSettings: '설정 열기', + openScratchpad: '스크래치패드 열기', + runOrReload: '실행 또는 다시 로드', + formatQuery: '쿼리 형식', + queryHistory: '쿼리 기록', + clearQuery: '쿼리 지우기', + openFilter: '필터 열기', + nextResultsPage: '다음 결과 페이지', + previousResultsPage: '이전 결과 페이지', + fillCell: '셀 채우기', + editFolder: '폴더 수정', + folderName: '폴더 이름', + deleteFolder: '폴더 삭제', + editConnectionAppearence: '연결 형태 수정', + executeSelectedQuery: '선택한 쿼리 실행', + defaultCopyType: '기본 복사 유형', + showTableSize: '사이드바에 테이블 크기 표시', + showTableSizeDescription: 'MySQL/MariaDB 전용입니다. 이 옵션을 사용하면 많은 테이블이 있는 스키마의 성능에 영향을 줄 수 있습니다.', + searchForSchemas: '스키마 검색', + switchSearchMethod: '검색 방법 전환' + }, + faker: { + address: '주소', + commerce: '상업', + company: '회사', + database: '데이터베이스', + date: '날짜', + finance: '금융', + git: 'git', + hacker: '해커', + internet: '인터넷', + lorem: 'lorem', + name: '이름', + music: '음악', + phone: '전화', + random: '랜덤', + system: '시스템', + time: '시간', + vehicle: '차량', + zipCode: '우편번호', + zipCodeByState: '주별 우편번호', + city: '도시', + cityPrefix: '도시 접두사', + citySuffix: '도시 접미사', + streetName: '거리 이름', + streetAddress: '주소', + streetSuffix: '거리 접미사', + streetPrefix: '거리 접두사', + secondaryAddress: '보조 주소', + county: '군/도', + country: '국가', + countryCode: '국가 코드', + state: '주/도', + stateAbbr: '주/도 약어', + latitude: '위도', + longitude: '경도', + direction: '방향', + cardinalDirection: '기본 방위', + ordinalDirection: '서수 방위', + nearbyGPSCoordinate: '인근 GPS 좌표', + timeZone: '시간대', + color: '색상', + department: '부서', + productName: '제품 이름', + price: '가격', + productAdjective: '제품 형용사', + productMaterial: '제품 재질', + product: '제품', + productDescription: '제품 설명', + suffixes: '접미사', + companyName: '회사 이름', + companySuffix: '회사 접미사', + catchPhrase: '캐치프레이즈', + bs: 'BS', + catchPhraseAdjective: '캐치프레이즈 형용사', + catchPhraseDescriptor: '캐치프레이즈 서술어', + catchPhraseNoun: '캐치프레이즈 명사', + bsAdjective: 'BS 형용사', + bsBuzz: 'BS 버저', + bsNoun: 'BS 명사', + column: '열', + type: '타입', + collation: 'Collation', + engine: '엔진', + past: '과거', + now: '현재', + future: '미래', + between: '사이', + recent: '최근', + soon: '곧', + month: '월', + weekday: '요일', + account: '계정', + accountName: '계정 이름', + routingNumber: '라우팅 번호', + mask: '마스크', + amount: '금액', + transactionType: '거래 유형', + currencyCode: '통화 코드', + currencyName: '통화 이름', + currencySymbol: '통화 기호', + bitcoinAddress: '비트코인 주소', + litecoinAddress: '라이트코인 주소', + creditCardNumber: '신용카드', + creditCardCVV: '신용카드 CVV', + ethereumAddress: '이더리움 주소', + iban: '국제 은행 계좌 번호', + bic: '은행 식별자 코드', + transactionDescription: '거래 설명', + branch: '지점', + commitEntry: '커밋 항목', + commitMessage: '커밋 메시지', + commitSha: '커밋 SHA', + shortSha: '짧은 SHA', + abbreviation: '약어', + adjective: '형용사', + noun: '명사', + verb: '동사', + ingverb: '진행형 동사', + phrase: '구문', + avatar: '아바타', + email: '이메일', + exampleEmail: '예시 이메일', + userName: '사용자 이름', + protocol: '프로토콜', + url: 'URL', + domainName: '도메인 이름', + domainSuffix: '도메인 접미사', + domainWord: '도메인 단어', + ip: 'IP', + ipv6: 'IPv6', + userAgent: '사용자 에이전트', + mac: 'MAC', + password: '비밀번호', + word: '단어', + words: '단어들', + sentence: '문장', + slug: '슬러그', + sentences: '문장들', + paragraph: '문단', + paragraphs: '문단들', + text: '텍스트', + lines: '라인', + genre: '장르', + firstName: '이름', + lastName: '성', + middleName: '중간 이름', + findName: '전체 이름', + jobTitle: '직함', + gender: '성별', + prefix: '접두사', + suffix: '접미사', + title: '타이틀', + jobDescriptor: '직무 설명', + jobArea: '직무 영역', + jobType: '직무 유형', + phoneNumber: '전화번호', + phoneNumberFormat: '전화번호 형식', + phoneFormats: '전화번호 형식들', + number: '숫자', + float: 'float', + arrayElement: '배열 요소', + arrayElements: '배열 요소들', + objectElement: '객체 요소', + uuid: 'UUID', + boolean: '부울', + image: '이미지', + locale: '로케일', + alpha: '알파벳', + alphaNumeric: '알파벳 및 숫자', + hexaDecimal: '16진수', + fileName: '파일 이름', + commonFileName: '공통 파일 이름', + mimeType: 'MIME 타입', + commonFileType: '공통 파일 유형', + commonFileExt: '공통 파일 확장자', + fileType: '파일 유형', + fileExt: '파일 확장자', + directoryPath: '디렉토리 경로', + filePath: '파일 경로', + semver: '유의적 버전', + manufacturer: '제조사', + model: '모델', + fuel: '연료', + vin: '차량식별번호' + } +}; \ No newline at end of file diff --git a/src/renderer/i18n/supported-locales.ts b/src/renderer/i18n/supported-locales.ts index 83ce5ef6..dc12b4f3 100644 --- a/src/renderer/i18n/supported-locales.ts +++ b/src/renderer/i18n/supported-locales.ts @@ -10,5 +10,6 @@ export const localesNames: {[key: string]: string} = { 'ja-JP': '日本語', 'zh-CN': '简体中文', 'ru-RU': 'Русский', - 'id-ID': 'Bahasa Indonesia' + 'id-ID': 'Bahasa Indonesia', + 'ko-KR': '한국어' };