Hi, I'll answer your side question. The "#special" syntax is used to represent the translated name of the special page in the message while avoiding the need for a translator to copy this to the message.
Thanks, Dreamy Jazz On Tue, 13 Jan 2026 at 14:14, Strainu <[email protected]> wrote: > Hi all, > > *Disclaimer*: I'm writing this mail with my translator hat on. Throughout > this email I will give some examples encountered in today's translation > session to clarify my arguments. If you wrote the code that contain those > strings, please don't take this personally - it's a community problem, not > a personal one. This is why I'm not providing the exact message names, but > only the strings. > > I've been translating OSS for 25+ years and MediaWiki for almost 20 years. > For me, It has always been a common effort: the devs need to extract the > strings, document them to give context and export them to the proper > tooling, while translators need to understand the product, fill the > (context) gaps and be consistent. > > With our 284 languages and hundreds of thousands of strings, we're > definitely on the high side of effort needed for translations. However, in > the last few years (I would say, roughly from Covid) I see more and more > cases when the* effort is moved toward the translators*. > > It used to be that commons strings like Yes/No, Log in/Log out > Watch/Unwatch, Edit or Save were only present once per module. Today? "Log > in" (with this exact casing and no combinations) is present at least 5 > times in MediaWiki core - User interface. Yes and No - 3 times each. > Name - 4 times and the list on. > > Another type of duplication are messages 90%+ alike, such as "Talk pages > for pages in the main/MediaWiki/.template namespace" instead of "Talk > pages for pages in the $1 namespace". I found at least 3 such instances, > there might be more. > > But wait, there is more. Strings like " [[{{#special:Contributions > }}/$1|$2]] ([[{{ns:user_talk}}:$1|talk]]) " should not exist at all. > First, there is absolutely no guidance on what parts should be translated. > [1] I would guess only "talk", which should be replaced with reusing the > simple message (aka {{int:talk}}), so nothing to translate. This would save > the translators the significant amount of time needed to decode the > message, make assumptions and (not) translate the text. I have some more > examples, but I'll stop here. > > We must not forget that the translators are also members of our community > and the translation time wasted on such strings could be better used doing > other activities in the Wikimedia world. The benefits are not small: 1s > saved over 284 languages means almost 5 minutes. If fixing your string > takes 15 min or less, it's probably worth it. > > I therefore encourage developers, project and people managers to* review > their practices* on generating strings and reviewing code in order to *reduce > the number of spurious messages* that the translators need to work on. > > Have a great year ahead and may you code be bug-free! > Strainu > > [1] As a side question, I'm very curious about the "#special " syntax - > who's expanding that into a proper namespace? > _______________________________________________ > Wikitech-l mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/
_______________________________________________ Wikitech-l mailing list -- [email protected] To unsubscribe send an email to [email protected] https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/
