我正在使用twing模板引擎开发一个Web应用程序,我对国际化有一些问题。
我已经安装了i18n树枝扩展。
我的应用程序似乎无法找到正确的.mo文件。
PS:我不能使用symfony
这是我的项目结构(只有与此问题相关的文件夹)
-Project
--application
----base
------controllers
--------BaseControl.php
--locale
----en_CA
------LC_MESSAGES
--------messages.mo
--------messages.po
--index.php
以下是似乎无效的代码
// Set Twig master template environment
$loader = new Twig_Loader_Filesystem(APP . '/../assets/templates/');
// Create twig environment
$twig = new Twig_Environment($loader , array(
'debug' => ENV['debug_mode'],
//'strict_variables' => ENV['debug_mode'],
'charset' => strtoupper(CHARSET)
));
// Set i18n extension to twig
$twig->addExtension(new Twig_Extensions_Extension_I18n());
// Set language for i18n extension
putenv('LC_ALL='.APP_LANG[LANGUAGE]); // en_CA
setlocale(LC_ALL, APP_LANG[LANGUAGE]); // en_CA
// Set domaine name
$domain = 'messages';
// Specify the location of the translation tables
bindtextdomain($domain, ROOT . '/locale');
bind_textdomain_codeset($domain, strtoupper(CHARSET));
// Choose domain
textdomain($domain);
// Return twig object with settings
return $twig;