comment utiliser gettext en php?
j'ai un fichier dk.po
et dk.mo
dans folder lang dans mon webdir.
comment utiliser ce fichier? J'ai tout essayé, mais je ne peux pas le faire fonctionner.
// Lang
putenv('LC_ALL=dk');
setlocale(LC_ALL, 'dk');
// Specify location of translation tables
bindtextdomain("dk", ROOT .'lang');
// Choose domain
textdomain("dk");
2
demandé sur
hakre
2010-03-08 16:05:36
3 réponses
je travaille déjà avec cela:
setlocale(LC_ALL, 'ar_LY.utf8');
bindtextdomain("trans", $_SERVER["DOCUMENT_ROOT"].'/trans/locale');
textdomain("trans");
le chemin du fichier de langue:
/var/www/trans/locale/ar_LY/LC_MESSAGES/trans.mo
et je crois (pas sûr) que vous devez utiliser les mêmes chemins!
5
répondu
Wesam Alalem
2010-03-17 13:35:10
ça marche pour moi mon fichier s'appelle messages.mo
static function initialize_i18n() {
$locale=App::$locale;
$locales_root = App::$root."locale";
putenv('LANG='.$locale);
putenv('LANGUAGE='.$locale);
putenv('LC_ALL='.$locale);
putenv('LC_MESSAGES='.$locale);
setlocale(LC_ALL, $locale.".utf-8");
$domains = glob($locales_root.'/'.$locale.'/LC_MESSAGES/messages-*.mo');
$current = basename($domains[0],'.mo');
$timestamp = preg_replace('{messages-}i','',$current);
bindtextdomain("messages",$locales_root);
textdomain("messages");
}
2
répondu
Luca Rocchi
2010-03-08 13:24:47
je recommande sérieusement d'utiliser Zend_Translate
pour cela car vous pouvez rencontrer beaucoup d'incohérences avec locales
sur différents types de systèmes.
Docs: http://framework.zend.com/manual/en/zend.translate.using.html
-1
répondu
meder omuraliev
2010-03-08 13:27:35