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.