Hur du enkelt översätter teman och plugins i WordPress

Översätta teman och plugins i WordPress

När man driver en svensk webbplats vill man såklart att allt ska vara på svenska; blandade språk ser väldigt amatörmässigt ut. Många teman och plugins gör dessvärre missar i den svenska översättningen, medan andra inte ens finns på svenska över huvud taget.

Istället för att suckandes konstatera att det helt enkelt ”får vara så” kan du istället fixa till översättningen på egen hand — det behöver inte ta mer än ett par minuter. I en av mina kortaste artiklar hittills kommer jag här att vägleda dig till hur du gör.

Hur språkfiler i WordPress fungerar

Nyfiken på tekniken? Fortsätt läs, annars kan du hoppa till nästa rubrik.

WordPress använder en teknik som heter gettext för att leverera texter i olika språk för såväl WordPress självt som teman och plugins. Den stora fördelen med gettext är att det är väldigt enkelt för webbutvecklare att använda i teman och plugins, och att ingen språkfil behöver användas ifall man inte vill ha ett annat språk än originalspråket (vilket bör vara engelska).

Tittar du i exempelvis ett tema hittar du förmodligen en kodsnutt som liknar:

<?php _e('Hello world', 'twentyfourteen'); ?>

Utan någon språkfil kommer detta förstås skriva ut ”Hello world” på skärmen, men om man lägger till en svensk språkfil och översätter strängen kommer den istället skriva ut ”Hej världen”.

Översättningen görs i så kallade po-filer (Portable Object) som därefter kompileras till mo-filer (Machine Object), vilka i sin tur används för att generera de översatta textsträngarna i WordPress. Det är dessa två filer vi kommer jobba med i den här artikeln, utan att ens behöva se dem.

1. Installera Codestyling Localization

När jag översätter mina kunders teman och plugins brukar jag använda ett plugin som heter Codestyling Localization. Förutom att det är väldigt enkelt att använda så är det dessutom helt gratis. Installera det, aktivera det och gå sedan till Verktyg > Localization.

2. Skapa en ny språkfil

Här listas alla dina aktiva plugin och teman i bokstavsordning — skrolla till det plugin/tema du vill översätta. Om inte språket du vill översätta till finns inlagt (i det här fallet svenska) klickar du på ”Add New Language”, skrollar ner och bockar för ”sv_SE” och därefter klickar du på ”Create po-file”.

Sedan klickar du på ”Rescan” vid den nya språkfilen följt av ”Scan now” och ”Finished”, och slutligen klickar du på knappen ”Edit” som ligger bredvid.

Ny språkfil

3. Översätt

Leta upp den textsträng du vill översätta — antingen manuellt eller med sökfältet högst upp — och klicka därefter på ”Edit” bredvid den. I rutan som poppar upp kan du enkelt översätta strängen och därefter klicka ”Spara”, eller om du vill översätta nästkommande textsträng i listan kan du klicka på ”Save & Next”.

Översätt

4. Spara

Översättningarna sparas till po-filen automatiskt, men för att WordPress ska kunna använda sig av översättningarna behöver du generera en mo-fil. Detta gör du med ett enda knapptryck höst upp när du känner dig färdig.

Spara språkfil

Slutord

Svårare än så här behöver det inte vara att översätta teman och plugins. Hör gärna av dig till skaparna om du bestämmer dig för att översätta hela deras plugin — det uppskattas av både dem och användarna.

Ivar Johansson

Skriven av

Ivar började med webbutveckling för tio år sedan och har sedan dess utvecklat breda kunskaper inom framför allt webbprestanda, sökmotorer och användarupplevelse. Idag driver han eget företag där han skapar webbplatser som är snabba, säkra och enkla att hantera.

  1. Käthes Mode

    8 september, 2014

    Har du tips på om man vill ha två språk på en sajt, med olika adresser med samma domän?

  2. Ivar Johansson

    8 september, 2014

    Jag installerade nyligen Polylang hos en kund, det är väldigt smidigt och flexibelt. Kika på det. :-)

  3. Tomas Tobiasson

    23 september, 2014

    Tack för en givande artikel. Kommer att följa dig mer noga nu. Bra skrivit och enkla och klara råd. Tack!

  4. Ivar Johansson

    23 september, 2014

    Tack för dina fina ord, Tomas! Sådant ger lite extra motivation till att fortsätta skriva.

  5. Marie

    3 mars, 2015

    Är Polylang bättre än WPML, tycker du?

  6. Ivar Johansson

    11 mars, 2015

    Hej Marie!

    Jag föredrar Polylang framför WPML, inte bara för att det är gratis och har extremt bra betyg av sina användare (4.9 av 5), utan även för att det är enklare och har (enligt mig) bättre/enklare kod och struktur. Jag är lite av en minimalist och tycker helt enkelt att WPML kan vara lite för tungt.

  7. Carina

    27 april, 2015

    Hej
    jag har en websida som jag skulle vilja kunna få på både svenska och engelska (besökaren ska lätt kunna skifta språk genom att klicka på respektive flagga).
    Hur ska jag göra för att kunna uppnå detta? Har wordpress och temat är Evolve.

    Jag vet att det finn plugins men jag går bet efter att ha installerat och aktiverat – för sedan vet jag inte vad jag ska göra. Har provat WPML den var alldeles för svår sedan testade jag Polylang. Den senare säkert bra men då försvann innehållet på min sida i stället.
    Finns det någon bra svensk guide för dummies i detta ämne?

    Många hälsningar
    Carina

  8. Ivar Johansson

    27 april, 2015

    Hej Carina!

    Som jag nämner i min kommentar ovan så föredrar jag personligen Polylang framför WPML, och har aldrig haft något problem med det. Jag känner dessvärre inte till någon bra guide kring ämnet, så jag skriver upp detta på min lista över idéer på artiklar. :-)

    Allt gott!

  9. Susanne Nyman Furugård

    7 april, 2016

    Hej Ivar!

    Använder WP-plugin SpeakOut Email Petitions som inte har svenska i sina språkfiler. Läste ditt tips om att använda plugin Codestyling Localization för översättning, men det verkar inte längre finnas. Vet du något annat jag kan använda? Eller finns det ett enklare sätt, behöver bara översätta två ord i petition-formuläret: ”FIRST NAME” och ”LAST NAME”. Jag är ingen kodexpert, men har i alla fall lyckats skapa ett child theme och ändra lite grann i olika filer.

    Med vänliga hälsningar,
    Susanne

Mejla mig: