import type { TranslationKeys } from "./en.js";

export const vi: TranslationKeys = {
  common: {
    upload: "Tải lên từ máy tính",
    process: "Xử lý",
    download: "Tải xuống",
    cancel: "Hủy",
    save: "Lưu",
    delete: "Xóa",
    settings: "Cài đặt",
    search: "Tìm kiếm công cụ...",
    dropFiles: "Kéo thả tệp vào đây hoặc nhấn nút tải lên",
    loading: "Đang tải...",
    saving: "Đang lưu...",
    error: "Đã xảy ra lỗi",
    confirm: "Xác nhận",
    close: "Đóng",
    back: "Quay lại",
    next: "Tiếp theo",
    clear: "Xóa",
    copy: "Sao chép",
    copied: "Đã sao chép!",
    noResults: "Không tìm thấy kết quả",
    showLess: "Thu gọn",
    showMore: "Hiển thị thêm {count}",
    experimental: "Thử nghiệm",
    enabled: "Đã bật",
    disabled: "Đã tắt",
    rename: "Đổi tên",
    edit: "Chỉnh sửa",
    actions: "Thao tác",
    create: "Tạo mới",
    or: "hoặc",
    goHome: "Về trang chủ",
    somethingWentWrong: "Đã xảy ra lỗi",
    unexpectedError: "Đã xảy ra lỗi không mong muốn.",
    retry: "Thử lại",
    privacyPolicy: "Chính sách bảo mật",
    pageNotFound: "Không tìm thấy trang",
    pageNotFoundDescription: "Trang bạn đang tìm không tồn tại hoặc đã được di chuyển.",
  },
  categories: {
    essentials: "Cơ bản",
    adjustments: "Điều chỉnh",
    enhance: "Nâng cao & AI",
    watermark: "Hình mờ & Lớp phủ",
    layout: "Bố cục & Kết hợp",
    utilities: "Tiện ích",
    optimization: "Tối ưu hóa",
    format: "Định dạng & Chuyển đổi",
    "video-edit": "Video",
    "video-convert": "Chuyển đổi",
    "video-effects": "Hiệu ứng & Ghép",
    "video-subtitles": "Phụ đề",
    "video-metadata": "Siêu dữ liệu",
    "audio-edit": "Chỉnh sửa",
    "audio-convert": "Chuyển đổi",
    "audio-effects": "Hiệu ứng & Ghép",
    "audio-metadata": "Siêu dữ liệu",
    "pdf-organize": "Sắp xếp",
    "pdf-edit": "Chỉnh sửa & Chú thích",
    "pdf-security": "Bảo mật",
    "pdf-optimize": "Tối ưu hóa",
    "doc-convert": "Chuyển đổi",
    data: "Tệp",
    archives: "Lưu trữ",
  },
  modalities: {
    image: "Hình ảnh",
    video: "Video",
    audio: "Audio",
    documentsAndFiles: "PDF & Tệp",
  },
  tools: {
    resize: {
      name: "Thay đổi kích thước",
      description: "Thay đổi kích thước theo pixel, phần trăm hoặc mẫu mạng xã hội",
    },
    crop: {
      name: "Cắt ảnh",
      description: "Cắt tự do, tỷ lệ khung hình có sẵn, cắt theo hình dạng",
    },
    rotate: {
      name: "Xoay & Lật",
      description: "Xoay, lật và chỉnh thẳng hình ảnh",
    },
    convert: {
      name: "Chuyển đổi",
      description: "Chuyển đổi giữa các định dạng ảnh",
    },
    compress: {
      name: "Nén ảnh",
      description: "Giảm dung lượng tệp theo chất lượng hoặc kích thước mục tiêu",
    },
    "optimize-for-web": {
      name: "Tối ưu cho Web",
      description:
        "Tối ưu hình ảnh cho web với chuyển đổi định dạng, kiểm soát chất lượng và xem trước trực tiếp",
    },
    "strip-metadata": {
      name: "Xóa siêu dữ liệu",
      description: "Xóa EXIF, GPS và thông tin máy ảnh",
    },
    "edit-metadata": {
      name: "Chỉnh sửa siêu dữ liệu",
      description: "Chỉnh sửa EXIF, IPTC, XMP, GPS, từ khóa và ngày tháng",
    },
    "bulk-rename": {
      name: "Đổi tên hàng loạt",
      description: "Đổi tên nhiều tệp với các mẫu tên",
    },
    "image-to-pdf": {
      name: "Ảnh sang PDF",
      description: "Kết hợp nhiều ảnh thành tài liệu PDF",
    },
    "pdf-to-image": {
      name: "PDF sang ảnh",
      description: "Chuyển đổi các trang PDF thành hình ảnh",
    },
    favicon: {
      name: "Tạo Favicon",
      description: "Tạo tất cả kích thước Favicon và biểu tượng ứng dụng",
    },
    "adjust-colors": {
      name: "Điều chỉnh màu sắc",
      description:
        "Độ sáng, độ tương phản, phơi sáng, độ bão hòa, nhiệt độ màu, độ nét và hiệu ứng",
    },
    sharpening: {
      name: "Làm nét",
      description: "Làm nét thích ứng, mặt nạ không sắc nét và làm nét cao tần với các mẫu",
    },
    "replace-color": {
      name: "Thay thế & Đảo ngược màu",
      description: "Thay thế màu cụ thể hoặc đảo ngược màu",
    },
    "color-blindness": {
      name: "Mô phỏng mù màu",
      description: "Mô phỏng cách hình ảnh hiển thị với các dạng khiếm thị màu khác nhau",
    },
    "remove-background": {
      name: "Xóa nền",
      description: "Xóa nền bằng AI",
    },
    upscale: {
      name: "Phóng to ảnh",
      description: "Nâng cấp độ phân giải bằng AI",
    },
    "erase-object": {
      name: "Xóa đối tượng",
      description: "Xóa các đối tượng không mong muốn bằng AI",
    },
    ocr: {
      name: "OCR / Trích xuất văn bản",
      description: "Trích xuất văn bản từ hình ảnh với độ chính xác cao nhờ AI",
    },
    "ocr-pdf": {
      name: "OCR PDF",
      description: "Trích xuất văn bản từ tài liệu PDF bằng OCR hỗ trợ bởi AI",
    },
    "blur-faces": {
      name: "Làm mờ khuôn mặt / Thông tin nhạy cảm",
      description: "Tự động phát hiện và làm mờ khuôn mặt cùng thông tin nhạy cảm",
    },
    "enhance-faces": {
      name: "Nâng cao khuôn mặt",
      description: "Phục hồi và nâng cao khuôn mặt bằng AI",
    },
    "smart-crop": {
      name: "Cắt thông minh",
      description: "Cắt thông minh theo chủ thể, khuôn mặt hoặc viền",
    },
    "image-enhancement": {
      name: "Nâng cao hình ảnh",
      description:
        "Tự động cải thiện với hiệu chỉnh phơi sáng, độ tương phản, màu sắc và độ nét thông minh",
    },
    "noise-removal": {
      name: "Khử nhiễu",
      description: "Khử nhiễu và hạt bằng AI",
    },
    "red-eye-removal": {
      name: "Xóa mắt đỏ",
      description: "Phát hiện và sửa mắt đỏ bằng AI cho ảnh chụp có đèn flash",
    },
    "restore-photo": {
      name: "Phục chế ảnh",
      description: "Sửa vết xước, rách và hư hỏng trên ảnh cũ bằng AI",
    },
    "content-aware-resize": {
      name: "Thay đổi kích thước thông minh",
      description: "Thay đổi kích thước thông minh trong khi bảo toàn nội dung quan trọng",
    },
    "ai-canvas-expand": {
      name: "Mở rộng khung vẽ AI",
      description: "Mở rộng khung vẽ với tính năng tô AI",
    },
    colorize: {
      name: "Tô màu AI",
      description: "Chuyển ảnh đen trắng sang màu đầy đủ bằng mô hình học sâu AI",
    },
    "passport-photo": {
      name: "Ảnh hộ chiếu",
      description:
        "Tạo ảnh hộ chiếu, thị thực và giấy tờ tùy thân đạt chuẩn với phát hiện khuôn mặt tự động",
    },
    "transcribe-audio": {
      name: "Phiên âm thanh",
      description: "Chuyển đổi giọng nói thành văn bản với phiên âm bằng AI",
    },
    "auto-subtitles": {
      name: "Phụ đề tự động",
      description: "Tạo tệp phụ đề từ bản âm thanh video",
    },
    "transparency-fixer": {
      name: "Sửa trong suốt PNG",
      description: "Sửa ảnh PNG giả trong suốt chỉ với một cú nhấp",
    },
    "background-replace": {
      name: "Thay đổi nền",
      description: "Thay thế nền hình ảnh bằng màu đơn sắc",
    },
    "blur-background": {
      name: "Làm mờ nền",
      description: "Làm mờ nền trong khi giữ cho chủ thể sắc nét",
    },
    "watermark-text": {
      name: "Hình mờ văn bản",
      description: "Thêm lớp phủ hình mờ văn bản",
    },
    "watermark-image": {
      name: "Hình mờ hình ảnh",
      description: "Phủ logo làm hình mờ",
    },
    "text-overlay": {
      name: "Lớp phủ văn bản",
      description: "Thêm văn bản được định dạng vào hình ảnh",
    },
    compose: {
      name: "Ghép ảnh",
      description: "Xếp lớp hình ảnh với vị trí và độ mờ",
    },
    "meme-generator": {
      name: "Tạo Meme",
      description:
        "Tạo meme với các mẫu phổ biến hoặc ảnh của bạn. Kiểu chữ Impact cổ điển với phông chữ, màu sắc và vị trí tùy chỉnh.",
    },
    info: {
      name: "Thông tin ảnh",
      description: "Xem tất cả siêu dữ liệu và thuộc tính hình ảnh",
    },
    compare: {
      name: "So sánh ảnh",
      description: "So sánh hai hình ảnh cạnh nhau",
    },
    "find-duplicates": {
      name: "Tìm ảnh trùng",
      description: "Phát hiện ảnh trùng lặp và gần trùng lặp",
    },
    "color-palette": {
      name: "Bảng màu",
      description: "Trích xuất các màu chủ đạo từ hình ảnh",
    },
    "qr-generate": {
      name: "Tạo mã QR",
      description: "Tạo mã QR có kiểu dáng với màu sắc, hoa văn và logo tùy chỉnh",
    },
    "html-to-image": {
      name: "HTML sang hình ảnh",
      description: "Chụp trang web thành hình ảnh chất lượng cao",
    },
    "barcode-read": {
      name: "Đọc mã vạch",
      description: "Quét hình ảnh để tìm mã QR, mã vạch và mã 2D",
    },
    collage: {
      name: "Ảnh ghép / Lưới",
      description: "Kết hợp hình ảnh thành ảnh ghép dạng lưới đẹp mắt với hơn 25 mẫu",
    },
    stitch: {
      name: "Ghép nối / Kết hợp",
      description: "Nối hình ảnh cạnh nhau, xếp chồng hoặc theo lưới",
    },
    split: {
      name: "Tách ảnh",
      description:
        "Tách hình ảnh thành các ô lưới hoặc theo kích thước pixel với xem trước trực tiếp",
    },
    border: {
      name: "Viền & Khung",
      description: "Thêm viền, khoảng đệm, bo góc và bóng đổ với các mẫu một cú nhấp",
    },
    beautify: {
      name: "Làm đẹp ảnh chụp màn hình",
      description:
        "Thêm nền chuyển sắc, khung thiết bị, bóng đổ và kích thước mạng xã hội cho ảnh chụp màn hình",
    },
    "circle-crop": {
      name: "Cắt hình tròn",
      description: "Cắt hình ảnh thành hình tròn ở giữa với các góc trong suốt",
    },
    duotone: {
      name: "Hai tông màu",
      description: "Áp dụng hiệu ứng hai tông màu với màu bóng và màu sáng tùy chỉnh",
    },
    "image-pad": {
      name: "Thêm viền ảnh",
      description: "Thêm viền cho ảnh theo tỷ lệ khung hình mục tiêu với nền màu đơn sắc",
    },
    pixelate: {
      name: "Khảm điểm ảnh",
      description: "Áp dụng hiệu ứng pixelate cho toàn bộ ảnh hoặc một vùng cụ thể",
    },
    vignette: {
      name: "Viền tối",
      description: "Thêm hiệu ứng vignette với cường độ và màu sắc có thể điều chỉnh",
    },
    "gif-webp": {
      name: "Chuyển đổi GIF/WebP",
      description: "Chuyển đổi GIF động sang WebP và ngược lại, giữ nguyên tất cả khung hình",
    },
    histogram: {
      name: "Biểu đồ Histogram",
      description: "Tạo biểu đồ histogram RGB từ một hình ảnh",
    },
    "lqip-placeholder": {
      name: "Ảnh giữ chỗ LQIP",
      description: "Tạo ảnh giữ chỗ chất lượng thấp nhỏ gọn với URI dữ liệu base64",
    },
    "sprite-sheet": {
      name: "Bảng Sprite",
      description: "Ghép nhiều hình ảnh thành một lưới sprite sheet",
    },
    "svg-to-raster": {
      name: "SVG sang ảnh raster",
      description:
        "Chuyển đổi SVG sang PNG, JPEG, WebP, AVIF, TIFF, GIF hoặc HEIF với tỷ lệ và DPI tùy chỉnh",
    },
    vectorize: {
      name: "Ảnh sang SVG",
      description: "Chuyển đổi hình ảnh sang đồ họa véc-tơ có thể thu phóng",
    },
    "gif-tools": {
      name: "Công cụ GIF",
      description:
        "Thay đổi kích thước, tối ưu, thay đổi tốc độ, đảo ngược, trích xuất khung hình và xoay GIF động",
    },
    "image-to-base64": {
      name: "Ảnh sang Base64",
      description:
        "Chuyển đổi hình ảnh sang chuỗi Base64 để nhúng trong HTML, CSS và nhiều hơn nữa",
    },
    "barcode-generate": {
      name: "Tạo mã vạch",
      description: "Tạo mã vạch định dạng Code 128, EAN-13, UPC-A, Code 39, ITF-14 và Data Matrix",
    },
    "chart-maker": {
      name: "Tạo biểu đồ",
      description: "Tạo biểu đồ cột, đường hoặc tròn từ dữ liệu CSV hoặc JSON",
    },
    "convert-video": {
      name: "Chuyển đổi video",
      description: "Chuyển đổi video giữa các định dạng MP4, MOV và WebM",
    },
    "compress-video": {
      name: "Nén video",
      description: "Giảm dung lượng video với kiểm soát chất lượng",
    },
    "trim-video": {
      name: "Cắt video",
      description: "Cắt một đoạn từ video",
    },
    "mute-video": {
      name: "Tắt tiếng video",
      description: "Xóa rãnh âm thanh khỏi video",
    },
    "video-to-gif": {
      name: "Video sang GIF",
      description: "Chuyển một đoạn video thành GIF động",
    },
    "resize-video": {
      name: "Thay đổi kích thước video",
      description: "Thay đổi độ phân giải hoặc kích thước video theo mẫu có sẵn",
    },
    "crop-video": {
      name: "Cắt khung video",
      description: "Cắt một vùng khỏi video",
    },
    "rotate-video": {
      name: "Xoay video",
      description: "Xoay hoặc lật video",
    },
    "change-fps": {
      name: "Thay đổi FPS",
      description: "Thay đổi tốc độ khung hình của video",
    },
    "video-color": {
      name: "Màu sắc video",
      description: "Điều chỉnh độ sáng, tương phản, bão hòa và gamma",
    },
    "video-speed": {
      name: "Tốc độ video",
      description: "Tăng hoặc giảm tốc độ video",
    },
    "reverse-video": {
      name: "Đảo ngược video",
      description: "Phát ngược một đoạn video",
    },
    "video-loudnorm": {
      name: "Chuẩn hóa âm thanh",
      description: "Chuẩn hóa âm lượng video theo tiêu chuẩn phát sóng",
    },
    "aspect-pad": {
      name: "Thêm viền tỷ lệ",
      description: "Thêm thanh viền màu đơn sắc để phù hợp tỷ lệ khung hình mục tiêu",
    },
    "blur-pad": {
      name: "Viền mờ",
      description: "Lấp thanh viền bằng bản video làm mờ",
    },
    "watermark-video": {
      name: "Watermark video",
      description: "In watermark văn bản lên các khung hình video",
    },
    "stabilize-video": {
      name: "Ổn định video",
      description: "Giảm rung camera bằng ổn định hai lượt",
    },
    "gif-to-video": {
      name: "GIF sang video",
      description: "Chuyển đổi GIF động thành video MP4 hoặc WebM",
    },
    "video-to-webp": {
      name: "Video sang WebP",
      description: "Chuyển đổi đoạn video thành ảnh WebP động",
    },
    "video-to-frames": {
      name: "Video sang khung hình",
      description: "Trích xuất khung hình từ video thành tệp ZIP chứa ảnh",
    },
    "merge-videos": {
      name: "Ghép video",
      description: "Nối nhiều đoạn video thành một tệp",
    },
    "replace-audio": {
      name: "Thay thế âm thanh",
      description: "Thay rãnh âm thanh của video bằng tệp khác",
    },
    "burn-subtitles": {
      name: "Ghi phụ đề cố định",
      description: "Ghi phụ đề vĩnh viễn lên khung hình video",
    },
    "embed-subtitles": {
      name: "Nhúng phụ đề",
      description: "Nhúng rãnh phụ đề vào container video",
    },
    "extract-subtitles": {
      name: "Trích xuất phụ đề",
      description: "Trích xuất rãnh phụ đề từ video thành tệp SRT",
    },
    "images-to-video": {
      name: "Ảnh sang video",
      description: "Chuyển một bộ ảnh thành video trình chiếu",
    },
    "video-metadata": {
      name: "Xóa siêu dữ liệu video",
      description: "Xóa siêu dữ liệu khỏi video và báo cáo nội dung tìm thấy",
    },
    "convert-audio": {
      name: "Chuyển đổi âm thanh",
      description: "Chuyển đổi âm thanh giữa MP3, WAV, OGG và nhiều định dạng khác",
    },
    "trim-audio": {
      name: "Cắt âm thanh",
      description: "Cắt một đoạn từ tệp âm thanh",
    },
    "extract-audio": {
      name: "Trích xuất âm thanh",
      description: "Trích xuất rãnh âm thanh từ video",
    },
    "volume-adjust": {
      name: "Điều chỉnh âm lượng",
      description: "Tăng hoặc giảm âm lượng theo mức gain cố định",
    },
    "normalize-audio": {
      name: "Chuẩn hóa âm thanh",
      description: "Cân bằng âm lượng theo mức tiêu chuẩn phát sóng",
    },
    "fade-audio": {
      name: "Mờ dần âm thanh",
      description: "Thêm hiệu ứng tăng dần và giảm dần cho âm thanh",
    },
    "reverse-audio": {
      name: "Đảo ngược âm thanh",
      description: "Phát ngược âm thanh",
    },
    "audio-speed": {
      name: "Tốc độ âm thanh",
      description: "Tăng hoặc giảm tốc độ phát âm thanh",
    },
    "pitch-shift": {
      name: "Thay đổi cao độ",
      description: "Tăng hoặc giảm cao độ theo nửa cung mà không thay đổi tốc độ",
    },
    "audio-channels": {
      name: "Kênh âm thanh",
      description: "Chuyển đổi giữa mono, stereo hoặc hoán đổi kênh trái và phải",
    },
    "silence-removal": {
      name: "Xóa khoảng lặng",
      description: "Loại bỏ các đoạn im lặng khỏi âm thanh",
    },
    "noise-reduction": {
      name: "Giảm tiếng ồn",
      description: "Giảm tiếng ồn nền bằng khử nhiễu dựa trên FFT",
    },
    "merge-audio": {
      name: "Ghép âm thanh",
      description: "Gộp nhiều tệp âm thanh thành một",
    },
    "split-audio": {
      name: "Tách âm thanh",
      description: "Tách âm thanh theo thời gian, phần bằng nhau hoặc phát hiện khoảng lặng",
    },
    "ringtone-maker": {
      name: "Tạo nhạc chuông",
      description: "Tạo đoạn nhạc chuông từ bất kỳ tệp âm thanh nào",
    },
    "waveform-image": {
      name: "Ảnh dạng sóng",
      description: "Tạo hình ảnh trực quan dạng sóng dưới dạng ảnh PNG",
    },
    "audio-metadata": {
      name: "Siêu dữ liệu âm thanh",
      description: "Xem, chỉnh sửa hoặc xóa thẻ âm thanh (ID3)",
    },
    "merge-pdf": {
      name: "Ghép PDF",
      description: "Gộp nhiều tệp PDF thành một",
    },
    "split-pdf": {
      name: "Tách PDF",
      description: "Trích xuất trang hoặc tách thành nhiều phần",
    },
    "compress-pdf": {
      name: "Nén PDF",
      description: "Giảm dung lượng tệp PDF",
    },
    "rotate-pdf": {
      name: "Xoay PDF",
      description: "Xoay các trang trong PDF",
    },
    "convert-document": {
      name: "Chuyển đổi tài liệu",
      description: "Chuyển đổi giữa các định dạng Word, OpenDocument, RTF và văn bản thuần",
    },
    "convert-presentation": {
      name: "Chuyển đổi bản trình bày",
      description: "Chuyển đổi giữa các định dạng bản trình bày PowerPoint và OpenDocument",
    },
    "convert-spreadsheet": {
      name: "Chuyển đổi bảng tính",
      description:
        "Chuyển đổi giữa các định dạng Excel, OpenDocument và CSV. Bảng tính nhiều sheet sẽ xuất sheet đầu tiên sang CSV.",
    },
    "excel-to-pdf": {
      name: "Excel sang PDF",
      description:
        "Chuyển đổi bảng tính sang PDF. Các sheet rộng có thể được chia thành nhiều trang.",
    },
    "word-to-pdf": {
      name: "Word sang PDF",
      description: "Chuyển đổi tài liệu Word sang PDF",
    },
    "extract-pages": {
      name: "Trích xuất trang",
      description: "Trích xuất các trang đã chọn thành PDF mới",
    },
    "remove-pages": {
      name: "Xóa trang",
      description: "Xóa các trang cụ thể khỏi PDF",
    },
    "organize-pdf": {
      name: "Sắp xếp PDF",
      description: "Sắp xếp lại thứ tự trang theo trình tự chỉ định",
    },
    "protect-pdf": {
      name: "Bảo vệ PDF",
      description: "Thêm bảo vệ bằng mật khẩu (mã hóa AES-256)",
    },
    "unlock-pdf": {
      name: "Mở khóa PDF",
      description: "Xóa bảo vệ mật khẩu khỏi PDF",
    },
    "repair-pdf": {
      name: "Sửa chữa PDF",
      description: "Thử sửa chữa tệp PDF bị hỏng hoặc lỗi",
    },
    "linearize-pdf": {
      name: "Tối ưu PDF cho web",
      description: "Tuyến tính hóa PDF để xem nhanh trên web",
    },
    "grayscale-pdf": {
      name: "PDF thang xám",
      description: "Chuyển tất cả màu sang thang xám",
    },
    "pdfa-convert": {
      name: "Chuyển đổi PDF/A",
      description: "Chuyển đổi sang PDF/A-2 để lưu trữ",
    },
    "crop-pdf": {
      name: "Cắt PDF",
      description: "Cắt tất cả các trang với lề đồng nhất",
    },
    "nup-pdf": {
      name: "Ghép trang PDF",
      description: "Xếp nhiều trang trên một tờ",
    },
    "booklet-pdf": {
      name: "PDF sách nhỏ",
      description: "Sắp xếp trang để gấp thành sách nhỏ",
    },
    "watermark-pdf": {
      name: "Hình mờ PDF",
      description: "Thêm watermark văn bản vào mọi trang",
    },
    "pdf-page-numbers": {
      name: "Số trang PDF",
      description: "Thêm số trang vào mọi trang",
    },
    "flatten-pdf": {
      name: "Làm phẳng PDF",
      description: "Nhúng biểu mẫu và chú thích vào nội dung trang",
    },
    "redact-pdf": {
      name: "Biên tập PDF",
      description: "Xóa vĩnh viễn các đoạn văn bản (biên tập xác minh thực sự)",
    },
    "pdf-to-text": {
      name: "PDF sang văn bản",
      description: "Trích xuất văn bản thuần từ PDF",
    },
    "pdf-to-word": {
      name: "PDF sang Word",
      description: "Phù hợp nhất cho PDF dạng văn bản; trang quét cần OCR",
    },
    "pdf-metadata": {
      name: "Siêu dữ liệu PDF",
      description: "Đọc và ghi siêu dữ liệu tài liệu PDF",
    },
    "powerpoint-to-pdf": {
      name: "PowerPoint sang PDF",
      description: "Chuyển đổi bản trình bày sang PDF",
    },
    "html-to-pdf": {
      name: "HTML sang PDF",
      description: "Chuyển đổi tệp HTML sang PDF. Tài nguyên từ xa bị tắt vì quyền riêng tư.",
    },
    "markdown-to-docx": {
      name: "Markdown sang Word",
      description: "Chuyển đổi tệp Markdown sang tài liệu Word (DOCX)",
    },
    "markdown-to-html": {
      name: "Markdown sang HTML",
      description:
        "Chuyển đổi tệp Markdown sang trang HTML độc lập. Hình ảnh từ xa trong nguồn được giữ nguyên trong kết quả.",
    },
    "markdown-to-pdf": {
      name: "Markdown sang PDF",
      description:
        "Chuyển đổi tệp Markdown sang PDF có định dạng. Tài nguyên từ xa bị tắt vì quyền riêng tư.",
    },
    "epub-convert": {
      name: "Chuyển đổi EPUB",
      description:
        "Chuyển đổi EPUB sang PDF, DOCX, HTML hoặc Markdown. Tài nguyên từ xa trong sách không được tải.",
    },
    "to-epub": {
      name: "Chuyển sang EPUB",
      description: "Chuyển đổi tệp Word, Markdown, HTML hoặc văn bản thuần sang EPUB",
    },
    "csv-excel": {
      name: "CSV sang Excel",
      description: "Chuyển đổi hai chiều giữa CSV và Excel (XLSX)",
    },
    "csv-json": {
      name: "CSV sang JSON",
      description: "Chuyển đổi hai chiều giữa CSV và JSON",
    },
    "json-xml": {
      name: "JSON sang XML",
      description: "Chuyển đổi hai chiều giữa JSON và XML",
    },
    "split-csv": {
      name: "Tách CSV",
      description: "Tách CSV thành các tệp nhỏ hơn theo số dòng",
    },
    "merge-csvs": {
      name: "Ghép CSV",
      description: "Gộp nhiều tệp CSV hoặc TSV có cùng cột thành một",
    },
    "yaml-json": {
      name: "YAML / JSON",
      description: "Chuyển đổi hai chiều giữa YAML và JSON",
    },
    "xml-to-csv": {
      name: "XML sang CSV",
      description: "Trích xuất các phần tử lặp lại từ XML thành bảng CSV",
    },
    "create-zip": {
      name: "Tạo ZIP",
      description: "Gộp nhiều tệp thành một kho lưu trữ ZIP",
    },
    "extract-zip": {
      name: "Giải nén ZIP",
      description:
        "Giải nén tệp an toàn từ kho lưu trữ ZIP với bảo vệ chống bom. Kho lưu trữ một tệp sẽ trả về tệp trực tiếp.",
    },
    pipeline: {
      name: "Trình xây dựng Pipeline",
      description: "Kết nối nhiều công cụ thành một quy trình làm việc",
    },
    processing: { canceled: "Đã hủy xử lý" },
    mediaPlayer: {
      unsupported: "Trình duyệt của bạn không hỗ trợ định dạng media này.",
    },
    documentView: {
      loadFailed: "Không thể tải tài liệu.",
      previousPage: "Trang trước",
      nextPage: "Trang sau",
      inputNotPreviewable: "Không thể xem trước loại tệp này",
    },
  },
  toolSettings: {
    compress: {
      compressionMode: "Chế độ nén",
      targetSize: "Kích thước mục tiêu",
      quality: "Chất lượng",
      smallestFile: "Tệp nhỏ nhất",
      bestQuality: "Chất lượng tốt nhất",
      submit: "Nén",
      submitBatch: "Nén ({count} tệp)",
      progressLabel: "Đang nén",
      original: "Gốc: {size} KB",
      processed: "Đã xử lý: {size} KB",
      saved: "Tiết kiệm: {percent}%",
    },
    resize: {
      customSize: "Kích thước tùy chỉnh",
      scale: "Tỷ lệ",
      presets: "Mẫu có sẵn",
      contentAware: "Nhận diện nội dung",
      widthPx: "Chiều rộng (px)",
      heightPx: "Chiều cao (px)",
      fitMode: "Chế độ vừa vặn",
      cropToFit: "Cắt vừa khung",
      fitInside: "Vừa bên trong",
      stretch: "Kéo giãn",
      limitToOriginalSize: "Giới hạn kích thước gốc",
      limitToOriginalSizeHint:
        "Nếu hình ảnh của bạn đã nhỏ hơn kích thước mục tiêu, giữ nguyên thay vì phóng to",
      scalePercent: "Tỷ lệ (%)",
      resizeToSquare: "Đổi kích thước thành hình vuông",
      protectFaces: "Bảo vệ khuôn mặt",
      smoothing: "Làm mịn",
      edgeSensitivity: "Độ nhạy cạnh",
      submit: "Thay đổi kích thước",
      submitBatch: "Thay đổi kích thước ({count} tệp)",
      progressLabel: "Đang thay đổi kích thước",
    },
    crop: {
      aspectRatio: "Tỷ lệ khung hình",
      custom: "Tùy chỉnh",
      positionAndSize: "Vị trí & Kích thước",
      ruleOfThirds: "Quy tắc phần ba",
      leftOffsetPx: "Lệch trái (px)",
      topOffsetPx: "Lệch trên (px)",
      submit: "Cắt",
      submitBatch: "Cắt ({count} tệp)",
      progressLabel: "Đang cắt",
    },
    rotate: {
      rotate: "Xoay",
      angle: "Góc",
      straighten: "Chỉnh thẳng",
      flip: "Lật",
      horizontal: "Ngang",
      vertical: "Dọc",
      resetAllChanges: "Đặt lại tất cả thay đổi",
      submit: "Áp dụng",
      submitBatch: "Áp dụng ({count} tệp)",
      progressLabel: "Đang áp dụng",
    },
    convert: {
      targetFormat: "Định dạng đích",
      sourceFormat: "Định dạng nguồn",
      quality: "Chất lượng",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "optimize-for-web": {
      outputFormat: "Định dạng đầu ra",
      quality: "Chất lượng",
      smallestFile: "Tệp nhỏ nhất",
      bestQuality: "Chất lượng tốt nhất",
      maxDimensions: "Kích thước tối đa",
      maxWidth: "Chiều rộng tối đa",
      maxHeight: "Chiều cao tối đa",
      stripMetadata: "Xóa siêu dữ liệu",
      sizeComparison: "So sánh kích thước",
      optimized: "Đã tối ưu:",
      smaller: "Nhỏ hơn {percent}%",
      larger: "Lớn hơn {percent}%",
      submit: "Xử lý & Tải xuống",
      submitBatch: "Xử lý & Tải xuống ({count} tệp)",
      progressLabel: "Đang tối ưu",
    },
    "strip-metadata": {
      currentMetadata: "Siêu dữ liệu hiện tại",
      readingMetadata: "Đang đọc siêu dữ liệu...",
      noMetadataFound: "Không tìm thấy siêu dữ liệu trong hình ảnh này.",
      removeAllMetadata: "Xóa tất cả siêu dữ liệu",
      selectSpecific: "Hoặc chọn siêu dữ liệu cụ thể:",
      stripExif: "Xóa EXIF (thông tin máy ảnh, ngày, phơi sáng)",
      stripGps: "Xóa GPS (dữ liệu vị trí)",
      stripIcc: "Xóa ICC (cấu hình màu)",
      stripXmp: "Xóa XMP (siêu dữ liệu mở rộng)",
      locationFound: "đã tìm thấy vị trí",
      locationWarning:
        "Hình ảnh này chứa vị trí chính xác của bạn. Hãy cân nhắc xóa dữ liệu GPS trước khi chia sẻ.",
      metadataSections: "Đã tìm thấy {count} phần siêu dữ liệu",
      metadataSectionsPlural: "Đã tìm thấy {count} phần siêu dữ liệu",
      metadataRemoved: "Đã xóa siêu dữ liệu: {size} KB",
      submit: "Xóa siêu dữ liệu",
      progressLabel: "Đang xóa siêu dữ liệu",
    },
    "edit-metadata": {
      readingMetadata: "Đang đọc siêu dữ liệu...",
      couldNotReadMetadata: "Không thể đọc siêu dữ liệu - các trường sẽ bắt đầu trống.",
      basicInfo: "Thông tin cơ bản",
      description: "Mô tả",
      artist: "Tác giả",
      copyright: "Bản quyền",
      software: "Phần mềm",
      iptc: "IPTC",
      title: "Tiêu đề",
      headline: "Đầu đề",
      city: "Thành phố",
      stateProvince: "Tỉnh/Thành phố",
      country: "Quốc gia",
      dateAndTime: "Ngày & Giờ",
      editDates: "Chỉnh sửa ngày",
      shiftAllDates: "Dịch chuyển tất cả ngày",
      dateModified: "Ngày sửa đổi",
      dateTaken: "Ngày chụp",
      shiftHint: "Dịch chuyển tất cả trường ngày theo khoảng lệch (hữu ích cho hiệu chỉnh múi giờ)",
      direction: "Hướng",
      forward: "+ Tiến",
      backward: "- Lùi",
      hoursMinutes: "Giờ:Phút",
      locationGps: "Vị trí (GPS)",
      locationDataFound: "Đã tìm thấy dữ liệu vị trí",
      noGpsData: "Không có dữ liệu GPS. Thêm tọa độ bên dưới.",
      latitude: "Vĩ độ",
      longitude: "Kinh độ",
      altitudeMeters: "Độ cao (mét)",
      removeAllGpsData: "Xóa tất cả dữ liệu GPS",
      keywords: "Từ khóa",
      addKeywordPlaceholder: "Thêm từ khóa và nhấn Enter",
      addToExisting: "Thêm vào hiện có",
      replaceAll: "Thay thế tất cả",
      allMetadata: "Tất cả siêu dữ liệu",
      templates: "Mẫu",
      templateNamePlaceholder: "Tên mẫu",
      uploadPrompt: "Tải lên hình ảnh để chỉnh sửa siêu dữ liệu.",
      changes: "{count} thay đổi:",
      modified: "{count} đã sửa đổi",
      removed: "{count} đã xóa",
      gpsCleared: "Đã xóa GPS",
      gpsAdded: "Đã thêm GPS",
      datesShifted: "đã dịch chuyển ngày",
      submit: "Áp dụng siêu dữ liệu",
      progressLabel: "Đang ghi siêu dữ liệu",
    },
    "bulk-rename": {
      pattern: "Mẫu",
      patternHint: "Biến: {{index}}, {{padded}}, {{original}}",
      startIndex: "Chỉ số bắt đầu",
      preview: "Xem trước",
      andMore: "... và {count} khác",
      renaming: "Đang đổi tên...",
      submit: "Đổi tên {count} tệp",
      zipDownloaded: "Đã tải xuống tệp ZIP thành công",
    },
    "image-to-pdf": {
      imageCount: "{count} hình ảnh sẽ được chuyển đổi thành {mode}",
      imageCountPlural: "{count} hình ảnh sẽ được chuyển đổi thành {mode}",
      singlePdfMode: "một tệp PDF duy nhất, mỗi ảnh một trang",
      separatePdfMode: "các tệp PDF riêng lẻ, mỗi ảnh một tệp",
      combineAllImages: "Kết hợp tất cả ảnh vào một PDF",
      pageSize: "Khổ giấy",
      orientation: "Hướng",
      portrait: "Dọc",
      landscape: "Ngang",
      margin: "Lề",
      targetSizeLabel: "Kích thước tệp mục tiêu (tùy chọn)",
      targetSizePlaceholder: "ví dụ: 2",
      targetSizeHint: "Để trống để có chất lượng tối đa",
      targetSizeMet: "Đã đạt mục tiêu",
      targetSizeNotMet: "Không thể đạt mục tiêu. Tệp đã nén ở chất lượng tối thiểu.",
      targetSizeTooSmall: "Kích thước mục tiêu phải ít nhất 50KB",
      jpegQualityLabel: "Chất lượng JPEG đã sử dụng",
      noImage: "Không có ảnh",
      submitCollate: "Tạo PDF ({count} trang)",
      submitSeparate: "Tạo {count} PDF",
      downloadPdf: "Tải xuống PDF",
      downloadZip: "Tải xuống ZIP",
      progressLabel: "Đang tạo PDF",
      uploadingImages: "Đang tải lên hình ảnh...",
      processingPages: "Đang xử lý {count} trang...",
    },
    "pdf-to-image": {
      dropPdf: "Kéo thả PDF vào đây hoặc nhấp để chọn",
      readingPdf: "Đang đọc PDF...",
      pageCount: "{count} trang",
      pageCountPlural: "{count} trang",
      outputFormat: "Định dạng đầu ra",
      quality: "Chất lượng",
      resolutionDpi: "Độ phân giải (DPI)",
      dpiScreen: "Màn hình",
      dpiStandard: "Tiêu chuẩn",
      dpiPrint: "In ấn",
      dpiHighQuality: "Chất lượng cao",
      colorMode: "Chế độ màu",
      colorModeColor: "Màu",
      colorModeGrayscale: "Xám",
      colorModeBw: "Đen trắng",
      pages: "Trang",
      allPages: "Tất cả trang",
      pagesHint: "ví dụ: 1-3, 5, 8-10 (tài liệu có {count} trang)",
      converting: "Đang chuyển đổi...",
      submit: "Chuyển đổi {count} trang",
      submitPlural: "Chuyển đổi {count} trang",
      downloadAllZip: "Tải tất cả (ZIP)",
    },
    favicon: {
      uploadHint:
        "Tải lên hình ảnh vuông (khuyến nghị 512x512 trở lên) để tạo tất cả kích thước Favicon và biểu tượng ứng dụng.",
      multipleHint: "Mỗi hình ảnh trong số {count} ảnh sẽ có thư mục riêng trong tệp ZIP.",
      generatedSizes: "Kích thước được tạo (mỗi ảnh)",
      plusManifest: "+ manifest.json + đoạn mã HTML",
      submit: "Tạo Favicon ({count} ảnh)",
      submitPlural: "Tạo Favicon ({count} ảnh)",
      downloadZip: "Tải xuống Favicon ZIP",
      progressLabel: "Đang tạo Favicon",
    },
    "adjust-colors": {
      light: "Ánh sáng",
      brightness: "Độ sáng",
      contrast: "Độ tương phản",
      exposure: "Phơi sáng",
      color: "Màu sắc",
      saturation: "Độ bão hòa",
      temperature: "Nhiệt độ màu",
      temperatureHint: "lạnh / ấm",
      tint: "Sắc thái",
      tintHint: "xanh lá / hồng tím",
      hue: "Sắc độ",
      detail: "Chi tiết",
      sharpness: "Độ nét",
      effects: "Hiệu ứng",
      none: "không",
      grayscale: "xám",
      sepia: "nâu đỏ",
      invert: "đảo ngược",
      colorChannels: "Kênh màu",
      channelModified: "đã sửa đổi",
      red: "Đỏ",
      green: "Xanh lá",
      blue: "Xanh dương",
      resetAll: "Đặt lại tất cả",
      submit: "Áp dụng",
      submitBatch: "Áp dụng ({count} tệp)",
      progressLabel: "Đang điều chỉnh màu sắc",
    },
    sharpening: {
      method: "Phương pháp",
      adaptive: "Thích ứng",
      unsharpMask: "Mặt nạ không sắc nét",
      highPass: "Cao tần",
      presets: "Mẫu có sẵn",
      textureAmount: "Mức độ kết cấu",
      amount: "Mức độ",
      strength: "Cường độ",
      noiseReduction: "Khử nhiễu",
      off: "tắt",
      lightDenoise: "nhẹ",
      mediumDenoise: "vừa",
      strongDenoise: "mạnh",
      advancedControls: "Điều khiển nâng cao",
      radius: "Bán kính",
      flatProtection: "Bảo vệ vùng phẳng",
      detailThreshold: "Ngưỡng chi tiết",
      haloLimitLight: "Giới hạn quầng sáng (Sáng)",
      haloLimitDark: "Giới hạn quầng sáng (Tối)",
      threshold: "Ngưỡng",
      kernelSize: "Kích thước nhân",
      submit: "Làm nét",
      submitBatch: "Làm nét ({count} tệp)",
      progressLabel: "Đang làm nét",
    },
    "replace-color": {
      sourceColor: "Màu nguồn (cần thay thế)",
      targetColor: "Màu đích (thay thế bằng)",
      makeTransparent: "Làm trong suốt thay thế",
      tolerance: "Dung sai",
      exactMatch: "Khớp chính xác",
      wideRange: "Phạm vi rộng",
      submit: "Thay thế màu",
      submitBatch: "Thay thế màu ({count} tệp)",
      progressLabel: "Đang thay thế màu",
    },
    "color-blindness": {
      simulationType: "Loại mô phỏng",
      redGreen: "Đỏ-Xanh lá",
      blueYellow: "Xanh dương-Vàng",
      monochromatic: "Đơn sắc",
      submit: "Mô phỏng",
      submitBatch: "Mô phỏng ({count} tệp)",
      progressLabel: "Đang mô phỏng mù màu",
    },
    "remove-background": {
      subject: "Chủ thể",
      people: "Con người",
      products: "Sản phẩm",
      general: "Chung",
      passportIdPhoto: "Ảnh hộ chiếu / Giấy tờ",
      quality: "Chất lượng",
      fast: "Nhanh",
      hd: "HD",
      max: "Tối đa",
      ultra: "Siêu nét",
      background: "Nền",
      transparent: "Trong suốt",
      bgColor: "Màu nền",
      gradient: "Chuyển sắc",
      image: "Hình ảnh",
      gradientDirection: "Hướng chuyển sắc",
      chooseBackgroundImage: "Chọn ảnh nền",
      effectsSection: "Hiệu ứng",
      effectsActive: "đang hoạt động",
      blurBackground: "Làm mờ nền",
      intensity: "Cường độ",
      addShadow: "Thêm bóng đổ",
      opacity: "Độ mờ",
      outputFormat: "Định dạng đầu ra",
      edgeSmoothing: "Làm mịn viền",
      edgeSmoothingOff: "Tắt",
      edgeSmoothingLight: "Nhẹ",
      edgeSmoothingMedium: "Vừa",
      edgeSmoothingStrong: "Mạnh",
      colorDecontamination: "Khử màu viền",
      rendering: "Đang kết xuất...",
      submit: "Xóa nền",
      submitBatch: "Xóa nền ({count} tệp)",
      progressLabel: "Đang xóa nền",
    },
    upscale: {
      scaleFactor: "Hệ số phóng đại",
      quality: "Chất lượng",
      enhanceFaces: "Nâng cao khuôn mặt",
      noiseReduction: "Khử nhiễu",
      noiseReductionHint:
        "Làm mịn nhiễu và hạt. Giá trị cao hơn khử nhiễu nhiều hơn nhưng có thể làm mờ chi tiết.",
      outputFormat: "Định dạng đầu ra",
      submit: "Phóng to {scale}x",
      submitBatch: "Phóng to {scale}x ({count} tệp)",
      progressLabel: "Đang phóng to ảnh",
      progressLabelBatch: "Đang phóng to {count} ảnh",
    },
    "erase-object": {
      brushSize: "Kích thước cọ",
      fine: "Mảnh",
      wide: "Rộng",
      undo: "Hoàn tác",
      clear: "Xóa",
      outputFormat: "Định dạng đầu ra",
      quality: "Chất lượng",
      paintHint: "Tô lên các đối tượng bạn muốn xóa. Nhấn Ctrl+Z để hoàn tác.",
      submit: "Xóa đối tượng",
      submitBatch: "Xóa tất cả ({count})",
      progressLabel: "Đang xóa đối tượng",
    },
    ocr: {
      quality: "Chất lượng",
      enhanceBeforeScanning: "Nâng cao trước khi quét",
      enhanceHint:
        "Tự động chỉnh xoay, tăng độ tương phản, khử nhiễu và phóng to ảnh trước khi quét để có độ chính xác tốt hơn.",
      language: "Ngôn ngữ",
      autoDetect: "Tự động nhận diện",
      extractedText: "Văn bản trích xuất",
      noTextDetected: "Không phát hiện văn bản trong hình ảnh này",
      characters: "{count} ký tự",
      submit: "Trích xuất văn bản",
      submitBatch: "Trích xuất văn bản ({count} tệp)",
      progressLabel: "Đang trích xuất văn bản",
    },
    "ocr-pdf": {
      quality: "Chất lượng",
      language: "Ngôn ngữ",
      autoDetect: "Tự động nhận diện",
      pages: "Trang",
      pagesPlaceholder: "tất cả, 1-3, 5",
      pagesHint: "Nhập số trang hoặc phạm vi (vd. 1-3, 5, 8-10). Tối đa 50 trang.",
      submit: "Trích xuất văn bản",
      submitBatch: "Trích xuất văn bản ({count} tệp)",
      progressLabel: "Đang trích xuất văn bản từ PDF",
    },
    "blur-faces": {
      blurRadius: "Bán kính làm mờ",
      blurLight: "Nhẹ",
      blurHeavy: "Mạnh",
      detectionSensitivity: "Độ nhạy phát hiện",
      moreFaces: "Nhiều khuôn mặt hơn",
      fewerFaces: "Ít khuôn mặt hơn",
      submit: "Làm mờ khuôn mặt",
      progressLabel: "Đang làm mờ khuôn mặt",
    },
    "enhance-faces": {
      quality: "Chất lượng",
      enhancementStrength: "Cường độ nâng cao",
      onlyCenterFace: "Chỉ khuôn mặt ở giữa",
      detectionSensitivity: "Độ nhạy phát hiện",
      submit: "Nâng cao khuôn mặt",
      submitBatch: "Nâng cao khuôn mặt ({count} tệp)",
      progressLabel: "Đang nâng cao khuôn mặt",
    },
    "smart-crop": {
      subjectFocus: "Lấy nét chủ thể",
      faceFocus: "Lấy nét khuôn mặt",
      autoTrim: "Tự động cắt viền",
      customSize: "Kích thước tùy chỉnh",
      socialPresets: "Mẫu mạng xã hội",
      detectionStrategy: "Chiến lược phát hiện",
      detectionStrategyHint:
        "Sự chú ý tìm vùng nổi bật nhất. Entropy tìm vùng có nhiều chi tiết và thông tin nhất.",
      attention: "Sự chú ý",
      entropy: "Entropy",
      padding: "Khoảng đệm",
      paddingHint: "Khoảng trống thêm xung quanh vùng lấy nét",
      outputQuality: "Chất lượng đầu ra",
      outputQualityHint: "Cho đầu ra JPEG và WebP. PNG luôn không mất dữ liệu.",
      subjectDescription:
        "Phát hiện vùng thú vị nhất bằng phân tích nổi bật và cắt theo kích thước mục tiêu.",
      framing: "Đóng khung",
      facePadding: "Khoảng đệm khuôn mặt",
      facePaddingHint: "Khoảng trống thêm xung quanh khuôn mặt phát hiện được",
      fewerFalsePositives: "Ít phát hiện sai hơn",
      faceDescription:
        "Sử dụng AI phát hiện khuôn mặt để giữ khuôn mặt được đóng khung đúng. Chuyển sang Lấy nét chủ thể nếu không phát hiện khuôn mặt.",
      trimTolerance: "Dung sai",
      trimDescription:
        "Mức độ khác biệt của pixel viền so với màu cạnh mà vẫn bị cắt. Cao hơn = cắt mạnh hơn.",
      padToSquare: "Đệm thành hình vuông",
      targetSizePx: "Kích thước mục tiêu (px)",
      padColor: "Màu đệm",
      trimHint:
        'Xóa viền đồng màu xung quanh chủ thể. Bật "Đệm thành hình vuông" cho ảnh sẵn sàng thương mại điện tử.',
      submitSubject: "Cắt thông minh",
      submitFace: "Cắt khuôn mặt",
      submitTrim: "Cắt viền",
    },
    imageEnhancement: {
      enhancementMode: "Chế độ nâng cao",
      auto: "Tự động",
      portrait: "Chân dung",
      landscape: "Phong cảnh",
      lowLight: "Thiếu sáng",
      food: "Ẩm thực",
      document: "Tài liệu",
      intensity: "Cường độ",
      deepEnhance: "Nâng cao sâu (AI)",
      deepEnhanceDescription: "Khử nhiễu và hiện tượng lỗi bằng AI",
      deepEnhanceRequires: "Yêu cầu gói Phóng to & Nâng cao",
      analyzingImage: "Đang phân tích hình ảnh...",
      detectedIssues: "Vấn đề phát hiện được",
      imageLooksGood: "Hình ảnh trông tốt. Tinh chỉnh bằng thanh trượt cường độ.",
      issueUnderexposed: "Thiếu sáng",
      issueOverexposed: "Quá sáng",
      issueLowContrast: "Tương phản phẳng",
      issueColorCast: "Sai lệch màu",
      issueDesaturated: "Nhạt màu",
      issueSoftFocus: "Mờ nét",
      issueNoisy: "Nhiễu",
      submit: "Nâng cao",
      submitDeep: "Nâng cao sâu",
      submitBatch: "Nâng cao ({count} tệp)",
      submitDeepBatch: "Nâng cao sâu ({count} tệp)",
      progressLabel: "Đang nâng cao hình ảnh",
      progressLabelBatch: "Đang nâng cao {count} hình ảnh",
    },
    "noise-removal": {
      denoisingTier: "Mức khử nhiễu",
      quick: "Nhanh",
      balanced: "Cân bằng",
      quality: "Chất lượng",
      maximum: "Tối đa",
      quickDesc: "Nhanh, nhẹ",
      balancedDesc: "Chất lượng tốt, tốc độ vừa phải",
      qualityDesc: "AI, chậm hơn",
      maximumDesc: "Mô hình AI tốt nhất, chậm nhất",
      strength: "Cường độ",
      subtle: "Nhẹ nhàng",
      aggressive: "Mạnh mẽ",
      detailPreservation: "Bảo toàn chi tiết",
      smooth: "Mịn",
      sharp: "Nét",
      colorNoise: "Nhiễu màu",
      heavy: "Nặng",
      outputFormat: "Định dạng đầu ra",
      gifAiWarning:
        "Khử nhiễu AI cho tệp GIF chỉ xử lý khung hình đầu tiên. Với GIF động, hãy sử dụng mức Nhanh hoặc Cân bằng.",
      submit: "Khử nhiễu",
      submitBatch: "Khử nhiễu ({count} tệp)",
      progressLabel: "Đang khử nhiễu",
      progressLabelBatch: "Đang khử nhiễu {count} ảnh",
    },
    "red-eye-removal": {
      sensitivity: "Độ nhạy",
      strict: "Nghiêm ngặt",
      aggressive: "Mạnh mẽ",
      correctionStrength: "Cường độ sửa chữa",
      subtle: "Nhẹ nhàng",
      dark: "Đậm",
      outputFormat: "Định dạng đầu ra",
      quality: "Chất lượng",
      submit: "Sửa mắt đỏ",
      submitBatch: "Sửa mắt đỏ ({count} tệp)",
      progressLabel: "Đang sửa mắt đỏ",
      progressLabelBatch: "Đang sửa mắt đỏ {count} ảnh",
    },
    "restore-photo": {
      scratchRemoval: "Xóa vết xước",
      scratchRemovalDesc: "Phát hiện và sửa chữa vết xước, rách, vết bẩn",
      faceEnhancement: "Nâng cao khuôn mặt",
      faceEnhancementDesc: "Phục hồi khuôn mặt bị xuống cấp bằng CodeFormer AI",
      faceFidelity: "Độ trung thực khuôn mặt",
      enhanced: "Nâng cao",
      faithful: "Trung thực",
      noiseReduction: "Khử nhiễu",
      noiseReductionDesc: "Khử hạt và nhiễu từ ảnh cũ",
      denoiseStrength: "Cường độ khử nhiễu",
      autoColorize: "Tự động tô màu",
      autoColorizeDesc: "Thêm màu cho ảnh đen trắng bằng DDColor AI",
      colorizeStrength: "Cường độ tô màu",
      vivid: "Rực rỡ",
      submit: "Phục chế ảnh",
      submitBatch: "Phục chế ảnh ({count})",
      progressLabel: "Đang phục chế ảnh",
      progressLabelBatch: "Đang phục chế {count} ảnh",
    },
    "content-aware-resize": {
      widthPx: "Chiều rộng (px)",
      heightPx: "Chiều cao (px)",
      resizeToSquare: "Đổi kích thước thành hình vuông",
      protectFaces: "Bảo vệ khuôn mặt",
      protectFacesHint:
        "Phát hiện và bảo vệ vùng khuôn mặt khỏi bị xóa đường nối bằng phát hiện khuôn mặt",
      smoothing: "Làm mịn",
      edgeSensitivity: "Độ nhạy cạnh",
      submit: "Thay đổi kích thước",
      submitBatch: "Thay đổi kích thước ({count} tệp)",
      progressLabel: "Đang thay đổi kích thước thông minh",
    },
    "ai-canvas-expand": {
      quality: "Chất lượng",
      fast: "Nhanh",
      balanced: "Cân bằng",
      highQuality: "Chất lượng cao",
      fastDesc: "Xem trước nhanh, ít lượt AI",
      balancedDesc: "Chất lượng tốt, tốc độ vừa phải",
      highQualityDesc: "Kết quả tốt nhất, chậm hơn",
      extendToAspectRatio: "Mở rộng theo tỷ lệ",
      extendByPixels: "Mở rộng thêm (pixel)",
      top: "Trên",
      right: "Phải",
      bottom: "Dưới",
      left: "Trái",
      newSize: "Kích thước mới: {width} x {height}",
      submit: "Mở rộng khung vẽ",
      submitBatch: "Mở rộng ({count} tệp)",
      progressLabel: "Đang mở rộng khung vẽ",
    },
    colorize: {
      aiModel: "Mô hình AI",
      fast: "Nhanh",
      fastDesc: "Kết quả nhanh",
      balanced: "Cân bằng",
      balancedDesc: "Tốt nhất hiện có",
      best: "Tốt nhất",
      bestDesc: "Chất lượng cao nhất",
      colorIntensity: "Cường độ màu",
      grayscaleLabel: "Xám",
      subtleLabel: "Nhẹ nhàng",
      naturalLabel: "Tự nhiên",
      vividLabel: "Rực rỡ",
      intensityHint: "Giá trị thấp tạo màu trầm hơn, kiểu hoài cổ.",
      strength: "Cường độ tô màu",
      submit: "Tô màu",
      submitBatch: "Tô màu ({count} tệp)",
      progressLabel: "Đang tô màu",
      progressLabelBatch: "Đang tô màu {count} ảnh",
    },
    "passport-photo": {
      country: "Quốc gia",
      searchCountries: "Tìm kiếm quốc gia...",
      noCountriesFound: "Không tìm thấy quốc gia",
      customDimensions: "Kích thước tùy chỉnh",
      documentType: "Loại giấy tờ",
      dimensionsMm: "Kích thước (mm)",
      dpi: "DPI",
      pixelsPerInch: "pixel trên inch",
      backgroundColor: "Màu nền",
      maxFileSize: "Kích thước tệp tối đa",
      noLimit: "Không giới hạn",
      customKb: "Tùy chỉnh KB...",
      uploadPortrait: "Tải lên ảnh chân dung",
      uploadHint: "Kéo thả hoặc tải lên hình ảnh ở bảng bên trái để xem trước ảnh hộ chiếu",
      analyzingPhoto: "Đang phân tích ảnh",
      detectingLandmarks: "Đang phát hiện các điểm mốc khuôn mặt và xóa nền...",
      generatePassportPhoto: "Tạo ảnh hộ chiếu",
      generating: "Đang tạo...",
      downloadPhoto: "Tải ảnh xuống",
      faceCentered: "Khuôn mặt ở giữa",
      headLevel: "Đầu thẳng",
      lookingStraight: "Nhìn thẳng",
      faceSize: "Kích thước khuôn mặt",
      whatYouSee: "Những gì bạn thấy là những gì bạn tải xuống",
      dragToAdjust: "Kéo để điều chỉnh",
      scrollToZoom: "Cuộn để thu phóng",
      photoGenerated: "Ảnh đã được tạo. Tải xuống từ bảng bên trái.",
    },
    "transcribe-audio": {
      language: "Ngôn ngữ",
      autoDetect: "Tự động phát hiện",
      outputFormat: "Định dạng đầu ra",
      plainText: "Văn bản thuần",
      submit: "Phiên âm",
      submitBatch: "Phiên âm ({count} tệp)",
      progressLabel: "Đang phiên âm",
    },
    "auto-subtitles": {
      language: "Ngôn ngữ",
      autoDetect: "Tự động phát hiện",
      format: "Định dạng phụ đề",
      submit: "Tạo phụ đề",
      submitBatch: "Tạo phụ đề ({count} tệp)",
      progressLabel: "Đang tạo phụ đề",
    },
    "transparency-fixer": {
      description: "Tải lên PNG có nền giả trong suốt và chúng tôi sẽ sửa chỉ với một cú nhấp.",
      removeWatermark: "Xóa hình mờ",
      removeWatermarkHelp: "Phát hiện và xóa hình mờ bán trong suốt",
      requiresEraser: "Yêu cầu gói Xóa đối tượng",
      advanced: "Nâng cao",
      defringe: "Khử viền",
      outputFormat: "Định dạng đầu ra",
      submit: "Sửa trong suốt",
      submitBatch: "Sửa trong suốt ({count} tệp)",
      progressLabel: "Đang sửa trong suốt",
    },
    "background-replace": {
      color: "Màu nền",
      submit: "Thay đổi nền",
      submitBatch: "Thay đổi nền ({count} tệp)",
      progressLabel: "Đang thay đổi nền",
    },
    "blur-background": {
      intensity: "Cường độ làm mờ",
      submit: "Làm mờ nền",
      submitBatch: "Làm mờ nền ({count} tệp)",
      progressLabel: "Đang làm mờ nền",
    },
    "watermark-text": {
      watermarkText: "Văn bản hình mờ",
      fontSize: "Cỡ chữ",
      color: "Màu sắc",
      opacity: "Độ mờ",
      position: "Vị trí",
      rotation: "Xoay",
      center: "Giữa",
      topLeft: "Trên trái",
      topRight: "Trên phải",
      bottomLeft: "Dưới trái",
      bottomRight: "Dưới phải",
      tiled: "Lát gạch",
      submit: "Thêm hình mờ",
      submitBatch: "Thêm hình mờ ({count} tệp)",
      progressLabel: "Đang thêm hình mờ",
    },
    "watermark-image": {
      uploadWatermark: "Tải lên ảnh hình mờ",
      position: "Vị trí",
      opacity: "Độ mờ",
      scale: "Tỷ lệ",
      submit: "Áp dụng hình mờ",
      submitBatch: "Áp dụng hình mờ ({count} tệp)",
    },
    "text-overlay": {
      text: "Văn bản",
      fontSize: "Cỡ chữ",
      color: "Màu sắc",
      position: "Vị trí",
      top: "Trên",
      center: "Giữa",
      bottom: "Dưới",
      backgroundBox: "Hộp nền",
      backgroundColor: "Màu nền",
      shadow: "Bóng đổ",
      submit: "Thêm văn bản",
      submitBatch: "Thêm văn bản ({count} tệp)",
      progressLabel: "Đang thêm lớp phủ văn bản",
      download: "Tải xuống",
      defaultText: "Nhập văn bản tại đây",
    },
    compose: {
      uploadOverlay: "Tải lên ảnh lớp phủ",
      xPosition: "Vị trí X",
      yPosition: "Vị trí Y",
      opacity: "Độ mờ",
      blendMode: "Chế độ hòa trộn",
      submit: "Ghép ảnh",
    },
    "meme-generator": {
      selectTemplate: "Chọn một mẫu từ bộ sưu tập hoặc tải lên ảnh của bạn để bắt đầu.",
      chooseLayout: "Chọn bố cục văn bản cho ảnh tùy chỉnh của bạn.",
      textContent: "Nội dung văn bản",
      textStyle: "Kiểu văn bản",
      font: "Phông chữ",
      fontSize: "Cỡ chữ",
      textColor: "Màu chữ",
      strokeColor: "Màu viền chữ",
      allCaps: "TẤT CẢ CHỮ HOA",
      generate: "Tạo Meme",
      generating: "Đang tạo...",
      downloadMeme: "Tải xuống Meme",
      backToGallery: "Quay lại bộ sưu tập",
    },
    info: {
      loadingInfo: "Đang tải thông tin...",
      filename: "Tên tệp",
      fileSize: "Dung lượng tệp",
      dimensions: "Kích thước",
      format: "Định dạng",
      channels: "Kênh",
      colorSpace: "Không gian màu",
      density: "Mật độ",
      bitDepth: "Độ sâu bit",
      progressive: "Luỹ tiến",
      pages: "Trang",
      hasAlpha: "Có kênh Alpha",
      hasProfile: "Có cấu hình",
      hasExif: "Có EXIF",
      hasIcc: "Có ICC",
      hasXmp: "Có XMP",
      readInfo: "Đọc thông tin",
      reading: "Đang đọc...",
      channelStats: "Thống kê kênh",
      yes: "Có",
      no: "Không",
      na: "N/A",
      failedToRead: "Không thể đọc thông tin",
    },
    compare: {
      uploadSecondImage: "Tải lên ảnh thứ hai",
      similarity: "Độ giống nhau: {percent}%",
      submit: "So sánh",
      downloadDiff: "Tải xuống ảnh khác biệt",
    },
    "find-duplicates": {
      preset: "Mẫu",
      exact: "Chính xác",
      similar: "Tương tự",
      loose: "Lỏng",
      exactDesc: "Bản sao giống hệt pixel, cùng ảnh ở định dạng khác.",
      similarDesc: "Bản sao đã thay đổi kích thước, nén lại hoặc chỉnh sửa nhẹ.",
      looseDesc: "Hình ảnh liên quan trực quan, cắt nhẹ, phơi sáng khác nhau.",
      threshold: "Ngưỡng",
      submit: "Quét tìm ảnh trùng",
      scanning: "Đang quét...",
    },
    "color-palette": {
      submit: "Trích xuất bảng màu",
      extracting: "Đang trích xuất...",
      dominantColors: "Màu chủ đạo",
      clickToCopy: "Nhấp để sao chép",
    },
    "qr-generate": {
      contentType: "Loại nội dung",
      url: "URL",
      text: "Văn bản",
      wifi: "WiFi",
      vcard: "vCard",
      email: "Email",
      phone: "Điện thoại",
      sms: "SMS",
      styling: "Kiểu dáng",
      dotStyle: "Kiểu chấm",
      cornerSquareStyle: "Kiểu ô vuông góc",
      cornerDotStyle: "Kiểu chấm góc",
      foregroundColor: "Màu tiền cảnh",
      bgColor: "Màu nền",
      logo: "Logo",
      downloadFormat: "Định dạng tải xuống",
      submit: "Tạo mã QR",
      download: "Tải xuống mã QR",
    },
    "html-to-image": {
      modeUrl: "URL",
      modeHtml: "Tệp HTML",
      htmlFile: "Tệp HTML",
      url: "URL",
      urlPlaceholder: "https://snapotter.com",
      format: "Định dạng đầu ra",
      quality: "Chất lượng",
      devicePreset: "Thiết bị",
      viewportWidth: "Chiều rộng",
      viewportHeight: "Chiều cao",
      fullPage: "Toàn trang",
      submit: "Chụp",
      download: "Tải ảnh chụp",
      capturing: "Đang chụp trang web...",
      errorTimeout: "Trang tải quá lâu",
      errorBlocked: "Không thể chụp URL này",
      errorUnavailable: "Dịch vụ chụp ảnh không khả dụng",
      errorFailed: "Không thể chụp trang",
      placeholder: "Nhập URL và nhấn Chụp",
      presets: {
        desktop: "Máy tính",
        tablet: "Máy tính bảng",
        mobile: "Di động",
        custom: "Tùy chỉnh",
      },
    },
    "barcode-read": {
      submit: "Quét mã vạch",
      submitBatch: "Quét ({count} tệp)",
      scanning: "Đang quét...",
      noBarcodesFound: "Không tìm thấy mã vạch",
      barcodesFound: "Tìm thấy {count} mã vạch",
      barcodesFoundPlural: "Tìm thấy {count} mã vạch",
    },
    collage: {
      template: "Mẫu",
      aspectRatio: "Tỷ lệ khung hình",
      gap: "Khoảng cách",
      cornerRadius: "Bán kính bo góc",
      backgroundColor: "Màu nền",
      outputFormat: "Định dạng đầu ra",
      quality: "Chất lượng",
      submit: "Tạo ảnh ghép",
      downloadCollage: "Tải xuống ảnh ghép",
    },
    stitch: {
      direction: "Hướng",
      horizontal: "Ngang",
      vertical: "Dọc",
      grid: "Lưới",
      gridColumns: "Cột lưới",
      resizeMode: "Chế độ kích thước",
      fit: "Vừa vặn",
      original: "Gốc",
      stretchMode: "Kéo giãn",
      cropMode: "Cắt",
      alignment: "Căn chỉnh",
      start: "Đầu",
      center: "Giữa",
      end: "Cuối",
      gap: "Khoảng cách",
      border: "Viền",
      cornerRadius: "Bán kính bo góc",
      backgroundColor: "Màu nền",
      outputFormat: "Định dạng đầu ra",
      quality: "Chất lượng",
      submit: "Ghép nối ảnh",
    },
    split: {
      modeGrid: "Lưới",
      modeTileSize: "Kích thước ô",
      presets: "Mẫu có sẵn",
      columns: "Cột",
      rows: "Hàng",
      tileWidth: "Chiều rộng ô",
      tileHeight: "Chiều cao ô",
      outputFormat: "Định dạng đầu ra",
      quality: "Chất lượng",
      submit: "Tách ảnh",
      downloadAll: "Tải tất cả (ZIP)",
    },
    border: {
      presets: "Mẫu có sẵn",
      borderWidth: "Độ rộng viền",
      borderColor: "Màu viền",
      padding: "Khoảng đệm",
      paddingColor: "Màu khoảng đệm",
      cornerRadius: "Bán kính bo góc",
      shadow: "Bóng đổ",
      shadowBlur: "Độ mờ bóng",
      shadowOffsetX: "Lệch bóng X",
      shadowOffsetY: "Lệch bóng Y",
      shadowColor: "Màu bóng",
      shadowOpacity: "Độ mờ bóng",
      submit: "Thêm viền",
      submitBatch: "Thêm viền ({count} tệp)",
      progressLabel: "Đang thêm viền",
    },
    beautify: {
      preset: "Mẫu",
      backgroundType: "Loại nền",
      solidColor: "Màu đơn",
      linearGradient: "Chuyển sắc tuyến tính",
      radialGradient: "Chuyển sắc tỏa tròn",
      customImage: "Ảnh tùy chỉnh",
      gradientAngle: "Góc chuyển sắc",
      padding: "Khoảng đệm",
      borderRadius: "Bán kính bo góc",
      shadowPreset: "Mẫu bóng đổ",
      deviceFrame: "Khung thiết bị",
      submit: "Làm đẹp",
      submitBatch: "Làm đẹp ({count} tệp)",
      progressLabel: "Đang làm đẹp ảnh chụp màn hình",
    },
    "circle-crop": {
      submit: "Cắt tròn",
      submitBatch: "Cắt tròn ({count} tệp)",
      progressLabel: "Đang cắt tròn",
    },
    duotone: {
      shadow: "Màu tối",
      highlight: "Màu sáng",
      submit: "Áp dụng Duotone",
      submitBatch: "Áp dụng Duotone ({count} tệp)",
      progressLabel: "Đang áp dụng duotone",
    },
    "image-pad": {
      target: "Tỷ lệ mục tiêu",
      color: "Màu nền",
      submit: "Đệm ảnh",
      submitBatch: "Đệm ảnh ({count} tệp)",
      progressLabel: "Đang đệm ảnh",
    },
    pixelate: {
      blockSize: "Kích thước ô",
      submit: "Làm khảm",
      submitBatch: "Làm khảm ({count} tệp)",
      progressLabel: "Đang làm khảm",
    },
    vignette: {
      strength: "Cường độ",
      color: "Màu viền tối",
      submit: "Áp dụng Vignette",
      submitBatch: "Áp dụng Vignette ({count} tệp)",
      progressLabel: "Đang áp dụng vignette",
    },
    "gif-webp": {
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi hoạt ảnh",
    },
    histogram: {
      submit: "Tạo biểu đồ",
      submitBatch: "Tạo biểu đồ ({count} tệp)",
      progressLabel: "Đang tạo biểu đồ",
    },
    "lqip-placeholder": {
      width: "Chiều rộng",
      blur: "Độ mờ",
      submit: "Tạo ảnh giữ chỗ",
      submitBatch: "Tạo ảnh giữ chỗ ({count} tệp)",
      progressLabel: "Đang tạo ảnh giữ chỗ",
    },
    "sprite-sheet": {
      columns: "Số cột",
      padding: "Khoảng đệm",
      background: "Màu nền",
      submit: "Tạo Sprite Sheet",
      submitBatch: "Tạo Sprite Sheet",
      progressLabel: "Đang tạo sprite sheet",
    },
    "svg-to-raster": {
      outputFormat: "Định dạng đầu ra",
      sizing: "Kích thước",
      scaleMode: "Tỷ lệ",
      customMode: "Tùy chỉnh",
      scalePresets: "Mẫu tỷ lệ",
      dpiPresets: "Mẫu DPI",
      customWidth: "Chiều rộng (px)",
      customHeight: "Chiều cao (px)",
      background: "Nền",
      bgTransparent: "Trong suốt",
      bgColor: "Màu nền",
      quality: "Chất lượng",
      submit: "Chuyển đổi SVG",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi SVG",
    },
    vectorize: {
      preset: "Mẫu",
      logo: "Logo",
      illustration: "Minh họa",
      photo: "Ảnh chụp",
      sketch: "Phác thảo",
      customPreset: "Tùy chỉnh",
      colorMode: "Chế độ màu",
      bw: "Đen trắng",
      colorModeColor: "Màu",
      threshold: "Ngưỡng",
      colorPrecision: "Độ chính xác màu",
      layerDifference: "Khác biệt lớp",
      filterSpeckle: "Lọc đốm",
      pathMode: "Chế độ đường dẫn",
      cornerThreshold: "Ngưỡng góc",
      invertColors: "Đảo ngược màu",
      submit: "Véc-tơ hóa",
      submitBatch: "Véc-tơ hóa ({count} tệp)",
      progressLabel: "Đang véc-tơ hóa",
    },
    "gif-tools": {
      mode: "Chế độ",
      resize: "Thay đổi kích thước",
      optimize: "Tối ưu",
      speed: "Tốc độ",
      reverse: "Đảo ngược",
      extract: "Trích xuất",
      rotateMode: "Xoay",
      pixel: "Điểm ảnh",
      percentage: "Phần trăm",
      colors: "Màu sắc",
      dither: "Phân tán",
      effort: "Mức nỗ lực",
      speedFactor: "Hệ số tốc độ",
      loopControl: "Điều khiển lặp",
      infinite: "Vô hạn",
      once: "Một lần",
      customLoop: "Tùy chỉnh",
      loopCount: "Số lần lặp",
      extractSingle: "Đơn lẻ",
      extractRange: "Phạm vi",
      extractAll: "Tất cả",
      frameNumber: "Số khung hình",
      frameStart: "Khung hình bắt đầu",
      frameEnd: "Khung hình kết thúc",
      extractFormat: "Định dạng",
      submit: "Xử lý GIF",
      submitBatch: "Xử lý ({count} tệp)",
      progressLabel: "Đang xử lý GIF",
    },
    "image-to-base64": {
      outputFormat: "Định dạng đầu ra",
      keepOriginal: "Giữ nguyên gốc",
      quality: "Chất lượng",
      maxWidth: "Chiều rộng tối đa",
      maxHeight: "Chiều cao tối đa",
      submit: "Chuyển sang Base64",
      submitBatch: "Chuyển đổi ({count} tệp)",
      copyBase64: "Sao chép Base64",
      copyDataUri: "Sao chép Data URI",
      copyImgTag: "Sao chép thẻ <img>",
      copyCssUrl: "Sao chép CSS url()",
    },
    "barcode-generate": {
      text: "Văn bản",
      type: "Loại mã vạch",
      scale: "Tỷ lệ",
      includeText: "Hiển thị văn bản",
      submit: "Tạo mã vạch",
      download: "Tải mã vạch",
    },
    "chart-maker": {
      kind: "Loại biểu đồ",
      title: "Tiêu đề",
      width: "Chiều rộng",
      height: "Chiều cao",
      submit: "Tạo biểu đồ",
      submitBatch: "Tạo biểu đồ ({count} tệp)",
      progressLabel: "Đang tạo biểu đồ",
    },
    "enhance-faces-standalone": {
      model: "Mô hình",
      fast: "Nhanh",
      balanced: "Cân bằng",
      best: "Tốt nhất",
    },
    "convert-video": {
      format: "Định dạng đầu ra",
      quality: "Chất lượng",
      high: "Cao",
      balanced: "Cân bằng",
      small: "Nhỏ nhất",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "compress-video": {
      quality: "Mức nén",
      light: "Nhẹ",
      balanced: "Cân bằng",
      strong: "Mạnh",
      resolution: "Độ phân giải",
      original: "Gốc",
      submit: "Nén",
      submitBatch: "Nén ({count} tệp)",
      progressLabel: "Đang nén",
    },
    "trim-video": {
      start: "Bắt đầu (giây)",
      end: "Kết thúc (giây)",
      precise: "Chính xác từng khung hình (mã hóa lại)",
      submit: "Cắt",
      submitBatch: "Cắt ({count} tệp)",
      progressLabel: "Đang cắt",
    },
    "mute-video": {
      submit: "Xóa âm thanh",
      submitBatch: "Xóa âm thanh ({count} tệp)",
      progressLabel: "Đang tắt tiếng",
    },
    "video-to-gif": {
      fps: "Số khung hình/giây",
      width: "Chiều rộng (px)",
      start: "Bắt đầu (giây)",
      duration: "Thời lượng (giây)",
      submit: "Tạo GIF",
      submitBatch: "Tạo GIF ({count} tệp)",
      progressLabel: "Đang tạo GIF",
    },
    "resize-video": {
      preset: "Mẫu có sẵn",
      width: "Chiều rộng (px)",
      height: "Chiều cao (px)",
      hint: "Để trống một chiều để giữ tỷ lệ khung hình",
      submit: "Đổi kích thước",
      submitBatch: "Đổi kích thước ({count} tệp)",
      progressLabel: "Đang đổi kích thước",
    },
    "crop-video": {
      width: "Chiều rộng (px)",
      height: "Chiều cao (px)",
      x: "Lệch X",
      y: "Lệch Y",
      submit: "Cắt",
      submitBatch: "Cắt ({count} tệp)",
      progressLabel: "Đang cắt",
    },
    "rotate-video": {
      transform: "Phép biến đổi",
      cw90: "Xoay 90 theo chiều kim đồng hồ",
      ccw90: "Xoay 90 ngược chiều kim đồng hồ",
      rotate180: "Xoay 180",
      hflip: "Lật ngang",
      vflip: "Lật dọc",
      submit: "Xoay",
      submitBatch: "Xoay ({count} tệp)",
      progressLabel: "Đang xoay",
    },
    "change-fps": {
      fps: "Số khung hình/giây",
      submit: "Đổi FPS",
      submitBatch: "Đổi FPS ({count} tệp)",
      progressLabel: "Đang đổi FPS",
    },
    "video-color": {
      brightness: "Độ sáng",
      contrast: "Độ tương phản",
      saturation: "Độ bão hòa",
      gamma: "Gamma",
      submit: "Áp dụng",
      submitBatch: "Áp dụng ({count} tệp)",
      progressLabel: "Đang chỉnh màu",
    },
    "video-speed": {
      factor: "Hệ số tốc độ",
      keepPitch: "Giữ nguyên cao độ",
      submit: "Đổi tốc độ",
      submitBatch: "Đổi tốc độ ({count} tệp)",
      progressLabel: "Đang đổi tốc độ",
    },
    "reverse-video": {
      hint: "Giới hạn cho các đoạn dưới 5 phút",
      submit: "Đảo ngược",
      submitBatch: "Đảo ngược ({count} tệp)",
      progressLabel: "Đang đảo ngược",
    },
    "video-loudnorm": {
      hint: "Chuẩn hóa âm lượng theo tiêu chuẩn phát sóng EBU R128",
      submit: "Chuẩn hóa",
      submitBatch: "Chuẩn hóa ({count} tệp)",
      progressLabel: "Đang chuẩn hóa",
    },
    "aspect-pad": {
      target: "Tỷ lệ mục tiêu",
      color: "Màu nền",
      colorHint: "Mã màu HEX, ví dụ #000000",
      submit: "Đệm",
      submitBatch: "Đệm ({count} tệp)",
      progressLabel: "Đang đệm",
    },
    "blur-pad": {
      target: "Tỷ lệ mục tiêu",
      blur: "Cường độ làm mờ",
      submit: "Đệm",
      submitBatch: "Đệm ({count} tệp)",
      progressLabel: "Đang đệm",
    },
    "watermark-video": {
      text: "Văn bản hình mờ",
      position: "Vị trí",
      fontSize: "Cỡ chữ",
      opacity: "Độ đục",
      color: "Màu",
      colorHint: "Mã màu HEX, ví dụ #ffffff",
      submit: "Thêm hình mờ",
      submitBatch: "Thêm hình mờ ({count} tệp)",
      progressLabel: "Đang thêm hình mờ",
    },
    "stabilize-video": {
      smoothing: "Độ mượt",
      hint: "Chạy hai lượt và mất nhiều thời gian hơn các công cụ khác",
      submit: "Ổn định",
      submitBatch: "Ổn định ({count} tệp)",
      progressLabel: "Đang ổn định",
    },
    "gif-to-video": {
      format: "Định dạng đầu ra",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "video-to-webp": {
      fps: "Số khung hình/giây",
      width: "Chiều rộng (px)",
      quality: "Chất lượng",
      loop: "Lặp hoạt ảnh",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "video-to-frames": {
      mode: "Chế độ trích xuất",
      modeAll: "Tất cả khung hình",
      modeNth: "Mỗi khung hình thứ N",
      modeTimestamps: "Mốc thời gian cụ thể",
      n: "Lấy mỗi khung hình thứ N",
      timestamps: "Mốc thời gian (giây)",
      timestampsHint: "Phân cách bằng dấu phẩy, ví dụ 0.5, 2, 4.5",
      format: "Định dạng ảnh",
      submit: "Trích xuất khung hình",
      submitBatch: "Trích xuất khung hình ({count} tệp)",
      progressLabel: "Đang trích xuất khung hình",
    },
    "merge-videos": {
      hint: "Các tệp được ghép theo thứ tự tải lên",
      submit: "Ghép",
      submitBatch: "Ghép ({count} tệp)",
      progressLabel: "Đang ghép",
    },
    "replace-audio": {
      hint: "Tải video lên trước, sau đó tải âm thanh",
      submit: "Thay âm thanh",
      submitBatch: "Thay âm thanh ({count} tệp)",
      progressLabel: "Đang thay âm thanh",
    },
    "burn-subtitles": {
      fontSize: "Cỡ chữ",
      hint: "Tải lên video và tệp phụ đề (.srt hoặc .vtt)",
      submit: "Gắn phụ đề",
      submitBatch: "Gắn phụ đề ({count} tệp)",
      progressLabel: "Đang gắn phụ đề",
    },
    "embed-subtitles": {
      language: "Mã ngôn ngữ",
      languageHint: "Mã ISO 639-2 ba chữ cái, ví dụ eng, spa, fra",
      submit: "Nhúng phụ đề",
      submitBatch: "Nhúng phụ đề ({count} tệp)",
      progressLabel: "Đang nhúng phụ đề",
    },
    "extract-subtitles": {
      submit: "Trích xuất phụ đề",
      submitBatch: "Trích xuất phụ đề ({count} tệp)",
      progressLabel: "Đang trích xuất phụ đề",
    },
    "images-to-video": {
      secondsPerImage: "Giây mỗi ảnh",
      resolution: "Độ phân giải",
      fps: "Số khung hình/giây",
      submit: "Tạo video",
      submitBatch: "Tạo video ({count} tệp)",
      progressLabel: "Đang tạo trình chiếu",
    },
    "video-metadata": {
      hint: "Báo cáo siêu dữ liệu hiển thị trong kết quả",
      submit: "Xóa siêu dữ liệu",
      submitBatch: "Xóa siêu dữ liệu ({count} tệp)",
      progressLabel: "Đang xóa siêu dữ liệu",
    },
    "convert-audio": {
      format: "Định dạng đầu ra",
      bitrate: "Tốc độ bit (kbps)",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "trim-audio": {
      start: "Bắt đầu (giây)",
      end: "Kết thúc (giây)",
      submit: "Cắt",
      submitBatch: "Cắt ({count} tệp)",
      progressLabel: "Đang cắt",
    },
    "extract-audio": {
      format: "Định dạng đầu ra",
      submit: "Trích xuất",
      submitBatch: "Trích xuất ({count} tệp)",
      progressLabel: "Đang trích xuất",
    },
    "volume-adjust": {
      "gain-db": "Khuếch đại (dB)",
      submit: "Chỉnh âm lượng",
      submitBatch: "Chỉnh âm lượng ({count} tệp)",
      progressLabel: "Đang chỉnh âm lượng",
    },
    "normalize-audio": {
      hint: "Chuẩn hóa âm lượng EBU R128",
      submit: "Chuẩn hóa",
      submitBatch: "Chuẩn hóa ({count} tệp)",
      progressLabel: "Đang chuẩn hóa",
    },
    "fade-audio": {
      "fade-in-s": "Tăng dần (giây)",
      "fade-out-s": "Giảm dần (giây)",
      submit: "Áp dụng hiệu ứng",
      submitBatch: "Áp dụng hiệu ứng ({count} tệp)",
      progressLabel: "Đang áp dụng hiệu ứng",
    },
    "reverse-audio": {
      submit: "Đảo ngược",
      submitBatch: "Đảo ngược ({count} tệp)",
      progressLabel: "Đang đảo ngược",
    },
    "audio-speed": {
      factor: "Hệ số tốc độ",
      submit: "Đổi tốc độ",
      submitBatch: "Đổi tốc độ ({count} tệp)",
      progressLabel: "Đang đổi tốc độ",
    },
    "pitch-shift": {
      semitones: "Nửa cung",
      hint: "Không được phép chọn 0 nửa cung",
      submit: "Dịch cao độ",
      submitBatch: "Dịch cao độ ({count} tệp)",
      progressLabel: "Đang dịch cao độ",
    },
    "audio-channels": {
      mode: "Chế độ kênh",
      "stereo-to-mono": "Stereo sang mono",
      "mono-to-stereo": "Mono sang stereo",
      swap: "Hoán đổi trái/phải",
      submit: "Chuyển đổi kênh",
      submitBatch: "Chuyển đổi kênh ({count} tệp)",
      progressLabel: "Đang chuyển đổi kênh",
    },
    "silence-removal": {
      "threshold-db": "Ngưỡng im lặng (dB)",
      "min-silence-s": "Thời lượng im lặng tối thiểu (giây)",
      submit: "Xóa khoảng lặng",
      submitBatch: "Xóa khoảng lặng ({count} tệp)",
      progressLabel: "Đang xóa khoảng lặng",
    },
    "noise-reduction": {
      strength: "Cường độ",
      light: "Nhẹ",
      medium: "Vừa",
      strong: "Mạnh",
      submit: "Giảm tiếng ồn",
      submitBatch: "Giảm tiếng ồn ({count} tệp)",
      progressLabel: "Đang giảm tiếng ồn",
    },
    "merge-audio": {
      format: "Định dạng đầu ra",
      mp3: "MP3",
      wav: "WAV",
      flac: "FLAC",
      m4a: "M4A",
      "order-hint": "Các tệp sẽ được ghép theo thứ tự tải lên",
      submit: "Ghép âm thanh",
      submitBatch: "Ghép âm thanh ({count} tệp)",
      progressLabel: "Đang ghép âm thanh",
    },
    "split-audio": {
      mode: "Chế độ tách",
      time: "Theo thời gian",
      parts: "Phần bằng nhau",
      silence: "Theo khoảng lặng",
      "segment-s": "Độ dài đoạn (giây)",
      "num-parts": "Số phần",
      "threshold-db": "Ngưỡng im lặng (dB)",
      "min-silence-s": "Thời lượng im lặng tối thiểu (giây)",
      submit: "Tách âm thanh",
      submitBatch: "Tách âm thanh ({count} tệp)",
      progressLabel: "Đang tách âm thanh",
    },
    "ringtone-maker": {
      "start-s": "Thời điểm bắt đầu (giây)",
      "duration-s": "Thời lượng (giây)",
      "max-hint": "Tối đa 30 giây",
      submit: "Tạo nhạc chuông",
      submitBatch: "Tạo nhạc chuông ({count} tệp)",
      progressLabel: "Đang tạo nhạc chuông",
    },
    "waveform-image": {
      width: "Chiều rộng (px)",
      height: "Chiều cao (px)",
      color: "Màu dạng sóng",
      submit: "Tạo dạng sóng",
      submitBatch: "Tạo dạng sóng ({count} tệp)",
      progressLabel: "Đang tạo dạng sóng",
    },
    "audio-metadata": {
      strip: "Xóa toàn bộ siêu dữ liệu",
      title: "Tiêu đề",
      artist: "Nghệ sĩ",
      album: "Album",
      submit: "Áp dụng siêu dữ liệu",
      submitBatch: "Áp dụng siêu dữ liệu ({count} tệp)",
      progressLabel: "Đang áp dụng siêu dữ liệu",
    },
    "merge-pdf": {
      addFiles: "Thêm PDF để ghép",
      needTwo: "Cần ít nhất hai tệp PDF",
      orderHint: "{count} PDF sẽ được ghép theo thứ tự này",
      submit: "Ghép",
      submitBatch: "Ghép ({count} tệp)",
      progressLabel: "Đang ghép",
    },
    "split-pdf": {
      mode: "Chế độ tách",
      range: "Phạm vi trang",
      rangeHint: "ví dụ: 1-3, 5, 7-z",
      everyN: "Số trang mỗi phần",
      submit: "Tách",
      submitBatch: "Tách ({count} tệp)",
      progressLabel: "Đang tách",
    },
    "compress-pdf": {
      preset: "Cài đặt chất lượng",
      screen: "Màn hình (nhỏ nhất)",
      ebook: "Ebook (cân bằng)",
      printer: "Máy in (chất lượng tốt nhất)",
      submit: "Nén",
      submitBatch: "Nén ({count} tệp)",
      progressLabel: "Đang nén",
    },
    "rotate-pdf": {
      angle: "Góc xoay",
      range: "Phạm vi trang",
      rangeHint: "ví dụ: 1-3, 5, 1-z (tất cả trang)",
      submit: "Xoay",
      submitBatch: "Xoay ({count} tệp)",
      progressLabel: "Đang xoay",
    },
    "convert-document": {
      format: "Định dạng đầu ra",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "convert-presentation": {
      format: "Định dạng đầu ra",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "convert-spreadsheet": {
      format: "Định dạng đầu ra",
      hint: "Bảng tính nhiều trang sẽ xuất trang đầu tiên sang CSV.",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "excel-to-pdf": {
      submit: "Chuyển sang PDF",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "powerpoint-to-pdf": {
      submit: "Chuyển sang PDF",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "word-to-pdf": {
      submit: "Chuyển sang PDF",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "extract-pages": {
      range: "Phạm vi trang",
      rangeHint: "ví dụ: 1-3, 5, 7-z",
      submit: "Trích xuất",
      submitBatch: "Trích xuất ({count} tệp)",
      progressLabel: "Đang trích xuất",
    },
    "remove-pages": {
      pages: "Các trang cần xóa",
      pagesHint: "ví dụ: 2, 4-6, z (trang cuối)",
      submit: "Xóa",
      submitBatch: "Xóa ({count} tệp)",
      progressLabel: "Đang xóa",
    },
    "organize-pdf": {
      order: "Thứ tự trang",
      orderHint: "ví dụ: 3,1,2 hoặc 1-z (giữ nguyên)",
      submit: "Sắp xếp lại",
      submitBatch: "Sắp xếp lại ({count} tệp)",
      progressLabel: "Đang sắp xếp lại",
    },
    "protect-pdf": {
      userPassword: "Mật khẩu người dùng",
      ownerPassword: "Mật khẩu chủ sở hữu (tùy chọn)",
      ownerPasswordHint: "Mặc định dùng mật khẩu người dùng nếu để trống",
      submit: "Bảo vệ",
      submitBatch: "Bảo vệ ({count} tệp)",
      progressLabel: "Đang mã hóa",
    },
    "unlock-pdf": {
      password: "Mật khẩu",
      submit: "Mở khóa",
      submitBatch: "Mở khóa ({count} tệp)",
      progressLabel: "Đang giải mã",
    },
    "repair-pdf": {
      submit: "Sửa chữa",
      submitBatch: "Sửa chữa ({count} tệp)",
      progressLabel: "Đang sửa chữa",
    },
    "linearize-pdf": {
      submit: "Tối ưu hóa",
      submitBatch: "Tối ưu hóa ({count} tệp)",
      progressLabel: "Đang tuyến tính hóa",
    },
    "grayscale-pdf": {
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "pdfa-convert": {
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "crop-pdf": {
      margin: "Lề (điểm)",
      submit: "Cắt",
      submitBatch: "Cắt ({count} tệp)",
      progressLabel: "Đang cắt",
    },
    "nup-pdf": {
      perSheet: "Số trang mỗi tờ",
      submit: "Sắp xếp",
      submitBatch: "Sắp xếp ({count} tệp)",
      progressLabel: "Đang sắp xếp",
    },
    "booklet-pdf": {
      perSheet: "Số trang mỗi tờ",
      submit: "Tạo sách nhỏ",
      submitBatch: "Tạo sách nhỏ ({count} tệp)",
      progressLabel: "Đang tạo sách nhỏ",
    },
    "watermark-pdf": {
      text: "Nội dung hình mờ",
      position: "Vị trí",
      fontSize: "Cỡ chữ",
      opacity: "Độ mờ",
      rotation: "Góc xoay",
      submit: "Đóng hình mờ",
      submitBatch: "Đóng hình mờ ({count} tệp)",
      progressLabel: "Đang đóng hình mờ",
    },
    "pdf-page-numbers": {
      position: "Vị trí",
      fontSize: "Cỡ chữ",
      submit: "Thêm số trang",
      submitBatch: "Thêm số trang ({count} tệp)",
      progressLabel: "Đang đánh số trang",
    },
    "flatten-pdf": {
      submit: "Làm phẳng",
      submitBatch: "Làm phẳng ({count} tệp)",
      progressLabel: "Đang làm phẳng",
    },
    "redact-pdf": {
      terms: "Từ cần che",
      termsHint: "Mỗi dòng một từ (tối đa 50)",
      caseSensitive: "Phân biệt chữ hoa/thường",
      submit: "Che thông tin",
      submitBatch: "Che thông tin ({count} tệp)",
      progressLabel: "Đang che thông tin",
    },
    "pdf-to-text": {
      submit: "Trích xuất văn bản",
      submitBatch: "Trích xuất văn bản ({count} tệp)",
      progressLabel: "Đang trích xuất",
    },
    "pdf-to-word": {
      hint: "Phù hợp nhất cho PDF dạng văn bản; trang quét cần OCR",
      submit: "Chuyển sang Word",
      submitBatch: "Chuyển sang Word ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "pdf-metadata": {
      title: "Tiêu đề",
      author: "Tác giả",
      subject: "Chủ đề",
      keywords: "Từ khóa",
      submit: "Đặt siêu dữ liệu",
      submitBatch: "Đặt siêu dữ liệu ({count} tệp)",
      progressLabel: "Đang đặt siêu dữ liệu",
    },
    "html-to-pdf": {
      hint: "Tài nguyên từ xa bị tắt để bảo vệ quyền riêng tư.",
      submit: "Chuyển sang PDF",
      submitBatch: "Chuyển sang PDF ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "markdown-to-docx": {
      submit: "Chuyển sang DOCX",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "markdown-to-html": {
      hint: "Hình ảnh từ xa trong nguồn được giữ nguyên ở đầu ra.",
      submit: "Chuyển sang HTML",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "markdown-to-pdf": {
      hint: "Tài nguyên từ xa bị tắt để bảo vệ quyền riêng tư.",
      submit: "Chuyển sang PDF",
      submitBatch: "Chuyển sang PDF ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "epub-convert": {
      format: "Định dạng đầu ra",
      hint: "Tài nguyên từ xa trong sách sẽ không được tải về.",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "to-epub": {
      submit: "Chuyển sang EPUB",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "csv-excel": {
      sheet: "Số trang tính",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "csv-json": {
      pretty: "Định dạng đẹp",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "json-xml": {
      pretty: "Định dạng đẹp",
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "split-csv": {
      rowsPerFile: "Số hàng mỗi tệp",
      keepHeader: "Giữ tiêu đề trong mỗi tệp",
      submit: "Tách",
      submitBatch: "Tách ({count} tệp)",
      progressLabel: "Đang tách",
    },
    "merge-csvs": {
      submit: "Ghép",
      submitBatch: "Ghép ({count} tệp)",
      progressLabel: "Đang ghép",
    },
    "yaml-json": {
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "xml-to-csv": {
      submit: "Chuyển đổi",
      submitBatch: "Chuyển đổi ({count} tệp)",
      progressLabel: "Đang chuyển đổi",
    },
    "create-zip": {
      submit: "Tạo ZIP",
      submitBatch: "Tạo ZIP ({count} tệp)",
      progressLabel: "Đang nén",
    },
    "extract-zip": {
      submit: "Giải nén",
      submitBatch: "Giải nén ({count} tệp)",
      progressLabel: "Đang giải nén",
    },
  },
  urlImport: {
    title: "Nhập từ URL",
    placeholder: "Dán URL hình ảnh, mỗi dòng một URL...",
    importButton: "Nhập URL",
    addButton: "Thêm {count} tệp",
    adding: "Đang thêm...",
    retryButton: "Thử lại",
    cancelButton: "Hủy",
    readyCount: "{count} sẵn sàng",
    failedStatus: "Thất bại",
  },
  comparison: {
    original: "Gốc",
    processed: "Đã xử lý",
    before: "Trước",
    after: "Sau",
    savings: "Tiết kiệm",
  },
  toolPage: {
    emptyPrompt: "Kéo thả hoặc tải lên hình ảnh để bắt đầu",
    filesCount: "Tệp ({count})",
    addMore: "+ Thêm",
    clearAll: "Xóa tất cả",
    acceptDescription: "Chỉ tệp {exts}",
    notFound: "Không tìm thấy công cụ",
    configureAndGenerate: "Cấu hình cài đặt và tạo.",
    processingFailed: "Xử lý thất bại cho tệp này",
    conversionComplete: "Chuyển đổi hoàn tất",
    cannotPreviewDownload:
      "Không thể xem trước tệp {type} trong trình duyệt. Sử dụng nút tải xuống để lưu tệp.",
    generatingPreview: "Đang tạo bản xem trước...",
    cannotPreviewWillProcess:
      "Không thể xem trước tệp {ext} trong trình duyệt. Công cụ vẫn sẽ xử lý tệp này bình thường.",
    previousImage: "Tệp trước",
    nextImage: "Tệp tiếp theo",
    imageCounter: "{current} / {total}",
    settingsLabel: "Cài đặt",
    downloadAllZip: "Tải tất cả (ZIP)",
    hideSettings: "Ẩn cài đặt",
    imageArea: "Vùng xem trước",
    disabledByAdmin: "Công cụ này đã bị quản trị viên vô hiệu hóa",
    browseOtherTools: "Duyệt công cụ khác",
    privacyNote: "Tệp được xử lý trên máy chủ của bạn và không bao giờ rời khỏi mạng",
    applyAndDownload: "Áp dụng và tải xuống",
    andMore: "và {count} nữa",
    importFromFiles: "Nhập từ Tệp",
    saveToFiles: "Lưu vào Tệp",
    savedToFiles: "Đã lưu vào Tệp",
    adjustSettings: "Điều chỉnh cài đặt",
    startOver: "Bắt đầu lại với tệp mới",
    newFile: "Tệp mới",
    previewUnavailable: "Xem trước sẽ có sau khi xử lý",
    generatePreview: "Tạo xem trước",
    previewFailed: "Tạo xem trước thất bại",
    backToTools: "Quay lại Công cụ",
    original: "Gốc",
    processed: "Đã xử lý",
    saved: "Đã lưu",
    noChange: "không thay đổi",
    download: "Tải xuống",
    settingsSaved: "Cài đặt của bạn đã được lưu.",
    tryAgain: "Thử lại",
    tryDifferentFile: "Thử tệp khác",
    batchPartialSuccess: "{success} trong {total} đã xử lý. {failed} thất bại.",
    dataResultsHint: "Kết quả hiển thị ở trên. Dùng nút sao chép trong bảng kết quả.",
    downloadAsFile: "Tải xuống dạng tệp",
    downloadAll: "Tải xuống tất cả",
    downloadFiles: "Tải xuống {count} tệp",
    audioDecodeUnsupported: "Định dạng âm thanh này không thể xem trước trong trình duyệt",
  },
  homePage: {
    generatingPreview: "Đang tạo bản xem trước...",
    loadingPreview: "Đang tải bản xem trước...",
    changeFile: "Đổi tệp",
    quickActions: "Thao tác nhanh",
    allTools: "Tất cả công cụ",
    searchPlaceholder: "Tìm kiếm {count} công cụ...",
    recent: "Gần đây",
    popular: "Phổ biến",
    browseByCategory: "Duyệt theo danh mục",
    gettingStarted: "Bắt đầu",
    noToolsMatch: "Không tìm thấy công cụ '{query}'",
    clearSearch: "Xóa tìm kiếm",
    all: "Tất cả",
    documents: "PDF",
    data: "Tệp",
    pdf: "PDF",
    files: "Tệp",
    toolCount: "{count} công cụ",
    heading: "Công cụ SnapOtter",
  },
  fullscreenGrid: {
    searchPlaceholder: "Tìm kiếm công cụ...",
    hideDetails: "Ẩn chi tiết",
    showDetails: "Hiển thị chi tiết",
    switchToSidebar: "Chuyển sang chế độ thanh bên",
    sidebarButton: "Thanh bên",
    noToolsFound: "Không tìm thấy công cụ",
    tryDifferent: "Thử từ khóa tìm kiếm khác",
  },
  editor: {
    menu: {
      file: {
        label: "Tệp",
        new: "Mới",
        open: "Mở",
        save: "Lưu",
        exportAs: "Xuất dưới dạng...",
        quickExportPng: "Xuất nhanh PNG",
        close: "Đóng",
      },
      edit: {
        label: "Chỉnh sửa",
        undo: "Hoàn tác",
        redo: "Làm lại",
        cut: "Cắt",
        copy: "Sao chép",
        copyMerged: "Sao chép đã gộp",
        paste: "Dán",
        pasteInPlace: "Dán tại chỗ",
        delete: "Xóa",
        freeTransform: "Biến đổi tự do",
        transform: {
          label: "Biến đổi",
          scale: "Thu phóng",
          rotate: "Xoay",
          skew: "Nghiêng",
          flipHorizontal: "Lật ngang",
          flipVertical: "Lật dọc",
        },
      },
      image: {
        label: "Hình ảnh",
        imageSize: "Kích thước hình ảnh...",
        canvasSize: "Kích thước khung vẽ...",
        rotation: {
          label: "Xoay hình ảnh",
          cw90: "90° theo chiều kim đồng hồ",
          ccw90: "90° ngược chiều kim đồng hồ",
          r180: "180°",
          flipHorizontal: "Lật ngang",
          flipVertical: "Lật dọc",
        },
        trim: "Cắt viền",
        adjustments: {
          label: "Điều chỉnh",
          brightnessContrast: "Độ sáng/Độ tương phản",
          hueSaturation: "Sắc độ/Độ bão hòa",
          colorBalance: "Cân bằng màu",
          levels: "Mức độ",
          curves: "Đường cong",
        },
      },
      layer: {
        label: "Lớp",
        newLayer: "Lớp mới",
        duplicateLayer: "Nhân đôi lớp",
        deleteLayer: "Xóa lớp",
        arrange: {
          label: "Sắp xếp",
          bringToFront: "Đưa lên trước",
          bringForward: "Đưa lên một bậc",
          sendBackward: "Đưa xuống một bậc",
          sendToBack: "Đưa xuống cuối",
        },
        mergeDown: "Gộp xuống",
        flattenImage: "Làm phẳng hình ảnh",
      },
      select: {
        label: "Chọn",
        all: "Tất cả",
        deselect: "Bỏ chọn",
        inverse: "Đảo ngược",
        colorRange: "Phạm vi màu...",
      },
      filter: {
        label: "Bộ lọc",
        blur: {
          label: "Làm mờ",
          gaussian: "Làm mờ Gaussian",
          motion: "Làm mờ chuyển động",
          radial: "Làm mờ tỏa tròn",
          surface: "Làm mờ bề mặt",
        },
        sharpen: {
          label: "Làm nét",
          sharpen: "Làm nét",
          unsharpMask: "Mặt nạ không sắc nét",
        },
        noise: {
          label: "Nhiễu",
          addNoise: "Thêm nhiễu",
          reduceNoise: "Giảm nhiễu",
        },
        pixelate: {
          label: "Khảm điểm ảnh",
          pixelate: "Khảm điểm ảnh",
          mosaic: "Khảm",
        },
        stylize: {
          label: "Phong cách hóa",
          emboss: "Dập nổi",
          solarize: "Phơi sáng",
          posterize: "Áp phích hóa",
        },
        grayscale: "Xám",
        sepia: "Nâu đỏ",
        invert: "Đảo ngược",
      },
      view: {
        label: "Xem",
        zoomIn: "Phóng to",
        zoomOut: "Thu nhỏ",
        fitOnScreen: "Vừa màn hình",
        actualPixels: "Pixel thực tế",
        rulers: "Thước kẻ",
        grid: "Lưới",
        guides: "Đường dẫn",
        snap: "Hút dính",
        panels: "Bảng điều khiển",
      },
    },
    menuBar: {
      backTitle: "Quay lại SnapOtter",
    },
    welcome: {
      ariaLabel: "Vùng thả hình ảnh",
      heading: "Trình chỉnh sửa ảnh",
      dropDescription: "Kéo thả hình ảnh vào đây để bắt đầu",
      openImageButton: "Mở hình ảnh",
      newDocumentButton: "Tài liệu mới",
      pasteHint: "Hoặc dán từ bộ nhớ tạm (Ctrl+V)",
    },
    mobile: {
      heading: "Khuyến nghị dùng máy tính",
      description:
        "Trình chỉnh sửa ảnh hoạt động tốt nhất trên màn hình máy tính. Vui lòng chuyển sang thiết bị có màn hình lớn hơn để có trải nghiệm chỉnh sửa đầy đủ.",
    },
    errors: {
      serverDecodeFailed: "Máy chủ giải mã thất bại",
    },
    shapes: {
      shape: "Hình",
      fill: "Tô màu",
      stroke: "Viền",
      strokeWidth: "Độ rộng",
      cornerRadius: "Bán kính",
      sides: "Cạnh",
      points: "Đỉnh",
      dashStyle: "Nét đứt",
      solid: "Liền",
      dashed: "Gạch ngang",
      dotted: "Chấm",
      none: "Không",
      opacity: "Độ mờ",
      rectangle: "Hình chữ nhật",
      ellipse: "Hình elip",
      line: "Đường thẳng",
      arrow: "Mũi tên",
      polygon: "Đa giác",
      star: "Ngôi sao",
    },
  },
  settings: {
    heading: "Cài đặt",
    nav: {
      general: "Chung",
      systemSettings: "Cài đặt hệ thống",
      security: "Bảo mật",
      people: "Thành viên",
      teams: "Nhóm",
      roles: "Vai trò",
      auditLog: "Nhật ký kiểm tra",
      usage: "Sử dụng",
      apiKeys: "Khóa API",
      aiFeatures: "Tính năng AI",
      tools: "Công cụ",
      about: "Giới thiệu",
    },
    general: {
      heading: "Chung",
      description: "Tùy chọn người dùng và cài đặt hiển thị.",
      loading: "Đang tải...",
      logOut: "Đăng xuất",
      defaultToolViewLabel: "Chế độ xem công cụ mặc định",
      defaultToolViewDescription: "Cách hiển thị công cụ trên trang chủ",
      sidebarOption: "Thanh bên",
      fullscreenGridOption: "Lưới toàn màn hình",
      appVersionLabel: "Phiên bản ứng dụng",
      appVersionDescription: "Phiên bản hiện tại của SnapOtter",
      saveButton: "Lưu cài đặt",
      saveSuccess: "Đã lưu cài đặt.",
      saveFailed: "Lưu cài đặt thất bại.",
    },
    system: {
      heading: "Cài đặt hệ thống",
      description: "Cấu hình phía máy chủ và giới hạn.",
      fileUploadLimitLabel: "Giới hạn tải lên (MB)",
      fileUploadLimitDescription: "Dung lượng tệp tối đa mỗi lần tải lên",
      defaultThemeLabel: "Giao diện mặc định",
      defaultThemeDescription: "Giao diện áp dụng cho phiên mới",
      lightOption: "Sáng",
      darkOption: "Tối",
      systemOption: "Hệ thống",
      languageLabel: "Ngôn ngữ",
      languageDescription: "Ngôn ngữ giao diện",
      loginAttemptLimitLabel: "Giới hạn đăng nhập",
      loginAttemptLimitDescription: "Số lần đăng nhập thất bại tối đa mỗi phút trước khi khóa",
      fileManagementHeading: "Quản lý tệp",
      maxFileAgeLabel: "Thời gian lưu tệp tối đa (giờ)",
      maxFileAgeDescription: "Thời gian lưu giữ tệp đã xử lý trước khi tự động dọn dẹp",
      startupCleanupLabel: "Dọn dẹp khi khởi động",
      startupCleanupDescription: "Dọn dẹp tệp tạm cũ khi máy chủ khởi động",
      saveButton: "Lưu cài đặt",
      saveSuccess: "Đã lưu cài đặt.",
      saveFailed: "Lưu cài đặt thất bại.",
      limitsAndResources: "Giới hạn & Tài nguyên",
      maxFileSize: "Dung lượng tệp tối đa",
      maxBatchSize: "Kích thước lô tối đa",
      concurrentJobs: "Tác vụ đồng thời",
      workerThreads: "Luồng xử lý",
      maxPipelineSteps: "Số bước Pipeline tối đa",
      processingTimeout: "Thời gian chờ xử lý",
      rateLimitPerMin: "Giới hạn tốc độ (yêu cầu/phút)",
      unlimited: "Không giới hạn",
      auto: "Tự động",
      envOverride: "Được đặt bởi biến môi trường",
      maxCanvasPixels: "Pixel khung vẽ tối đa",
      maxSvgSize: "Kích thước SVG tối đa",
      maxSplitGrid: "Lưới tách tối đa",
      maxPdfPages: "Số trang PDF tối đa",
      sessionDuration: "Thời lượng phiên",
      supportBundleButton: "Tải gói hỗ trợ",
      supportBundleDescription:
        "Tải tệp zip chẩn đoán với cấu hình đã ẩn, nhật ký và dữ liệu công việc để khắc phục sự cố.",
      supportBundleFailed: "Không thể tải gói hỗ trợ.",
    },
    security: {
      heading: "Bảo mật",
      description: "Cài đặt mật khẩu và xác thực.",
      changePasswordHeading: "Đổi mật khẩu",
      currentPasswordPlaceholder: "Mật khẩu hiện tại",
      newPasswordPlaceholder: "Mật khẩu mới",
      confirmPasswordPlaceholder: "Xác nhận mật khẩu mới",
      passwordsMismatch: "Mật khẩu không khớp",
      passwordTooShort: "Mật khẩu phải có ít nhất 4 ký tự",
      changeSuccess: "Đã đổi mật khẩu thành công",
      changeFailed: "Đổi mật khẩu thất bại",
      currentPasswordIncorrect: "Mật khẩu hiện tại không đúng",
      changePasswordButton: "Đổi mật khẩu",
      loginAttemptLimitNote: "Giới hạn đăng nhập có thể được cấu hình trong Cài đặt hệ thống.",
      adminHeading: "Cài đặt bảo mật quản trị",
      adminDescription: "Cài đặt chính sách bảo mật doanh nghiệp. Áp dụng cho tất cả người dùng.",
      sessionIdleTimeout: "Thời gian chờ phiên nhàn rỗi (phút)",
      sessionIdleTimeoutDesc: "Tự động đăng xuất phiên nhàn rỗi. 0 = tắt.",
      maxSessionsPerUser: "Số phiên tối đa mỗi người dùng",
      maxSessionsPerUserDesc: "Giới hạn phiên đồng thời mỗi người dùng. 0 = không giới hạn.",
      mfaPolicy: "Chính sách MFA",
      mfaPolicyDesc: "Yêu cầu xác thực đa yếu tố cho người dùng.",
      mfaPolicyOptional: "Tùy chọn",
      mfaPolicyAdminsOnly: "Bắt buộc cho quản trị viên",
      mfaPolicyRequired: "Bắt buộc cho tất cả người dùng",
      ssoEnforcement: "Bắt buộc SSO",
      ssoEnforcementDesc:
        "Yêu cầu đăng nhập SSO cho tất cả người dùng không phải tài khoản khẩn cấp.",
      ssoBreakGlassUsername: "Tên quản trị viên khẩn cấp",
      ssoBreakGlassUsernameDesc:
        "Quản trị viên này vẫn có thể đăng nhập bằng thông tin cục bộ khi SSO được bắt buộc.",
      passwordMinLength: "Độ dài mật khẩu tối thiểu",
      passwordMinLengthDesc: "Số ký tự tối thiểu yêu cầu cho mật khẩu.",
      passwordRequireUppercase: "Yêu cầu chữ hoa",
      passwordRequireUppercaseDesc: "Yêu cầu ít nhất một chữ cái viết hoa.",
      passwordRequireNumber: "Yêu cầu chữ số",
      passwordRequireNumberDesc: "Yêu cầu ít nhất một chữ số.",
      passwordRequireSpecial: "Yêu cầu ký tự đặc biệt",
      passwordRequireSpecialDesc: "Yêu cầu ít nhất một ký tự đặc biệt.",
      passwordPolicyHeading: "Chính sách mật khẩu",
      securitySettingsSaved: "Đã lưu cài đặt bảo mật",
      securitySettingsFailed: "Không thể lưu cài đặt bảo mật",
    },
    people: {
      heading: "Thành viên",
      description: "Quản lý thành viên không gian làm việc và quyền của họ",
      userCount: "{count} người dùng",
      userCountPlural: "{count} người dùng",
      searchPlaceholder: "Tìm kiếm thành viên...",
      addMembersButton: "Thêm thành viên",
      newMemberHeading: "Thành viên mới",
      usernamePlaceholder: "Tên đăng nhập",
      passwordPlaceholder: "Mật khẩu",
      roleUserOption: "Người dùng",
      roleEditorOption: "Biên tập viên",
      roleAdminOption: "Quản trị viên",
      roleUserDescription: "Truy cập công cụ cơ bản",
      roleEditorDescription: "Tất cả tệp & pipeline",
      roleAdminDescription: "Toàn quyền truy cập",
      noDescription: "Không có mô tả",
      defaultTeamOption: "Mặc định",
      createButton: "Tạo",
      cancelButton: "Hủy",
      createSuccess: "Đã tạo người dùng thành công",
      createFailed: "Tạo người dùng thất bại",
      userLimitReached: "Đã đạt giới hạn người dùng (tối đa {max})",
      deleteConfirm: 'Xóa người dùng "{username}"? Thao tác này không thể hoàn tác.',
      deleteSuccess: 'Đã xóa người dùng "{username}"',
      deleteFailed: "Xóa người dùng thất bại",
      editHeading: "Chỉnh sửa {username}",
      updateSuccess: "Đã cập nhật người dùng",
      updateFailed: "Cập nhật người dùng thất bại",
      cannotRemoveOwnAdmin: "Không thể xóa vai trò quản trị của chính bạn",
      resetPasswordHeading: "Đặt lại mật khẩu cho {username}",
      newPasswordLabel: "Mật khẩu mới (tối thiểu 8 ký tự)",
      resetPasswordButton: "Đặt lại mật khẩu",
      resetPasswordWarning:
        "Thao tác này sẽ vô hiệu hóa tất cả phiên và khóa API của người dùng này.",
      resetSuccess: "Đã đặt lại mật khẩu thành công",
      resetFailed: "Đặt lại mật khẩu thất bại",
      tableHeaderUser: "Người dùng",
      tableHeaderRole: "Vai trò",
      tableHeaderTeam: "Nhóm",
      noSearchResults: "Không có thành viên phù hợp với tìm kiếm.",
      noUsersFound: "Không tìm thấy người dùng.",
      authBadgeLocalOidc: "Nội bộ + OIDC",
      authBadgeOidc: "OIDC",
      editRoleTeamAction: "Chỉnh sửa vai trò / Nhóm",
      resetPasswordAction: "Đặt lại mật khẩu",
      deleteUserAction: "Xóa người dùng",
      saveButton: "Lưu",
      copyPasswordButton: "Sao chép mật khẩu",
      passwordCopied: "Đã sao chép!",
      copyPasswordWarning:
        "Sao chép mật khẩu này ngay bây giờ. Bạn sẽ không thể xem lại sau khi tạo người dùng.",
    },
    teams: {
      heading: "Nhóm",
      description: "Tổ chức thành viên thành nhóm để quản lý tốt hơn.",
      createButton: "Tạo nhóm mới",
      newTeamHeading: "Nhóm mới",
      teamNamePlaceholder: "Tên nhóm",
      createSubmitButton: "Tạo",
      cancelButton: "Hủy",
      createSuccess: "Đã tạo nhóm thành công",
      createFailed: "Tạo nhóm thất bại",
      duplicateTeamError: "Đã tồn tại nhóm có tên này",
      renameSuccess: "Đã đổi tên nhóm",
      renameFailed: "Đổi tên nhóm thất bại",
      deleteConfirm: 'Xóa nhóm "{name}"? Thành viên sẽ bị bỏ phân công.',
      deleteSuccess: 'Đã xóa nhóm "{name}"',
      deleteFailed: "Xóa nhóm thất bại",
      cannotDeleteDefault: "Không thể xóa nhóm mặc định hoặc nhóm có thành viên",
      tableHeaderTeamName: "Tên nhóm",
      tableHeaderMembers: "Thành viên",
      emptyState: "Không tìm thấy nhóm.",
      renameSaveButton: "Lưu",
      renameCancelButton: "Hủy",
      renameAction: "Đổi tên",
      deleteAction: "Xóa",
      totalMembers: "Tổng thành viên",
      nameRequired: "Tên nhóm là bắt buộc",
      nameTooLong: "Tên nhóm phải tối đa 50 ký tự",
      duplicateName: "Đã tồn tại nhóm có tên này",
      teamStorageQuota: "Hạn mức lưu trữ (MB)",
      teamStorageQuotaDesc:
        "Dung lượng lưu trữ tối đa cho nhóm này tính bằng MB. Để trống nếu không giới hạn.",
      teamRetentionHours: "Lưu giữ (giờ)",
      teamRetentionHoursDesc:
        "Thời gian lưu giữ tệp xử lý cho nhóm này. Để trống để dùng mặc định chung.",
      quotaSaved: "Đã lưu cài đặt nhóm",
    },
    roles: {
      heading: "Vai trò",
      description: "Quản lý vai trò và quyền. Vai trò tích hợp không thể sửa đổi.",
      createButton: "Tạo vai trò tùy chỉnh",
      newRoleHeading: "Vai trò mới",
      roleNamePlaceholder: "Tên vai trò",
      descriptionPlaceholder: "Mô tả (tùy chọn)",
      permissionsLabel: "Quyền",
      createSubmitButton: "Tạo",
      cancelButton: "Hủy",
      createSuccess: "Đã tạo vai trò thành công",
      createFailed: "Tạo vai trò thất bại",
      duplicateRoleError: "Đã tồn tại vai trò có tên này",
      editHeading: "Chỉnh sửa vai trò: {name}",
      editSaveButton: "Lưu",
      editCancelButton: "Hủy",
      updateSuccess: "Đã cập nhật vai trò",
      updateFailed: "Cập nhật vai trò thất bại",
      deleteConfirm: 'Xóa vai trò "{name}"? {count} người dùng sẽ cần được phân công lại.',
      deleteConfirmSimple: 'Xóa vai trò "{name}"?',
      deleteSuccess: 'Đã xóa vai trò "{name}"',
      deleteFailed: "Xóa vai trò thất bại",
      emptyState: "Không tìm thấy vai trò.",
      builtInBadge: "Tích hợp",
      userCountBadge: "{count} người dùng",
      editRoleTitle: "Chỉnh sửa vai trò",
      deleteRoleTitle: "Xóa vai trò",
      permGroup: {
        tools: "Công cụ",
        files: "Tệp",
        apiKeys: "Khóa API",
        pipelines: "Pipeline",
        settings: "Cài đặt",
        users: "Người dùng",
        teams: "Nhóm",
        system: "Hệ thống",
      },
    },
    auditLog: {
      heading: "Nhật ký kiểm tra",
      allActionsFilter: "Tất cả hành động",
      emptyState: "Không có mục nhật ký kiểm tra.",
      tableHeaderTime: "Thời gian",
      tableHeaderUser: "Người dùng",
      tableHeaderAction: "Hành động",
      tableHeaderTarget: "Mục tiêu",
      paginationInfo: "Trang {page} / {totalPages} ({total} mục)",
      previousButton: "Trước",
      nextButton: "Tiếp",
      justNow: "vừa xong",
      minutesAgo: "{mins} phút trước",
      hoursAgo: "{hrs} giờ trước",
      daysAgo: "{days} ngày trước",
    },
    usage: {
      heading: "Sử dụng",
      description: "Thống kê sử dụng cục bộ từ công việc và lưu trữ tệp.",
      periodLabel: "Khoảng thời gian",
      days7: "7 ngày",
      days30: "30 ngày",
      days90: "90 ngày",
      jobsPerDayHeading: "Công việc mỗi ngày",
      topToolsHeading: "Công cụ hàng đầu",
      perUserHeading: "Lượng theo người dùng",
      durationsHeading: "Phân vị thời lượng",
      noData: "Không có dữ liệu cho khoảng thời gian này.",
      dayColumn: "Ngày",
      totalColumn: "Tổng",
      completedColumn: "Hoàn thành",
      failedColumn: "Thất bại",
      toolColumn: "Công cụ",
      runsColumn: "Lần chạy",
      userColumn: "Người dùng",
      bytesInColumn: "Byte vào",
      poolColumn: "Nhóm",
      p50Column: "p50",
      p95Column: "p95",
      storageHeading: "Lưu trữ thư viện",
      storageFiles: "{count} tệp",
      unknownUser: "(không rõ)",
      storageByTeam: "Lưu trữ theo nhóm",
      teamColumn: "Nhóm",
      storageColumn: "Lưu trữ",
      usersColumn: "Người dùng",
    },
    apiKeys: {
      heading: "Khóa API",
      description: "Quản lý khóa API để truy cập SnapOtter theo chương trình.",
      keyNamePlaceholder: "Tên khóa (tùy chọn)",
      generateButton: "Tạo khóa API",
      removeScopingLabel: "Bỏ giới hạn quyền",
      restrictPermissionsLabel: "Hạn chế quyền (tùy chọn)",
      expiresLabel: "Hết hạn:",
      clearButton: "Xóa",
      copyTitle: "Sao chép",
      keyWarning: "Lưu trữ khóa này an toàn. Khóa sẽ không được hiển thị lại.",
      existingKeysHeading: "Khóa hiện có",
      createdPrefix: "Đã tạo {date}",
      scopedPrefix: "Phạm vi:",
      expiresPrefix: "Hết hạn {date}",
      deleteKeyTitle: "Xóa khóa",
      deleteConfirm: "Xóa khóa API này? Mọi tích hợp sử dụng khóa này sẽ ngừng hoạt động.",
      emptyState: "Chưa có khóa API. Tạo một khóa để bắt đầu.",
    },
    tools: {
      heading: "Công cụ",
      description: "Bật hoặc tắt từng công cụ. Công cụ bị tắt sẽ bị ẩn khỏi tất cả người dùng.",
      restartBanner: "Cần khởi động lại để thay đổi có hiệu lực.",
      searchPlaceholder: "Tìm kiếm công cụ...",
      noSearchResults: "Không có công cụ phù hợp với tìm kiếm.",
      loadFailedError: "Tải cài đặt công cụ thất bại. Lưu bị vô hiệu hóa để tránh mất dữ liệu.",
      saveButton: "Lưu cài đặt công cụ",
      disabledCount: "{count} công cụ bị tắt",
    },
    experimental: {
      label: "Bật công cụ thử nghiệm",
      description: "Hiển thị các công cụ đang phát triển. Chúng có thể không ổn định.",
    },
    fileManagement: {
      title: "Quản lý tệp",
      maxAge: "Thời gian lưu tệp tối đa (giờ)",
      maxAgeDescription: "Thời gian lưu giữ tệp đã xử lý trước khi tự động dọn dẹp",
      startupCleanup: "Dọn dẹp khi khởi động",
      startupCleanupDescription: "Dọn dẹp tệp tạm cũ khi máy chủ khởi động",
    },
    dataRetention: {
      title: "Lưu giữ dữ liệu",
      fileMaxAgeHours: "Lưu giữ tệp xử lý (giờ)",
      fileMaxAgeHoursDesc: "Thời gian giữ tệp đã tải lên và xử lý. Mặc định: 72 giờ.",
      jobsRetentionDays: "Lưu giữ bản ghi công việc (ngày)",
      jobsRetentionDaysDesc:
        "Thời gian giữ siêu dữ liệu công việc. 0 = giữ mãi. Mặc định: 30 ngày.",
      auditRetentionDays: "Lưu giữ nhật ký kiểm tra (ngày)",
      auditRetentionDaysDesc:
        "Thời gian giữ các mục nhật ký kiểm tra. 0 = giữ mãi. Mặc định: vĩnh viễn.",
    },
    aiFeatures: {
      title: "Tính năng AI",
      description: "Quản lý các gói mô hình AI cho xử lý tệp nâng cao.",
      installAll: "Cài đặt tất cả",
      diskUsage: "Dung lượng đĩa: {size}",
      installed: "Đã cài đặt",
      notInstalled: "Chưa cài đặt",
      queued: "Đang chờ",
      install: "Cài đặt",
      repair: "Sửa chữa",
      uninstall: "Gỡ cài đặt",
      installing: "Đang cài đặt...",
      importBundle: "Nhập gói",
      importDescription: "Tải lên tệp lưu trữ .tar.gz được xuất từ bản cài đặt khác.",
      importButton: "Nhập từ tệp",
      importing: "Đang nhập...",
      importSuccess: "Đã nhập gói thành công.",
      importError: "Nhập gói thất bại: {error}",
    },
    about: {
      heading: "Giới thiệu",
      appName: "SnapOtter",
      appDescription:
        "Bộ công cụ xử lý tệp tự lưu trữ, ưu tiên quyền riêng tư với 157 công cụ. Chuyển đổi, nén, chỉnh sửa, phiên âm, OCR và tự động hóa quy trình xử lý ảnh, video, âm thanh, tài liệu và dữ liệu mà không cần gửi dữ liệu lên đám mây.",
      versionLabel: "Phiên bản:",
      linksHeading: "Liên kết",
      githubLink: "Kho mã nguồn GitHub",
      docsLink: "Tài liệu",
      apiRefLink: "Tham chiếu API (Swagger)",
      licenseLabel: "Giấy phép:",
      licenseDescription:
        "SnapOtter là phần mềm mã nguồn mở được cấp phép theo GNU Affero General Public License v3 (AGPLv3).",
    },
  },
  auth: {
    login: "Đăng nhập",
    logout: "Đăng xuất",
    username: "Tên đăng nhập",
    password: "Mật khẩu",
    loginButton: "Đăng nhập",
    loggingIn: "Đang đăng nhập...",
    invalidCredentials: "Tên đăng nhập hoặc mật khẩu không đúng",
    connectionError: "Lỗi kết nối",
    signInWith: "Đăng nhập với {provider}",
    signInWithSso: "Đăng nhập với SSO",
    or: "hoặc",
    methodLocal: "Nội bộ",
    methodOidc: "OIDC",
    methodBoth: "Nội bộ + OIDC",
    oidcAuthFailed: "Xác thực thất bại. Vui lòng thử lại.",
    oidcProviderUnreachable: "Không thể kết nối với nhà cung cấp danh tính. Vui lòng thử lại sau.",
    oidcSessionExpired: "Phiên đăng nhập đã hết hạn. Vui lòng thử lại.",
    oidcUserNotAuthorized:
      "Tài khoản của bạn không được phép truy cập ứng dụng này. Liên hệ quản trị viên.",
    oidcUserLimitReached: "Đã đạt giới hạn người dùng. Liên hệ quản trị viên.",
    oidcGenericError: "Lỗi xác thực. Vui lòng thử lại.",
    samlAuthFailed: "Xác thực SAML thất bại. Vui lòng thử lại.",
    samlUserNotAuthorized:
      "Tài khoản của bạn không được phép truy cập ứng dụng này. Liên hệ quản trị viên.",
    samlUserLimitReached: "Đã đạt giới hạn người dùng. Liên hệ quản trị viên.",
    ssoEnforcedLocalRestricted: "Đăng nhập cục bộ chỉ dành cho quản trị viên được ủy quyền.",
    mfaRequired: "Nhập mã xác thực của bạn",
    mfaRecoveryHint: "Bạn cũng có thể dùng mã khôi phục",
    verify: "Xác minh",
    verifying: "Đang xác minh...",
    mfaInvalidCode: "Mã không hợp lệ. Vui lòng thử lại.",
    mfaEnrollmentRequired:
      "Tổ chức của bạn yêu cầu xác thực đa yếu tố. Vui lòng thiết lập MFA trong cài đặt tài khoản.",
    methodSaml: "SAML",
    passwordManagedByProvider: "Việc đổi mật khẩu được quản lý bởi nhà cung cấp danh tính của bạn.",
    enterUsername: "Nhập tên đăng nhập",
    enterPassword: "Nhập mật khẩu của bạn",
    heroTitle: "Tệp của bạn. Thuộc về bạn.",
    heroSubtitle: "Mọi công cụ bạn cần.",
    rotatingPhrases: [
      "Không cần đăng ký. Không cần tài khoản.",
      "Không tải lên đám mây. Tuyệt đối không.",
      "100% xử lý ngay trên máy bạn.",
      "Miễn phí. Mãi mãi.",
      "Không giới hạn. Không ẩn giấu.",
      "Hoạt động hoàn toàn ngoại tuyến.",
      "Xử lý hàng loạt không giới hạn.",
      "157 công cụ.",
      "15 mô hình AI. Chạy trên phần cứng của bạn.",
      "Nhanh như chớp. Xây dựng trên Sharp.",
      "Sẵn sàng cho môi trường cách ly mạng.",
      "Chỉ một container Docker.",
      "Mã nguồn mở. Luôn luôn.",
      "Mọi pixel đều ở trên phần cứng của bạn.",
      "Máy chủ của bạn. Quy tắc của bạn.",
      "Triển khai chỉ với một lệnh docker pull.",
      "Giải pháp thay thế tự lưu trữ.",
      "Thay đổi kích thước, nén, chuyển đổi. Ngay tại máy.",
      "Trình chỉnh sửa ảnh miễn phí. Không hình mờ.",
      "Xử lý tệp hàng loạt. Không giới hạn.",
      "Xóa nền ngay trên máy.",
      "Thay thế Canva tự lưu trữ.",
      "Không cần khóa API.",
      "Tuân thủ GDPR theo thiết kế.",
      "Hoạt động không cần Internet.",
    ],
  },
  changePassword: {
    title: "Đổi mật khẩu của bạn",
    description:
      "Bạn cần đặt mật khẩu mới trước khi tiếp tục. Mật khẩu phải có ít nhất 8 ký tự bao gồm chữ hoa, chữ thường và số.",
    usernameLabel: "Tên đăng nhập",
    currentPasswordLabel: "Mật khẩu hiện tại",
    currentPasswordPlaceholder: "Nhập mật khẩu hiện tại",
    newPasswordLabel: "Mật khẩu mới",
    generateButton: "Tạo mật khẩu mạnh",
    newPasswordPlaceholder: "Ít nhất 8 ký tự",
    confirmPasswordLabel: "Xác nhận mật khẩu mới",
    confirmPasswordPlaceholder: "Nhập lại mật khẩu mới",
    passwordsMismatch: "Mật khẩu không khớp",
    failedError: "Đổi mật khẩu thất bại",
    connectionError: "Lỗi kết nối",
    changingButton: "Đang đổi...",
    changeButton: "Đổi mật khẩu",
    sidebarTitle: "Sắp xong rồi",
    sidebarDescription: "Đặt mật khẩu mạnh để bảo mật tài khoản, sau đó bạn có thể sử dụng ngay.",
  },
  automate: {
    title: "Tự động hóa",
    invalidPipelineFile: "Không phải tệp Pipeline SnapOtter hợp lệ",
    newerVersion: "Pipeline này được tạo với phiên bản SnapOtter mới hơn",
    missingName: "Tệp Pipeline thiếu tên",
    noSteps: "Tệp Pipeline không có bước nào",
    importFailed: "Nhập thất bại",
    couldNotRead: "Không thể đọc tệp Pipeline",
    fileCount: "{count} tệp",
    fileCountPlural: "{count} tệp",
    importFromLibrary: "Nhập từ thư viện",
    addButton: "+ Thêm",
    libraryButton: "Thư viện",
    clearButton: "Xóa",
    processingFailed: "Xử lý thất bại cho tệp này",
    processingMultiple: "Đang xử lý {count} tệp...",
    processingPipeline: "Đang xử lý Pipeline...",
    processButton: "Xử lý",
    processButtonMultiple: "Xử lý ({count})",
    processAllButton: "Xử lý tất cả ({count})",
    addTool: "Thêm công cụ",
    toolPalette: "Bảng công cụ",
    clickToAdd: "Nhấp để thêm vào Pipeline",
    savedLabel: "Đã lưu",
    importButton: "Nhập",
    noSavedPipelines: "Không có Pipeline đã lưu",
    stepCount: "({count} bước)",
    stepCountPlural: "({count} bước)",
    exportPipeline: "Xuất Pipeline",
    deletePipeline: "Xóa Pipeline",
    moreCount: "+{count} khác",
    pipelineBuilder: "Trình xây dựng Pipeline",
    addToolsPrompt: "Thêm công cụ từ bảng công cụ để bắt đầu",
    stepsConfigured: "{count} bước đã cấu hình",
    stepsConfiguredPlural: "{count} bước đã cấu hình",
    noFilesLoaded: "Chưa tải tệp nào",
    downloadZip: "Tải xuống ZIP",
    saveButton: "Lưu",
    pipelineNamePlaceholder: "Tên Pipeline",
    descriptionPlaceholder: "Mô tả",
    savingIndicator: "...",
    cancelButton: "Hủy",
    preview: "Xem trước",
    previousImage: "Tệp trước",
    nextImage: "Tệp tiếp theo",
    imageCounter: "{current} / {total}",
    imageArea: "Vùng xem trước",
    templateSocialMedia: "Sẵn sàng cho mạng xã hội",
    templatePrivacyClean: "Dọn dẹp quyền riêng tư",
    templateWebOptimization: "Tối ưu cho Web",
    templateProfilePicture: "Ảnh đại diện",
    templateWatermarkBatch: "Hình mờ hàng loạt",
    createNew: "Tạo tự động hóa mới",
    savedAutomations: "Tự động hóa đã lưu",
    templates: "Mẫu",
    addStep: "Thêm bước",
    removeStep: "Xóa",
    moveUp: "Di chuyển lên",
    moveDown: "Di chuyển xuống",
    savePipeline: "Lưu Pipeline",
    runPipeline: "Xử lý",
    pipelineName: "Tên Pipeline",
    pipelineDescription: "Mô tả (tùy chọn)",
    noStepsPrompt: "Thêm các bước để xây dựng tự động hóa",
    noStepsHeading: "Chưa có bước nào",
    searchToolsPlaceholder: "Tìm công cụ...",
    step: "Bước",
    modalityWarning: "Không tương thích loại",
    modalityWarningTooltip:
      "Bước này cần {expected} nhưng nhận {received}; có thể không thành công khi bạn chạy quy trình.",
  },
  nav: {
    tools: "Công cụ",
    reader: "Đọc",
    automate: "Tự động hóa",
    editor: "Chỉnh sửa",
    files: "Tệp",
    help: "Trợ giúp",
    settings: "Cài đặt",
    grid: "Lưới",
  },
  files: {
    myFiles: "Tệp của tôi",
    recentTab: "Gần đây",
    uploadTab: "Tải tệp lên",
    fileDetailsAriaLabel: "Chi tiết tệp",
    fileDetailsHeading: "Chi tiết tệp",
    searchPlaceholder: "Tìm tệp...",
    selectedCount: "Đã chọn {count}",
    fileCount: "{count} tệp",
    fileCountSingular: "{count} tệp",
    noFilesFound: "Không tìm thấy tệp",
    selectFilePrompt: "Chọn tệp để xem chi tiết",
    openFile: "Mở tệp",
    selectFile: "Chọn tệp",
    openInPipeline: "Mở trong quy trình",
    dropFilesHere: "Thả tệp vào đây",
    orClickToSelect: "hoặc nhấn để chọn tệp",
    name: "Tên",
    format: "Định dạng",
    size: "Dung lượng",
    dimensions: "Kích thước",
    version: "Phiên bản",
    toolsUsed: "Công cụ đã dùng",
    none: "Không có",
    delete: "Xóa",
    pipeline: "Pipeline",
    download: "Tải xuống",
  },
  dropzone: {
    unsupportedFileType: "Loại tệp này không được công cụ này hỗ trợ",
    urlFetchFailed: "Không thể tải ảnh từ URL",
    ariaLabel: "Vùng thả tệp",
    dropPrompt: "Kéo thả hình ảnh vào đây",
    browseOrPaste: "nhấp để duyệt hoặc dán từ bộ nhớ tạm",
    uploadButton: "Tải lên",
    defaultFormats: "PNG, JPG, WebP, HEIC, RAW, PSD và hơn 65 định dạng",
    orSeparator: "hoặc",
    urlPlaceholder: "Dán URL hình ảnh...",
    urlLoadingIndicator: "...",
    addUrlButton: "Thêm",
    importMultipleUrls: "Nhập nhiều URL...",
    filesSelected: "Đã chọn {count} tệp",
    dropToAdd: "Thả để thêm tệp",
    dropToReplace: "Thả để thay thế tệp",
  },
  reviewPanel: {
    processedResultAlt: "Kết quả đã xử lý",
    sizeLabel: "Dung lượng: {size}",
    typeLabel: "Loại: {type}",
    processedLabel: "Đã xử lý: {time}",
    undoButton: "Hoàn tác",
    downloadButton: "Tải xuống",
    openInEditor: "Mở trong trình chỉnh sửa",
    reviewHeading: "Xem lại",
    continueEditing: "Tiếp tục chỉnh sửa",
  },
  features: {
    notEnabledTitle: "Tính năng chưa được bật",
    notEnabledDescription:
      "Tính năng này chưa được bật. Hãy yêu cầu quản trị viên bật trong Cài đặt.",
    requiresDownload: "Tính năng này cần tải thêm (~{size})",
    retryButton: "Thử lại",
    queued: "Đang xếp hàng để cài đặt...",
    enableButton: "Bật {name}",
    repairRequired: "Cần sửa chữa",
    repairDescription: "Một số tệp mô hình bị thiếu hoặc hỏng. Sửa chữa sẽ tải lại chúng.",
    repairButton: "Sửa chữa {name}",
    lessThanMinute: "Còn chưa đầy một phút",
    oneMinuteLeft: "Còn khoảng 1 phút",
    minutesLeft: "Còn khoảng {mins} phút",
    progressMessages: [
      "Sắp xong rồi... có lẽ thế...",
      "Của ngon phải chờ...",
      "Vẫn nhanh hơn đợi sơn khô...",
      "Sự kiên nhẫn của bạn thật đáng ngưỡng mộ...",
      "Đang làm việc chăm chỉ hơn vẻ ngoài...",
      "Đây là phần hấp dẫn nhất đấy, tin đi...",
      "Đang xử lý những thứ quan trọng phía sau...",
      "Nếu bạn đang đọc dòng này, nghĩa là đang hoạt động...",
      "Đang chuẩn bị điều tuyệt vời...",
      "Xứng đáng với từng giây chờ đợi, hứa đấy...",
      "Sự hồi hộp cũng là một phần trải nghiệm...",
      "Đang dạy máy tính của bạn kỹ năng mới...",
      "Đang thiết lập siêu năng lực cho bạn...",
      "Tệp của bạn sẽ cảm ơn bạn sau...",
      "Đang tải... nhưng kiểu sang chảnh...",
      "Lúc này pha cà phê uống cũng hay phết...",
      "Thành Rome cũng không xây trong một ngày...",
      "Suỵt... thiên tài đang làm việc...",
      "Đang khiến dự án của bạn ghen tị với điều sắp tới...",
      "Đang tập hợp đội ngũ trong mơ...",
      "Đang mở gói quà tuyệt vời...",
      "Sắp xong phần suy nghĩ... đùa thôi...",
      "Bất ngờ: thực ra đang làm việc thật đấy...",
      "Đang khởi động động cơ sáng tạo...",
      "Trí tưởng tượng đang tải...",
      "Không phải màn hình chờ đâu, hứa đấy...",
      "Nghệ thuật đỉnh cao cần thời gian để cài đặt...",
      "Bản thân tương lai của bạn sẽ cảm ơn...",
      "Đang tải về những tệp thông minh...",
      "Giữ vững tinh thần, điều tốt nhất sắp đến...",
    ],
  },
  help: {
    heading: "Trợ giúp",
    gettingStarted: {
      heading: "Bắt đầu",
      description:
        "Chọn một công cụ từ thanh bên hoặc tìm kiếm. Tải lên tệp bằng cách kéo thả vào trang hoặc nhấp vào vùng tải lên. Điều chỉnh cài đặt và tải xuống kết quả.",
    },
    keyboardShortcuts: {
      heading: "Phím tắt",
      focusSearchBar: "Lấy nét thanh tìm kiếm",
      goToTools: "Đến công cụ",
      toggleTheme: "Chuyển đổi giao diện",
      goToResize: "Đến Thay đổi kích thước",
      goToCrop: "Đến Cắt ảnh",
      goToCompress: "Đến Nén ảnh",
      goToConvert: "Đến Chuyển đổi",
      goToRemoveBackground: "Đến Xóa nền",
      goToWatermarkText: "Đến Hình mờ văn bản",
      goToStripMetadata: "Đến Xóa siêu dữ liệu",
      goToImageInfo: "Đến Thông tin ảnh",
      processFile: "Xử lý tệp",
      downloadResult: "Tải kết quả",
    },
    resources: {
      heading: "Tài nguyên",
      githubLink: "Kho mã nguồn GitHub",
      reportIssueLink: "Báo cáo lỗi",
      docsLink: "Tài liệu",
      apiRefLink: "Tham chiếu API (Swagger)",
    },
    versionLabel: "SnapOtter v{version}",
  },
  errors: {
    generic: "Đã xảy ra lỗi",
    offline: "Bạn đang ngoại tuyến",
    reconnecting: "Đang kết nối lại với máy chủ...",
    connected: "Đã kết nối",
    processingFailed: "Xử lý thất bại cho tệp này",
    timeout: "Yêu cầu đã hết thời gian. Máy chủ có thể đang quá tải. Vui lòng thử lại.",
    networkError: "Lỗi mạng. Kiểm tra kết nối của bạn.",
    invalidCredentials: "Tên đăng nhập hoặc mật khẩu không đúng",
    connectionError: "Lỗi kết nối",
  },
  sidebar: {
    tools: "Công cụ",
    grid: "Lưới",
    automate: "Tự động hóa",
    editor: "Chỉnh sửa",
    files: "Tệp",
    help: "Trợ giúp",
    settings: "Cài đặt",
  },
  toolCard: {
    addToFavourites: "Thêm vào yêu thích",
  },
  appLayout: {
    mobileNavTools: "Công cụ",
    mobileNavAutomate: "Tự động hóa",
    mobileNavEditor: "Chỉnh sửa",
    mobileNavFiles: "Tệp",
    mobileNavSettings: "Cài đặt",
  },
  a11y: {
    skipToContent: "Chuyển đến nội dung chính",
    openSidebar: "Mở thanh bên",
    closeSidebar: "Đóng thanh bên",
    closeSettings: "Đóng cài đặt",
    closeHelp: "Đóng trợ giúp",
    closeDialog: "Đóng hộp thoại",
    zoomIn: "Phóng to",
    zoomOut: "Thu nhỏ",
    fitToView: "Vừa khung nhìn",
    actualSize: "Kích thước thực",
    pan: "Di chuyển",
    previousImage: "Tệp trước",
    nextImage: "Tệp tiếp theo",
    imageArea: "Vùng xem trước",
    imageViewer: "Trình xem tệp",
    fileDropZone: "Vùng thả tệp",
    imageDropZone: "Vùng thả tệp",
    beforeAfterSlider: "Thanh trượt so sánh trước/sau",
    imageControls: "Điều khiển xem trước",
    zoomControls: "Điều khiển thu phóng",
    dragToReorder: "Kéo để sắp xếp lại",
    whiteBackground: "Nền trắng",
    blackBackground: "Nền đen",
    expandPanel: "Mở rộng bảng",
    collapsePanel: "Thu gọn bảng",
    swapDimensions: "Đổi kích thước",
    applyCrop: "Áp dụng cắt",
    cancelCrop: "Hủy cắt",
    fontFamily: "Phông chữ",
    textColor: "Màu chữ",
    flipHorizontal: "Lật ngang",
    flipVertical: "Lật dọc",
    hexColorValue: "Giá trị màu HEX",
    backgroundColor: "Màu nền",
    foregroundColor: "Màu tiền cảnh",
    swapColors: "Đổi màu tiền cảnh và nền",
    resetColors: "Đặt lại màu đen trắng mặc định",
    foregroundHex: "Giá trị HEX màu tiền cảnh",
    undo: "Hoàn tác",
    redo: "Làm lại",
    layers: "Lớp",
    addLayer: "Thêm lớp",
    deleteLayer: "Xóa lớp",
    cancelOperation: "Hủy thao tác",
    fill: "Tô",
    fileDetails: "Chi tiết tệp",
    language: "Ngôn ngữ",
    selected: "Đã chọn",
    deleteKey: "Xóa khóa",
    editRole: "Sửa vai trò",
    deleteRole: "Xóa vai trò",
    notInstalled: "Chưa cài đặt",
    queued: "Đang chờ cài đặt",
    installing: "Đang cài đặt",
    imageNOfTotal: "Ảnh {n} / {total}",
    processingComplete: "Xử lý ảnh thành công",
    processingFailed: "Xử lý thất bại",
    settingsDialog: "Cài đặt",
    helpDialog: "Trợ giúp",
    navigationMenu: "Điều hướng",
    homeLink: "Trang chủ SnapOtter",
  },
} as const;
