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

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.5.tar.gz (20.3 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.5-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for godot_localization_qa_guard-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3848127b84b1439432fd10f568f7870469f46fcbcd2b6141469f57e030ea20cb
MD5 b12f21112bbd7bcc6b21d7c9ad2b6ee6
BLAKE2b-256 94e0f3e482b754287e84b07c512a48b768e8a7b7762ef4e1c5d3ba7debadf5e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_localization_qa_guard-0.1.5.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.5-py3-none-any.whl.

File metadata

File hashes

Hashes for godot_localization_qa_guard-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f5c90fddef0ef380a85208f5759028c8047dedb87c548f4d2f4487b033e0d077
MD5 9fe1ba969732280e23268a8ea91068dd
BLAKE2b-256 cfc8fc30c12b39120a8d3a8797a26ff303ca08b6b314c07ab04c2c42116590ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_localization_qa_guard-0.1.5-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