Kompletní návod k překladům textů šablon a pluginů ve WordPressu přes plugin Loco Translate. Vysvětlení jako překlady ve WordPressu fungují.
Webovou stránku máte připravenou, potřebné pluginy nainstalované a nastavené, téma stránky zvolené a aktivované. Zbývá už jen jediné – zajistit překlad cizích výrazů, které se často vyskytují v pluginech a tématech a které se i přes nastavení češtiny stále zobrazují v angličtině.
Obsah
Překladová funkce v kódu šablon a pluginů
Jednotlivé hlášky, se kterými se na webové stránce setkáme, pocházejí z programových souborů jednotlivých pluginů a témat. Pokud jsou tyto prvky naprogramovány správně , používají u všech textů, které jdou na obrazovku, WordPress funkci __() .
Tato funkce (dva podtržítka) vrátí přeložený text, pokud existuje. Pokud neexistuje, vrátí základní text, který je napsán jako první parametr. Funkce obsahuje dva parametry, oba jsou typu String .
První: Text, povinný.
Druhý: Doména, nepovinný.
V realitě to může vypadat například. takto:
__('Field is required', 'contact-form-7');
Tato funkce vypíše Field is required , pokud neexistuje překlad v aktuálním jazyce. Kdyby překlad existoval, vypsala by například. Toto pole je požadováno , nebo jakkoli bychom ho nastavili. Druhý parametr zajišťuje unikátnost překladu, který by se mohl narušit, pokud by například. dva různé pluginy použily stejný textový řetězec.
Pro příklad uvedu, že mám na svém e-shopu použity dva pluginy. Jeden, který vylepšuje možnosti objednávky (např. nějaký hromadný edit) a druhý, kterým nastavujeme pořadí produktů.
Bohužel v angličtině se objednávka i pořadí řekne stejným slovem – Order a tak by došlo ke konfliktu v překladech:
__('order') - Objednávka
__('order') – Poradie
WordPress by „zblbol“ a nevěděl by, kdy má použít slovo Objednávka a kdy slovo Pořadí . Proto by všude používal poslední přeložený výraz (v tomto případě – Pořadí).
Pokud však doplníme druhý parametr (Doménu), umíme bezpečně od sebe jednotlivé výskyty stejných textových řetězců oddělit :
__('order', 'order-bulk-edit') – Objednávka
__('order', 'products-order-tool') – Poradie
Velmi důrazně proto doporučuji vždy používat i druhý parametr funkce. Autoři pluginů a témat tento druhý parametr často nazývají názvem svého tématu nebo pluginu, čímž se snaží zajistit nejvyšší možnou unikátnost.
No a samozřejmě, najdou se i pluginy, které nejsou programovány v tomto správném stylu, ale textové řetězce jsou v nich napsány natvrdo (hardcodované), v takovém případě dané texty nebudete umět přeložit jinak než přímo v kódu.
Jak zajistit přeložení textů?
O samotné přeložení textů se starají .po a .mo soubory. PO a MO jsou vlastně přípony speciálních textových souborů, které se používají k překládání.
PO soubor
.po soubor je textový soubor (otevřít lze např. v notepadu, sublimu textu, atom editoru, nebo jiném textovém editoru). Skládá se z úvodní hlavičky, ve které definujeme základní prvky jazyka (kód jazyka, formy množného čísla,…). Následně následují pod sebou na střídačku:
msgid „původní text“
msgstr „přeložený text“
původní text je string, který jde do funkce __() jako první parametr a na jeho základě se aplikuje přeložený string.
MO soubor
.mo soubor je binární kompilovaný .po soubor. Jedná se tedy o shluk bitů, které pro člověka nejsou čitelné. Pro procesory však ano. Ke kompilaci můžeme použít například. online converter .
Výsledné dva soubory uložíme do složky wp-content/languages . Je důležité, aby měli správný název.
V základu stačí, když vytvoříme jeden soubor sk_SK.po a jeden sk_SK.mo a v něm bychom teoreticky uměli pokládat všechny texty na překlad.
Z důvodu přehlednosti se však zvyknou samostatně ukládat překlady WordPress jádra (ty dostanete již s instalací České lokalizace WordPressu), témata a pluginy se však ukládají do vlastních složek.
Návod na překládání textů přes Loco
Pokud bychom měli všechny texty překládat výše uvedeným způsobem, zřejmě by to bylo „o držku“.
Proto vznikly pluginy, které jsou k nám lidštější než .po soubory a navíc za nás vyřeší i kompilaci do .mo formátu.
Nejznámějším a nejpoužívanějším je rozhodně Loco Translate plugin. Je dostupný zdarma, je přehledný a super se používá. Stáhnout lze přímo z WordPress repozitáře ( Pluginy-> Přidat nový ).
Výběr pluginu / témata k překladu
Po instalaci a aktivaci se Loco Translate zobrazí v levém hlavním sloupci wp-admina , zpravidla jako poslední položka. Přímo si můžeme vybrat, jestli chceme překládat téma, nebo plugin.
Klepnutím na vybraný plugin se nám zobrazí tzn. jazykové sety, které jsou k němu dostupné a to is procentuálním progress barem.
Pokud progress bar nemá 100%, jedná se o neúplný překlad. V takovém případě postačuje dopřekládat dosud nepřeložené řetězce.
Pokud náš jazyk vůbec není pro daný plugin/téma přístupný, musíme ho přidat do jazykových setů. Přímo do Loco umíme nahrát i existující .po soubor a Loco se postará o kompilaci a vytvoření .mo souboru, který je potřebný pro správnou funkčnost překladu.
Přidání potřebného jazyka
Pokud nemáme u pluginu dostupnou Češtinu (nebo jiný žádaný jazyk), klikneme vlevo nahoře na Nový jazyk . Může vyskočit upozornění, že neexistuje šablona, v takovém případě ji dáme vytvořit.
Loco proběhne všechny soubory zvoleného pluginu a „namapuje“ si jednotlivé překladové texty.
Pokud šablona existuje, rovnou nám vyhodí možnosti přidání nového jazyka:
V bodě 3 1 si vybereme jazyk, který chceme přidat. Buď můžeme použít jeden z předdefinovaných jazyků, nebo si můžeme vytvořit i vlastní jazyk (např. pokud bychom potřebovali jazyk pro nějakou neoficiální řeč, např. nářečí). V bodě č.2 pak zvolíme umístění.
Vlastní: Překladové soubory se uloží do složky wp-content/languages/loco/plugin/plugin_kod_jazyka.po
Systém: Překladové soubory se uloží do hlavní jazykové globální složky. Všechno je OK až do aktualizace WordPress jádra, kdy mohou být tyto soubory vymazány. Nedoporučuji tedy ukládat překlady do této složky.
Autor: Zde se vytvoří vlastní složka languages přímo pod složkou pluginu. Při aktualizaci pluginu dojde k jejímu smazání. Také nedoporučuji.
Překládání textů
Po nastavení klikneme na Začít překládat . Otevře se nám ovládací panel:
V seznamu textů si vybereme ten, který chceme přeložit a klikneme na něj. Vyznačí se šedou barvou, zobrazí se zdrojový text a naším úkolem je dopsat český překlad.
Po jakékoli změně tlačítko Uložit zmodrá a lze tedy na něj kliknout a změny uložit. Doporučuji to dělat průběžně. V ovládacím panelu vidíme možnost vrátit, to je klasické Zpět , což známe z jiných programů (např. iz Wordu).
Ostatní možnosti překladače
Tlačítko Synchronizovat nám pomůže a přidá, nebo ubere texty, které mezitím někdo (nebo i my) vymažeme ze souborů pluginu.
Klepnutím na tlačítko Auto s ikonou robota můžeme využít automatický překlad, který zajistí jeden z externích překladových enginů (např. Google Translate), samozřejmě je třeba propojit svůj účet přes Google API. Za zmínku stojí, že dnes se k překladu již využívá ve velkém AI (Umělá inteligence), takže více než 90 % překladů proběhne v pořádku.
V políčku Filtrovat překlady si umíme najít konkrétní řetězec, který chceme přeložit (téměř nikdy totiž není nutné překládat všechny texty, které jsou dostupné). Poslední dvě tlačítka zobrazí bloky (pokud jsou dostupná), nebo zobrazí překladové texty raději v HTML formátu než v klasickém editoru.
Překládání zástupných znaků
Za zmínku stojí využívání zástupných znaků. Kvůli tomu se někdy překladatelství pluginů stává hotovou magií, neboť na první pohled nevíme, o jaký text konkrétně jde.
Podstatné je, aby zástupný znak zůstal zachován, jinak může dojít k nefunkčnosti, resp. neúplnosti překladu.
Následující příklad, věřím, že bude dostačující:
Zástupný znak zpravidla začíná značkou procenta %.
V ostrém provozu na stránce se místo zástupného znaku vypíše např. číslo, nebo konkrétní text, který je dynamicky (např. název uživatele) a nelze jej přeložit staticky.
Proto je velmi důležité jej zachovat.
Překlad množného čísla
Plurály se překládají následujícím způsobem:
Ve zdrojovém textu se nám ukáže text pro singulár a text pro plurál.
Jelikož jsme na Slovensku, používáme jinou formu plurálu pro 2-4 a pro 5 a více (např. jedno auto, dva auta, tři auta, čtyři auta, pět aut, šest aut,…). Není to u nás tedy tak jednoduché jako v případě angličtiny, kde se plurál odlišuje písmenem s (1 word a 2 words), případně nepravidelným tvarem (1 foot, 2 feet).
My musíme ještě iv plurálu rozlišovat, zda se jedná o 2-4 kusy, nebo o 5 a více kusů. Toto bychom mimo pluginu museli definovat na začátku .po souboru harakiri kódem, ovšem Loco to vyřeší za nás. My se jen přepneme na kartu Několik , kde nastavíme množný tvar pro 2-4 kusů a následně na kartu Jiné , kde nastavíme množný tvar pro 5 a více kusů.
Tímto stylem pokračujeme, dokud nepřeložíme všechny potřebné řetězce .
Překládání přes WPML
Texty šablon a pluginů lze překládat i přes plugin WPML – přes string translation. Více informací naleznete v tomto návodu k překládání přes WPML .
Překládání přes WordPress.org
Pokud máte čas a chcete pomoci s překladem tak, aby jej mohli využívat i ostatní uživatelé WordPressu, je možnost překládat řetězce i přímo na wordpress.org .
Nejdříve otevřete zvolený plugin na wordpress.org, například Elementor: https://wordpress.org/plugins/elementor/#developers .
Na kartě Development vidíte podtržený odkaz Translate Elementor Website Builder into your language . Naleznete svůj jazyk a můžete navrhovat jednotlivé řetězce na překlady. I takovým stylem můžete pomoci WordPress komunitě.
Překlady ve WordPressu – shrnutí
V tomto návodu jsme si ukázali, jak jsou jednotlivé texty naprogramovány v šablonách a pluginech , aby byly přeložitelné. Také jsme si ukázali jak fungují PO/MO soubory a jak lze překládat texty přes plugin Loco Translate .
Was this article helpful for you? Support me by sharing, please. 👍