Ako na preklady šablón a pluginov vo WordPress (Návod)

2

Kompletný návod na preklady textov šablón a pluginov vo WordPress cez plugin Loco Translate. Vysvetlenie ako preklady vo WordPress fungujú.

WordPress preklady

Webovú stránku máte pripravenú, potrebné pluginy nainštalované a nastavené, tému stránky zvolenú a aktivovanú. Ostáva už len jediné – zabezpečiť preklad cudzích výrazov, ktoré sa často vyskytujú v pluginoch a témach a ktoré sa aj napriek nastaveniu Slovenčiny stále zobrazujú v angličtine.

Prekladová funkcia v kóde šablón a pluginov

Jednotlivé hlášky, s ktorými sa na webovej stránke stretneme, pochádzajú z programových súborov jednotlivých pluginov a tém. Pokiaľ sú tieto prvky naprogramované správne, používajú pri všetkých textoch, ktoré idú na obrazovku, WordPress funkciu __().

Táto funkcia (dva podčiarkovníky) vráti preložený text, pokiaľ existuje. Ak neexistuje, vráti základný text, ktorý je napísaný ako prvý parameter. Funkcia obsahuje dva parametre, obidva sú typu String.

Prvý: Text, povinný.

Druhý: Doména, nepovinný.

V realite to môže vyzerať napr. takto:

__('Field is required', 'contact-form-7');

Táto funkcia vypíše Field is required, pokiaľ neexistuje preklad v aktuálnom jazyku. Ak by preklad existoval, vypísala by napr. Toto pole je požadované, alebo akokoľvek by sme ho nastavili. Druhý parameter zabezpečuje unikátnosť prekladu, ktorý by sa mohol narušiť, ak by napr. dva rozličné pluginy použili rovnaký textový reťazec.

Pre príklad uvediem, že mám na svojom e-shope použité dva pluginy. Jeden, ktorý vylepšuje možnosti objednávky (napr. nejaký hromadný edit) a druhý, ktorým nastavujeme poradie produktov.

Bohužiaľ v angličtine sa objednávka aj poradie povie rovnakým slovom – Order a tak by došlo ku konfliktu v prekladoch:

__('order') - Objednávka
__('order') – Poradie

WordPress by „zblbol“ a nevedel by, kedy má použiť slovo Objednávka a kedy slovo Poradie. Preto by všade používal posledný preložený výraz (v tomto prípade – Poradie).

Ak však doplníme druhý parameter (Doménu), vieme bezpečne od seba jednotlivé výskyty rovnakých textových reťazcov oddeliť:

__('order', 'order-bulk-edit') – Objednávka
__('order', 'products-order-tool') – Poradie

Veľmi dôrazne preto odporúčam vždy používať aj druhý parameter funkcie. Autori pluginov a tém tento druhý parameter často nazývajú názvom svojej témy, alebo pluginu, čím sa snažia zabezpečiť najvyššiu možnú unikátnosť.

No a samozrejme, nájdu sa aj pluginy, ktoré nie sú programované v tomto správnom štýle, ale textové reťazce sú v nich napísané natvrdo (hardcodované), v takom prípade dané texty nebudete vedieť preložiť inak ako priamo v kóde.

Ako zabezpečiť preloženie textov?

O samotné preloženie textov sa starajú .po a .mo súbory. PO a MO sú vlastne prípony špeciálnych textových súborov, ktoré sa používajú na prekladanie.

PO súbor

.po súbor je textový súbor (otvoriť sa dá napr. v notepade, sublime texte, atom editore, alebo inom textovom editore). Skladá sa z úvodnej hlavičky, v ktorej definujeme základné prvky jazyka (Kód jazyka, formy množného čísla,…). Následne nasledujú pod sebou na striedačku:
msgid „pôvodný text“
msgstr „preložený text“

pôvodný text je string, ktorý ide do funkcie __() ako prvý parameter a na jeho základe sa aplikuje preložený string.

MO súbor

.mo súbor je binárne kompilovaný .po súbor. Ide teda o zhluk bitov, ktoré pre človeka nie sú čitateľné. Pre procesory však áno. Na kompiláciu môžeme použiť napr. online converter.

Výsledné dva súbory uložíme do zložky wp-content/languages. Je dôležité, aby mali správny názov.

V základe stačí, ak vytvoríme jeden súbor sk_SK.po a jeden sk_SK.mo a v ňom by sme teoreticky vedeli poukladať všetky texty na preklad. 

Z dôvodu prehľadnosti sa však zvyknú samostatne ukladať preklady WordPress jadra (tie dostanete už s inštaláciou Slovenskej lokalizácie WordPressu), témy a pluginy sa však ukladajú do vlastných zložiek.

Návod na prekladanie textov cez Loco

Ak by sme mali všetky texty prekladať vyššie uvedeným spôsobom, zrejme by to bolo „o držku“.

Preto vznikli pluginy, ktoré sú k nám ľudskejšie ako .po súbory a navyše za nás vyriešia aj kompiláciu do .mo formátu.

Najznámejším a najpoužívanejším je rozhodne Loco Translate plugin. Je dostupný zadarmo, je prehľadný a super sa používa. Stiahnuť sa dá priamo z WordPress repozitára (Pluginy->Pridať nový).

Výber pluginu / témy na preklad

Po inštalácií a aktivácií sa Loco Translate zobrazí v ľavom hlavnom stĺpci wp-admina, spravidla ako posledná položka. Priamo si môžeme vybrať, či chceme prekladať tému, alebo plugin.

Kliknutím na vybraný plugin sa nám zobrazia tzv. jazykové sety, ktoré sú k nemu dostupné a to aj s percentuálnym progress barom.

Pokiaľ progress bar nemá 100%, ide o neúplný preklad. V takom prípade postačuje doprekladať zatiaľ nepreložené reťazce.

Ak náš jazyk vôbec nie je pre daný plugin/tému dostupný, musíme ho pridať do jazykových setov. Priamo do Loco vieme nahrať aj existujúci .po súbor a Loco sa postará o kompiláciu a vytvorenie .mo súboru, ktorý je potrebný pre správnu funkčnosť prekladu.

Loco – výber jazykov

Pridanie potrebného jazyka

Pokiaľ nemáme pri plugine dostupnú Slovenčinu (alebo iný žiadaný jazyk), klikneme vľavo hore na Nový jazyk. Môže vyskočiť upozornenie, že neexistuje šablóna, v takom prípade ju dáme vytvoriť.

Loco prebehne všetky súbory zvoleného pluginu a „namapuje“ si jednotlivé prekladové texty.

Ak šablóna existuje, rovno nám vyhodí možnosti pridania nového jazyka:

Loco – pridanie potrebného jazyka

V bode č. 1 si vyberieme jazyk, ktorý chceme pridať. Buď môžeme použiť jeden z preddefinovaných jazykov, alebo si môžeme vytvoriť aj vlastný jazyk (napr. ak by sme potrebovali jazyk pre nejakú neoficiálnu reč, napr. nárečie). V bode č.2 potom zvolíme umiestnenie.

Vlastný: Prekladové súbory sa uložia do zložky wp-content/languages/loco/plugin/plugin_kod_jazyka.po

Systém: Prekladové súbory sa uložia do hlavnej jazykovej globálnej zložky. Všetko je OK až do aktualizácie WordPress jadra, kedy môžu byť tieto súbory vymazané. Neodporúčam teda ukladať preklady do tejto zložky.

Autor: Tu sa vytvorí vlastná zložka languages priamo pod zložkou pluginu. Pri aktualizácií pluginu dôjde k jej zmazaniu. Tiež neodporúčam.

Prekladanie textov

Po nastavení klikneme na Začať prekladať. Otvorí sa nám ovládací panel:

Loco – editor na prekladanie

V zozname textov si vyberieme ten, ktorý chceme preložiť a klikneme na neho. Vyznačí sa sivou farbou, zobrazí sa zdrojový text a našou úlohou je dopísať slovenský preklad.

Po akejkoľvek zmene tlačidlo Uložiť zmodrá a je možné teda na neho kliknúť a zmeny uložiť. Odporúčam to robiť priebežne. V ovládacom paneli vidíme možnosť vrátiť, to je klasické Späť, čo poznáme z iných programov (napr. aj z Wordu).

Ostatné možnosti prekladača

Tlačidlo Synchronizovať nám pomôže a pridá, alebo uberie texty, ktoré medzičasom niekto (alebo aj my) vymažeme zo súborov pluginu.

Kliknutím na tlačidlo Auto s ikonou robota môžeme využiť automatický preklad, ktorý zabezpečí jeden z externých prekladových enginov (napr. Google Translate), samozrejme, je potrebné prepojiť svoj účet cez Google API. Za zmienku stojí, že dnes sa na preklad už využíva vo veľkom AI (Umelá inteligencia), takže viac ako 90% prekladov prebehne v poriadku.

V políčku Filtrovať preklady si vieme nájsť konkrétny reťazec, ktorý chceme preložiť (takmer nikdy totiž nie je nutné prekladať všetky texty, ktoré sú dostupné). Posledné dva tlačidlá zobrazia bloky (ak sú dostupné), alebo zobrazia prekladové texty radšej v HTML formáte ako v klasickom editore.

Prekladanie zástupných znakov

Za zmienku stojí využívanie zástupných znakov. Kvôli tomu sa niekedy prekladateľstvo pluginov stáva hotovou mágiou, lebo na prvý pohľad nevieme, o aký text konkrétne ide.

Podstatné je, aby zástupný znak ostal zachovaný, inak môže dôjsť k nefunkčnosti, resp. neúplnosti prekladu.

Nasledovný príklad, verím, že bude dostačujúci:

Prekladanie zástupných znakov

Zástupný znak sa spravidla začína značkou percenta %.

V ostrej prevádzke na stránke sa namiesto zástupného znaku vypíše napr. číslo, alebo konkrétny text, ktorý je dynamicky (napr. názov užívateľa) a nie je možné ho preložiť staticky.

Preto je veľmi dôležité ho zachovať.

Preklad množného čísla

Plurály sa prekladajú nasledovným spôsobom:

Preklad množného čísla

V zdrojovom texte sa nám ukáže text pre singulár a text pre plurál.

Keďže sme na Slovensku, používame inú formu plurálu pre 2-4 a pre 5 a viac (napr. jedno auto, dva autá, tri autá, štyri autá, päť áut, šesť áut,…). Nie je to u nás teda také jednoduché ako v prípade angličtiny, kde sa plurál odlišuje písmenom s (1 word a 2 words), prípadne nepravidelným tvarom (1 foot, 2 feet).

My musíme ešte aj v pluráli rozlišovať, či ide o 2-4 kusy, alebo o 5 a viac kusov. Toto by sme mimo pluginu museli definovať na začiatku .po súboru harakiri kódom, avšak Loco to vyrieši za nás. My sa len prepneme na kartu Niekoľko, kde nastavíme množný tvar pre 2-4 kusov a následne na kartu Iné, kde nastavíme množný tvar pre 5 a viac kusov.

Týmto štýlom pokračujeme dovtedy, kým nepreložíme všetky potrebné reťazce.

Prekladanie cez WPML

Texty šablón a pluginov sa dajú prekladať aj cez plugin WPML – cez string translation. Viac informácií nájdete v tomto návode na prekladanie cez WPML.

Prekladanie cez WordPress.org

Ak máte čas a chcete pomôcť s prekladom tak, aby ho mohli využívať aj ostatní užívatelia WordPressu, je možnosť prekladať reťazce aj priamo na wordpress.org.

Najskôr otvoríte zvolený plugin na wordpress.org, napríklad Elementor: https://wordpress.org/plugins/elementor/#developers.

Na karte Development vidíte podčiarknutý odkaz Translate Elementor Website Builder into your language. Nájdete svoj jazyk a môžete navrhovať jednotlivé reťazce na preklady. Aj takýmto štýlom môžete pomôcť WordPress komunite.

Preklady vo WordPress – zhrnutie

V tomto návode sme si ukázali ako sú jednotlivé texty naprogramované v šablónach a pluginoch, aby boli preložiteľné. Taktiež sme si ukázali ako fungujú PO/MO súbory a ako je možné prekladať texty cez plugin Loco Translate.

🤷‍♂️ Neviete si rady? Pozrite si služby, ktoré vieme zabezpečiť.
Pomohol vám tento článok? Podporte nás 🧡
WordPress Návod v PDF

2 Komentáre

VLOŽIŤ KOMENTÁR

Please enter your comment!
Please enter your name here