import demoKo from "./demo-ko"
import { Translations } from "./en"

const ko: Translations = {
  common: {
    ok: "확인!",
    cancel: "취소",
    save: "저장",
    back: "뒤로",
    logOut: "로그아웃",
    copied: "복사됨",
  },
  welcomeScreen: {
    postscript:
      "잠깐! — 지금 보시는 것은 아마도 당신의 앱의 모양새가 아닐겁니다. (디자이너분이 이렇게 건내주셨다면 모를까요. 만약에 그렇다면, 이대로 가져갑시다!) ",
    readyForLaunch: "출시 준비가 거의 끝난 나만의 앱!",
    exciting: "(오, 이거 신나는데요!)",
    letsGo: "가보자구요!",
  },
  errorScreen: {
    title: "뭔가 잘못되었습니다!",
    friendlySubtitle:
      "이 화면은 오류가 발생할 때 프로덕션에서 사용자에게 표시됩니다. 이 메시지를 커스터마이징 할 수 있고(해당 파일은 `app/i18n/ko.ts` 에 있습니다) 레이아웃도 마찬가지로 수정할 수 있습니다(`app/screens/error`). 만약 이 오류화면을 완전히 없에버리고 싶다면 `app/app.tsx` 파일에서 <ErrorBoundary> 컴포넌트를 확인하기 바랍니다.",
    reset: "초기화",
    traceTitle: "%{name} 스택에서의 오류",
  },
  emptyStateComponent: {
    generic: {
      heading: "너무 텅 비어서.. 너무 슬퍼요..",
      content: "데이터가 없습니다. 버튼을 눌러서 리프레쉬 하시거나 앱을 리로드하세요.",
      button: "다시 시도해봅시다",
    },
  },

  errors: {
    invalidEmail: "잘못된 이메일 주소 입니다.",
  },
  authErrors: {
    timeout: "요청 시간이 초과되었습니다. 다시 시도해주세요.",
    cannotConnect: "서버에 연결할 수 없습니다. 네트워크를 확인해주세요.",
    serverError: "서버 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
    badData: "서버 응답이 올바르지 않습니다.",
    unknownError: "알 수 없는 오류가 발생했습니다.",
    E001: "이미 사용 중인 사용자명입니다.",
    E002: "이미 등록된 이메일입니다.",
    E003: "유효하지 않은 추천 코드입니다.",
    E004: "대기 중인 가입 요청이 없습니다.",
    E005: "잘못된 인증 코드입니다.",
    E006: "이미 추천 코드가 등록되어 있습니다.",
    E007: "자신의 추천 코드는 사용할 수 없습니다.",
    E011: "이메일 또는 비밀번호가 올바르지 않습니다.",
    E012: "계정이 일시적으로 잠겼습니다. 잠시 후 다시 시도해주세요.",
    E013: "대기 중인 로그인 요청이 없습니다.",
    E014: "존재하지 않거나 비활성화된 사용자입니다.",
    E015: "잘못된 인증 코드입니다.",
    E016: "유효하지 않은 Telegram 인증입니다.",
    E017: "Telegram 데이터 형식이 올바르지 않습니다.",
    E018: "Google 인증에 실패했습니다.",
    E019: "Google 토큰을 입력해주세요.",
    E021: "현재 비밀번호가 올바르지 않습니다.",
    E022: "새 비밀번호는 현재 비밀번호와 같을 수 없습니다.",
    E023: "등록되지 않은 이메일입니다.",
    E024: "계정이 비활성화되었습니다.",
    E025: "대기 중인 비밀번호 재설정 요청이 없습니다.",
    E026: "비밀번호 재설정 코드가 만료되었습니다.",
    E027: "잘못된 비밀번호 재설정 코드입니다.",
    E028: "존재하지 않는 사용자입니다.",
    E029: "수정할 필드가 제공되지 않았습니다.",
    E041: "인증 코드 전송이 너무 빈번합니다. 잠시 기다려주세요.",
    E042: "이메일 인증 코드가 만료되었습니다.",
    E043: "잘못된 이메일 인증 코드입니다.",
    E044: "이미 인증된 이메일입니다.",
    E045: "이미 다른 사용자가 사용 중인 이메일입니다.",
    E046: "인증된 이메일이 없습니다.",
    E047: "먼저 현재 이메일로 인증 코드를 전송해주세요.",
    E048: "먼저 현재 이메일을 인증해주세요.",
    E049: "먼저 새 이메일로 인증 코드를 전송해주세요.",
    E050: "잘못된 action 매개변수입니다.",
  },
  loginScreen: {
    logIn: "로그인",
    enterDetails:
      "일급비밀 정보를 해제하기 위해 상세 정보를 입력하세요. 무엇이 기다리고 있는지 절대 모를겁니다. 혹은 알 수 있을지도 모르겠군요. 엄청 복잡한 뭔가는 아닙니다.",
    emailFieldLabel: "이메일",
    passwordFieldLabel: "비밀번호",
    emailFieldPlaceholder: "이메일을 입력하세요",
    passwordFieldPlaceholder: "엄청 비밀스러운 암호를 입력하세요",
    tapToLogIn: "눌러서 로그인 하기!",
    hint: "힌트: 가장 좋아하는 암호와 아무런 아무 이메일 주소나 사용할 수 있어요 :)",
  },
  navigator: {
    componentsTab: "컴포넌트",
    debugTab: "디버그",
    communityTab: "커뮤니티",
    podcastListTab: "팟캐스트",
    profileTab: "프로필",
  },
  profileScreen: {
    title: "프로필",
    guest: "게스트",
    uid: "UID",
    username: "사용자 이름",
    referralCode: "추천 코드",
    settings: "설정",
    darkMode: "다크 모드",
    notifications: "알림",
    security: "보안",
    account: "계정",
    accountStatus: "계정 상태",
    active: "활성",
    inactive: "비활성",
    regular: "일반",
    emailVerified: "이메일 인증",
    verified: "인증됨",
    unverified: "미인증",
    loginMethods: "로그인 방법",
    version: "버전",
    changePassword: "비밀번호 변경",
    changeEmail: "이메일 변경",
    editNickname: "닉네임 수정",
    editProfile: "프로필 수정",
    nicknamePlaceholder: "닉네임을 입력하세요",
    nickname: "닉네임",
    tapToChangeAvatar: "아바타 변경하려면 탭하세요",
    about: "정보",
  },
  changePasswordScreen: {
    title: "비밀번호 변경",
    description: "현재 비밀번호를 입력하고 새 비밀번호를 선택하세요.",
    oldPassword: "현재 비밀번호",
    newPassword: "새 비밀번호",
    confirmPassword: "새 비밀번호 확인",
    logoutOtherDevices: "다른 기기에서 로그아웃",
    submit: "비밀번호 변경",
    success: "성공",
    successMessage: "비밀번호가 성공적으로 변경되었습니다.",
    oldPasswordRequired: "현재 비밀번호가 필요합니다.",
    newPasswordRequired: "새 비밀번호가 필요합니다.",
    passwordTooShort: "비밀번호는 최소 6자 이상이어야 합니다.",
    passwordMismatch: "비밀번호가 일치하지 않습니다.",
    samePassword: "새 비밀번호는 현재 비밀번호와 같을 수 없습니다.",
  },
  changeEmailScreen: {
    title: "이메일 변경",
    step1Label: "이메일 인증",
    step2Label: "새 이메일 연결",
    step1Title: "1단계: 현재 이메일 확인",
    step1Description: "현재 이메일 주소로 인증 코드를 보내드립니다.",
    step2Title: "2단계: 새 이메일 연결",
    step2Description: "새 이메일 주소를 입력하고 인증하세요.",
    currentEmail: "현재 이메일",
    newEmail: "새 이메일 주소",
    verificationCode: "인증 코드",
    sendCode: "인증 코드 보내기",
    sendCodeToNewEmail: "새 이메일로 코드 보내기",
    verify: "확인",
    confirmNewEmail: "새 이메일 확인",
    resendCode: "코드 재전송",
    success: "성공",
    successMessage: "이메일이 성공적으로 변경되었습니다.",
    codeRequired: "인증 코드가 필요합니다.",
    codeInvalid: "인증 코드는 6자리여야 합니다.",
    newEmailRequired: "새 이메일 주소가 필요합니다.",
    emailInvalid: "올바른 이메일 주소를 입력하세요.",
    sameEmail: "새 이메일은 현재 이메일과 같을 수 없습니다.",
  },
  settingsScreen: {
    title: "설정",
    appearance: "외관",
    theme: "테마",
    darkMode: "다크 모드",
    language: "언어",
    currentLanguage: "언어",
  },
  languageScreen: {
    title: "언어",
    selectHint: "원하는 언어를 선택하세요",
  },
  themeScreen: {
    title: "테마",
    selectHint: "원하는 테마를 선택하세요",
    system: "시스템",
    light: "라이트",
    dark: "다크",
  },
  securityScreen: {
    title: "보안",
    description: "계정 보안 설정을 관리합니다.",
    changePassword: "비밀번호 변경",
    changeEmail: "이메일 변경",
    // Session management
    activeSessions: "Active Sessions",
    activeSessionsDescription: "Devices currently logged into your account",
    currentDevice: "Current Device",
    lastActive: "Last active",
    loginMethod: "Login via",
    logoutDevice: "Logout",
    logoutAllOther: "Logout All Other Devices",
    logoutAllOtherDescription: "This will log out all devices except the current one.",
    noOtherSessions: "No other active sessions",
    sessionRevoked: "Device has been logged out",
    sessionsRevoked: "{{count}} devices have been logged out",
    confirmLogout: "Confirm Logout",
    confirmLogoutMessage: "Are you sure you want to log out this device?",
    confirmLogoutAllMessage: "Are you sure you want to log out all other devices?",
    deviceTypes: {
      desktop: "Desktop",
      mobile: "Mobile",
      tablet: "Tablet",
      unknown: "Unknown Device",
    },
  },
  aboutScreen: {
    title: "정보",
    appInfo: "앱 정보",
    appName: "앱 이름",
    version: "버전",
    buildVersion: "빌드 버전",
    appId: "앱 ID",
    appVersion: "앱 버전",
    legal: "법률",
    privacyPolicy: "개인정보처리방침",
    termsOfService: "서비스 이용약관",
  },
  communityScreen: {
    title: "커뮤니티와 함께해요",
    tagLine:
      "전문적인 React Native 엔지니어들로 구성된 Infinite Red 커뮤니티에 접속해서 함께 개발 실력을 향상시켜 보세요!",
    joinUsOnSlackTitle: "Slack 에 참여하세요",
    joinUsOnSlack:
      "전 세계 React Native 엔지니어들과 함께할 수 있는 곳이 있었으면 좋겠죠? Infinite Red Community Slack 에서 대화에 참여하세요! 우리의 성장하는 커뮤니티는 질문을 던지고, 다른 사람들로부터 배우고, 네트워크를 확장할 수 있는 안전한 공간입니다. ",
    joinSlackLink: "Slack 에 참여하기",
    makeIgniteEvenBetterTitle: "Ignite 을 향상시켜요",
    makeIgniteEvenBetter:
      "Ignite 을 더 좋게 만들 아이디어가 있나요? 기쁜 소식이네요. 우리는 항상 최고의 React Native 도구를 구축하는데 도움을 줄 수 있는 분들을 찾고 있습니다. GitHub 에서 Ignite 의 미래를 만들어 가는것에 함께해 주세요.",
    contributeToIgniteLink: "Ignite 에 기여하기",
    theLatestInReactNativeTitle: "React Native 의 최신정보",
    theLatestInReactNative: "React Native 가 제공하는 모든 최신 정보를 알려드립니다.",
    reactNativeRadioLink: "React Native 라디오",
    reactNativeNewsletterLink: "React Native 뉴스레터",
    reactNativeLiveLink: "React Native 라이브 스트리밍",
    chainReactConferenceLink: "Chain React 컨퍼런스",
    hireUsTitle: "다음 프로젝트에 Infinite Red 를 고용하세요",
    hireUs:
      "프로젝트 전체를 수행하든, 실무 교육을 통해 팀의 개발 속도에 박차를 가하든 상관없이, Infinite Red 는 React Native 프로젝트의 모든 분야의 에서 도움을 드릴 수 있습니다.",
    hireUsLink: "메세지 보내기",
  },
  showroomScreen: {
    jumpStart: "프로젝트를 바로 시작할 수 있는 컴포넌트들!",
    lorem2Sentences:
      "별 하나에 추억과, 별 하나에 사랑과, 별 하나에 쓸쓸함과, 별 하나에 동경(憧憬)과, 별 하나에 시와, 별 하나에 어머니, 어머니",
    demoHeaderTxExample: "야호",
    demoViaTxProp: "`tx` Prop 을 통해",
    demoViaSpecifiedTxProp: "`{{prop}}Tx` Prop 을 통해",
  },
  demoDebugScreen: {
    howTo: "사용방법",
    title: "디버그",
    tagLine:
      "축하합니다. 여기 아주 고급스러운 React Native 앱 템플릿이 있습니다. 이 보일러 플레이트를 사용해보세요!",
    reactotron: "Reactotron 으로 보내기",
    reportBugs: "버그 보고하기",
    demoList: "데모 목록",
    demoPodcastList: "데모 팟캐스트 목록",
    androidReactotronHint:
      "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후, 터미널에서 adb reverse tcp:9090 tcp:9090 을 실행한 다음 앱을 다시 실행해보세요.",
    iosReactotronHint:
      "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.",
    macosReactotronHint:
      "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.",
    webReactotronHint:
      "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.",
    windowsReactotronHint:
      "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.",
  },
  demoPodcastListScreen: {
    title: "React Native 라디오 에피소드",
    onlyFavorites: "즐겨찾기만 보기",
    favoriteButton: "즐겨찾기",
    unfavoriteButton: "즐겨찾기 해제",
    accessibility: {
      cardHint:
        "에피소드를 들으려면 두 번 탭하세요. 이 에피소드를 좋아하거나 싫어하려면 두 번 탭하고 길게 누르세요.",
      switch: "즐겨찾기를 사용하려면 스위치를 사용하세요.",
      favoriteAction: "즐겨찾기 토글",
      favoriteIcon: "좋아하는 에피소드",
      unfavoriteIcon: "즐겨찾기하지 않은 에피소드",
      publishLabel: "{{date}} 에 발행됨",
      durationLabel: "소요시간: {{hours}}시간 {{minutes}}분 {{seconds}}초",
    },
    noFavoritesEmptyState: {
      heading: "조금 텅 비어 있네요.",
      content: "즐겨찾기가 없습니다. 에피소드에 있는 하트를 눌러서 즐겨찾기에 추가하세요.",
    },
  },

  ...demoKo,
}

export default ko
