Restore setLocale from Phalcon

This commit is contained in:
Alexander Shursha 2017-07-31 09:02:50 +03:00 committed by Franco Fichtner
parent 71a172dff8
commit cd5c7c8287
3 changed files with 10 additions and 40 deletions

View File

@ -91,7 +91,7 @@ class ApiControllerBase extends ControllerRoot
{
// disable view processing
set_error_handler(array($this, 'APIErrorHandler'));
self::setLocale(self::getLangEncode());
self::getTranslator();
}
/**

View File

@ -29,8 +29,6 @@
namespace OPNsense\Base;
use OPNsense\Core\Config;
use OPNsense\Base\ViewTranslator;
use Phalcon\Mvc\Controller;
/**
* Class ControllerBase implements core controller for OPNsense framework
@ -38,25 +36,6 @@ use Phalcon\Mvc\Controller;
*/
class ControllerBase extends ControllerRoot
{
/**
* translate a text
* @param OPNsense\Core\Config $cnf config handle
* @return ViewTranslator
*/
public function getTranslator()
{
$lang_encoding = self::getLangEncode();
$ret = new ViewTranslator(array(
'directory' => '/usr/local/share/locale',
'defaultDomain' => 'OPNsense',
'locale' => $lang_encoding,
));
self::setLocale($lang_encoding);
return $ret;
}
/**
* convert xml form definition to simple data structure to use in our Volt templates
*
@ -195,7 +174,7 @@ class ControllerBase extends ControllerRoot
$cnf = Config::getInstance();
// set translator
$this->view->setVar('lang', $this->getTranslator());
$this->view->setVar('lang', self::getTranslator());
$this->view->menuSystem = $menu->getItems("/ui".$this->router->getRewriteUri());
// set theme in ui_theme template var, let template handle its defaults (if there is no theme).

View File

@ -49,9 +49,10 @@ class ControllerRoot extends Controller
}
/**
* Get lang encoding for gettext
* translate a text
* @return ViewTranslator
*/
public static function getLangEncode()
public static function getTranslator()
{
$lang = 'en_US';
@ -63,21 +64,11 @@ class ControllerRoot extends Controller
}
}
return $lang . '.UTF-8';
}
/**
* Set locale for gettext
*/
public static function setLocale($lang_encoding)
{
$textdomain = 'OPNsense';
/* this isn't being done by Phalcon */
putenv('LANG=' . $lang_encoding);
textdomain($textdomain);
bindtextdomain($textdomain, '/usr/local/share/locale');
bind_textdomain_codeset($textdomain, $lang_encoding);
return new ViewTranslator(array(
'directory' => '/usr/local/share/locale',
'defaultDomain' => 'OPNsense',
'locale' => $lang . '.UTF-8',
));
}
/**