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.