I am using Gnome 43 in Italian, and I’ve noticed that the translation of some entries in Nautilus has gone missing since the update from Gnome 42. The entries seem to be correctly translated in the Italian *.po file, but for some reason Nautilus doesn’t pick them up.
The entries I’ve noticed are “Extract” (for *.zip files) and “Open with…” (for all files) (see below)
If some of you use different translations, could you let me know if the translation of these entries is correct in your system? It might help me compare the Italian *.po file and see if there’s something wrong there.
Maybe try it yourself and look at msgid which is the source and msgstr, which is the translation.
Maybe compare with the source file I linked above.
My conclusion: It needs another update to add the new translations for you. I guess in time of the release, the Italian language was not fully ready. If a string is not found, then it fallbacks to the default, which is English.
Edit: Maybe also worth a try is recreating the localization cache and reboot:
It’s possible, it’s what I thought, but Gnome 43 has been released a few months ago and already had several updates, so this starts looking strange to me, especially given the fact that all of these entries were perfectly translated in Gnome 42. Looks like something got re-written for Gnome 43 and “broke” the translation.
All of them, hell, even Chinese is translated and does not fall back to English.
It would be worth a try to get the po file from upstream, compile it, backup the local file and replace it with new compiled one. If that changed something, then it needs defiantly an update.
While the italian version was updated at 2022-01-23, my language german was updated recently: 2023-02-18
So, my conclusion: The language file is heavily outdated, and there will be no change until someone will do the job. Possible that the last one, who translated this, is not there anymore.
So please go ahead and report an issue upstream: Issues · GNOME / Files · GitLab Or maybe fiddle a way to translate it correctly and report it upstream. I am not speaking Italian, so maybe you can do it.
What I need is a translation file (*.po) that works. It seems that the German translation works flawlessly, so I can compare the entries that work in one language and don’t work in the other to see if there’s something that should be changed.
Just for information: is it sufficient to replace the old *.mo with the newly created one or should I recreate the localization cache every time?
Since I can open it with other languages without enabling and running locale-gen, I would assume that there is no cache for these *.mo files. It is read directly. So yes, just replace it in the system folder and test it.
Ok, it turned out the translation was indeed incomplete, and entries such as Open with had to be written as "Open _With…". It goes beyond my understanding why it is so, but with some trial-and-error I managed to correct at least the most annoying missing translations.
Save the text file as it.po in a folder, open a terminal in that folder, and then:
msgfmt -o nautilus.mo it.po
sudo cp /usr/share/locale/it/LC_MESSAGES/nautilus.mo /usr/share/locale/it/LC_MESSAGES/nautilus_backup.mo # A backup copy of the previous translation. It wouldn't be needed, but just in case...
sudo cp nautilus.mo /usr/share/locale/it/LC_MESSAGES/nautilus.mo
A logoff/login is required for changes to take effect.