Olet luultavasti joskus nähnyt jossakin WordPress/WooCommerce -toteutuksessa napin, jossa on vääränkielinen teksti – tai artikkelien metatietoa, joissa lukee lukee ”By” eikä ”Kirjoittaja”? Ehkä tällainen on kerran tai kaksi piinannut sinuakin?

Hyvin laajalti käytetty apu (toimiva ja todella hyvä apu!) on esim. Loco translate -niminen lisäosa, jolla voi tehdä string-käännöksiä (string = merkkijono) lisäosien ja teemojen eri alueisiin.

Yksittäisiin tapauksiin on tosin olemassa täsmälääke, WordPressin coressa oleva gettext- filterhook.

Kopioi koodi lapsiteemasi functions.php:n jatkoksi.

/**
 * @snippet       Merkkijonojen muutokset gettextillä
 * @author        Jaakko Pöntinen - WPWoofi.com
 * @testedwith    WooCommerce 4.5.2
 */

// Aktivoidaan filter funktiolla
add_filter( 'gettext', 'mm_change_multiple_strings', 20 );
// Määritetään funktio
function mm_change_multiple_strings( $translated ) {
// Määritetään array, jossa listataan muutettavat stringit ja se, mikä tulee korvaavaksi. Muuta, poista tai kopioi lisää rivejä tarpeen mukaan - muutamia rivejä on syötetty esimerkin vuoksi.
	$text = array(
		'Näytä ostoskori' => 'Avaa kori',
		'Laskutustiedot' => 'Tilaajan tiedot',
		'Search Results for' => 'Hakutulokset',
		'Laskutusosoite' => 'Tilaajan tiedot',
		'(ei sis. alv.)' => 'alv0',
		'You searched for' => 'Etsit tätä',
	);
// Käsitellään yllä annetun arrayn mukaan
	$translated = str_ireplace(  array_keys($text),  $text,  $translated );
// Palautetaan käsitellyt tiedot
	return $translated;
}

Kirjoittaja Jaakko Pöntinen

Yrittäjä for life. Välillä onnistuen, välillä epäonnistuen. En etsi loputtomiin vihreintä ruohoa vaan rakennan hyviä kokonaisuuksia monissa viitekehyksissä.

Lisää uusi kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *