I'm grateful for translations by translators. But translating everything causes icons to break. Ubuntu MATE 20.04 has several broken icons and most of them are fixed in Ubuntu MATE 20.10 already.
Advice: Please do NOT translate the 'Icon' text, just leave that translation blank (""). Copy/pasting the English text will cause superfluous lines in .desktop files and might cause additional work later (if the original name is updated, you will need to copy and paste that string again). So getting a 100% translation score, might even be non-optimal.
Ubuntu MATE 20.04.1 with broken icons
You probably know the feeling of being the IT guy for your family (in this specific case, my mother-in-law). Her Linux laptop needed to be upgraded to the latest LTS, so I did that for her.
Back when she got the laptop, I installed a non-LTS release. That was required, otherwise her brand spanking new hardware, wouldn't have worked correctly.
I tried using the GUI to upgrade the system, but that didn't work. Usually I live in the terminal, so I quickly went to my comfort zone. I noticed the repositories were not available anymore, of course, this was not an LTS. That meant also that 'do-release-upgrade' did not work. Fortunately I was around when that tool did not exist yet, so I knew to manually modify apt sources files and run apt-get manually. The upgrade was a success of course. But, what is that, why am missing icons here? I also run Ubuntu MATE on some of my other systems and the icons never broke before. The upgrade seemed to have been flawless, but still something went wrong? No, that couldn't be... and it wasn't.
Switching her desktop to English, instead of Dutch (Nederlands), "fixed" the icons. That is strange, but is providing the user of the laptop with a workaround. Luckily my mother-in-law is proficient in English, but prefers Dutch. And there are enough people (I know some of them) who can not read/write/speak English and are dependant on translations. So I thought I'd go fix the issue (or at least, so I thought).
The .desktop file
Checking the .desktop file (I'm going to use
/usr/share/applications/mate-screensaver-preferences.desktop here as an example), I noticed the following lines:
# Translators: Do NOT translate or transliterate this text (this is an icon file name)! Icon[ca]=preferences-desktop-screensaver Icon[cs]=preferences-desktop-screensaver Icon[da]=preferences-desktop-screensaver Icon[es]=preferences-desktop-screensaver Icon[gl]=preferences-desktop-screensaver Icon[it]=preferences-desktop-screensaver Icon[lt]=preferences-desktop-screensaver Icon[ms]=preferences-desktop-screensaver Icon[nb]=preferences-desktop-screensaver Icon[nl]=voorkeuren-bureaublad-schermbeveiliging Icon[uk]=preferences-desktop-screensaver Icon[zh_TW]=preferences-desktop-screensaver Icon=preferences-desktop-screensaver
Hmmm, apparently several translations exist (which generally have been kept identical to original English text).
Note: if a localized translation exists, that will be used. If no localized translation exists, the original English one will be used.
Let me have a look at their source code on their github. It contains several .po files, which contain the translations. So it's only a matter of cloning the repository and submitting a pull request... wrong. I already made the repository fork, when I noticed the commit log. It shows that the translations are being synced from Transifex.
P.S. I should've checked the ubuntu-mate website first, since they have an entire section about translations.
Transifex seems to be a proprietary system for doing translations, but I need to go there to fix this issue, so let's get this fixed. Apparently I need to 'join' the team to even see the strings and translations and also to fix them. Would be nice if guest access (read only) would be enabled, because then I could at least check if I will be bothering the correct team. And once you sent a request to join, there is no way to track it, or see the team members etc. (unless you are part of that team perhaps). But nevermind, let's continue.
Clicking the 'Join team' button, I made the assumption that I would automagically be joined to that team. Somehow that did not happen immediately (e.g. it requires human intervention). And I thought this was just going to be quick 'go in, fix it, leave' thing...
My translator membership was declined, which I don't mind actually, since I don't want to become a full-fledged translator (I just want to fix this specific bug). A helpful translator (with access) checked it out and is working on it.
Joining all teams for each item/language is a quite a hassle (and once declined, sending them all the messages to ask them for fixes etc.), so I'm "only" going to scratch my own itch here. But it seems prudent to give all translators a headsup about this, so they might fix it in their translations (if applicable), hence this blog post.
If anyone could eventually get the updated translations into Ubuntu 20.04, that would be much appreciated ;-)
Advice: Please do NOT translate the 'Icon' text, just leave that translation blank (""). Copy/pasting the English text will cause superfluous lines in .desktop files and might cause additional work later (if the original name is updated, you will need to copy and paste that string again). So getting a 100% translation score, might even not-optimal.