/**
 * ko.js - Korean locale
 * Deep-merged over en.js; only keys that differ from English are listed.
 */

/** @type {Partial<import('../../../types/index.js').AsnLocale>} */
export const ko = {
  toolbar: {
    bold: '굵게 (Ctrl+B)',
    italic: '기울임꼴 (Ctrl+I)',
    underline: '밑줄 (Ctrl+U)',
    strikethrough: '취소선',
    superscript: '위 첨자',
    subscript: '아래 첨자',
    alignLeft: '왼쪽 정렬',
    alignCenter: '가운데 정렬',
    alignRight: '오른쪽 정렬',
    alignJustify: '양쪽 정렬',
    ul: '순서 없는 목록',
    ol: '순서 있는 목록',
    checklist: '체크리스트',
    indent: '들여쓰기',
    outdent: '내어쓰기',
    undo: '실행 취소 (Ctrl+Z)',
    redo: '다시 실행 (Ctrl+Y)',
    hr: '수평선',
    link: '링크 삽입',
    image: '이미지 삽입',
    video: '동영상 삽입',
    emoji: '이모지 삽입',
    icon: 'FA 아이콘 삽입',
    table: '표 삽입',
    fontSize: '글꼴 크기',
    fontSizePlaceholder: '크기',
    removeFormat: '서식 제거',
    direction: '텍스트 방향 전환 (LTR / RTL)',
    fontFamily: '글꼴',
    paragraphStyle: '단락 스타일',
    paragraphStylePlaceholder: '스타일',
    lineHeight: '줄 간격',
    lineHeightPlaceholder: '↕ 줄',
    codeview: 'HTML 코드 보기',
    fullscreen: '전체 화면',
    shortcuts: '키보드 단축키 (Ctrl+Shift+/)',
    find: '찾기 (Ctrl+F)',
    findReplace: '찾기 및 바꾸기 (Ctrl+H)',
    inlineCode: '인라인 코드 (Ctrl+`)',
    print: '인쇄',
    foreColor: '글자 색',
    backColor: '강조 색',
    chooseTextColor: '글자 색 선택',
    chooseHighlightColor: '강조 색 선택',
    customColor: '사용자 지정 색',
    insertTableLabel: '표 삽입',
    paragraphItems: {
      p:          '기본',
      blockquote: '인용',
      pre:        '코드',
    },
  },

  linkDialog: {
    ariaLabel:       '링크 삽입',
    title:           '링크 삽입',
    url:             'URL',
    urlPlaceholder:  'https://',
    displayText:     '표시 텍스트',
    textPlaceholder: '링크 텍스트',
    openInNewTab:    '새 탭에서 열기',
    insertBtn:       '삽입',
    cancelBtn:       '취소',
  },

  imageDialog: {
    ariaLabel:      '이미지 삽입',
    title:          '이미지 삽입',
    imageUrl:       '이미지 URL',
    urlPlaceholder: 'https://example.com/image.png',
    altText:        '대체 텍스트',
    altPlaceholder: '이미지 설명',
    alignment:      '정렬',
    alignNone:      '없음',
    alignLeft:      '왼쪽',
    alignCenter:    '가운데',
    alignRight:     '오른쪽',
    uploadLabel:    '또는 파일 업로드',
    insertBtn:      '삽입',
    cancelBtn:      '취소',
  },

  videoDialog: {
    ariaLabel:        '동영상 삽입',
    title:            '동영상 삽입',
    videoUrl:         '동영상 URL',
    urlPlaceholder:   'YouTube, Vimeo 또는 직접 .mp4 URL',
    widthLabel:       '너비 (px)',
    widthPlaceholder: '560',
    insertBtn:        '삽입',
    cancelBtn:        '취소',
    detected:         (type) => `감지됨: ${type}`,
    unknownFormat:    '알 수 없는 형식 — 직접 동영상 임베드를 시도합니다',
    invalidUrl:       '유효하지 않은 URL — 올바른 동영상 링크를 입력하세요.',
  },

  emojiDialog: {
    ariaLabel:         '이모지 삽입',
    title:             '이모지 삽입',
    searchPlaceholder: '이모지 검색…',
    all:               '전체',
    cancelBtn:         '취소',
    close:             '닫기',
    categories: {
      smileys: '스마일',
      people:  '사람',
      animals: '동물',
      food:    '음식',
      travel:  '여행',
      objects: '사물',
      symbols: '기호',
    },
  },

  iconDialog: {
    ariaLabel:         'FA 아이콘 삽입',
    title:             'FA 아이콘 삽입',
    searchPlaceholder: '아이콘 검색…',
    all:               '전체',
    style:             '스타일',
    size:              '크기',
    color:             '색상',
    useColor:          ' 색상 사용',
    selectHint:        '아이콘을 선택하세요',
    insertBtn:         'FA 아이콘 삽입',
    cancelBtn:         '취소',
    close:             '닫기',
    categories: {
      popular:       '인기',
      interface:     '인터페이스',
      navigation:    '탐색',
      media:         '미디어',
      communication: '커뮤니케이션',
      files:         '파일',
      people:        '사람',
      objects:       '사물',
    },
  },

  findReplace: {
    findTitle:          '찾기',
    findReplaceTitle:   '찾기 및 바꾸기',
    findPlaceholder:    '찾기…',
    searchAriaLabel:    '검색 텍스트',
    caseSensitive:      '\u00a0대소문자 구분',
    prevBtn:            '← 이전',
    nextBtn:            '다음 →',
    replacePlaceholder: '바꿀 내용…',
    replaceAriaLabel:   '바꿀 내용',
    replaceBtn:         '바꾸기',
    replaceAllBtn:      '모두 바꾸기',
    close:              '×',
  },

  shortcutsDialog: {
    title:     '키보드 단축키',
    ariaLabel: '키보드 단축키',
    close:     '닫기',
    shortcuts: [
      {
        category: '텍스트 서식',
        items: [
          { keys: 'Ctrl + B',  action: '굵게' },
          { keys: 'Ctrl + I',  action: '기울임꼴' },
          { keys: 'Ctrl + U',  action: '밑줄' },
          { keys: 'Ctrl + K',  action: '링크 삽입 / 편집' },
        ],
      },
      {
        category: '실행 기록',
        items: [
          { keys: 'Ctrl + Z',                      action: '실행 취소' },
          { keys: 'Ctrl + Y  /  Ctrl + Shift + Z', action: '다시 실행' },
        ],
      },
      {
        category: '선택 및 탐색',
        items: [
          { keys: 'Ctrl + A',    action: '전체 선택' },
          { keys: 'Tab',         action: '목록 들여쓰기 / 공백 삽입' },
          { keys: 'Shift + Tab', action: '목록 내어쓰기' },
        ],
      },
      {
        category: '클립보드',
        items: [
          { keys: 'Ctrl + Shift + V', action: '일반 텍스트로 붙여넣기' },
        ],
      },
      {
        category: '찾기 및 바꾸기',
        items: [
          { keys: 'Ctrl + F', action: '문서에서 찾기' },
          { keys: 'Ctrl + H', action: '찾기 및 바꾸기' },
        ],
      },
      {
        category: '편집기',
        items: [
          { keys: 'Ctrl + Shift + /', action: '이 단축키 대화상자 표시' },
        ],
      },
    ],
  },

  contextMenu: {
    cut:              '잘라내기',
    copy:             '복사',
    paste:            '붙여넣기',
    bold:             '굵게',
    italic:           '기울임꼴',
    underline:        '밑줄',
    textColor:        '글자 색',
    highlightColor:   '강조 색',
    copyFormat:       '서식 복사',
    pasteFormat:      '서식 붙여넣기',
    removeFormat:     '서식 제거',
    link:             '링크 삽입',
    image:            '이미지 삽입',
    video:            '동영상 삽입',
    table:            '표 삽입',
    back:             '뒤로',
    noHighlight:      '강조 없음',
    customColor:      '사용자 지정 색',
    customColorLabel: '사용자 지정…',
  },

  statusbar: {
    resizeHandle: '편집기 크기 조정',
    words:        (n) => `단어: ${n}`,
    wordsLimit:   (n, max) => `단어: ${n}/${max}`,
    chars:        (n) => `글자: ${n}`,
    charsLimit:   (n, max) => `글자: ${n}/${max}`,
  },

  tooltips: {
    link: {
      ariaLabel:  '링크 작업',
      openLink:   '링크 열기',
      copyUrl:    'URL 복사',
      editLink:   '링크 편집',
      removeLink: '링크 제거',
    },
    image: {
      ariaLabel:    '이미지 작업',
      label:        '이미지',
      floatLeft:    '왼쪽 배치',
      noFloat:      '배치 없음',
      alignCenter:  '가운데 정렬',
      floatRight:   '오른쪽 배치',
      originalSize: '원본 크기',
      rotateLeft:   '왼쪽 회전',
      rotateRight:  '오른쪽 회전',
      cropImage:    '이미지 자르기',
      addCaption:   '캡션 추가 / 편집',
      deleteImage:  '이미지 삭제',
    },
    code: {
      ariaLabel:          '코드 블록 작업',
      label:              '코드',
      syntaxLanguage:     '구문 언어',
      syntaxAriaLabel:    '구문 언어',
      copyCode:           '코드 복사',
      toggleWordWrap:     '줄 바꿈 전환',
      enableWordWrap:     '줄 바꿈 사용',
      disableWordWrap:    '줄 바꿈 해제',
      convertToParagraph: '단락으로 변환',
      deleteCodeBlock:    '코드 블록 삭제',
    },
    table: {
      ariaLabel:          '표 작업',
      label:              '표',
      selectCells:        '셀 선택',
      addRowAbove:        '위에 행 추가',
      addRowBelow:        '아래에 행 추가',
      deleteRow:          '행 삭제',
      addColumnLeft:      '왼쪽에 열 추가',
      addColumnRight:     '오른쪽에 열 추가',
      deleteColumn:       '열 삭제',
      mergeCells:         '셀 병합',
      unmergeCells:       '셀 분할',
      columnWidth:        '열 너비',
      rowHeight:          '행 높이',
      tableBorderWidth:   '표 테두리 너비',
      deleteTable:        '표 삭제',
      columnWidthPx:      '열 너비 (px)',
      rowHeightPx:        '행 높이 (px)',
      tableBorderWidthPx: '표 테두리 너비 (px)',
      cancelBtn:          '취소',
      applyBtn:           '적용',
    },
    video: {
      ariaLabel:    '동영상 작업',
      label:        '동영상',
      floatLeft:    '왼쪽 배치',
      noFloat:      '배치 없음',
      alignCenter:  '가운데 정렬',
      floatRight:   '오른쪽 배치',
      originalSize: '원본 크기',
      previewVideo: '동영상 미리보기',
      exitPreview:  '미리보기 종료',
      deleteVideo:  '동영상 삭제',
    },
  },

  errors: {
    imageFormat: (type) =>
      `"${type}" 형식은 웹 브라우저에서 지원되지 않습니다. JPEG, PNG 또는 WebP로 변환해 주세요.`,
    imageSize: (maxSize) =>
      `이미지 파일이 너무 큽니다. 최대 허용 크기는 ${maxSize} MB입니다.`,
  },
};
