树枝和国际化的问题

时间:2016-04-03 20:34:21

标签: php internationalization twig

我正在使用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;

0 个答案:

没有答案