Hướng dẫn / Hậu trường

Chúng tôi đã dịch game di động của mình sang 14 ngôn ngữ như thế nào

Những gì cần có để đưa game Android của chúng tôi sang 14 ngôn ngữ: cách chúng tôi cấu trúc file chuỗi, vì sao quy tắc số nhiều và phông chữ quan trọng, những lỗi dịch cứ lặp lại, một lỗi chỉ xảy ra với điện thoại ở châu Âu, và vì sao 14 ngôn ngữ nghĩa là 16 trang cửa hàng.

Cả sáu game của chúng tôi đều được dịch đầy đủ sang 14 ngôn ngữ: tiếng Anh, Đức, Tây Ban Nha, Pháp, Croatia, Indonesia, Ý, Nhật, Hàn, Bồ Đào Nha, Nga, Slovenia, Thổ Nhĩ Kỳ và tiếng Trung phồn thể. Bốn game đầu tiên, Idle Ronin, Idle Summoner, Idle AI Factory và Block Brain, cộng lại có khoảng 2.100 chuỗi tiếng Anh, từ 254 trong Block Brain đến 1.253 trong Idle Ronin, mỗi chuỗi được dịch 13 lần. Idle Restaurant: Miami và ONI Snakes ra mắt với cùng 14 ngôn ngữ. Đây là những gì việc đó đòi hỏi, và những gì chúng tôi sẽ làm lại.

Mỗi ngôn ngữ một file chuỗi, kèm ngữ cảnh

Mỗi game giữ một file văn bản thuần cho mỗi ngôn ngữ. Một mục gồm dòng nguồn tiếng Anh, đánh dấu bằng @, theo sau là bản dịch, đánh dấu bằng =, và hầu hết các mục có một chú thích viết cho người dịch. Đây là quái vật đầu tiên trong file tiếng Anh của Idle Summoner:

# monster name with its number in the summon chain (1-55); names appear on small labels

@ {0}. Slime

Những chú thích đó là thứ hữu ích nhất chúng tôi đã thêm vào. File tiếng Anh của Idle Summoner có 156 chú thích cho 258 chuỗi. Một người dịch biết rằng chuỗi nằm trên một nhãn nhỏ xíu, hoặc rằng {0} là một con số, sẽ mắc ít lỗi hơn nhiều so với người chỉ đoán từ câu chữ.

Dùng chính văn bản tiếng Anh làm khóa giúp file dễ đọc, nhưng có một cái bẫy. Một chuỗi giống nhau ở cả hai cột không tự động là một cái tên phải giữ nguyên tiếng Anh: trong Idle Ronin, khoảng 680 trong 1.185 mục đầu tiên trùng với văn bản tiếng Anh của chúng. Chỉ những danh từ riêng thật sự mới giữ tiếng Anh, 19 Guardian, tên các đơn vị và 12 trang phục, và script build của chúng tôi khóa đúng những thứ đó.

Quy tắc số nhiều không phải là tùy chọn

Tiếng Anh có hai dạng: 1 unit, 2 units. Nhiều ngôn ngữ có nhiều dạng hơn, và quy tắc khác nhau. Mã Loc của chúng tôi theo quy tắc số nhiều cho số nguyên từ bảng Unicode CLDR:

Ngôn ngữCác dạng mã của chúng tôi dùng
Anh, Đức, Tây Ban Nha, Ýone, other
Pháp, Bồ Đào Nhaone (0 và 1), other
Croatiaone, few, other
Ngaone, few, many
Sloveniaone, two, few, other
Thổ Nhĩ Kỳ, Indonesia, Nhật, Hàn, Trungmột dạng duy nhất

Tiếng Slovenia là ngôn ngữ khiến mọi người ngạc nhiên: nó có một dạng riêng cho số hai, nên “2 units” và “5 units” là những từ khác nhau. Nếu mã của bạn chỉ biết số ít và số nhiều, mọi ngôn ngữ này đều hiện sai ngữ pháp ở đâu đó.

Phông chữ: những chữ cái bạn không biết là bị thiếu

Phông chữ văn bản của Idle Summoner là một bản cắt gọn của Noto Sans KR Black, thiếu č, š, ž và ć, các dấu của Tây Âu, chữ cái Thổ Nhĩ Kỳ và tiếng Trung phồn thể. Những chữ cái thiếu hoặc rơi về phông chữ của điện thoại, hoặc hoàn toàn không hiện ra. Chúng tôi dựng lại nó với mọi chữ cái mà các bảng của chúng tôi dùng và thêm Noto Sans JP cho tiếng Nhật và Noto Sans TC cho tiếng Trung phồn thể. Các nhãn dùng phông pixel của game chỉ giữ phông đó khi văn bản vừa với những chữ cái phông đó có.

Phông chữ cũng có thể gây hiểu nhầm. Trong phông chữ tiếng Hàn của Idle Ronin, chữ N hoa được vẽ sao cho ON và OFF đọc thành “OΠ”. Chúng tôi đổi các nút bật tắt đó sang từ tiếng Hàn 켜기 và 끄기, vốn dễ đọc hơn.

Những lỗi quay lại ở mọi ngôn ngữ

Dù một game được dịch thế nào, bản nháp đầu tiên hiếm khi sẵn sàng. Bản của chúng tôi lặp lại cùng một nhóm lỗi trong gần như mọi ngôn ngữ, những lỗi mà chính lần duyệt tiếng Slovenia của chúng tôi đã phát hiện đầu tiên:

  • “Particle”, một cài đặt đồ họa, bị dịch thành từ vật lý thay vì “Effects” (hiệu ứng).
  • “Stack”, những bản sao thêm của một đơn vị, bị để nguyên tiếng Anh hoặc dịch thành “đống” thay vì “bản sao”.
  • Một nhiệm vụ đánh bại con quái vật tên Treasure Chest bị dịch thành đập vỡ rương kho báu.
  • Văn bản được dịch đủ độ dài cho những hàng và huy hiệu chỉ vừa một hai từ.
  • “FIGHT FLOOR {0}” giữ một động từ thừa khiến nút quá dài.

Vì vậy chúng tôi viết một công cụ kiểm tra in ra chính xác những chuỗi đó cho bất kỳ ngôn ngữ nào, và chúng tôi giao danh sách trước khi bắt đầu dịch. Hai ngôn ngữ được dịch nháp khi đã có danh sách trong tay không cần sửa gì; những ngôn ngữ dịch nháp khi chưa có cần khoảng sáu chỗ sửa mỗi ngôn ngữ.

Kiểm tra màn hình, không chỉ file

Một file có thể đầy đủ trong khi màn hình vẫn hiện tiếng Anh. Phép thử của chúng tôi: chuyển game sang ngôn ngữ khác, thu thập mọi văn bản nhìn thấy trên màn hình và so sánh với file tiếng Anh. Bất cứ thứ gì vẫn còn tiếng Anh là một nhãn mà mã không bao giờ dịch. Trong Idle Ronin, lần quét đó tìm thấy một nút OPEN luôn hiển thị và các nút cài đặt bị kẹt ở ngôn ngữ đang dùng khi menu được mở lần đầu.

Sau đó hãy kiểm tra độ vừa trên độ phân giải điện thoại thật. Chúng tôi xem mọi màn hình ở 1080 x 2400 với những ngôn ngữ dài nhất và với tiếng Nhật, Hàn, Trung và Nga, và chúng tôi rút ngắn văn bản thay vì thu nhỏ nó tới mức không ai đọc được.

Một dấu phẩy làm hỏng bản lưu ở châu Âu

Có một lỗi chẳng liên quan gì đến câu chữ. Trong một game chúng tôi đang làm, bản lưu nối các con số bằng dấu phẩy. Trên điện thoại dùng ngôn ngữ ghi số thập phân bằng dấu phẩy, như ở phần lớn châu Âu, 7392.58 trở thành 7392,58, dấu phẩy thừa tách nó làm đôi, và mọi giá trị phía sau đều lệch một vị trí. Một nhà phát triển thử nghiệm bằng tiếng Anh không bao giờ thấy điều đó. Cách sửa là một dòng lúc khởi động cố định định dạng số theo invariant culture, cộng với một lớp bảo vệ để những bản lưu đã bị hỏng vẫn tải được.

14 ngôn ngữ, 16 trang cửa hàng

Google Play có trang riêng cho tiếng Tây Ban Nha ở Tây Ban Nha và Mỹ Latinh, và cho tiếng Bồ Đào Nha ở Bồ Đào Nha và Brazil. Chúng tôi giữ một bản dịch trong game cho mỗi ngôn ngữ, nhưng viết văn bản cửa hàng riêng cho từng thị trường, với từ khóa tìm kiếm riêng. Như vậy mỗi game có 16 trang, mỗi trang có tên, mô tả ngắn, mô tả đầy đủ và ảnh chụp màn hình riêng. Trang web của chúng tôi theo cùng mô hình, và chúng tôi giải thích cách xây dựng nó trong một bài viết riêng.

Những gì chúng tôi sẽ làm lại

  1. Viết một chú thích ngữ cảnh cho mọi chuỗi.
  2. Khóa danh từ riêng trong bản build, không phải trong đầu người dịch.
  3. Triển khai quy tắc số nhiều trước khi bản dịch đầu tiên đến.
  4. Kiểm tra phông chữ có chứa mọi chữ cái mà các bảng của bạn dùng.
  5. Giữ một danh sách các chuỗi có vấn đề đã biết và giao nó trước.
  6. Quét các màn hình ở ngôn ngữ khác để tìm tiếng Anh sót lại.
  7. Ghi dữ liệu lưu theo invariant culture.
  8. Lên kế hoạch cho 16 trang cửa hàng, không phải 14.

Muốn xem kết quả? Hãy đổi ngôn ngữ trong Idle Ronin, Idle Summoner, Idle AI Factory, Block Brain, Idle Restaurant: Miami hoặc ONI Snakes: tất cả đều nói đủ 14 ngôn ngữ.

Nguồn

  • Unicode CLDR, Language Plural Rules.
  • Mã nguồn game của ONI Games, tháng 9 năm 2026: Idle Summoner (Loc.cs, LocFonts.cs, Localization/Summoner/en.txt), Idle Ronin (Localization/Ronin), Idle AI Factory (Localization/AIFactory), Block Brain (Localization/Brain).

Hướng dẫn khác

Tất cả hướng dẫn
Cách thiết kế một game idle: công thức và bài học từ bốn game đã phát hành

Hậu trường

Cách thiết kế một game idle: công thức và bài học từ bốn game đã phát hành

Những gì chúng tôi học được khi thiết kế và sửa bốn game di động có tiến trình idle: những đường cong vận hành chúng, cách xử lý thời gian offline và những con số khổng lồ, cách trả thưởng cho prestige, và những lỗi chỉ xuất hiện sau hàng trăm màn. Công thức thật từ mã nguồn của chúng tôi.

Đọc hướng dẫn →

◆ Thêm game từ ONI Games

Game khác

Vuốt để xem thêm

ONI Snakes: Armored Arena
Đã ra mắt · Google Play

ONI Snakes: Armored Arena

Bắn vỡ giáp của rắn đối thủ, lớn thật nhanh và thống trị đấu trường neon trong 11 chế độ, online và cùng bạn bè.

Khám phá game →
Idle Ronin: Cyber RPG
Đã ra mắt · Google Play

Idle Ronin: Cyber RPG

Bước vào tương lai ngập ánh neon trong vai Cyber Ronin cuối cùng. Chém xuyên từng đợt robot chiến đấu, chiêu mộ đội cyborg và leo Neon Tower. Lưỡi kiếm của bạn vẫn vung ngay cả khi bạn offline.

Khám phá game →
Idle Summoner: Pixel RPG
Đã ra mắt · Google Play

Idle Summoner: Pixel RPG

Triệu hồi một đạo quân quái thú, tấn công các lâu đài của thế giới ngầm và tái sinh mạnh hơn mỗi khi tiến độ chậm lại.

Khám phá game →
Block Brain: Block Puzzle Game
Đã ra mắt · Google Play

Block Brain: Block Puzzle Game

Xếp các khối nhiều màu, phá hàng và nối combo trong khi người bạn Brain lớn dần từ một mầm nhỏ thành Mastermind đội vương miện.

Khám phá game →
Idle AI Factory: Robot Tycoon
Đã ra mắt · Google Play

Idle AI Factory: Robot Tycoon

Điều hành một nhà máy đầy robot vui nhộn, tự động hóa từng dây chuyền sản xuất và phát triển từ một phòng thí nghiệm AI nhỏ đến căn cứ trên Mặt Trăng.

Khám phá game →
Idle Restaurant: Miami
Đã ra mắt · Google Play

Idle Restaurant: Miami

Biến một tiệm pizza nhỏ trên bãi biển thành đế chế nhà hàng neon ở Miami: thuê quản lý, sưu tầm 20 công thức nấu ăn thật và kiếm tiền cả khi không chơi.

Khám phá game →
Dark Tower: Idle Villain TD
Đã ra mắt · Google Play

Dark Tower: Idle Villain TD

Một lần làm phản diện: dựng tòa tháp bị nguyền rủa, nghiền nát những làn sóng anh hùng thần thánh bất tận bằng Thẻ Hắc Ám và phép thuật, và mạnh lên cả khi không chơi.

Khám phá game →