J'ai un peu de mal à faire fonctionner gettext. J'ai fait un simple fichier de test où j'appelle translate.php et echo T _ ("XXXXX") et Il est traduit, mais quand j'essaie d'utiliser echo T_ dans une fonction cela ne fonctionne pas ..gettext fonctionne dans un fichier et pas l'autre?
traduire. php:
<?php
error_reporting(E_ALL | E_STRICT);
// define constants
define('PROJECT_DIR', realpath('./functions/'));
//define('LOCALE_DIR', PROJECT_DIR .'/functions/locale');
define('LOCALE_DIR', PROJECT_DIR .'locale');
define('DEFAULT_LOCALE', 'en_US');
require_once('gettext.inc');
$supported_locales = array('en_US', 'sr_CS', 'de_CH');
$encoding = 'UTF-8';
$locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;
// gettext setup
T_setlocale(LC_MESSAGES, $locale);
// Set the text domain as 'messages'
$domain = 'messages';
T_bindtextdomain($domain, LOCALE_DIR);
T_bind_textdomain_codeset($domain, $encoding);
T_textdomain($domain);
//header("Content-type: text/html; charset=$encoding");
?>
fichier de test de travail:
<?php
require("translate.php");
echo T_("test");
?>
C'était juste un test pour voir si cela a fonctionné et le mot "test" se est traduit comme je l'espérais réaliser. Cela devient un peu plus compliqué avec les fichiers php réels.
info.php
<?php
require("functions\info_functions.php");
(...)
class infopage extends Page
{
public function display()
{
(...)
displayInfo();
(...)
}
}
$homepage = new infopage();
$homepage->display();
?>
info_functions.php - Ici l'écho ne soit pas traduit!
<?php
require("translate.php");
echo T_("test");
function displayInfo()
{
(...)
echo T_("test");
(...)
}
?>