# Dịch chữ trên ảnh bằng AI

Dịch chữ trong sprite hoặc bitmap UI có sẵn sang ngôn ngữ khác, xuất tài nguyên ảnh cùng kích thước—cũng là lượt dùng để đưa ảnh store của nhiều game qua nhiều ngôn ngữ và nhiều nền tảng.

## Tóm lại: 3 bước

**AI image localization (bản địa hóa ảnh)** dùng trên lô sprite hoặc bitmap UI đã nướng chữ vào hình. Khi chữ cứ để trong ảnh cũng được, đây là đường bản địa hóa khá nhanh: chọn ngôn ngữ đích, chạy sinh, ra tấm cùng kích thước—scene nhìn chung còn, nhãn đổi ngôn ngữ. Đi theo sinh ảnh, không xuất riêng lớp chữ, bố cục và phong cách vẫn nằm trong pixel.

**AI image localization (bản địa hóa ảnh)** dùng model sinh, viết lại chữ trong bitmap, rồi xuất một tài nguyên cùng kích thước. Lượt đầu không cần vẽ tay từng nhãn.

Ảnh store cũng đi qua lượt này. Một team mang nhiều game lên App Store, Google Play và Steam phải làm lại cùng một bộ ảnh cho mỗi ngôn ngữ, ở mỗi store, và con số đó tăng nhanh hơn khối lượng art.

## Bước 1: Bắt đầu từ một ảnh UI ngôn ngữ nguồn

Dùng giao diện game hoặc sprite scene đã có ngôn ngữ nguồn. Tấm dưới là giao diện tiếng Anh (tên địa điểm, gợi ý NPC, biển hiệu, túi đồ / cài đặt).

![Scene UI game tiếng Anh dùng cho AI image localization](/images/ai-translate/ai-translate_step1_english_version_.webp)

## Bước 2: Mở AI image localization và đặt ngôn ngữ đích

Sau khi chọn ảnh, mở **AI tools**, rồi chọn **AI image localization (bản địa hóa ảnh)**.

![Menu AI tools, AI image localization được chọn](/images/ai-translate/ai-translate_step2_1_button_.webp)

Trong hộp thoại **AI image localization**, chọn ngôn ngữ đích (ví dụ tiếng Nhật), xác nhận lớp, rồi chạy **Translate**.

![Hộp thoại AI image localization, ngôn ngữ đích đặt Japanese](/images/ai-translate/ai-translate_step2_2_dialogue_.webp)

## Bước 3: Kiểm tra ảnh dịch cùng kích thước

Kết quả cùng kích thước ảnh nguồn. Chữ trên màn đổi sang ngôn ngữ đích (tên địa điểm, gợi ý NPC, biển cửa hàng / lối ra, túi đồ / cài đặt).

<figure>
  <img src="/images/ai-translate/ai-translate_step3_japanese_version_.webp" alt="UI cùng kích thước tiếng Nhật sau AI image localization">
  <figcaption>Nhãn tiếng Anh đổi sang tiếng Nhật; art scene vẫn trên tấm.</figcaption>
</figure>

<figure class="video-embed">
  <div class="video-embed-frame">
    <iframe
      src="https://www.youtube-nocookie.com/embed/lFqiLPG-FyU"
      title="Demo AI image localization trên VberAI Studio"
      allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
      allowfullscreen
    ></iframe>
  </div>
</figure>

## Chạy cả bộ ảnh store qua nhiều game và nhiều store

Một tấm ảnh là chạy một lượt. Một danh mục game trên ba store với tám ngôn ngữ là đúng lượt đó nhân lên: số game × số màn × số ngôn ngữ, và con số này lớn lên trước cả khối lượng art.

Cần chốt trước khi mở rộng cả bộ:

- **Chọn ảnh gốc làm chuẩn cho từng màn.** Sinh lại từ tấm gốc mỗi lần thì chất lượng ổn định hơn. Dịch tiếp trên một bản đã dịch sẽ dồn sai lệch qua từng lượt.
- **Giữ đúng kích thước theo từng store.** Kết quả ra cùng kích thước với nguồn, nên khung ảnh theo yêu cầu của từng store phải đúng ngay ở bộ nguồn, không sửa sau khi sinh.
- **Kiểm tra bộ chữ sớm.** Chữ CJK và dấu tiếng Việt là chỗ nhãn nướng trong ảnh hỏng trước tiên. Chạy thử một màn cho mỗi ngôn ngữ rồi mới chạy cả lô.

Vì chữ nằm trong pixel, đổi nội dung store nghĩa là sinh lại đúng những màn bị ảnh hưởng, không phải sửa một bảng chuỗi. Xếp lịch cập nhật ảnh store theo lô, cùng đợt với art lễ hội trong [Restyle (đổi phong cách)](/docs/sprite/reskin/).

Ví dụ chạy trên một khung store thật: [Vẫn bản địa hóa ảnh App Store từng tấm? Image Translate hàng loạt trong VberAI Studio](/exp/localizing-store-screenshots-when-ui-text-is-baked-into-images/).
