Game Localizer
简体中文 | English
Game Localizer is a localization pipeline for game text, not merely a machine-translation tool. It brings resource scanning, translation memory, model-assisted translation, quality assurance, human revision, artifact building, and publishing together in one traceable workflow.
The project was open-sourced in August 2026, but the workflow itself grew out of several years of maintaining Chinese localization for Mir Tankov. Practices validated through recurring real game updates were generalized into this reusable framework. Localization resources and release metadata are maintained separately in tanki-i18n-metadata, keeping redistributable framework code distinct from game-specific content and release data.
Project status
Game Localizer is an actively developed pre-1.0 open-source project. The current repository already includes cross-platform CI, automated regression coverage, full-history secret scanning, bilingual documentation, an example project, and explicit QualityGate / human-authorization boundaries around release and publishing workflows.
The next major design track is M8 Agentic Workflows and the Tauri Client. It is intentionally documented as a proposal before implementation so agent permissions, deterministic validation, security boundaries, and human approval requirements remain reviewable.
Key features
- Supports Gettext PO/MO, ParaTranz JSON, and Paradox YAML.
- Manages SQLite translation memory with stable coordinates and source fingerprints.
- Supports OpenAI-compatible translation models, concurrency, rate limiting, and tokenizers.
- Checks placeholders, terminology, residual source-language text, filtering, and normalization.
- Provides auditable human revision, failure recovery, and incremental rebuilds.
- Builds
previewartifacts and QualityGate-protectedreleaseartifacts. - Publishes to local directories, GitHub Releases, Cloudflare R2, and Alibaba Cloud OSS.
Documentation
The complete usage documentation now lives in one documentation site. This README remains a project entry point so parallel instructions do not drift apart.
- Documentation site
- Documentation source
- First-time setup
- Usage guide
project.yamlreference- TM and SQLite
Shortest path to a running dashboard
Python 3.10 or later is required. Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[all]"
localizer dashboard projects/example/project.yaml --host 127.0.0.1 --port 8080
Then open http://127.0.0.1:8080. The documentation site is authoritative for project configuration, credentials, CLI workflows, TM migration, and publishing.
Development
python -X utf8 -m unittest discover -s tests
The documentation site uses the open-source Material for MkDocs. Preview it locally with:
python -m pip install -e ".[docs]"
mkdocs serve
Current limitations
- Community-platform workflows currently have a configuration model and offline synchronization components, but no online API client.
- The web dashboard targets local observability and targeted single-user revision, not multi-user approval workflows.
- Remote publishing requires the relevant optional dependencies, environment credentials, and explicit governance configuration.
- M8 Agentic Workflows and the Tauri Client is currently a design proposal.
License
This project is free software licensed under the GNU General Public License v3.0 or later (SPDX: GPL-3.0-or-later). Third-party dependencies and external resources retain their respective licenses. See LICENSE for the complete terms.
Metadata
Release files for game-localizer 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| game_localizer-0.1.0.tar.gz | 434.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| game_localizer-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 735.6 kB
Release files / game_localizer-0.1.0.tar.gz
| Download URL | game_localizer-0.1.0.tar.gz |
|---|---|
| Size | 434.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bba1713cd16ef7ad11c2541f68942e0cd90100f222701ec8c341cf41570aa004
|
|
BLAKE2b-256 checksum How to use checksums |
92cbdb874c1f2cf28f74a612e410a0714f49806a40ee9e50df62dc5be834cdc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency logRelease files / game_localizer-0.1.0-py3-none-any.whl
| Download URL | game_localizer-0.1.0-py3-none-any.whl |
|---|---|
| Size | 301.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f597cff0a44dc56c33a3003d19051531836debb5a5238c964209658180bd21b4
|
|
BLAKE2b-256 checksum How to use checksums |
28b6c0316df5d173db9f053cf253f6f01b9fe2e10c3fcab73d9fc86905bac10c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency log