WooCommerce z Divi liczba produktów na stronie
21 sierpnia 2015
Promocje na Creative Market – 30% do 07-12-2015
1 grudnia 2015
Pokaż wszystkie

Tłumaczenie WooCommerce – Płatność i dostawa i inne

Hej,

Dziś pragnę podzielić się z wami jednym z moich ulubionych patentów, który chętnie stosuję w sklepach stawianych

za pomocą WooCommerce.

Patent dotyczy tłumaczenia pojedynczych słów/wyrażeń występujących na sklepie.

Czemu pojedynczych? Bo co za dużo to nie zdrowo. Jeśli mamy cały sklep do przetłumaczenie, to na prawdę lepiej otworzyć PoEdita i przetłumaczyć plik, lub Codestyling Localization (aktualnie chyba Loco Translate). Serdecznie polecam edytowanie plików .po i .mo i wrzucanie ich do wp-content/languages/plugins aby nie uciekły nam przy aktualizacji Woo…

Czasem jednak mimo przetłumaczonych plików pojawiają nam się różne “kwiatki”, które nie chcą się w prosty sposób zmienić na nasz ojczysty język, lub tłumaczenie wypada blado (np. Podsuma).

Jednym z wyrażeń nieprzetłumaczonych po zainstalowaniu woocommerca jest “Shipping and Handling” na stronie

zamówienia.

Tę metodę znalazłam na jednej z anglojęzycznych stron – zabijcie mnie, ale nie mam zapisanego URL, a chętnie bym podlinkowała.

KOD:

function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Shipping and Handling' :
$translated_text = __( 'Płatność i dostawa', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

To jest nasza podstawa. Pozwala przetłumaczyć jedno wyrażenie. Gdzie to wrzucamy? Do functions.php motywu (jeśli nie zrobicie child theme to zniknie przy aktualizacji motywu).

Jeśli chcecie przetłumaczyć kilka wyrażeń, wytarczy, że dodacie kolejny “case”.

PRZYKŁAD:

function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Shipping and Handling' :
$translated_text = __( 'Płatność i dostawa', 'woocommerce' );
break;
case 'Add to Cart' :
$translated_text = __( 'Dodaj do koszyka', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

Co ciekawe, nawet polskie wyrażenia mogą być “nadpisane”.

PRZYKŁADOWO:

function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Zaktualizuj koszyk' :
$translated_text = __( 'Aktualizuj', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );