kirikiri · tutorial · engine
Cách dịch visual novel Kirikiri / KAG sang tiếng Anh
Dịch visual novel Kirikiri / KAG sang tiếng Anh bằng RuneTranslate: tự động đọc archive .xp3 đã đóng gói, dịch scenario KAG .ks và cảnh PSB, rồi xuất patch.xp3 mà game tự nạp.
Kirikiri (吉里吉里) cùng lớp scenario KAG đứng sau rất nhiều visual novel Nhật. Điểm khó là Kirikiri đóng gói script, hình ảnh và âm thanh vào archive .xp3, và nhiều studio còn dùng biến thể archive riêng. Vì vậy Kirikiri nổi tiếng là khó dịch. Bài này hướng dẫn làm trọn quy trình bằng RuneTranslate: đọc .xp3, dịch scenario KAG .ks và xuất bản vá để game tự nạp.
Bạn cần chuẩn bị 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 thư mục game Kirikiri: thư mục chứa file
.execủa game và một hoặc nhiều archive.xp3(thường làdata.xp3,scenario.xp3, v.v.). Các bản KirikiriZ có chữ ký, kèm file.exe.emb/.xp3.sig, cũng được nhận diện. - Một ngôn ngữ đích: tiếng Anh, Tây Ban Nha, Pháp, Đức, Bồ Đào Nha, Nga, Trung, Ý, Thổ Nhĩ Kỳ, Việt và hơn 20 ngôn ngữ khác.
- Một nhà cung cấp dịch. Visual novel nặng về hội thoại nên LLM (OpenAI / Anthropic) hoặc DeepL thường cho bản dịch đọc hay nhất; Google Translate miễn phí dùng được ngay.
Bước 1: Mở game và giải nén XP3
Mở RuneTranslate, bấm Dự án mới và chọn thư mục game Kirikiri. RuneTranslate tự phát hiện engine. Trình đọc XP3 tích hợp sẽ mở chỉ mục archive, kể cả phần đầu chỉ mục nén 17 byte mà các archive lớn dùng, rồi lấy các file scenario ra. Archive gốc của bạn không bị chỉnh sửa.
Archive đã đóng gói được mở tự động, kể cả, với những tựa RuneTranslate nhận ra, định dạng mới hơn mà một số bản phát hành gần đây dùng. Một vài định dạng hiếm vẫn chưa được nhận ra.
Bước 2: Hội thoại Kirikiri được trích xuất thế nào
Kirikiri lưu hội thoại trong script scenario KAG .ks. RuneTranslate phân tích chúng và liệt kê phần văn bản cần dịch trong trình chỉnh sửa:
- Hội thoại và lời dẫn: các dòng scenario thô.
- Trích xuất thuộc tính thông minh: chữ đọc được nằm trong các thẻ như
[ruby/],[ch text="..."],[name text="..."]và[button text="..."]được lấy ra để dịch, còn cấu trúc thẻ được giữ nguyên.
Các thẻ điều khiển nội tuyến của KAG được che sau các placeholder số [[K#]] trước khi bất cứ thứ gì đến nhà cung cấp, nên máy không thể làm hỏng định dạng của engine. Một số game KirikiriZ còn đóng scenario thành file nhị phân PSB .scn đã biên dịch (định dạng PSB\0). RuneTranslate cũng phân tích và đóng gói lại các scenario PSB chuẩn (định dạng phiên bản 1 đến 4), nên những game này dịch giống hệt game dùng script văn bản.
Bước 3: Dịch và rà soát
Chọn nhà cung cấp rồi chạy. Với giọng nhân vật và lối nói cách điệu, LLM như OpenAI hoặc Anthropic đọc hay nhất; DeepL nhanh và gọn cho lời dẫn; Google Translate miễn phí đủ cho 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, để mọi tuyến truyện dịch tên giống nhau, xem Bảng thuật ngữ 101. Ở gói Miễn phí, tốc độ dịch bị giới hạn nhẹ (chậm hơn khoảng 2 lần trên các nhà cung cấp AI, ít hơn trên các nhà cung cấp miễn phí) nhưng chất lượng đầu ra y hệt; các gói trả phí chạy tốc độ tối đa và có thêm bộ nhớ dịch.
Mỗi dòng nằm trong trình chỉnh sửa ngay cạnh văn bản gốc. Bạn có thể sửa trực tiếp (lưu khi rời ô hoặc bấm Ctrl+Enter), dùng Tìm và Thay thế, hoặc chạy bộ tinh chỉnh AI tùy chọn để rà soát lượt hai có tính đến ngữ cảnh, rất hữu ích với các tuyến VN dài.
Bước 4: Xuất bản vá
Bấm Xuất. RuneTranslate ghi scenario đã dịch dưới dạng file rời cùng một hook khởi động, và thêm một patch.xp3 phẳng khi cần. Có hai đường ghi đè vì không đường nào hợp với mọi game:
- File rời + hook khởi động: lệnh gọi
addAutoPathcủa hook đưa file rời lên trên archive của game. Vì mỗi bản build chạy một điểm vào khởi tạo khác nhau, RuneTranslate ghi hook dưới cả ba tên mà các game hay dùng:AfterInit2.tjs,xAfterInit2.tjsvàxAfterInit.tjs, nên game gọi tên nào cũng nhận được. - patch.xp3: Kirikiri tự mount
patch.xp3/patch2.xp3với độ ưu tiên cao hơn archive của chính game (“đường dẫn sau thắng”), nên nó ghi đè được cả khi game tắt hook khởi động. Bản vá được ghi ở dạng mà game chấp nhận. Một số bản build từ chốipatch.xp3thêm vào, nên ở đó hook file rời là đường mang bản dịch.
Kết quả là bản dịch của bạn đặt cạnh game gốc. Chạy file .exe và game sẽ chơi bằng ngôn ngữ đích.
Giới hạn đã biết
- Một định dạng archive đóng gói hiếm mà ứng dụng chưa nhận ra thì chưa được hỗ trợ. Hầu hết game thương mại mở được, nhưng không phải mọi trường hợp ngoại lệ.
- Scenario PSB
.scnkhông chuẩn hoặc nén MDF sẽ bị bỏ qua; chỉ PSB chuẩn (phiên bản 1-4) được hỗ trợ. - Bytecode KAG
.ksđã biên dịch hoặc token hóa (nhị phân / magicjkkhông giải mã ra văn bản) sẽ bị bỏ qua; chỉ script KAG đọc được và scenario PSB chuẩn mới được phân tích. - Chữ trong ảnh (logo, UI vẽ tay, chú thích CG) không nằm trong script; hãy dịch nó trong Studio ảnh, công cụ đọc ảnh thẳng từ archive XP3 (kể cả TLG) và chuyển ảnh đã dịch đi theo cùng cách với script.
Vì sao cách này dễ hơn cách cũ
Cách thủ công nghĩa là nhận ra định dạng archive, giải nén XP3 bằng một công cụ giải nén riêng, tự tìm phần chữ đọc được bên trong thẻ KAG, dịch mà không làm hỏng mã đánh dấu, rồi đóng gói lại hoặc nối đúng một đường ghi đè. RuneTranslate gộp cả chuỗi này (giải nén, trích xuất, che thẻ, dịch, dựng cả hook file rời lẫn patch.xp3) vào vài cú bấm, với trình chỉnh sửa luôn mở để bạn kiểm soát từng câu chữ.
Xem trang engine Kirikiri để biết đầy đủ tính năng, đọc hướng dẫn Ren'Py cho một engine visual novel khác, 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
