Importing and setting the Vietnamese locale.

import { locale } from 'filepond/locales/vi-vn.js';

defineFilePond({
    locale,
});

Labels in the vi-vn.js file.


export const core = {
  abort: "Hủy",
  remove: "Xóa",
  reset: "Đặt lại",
  undo: "Hoàn tác",
  cancel: "Hủy bỏ",
  store: "Lưu",
  revert: "Khôi phục",
  busy: "Đang bận",
  loading: "Đang tải",
  error: "Lỗi",
  warning: "Cảnh báo",
  success: "Thành công",
  info: "Thông tin",
  system: "Hệ thống",
  fileMainTypeImage: "hình ảnh",
  fileMainTypeVideo: "video",
  fileMainTypeAudio: "âm thanh",
  fileMainTypeApplication: "tệp",
  assistAbort: "Chạm để hủy",
  assistUndo: "Chạm để hoàn tác",
  loadError: "Không thể tải tệp.",
  loadDataTranserProgress: "Đang tải tệp",
  loadDataTranserInfo: "Đã xử lý {{processedFiles}} / {{totalFiles}} tệp",
  validationInvalid: "Tệp không hợp lệ.",
  validationFileNameMissing: "Thiếu tên tệp",
  validationInvalidEntries: "Danh sách tệp chứa mục không hợp lệ.",
  validationInvalidState: "Danh sách tệp không hợp lệ.",
  validationInvalidBusy: "Danh sách tệp đang bận.",
  validationInvalidEmpty: "Vui lòng nhập trường này.",
};

export const locale = {
  abort: "Hủy",
  remove: "Xóa",
  reset: "Đặt lại",
  undo: "Hoàn tác",
  cancel: "Hủy bỏ",
  store: "Lưu",
  revert: "Khôi phục",
  busy: "Đang bận",
  loading: "Đang tải",
  error: "Lỗi",
  warning: "Cảnh báo",
  success: "Thành công",
  info: "Thông tin",
  system: "Hệ thống",
  fileMainTypeImage: "hình ảnh",
  fileMainTypeVideo: "video",
  fileMainTypeAudio: "âm thanh",
  fileMainTypeApplication: "tệp",
  assistAbort: "Chạm để hủy",
  assistUndo: "Chạm để hoàn tác",
  loadError: "Không thể tải tệp.",
  loadDataTranserProgress: "Đang tải tệp",
  loadDataTranserInfo: "Đã xử lý {{processedFiles}} / {{totalFiles}} tệp",
  validationInvalid: "Tệp không hợp lệ.",
  validationFileNameMissing: "Thiếu tên tệp",
  validationInvalidEntries: "Danh sách tệp chứa mục không hợp lệ.",
  validationInvalidState: "Danh sách tệp không hợp lệ.",
  validationInvalidBusy: "Danh sách tệp đang bận.",
  validationInvalidEmpty: "Vui lòng nhập trường này.",
  storeRestoreProgress: "Đang tải {{progress}}%",
  storeStorageQueued: "Chờ tải lên",
  storeStorageProgress: "Đang tải lên {{progress}}%",
  storeStorageComplete: "Tải lên hoàn tất",
  storeError: "Không thể lưu tệp.",
  storeAwaitingCompletion: "Chưa lưu xong tất cả tệp.",
  mediaEdit: "Chỉnh sửa",
  mediaPlay: "Phát",
  mediaPause: "Tạm dừng",
  mediaSilent: "Không âm thanh",
  mediaUnmute: "Bật âm thanh",
  mediaMute: "Tắt âm thanh",
  mediaFullscreen: "Toàn màn hình",
  mediaLoadError: "Không thể tải {{fileMainType}}.",
  mediaPlayError: "Không thể phát video.",
  validationFileSizeUnderflow: "Tệp quá nhỏ. Tối thiểu {{minSize}}.",
  validationFileSizeOverflow: "Tệp quá lớn. Tối đa {{maxSize}}.",
  validationFileMimeTypeMismatch: {
    template: "Loại tệp không được phép. {{details}}.",
    variables: {
      details: {
        context: "count",
        map: {
          1: "Tệp phải thuộc loại {{accept}}",
          else: "Các loại được phép: {{accept}}",
        },
      },
    },
  },
  validationFileExtensionMismatch: {
    template: "Phần mở rộng không được phép. {{details}}.",
    variables: {
      details: {
        context: "count",
        map: {
          1: "Tệp phải có phần mở rộng {{accept}}",
          else: "Các phần mở rộng được phép: {{accept}}",
        },
      },
    },
  },
  validationFileNameMismatch: "Tên tệp không hợp lệ.",
  validationMediaSizeUnavailable: "Không đọc được kích thước phương tiện.",
  validationMediaWidthRangeMismatch:
    "Chiều rộng {{fileMainType}} không hợp lệ. Cần trong khoảng {{minWidth}} đến {{maxWidth}} px.",
  validationMediaWidthUnderflow:
    "{{fileMainType}} quá nhỏ. Tối thiểu {{minWidth}} px.",
  validationMediaWidthOverflow:
    "{{fileMainType}} quá lớn. Tối đa {{maxWidth}} px.",
  validationMediaHeightRangeMismatch:
    "Chiều cao {{fileMainType}} không hợp lệ. Cần trong khoảng {{minHeight}} đến {{maxHeight}} px.",
  validationMediaHeightUnderflow:
    "{{fileMainType}} quá nhỏ. Tối thiểu {{minHeight}} px.",
  validationMediaHeightOverflow:
    "{{fileMainType}} quá lớn. Tối đa {{maxHeight}} px.",
  validationMediaResolutionRangeMismatch:
    "Độ phân giải không hợp lệ. Cần trong khoảng {{minResolution}}MP đến {{maxResolution}}MP.",
  validationMediaResolutionUnderflow:
    "Độ phân giải quá thấp. Tối thiểu {{minResolution}}MP.",
  validationMediaResolutionOverflow:
    "Độ phân giải quá cao. Tối đa {{maxResolution}}MP.",
  validationListSizeUnderflow:
    "Tổng dung lượng quá nhỏ. Tối thiểu {{minListSize}}.",
  validationListSizeOverflow:
    "Tổng dung lượng quá lớn. Tối đa {{maxListSize}}.",
  validationListEntryCountUnderflow: {
    template: "Danh sách có quá ít tệp. Tối thiểu {{minFiles}} {{files}}.",
    variables: {
      files: {
        context: "minFiles",
        map: {
          1: "tệp",
          else: "tệp",
        },
      },
    },
  },
  validationListEntryCountOverflow: {
    template: "Danh sách có quá nhiều tệp. Tối đa {{maxFiles}} {{files}}.",
    variables: {
      files: {
        context: "minFiles",
        map: {
          1: "tệp",
          else: "tệp",
        },
      },
    },
  },
  transformEditBusy: "Đang chỉnh sửa dữ liệu tệp",
  transformError: "Không thể chỉnh sửa dữ liệu tệp. Vui lòng thử lại.",
};

export const media = {
  mediaEdit: "Chỉnh sửa",
  mediaPlay: "Phát",
  mediaPause: "Tạm dừng",
  mediaSilent: "Không âm thanh",
  mediaUnmute: "Bật âm thanh",
  mediaMute: "Tắt âm thanh",
  mediaFullscreen: "Toàn màn hình",
  mediaLoadError: "Không thể tải {{fileMainType}}.",
  mediaPlayError: "Không thể phát video.",
};

export const store = {
  storeRestoreProgress: "Đang tải {{progress}}%",
  storeStorageQueued: "Chờ tải lên",
  storeStorageProgress: "Đang tải lên {{progress}}%",
  storeStorageComplete: "Tải lên hoàn tất",
  storeError: "Không thể lưu tệp.",
  storeAwaitingCompletion: "Chưa lưu xong tất cả tệp.",
};

export const transform = {
  transformEditBusy: "Đang chỉnh sửa dữ liệu tệp",
  transformError: "Không thể chỉnh sửa dữ liệu tệp. Vui lòng thử lại.",
};

export const validation = {
  validationFileSizeUnderflow: "Tệp quá nhỏ. Tối thiểu {{minSize}}.",
  validationFileSizeOverflow: "Tệp quá lớn. Tối đa {{maxSize}}.",
  validationFileMimeTypeMismatch: {
    template: "Loại tệp không được phép. {{details}}.",
    variables: {
      details: {
        context: "count",
        map: {
          1: "Tệp phải thuộc loại {{accept}}",
          else: "Các loại được phép: {{accept}}",
        },
      },
    },
  },
  validationFileExtensionMismatch: {
    template: "Phần mở rộng không được phép. {{details}}.",
    variables: {
      details: {
        context: "count",
        map: {
          1: "Tệp phải có phần mở rộng {{accept}}",
          else: "Các phần mở rộng được phép: {{accept}}",
        },
      },
    },
  },
  validationFileNameMissing: "Thiếu tên tệp",
  validationFileNameMismatch: "Tên tệp không hợp lệ.",
  validationMediaSizeUnavailable: "Không đọc được kích thước phương tiện.",
  validationMediaWidthRangeMismatch:
    "Chiều rộng {{fileMainType}} không hợp lệ. Cần trong khoảng {{minWidth}} đến {{maxWidth}} px.",
  validationMediaWidthUnderflow:
    "{{fileMainType}} quá nhỏ. Tối thiểu {{minWidth}} px.",
  validationMediaWidthOverflow:
    "{{fileMainType}} quá lớn. Tối đa {{maxWidth}} px.",
  validationMediaHeightRangeMismatch:
    "Chiều cao {{fileMainType}} không hợp lệ. Cần trong khoảng {{minHeight}} đến {{maxHeight}} px.",
  validationMediaHeightUnderflow:
    "{{fileMainType}} quá nhỏ. Tối thiểu {{minHeight}} px.",
  validationMediaHeightOverflow:
    "{{fileMainType}} quá lớn. Tối đa {{maxHeight}} px.",
  validationMediaResolutionRangeMismatch:
    "Độ phân giải không hợp lệ. Cần trong khoảng {{minResolution}}MP đến {{maxResolution}}MP.",
  validationMediaResolutionUnderflow:
    "Độ phân giải quá thấp. Tối thiểu {{minResolution}}MP.",
  validationMediaResolutionOverflow:
    "Độ phân giải quá cao. Tối đa {{maxResolution}}MP.",
  validationListSizeUnderflow:
    "Tổng dung lượng quá nhỏ. Tối thiểu {{minListSize}}.",
  validationListSizeOverflow:
    "Tổng dung lượng quá lớn. Tối đa {{maxListSize}}.",
  validationListEntryCountUnderflow: {
    template: "Danh sách có quá ít tệp. Tối thiểu {{minFiles}} {{files}}.",
    variables: {
      files: {
        context: "minFiles",
        map: {
          1: "tệp",
          else: "tệp",
        },
      },
    },
  },
  validationListEntryCountOverflow: {
    template: "Danh sách có quá nhiều tệp. Tối đa {{maxFiles}} {{files}}.",
    variables: {
      files: {
        context: "minFiles",
        map: {
          1: "tệp",
          else: "tệp",
        },
      },
    },
  },
};

export const validationFileExtension = {
  validationFileExtensionMismatch: {
    template: "Phần mở rộng không được phép. {{details}}.",
    variables: {
      details: {
        context: "count",
        map: {
          1: "Tệp phải có phần mở rộng {{accept}}",
          else: "Các phần mở rộng được phép: {{accept}}",
        },
      },
    },
  },
};

export const validationFileMimeType = {
  validationFileMimeTypeMismatch: {
    template: "Loại tệp không được phép. {{details}}.",
    variables: {
      details: {
        context: "count",
        map: {
          1: "Tệp phải thuộc loại {{accept}}",
          else: "Các loại được phép: {{accept}}",
        },
      },
    },
  },
};

export const validationFileName = {
  validationFileNameMissing: "Thiếu tên tệp",
  validationFileNameMismatch: "Tên tệp không hợp lệ.",
};

export const validationFileSize = {
  validationFileSizeUnderflow: "Tệp quá nhỏ. Tối thiểu {{minSize}}.",
  validationFileSizeOverflow: "Tệp quá lớn. Tối đa {{maxSize}}.",
};

export const validationListCount = {
  validationListEntryCountUnderflow: {
    template: "Danh sách có quá ít tệp. Tối thiểu {{minFiles}} {{files}}.",
    variables: {
      files: {
        context: "minFiles",
        map: {
          1: "tệp",
          else: "tệp",
        },
      },
    },
  },
  validationListEntryCountOverflow: {
    template: "Danh sách có quá nhiều tệp. Tối đa {{maxFiles}} {{files}}.",
    variables: {
      files: {
        context: "minFiles",
        map: {
          1: "tệp",
          else: "tệp",
        },
      },
    },
  },
};

export const validationListSize = {
  validationListSizeUnderflow:
    "Tổng dung lượng quá nhỏ. Tối thiểu {{minListSize}}.",
  validationListSizeOverflow:
    "Tổng dung lượng quá lớn. Tối đa {{maxListSize}}.",
};

export const validationMediaResolution = {
  validationMediaSizeUnavailable: "Không đọc được kích thước phương tiện.",
  validationMediaWidthRangeMismatch:
    "Chiều rộng {{fileMainType}} không hợp lệ. Cần trong khoảng {{minWidth}} đến {{maxWidth}} px.",
  validationMediaWidthUnderflow:
    "{{fileMainType}} quá nhỏ. Tối thiểu {{minWidth}} px.",
  validationMediaWidthOverflow:
    "{{fileMainType}} quá lớn. Tối đa {{maxWidth}} px.",
  validationMediaHeightRangeMismatch:
    "Chiều cao {{fileMainType}} không hợp lệ. Cần trong khoảng {{minHeight}} đến {{maxHeight}} px.",
  validationMediaHeightUnderflow:
    "{{fileMainType}} quá nhỏ. Tối thiểu {{minHeight}} px.",
  validationMediaHeightOverflow:
    "{{fileMainType}} quá lớn. Tối đa {{maxHeight}} px.",
  validationMediaResolutionRangeMismatch:
    "Độ phân giải không hợp lệ. Cần trong khoảng {{minResolution}}MP đến {{maxResolution}}MP.",
  validationMediaResolutionUnderflow:
    "Độ phân giải quá thấp. Tối thiểu {{minResolution}}MP.",
  validationMediaResolutionOverflow:
    "Độ phân giải quá cao. Tối đa {{maxResolution}}MP.",
};

export const locale = {
  ...core,
  ...media,
  ...store,
  ...transform,
  ...validation,
  ...validationFileExtension,
  ...validationFileMimeType,
  ...validationFileName,
  ...validationFileSize,
  ...validationListCount,
  ...validationListSize,
  ...validationMediaResolution,
};