Skip to content

PlagaMedicum/TranslationZed-py

Repository files navigation

Support me!

👋🤠 Hey, fellow wanderer! I have done a lot of work here, so you can show your apreciation for it and motivate me for further improvements by making some donation (any amount will be apreciated)! ↓ There are different donation options, so click the button below to learn more!

Donate using Liberapay

TranslationZed-Py

TranslationZed-Py is a Python Open-source re-implementation of TranslationZed for platform-independent translation of Project Zomboid. It is built as a fast, lossless CAT (computer-assisted translation) tool for PZ translators, by PZ translators. Discussion on the PZ forum.

This project is currently WIP, but is fully functional for production use. Still be cautious before sending merge requests into the official translations repo.

This code was written at free time with a broad AI usage.

The main features of this CAT are:

  • Support for all major desktop OSes (Linux, Windows, MacOS).
  • Full parsing and carefull writing of translations into original files without disrupting entries order, comments, indents etc.
  • Cache to track changes in EN strings and support of rows statuses (Untouched, For review, Translated and Proofread). Very handful for collaborative work.
  • Project's and imported TMs support.
  • TM export for selected locale.
  • Full support of search/replace with search entries list, different scopes for search and replace, full regex support.
  • Syntax highlighting and highliting for spaces and new-line character.
  • All basic editing features from other CAT systems.

Releases

Prebuilt app folders are published as releases on GitHub (Linux/Windows/macOS). Download the ZIP for your OS, extract it, and run the executable inside the folder:

  • Linux/macOS: TranslationZed-Py
  • Windows: TranslationZed-Py.exe

Build & Run (from source)

Prerequisites:

  • Python 3.10+
  • make (Linux/macOS)

Linux/macOS:

make venv
make run ARGS="path/to/ProjectZomboidTranslations"

Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -U pip
python -m pip install -e ".[dev]"
python -m translationzed_py "path\\to\\ProjectZomboidTranslations"

Run tests:

make test

Run full local verification (auto-fix + warning if files changed):

make verify

Run strict CI-equivalent verification (check-only, non-mutating):

make verify-ci

Notes:

  • A local config is stored in .tzp/config/settings.env.
  • Use make run without ARGS to open the default root (set on the first startup).

Packaging (executables)

We build executables on each target OS (no cross‑compilation).

Linux/macOS:

make pack

Windows (PowerShell):

python -m pip install -e ".[dev,packaging]"
python -m PyInstaller --clean --noconsole --name TranslationZed-Py ^
  --add-data "LICENSE;LICENSE" --add-data "README.md;README.md" ^
  --collect-all PySide6 translationzed_py\\__main__.py

Artifacts are written to dist/TranslationZed-Py/ (PyInstaller default).

Releases:

  • Tagged pushes (vX.Y.Z) trigger multi‑OS builds in GitHub Actions.
  • Each release contains zipped app folders for Linux, Windows, and macOS.

Contributing

This codebase is largely written by AI (you are welcomed to help verify and improve it!). If you want to contribute, please read the /docs and try to follow the architecture and standards described there. It was made for LLM to store context and my vision of the project. For document ownership and anti-duplication rules, follow docs/meta/docs_structure.md.

License

This project is Open-source, licensed under GPLv3. Distributions must include source code and the license text.

Developed with assistance from Codex in VSCodium (GPT‑Plus). Contributors should ensure their usage complies with OpenAI terms/policies and review any generated code for third‑party license obligations before inclusion.

About

CAT tool to work with ProjectZomboid l10n files, written in Python

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages