Jak ve WordPress přeložit jakýkoliv řetězec

Tento článek (nebo jeho část) je převzat z externího zdroje. Je tedy slušností jej uvést včetně případného autora.
Tomáš Cirkl

V některých případech, když potřebujete změnit překlad nebo přeložit textový řetězec, není vhodné zasahovat do pluginu, šablony nebo jádra. Jednodušším způsobem pak může být úprava překladu pomocí vlastní funkce.

Nedávno jsem například ve WooCommerce potřeboval změnit text Není skladem na Obsazeno. Změnu jsem potřeboval jak na front-endu, tak i na stránce produktu v administraci v záložce Sklad.

Funkce, která tento překlad upravila vypadala následovně:

Funkci jsem vložil do functions.php v child šabloně.

Jak funkce funguje?

PHP funkci lze rozdělit na 2 části:

1/ Nastavení jména funkce, v našem případě ‘translate_wplama‘. Jestliže budete funkci používat opakovaně, ujistěte se, že se její jméno neopakuje.

add_filter(‘gettext’, ‘translate_wplama’);
add_filter(‘ngettext’, ‘translate_wplama’);
function translate_wplama($translated) {

2/ Změna nebo překlad je na řádce níže. První slovo nebo fráze v uvozovkách je původní text, druhé slovo nebo fráze v uvozovkách je nový text.

$translated = str_ireplace(‘Není skladem’, ‘Obsazeno’, $translated);

nic mocujdedobréslibnéskvělé (Zatím žádná hodnocení.)
Loading...

Napsat komentář