Skip to main content

Godot Localization QA Guard

A CI-friendly localization QA checker for Godot CSV and PO translation files. It catches missing strings, duplicate keys, broken placeholders, UTF-8 BOM issues, fuzzy PO entries, unchanged target strings, missing project keys, unused catalog keys, and layout-sensitive text risks.

Install

python -m pip install -e .

When published:

python -m pip install godot-localization-qa-guard

Quick Start

godot-l10n-guard C:\Projects\MyGame --translations translations --require fr,es
godot-l10n-guard . --csv assets\i18n\strings.csv --scan-scripts --scan-scenes
godot-l10n-guard . --po locale --format markdown --output docs\LOCALIZATION_QA.md
godot-l10n-guard . --format json --output localization-report.json
godot-l10n-guard . --translations translations --max-expansion 1.35 --allowed-glyphs-file fonts\ui-glyphs.txt
godot-l10n-guard . --translations translations --pseudo-output reports\pseudo-localized.csv --fail-on none
godot-l10n-guard stress-pack . --translations translations --output-dir reports\localization-stress --format markdown --output reports\localization-stress.md
godot-l10n-guard capture-plan . --stress-pack reports\localization-stress\stress-pack-manifest.json --screen main_menu --screen settings --viewport portrait_phone --format markdown --output reports\localization-capture-plan.md
godot-mobile-ui-doctor layout-risk mobile-ui.json --stress-pack reports\localization-stress\stress-pack-manifest.json --format markdown --output reports\mobile-layout-risk.md

Run the sample:

godot-l10n-guard examples\tiny-godot-project --translations examples\tiny-godot-project\translations --scan-scripts --fail-on none

What It Checks

  • Godot CSV header starts with keys.
  • Required language columns exist.
  • Required target cells are not empty.
  • Duplicate CSV keys and PO msgid values.
  • PO fuzzy and untranslated entries.
  • Placeholder sets match across source and target text.
  • Target strings that are unchanged from source.
  • Target strings that exceed an optional expansion ratio.
  • Characters outside an optional UI-font glyph allow-list.
  • tr("KEY") and TranslationServer.translate("KEY") usage.
  • Uppercase key-like scene text values.
  • Missing and unused keys when scanning is enabled.
  • Pseudo-localized CSV previews for UI stress testing.
  • Synthetic pseudo, long, compact, and RTL-like CSV catalogs for layout review.
  • Screenshot capture plans for stress locales, screens, and viewport profiles.
  • Report metadata and plain-language rule explanations for easier CI review.

Documentation

Development

python -m pip install -e .
python -m unittest discover -s tests -v
godot-l10n-guard examples\tiny-godot-project --translations examples\tiny-godot-project\translations --scan-scripts --fail-on none

Metadata

Release files for godot-localization-qa-guard 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for godot-localization-qa-guard 0.1.5
File Size Uploaded
godot_localization_qa_guard-0.1.5.tar.gz 20.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for godot-localization-qa-guard 0.1.5
File Interpreter ABI Platform
godot_localization_qa_guard-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 40.1 kB

Release files / godot_localization_qa_guard-0.1.5.tar.gz

Download URL godot_localization_qa_guard-0.1.5.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3848127b84b1439432fd10f568f7870469f46fcbcd2b6141469f57e030ea20cb
BLAKE2b-256 checksum
How to use checksums
94e0f3e482b754287e84b07c512a48b768e8a7b7762ef4e1c5d3ba7debadf5e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 27, 2026.

Transparency log

Release files / godot_localization_qa_guard-0.1.5-py3-none-any.whl

Download URL godot_localization_qa_guard-0.1.5-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5c90fddef0ef380a85208f5759028c8047dedb87c548f4d2f4487b033e0d077
BLAKE2b-256 checksum
How to use checksums
cfc8fc30c12b39120a8d3a8797a26ff303ca08b6b314c07ab04c2c42116590ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page