Auto_Translate_Mod_Langue_Vietnamese
Gói dịch tiếng Việt cho các mod Factorio phổ biến. Mod này không chứa code Lua, chỉ gồm các file locale/vi/*.cfg — mỗi file dịch đúng theo key gốc trong locale/en của một mod khác. Khi bật mod này cùng các mod được hỗ trợ, tên item/entity/công nghệ/công thức/cài đặt/giao diện của mod đó sẽ tự động hiển thị tiếng Việt, không cần cấu hình gì thêm.
- Tác giả: Hoang0109
- Version hiện tại: 1.1.3
- factorio_version: 2.1
Cách hoạt động
Factorio gộp toàn bộ file .cfg trong locale/<ngôn ngữ>/ của mọi mod đang bật thành một cây key duy nhất. Vì vậy một file trong locale/vi/ của mod này có thể ghi đè bản dịch cho key do một mod hoàn toàn khác định nghĩa, miễn là:
- Tên section (
[item-name],[entity-name],[mod-setting-name], ...) và key phải khớp chính xác với key gốc tronglocale/encủa mod đích. - Trong cùng một file, mỗi tên section chỉ được xuất hiện một lần duy nhất — Factorio báo lỗi
Duplicate key "..." in property tree at ROOTnếu section bị lặp lại trong 1 file (đã từng gặp lỗi này ởbodyguard-companion-drones.cfg, xem mục Lịch sử sự cố bên dưới). - Mọi placeholder phải giữ nguyên không dịch:
__1__,__2__,__CONTROL__ten-phim__,[color=...],[font=...],[img=...],[item=...],[entity=...],[technology=...],[quality=...], và chuỗi\n(xuống dòng) trong giá trị.
Danh sách mod đã Việt hóa
Mỗi mục dưới đây tương ứng 1 file trong locale/vi/, tên file trùng với name trong info.json của mod gốc:
Tiện ích / kho đồ
AutoDeconstruct, BigBags, DynamicInventory, InfiniteOres, Quicksearch, Silicon, Silicon-Experimental, force-inventory-insert, inventory-repair, keep-inventory, Sort-All-Inventories, faster-start, infinity-invo, angelbob-spaceage-even-distribution-patch, even-distribution, far-reach
Xây dựng / logistics / loader
aai-loaders, aai-loaders-stacking-filtering-paules, belt-visualizer, show-max-underground-distance, mineore, resourceMarker, global-power-network, electric_pole_free_light
Combat / phòng thủ
ldinc_railgun_artillery, train-bulldozer, bodyguard-companion-drones
Bộ mod tổng hợp
VanillaReviseV2, VanillaReviseV2-database
Khác
New-Trains, came-prepared
Danh sách đầy đủ và mô tả ngắn từng mod nằm trong changelog.txt (mục Version 1.1.0) và trong mảng dependencies (tiền tố ? = optional) của info.json.
Cấu trúc thư mục
Auto_Translate_Mod_Langue_Vietnamese/
├── info.json # name, version, factorio_version, mô tả, dependencies
├── changelog.txt # lịch sử thay đổi từng version
├── info.md # file này
├── thumbnail.png # ảnh đại diện mod (144x144 nếu publish lên Mod Portal)
├── build_test_zip.ps1 # script build/test, KHÔNG bị đóng gói vào zip (loại theo đuôi .ps1)
└── locale/
└── vi/
├── base.cfg # tên/mô tả của chính mod Auto_Translate_Mod_Langue_Vietnamese
└── <ten-mod-khac>.cfg # 1 file dịch cho mỗi mod được hỗ trợ
Build / test mod
Chạy PowerShell ngay trong thư mục mod:
powershell -ExecutionPolicy Bypass -File .\build_test_zip.ps1
Script sẽ:
- Tự dò bản Factorio engine đang cài trên máy, đề xuất giá trị
factorio_versiontương ứng (Enter để nhận, hoặc gõ giá trị khác dạngX.Y). - Hỏi version của mod (dạng
X.Y.Z, Enter để giữ nguyên). - Ghi 2 giá trị trên vào
info.json(chỉ thay đúng 2 dòng, không viết lại toàn bộ file). - Đóng gói thành
<name>_<version>.zip(chuẩn dấu/, không dùngCompress-Archiveđể tránh lỗi backslash khi upload Mod Portal). - Lưu 1 bản backup tăng dần vào
D:\Code\Factorio\MODS Check\. - Copy 1 bản vào thẳng
C:\Users\Admin\AppData\Roaming\Factorio\mods\để test ngay, đồng thời xóa các bản zip cũ khác version của chính mod này trong thư mục đó.
Thêm bản dịch cho một mod mới
- Tìm file
locale/en/*.cfggốc của mod muốn dịch (thường nằm trong file.zipcủa mod đó, giải nén ra xem). - Tạo file
locale/vi/<ten-mod>.cfg(đặt tên trùngnametronginfo.jsoncủa mod đó cho dễ quản lý, tên file không bắt buộc phải trùng nhưng nên trùng). - Copy nguyên cấu trúc section + key từ file
en, chỉ dịch phần giá trị, giữ nguyên mọi placeholder như mục "Cách hoạt động" ở trên. - Thêm
"? <ten-mod>"vào mảngdependenciestronginfo.json(dấu?= optional dependency, mod này không bắt buộc phải có mặt). - Kiểm tra không có section nào bị lặp lại trong cùng 1 file (xem mục Lịch sử sự cố).
- Chạy lại
build_test_zip.ps1để build và test.
Lịch sử sự cố đã gặp
| Version | Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|---|
| 1.1.1 | Incompatible Factorio version (current: 2.1, required: 2.0) |
factorio_version trong info.json khai 2.0 trong khi engine đã lên 2.1 |
Cập nhật factorio_version lên 2.1; script build từ bản 1.1.2 trở đi tự dò và điền đúng bản engine mỗi lần build |
| 1.1.2 | Failed to load locale: Duplicate key "mod-setting-name" in property tree at ROOT |
File locale/vi/bodyguard-companion-drones.cfg có 2 section [mod-setting-name] tách rời trong cùng 1 file |
Gộp lại thành 1 section duy nhất |
Xem chi tiết đầy đủ theo từng version trong changelog.txt.
Liên hệ
- Tác giả: Hoang0109
- Email: hoang0109@gmail.com