2009. szeptember 16.

WordPress sablonok többnyelvűsége

WordPress régóta támogatja, hogy a sablonok több nyelvűek legyenek (gettextel, po/mo fájlok ugye), azonban valamiért a nem ameriaki sablongyártókon kívül nem igen használnak ilyesmit.

Pedig nem lehet mondani, hogy pluszmunka, mert csak ezt kell bedobni a functions.php-ba (vagy a headerbe, akárhova, a lényeg, hogy lefusson)

if (class_exists('xili_language')) {
	define('THEME_TEXTDOMAIN', $domain );
	define('THEME_LANGS_FOLDER', $path );
} else {
	load_theme_textdomain( $domain, $path );
}

És ez akkor már egy fullos kód xili-language támogatással, lehet egyszerűbben is

load_theme_textdomain( $domain, $path )

ahol a $domain jellemzően a téma neve, a $path meg ugye, hogy hol keresse a fájlokat (a sablon mappáján belül)

A megjelenített szöveget meg így (php tagek között értelemszerűen):

_e('szöveg', 'domain');

És mennyivel jobb lenne a világ.

Miért nem lehet azt csinálni, hogy a WordPress.org-os theme tárolóba csak így megírt sablonokat lehessen feltölteni? Aki új sablont csinál annak semmi pluszmunka, megvélő sablont se olyan nagy macera átírni, de mégis sokkal jobb lenne.

És ugye mint azt már mondtam, hogy ez csak az amerikai, angol anyanyelvű téma gyártóknál fordul elő….

WordPress plugin esetén meg a következővel lehet betölteni a mo fájlt:

$my_translator_domain = TEXT_DOMAIN;
$my_translator_is_setup = 0;
function fabfunc_setup(){
  global $my_translator_domain, $my_translator_is_setup;
  if($my_translator_is_setup) {
    return;
  }
  load_plugin_textdomain($my_translator_domain,
       PLUGINDIR.'/'.dirname(plugin_basename(__FILE__)),
       dirname(plugin_basename(__FILE__)));
}
MikroVPS hirdetés

1 hozzászólás

Szólj hozzá