Support » Översättning » Översätta en hel hemsida/tema

  • Hej,

    jag har ett köpt tema på en hemsida och önskar översätta hela hemsidan från engelska till svenska. Temats skapare hänvisar till loco translate men i min okunskap tänker jag att en översättningsplugin kommer slöa ner hemsidan. Tänker jag fel? Jag har förstått att man ska ha så få plugins som möjligt så jag utgår från det så mycket jag kan… det blir oändligt många ändå för mig som bara kan drag and dropa mer eller mindre 😅

    Jag har inget child theme så att översätta på något annat sätt kanske är lönlöst ifall det kommer en uppdatering på temat eller någon plugin längre fram?

    Jag läste iaf denna forumtråd https://sv.wordpress.org/support/topic/hur-andra-fran-engelska-till-svenska/ och kan svara på sista frågorna där.

    Jag hittar en mapp för language i temats mapp. I den mappen finns dessa filer:
    1) da_DK.mo
    2) da_DK.po
    3) pl_PL.mo
    4) pl_PL.po
    5) workscout.pot

    Jag använder detta betalda temat: https://themeforest.net/item/workscout-job-board-wordpress-theme/13591801

    Är det bäst att göra det enkelt för mig själv och använda loco translate eller finns det något ”Bättre” sätt?

    Med vänlig hälsning,

    Flamuren

Visar 1 svar - 1 till 8 (av 8 totalt)
  • Moderator tobifjellner (Tor-Bjorn Fjellner)

    (@tobifjellner)

    WordPress-hemmapulare, Projektledare, Författare, Översättare och Vänlig Själ

    Översättningsfunktionen för PHP-kod i WordPress använder PHP-funktionen gettext(). Översättningarna redigeras i textfiler med filändelsen .po, men när sidan körs hämtas översättningarna från en kompilerad version av samma fil, med ändelsen .mo.

    De vanligaste programmen för hantering av po-filer kan själva söka igenom programkoden efter strängar som går att översätta, men många utvecklare av tillägg och teman brukar skicka med en mallfil med filändelsen .pot.

    Du kan använda Loco Translate för att skapa din översättning, men om du sedan lägger den med filnamnet sv_SE.mo i temats mapp languages kan du sedan inaktivera Loco eftersom tillägget inte används vid körning av sidor i WordPress (med undantag för funktionen i Loco som kan lägga översättningen på en annan plats än normalt).

    Om temat vore utformat enligt standarden för WordPress (så att temat använde en textdomän som sammanfaller med temats slug) så hade jag nog förväntat mig att översättningarna borde ha hetat något i stil med workscout-sv_SE.mo, men man kan inte få allt, kantänka).

    Personligen har jag aldrig använt Loco. Jag brukar köra med https://poedit.net/ på min egen dator i stället (när jag inte arbetar på olika online-plattformar).

    Om du vill följa vår svenska stilmall kan du läsa igenom https://wpsv.se/engagera-dig/stilguide-for-oversattningar/

    Tänk på att om/när du uppdaterar ditt tema kommer WordPress att kasta allt innehåll under temats mapp, därför ska du se till att spara din översättning någonstans där den inte försvinner.

    Nuförtiden har WordPress även stöd för översättningar som konsumeras direkt i Javascript, och där bor översättningarna i json-filer, men det verkar du inte behöva i just detta fall.

    Trådstartare flamuren

    (@flamuren)

    Tusen tack för ett djupgående svar och lite utbildning i detta 🙂👍

    Men om jag förstår dig rätt är loco bara ett sätt att hitta vad i dom filerna som ska översättas och inte ett aktivt plug in som ligger och ”sölar ner” sidan alltså? Jag hade någon konstig tanke att pluginet översatte löpande när man klickar runt på sidan och behövde ladda över svenskan på engelskan – därav min oro av hastigheten 😅 Men då får jag bara vara noga att ha översättningen sparad lokalt på min dator också ifall det skulle hända något framåt. Återigen stort tack för din hjälp! 😇

    • Det här svaret redigerades för 2 år, 2 månader sedan av flamuren.
    Moderator tobifjellner (Tor-Bjorn Fjellner)

    (@tobifjellner)

    WordPress-hemmapulare, Projektledare, Författare, Översättare och Vänlig Själ

    Loco är ett tillägg som hjälper dig att administrera dina översättningar. Loco översätter ingenting åt dig.

    Trådstartare flamuren

    (@flamuren)

    Uppföljning lite senare när jag pillat en massa med hemsidan. Tack för hjälpen. Använde loco translate och har översatt allt jag hittat. Dock kunde jag inte översätta kundvagens meddelande i woocommerce – ”no products in cart”. Testade massa olika sätt och frågade både loco supporten och mitt temats support samt woocommerce. Men hitta tillslut detta när jag googlade som funkar:

    // translation of empty cart
    
    function change_translate_text( $translated_text ) {
        if ( 'No products in the cart.'  === $translated_text ) {
            $translated_text = 'Inga produkter i varukorgen.';
        }
        return $translated_text;
    }
    add_filter( 'gettext', 'change_translate_text', 20 );

    __________________________

    Detta la jag i function filen i mitt barntema. Dock hittade jag någon notering i wordpress om funktionen och kommentarer att det inte är bästa sättet att göra det på. Vet du tor-björn om det går att optimera koden ytterligare eller göra den mer träffsäker?

    Trådstartare flamuren

    (@flamuren)

    här finns kommentare

    där diskuteras översättningensfunktionen tror jag och där menar någon att detta inte är bästa sättet.

    • Det här svaret redigerades för 1 år, 9 månader sedan av flamuren.
    Moderator tobifjellner (Tor-Bjorn Fjellner)

    (@tobifjellner)

    WordPress-hemmapulare, Projektledare, Författare, Översättare och Vänlig Själ

    Finns denna sträng med i din po-fil? Kanske det är något strul som gör att sökningen efter översättningsbara strängar missar just denna fil.
    Kan du hitta var i temat denna sträng finns? (det är inte en sträng från WooCommerce, utan från temat eller någon utökning till WooCommerce, alltså ett tredjepartstillägg).

    Trådstartare flamuren

    (@flamuren)

    Ja den finns med i po-filen. Iaf samma sträng. Men det kanske är kopierat till temat på något sätt också – men där hittas det inget som ens liknar strängen.

    Enligt woocommerce och andra så ska det vara i woocommerce. Men den vill verkligen inte översättas förutom med den koden ovan. Använder jag en domain så översätts den inte 🤷‍♂️

    Trådstartare flamuren

    (@flamuren)

    Jag har pillat mer. Mina översättningar var mer eller mindre kaos. hade 2800 översättningsfiler i en mapp som jag har rensat.

    Sen ser jag även att jag har 758 filer under ”wp-content/languages/”. En del uppdaterade idag vid något klockslag. Bisart många språk osv. Kan jag rensa här på något sätt? Och varför laddar WP ner språk jag inte ens använder?

    Jag såg ditt svar här gällande detta tror jag: https://wordpress.org/support/topic/why-is-there-so-many-translation-updates/

    Kan jag på något sätt få WP att endast ladda ner svenska (och engelska där det saknas svenska)?

    EDIT: jag följde denna guide och rensade ut allt: https://baswijdenes.com/how-to-uninstall-a-language-in-wordpress/

    • Det här svaret redigerades för 1 år, 9 månader sedan av flamuren.
    • Det här svaret redigerades för 1 år, 9 månader sedan av flamuren.
Visar 1 svar - 1 till 8 (av 8 totalt)
  • Ämnet ”Översätta en hel hemsida/tema” är stängt för nya svar.