Page MenuHomePhabricator

Production errors with whitespace in tunit names
Closed, ResolvedPublic1 Estimated Story PointsPRODUCTION ERROR

Description

Per https://www.mediawiki.org/wiki/Project:Village_Pump#Marking_Version_lifecycle_for_translation

[d70130f3-b837-41ca-b263-18d79f207bca] 2026-07-09 22:19:57: Fatal exception of type "Wikimedia\Assert\ParameterAssertionException"

Bad value for parameter $title: invalid name 'Translations/Translations:Version_lifecycle/_122_'

Event Timeline

Restricted Application changed the subtype of this task from "Task" to "Production Error". · View Herald TranscriptJul 10 2026, 5:36 PM
Restricted Application added a subscriber: • Aklapper. · View Herald Transcript

I tested the current behavior and found the following results:

I would like to contribute to this task as a part of road to wiki

Change #1309877 had a related patch set uploaded (by Abhinavwikigerrit; author: Abhinavwikigerrit):

[mediawiki/extensions/Translate@master] Fix production errors with whitespace in tunit names

https://gerrit.wikimedia.org/r/1309877

Change #1309877 merged by jenkins-bot:

[mediawiki/extensions/Translate@master] Fix production errors with whitespace in tunit names

https://gerrit.wikimedia.org/r/1309877

abi_ subscribed.

Appears to work well:

image.png (1,312×778 px, 99 KB)

image.png (1,413×954 px, 99 KB)

Existing translatable pages will no longer be editable without fixing the translation units. The issue should start healing itself over time.

Wait, why is this validation on save? There are already a few checks on marking for translation, couldn’t it be moved there? The extra whitespace doesn’t cause any issues until the page is marked for translation, but it does cause frustration to average users who know little to nothing about the translation syntax and just want to get their edit saved. If the error was flagged when the page gets marked for translation, it would be the job of the translation admins (who are expected to be familiar with the translation syntax) to fix any issues – both new and pre-existing.