/**
 * vi.js - Tiếng Việt locale
 * Chỉ cần khai báo các key khác với tiếng Anh (en.js).
 * Các key còn lại sẽ được lấy từ en.js qua deep-merge.
 */

/** @type {Partial<import('../../../types/index.js').AsnLocale>} */
export const vi = {
  toolbar: {
    bold: 'Đậm (Ctrl+B)',
    italic: 'Nghiêng (Ctrl+I)',
    underline: 'Gạch chân (Ctrl+U)',
    strikethrough: 'Gạch ngang',
    superscript: 'Chỉ số trên',
    subscript: 'Chỉ số dưới',
    alignLeft: 'Căn trái',
    alignCenter: 'Căn giữa',
    alignRight: 'Căn phải',
    alignJustify: 'Căn đều',
    ul: 'Danh sách không thứ tự',
    ol: 'Danh sách có thứ tự',
    checklist: 'Danh sách kiểm tra',
    indent: 'Tăng thụt đầu dòng',
    outdent: 'Giảm thụt đầu dòng',
    undo: 'Hoàn tác (Ctrl+Z)',
    redo: 'Làm lại (Ctrl+Y)',
    hr: 'Đường kẻ ngang',
    link: 'Chèn liên kết',
    image: 'Chèn hình ảnh',
    video: 'Chèn video',
    emoji: 'Chèn biểu tượng cảm xúc',
    icon: 'Chèn biểu tượng FA',
    table: 'Chèn bảng',
    fontSize: 'Cỡ chữ',
    fontSizePlaceholder: 'Cỡ',
    removeFormat: 'Xóa định dạng',
    direction: 'Chuyển hướng văn bản (LTR / RTL)',
    fontFamily: 'Phông chữ',
    paragraphStyle: 'Kiểu đoạn văn',
    paragraphStylePlaceholder: 'Kiểu',
    lineHeight: 'Khoảng cách dòng',
    lineHeightPlaceholder: '\u2195 Dòng',
    codeview: 'Xem mã HTML',
    fullscreen: 'Toàn màn hình',
    shortcuts: 'Phím tắt (Ctrl+Shift+/)',
    find: 'Tìm kiếm (Ctrl+F)',
    findReplace: 'Tìm & Thay thế (Ctrl+H)',
    inlineCode: 'Mã nội tuyến (Ctrl+`)',
    print: 'In',
    foreColor: 'Màu chữ',
    backColor: 'Màu nền chữ',
    chooseTextColor: 'Chọn màu chữ',
    chooseHighlightColor: 'Chọn màu nền',
    customColor: 'Màu tùy chỉnh',
    insertTableLabel: 'Chèn bảng',
    paragraphItems: {
      p:          'Bình thường',
      blockquote: 'Trích dẫn',
      pre:        'Mã',
    },
  },

  linkDialog: {
    ariaLabel:    'Chèn liên kết',
    title:        'Chèn liên kết',
    url:          'Địa chỉ URL',
    urlPlaceholder:  'https://',
    displayText:  'Văn bản hiển thị',
    textPlaceholder: 'Nội dung liên kết',
    openInNewTab: 'Mở trong tab mới',
    insertBtn:    'Chèn',
    cancelBtn:    'Hủy',
  },

  imageDialog: {
    ariaLabel:      'Chèn hình ảnh',
    title:          'Chèn hình ảnh',
    imageUrl:       'URL hình ảnh',
    urlPlaceholder: 'https://example.com/anh.png',
    altText:        'Văn bản thay thế',
    altPlaceholder: 'Mô tả hình ảnh',
    alignment:      'Căn chỉnh',
    alignNone:      'Không',
    alignLeft:      'Trái',
    alignCenter:    'Giữa',
    alignRight:     'Phải',
    uploadLabel:    'Hoặc tải lên tệp',
    insertBtn:      'Chèn',
    cancelBtn:      'Hủy',
  },

  videoDialog: {
    ariaLabel:      'Chèn video',
    title:          'Chèn video',
    videoUrl:       'URL video',
    urlPlaceholder: 'YouTube, Vimeo, hoặc URL .mp4 trực tiếp',
    widthLabel:     'Chiều rộng (px)',
    widthPlaceholder: '560',
    insertBtn:      'Chèn',
    cancelBtn:      'Hủy',
    detected:       (type) => `Đã phát hiện: ${type}`,
    unknownFormat:  'Định dạng không xác định \u2014 sẽ thử nhúng video trực tiếp',
    invalidUrl:     'URL không hợp lệ \u2014 vui lòng nhập đường dẫn video hợp lệ.',
  },

  emojiDialog: {
    ariaLabel:         'Chèn biểu tượng cảm xúc',
    title:             'Chèn biểu tượng cảm xúc',
    searchPlaceholder: 'Tìm kiếm biểu tượng\u2026',
    all:               'Tất cả',
    cancelBtn:         'Hủy',
    close:             'Đóng',
    categories: {
      smileys: 'Mặt cười',
      people:  'Con người',
      animals: 'Động vật',
      food:    'Thức ăn',
      travel:  'Du lịch',
      objects: 'Đồ vật',
      symbols: 'Ký hiệu',
    },
  },

  iconDialog: {
    ariaLabel:         'Chèn biểu tượng FA',
    title:             'Chèn biểu tượng FA',
    searchPlaceholder: 'Tìm kiếm biểu tượng\u2026',
    all:               'Tất cả',
    style:             'Kiểu',
    size:              'Kích thước',
    color:             'Màu sắc',
    useColor:          ' Dùng màu',
    selectHint:        'Chọn một biểu tượng',
    insertBtn:         'Chèn biểu tượng FA',
    cancelBtn:         'Hủy',
    close:             'Đóng',
    categories: {
      popular:       'Phổ biến',
      interface:     'Giao diện',
      navigation:    'Điều hướng',
      media:         'Phương tiện',
      communication: 'Liên lạc',
      files:         'Tệp tin',
      people:        'Con người',
      objects:       'Đồ vật',
    },
  },

  findReplace: {
    findTitle:        'Tìm kiếm',
    findReplaceTitle: 'Tìm & Thay thế',
    findPlaceholder:  'Tìm\u2026',
    searchAriaLabel:  'Văn bản tìm kiếm',
    caseSensitive:    '\u00a0Phân biệt hoa thường',
    prevBtn:          '\u2190 Trước',
    nextBtn:          'Tiếp \u2192',
    replacePlaceholder: 'Thay thế bằng\u2026',
    replaceAriaLabel:   'Thay thế bằng',
    replaceBtn:         'Thay thế',
    replaceAllBtn:      'Thay thế tất cả',
    close:              '\u00d7',
  },

  shortcutsDialog: {
    title:     'Phím tắt bàn phím',
    ariaLabel: 'Phím tắt bàn phím',
    close:     'Đóng',
    shortcuts: [
      {
        category: 'Định dạng văn bản',
        items: [
          { keys: 'Ctrl + B', action: 'Đậm' },
          { keys: 'Ctrl + I', action: 'Nghiêng' },
          { keys: 'Ctrl + U', action: 'Gạch chân' },
          { keys: 'Ctrl + K', action: 'Chèn / sửa liên kết' },
        ],
      },
      {
        category: 'Lịch sử',
        items: [
          { keys: 'Ctrl + Z',                      action: 'Hoàn tác' },
          { keys: 'Ctrl + Y  /  Ctrl + Shift + Z', action: 'Làm lại' },
        ],
      },
      {
        category: 'Chọn & Điều hướng',
        items: [
          { keys: 'Ctrl + A',    action: 'Chọn tất cả' },
          { keys: 'Tab',         action: 'Tăng thụt đầu dòng / chèn khoảng trắng' },
          { keys: 'Shift + Tab', action: 'Giảm thụt đầu dòng' },
        ],
      },
      {
        category: 'Bảng nhớ tạm',
        items: [
          { keys: 'Ctrl + Shift + V', action: 'Dán dưới dạng văn bản thuần' },
        ],
      },
      {
        category: 'Tìm & Thay thế',
        items: [
          { keys: 'Ctrl + F', action: 'Tìm trong tài liệu' },
          { keys: 'Ctrl + H', action: 'Tìm & Thay thế' },
        ],
      },
      {
        category: 'Trình soạn thảo',
        items: [
          { keys: 'Ctrl + Shift + /', action: 'Hiện hộp thoại phím tắt' },
        ],
      },
    ],
  },

  contextMenu: {
    cut:           'Cắt',
    copy:          'Sao chép',
    paste:         'Dán',
    bold:          'Đậm',
    italic:        'Nghiêng',
    underline:     'Gạch chân',
    textColor:     'Màu chữ',
    highlightColor: 'Màu nền chữ',
    copyFormat:    'Sao chép định dạng',
    pasteFormat:   'Dán định dạng',
    removeFormat:  'Xóa định dạng',
    link:          'Chèn liên kết',
    image:         'Chèn hình ảnh',
    video:         'Chèn video',
    table:         'Chèn bảng',
    back:          'Quay lại',
    noHighlight:   'Không tô màu',
    customColor:   'Màu tùy chỉnh',
    customColorLabel: 'Tùy ch\u1ec9nh\u2026',
  },

  statusbar: {
    resizeHandle: 'Kéo để thay đổi kích thước',
    words:      (n) => `Từ: ${n}`,
    wordsLimit: (n, max) => `Từ: ${n}/${max}`,
    chars:      (n) => `Ký tự: ${n}`,
    charsLimit: (n, max) => `Ký tự: ${n}/${max}`,
  },

  tooltips: {
    link: {
      ariaLabel:  'Hành động liên kết',
      openLink:   'Mở liên kết',
      copyUrl:    'Sao chép URL',
      editLink:   'Sửa liên kết',
      removeLink: 'Xóa liên kết',
    },
    image: {
      ariaLabel:    'Hành động hình ảnh',
      label:        'Hình ảnh',
      floatLeft:    'Nổi trái',
      noFloat:      'Không nổi',
      alignCenter:  'Căn giữa',
      floatRight:   'Nổi phải',
      originalSize: 'Kích thước gốc',
      rotateLeft:   'Xoay trái',
      rotateRight:  'Xoay phải',
      cropImage:    'Cắt ảnh',
      addCaption:   'Thêm / Sửa chú thích',
      deleteImage:  'Xóa hình ảnh',
    },
    code: {
      ariaLabel:          'Hành động khối mã',
      label:              'Mã',
      syntaxLanguage:     'Ngôn ngữ cú pháp',
      syntaxAriaLabel:    'Ngôn ngữ cú pháp',
      copyCode:           'Sao chép mã',
      toggleWordWrap:     'Chuyển đổi xuống dòng',
      enableWordWrap:     'Bật xuống dòng',
      disableWordWrap:    'Tắt xuống dòng',
      convertToParagraph: 'Chuyển thành đoạn văn',
      deleteCodeBlock:    'Xóa khối mã',
    },
    table: {
      ariaLabel:          'Hành động bảng',
      label:              'Bảng',
      selectCells:        'Chọn ô',
      addRowAbove:        'Thêm hàng phía trên',
      addRowBelow:        'Thêm hàng phía dưới',
      deleteRow:          'Xóa hàng',
      addColumnLeft:      'Thêm cột bên trái',
      addColumnRight:     'Thêm cột bên phải',
      deleteColumn:       'Xóa cột',
      mergeCells:         'Gộp ô',
      unmergeCells:       'Tách ô',
      columnWidth:        'Chiều rộng cột',
      rowHeight:          'Chiều cao hàng',
      tableBorderWidth:   'Độ rộng viền bảng',
      deleteTable:        'Xóa bảng',
      columnWidthPx:      'Chiều rộng cột (px)',
      rowHeightPx:        'Chiều cao hàng (px)',
      tableBorderWidthPx: 'Độ rộng viền bảng (px)',
      cancelBtn:          'Hủy',
      applyBtn:           'Áp dụng',
    },
    video: {
      ariaLabel:    'Hành động video',
      label:        'Video',
      floatLeft:    'Nổi trái',
      noFloat:      'Không nổi',
      alignCenter:  'Căn giữa',
      floatRight:   'Nổi phải',
      originalSize: 'Kích thước gốc',
      previewVideo: 'Xem trước',
      exitPreview:  'Thoát xem trước',
      deleteVideo:  'Xóa video',
    },
  },

  errors: {
    imageFormat: (type) =>
      `Định dạng "${type}" không được hỗ trợ hiển thị trên trình duyệt. Vui lòng chuyển đổi sang JPEG, PNG hoặc WebP.`,
    imageSize: (maxSize) =>
      `Tệp hình ảnh quá lớn. Kích thước tối đa cho phép là ${maxSize} MB.`,
  },
};
