fix(i18n): polish Vietnamese terminology and parity status

Align Shutter Speed / Smart Preview wording, fix glossary Tint→Tông, and
mark Vietnamese as catalog-complete but partial while lower-layer errors
remain English.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
DUY Tran Nhat (SAE-KIDS)
2026-10-13 18:08:41 +07:00
co-authored by Cursor
parent 07c8e4e68e
commit ebfecdad7b
3 changed files with 37 additions and 35 deletions
+28 -28
View File
@@ -65,7 +65,7 @@
"Add to Album": "Thêm vào album",
"Add to All Selected Photos": "Thêm vào mọi ảnh đã chọn",
"Add to Apple Photos": "Thêm vào Ảnh Apple",
"Add to Favorites": "Thêm vào Yêu thích",
"Add to Favorites": "Thêm vào yêu thích",
"Add to Local": "Thêm vào Cục bộ",
"Add to My Photos": "Thêm vào Ảnh của tôi",
"Add to My Photos First": "Thêm vào Ảnh của tôi trước",
@@ -219,9 +219,9 @@
"Brush Settings": "Cài đặt cọ",
"Brush Stroke": "Nét cọ",
"Build Previews": "Tạo bản xem trước",
"Build Smart Previews": "Tạo smart preview",
"Build Smart Previews": "Tạo xem trước thông minh",
"Building previews": "Đang tạo bản xem trước",
"Building smart previews": "Đang tạo smart preview",
"Building smart previews": "Đang tạo xem trước thông minh",
"By Date": "Theo ngày",
"By day (YYYY/YYYY-MM-DD)": "Theo ngày (YYYY/YYYY-MM-DD)",
"By month (YYYY/YYYY-MM)": "Theo tháng (YYYY/YYYY-MM)",
@@ -358,7 +358,7 @@
"Contrast": "Tương phản",
"Contributors": "Người đóng góp",
"Convert to DNG": "Chuyển sang DNG",
"Convert to DNG, Copy as DNG, Photo Merge and smart previews no longer write straight to the final file (issue": "Chuyển sang DNG, Sao chép dạng DNG, Photo Merge và smart preview không còn ghi thẳng vào tệp cuối (issue",
"Convert to DNG, Copy as DNG, Photo Merge and smart previews no longer write straight to the final file (issue": "Chuyển sang DNG, Sao chép dạng DNG, Photo Merge và xem trước thông minh không còn ghi thẳng vào tệp cuối (issue",
"Cool Fade": "Phai lạnh",
"Cool Morning": "Sáng sớm lạnh",
"Copy": "Sao chép",
@@ -501,7 +501,7 @@
"Develop": "Phát triển",
"Diagonal": "Chéo",
"Discard Preview Cache": "Hủy bộ nhớ đệm xem trước",
"Discarding smart previews": "Đang hủy smart preview",
"Discarding smart previews": "Đang hủy xem trước thông minh",
"Display": "Màn hình",
"Display P3": "Display P3",
"Display Profile": "Hồ sơ màn hình",
@@ -613,7 +613,7 @@
"Exports are never black because of the GPU (issue #78): a GPU render that runs out of device": "Xuất không bao giờ đen vì GPU (issue #78): kết xuất GPU hết tài nguyên thiết bị",
"Export…": "Xuất…",
"Exposure": "Phơi sáng",
"Exposure (shutter · aperture · ISO)": "Phơi sáng (cửa trập · khẩu độ · ISO)",
"Exposure (shutter · aperture · ISO)": "Phơi sáng (màn trập · khẩu độ · ISO)",
"Extended Description": "Mô tả mở rộng",
"External Editing": "Chỉnh sửa ngoài",
"External Editor": "Trình chỉnh sửa ngoài",
@@ -898,7 +898,7 @@
"Join the ArtCraft Discord…": "Tham gia Discord ArtCraft…",
"Join the ArtCraft community on Discord": "Tham gia cộng đồng ArtCraft trên Discord",
"Keep in Local": "Giữ trong Local",
"Keep it on a drive with room: smart previews are about 1 MB per photo. The thumbnail cache stays in the library.": "Giữ trên ổ còn dung lượng: smart preview khoảng 1 MB mỗi ảnh. Bộ nhớ đệm thumbnail nằm trong thư viện.",
"Keep it on a drive with room: smart previews are about 1 MB per photo. The thumbnail cache stays in the library.": "Giữ trên ổ còn dung lượng: xem trước thông minh khoảng 1 MB mỗi ảnh. Bộ nhớ đệm thumbnail nằm trong thư viện.",
"Keyboard Shortcuts": "Phím tắt",
"Keyboard shortcuts": "Phím tắt",
"Keyword": "Từ khóa",
@@ -999,7 +999,7 @@
"Looking for photos…": "Đang tìm ảnh…",
"Looking up places": "Đang tra địa danh",
"Lossless": "Không mất dữ liệu",
"Lossy DNG files and Smart Previews open as raw photos.": "Tệp DNG có mất dữ liệu và Smart Preview mở như ảnh RAW.",
"Lossy DNG files and Smart Previews open as raw photos.": "Tệp DNG có mất dữ liệu và xem trước thông minh mở như ảnh RAW.",
"Low": "Thấp",
"Luminance": "Độ sáng",
"Luminance Range": "Dải độ sáng",
@@ -1239,8 +1239,8 @@
"Original extension without the dot": "Phần mở rộng gốc không có dấu chấm",
"Original file name without its extension": "Tên tệp gốc không có phần mở rộng",
"Original files": "Tệp gốc",
"Original offline · editing the smart preview": "Gốc ngoại tuyến · đang chỉnh smart preview",
"Original offline · no smart preview": "Gốc ngoại tuyến · không có smart preview",
"Original offline · editing the smart preview": "Gốc ngoại tuyến · đang chỉnh xem trước thông minh",
"Original offline · no smart preview": "Gốc ngoại tuyến · không có xem trước thông minh",
"Originals": "Bản gốc",
"Other editor": "Trình chỉnh sửa khác",
"Other images (JPEG, PNG, TIFF, HEIC…)": "Ảnh khác (JPEG, PNG, TIFF, HEIC…)",
@@ -1301,7 +1301,7 @@
"Photos seen in Local but never added or changed leave the catalog when their folder hasn't been browsed for this long (checked when the library opens). Files stay on disk; browsing the folder shows them again.": "Ảnh chỉ xem trong Local mà chưa thêm hay sửa sẽ rời catalog khi thư mục không được duyệt trong thời gian này (kiểm tra khi mở thư viện). Tệp vẫn trên đĩa; duyệt lại thư mục sẽ thấy chúng.",
"Photos stay in All Photos. Deleting a folder also deletes its albums. You can undo this.": "Ảnh vẫn ở Tất cả ảnh. Xóa thư mục cũng xóa album bên trong. Bạn có thể hoàn tác.",
"Photos that arrive in this folder (tethering, a scanner, a sync app) are added as soon as they're complete.": "Ảnh đến thư mục này (tethering, máy quét, app đồng bộ) được thêm ngay khi hoàn tất.",
"Photos); importing (also by drag and drop), Find Missing Photos, Build / Discard Smart Previews, the Rename preview,": "Ảnh); nhập (cả kéo thả), Tìm ảnh thiếu, Tạo / Hủy Smart Preview, xem trước Đổi tên,",
"Photos); importing (also by drag and drop), Find Missing Photos, Build / Discard Smart Previews, the Rename preview,": "Ảnh); nhập (cả kéo thả), Tìm ảnh thiếu, Tạo / Hủy xem trước thông minh, xem trước Đổi tên,",
"Pick": "Đã chọn",
"Pick Flag": "Cờ chọn",
"Pick a colour on the photo with the eyedropper.": "Chọn màu trên ảnh bằng ống nhỏ giọt.",
@@ -1709,7 +1709,7 @@
"Show the template tags; click one to insert it": "Hiện thẻ mẫu; nhấp để chèn",
"Show/Hide Mask": "Hiện/Ẩn mặt nạ",
"Show/hide My Photos panel": "Hiện/ẩn bảng Ảnh của tôi",
"Shutter Speed": "Tốc độ cửa trập",
"Shutter Speed": "Tốc độ màn trập",
"Shutter speed": "Tốc độ màn trập",
"Side panels": "Bảng bên",
"Sidebar Sections": "Mục thanh bên",
@@ -1731,12 +1731,12 @@
"Smaller, faster catalogs: photos you only looked at in Local (never added, rated or edited) are forgotten once": "Catalog nhỏ hơn, nhanh hơn: ảnh bạn chỉ xem trong Local (chưa thêm, xếp hạng hay chỉnh) bị quên khi",
"Smart Album": "Album thông minh",
"Smart Album Rule Fields": "Trường quy tắc album thông minh",
"Smart Preview Status": "Trạng thái Smart Preview",
"Smart Previews Location": "Vị trí Smart Preview",
"Smart Preview Status": "Trạng thái xem trước thông minh",
"Smart Previews Location": "Vị trí xem trước thông minh",
"Smart albums with a rule editor: match all / any / none, nested groups, 26 fields.": "Album thông minh với trình soạn quy tắc: khớp tất cả / bất kỳ / không, nhóm lồng nhau, 26 trường.",
"Smart preview available": "Có smart preview",
"Smart previews": "Smart preview",
"Smart previews folder changed": "Đã đổi thư mục smart preview",
"Smart preview available": "Có xem trước thông minh",
"Smart previews": "Xem trước thông minh",
"Smart previews folder changed": "Đã đổi thư mục xem trước thông minh",
"Smoothness": "Độ mịn",
"Soft B&W": "B&W mềm",
"Soft Pastel": "Pastel mềm",
@@ -1866,7 +1866,7 @@
"This build has nowhere to keep denoise models, so AI Denoise is not available. (The desktop app has.)": "Bản build này không có chỗ lưu mô hình khử nhiễu, nên AI Denoise không khả dụng. (App desktop có.)",
"This build has nowhere to keep face models, so the model list is not available. (The desktop app has.)": "Bản build này không có chỗ lưu mô hình khuôn mặt, nên danh sách mô hình không khả dụng. (App desktop có.)",
"This file cannot be used yet": "Tệp này chưa dùng được",
"This folder is not available (drive disconnected?). Smart previews are not built or used until it is back or you choose another folder.": "Thư mục không khả dụng (ổ đã rút?). Smart preview không được tạo hay dùng cho đến khi ổ trở lại hoặc bạn chọn thư mục khác.",
"This folder is not available (drive disconnected?). Smart previews are not built or used until it is back or you choose another folder.": "Thư mục không khả dụng (ổ đã rút?). Xem trước thông minh không được tạo hay dùng cho đến khi ổ trở lại hoặc bạn chọn thư mục khác.",
"This folder isn't there: it was moved or renamed, or its disk isn't connected.": "Thư mục không còn: đã di chuyển hoặc đổi tên, hoặc ổ chưa kết nối.",
"This group is empty: add a rule or remove it.": "Nhóm này trống: thêm quy tắc hoặc xóa nhóm.",
"This is a Lightroom catalog, not a LightCraft library. Import it into a LightCraft library instead?": "Đây là catalog Lightroom, không phải thư viện LightCraft. Nhập vào thư viện LightCraft thay vì?",
@@ -1970,7 +1970,7 @@
"Warm Print": "In ấm",
"Warm Table": "Bàn ấm",
"Watched folder": "Thư mục theo dõi",
"Watched-folder auto import; Convert to DNG; Duplicate; Build Standard / 1:1 / Smart Previews.": "Tự động nhập thư mục theo dõi; Chuyển sang DNG; Nhân bản; Tạo Standard / 1:1 / Smart Preview.",
"Watched-folder auto import; Convert to DNG; Duplicate; Build Standard / 1:1 / Smart Previews.": "Tự động nhập thư mục theo dõi; Chuyển sang DNG; Nhân bản; Tạo Standard / 1:1 / Xem trước thông minh.",
"Watermark": "Hình mờ",
"We": "T4",
"Wednesday": "Thứ Tư",
@@ -2011,7 +2011,7 @@
"Zoom to page level": "Thu phóng đến cấp trang",
"`Photos/2026/20260114/20260114_001.jpg`) together with their XMP sidecars; each original leaves the card only after its": "`Photos/2026/20260114/20260114_001.jpg`) cùng sidecar XMP; mỗi bản gốc rời thẻ chỉ sau khi",
"`img_1-1.JPG`; on case-insensitive volumes the case change still goes through.": "`img_1-1.JPG`; trên ổ không phân biệt hoa thường đổi hoa thường vẫn thực hiện.",
"a full drive) no longer counts as built and Build Smart Previews replaces it.": "ổ đầy) không còn được coi là đã tạo và Tạo Smart Preview thay thế.",
"a full drive) no longer counts as built and Build Smart Previews replaces it.": "ổ đầy) không còn được coi là đã tạo và Tạo xem trước thông minh thay thế.",
"a literal %": "ký tự % thực",
"a removed photo": "một ảnh đã gỡ",
"afterwards (issue #101): the partial write is cut off before LightCraft retries, so the next launch replays every": "sau đó (issue #101): ghi dở bị cắt trước khi LightCraft thử lại, nên lần khởi động sau phát lại mọi",
@@ -2028,7 +2028,7 @@
"aren't empty": "không trống",
"as `<name>.corrupt-<time>` and you're told; one that can't be read (e.g. locked by another program) is left alone": "thành `<name>.corrupt-<time>` và bạn được báo; tệp không đọc được (ví dụ bị khóa bởi chương trình khác) được giữ nguyên",
"asked to. `LIGHTCRAFT_GPU_BACKEND=dx12 | vulkan | metal | off` (or wgpu's `WGPU_BACKEND`, which GPU rendering": "khi được hỏi. `LIGHTCRAFT_GPU_BACKEND=dx12 | vulkan | metal | off` (hoặc `WGPU_BACKEND` của wgpu, kết xuất GPU",
"blue": "xanh lam",
"blue": "lam",
"bundles of any of these — whole folders at once, grouped by pack. Masks inside presets come along.": "gói bất kỳ loại này — cả thư mục một lúc, nhóm theo pack. Mặt nạ trong thiết lập sẵn đi theo.",
"cached picture": "ảnh trong bộ nhớ đệm",
"cached pictures": "ảnh trong bộ nhớ đệm",
@@ -2051,20 +2051,20 @@
"day 01–31": "ngày 01–31",
"days": "ngày",
"denoiseModel.accept": "denoiseModel.accept",
"discarding smart previews": "đang hủy smart preview",
"discarding smart previews": "đang hủy xem trước thông minh",
"doesn't contain": "không chứa",
"e.g. sky · the red car · car, road": "vd. bầu trời · xe đỏ · xe, đường",
"edge are cropped away, and \"12-bit uncompressed\" files are no longer clipped. The RX100 series renders much closer": "cạnh bị cắt bỏ, và tệp \"12-bit uncompressed\" không còn bị clip. Dòng RX100 hiển thị gần hơn nhiều",
"ends with": "kết thúc bằng",
"every format the cameras write. Most bodies opened as preview only before: GH1–GH5, the G, GX, GF, GM, FZ, LX and": "mọi định dạng máy ghi. Hầu hết body trước đó chỉ xem trước: GH1–GH5, G, GX, GF, GM, FZ, LX và",
"export. The catalog, XMP sidecars, settings, DNGs, merges, smart previews and the copies an import makes are still": "xuất. Catalog, sidecar XMP, cài đặt, DNG, merge, smart preview và bản sao khi nhập vẫn",
"export. The catalog, XMP sidecars, settings, DNGs, merges, smart previews and the copies an import makes are still": "xuất. Catalog, sidecar XMP, cài đặt, DNG, merge, xem trước thông minh và bản sao khi nhập vẫn",
"false": "false",
"fields in and keeps the rest — e.g. that application's develop settings and edit history — byte for byte. A": "trường của mình và giữ phần còn lại — ví dụ cài develop và lịch sử chỉnh của app đó — byte for byte. Một",
"file (Sony stores them only in scrambled maker-note data on these bodies), the few columns of padding at the right": "tệp (Sony chỉ lưu trong maker-note mã hóa trên các body này), vài cột padding bên phải",
"first time you use an AI mask, LightCraft asks before downloading it, shows the progress, can cancel and resume,": "lần đầu dùng mặt nạ AI, LightCraft hỏi trước khi tải, hiện tiến trình, có thể hủy và tiếp tục,",
"for the session instead of being overwritten with defaults. The app settings (`ui.json`, which remembers your": "cho phiên thay vì bị ghi đè bằng mặc định. Cài đặt app (`ui.json`, ghi nhớ",
"gets -1, -2… instead of being replaced.": "nhận -1, -2… thay vì bị thay thế.",
"green": "xanh lá",
"green": "lục",
"greenish neutral rendering (issue #150); white balance is adjusted relative to the as-shot look. 12-bit NEFs": "hiển thị trung tính hơi xanh (issue #150); cân bằng trắng chỉnh tương đối so với as-shot. NEF 12 bit",
"has open — on this computer or another one sharing the folder — says who has it (\"already open in LightCraft (process": "đang mở — trên máy này hoặc máy khác dùng chung thư mục — nói ai đang giữ (\"đã mở trong LightCraft (process",
"has the first date after the second": "ngày đầu sau ngày thứ hai",
@@ -2108,7 +2108,7 @@
"keep names — or e.g. {date}_{seq:3}": "giữ tên — hoặc vd. {date}_{seq:3}",
"latitude, longitude": "vĩ độ, kinh độ",
"layout is read from each file instead of assumed.": "bố cục đọc từ từng tệp thay vì giả định.",
"leaves no DNG and keeps the raw. Smart previews are written the same way; a damaged one (cut short by a crash or": "không tạo DNG và giữ raw. Smart preview ghi cùng cách; bản hỏng (cắt ngắn do sự cố hoặc",
"leaves no DNG and keeps the raw. Smart previews are written the same way; a damaged one (cut short by a crash or": "không tạo DNG và giữ raw. Xem trước thông minh ghi cùng cách; bản hỏng (cắt ngắn do sự cố hoặc",
"library locked: the lock is the operating system's and goes away with the program.": "thư viện bị khóa: khóa của hệ điều hành và biến mất khi thoát chương trình.",
"library) are written atomically and saved as soon as you open another library, not only at quit. Quitting while": "thư viện) ghi nguyên tử và lưu ngay khi mở thư viện khác, không chỉ khi thoát. Thoát khi",
"longer just says \"duplicate skipped\": it opens the side panel on Recently Deleted with the photo selected and says": "không chỉ nói \"bỏ qua trùng\": mở bảng bên ở Đã xóa gần đây với ảnh được chọn và nói",
@@ -2138,7 +2138,7 @@
"needs two values": "cần hai giá trị",
"never leaves a truncated file; the XMP sidecar of an \"Original\" export follows the \"If file exists\" choice too.": "không bao giờ để tệp cắt cụt; sidecar XMP của xuất \"Original\" cũng theo lựa chọn \"Nếu tệp đã tồn tại\".",
"non-commercial use only": "chỉ dùng phi thương mại",
"none": "không",
"none": "không có",
"none (CPU rendering)": "không (kết xuất CPU)",
"none of": "không thuộc",
"not added to Apple Photos (cancelled)": "không thêm vào Apple Photos (đã hủy)",
@@ -2173,7 +2173,7 @@
"sidecar that isn't valid XMP is copied to `<name>.xmp.bak-<time>` first. With the default stem naming, a raw and a": "sidecar không phải XMP hợp lệ được sao chép trước thành `<name>.xmp.bak-<time>`. Với đặt tên stem mặc định, raw và",
"smart album value|No": "Không",
"smart album value|Yes": "Có",
"smart previews": "smart preview",
"smart previews": "xem trước thông minh",
"so none shows as missing. Renaming one of a raw + JPEG pair copies their shared `IMG_0001.xmp` instead of taking": "để không cái nào hiện thiếu. Đổi tên một trong cặp raw + JPEG sao chép `IMG_0001.xmp` dùng chung thay vì lấy",
"starting the GPU, the next launch starts with GPU rendering off and says how to turn it back on.": "khởi động GPU, lần mở sau bắt đầu với kết xuất GPU tắt và hướng dẫn bật lại.",
"starts using it for AI Denoise": "bắt đầu dùng nó cho Khử nhiễu AI",
@@ -2195,7 +2195,7 @@
"this screen's profile": "hồ sơ màn hình này",
"to the camera's own JPEG.": "sang JPEG của máy ảnh.",
"true": "true",
"unknown": "không xác định",
"unknown": "không rõ",
"untouched — older versions no longer read part of it as a damaged log. Once this version has opened a library,": "nguyên — phiên bản cũ không còn đọc một phần như log hỏng. Sau khi phiên bản này mở thư viện,",
"used (e.g. a skipped software adapter such as llvmpipe) and why the last render fell back.": "dùng (ví dụ bỏ qua adapter phần mềm như llvmpipe) và vì sao lần kết xuất cuối fallback.",
"video": "video",
+2 -2
View File
@@ -56,7 +56,7 @@ that is promising but is not recorded as review, so the column says `no (communi
| 9 | Japanese | `ja` | 2,097 / 2,471 (85%) | as zh-hans; vertical export watermarks | Jpan via craft-fonts (BIZ UDPGothic / UDMincho); IME through winit | no (community edits) | partial | 6–10 h |
| 10 | German | `de` | 2,210 / 2,471 (89%) | as zh-hans; What's New translated line by line | Latin | no (community edits) | partial | 4–8 h |
| 11 | Korean | `ko` | 0 (0%) | none | **no Korean (Hangul) face**: needs a non-Adobe OFL face in craft-fonts (Noto CJK is allowed only for Chinese) | no | none | 14–22 h |
| 12 | Vietnamese | `vi` | 2,471 / 2,471 (100% key coverage of current union; intentional English like `ISO`/`OK` kept) | menus, panels, dialogs, presets, profiles, dates, formats; lower-layer errors English | Latin with stacked diacritics (Inter) | no (community contribution) | **full** (current localizable surface) | 0 h |
| 12 | Vietnamese | `vi` | 2,471 / 2,471 (100% key coverage of current union; intentional English like `ISO`/`OK` kept) | menus, panels, dialogs, presets, profiles, dates, formats; lower-layer errors English | Latin with stacked diacritics (Inter) | no (community contribution) | partial (catalog complete; lower-layer errors English) | 1–3 h |
## Other languages LightCraft ships (3)
@@ -89,5 +89,5 @@ Target languages LightCraft lacks: Italian, Korean, Dutch, Polish, Swedish, Norw
| Date | Change | Summary |
|---|---|---|
| 2026-10-13 | minor | Remeasured denominator (2,222 plain + 249 formats = 2,471); Vietnamese shipped at full current localizable coverage |
| 2026-10-13 | minor | Remeasured denominator (2,222 plain + 249 formats = 2,471); Vietnamese catalog complete at 2,471/2,471 (status partial: lower-layer errors still English) |
| 2026-10-10 | major | Created: per-language counts measured from the catalogs, the twelve key languages, script support, estimates |
+7 -5
View File
@@ -26,17 +26,19 @@ các ngôn ngữ khác.
| Import / Export | Nhập / Xuất |
| Exposure / Contrast | Phơi sáng / Tương phản |
| Highlights / Shadows / Whites / Blacks | Vùng sáng / Vùng tối / Vùng trắng / Vùng đen |
| White Balance / Temperature / Tint | Cân bằng trắng / Nhiệt độ / Tint |
| White Balance / Temperature / Tint | Cân bằng trắng / Nhiệt độ / Tông |
| Vibrance / Saturation | Độ rực rỡ / Độ bão hòa |
| Texture / Clarity / Dehaze / Grain / Vignette | Kết cấu / Độ rõ / Khử sương mù / Hạt / Tối góc |
| Tone Curve | Đường cong tông màu |
| Sharpening / Noise Reduction / Denoise | Làm nét / Giảm nhiễu / Khử nhiễu |
| Mask / Brush / Gradient | Mặt nạ / Cọ / Chuyển sắc |
| Sharpening / Noise Reduction / AI Denoise | Làm nét / Giảm nhiễu / Khử nhiễu AI |
| Masking / Brush / Linear Gradient | Mặt nạ / Cọ / Chuyển sắc tuyến tính |
| Preset / Profile / History / Version | Thiết lập sẵn / Hồ sơ / Lịch sử / Phiên bản |
| Appearance (giao diện) | Giao diện |
| Appearance (theme) | Giao diện |
| Subject (AI) | Chủ thể |
| Candidate / the Select | Ảnh ứng viên / Ảnh được chọn |
| Candidate / Select | Ảnh ứng viên / Chọn |
| Flag / Picked / Rejected / Unflagged | Gắn cờ / Đã chọn / Đã loại / Không gắn cờ |
| Shutter Speed | Tốc độ màn trập |
| Smart Previews | Xem trước thông minh |
Tên sản phẩm và chuẩn giữ nguyên khi là định danh: LightCraft, ArtCraft, GitHub, Discord,
JPEG, PNG, TIFF, WebP, AVIF, HEIF, HEIC, RAW, DNG, RGB, HDR, ICC, EXIF, XMP, GPU, MCP, SAM, ISO, OK.