Att översätta till svenska med po-filer

Många open source program (inkl t.ex. WordPress) går att översätta till svenska (och andra språk) med hjälp av po-filer (portable object). Ofta skrivs programvaran för det engelska språket, men texterna i programmen går att översätta genom po-filer. Något av en standard i t.ex. Linux. Om programvaran vi vill använda inte är översatt till svenska letar vi reda på en fil som heter något med .po i slutet. Ofta heter de en_US.po eller liknande, där en_US betyder att filen är skriven på amerikanska. Vi kopierar den filen till en ny fil som vi kallar sv_SE.po som är språkkoden för svenska enligt standarden ISO 3166:1993 .

$ cp en_US.po sv_SE.po

Vi redigerar filen sv_SE.po och översätter de strängar (texter) vi behöver (helst alla). Redigeringen sker genom att vi fyller i texterna i de tomma fälten som föregås med msgstr:

msgid "Gallery"
msgstr ""

För att översätta Gallery ändrar vi enligt:

msgid "Gallery"
msgstr "Galleri"

När vi är klara med översättningen sparar vi filen. Nu är det dags att skapa en mo-fil (machine object) som kompilerar översättningen till maskinkod som gör att programmen snabbare när de använder översättningarna. För att kunna kompilera po-filen till en mo-fil behöver vi kommandot msgfmt som vi hittar i paketet gettext i Ubuntu. Vi installerar det:

$ sudo apt-get install gettext

Nu är det dags att kompilera filen:

$ msgfmt -o sv_SE.mo -v sv_SE.po

-o är vad den kompilerade filen skall heta och -v anger vilken fil vi vill kompilera. Får vi inga felmeddelanden är det klart. Annars får vi rätta felen in po-filen och prova att kompilera igen.

Tycker du att det är roligt att översätta program till svenska skall du ta en titt på Poedit som finns för Windows, Mac OSX och Linux. Med Poedit blir översättningsprocessen mycket enklare än att sitta och redigera en textfil.