LQA game tiếng Việt: các lỗi mà dịch máy luôn bỏ sót
← Blog
🌏 Bản địa hóa7 phút đọc

LQA game tiếng Việt: các lỗi mà dịch máy luôn bỏ sót

💡 Dịch máy tạo ra văn bản tiếng Việt trôi chảy nhưng vẫn hỏng trong game: đại từ nhân xưng phụ thuộc vào bậc xã hội, chuỗi lắp ghép phá vỡ ngữ pháp, và glyph font thiếu biến dấu thành ô vuông. Một lần kiểm thử LQA có cấu trúc với người xem xét tiếng Việt bản ngữ sẽ tìm ra các lỗi này trước khi người chơi phát hiện.

Ý chính

  • Thực hiện lần kiểm thử LQA tiếng Việt riêng: output dịch máy đọc trôi chảy khi xem file nhưng hỏng về đại từ, glyph font và chuỗi lắp ghép trong game đang chạy.
  • Xây dựng bảng đại từ nhân xưng (em/anh/con/bạn) cho mọi NPC quan trọng trước khi dịch; cung cấp cho cả dịch giả lẫn người kiểm thử LQA.
  • Kiểm tra mọi tài nguyên font so với khối Unicode Latin Extended Additional (U+1E00-U+1EFF); glyph thiếu sẽ lặng lẽ hiển thị thành ô vuông.
  • Không bao giờ tách một câu hoàn chỉnh thành hai khóa bản địa hóa; cung cấp câu đầy đủ để có thể điều chỉnh thứ tự từ và đại từ tiếng Việt.
  • Dùng pseudo-localization của Unity hoặc chế độ text-stress của Unreal để phát hiện tràn UI trước khi bắt đầu dịch - dự phòng 25-30% không gian cho mỗi container.

Tại sao tiếng Việt cần một lần kiểm thử LQA riêng khi dịch máy trông trôi chảy?

Kiểm thử Chất lượng Ngôn ngữ (LQA) là việc xem xét văn bản bản địa hóa trong ngữ cảnh thực của game đang chạy, không chỉ so sánh file. Người xem xét chơi game hoặc duyệt qua bộ ảnh chụp màn hình, ghi lỗi theo thang mức độ nghiêm trọng (Nghiêm trọng, Lớn, Nhỏ) và kiểm tra lại mọi sửa lỗi. Các khung chuẩn như MQM phân loại lỗi: độ chính xác, sự lưu loát, thuật ngữ, phong cách và quy ước locale.

Tiếng Việt cần lần kiểm thử LQA riêng vì các khác biệt cấu trúc so với ngôn ngữ châu Âu tạo ra những lỗi chỉ xuất hiện trong ngữ cảnh. Cùng một chuỗi dịch có thể đúng ngữ pháp khi đọc file nhưng sai hoàn toàn về mặt xã hội trong game: đại từ tiếng Việt đúng cho "bạn" (you) phụ thuộc vào tuổi tác và vị thế của NPC so với người chơi, không phải vào từ tiếng Anh "you." Dịch máy không có dữ liệu về mối quan hệ đó và mặc định chọn dạng trung tính mà người chơi bản ngữ nhận ra ngay.

Bốn loại lỗi mà dịch máy luôn bỏ sót trong game tiếng Việt

Phân tích các báo cáo LQA game tiếng Việt liên tục chỉ ra bốn loại lỗi mà engine dịch máy xử lý kém:

  • Lỗi đại từ và ngữ điệu: Tiếng Việt không có từ "bạn" hay "tôi" chung chung. Cặp đúng (em/anh, con/mẹ, bạn/bạn) phụ thuộc vào quan hệ người nói - người nghe. Dịch máy mặc định dùng đại từ trung tính thường sai về mặt xã hội với tuổi hoặc địa vị của nhân vật.
  • Thiếu glyph font: Font tiêu chuẩn phương Tây thiếu ký tự tiếng Việt như ẵ, ệ hoặc ợ. Khi game engine dùng font hệ thống thay thế cho glyph thiếu, kết quả là ô vuông tofu - vô hình khi xem file, rõ ràng với người chơi trong game.
  • Hỗn loạn chuỗi lắp ghép: Các game engine thường xây dựng câu từ các mảnh: "[Người chơi] đã tham gia [Đội]." Thứ tự từ và ngữ pháp tiếng Việt phụ thuộc vào ngữ cảnh câu hoàn chỉnh; các mảnh rời không thể lắp ráp lại đúng sau khi dịch.
  • Chuỗi chưa dịch: Nhãn UI cứng (hardcoded), tooltip nhà phát triển và chuỗi chèn qua code thay vì pipeline bản địa hóa vượt qua MT hoàn toàn không được xử lý. Báo cáo LQA đặt loại lỗi này ở khoảng 24% tổng số lỗi tìm thấy.

Lỗi đại từ: tại sao dịch máy luôn chọn sai đại từ xưng hô?

Đại từ nhân xưng tiếng Việt mã hóa đồng thời tuổi tác, giới tính và vị thế xã hội. Khi một NPC nói "Đến đây với tôi, [Người chơi]," cặp đại từ đúng phụ thuộc vào việc NPC đó lớn tuổi hơn hay nhỏ hơn, là bạn bè hay người có thẩm quyền. Dịch máy không có dữ liệu về mối quan hệ đó - nó mặc định dùng dạng trung tính mà người chơi tiếng Việt ngay lập tức nhận ra là sai với nhân vật trong cảnh đó.

Việc sửa lỗi đòi hỏi công việc thiết kế từ đầu, không chỉ là xem xét sau khi dịch. Xây dựng bảng đại từ trong hướng dẫn phong cách bản địa hóa trước khi bắt đầu dịch: liệt kê từng NPC quan trọng, vai trò của họ, tuổi tác so với người chơi, và cặp đại từ kỳ vọng cho ngôi thứ nhất và ngôi thứ hai. Cung cấp tài liệu đó cho cả dịch giả lẫn người kiểm thử LQA ngay từ đầu dự án, không phải sau khi dịch xong.

Thiếu glyph font và dấu: lỗi chỉ xuất hiện khi game đang chạy

Tiếng Việt dùng chữ Quốc ngữ: các chữ cái Latin được mở rộng với dấu hình dạng nguyên âm (dấu mũ, dấu trăng, dấu móc) và dấu thanh điệu (huyền, sắc, hỏi, ngã, nặng). Toàn bộ bộ ký tự nằm trong khối Unicode Latin Extended Additional (U+1E00-U+1EFF). Font nào chỉ bao phủ Basic Latin hoặc Latin-1 Supplement sẽ lặng lẽ bỏ qua các glyph này mà không có cảnh báo nào.

Trong Unity Localization Package, xác nhận rằng bảng chuỗi được lưu dưới dạng UTF-8 và atlas font TextMeshPro bao gồm toàn bộ phạm vi Latin Extended Additional. Trong Unreal Engine, thiết lập chuỗi font dự phòng để glyph tiếng Việt thiếu được thay thế bằng font đã biết tốt thay vì mặc định hệ thống. Chạy kiểm tra độ bao phủ glyph so với file chuỗi tiếng Việt thực tế - không chỉ kiểm tra "font có hỗ trợ Unicode không."

Hỗn loạn chuỗi lắp ghép: tại sao ngữ pháp tiếng Việt không thể lắp ráp từng mảnh?

Nhiều game engine xây dựng câu từ các mảnh chèn vào: "{tên} đã đánh bại {kẻ thù}." Trong tiếng Anh, ngữ pháp xung quanh là cố định và các từ chèn vào chỉ là danh từ. Trong tiếng Việt, ngữ pháp xung quanh có thể cần thay đổi tùy theo danh từ được chèn - một từ phân loại, một danh hiệu, hoặc một dạng đại từ có thể cần thiết trước hoặc sau từ được chèn, tùy thuộc vào những gì nó đề cập đến.

Giải pháp duy nhất đáng tin cậy là cung cấp câu hoàn chỉnh cho dịch giả, không phải các mảnh rời. Sử dụng ICU MessageFormat (được ghi lại trong đặc tả Unicode CLDR LDML) hoặc tương đương của engine để dịch giả có thể sắp xếp lại các token tự do trong một mẫu câu hoàn chỉnh duy nhất. Không bao giờ tách một đơn vị ngữ pháp thành hai khóa bản địa hóa riêng biệt.

Nhóm bạn có thể tự xử lý gì và khi nào nên thuê người kiểm thử LQA tiếng Việt bản ngữ

Một số kiểm tra LQA không cần kiến thức tiếng Việt và có thể được thực hiện hoàn toàn bởi đội QA nội bộ:

  • Báo cáo độ bao phủ ngôn ngữ: mọi khóa chuỗi trong bản build phải có giá trị tiếng Việt, không phải fallback tiếng Anh hay chuỗi rỗng.
  • Kiểm tra độ bao phủ glyph font cho U+1E00-U+1EFF trên mọi tài nguyên font trong UI tiếng Việt.
  • Chạy pseudo-localization (Unity hoặc Unreal) để xem trước giãn nở văn bản trước khi bản dịch được giao.
  • Kiểm tra tràn UI: test mọi container với văn bản dài hơn 25-30% so với tiếng Anh.
  • Định dạng số và tiền tệ: tiếng Việt dùng dấu chấm (.) cho hàng nghìn, dấu phẩy (,) cho thập phân; 500.000₫ chứ không phải 500,000₫.

Người kiểm thử tiếng Việt bản ngữ thực sự cần thiết cho tính chính xác đại từ và ngữ điệu trong hội thoại câu chuyện và lời nói NPC, sự phù hợp văn hóa của humor và thành ngữ, và luồng hội thoại trong ngữ cảnh - nơi tiếng Việt đúng vẫn có thể nghe như bản dịch nếu nhịp câu và đại từ không tự nhiên. Thị trường game di động Việt Nam có khoảng 55 triệu người chơi; chi phí một lần kiểm thử LQA nhỏ hơn nhiều so với chi phí danh tiếng từ bài đăng viral về tiếng Việt hỏng.

Để được hỗ trợ bản địa hóa và LQA game tiếng Việt, xem dịch vụ bản địa hóa game tiếng Việt.

Câu hỏi thường gặp

Tôi có cần lần kiểm thử LQA đầy đủ nếu đã có dịch giả xem xét file không?

Có. Xem xét file phát hiện lỗi dịch nhưng không phát hiện lỗi trong ngữ cảnh: tràn UI, lỗi chuỗi lắp ghép, thiếu glyph và chuỗi hardcoded chỉ xuất hiện trong game đang chạy. LQA bổ sung cho xem xét bản dịch và không thay thế nó. Chạy lần kiểm tra ảnh chụp màn hình trong game sau khi hoàn thành QA dịch thuật, không phải thay cho nó.

Một game di động điển hình có bao nhiêu chuỗi cần kiểm thử LQA tiếng Việt?

Một game RPG di động cỡ trung thường có 5.000-15.000 chuỗi bản địa hóa. Lần kiểm thử đầy đủ bao gồm tất cả màn hình UI, hội thoại câu chuyện chính và tên NPC. Lần kiểm thử rút gọn bao gồm con đường quan trọng: menu chính, HUD, hướng dẫn và các điểm câu chuyện chính. Với lần ra mắt đầu tiên ở Việt Nam, bao phủ đầy đủ con đường quan trọng cộng kiểm tra điểm cho luồng phụ là điểm xuất phát thực tế.

Có thể dùng dịch máy với biên tập sau (MTPE) cho game tiếng Việt thay vì dịch mới không?

MTPE phù hợp với mô tả vật phẩm, thông báo hệ thống và văn bản mà lựa chọn đại từ là cố định và ngữ điệu trung tính. Tránh MTPE cho hội thoại câu chuyện, lời nói NPC và các cảnh mà quan hệ người nói - người nghe quyết định lựa chọn đại từ. Người biên tập phải là người Việt bản ngữ đánh giá ngữ cảnh, không chỉ sự lưu loát.

Nên xếp mức độ nào cho lỗi đại từ trong game tiếng Việt?

Lỗi đại từ trong hội thoại câu chuyện thường là Lớn (người chơi hiểu văn bản nhưng ngữ điệu xã hội rõ ràng sai). Lỗi đại từ làm thay đổi ý nghĩa hướng dẫn nhiệm vụ hoặc che giấu mối quan hệ NPC với người chơi là Nghiêm trọng. Lỗi đại từ trên màn hình trung tính ngữ cảnh (cài đặt, loading) là Nhỏ. Dùng MQM hoặc thang mức độ của studio nhất quán để người xem xét và lập trình viên đồng ý về ưu tiên.

Engine nào có hỗ trợ tốt nhất cho bản địa hóa tiếng Việt?

Unity Localization Package (com.unity.localization) hỗ trợ bảng chuỗi UTF-8, Smart Strings cho số nhiều và điều kiện, và pseudo-localization cho kiểm tra layout sớm. Pipeline bản địa hóa Unreal Engine hỗ trợ xuất XLIFF và chuỗi font dự phòng. Cả hai engine cần cấu hình thủ công atlas font để bao phủ toàn bộ phạm vi Unicode tiếng Việt (U+1E00-U+1EFF). Không engine nào tự động phát hiện ngữ điệu đại từ - điều đó luôn đòi hỏi phán đoán của người xem xét bản ngữ.

Nguồn

Written by Dao Huy (Lucas), Vietnamese translator & localization specialist (EN · ZH · FR → Vietnamese). See translation services →

Báo giáWhatsApp