357
Zobrazení

Tento článek navazuje na článek jak přeložit stránky ve wordpressu. Nadpis není úplně správný, protože se jenom tyto funkce řetězce nepřekládají, pouze je přidávají do seznamu frází k překladu. WordPress používá 4 hlavní funkce pro překlad:

Funkce __()

Tato funkce vrací přeložený řetězec, pokud překlad existuje.
Použití:

$nadpis = '<h1>'.__('Nothing found','simple').'</h1>';
echo $nadpis;

Uvnitř funkce je řetězec, který chceme nahradit přeloženým a následuje jazyková doména.
U této funkce vrací řetězec jako proměnnou.

Ukázka příkladu, který se musí překládat ručně
<h1>Nothing found</h1>

 

Funkce _e()

Další funkce, která vrací přeložené řetězce. Rozdíl je v tom, že tato je rovnou vypíše.
Příklad:

<h1><?php _e('Title','test'); ?></h1>
Ukázka špatného zápisu, _e() nelze použít uvnitř jiných funkcí
edit_comment_link(_e('(Delete)','test'),'  ','')

Funkce _n()

Tato funkce vrací jednotné, nebo množné číslo podle zadané proměnné.

Příklad funkce
$comment = '3';
$text = sprintf( _n( '1 comment', '%s comments', $comment, 'test' ), $comment );
echo $text;

$comment je číselná hodnota, 1 comment je varianta pro jednotné číslo, %s comments je varianta pro množné číslo a test je jazyková doména.
Díky tomu můžete definovat překlad i pro různé varianty textu, jako je například „1 komentář, 5 komentářů“ a podobně.

Funkce _x()

Poslední funkcí důležitou pro překlad, ale poměrně méně využívanou, je _x(). V případě, že máte jedno slovo, nebo frázi, kterou můžete ve stejném znění použít v různých případech – kontextech, stačí definovat jeden řetězec a k němu definovat kontexty, při který se bude používat.

Příklad:

echo _x( 'varianta', 'první', 'test' );
echo _x( 'varianta', 'druhá', 'test' );

Další funkce používané pro překlad

Pro úplnost zde uvedu i další funkce, které se pro výpis přeložených řetězců používají:

_ex(), _nx(), esc_attr__(), esc_attr_e(), esc_attr_x(), esc_html__(),esc_html_e(), esc_html_x(), _n_noop(), _nx_noop(), translate_nooped_plural()

Tyto funkce budou určitě obsahem jednoho z dalších článků.

(357)

Překlad wordpressu – funkce pro překlad řetězců