tyranobuilder · tutorial · engine
Cách dịch game TyranoBuilder / TyranoScript sang tiếng Anh
Dịch visual novel TyranoBuilder / TyranoScript bằng RuneTranslate: trích xuất kịch bản data/scenario/*.ks, che các thẻ KAG, dịch tên hiển thị của nhân vật và xuất bản dựng HTML5 hoặc Electron chơi được.
TyranoBuilder và engine TyranoScript bên dưới là nền tảng của một danh mục lớn visual novel indie Nhật, đóng vai trò lựa chọn công nghệ web (HTML5 / JavaScript) thay cho Kirikiri và Ren'Py, phát hành dưới dạng thư mục HTML5 độc lập hoặc file thực thi bọc Electron. Kịch bản của nó dùng cùng cú pháp .ks kiểu KAG như Kirikiri, nên văn bản rất dễ tiếp cận khi bạn biết nó nằm ở đâu. Hướng dẫn này đi qua việc dịch một game TyranoBuilder từ đầu đến cuối bằng RuneTranslate, gồm cả phần mà hầu hết công cụ bỏ sót: tên hiển thị của nhân vật.
Bạn cần gì
- RuneTranslate cho Windows hoặc Linux: miễn phí, mở khóa mọi engine và mọi nhà cung cấp trừ RuneLingua.
- Một game TyranoBuilder: thư mục HTML5 độc lập (các thư mục
data/vàtyrano/nằm rời) hoặc bản dựng Electron (mộtresources/app.asarchứatyrano/tyrano.jsvàdata/scenario/*.ks). RuneTranslate phát hiện được cả hai. - Một ngôn ngữ đích: tiếng Anh, Tây Ban Nha, Pháp, Đức, Trung và hơn 30 ngôn ngữ khác.
- Một nhà cung cấp. Visual novel nặng hội thoại, nên LLM (OpenAI / Anthropic) hoặc DeepL đọc tự nhiên nhất; Google Translate miễn phí dùng được ngay.
Bước 1: Mở thư mục game
Mở RuneTranslate, bấm Dự án mới và trỏ vào thư mục game (hoặc thư mục chứa file .exe với bản dựng Electron). Việc phát hiện nhận ra TyranoBuilder từ runtime tyrano/ cùng các kịch bản data/scenario/; với bản dựng Electron, nó đọc thẳng app.asar, nên bạn không phải giải nén gì. Game gốc của bạn không bao giờ bị chỉnh sửa.
Bước 2: Cách các chuỗi được trích xuất
RuneTranslate lấy văn bản cần dịch từ mọi nơi TyranoBuilder lưu nó:
- Kịch bản: mọi file
data/scenario/**/*.ks, gồm cả_preview.ksvà các bản saosystem/_*.ksmà một số bản dựng dựa vào. - Giao diện và cấu hình:
tyrano/lang.jsvàdata/system/Config.tjs. - Tên hiển thị của nhân vật: nhãn người nói hiện phía trên hội thoại (phần tiếp theo).
Các thẻ KAG nằm trong dòng, gồm [r] ngắt dòng, [p] chờ bấm, [改ページ] ngắt trang, [font color=...] và các thẻ đặt tên bằng tiếng Nhật, được che sau các chỗ giữ chỗ đánh số [[U#]] trước khi bất cứ thứ gì tới nhà cung cấp, rồi được khôi phục khi xuất, nên định dạng còn nguyên vẹn. File .ks nhị phân được nhận ra bằng phép dò UTF-8 và không bao giờ bị ghi đè.
Bước 3: Tên nhân vật, phần riêng của Tyrano
Kịch bản thường gọi người nói bằng cách viết tắt trong dòng như [yuki], vốn là ID của nhân vật chứ không phải văn bản hiển thị. RuneTranslate không bao giờ viết lại các tham chiếu đó (làm vậy sẽ phá việc tra cứu nhân vật của engine và làm sập cảnh). Thay vào đó, nó dịch tên hiển thị và chèn một mục [chara_new name=... jname=...] đúng chuẩn vào data/system/chara_define.ks khi xuất. Tên hiện trên màn hình được dịch; ID mà kịch bản dùng giữ nguyên.
Bước 4: Dịch và xem lại
Chọn nhà cung cấp và chạy. LLM (OpenAI / Anthropic) đọc tốt nhất cho giọng nhân vật; DeepL nhanh và sạch cho phần dẫn truyện; Google Translate miễn phí lo phần menu. Hãy lập bảng thuật ngữ cho dàn nhân vật và các thuật ngữ lặp lại trước, để tên được hiển thị giống hệt nhau ở mọi tuyến truyện, xem Bảng thuật ngữ 101. Mỗi dòng nằm trong trình chỉnh sửa cạnh bản gốc; bạn sửa ngay tại chỗ (lưu khi rời ô hoặc nhấn Ctrl+Enter), dùng tìm và thay thế, hoặc chạy tùy chọn bộ tinh chỉnh AI để có lượt thứ hai hiểu ngữ cảnh. Gói Miễn phí bị giới hạn tốc độ ở mức vừa phải, khoảng một nửa thông lượng của gói trả phí trên các nhà cung cấp AI, với chất lượng đầu ra giống hệt.
Bước 5: Xuất bản dựng chơi được
Bấm Xuất. Với game HTML5 độc lập, RuneTranslate ghi các kịch bản .ks đã dịch, lang.js, cấu hình và chara_define.ks đã chèn vào một bản sao của game. Với bản dựng Electron, nó đóng gói lại một app.asar đã chỉnh sửa. Dù cách nào, bạn cũng có một bản sao đầy đủ, chạy được ở vị trí bạn chọn: mở lên là chơi bằng ngôn ngữ đích.
Các giới hạn đã biết
- File
.ksnhị phân (được nhận ra là không phải UTF-8) được để nguyên, nên kịch bản trong bản dựng như vậy sẽ không dịch được. - Chữ trong ảnh (logo, giao diện vẽ tay, chú thích CG) trong bản HTML5 dạng file rời có thể dịch trong Studio ảnh; ảnh đóng gói bên trong
app.asarhoặc.exethì chưa được liệt kê. - Plugin tùy biến tạo hội thoại lúc chạy có thể cần sửa tay nhanh trong trình chỉnh sửa.
Vì sao cách này dễ hơn cách cũ
Cách làm thủ công nghĩa là giải nén app.asar, tìm mọi file .ks (kể cả các bản sao hệ thống dễ bị sót), dịch vòng quanh các thẻ KAG bằng tay, tự tìm cách chèn tên nhân vật, rồi đóng gói lại asar mà không làm hỏng nó. RuneTranslate gộp cả chuỗi đó thành vài lần bấm, với trình chỉnh sửa mở sẵn để bạn kiểm soát câu chữ.
Xem trang engine TyranoBuilder để biết đầy đủ tính năng, đọc hướng dẫn Kirikiri về engine KAG liên quan, hoặc tải RuneTranslate và thử trên một game thật.
Bài liên quan
Sẵn sàng thử RuneTranslate?
Gói miễn phí mở khóa mọi engine và mọi nhà cung cấp dịch trừ RuneLingua. Supporter ($3.99/tháng) mở khóa tốc độ tối đa.
Tải cho Windows & Linux
