Category Archives: Translations

Russian and Traditional Chinese translations completed

Not much has changed on the website lately, but I’m glad to see that many people are still kindly donating their time to help with the translations. Two more translations were completed recently: Russian and Chinese (Taiwan).

Russian was completed back in July. Many thanks to Alissa, Фёдор Ходьков, and V’yacheslav Stetskevych! It had been stuck at 85% for some time, but Alissa managed to complete the remaining percentage in a single day.

And this week the translations for Traditional Chinese were completed. Many thanks to 冥王歐西里斯, Agustín Wu, BrLi, Max Wu, Po-Chun Huang, and V字龍, for they completed the translation from scratch in a little over a month!

Order GNU/Linux!

A few days ago I stumbled upon where you can order CDs and DVDs for as many as 195 GNU/Linux distributions. They even sell flavors of BSD and Solaris. The prices are low, the CDs are professionally labeled, and you can order from almost any location in the world. Even the website looks very professional, so I thought this would be the perfect website to send newcomers to GNU/Linux to (as an alternative to downloading).

Today I released an update (commit 562e490e59) for the Try or install page which adds links to for ordering the Linux distribution of choice. The instructions on this page were improved as well, with links to the official installation instructions for each distribution.

After the update

This update meant that some translations needed to be updated as well, so that completed translations remain complete after releasing this update. The translators responded very fast to my request to update the translations. Thank you Xuacu Saturio, Jason Lau, AstroFloyd, mauron, Yaron Shahrabani, Manuel Meixide, Bastián Núñez, and Alissa for updating the translations!

I can imagine that for some people it might be difficult to download a 700+ MB ISO file and burn it to a CD/DVD themselves, as not everybody has access to high speed internet, blank CDs, and a CD burner. So hopefully this update helps more people get access to GNU/Linux.

Dutch and French translations completed

I am again happy to announce that more translations were completed for Dutch and French.

Many thanks to Anthony Verez, Bruno Bord, Bruno Ethvignot, Fabián Rodríguez, Joseph Maillardert, KIAaze, Laurent Richard, Loïs Di Qual, mauron, nh2amine, Olivier Cleynen, Stéphane Aulery, and Thiébaut Hillenweck for realizing the French translation! The French translation had been stuck at 77% for a few months, but mauron gave it a final push about a month ago.

Also many thanks to AstroFloyd, Johan Vervloet, and Tim Speetjens for helping with the Dutch translation! The Dutch translation was completed by AstroFloyd yesterday, who also spotted a few typos in the original English text which have been fixed as of today. I don’t know who have been responsible for 32% of the Dutch translation, as there were no credits for Dutch on the Credits page before AstroFloyd joined. I did manage to extract a few names from the old PO files. Forgive me if your name is missing, but do send me a message so that I can correct it.

Belated update

The getgnulinux project had come to a halt for about 6 months due to my 5 months internship to which my focus was drawn. But the internship has come to a successful end in December 2012 and I have some spare time on my hands once again. So there is some catching up to do because the translators didn’t stop contributing to the project, for which I’m grateful. I’m pleased to announce that two more translations were completed:

Other translations have undergone updates as well. These include Arabic (56%), German (53%), Finnish (13%), French (77%), Interlingua (30%), Italian (74%), and Russian (85%). And a new language was added: Lithuanian (28%). I can’t help but wonder which will finish next.

Chinese translation completed

It’s unbelievable, but true. Yet another translation for was completed today! is now available in Chinese (中文), more specifically Modern Standard Chinese, also known as Mandarin. Who knows how many more people we can reach now?

Many thanks to Sayson Peng, leonfeng, Jason Lau and others who worked on the Chinese translation! We couldn’t thank you enough!

Jason pointed out that the Chinese translation requires more improvement (grammar, spelling, fluidity, etc.) and that he will continue to make improvements where he can. But this kind of work shouldn’t be done by just one person. So if you are fluid in Mandarin and happen to have some spare time on your hands, please consider helping out with improving the Chinese translation. Head over to our translation section to get started.

The completion of the translation for Standard Chinese also opens the doors for other variants of Chinese. Transifex has a clone feature which makes it possible to copy all translations from one language to a new language for a project. Cantonese anyone?

Language negotiation implemented

Two posts back I was writing about my plans to implement language negotiation for I’m happy to announce that its implementation was completed today.

“Language negotiation is a function of the HTTP protocol which lets a server choose among several language versions of a page, based on the URL and on preference information sent by the browser (specifically in the Accept-Language header).” –

Before language negotiation was implemented, would always bring the visitor to the website in its default language (i.e. English). Now, when the language preferences are properly set in the visitor’s web browser and the website is available in one of the preferred languages, the website will automatically display the page in the visitor’s preferred language. It will only do this for languages for which the translation is complete (at the time of writing this, these are Hebrew and Asturian). This was a conscious design decision – it wouldn’t be very nice to display a page which is only partly translated.

Other changes came along with the implementation of language negotiation. The language menu on the top of each page now only shows the languages for which the translation is complete. Incomplete translations are still accessible from the “More languages” item in the language menu. This link brings the user to the new language selection page which gives an overview of all translations and their status.

The implementation of language negotiation was actually very simple. Language negotiation is a common feature for websites which means that there is a good chance that someone has already written freely available code for it. And indeed, someone has. There is HTTP::negotiateLanguage from PEAR, PHP’s own structured library of code. However, I used a modified version of that function which I got from Matthew Somerville’s website. The reason I chose Somerville’s version is because apparently PEAR’s version fails on one criterion (see Somerville’s page for details). This also allowed me to adapt some code to GGL’s code which made implementation even easier.

Asturian translation completed

With just two months passed since the completion of the Hebrew translation, another language can be added to the list of completed translations for I’m very happy to announce that the Asturian translation is now online! Many thanks to the Softastur translators team, and especially to their member Iñigo Varela who took the translation to Asturian upon himself. At first I was skeptic when he told me via email that he could do the translation in one or two days. Imagine how surprised I was when I got an email from him the very next day, with the words: “All translations done!”

In fact, Iñigo did the translation of in collaboration with Marcos Costales  (from Softastur) back in 2009. But the project was stalled and Iñigo and Marcos decided not to wait longer. Marcos downloaded the structure of, Iñigo translated the .html files, and they hosted it at in collaboration with Mikel González (also from Softastur).

Last week I noticed visitors coming from that website which brought me to their Asturian version of GetGNULinux. I was very surprised to find a fully translated GetGNULinux in a language I, at that point, never even heard of. What’s even stranger, is that there were no traces of translation files for Asturian to be found in the original GGL repository (but that makes sense now, knowing that the .html files were translated manually). So I contacted the Softastur translators team who responded very quickly. Iñigo offered to translate it again using Transifex, Mikel provided an icon of the Asturian flag, and the next day there was

This is yet another big step forward in encouraging more people to try Linux. More translations coming soon (I hope)!

First translation completed

I am happy to announce that the very first translation of was completed today! Many thanks to Yaron Shahrabani, a Hebrew translator from Israel, who started the translation for Hebrew exactly one month ago. That he was able to finish the translation by himself in just one month truly amazes me. And that for a language that is so very different from English. Like Arabic, Hebrew is written from right to left. Yaron had a helping hand in improving the display for right-to-left languages as well. Some images needed to be updated for right-to-left languages.

It turns out that Transifex, the new translation platform for, is working pretty good (at least, I have not received any complaints). Some kind individuals have joined a translation team to help out with the translations. Since the switch to the new translation platform, translations for a few new languages have been started. These include Bulgarian, Esperanto, Hebrew and Interlingua. I’m looking forward to the completion of more translations so we can reach an even larger audience.

There used to be a trimmed edition of which contains less pages. For the trimmed edition, some translations had been completed already. Translations for the trimmed edition are now simply being used for the full edition. I have not had the time to implement a trimmed edition yet. Mainly because I haven’t figured out the best way to implement this yet. Until then, the full edition will be used to publish any translations.

Updated translations and transfer to Transifex

It’s been a while since my last update. These last weeks have been a busy period for me with other projects I’m working on and school just having started. Last night I felt like working on again and I spent about 4 hours on merging the rest of the translations (amongst other improvements to the site). It turns out I initially merged only half of the original translation files (doh!). Hence a lot of the translations were missing on the website. I’m pretty sure I merged everything this time, so head over to and see if all your translations are there. Note that some translations might be marked as fuzzy which won’t be displayed on the website.

I’ve also spent some time testing this new translation system called Transifex  (thanks Vyacheslav for the tip!). I must say it’s a great translation system which, unlike Launchpad Translations, has good support for fuzzy translations. It even has an auto translate feature. The only downside is that I’m missing a few basic functionalities, but that won’t be a deal breaker (unlike the lack of support for fuzzy translations).

Another translation system I tested is Pootle. Pootle seems like a great system as well, but it was too much trouble for me to set up. I had it running on the web server eventually, but then there were problems with dependencies that could not be satisfied. Not to mention that it would have to run on our server which would mean even more system load and maintenance.

So I’ve decided to give Transifex the green light. All translation files have been transfered to Transifex; the project page can be found here. At this moment only authorized users are able to submit translations. I’m still figuring out how to allow anyone to submit translations like it is possible with Launchpad Translations. For now, translators can create an account on Transifex and join a translation team which gives you permission to make translations.

I’d be glad to hear from you translators whether the new system works for you.

No fuzzy translations support in Launchpad

Launchpad Translations isn’t the right translation system for after all. At this moment, Launchpad does not support “fuzzy” entries. This is bad news, because this means that translations will disappear from Launchpad Translations each time the English texts are changed.

So what are those “fuzzy” translations? The project’s original English texts are stored in a PO template (POT) file. Whenever some English text in the POT file is changed, the corresponding translations (stored in separate PO files) are marked as “fuzzy” by gettext – the software used for creating and updating PO files. Fuzzy translations need to be revised by the translator because the original English text has changed.

The PO files for the project are automatically loaded into Launchpad Translations. Ideally, fuzzy entries that are loaded into Launchpad should be marked as “Needs review” so that the translator can update her translation. Sadly, this is not the case. Launchpad currently has no support for fuzzy translations, and as a result fuzzy entries appear as untranslated. This means that translated entries will be removed from Launchpad each time the corresponding English text is changed. As described in bug #493084, this is a conscious design decision.

Launchpad Translations is a great tool, but the lack of support for fuzzy translations is a real problem. I will start looking at alternatives that do have support for fuzzy translations.