Use PascalCase for i18n namespaces containing spaces

What does this MR do and why?

This fixes ten malformed i18n namespace prefixes.

A namespace should be a PascalCase prefix followed by a single pipe, like ApprovalRule|day(s): https://docs.gitlab.com/development/i18n/externalization/#namespaces. PascalCase can't contain spaces. Ten namespaces contained spaces, covering 46 strings across 15 files. This renames them.

Before After Strings
Compliance Center Export ComplianceCenterExport 22
Compliance report ComplianceReport* 7
Compliance Center ComplianceCenter 5
Deployment Target DeploymentTarget* 3
Code Coverage CodeCoverage 2
Review App ReviewApp 2
Virtual registry VirtualRegistry* 2
Corpus Management CorpusManagement* 1
License Compliance LicenseCompliance* 1
Pipeline Editor PipelineEditor* 1

Six of the ten already had a PascalCase namespace of the same name in active use (* in table), so those strings now join the existing one instead of sitting in a near duplicate.

There is no visible change in the UI. The pgettext helper in app/assets/javascripts/locale/index.js returns the last pipe delimited segment either way. The namespace only matters as the context translators see in Crowdin, and to any code that strips the namespace up to the first pipe.

Related to Hugo shortcode to flag UI text instead of relyi... (gitlab-org/technical-writing/docs-gitlab-com#733 - closed)

One string merges into an existing msgid

Compliance report|Requirements becomes ComplianceReport|Requirements, which already existed. Both label the same column concept in the compliance dashboard, so they collapse into one msgid. This is why the POT loses one more entry than it gains.

References

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist.

This merge request was drafted with Claude Code.

Edited by Marcel Amirault

Merge request reports

Loading
Loading