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

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.
  • 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

godot_localization_qa_guard-0.1.4.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

godot_localization_qa_guard-0.1.4-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file godot_localization_qa_guard-0.1.4.tar.gz.

File metadata

File hashes

Hashes for godot_localization_qa_guard-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a1633923cb2c4edad8d7d2a6f33374acb5de01695fed5226ea255e84bf3afc93
MD5 cbb4d29e85e7b18aa65e79c62ff67b9e
BLAKE2b-256 3770a2473befee00c263902aa10d5ea705eae174c3475d957bc58116dca2d9ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_localization_qa_guard-0.1.4.tar.gz:

Publisher: publish-localization-qa-guard.yml on NonniGB/godot-production-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file godot_localization_qa_guard-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for godot_localization_qa_guard-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5832d63aaccbc2fc58380c3be358931e9fa5d657e9af200bd8e5fb82fe17a276
MD5 cb123573d7212573870f3dacbf714b3f
BLAKE2b-256 45b713e7bd8e59c728ea787825121efd47f8056c8cef1a93b15af4f7ebf6f283

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_localization_qa_guard-0.1.4-py3-none-any.whl:

Publisher: publish-localization-qa-guard.yml on NonniGB/godot-production-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page