Before import
Requirements
- Unity 2022.3 LTS or later.
- No render-pipeline dependency.
- No network connection, account, telemetry or external service.
Locale QA never edits the selected table. Exports are separate files written only after you choose a destination.
First scan
Quick start
- Import
LocaleQAForUnity-v1.0.unitypackage. - Open Tools > Scope Garden > Locale QA.
- Drag a CSV or JSON TextAsset into Table.
- Leave Format on Auto, optionally set the source locale and validated thresholds.
- Select Run QA scan, review the evidence, then export Markdown, CSV or JSON.
Use Search findings to filter by rule code, key, locale or explanation. Search and severity filters do not change exported evidence.
Accepted input
Documented table schemas
CSV
The first column must be key; every remaining header is a locale code. The first locale is the source unless overridden. Quoted fields, escaped quotes, Unicode, commas and multiline cells are supported. Extra columns are rejected with their physical CSV line.
key,en,fr
menu.play,Play,Jouer
hud.score,Score: {0},Score : {0}JSON
Use root sourceLocale, locales and entries fields. Each entry contains a key and locale/text values. Duplicate values and undeclared locales are rejected with the JSON entry index.
{
"sourceLocale": "en",
"locales": ["en", "fr"],
"entries": [{"key":"menu.play","values":[
{"locale":"en","text":"Play"},
{"locale":"fr","text":"Jouer"}
]}]
}Evidence
What the tool checks
- Missing and empty translations.
- Duplicate, empty and risky keys.
- Indexed, named and formatted placeholder mismatches.
- Malformed or structurally different rich text.
- Edge whitespace and suspicious long or short translations.
- Right-to-left review prompts.
Findings are ordered by severity, rule code, key, locale, source location and message. Identical input and settings produce identical report text for source-control comparison or handoff.
Support boundary
Scope and limitations
Version 1 reads the documented CSV and JSON schemas. It does not translate text, rewrite tables, guarantee accessibility or legal compliance, or infer runtime layout. Direct Unity Localization String Table integration is not included.
Pseudo-localisation preserves documented placeholders and rich-text markup while accenting readable characters and adding configurable visual expansion. It is a layout-review aid, not a translation.
Common fixes
Troubleshooting
The table will not scan
Confirm the asset is a CSV or JSON TextAsset inside the project and that its schema exactly matches the examples above. A source-locale override must match a declared locale.
A valid placeholder is reported
V1 recognises .NET-style indexed and named braces such as {0}, {player} and {count:N0}. Custom tokens such as %PLAYER% require manual review.
Rich text is reported as mismatched
The rule compares tag structure and order with the source. A different structure can be intentional, but should be visually tested rather than changed blindly.
Export does nothing
Run a scan first and complete the operating-system save panel. The tool never chooses a destination automatically.
