Wikimedia Netherlands Mini Hackathon 2025 recap

, .

Last weekend, I participated in the Wikimedia Netherlands Mini Hackathon 2025 (Commons category), a one-day event for ca. 25 people at the Wikimedia Netherlands office in Utrecht. This was the fourth time it took place, and also the fourth time I attended; it’s a really nice little event, and also a good opportunity for me to visit some folks along the way. This time, I thought I’d write a little bit about what I did there.

My first major project was moving the documentation for m3api from GitHub pages to doc.wikimedia.org (T392716). As you may recall, earlier this year I released m3api, a library for using the MediaWiki Action API. more recently, I moved its code hosting from GitHub to Wikimedia GitLab (T392290), but wasn’t able to move the documentation away from GitHub Pages at the time. At the hackathon, I managed to put together a build process, and get approval from someone with the right access, to publish documentation for a temporary test package and the real m3api packages to publish their documentation to doc.wikimedia.org. The process worked for the test package (archived snapshot); I’ll finish the process for the real m3api packages later (hopefully soon). Many thanks to Reedy for advice and Bryan for merging those requests!

My other major project was part of something I’ve been tinkering with, on and off, for several years now (and in a grey zone between my staff and volunteer accounts, meh): making language names translatable on translatewiki.net (T231755). The CLDR extension contains a lot of names of languages in other languages (e.g. the German name for Arabic is Arabisch, the Arabic name for Japanese is اليابانية, the Japanese name for Tarantino is タラント語, etc.). Some of these names come from the CLDR database, while others are defined within this extension (called local names); reasons for local names might included that MediaWiki is using a nonstandard language code (as with Tarantino, roa-tara, above – it has no standard language code), or that the process to contribute language name translations to CLDR is slow and cumbersome (so even if a language name will be added to CLDR eventually, we may want to include it as a local name temporarily). However, the process to manage these local names is also cumbersome: they’re defined in PHP files in the extension, and to add or update them, you either need a developer account to upload a change to the Gerrit code review system, or ask someone else who has a developer account (typically a translatewiki.net volunteer, I gather) to port your changes to Gerrit for review. Instead, we would like to make these names translatable on translatewiki.net, just like other messages can be translated there. A necessary requirement for this is that we have English versions of all local names, which was not previously true – several local names only existed in other languages, such as Norwegian (no). So during the hackathon I went through the list of language codes that were lacking an English name, and added one for all of them. The resulting Gerrit change isn’t ready for merging yet, but it hopefully will be soon. Many thanks to Nikki for advice on these languages and their names!

Besides those two projects, I also assisted some other people with their own projects, including some OpenRefine work which was a nice opportunity for me to get a bit more acquainted with it again (and learn some new things about it too!). And of course, as is tradition at Wikimedia Hackathon events, copious amounts of sweets were exchanged and consumed :) I look forward to my next hackathon in the Netherlands, whether it’s next year’s edition of the mini hackathon or the Wikimedia Northwestern European Hackathon 2026 🎉