mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Closes #193. Shapes now support no-fill and no-stroke toggles for drawing outlines or fill-only shapes. Adds RGBA color picker with opacity control, stroke dash styles (solid/dashed/dotted), and i18n for all shape labels.
1995 lines
79 KiB
TypeScript
1995 lines
79 KiB
TypeScript
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...",
|
|
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",
|
|
},
|
|
categories: {
|
|
essentials: "Cơ bản",
|
|
optimization: "Tối ưu hóa",
|
|
adjustments: "Điều chỉnh",
|
|
watermark: "Hình mờ & Lớp phủ",
|
|
utilities: "Tiện ích",
|
|
layout: "Bố cục & Kết hợp",
|
|
format: "Định dạng & Chuyển đổi",
|
|
ai: "Công cụ AI",
|
|
},
|
|
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",
|
|
},
|
|
"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",
|
|
},
|
|
"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",
|
|
},
|
|
"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",
|
|
},
|
|
"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",
|
|
},
|
|
"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",
|
|
},
|
|
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",
|
|
},
|
|
},
|
|
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ờ",
|
|
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",
|
|
},
|
|
"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.",
|
|
},
|
|
"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",
|
|
},
|
|
"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",
|
|
},
|
|
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",
|
|
},
|
|
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",
|
|
},
|
|
"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",
|
|
},
|
|
"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: "Pixel",
|
|
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()",
|
|
},
|
|
"enhance-faces-standalone": {
|
|
model: "Mô hình",
|
|
fast: "Nhanh",
|
|
balanced: "Cân bằng",
|
|
best: "Tốt nhất",
|
|
},
|
|
},
|
|
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: "Ảnh trước",
|
|
nextImage: "Ảnh 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 ảnh",
|
|
},
|
|
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ụ",
|
|
},
|
|
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: "Pixelate",
|
|
pixelate: "Pixelate",
|
|
mosaic: "Khảm",
|
|
},
|
|
stylize: {
|
|
label: "Phong cách hóa",
|
|
emboss: "Dập nổi",
|
|
solarize: "Solarize",
|
|
posterize: "Posterize",
|
|
},
|
|
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: "Shape",
|
|
fill: "Fill",
|
|
stroke: "Stroke",
|
|
strokeWidth: "Width",
|
|
cornerRadius: "Radius",
|
|
sides: "Sides",
|
|
points: "Points",
|
|
dashStyle: "Dash",
|
|
solid: "Solid",
|
|
dashed: "Dashed",
|
|
dotted: "Dotted",
|
|
none: "None",
|
|
opacity: "Opacity",
|
|
rectangle: "Rectangle",
|
|
ellipse: "Ellipse",
|
|
line: "Line",
|
|
arrow: "Arrow",
|
|
polygon: "Polygon",
|
|
star: "Star",
|
|
},
|
|
},
|
|
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",
|
|
apiKeys: "Khóa API",
|
|
aiFeatures: "Tính năng AI",
|
|
tools: "Công cụ",
|
|
productAnalytics: "Phân tích sản phẩm",
|
|
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",
|
|
},
|
|
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.",
|
|
},
|
|
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 chep mat khau",
|
|
passwordCopied: "Da sao chep!",
|
|
copyPasswordWarning:
|
|
"Sao chep mat khau nay ngay bay gio. Ban se khong the xem lai sau khi tao nguoi dung.",
|
|
},
|
|
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",
|
|
},
|
|
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",
|
|
},
|
|
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",
|
|
},
|
|
analytics: {
|
|
heading: "Phân tích sản phẩm",
|
|
description: "Chia sẻ dữ liệu sử dụng ẩn danh để giúp cải thiện SnapOtter.",
|
|
privacyNote: "Hình ảnh của bạn không bao giờ rời khỏi máy.",
|
|
disabledByAdmin: "Phân tích sản phẩm đã bị vô hiệu hóa bởi quản trị viên máy chủ.",
|
|
enabledLabel: "Đã bật phân tích",
|
|
disabledLabel: "Đã tắt phân tích",
|
|
learnMore: "Tìm hiểu thêm",
|
|
},
|
|
aiFeatures: {
|
|
title: "AI Features",
|
|
description: "Manage AI model bundles for advanced image processing.",
|
|
installAll: "Install All",
|
|
diskUsage: "Disk usage:",
|
|
installed: "Installed",
|
|
notInstalled: "Not installed",
|
|
queued: "Queued",
|
|
install: "Install",
|
|
repair: "Repair",
|
|
uninstall: "Uninstall",
|
|
installing: "Installing...",
|
|
},
|
|
about: {
|
|
heading: "Giới thiệu",
|
|
appName: "SnapOtter",
|
|
appDescription:
|
|
"Bộ công cụ xử lý ảnh tự lưu trữ, ưu tiên quyền riêng tư với 51 công cụ. Thay đổi kích thước, nén, chuyển đổi, thêm hình mờ và tự động hóa quy trình xử lý ảnh 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)",
|
|
},
|
|
},
|
|
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.",
|
|
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: "Ảnh của bạn. Thuộc về bạn.",
|
|
heroSubtitle: "Mọi công cụ xử lý ảnh 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.",
|
|
"51 công cụ xử lý ảnh.",
|
|
"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ý ảnh 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: "Ảnh trước",
|
|
nextImage: "Ảnh tiếp theo",
|
|
imageCounter: "{current} / {total}",
|
|
imageArea: "Vùng ảnh",
|
|
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",
|
|
step: "Bước",
|
|
},
|
|
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: {
|
|
recentTab: "Gần đây",
|
|
uploadTab: "Tải lên",
|
|
fileDetailsAriaLabel: "Chi tiết tệp",
|
|
fileDetailsHeading: "Chi tiết tệp",
|
|
},
|
|
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",
|
|
},
|
|
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}",
|
|
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...",
|
|
"Ảnh 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 ảnh 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 hình ảnh 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",
|
|
},
|
|
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",
|
|
},
|
|
analytics: {
|
|
consentTitle: "Giúp cải thiện SnapOtter",
|
|
consentDescription:
|
|
"Thống kê sử dụng ẩn danh giúp chúng tôi sửa lỗi và xây dựng các công cụ bạn thực sự cần. Hình ảnh và tệp của bạn luôn ở trên máy bạn.",
|
|
consentChangeable: "Bạn có thể tắt bất cứ lúc nào trong Cài đặt.",
|
|
acceptButton: "Được thôi, nghe hay đấy",
|
|
declineButton: "Để sau",
|
|
settingsTitle: "Phân tích sản phẩm",
|
|
settingsDescription: "Chia sẻ dữ liệu sử dụng ẩn danh để giúp cải thiện SnapOtter.",
|
|
settingsPrivacy: "Hình ảnh của bạn không bao giờ rời khỏi máy.",
|
|
settingsDisabledByAdmin: "Phân tích sản phẩm đã bị vô hiệu hóa bởi quản trị viên máy chủ.",
|
|
learnMore: "Tìm hiểu thêm",
|
|
},
|
|
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",
|
|
},
|
|
} as const;
|