Răsfoiți Sursa

Add Korean Translation

In-wook Hwang 1 an în urmă
părinte
comite
e132bf53b9

+ 1 - 1
scripts/make.js

@@ -14,7 +14,7 @@ const path = require('path')
 const root_dir = path.normalize(path.join(__dirname, '..'))
 const dist_dir = path.normalize(path.join(__dirname, '..', 'dist'))
 
-const electronLanguages = ['en', 'fr', 'zh_CN', 'de', 'ja', 'tr']
+const electronLanguages = ['en', 'fr', 'zh_CN', 'de', 'ja', 'tr', 'ko']
 
 const TARGET_PLATFORMS_configs = {
   mac: {

+ 2 - 0
src/common/i18n/index.ts

@@ -11,6 +11,7 @@ import fr from './languages/fr'
 import de from './languages/de'
 import ja from './languages/ja'
 import tr from './languages/tr'
+import ko from './languages/ko'
 import { LanguageDict, LanguageKey } from '@common/types'
 
 export const languages = {
@@ -24,6 +25,7 @@ export const languages = {
   de,
   ja,
   tr,
+  ko,
 }
 
 export type LocaleName = keyof typeof languages

+ 198 - 0
src/common/i18n/languages/ko.ts

@@ -0,0 +1,198 @@
+/**
+ * @author: wooklab
+ */
+
+export default {
+  _app_name: 'SwitchHosts',
+  _key: 'ko',
+  _name: '한국어',
+  about: '정보',
+  acknowledgement: '승인',
+  advanced: '고급',
+  all: '전체',
+  append: '추가',
+  auto_refresh: '자동 새로고침',
+  btn_cancel: '취소',
+  btn_ok: '확인',
+  change: '수정',
+  check_update: '업데이트 확인',
+  choice_mode: '선택 모드',
+  choice_mode_default: '기본값',
+  choice_mode_desc:
+    '최상위 항목에만 유효하며, 각 폴더는 고유의 선택 모드를 설정할 수 있습니다.',
+  choice_mode_multiple: '다중모드',
+  choice_mode_single: '단일모드',
+  choices: '선택',
+  chosen: '선택된',
+  clear_history: '이력 삭제',
+  click_to_open: '클릭하여 열기',
+  close: '닫기',
+  colon: ': ',
+  commands: '명령어',
+  commands_help:
+    '호스트를 적용하면 시스템에 명령어가 실행됩니다:',
+  commands_title: '호스트가 적용된 후 명령어',
+  comment_current_line: '주석 현재 줄',
+  content: '내용',
+  copy: '복사',
+  cut: '자르기',
+  day: '일',
+  days: '일',
+  delete: '삭제',
+  download: '다운로드',
+  edit: '수정',
+  export: '내보내기',
+  export_done: '내보내기가 완료되었습니다.',
+  fail: '실패!',
+  feedback: '피드백',
+  file: '파일',
+  find: '찾기',
+  find_all: '전체 찾기',
+  find_and_replace: '찾기 및 바꾸기',
+  find_history: '이력 찾기',
+  folder: '폴더',
+  front: '앞쪽',
+  general: '일반',
+  group: '그룹',
+  help: '도움말',
+  hide: '숨기기',
+  hide_at_launch: '시작 시 숨기기',
+  hide_dock_icon: '독(Dock) 아이콘 숨기기',
+  hide_history: '이력 숨기기',
+  hide_others: '다른 것 숨기기',
+  homepage: '홈페이지',
+  host: '호스트',
+  hosts_add: '새로운 호스트 추가',
+  hosts_delete: '이 호스트 삭제',
+  hosts_delete_confirm: '현재 호스트를 삭제하시겠습니까?',
+  hosts_edit: '호스트 수정',
+  hosts_title: '호스트 제목',
+  hosts_type: '호스트 유형',
+  hosts_updated: '호스트 파일이 갱신되었습니다.',
+  hour: '시간',
+  hours: '시간',
+  http_api_on: 'HTTP API 사용',
+  http_api_on_desc:
+    '포트 {0}에서 실행되며, Alfred와 같은 서드파티 소프트웨어를 통해 호스트를 전환하는데 사용할 수 있습니다.',
+  http_api_only_local: 'HTTP API 127.0.0.1만 수신',
+  ignore_case: '대소문자 무시',
+  import: '가져오기',
+  import_done: '가져오기가 완료되었습니다.',
+  import_fail: '가져오기 실패!',
+  import_from_url: 'URL에서 가져오기',
+  is_latest_version_inform: '좋아요, 최신 버전을 실행 중입니다.!',
+  check_update_failed: '업데이트 확인에 실패했습니다!',
+  item_found: '{0}개의 항목을 찾았습니다.',
+  items: '항목',
+  items_found: '{0}개의 항목들을 찾았습니다.',
+  language: '언어',
+  last_refresh: '마지막 새로고침: ',
+  latest_version_desc: '최신버전: {0}',
+  line: '줄',
+  lines: '줄들',
+  loading: '로딩중...',
+  local: '로컬',
+  match: '일치',
+  migrate_confirm:
+    'SwitchHosts v4.0는 새로운 데이터 저장 형식을 사용합니다. 이전 데이터를 새 형식으로 마이그레이션(이전)하시겠습니까?',
+  migrate_data: '데이터 이전',
+  minimize: '최소화',
+  minute: '분',
+  minutes: '분',
+  move_items_to_trashcan: '{0}개의 항목이 휴지통으로 이동',
+  move_to_trashcan: '휴지통으로 이동',
+  multi_chose_folder_switch_all:
+    '하위 항목을 제어할 다중 선택 폴더 스위치',
+  need_to_relaunch: '다시 시작해야 함',
+  need_to_relaunch_after_setting_changed:
+    '설정이 변경되었으며 앱을 다시 시작한 후에 적용됩니다.',
+  never: '절대',
+  new: '신규',
+  new_version_found: '새 버전을 찾았습니다',
+  next: '다음',
+  no_access_to_hosts: '호스트 파일 쓰기 권한이 없습니다.',
+  no_record: '레코드 없음',
+  overwrite: '덮어쓰기',
+  password: '패스워드',
+  paste: '붙여넣기',
+  port: '포트',
+  preferences: '설정',
+  previous: '이전',
+  protocol: '프로토콜',
+  proxy: '프록시',
+  quit: '종료',
+  read_only: '읽기 전용',
+  redo: '재실행',
+  refresh: '새로고침',
+  regexp: '정규식',
+  reload: '새로고침',
+  remote: '리모트',
+  remove_duplicate_records: '중복 레코드 삭제',
+  remove_duplicate_records_desc:
+    '만약 도메인이 여러 IP를 가리키는 경우, 첫 번째 IP만 적용되며, 나머지는 주석처리됩니다.',
+  replace: '대체하기',
+  replace_all: '전체 대체하기',
+  replace_history: '이력 교체',
+  reset: '재설정',
+  reset_data_dir_confirm:
+    '이 데이터 폴더를 기본 경로({0})로 복원하시겠습니까?',
+  reset_zoom: '확대 재설정',
+  search: '찾기',
+  select_all: '전체 선택',
+  selected: '선택',
+  show_dock_icon: '독(Dock) 아이콘 보기',
+  show_history: '이력 보기',
+  show_main_window: '메인 창 보기',
+  show_title_on_tray: '트레이에 제목 표시',
+  source_code: '소스코드',
+  success: '성공!',
+  sudo_prompt_title: 'sudo password 입력',
+  system_hosts: '시스템 호스트',
+  system_hosts_history: '시스템 호스트의 이력버전',
+  system_hosts_history_delete_confirm:
+    '이 항목을 삭제하시겠습니까?',
+  system_hosts_history_help:
+    '이력 개수가 이 제한을 초과하면 가장 오래된 이력부터 삭제됩니다.',
+  system_hosts_history_limit: '이력 최대 개수: ',
+  test: '테스트',
+  theme: '테마',
+  theme_dark: '다크',
+  theme_light: '라이트',
+  title: '제목',
+  to_show_source: '더블 클릭하여 소스코드를 표시합니다.',
+  toggle_developer_tools: '개발자 도구 전환',
+  toggle_dock_icon: '독(DocK) 아이콘 전환',
+  toggle_full_screen: '전체화면 전환',
+  trashcan: '휴지통',
+  trashcan_clear: '휴지통 비우기',
+  trashcan_clear_confirm: '휴지통을 비우시겠습니까?',
+  trashcan_delete_confirm: '이 항목을 완전히 삭제하시겠습니까?',
+  trashcan_restore: '복구',
+  tray_mini_window: '작업 표시줄 아이콘 바로가기',
+  undo: '실행취소',
+  unhide: '숨김해제',
+  untitled: '제목없음',
+  url_placeholder: 'http:// or https:// or file://',
+  usage_data_agree: '익명화된 사용 데이터 제출에 동의합니다',
+  usage_data_help:
+    '주기적으로 익명의 사용 데이터를 제출하여 SwitchHost를 개선하는 데 도움을 주시겠습니까?',
+  usage_data_title: 'SwitchHosts개선!',
+  use_proxy: '프록시 사용',
+  use_system_window_frame:
+    '시스템 창을 사용하려면, 프로그램 재시작이 필요합니다',
+  view: '뷰',
+  where_is_my_data: '내 데이터는 어디에 저장되나요?',
+  where_is_my_hosts: '내 호스트 파일은 어디에 있나요?',
+  window: '창',
+  write_mode: '쓰기 모드',
+  write_mode_append_help:
+    '시스템 호스트 파일 마지막 줄에 새 레코드를 추가합니다.',
+  write_mode_overwrite_help:
+    '시스템 호스트 파일에 새 레코드로 덮어씁니다.',
+  write_mode_set: '쓰기 모드 설정',
+  your_data_is: '데이터 저장위치:',
+  your_hosts_file_is: '호스트 파일 위치:',
+  zoom: '확대',
+  zoom_in: '확대',
+  zoom_out: '축소',
+}

+ 2 - 0
src/main/ui/checkSystemLocale.ts

@@ -29,6 +29,8 @@ export default async () => {
     locale = 'ja'
   } else if (locale.startsWith('tr')) {
     locale = 'tr'
+  } else if (locale.startsWith('ko')) {
+    locale = 'ko'
   }
 
   if (!isLocaleName(locale)) {

+ 1 - 0
src/renderer/components/Pref/General.tsx

@@ -53,6 +53,7 @@ const General = (props: IProps) => {
             <option value="de">Deutsch</option>
             <option value="ja">日本語</option>
             <option value="tr">Türkçe</option>
+            <option value="ko">한국어</option>
           </Select>
         </HStack>
       </FormControl>