Engine được hỗ trợ · Gettext (.po / .mo)
Gettext là cách phần lớn game indie không phải của Nhật được bản địa hóa: game Python và pygame, Solarus, game SDL và GTK, cùng mọi game đi qua Poedit, Weblate hay Crowdin. Các chuỗi nằm trong thư mục locale dưới dạng .po nguồn và catalog .mo đã biên dịch. RuneTranslate phát hiện chúng ngay khi tạo dự án, dịch từng chuỗi và ghi lại một file .mo chạy được, chính là file mà game đang chạy thực sự đọc.
Catalog gettext chủ yếu là giao diện: mục menu, nhãn nút, tooltip và dòng trạng thái lặp lại ở nhiều màn hình. Hãy thêm danh từ sản phẩm, tên vật phẩm và các động từ chính vào bảng thuật ngữ một lần, mọi chỗ xuất hiện sẽ được dịch giống hệt nhau. Điều này quan trọng hơn cả hội thoại, vì một menu ghi “Save” ở chỗ này và “Store” ở chỗ khác sẽ trông như lỗi.
Chọn thư mục game cho RuneTranslate, tức thư mục chứa locale/, lang/ hoặc i18n/. Việc phát hiện dựa vào nội dung byte thực của catalog chứ không dựa vào phần mở rộng, nên một file .mo thật ra là file cảnh 3D sẽ bị bỏ qua. Một thư mục chứa các file .po rời cũng dùng được.
Hộp thoại Dự án mới cho biết đã đọc bao nhiêu catalog, bao nhiêu là .mo đã biên dịch so với .po nguồn, game đã có sẵn những locale nào và tổng số chuỗi, trước khi bạn quyết định tạo dự án.
Chọn ngôn ngữ đích và nhà cung cấp: Google hoặc DeepL miễn phí, hoặc khóa DeepL, OpenAI, Claude hay DeepSeek của riêng bạn. Các placeholder định dạng như %s, %d, %(player)s, {count} được che bằng mặt nạ trước khi dịch và khôi phục sau đó, nên nhà cung cấp không thể làm mất hay diễn đạt lại chúng.
Các chuỗi được nhóm theo file catalog. Mỗi mục giữ nguyên ngữ cảnh gettext (msgctxt), là phần phân biệt nghĩa mà nhà phát triển viết đúng cho chuỗi đó, nên bạn thấy được vì sao cùng một từ xuất hiện hai lần và dịch từng chỗ cho đúng.
Khi xuất, RuneTranslate ghi ra một bản sao đầy đủ của game với catalog locale/<your language>/LC_MESSAGES/ chuẩn VÀ một phiên bản cập nhật của catalog mà game vốn đang nạp, nên bản dịch xuất hiện dù game chọn ngôn ngữ theo cách nào. Cả .po lẫn .mo đã biên dịch đều được ghi.