Překlad pluginu/šablony ve WordPressu

Při potřebě přeložit plugin do Češtiny jsem se setkal s pár zajímavostmi, které bylo potřeba překonat. Ačkoliv už jsem plugin někdy překládal, tak tady jsem si namlel nos, protože v tomhle případě nic nefungovalo a musel jsem hodně hledat, abych uspěl. A nakonec si samozřejmě udělat překlad sám a ze zdvořilosti se o něj podělit, abych pomohl ze světa udělat hezčí místo pro život 🙂

Zde dávám popis problému a následné řešení.

Jaké nástroje použít k překladu pluginu/šablony?

Non-paid freeware tips/program/solution to translate plugins and themes.

Pro překlad pluginu se používají 3 druhy nástrojů. Napíši příklady, které byly freeware (zdarma) a se kterými jsem se pokoušel uspět.

  • Pluginy, které umožní přímo ve WordPressu překládat – LoCo translate
  • Počítačový program instalovaný do OS PC – PoEdit
  • Online integrovaný nástroj na wordpress.org určený pro vývojáře – translate.wordpress.org

Osobně jsem slavil úspěch s PoEdit. Stáhnul jsem si data z online nástroje, doplnil překlad do plna a znovu do online nástroje uploadnul – neboť Autor pluginu odtamtud bere překlady při vydání aktualizací.

Jak je to obecně s překlady, když to funguje.

Knowledge about typical translation process.

Pokud chcete dělat překlad pluginu/šablony, krok 1 by mělo být ujištění se, že je kód připravený pro překlad do dalších jazyků. Že programátor při vývoji použil jednu z metod pro ohraničení textu v kódu, který má být přeložen. Ohraničení vypadá například takto:

_e( 'Your Ad here', 'my-text-domain' );

Takto ohraničený kód pak vývojář prožene programem a vznikne mu soubor .po typicky umístěný v adresáři /wp-content/plugins/example-plugin/languages/example-plugin.po a to už je soubor, který vás zajímá. Z něj se dělají překlady některým z nástrojů. Hotové překlady se pojmenovávají s koncovkou jazyka. V tomto příkladu by to bylo example-plugin-cs_CZ.po a example-plugin-cs_CZ.mo uložené ve stejném adresáři. Překlad se pak načte automaticky při obnovení stránky.

Podmínkou je mít v Nastavení/Obecné správně nastavený jazyk a v Nástěnka/Aktualizace dostahované Překlady.

Překlad mám hotový, ale nezobrazuje se.

WordPress translated plugin or theme not showing in it’s language. Why?

Máte soubory .mo a .po podle předchozího kroku, ale nic se neděje. Překlad je beze změny. Nefungovaly WordPressové pluginy pro překlad, nefungoval lokální PC program a některé z hotových překladů se vlastně taky neukazovaly správně (Němčina,…), když jsem přepínal WordPress do různých jazyků pro ověření, jestli ten systém u konkrétního pluginu není nějak rozsypaný.

Nakonec jsem našel odpověď v podpoře pluginu. Autor poradil dvě cesty.

  • Pokud chcete pomoci komunitě a na aplikovaný překlad nespěcháte, ať použijete nástroj translate.wordpress.org a změna se projeví při příštím updatu.
  • Pokud chcete vidět přeložené hned v produkci, pro vývoj se používá alternativní složka pro uložení překladů. A to byla moje cesta, kterou jsem pak zkombinoval s tou první. Alternativní složka je:
/wp-content/languages/plugins/event-post-de_DE.po

Tak snad to pomůže někomu dalšímu, nejen mě, až se budu o překlad znovu zajímat a budu chtít nějaký rychlý přehled, co použít za nástroje a jak řešit chybu, se kterou jsem se už někdy setkal….a uspěl.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..