Multijazyčný wordpress

Ako nastaviť wordpress aby zobrazoval obsah vo viacerých jazykoch pomocou pluginu Polylang.


Zadanie: Klient ma oslovil s požiadovkou vytvoriť jednoduchý multijazyčný web, slúžiaci na prezentáciu jeho spoločnosti na zahraničnom trhu. S wordpressom už niekoľko rokov pracujem, no viacjazyčnosť som ešte nikdy neriešil. Ako prvé som preto začal googliť a analyzovať najlepšie možné riešenie.

Narazil som sa niekoľko pluginov:

Po preštudovaní pár turoriálov a videí, som sa nakoniec rozhodol pre Polylang. Je zadarmo a na účel preloženia webu je najjednoduchší na používanie.

Krok 1. Nastavenie jazykov

Po nainštalovaní Polylang z wordpress repozitára je potrebné nastaviť jazyky, ktoré chceme mať na našej stránke.

  • Menu: Languages -> Languages
Polylang: Nastavenie jazykov

Pridáme jazyky, v mojom prípade Angličtina a Bulharština. Hviezdičkou označíme hlavný jazyk stránky.

V tomto kroku ma potešila možnosť výberu vlajočiek. Pre jazyk en-US možete tak miesto americkej zástavky zobrazovať tú britskú.

Krok 2. Nastavenie URL štruktúry

  • Menu: Languages -> Settings -> URL Modifications

Tu je potrebné sa rozhodnúť ako bude vyzerať adresová štruktúra. Zvolil som tieto možnosti:

Polylang: Nastavenie URL štruktúry

Výsledok je, že domáca stránka bude vyzerať takto : www.mojadomena.bg/en/ prípadne www.mojadomena.bg/bg/ a jednotlive linky ako www.mojadomena.bg/en/about-us/

a podobne.

Krok 3. Preklad stránok

  • Menu: Stránky
Polylang: Preklad stránok

V administrácii stránky si môžete všimnúť na pravej strane nový metabox – Languages. Tu vyberiete hlavný jazyk stránky (resp. je vybraný váš predvolený jazyk), zadáte jazykový preklad a stlačíte na +. WordPress automaticky vytvorí novú stránku, kde vy zadáte názov stránky a môžete sa pustiť do jej prekladu.

Krok 4. Preklad témy

  • Menu: Languages -> Strings translations
  • Súbor: wp-content/themes/{vaša téma}/wpml-config.xml
Polylang: Preklad témy

Polylang automaticky zahŕňa v sekcii Strings translations všetky reťazce definované v súbore wpml-config.xml. Na toto je dôležité myslieť ak chcete Polylang implementovať pre child-themu (treba tento súbor prekopírovať do adresára).

Sekcia String translations je naozaj intuitívna a myslím, že viacerí z vás by sa potešili, kebyže na podobnom princípe pracujú aj .po jazykové súbory.

Pozor: Nenájdete tu všetky texty, ktoré ponúka Customizer. Defaultné hodnotý Customizera, ktoré neprepíšete sa tu neobjavia. Samozrejme toto závisi od konkrétnej témy. Mne takú minútku trvalo kym som na to prišiel:-)

Krok 5. Preklad ostatného obsahu

  • Súbor: wp-content/themes/{vaša téma}/functions.php

Je trochu škoda, že Polylang nedokáže vyfilrovať všetky texty a naservírovať ich cez Strings translations. Avšak aj tento problém má svoje riešenie. Ak na svojej stránke máte stále texty, ktoré nie su ani v Strings translations ani v .po jazykových súboroch a neviete ich preto preložiť, použite Polylang funkciu: pll_register_string().

function register_strings() {
pll_register_string('onepress', 'About us');
}
add_action('init','register_strings');
Tento kód môžete vložiť na koniec functions.php
Zadáte preklad cez Strings translations a následne v kóde kde sa tento text vypisuje, vložíte funkciu: pll__('About us') a to je všetko.

Krok 6. Menu

  • Menu: Vzhľad -> Menu
Polylang: Preklad menu

Polylang automaticky pridá nové menu umiestnenie pre každú jazykovú mutáciu. Vaša úloha je teda vytvoriť nové menu a priradiť mu odpovedajúce umiestnenie.

Krok 7. Vlajočky

  • Menu: Vzhľad -> Menu; Menu: Vzhľad -> Widgety
Polylang: Zobrazenie ovládania prekladu

Čerešnička na torte je pridanie vlajočiek jednotlivých jazykových mutácii. Polylang Vám umožnuje pridať vlajky buď priamo do menu alebo v podobe widgetu napr. do sidebaru. Pre používateľa, ktorý nerozumie cudziemu jazyku je pochopiteľne najlepšia voľba pridať túto možnosť priamo do menu.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *