Skip to content

Locales and report i18n

Interface and report locales

PEART's interface and its generated reports are localised. The strings live in locale files under locales/, and an i18n-check gate runs on every commit to keep the locales consistent (no missing or orphaned keys), so a translation gap fails the build rather than shipping a blank label.

The report locale

An engagement carries a report locale (for example pt-br or en). A report is generated in that locale, and the locale governs the report's own wording, including the compliance line and its provenance: the affirmed and conditional phrasings, and the "NIST 800-53 rev5, PEART crosswalk vX, CWE 4.20" provenance, are all resolved per locale. Choose the report locale to match the client who reads it.

Catalogue content and locale

Technique catalogues declare their own locale, so a technique's authored content (objective, procedure, remediation) comes in the language of the catalogue that was imported. The mapping codes themselves (WSTG, ASVS, CWE identifiers) are language-neutral facts, the same in every locale.

Adding a language

Adding an interface or report language is adding its locale strings and letting the i18n-check gate confirm completeness. The mapping and control identifiers do not translate; the prose around them does.