preklad

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

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ě:

add_filter('gettext', 'translate_wplama');
add_filter('ngettext', 'translate_wplama');
function translate_wplama($translated) {
$translated = str_ireplace('Není skladem', 'Obsazeno', $translated);
return $translated;
}

V případě, že chcete přeložit více textů na jednou, můžete funkci rozšířit:

add_filter('gettext', 'translate_wplama');
add_filter('ngettext', 'translate_wplama');
function translate_wplama($translated) {
    $translated = str_ireplace('Přidat do košíku', 'Koupit', $translated);
    $translated = str_ireplace('Aktualizovat košík', 'Přepočítat košík', $translated);
    $translated = str_ireplace('Pokračovat v nákupu', 'ZPĚT KE ZBOŽÍ', $translated);
    $translated = str_ireplace('Přejít k pokladně', 'Pokračovat v objednávce', $translated);
    
    return $translated;
}

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);

Správa WordPress webu

Nemusíte na to být sami. Pomůžeme vám s pravidelnou údržbou i novými vylepšeními.

Více informací

5 názorů na “Jak ve WordPress přeložit jakýkoliv řetězec”

  1. Zdravim, viem neako docielit aby sa mi pomocou tohto scriptu neprekladalo WordPress rozhranie?
    Dakujem za skoru odpoved

  2. Dobrý deň. Vyskúšal som to a funguje. Len mám problém s diakritikou. Potreboval som si preložiť Sort By na Zoradiť podľa. Ostalo mi prázdne miesto, žiaden text. Dal som namiesto zoradiť podľa iba zoradenie. To sa už pekne ukázalo. Viete mi povedať, kde je problém? Ďakujem

  3. Zkoušela jsem více různých návodů, jak přepsat “není skladem” a až tento fungoval. Děkuji 🙂

  4. Dobrý den,

    zkoušla jsem toto použít na nahrazení “Pøidat komentáø” a nefunguje to. Nemáte nějaký další nápad, jak to změnit? Používám pouze builder, takže child šablonu nelze použít.

    Děkuji.

Diskuze

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

Nákupní košík

Neuteklo vám něco?

Pokrok a WordPress na nikoho nečekají, tak nám tu raději nechte e-mail, ať o nic nepřijdete!

Zkontrolujte svoji doručenou poštu nebo spam koš, abyste mohli svůj e-mail potvrdit.

Vylaďte WordPress stránky s naším tahákem

V e-booku najdete informace a rady pro WordPress od A do Z. Zadejte e-mail a my vám WordPress tahák pošleme.

Zkontrolujte svoji doručenou poštu nebo spam koš, abyste mohli svůj e-mail potvrdit.

Přejít nahoru