mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-16 17:44:41 +00:00
Setting locale in ApiControllerBase
This commit is contained in:
parent
a60db3cede
commit
6573e70ae3
@ -91,6 +91,7 @@ class ApiControllerBase extends ControllerRoot
|
||||
{
|
||||
// disable view processing
|
||||
set_error_handler(array($this, 'APIErrorHandler'));
|
||||
self::setLocale();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -44,32 +44,15 @@ class ControllerBase extends ControllerRoot
|
||||
* @param OPNsense\Core\Config $cnf config handle
|
||||
* @return ViewTranslator
|
||||
*/
|
||||
public function getTranslator($cnf)
|
||||
public function getTranslator()
|
||||
{
|
||||
$lang = 'en_US';
|
||||
|
||||
foreach ($cnf->object()->system->children() as $key => $node) {
|
||||
if ($key == 'language') {
|
||||
$lang = $node->__toString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$lang_encoding = $lang . '.UTF-8';
|
||||
$textdomain = 'OPNsense';
|
||||
|
||||
$ret = new ViewTranslator(array(
|
||||
'directory' => '/usr/local/share/locale',
|
||||
'defaultDomain' => $textdomain,
|
||||
'locale' => $lang_encoding,
|
||||
'defaultDomain' => 'OPNsense',
|
||||
'locale' => "en_US.UTF-8",
|
||||
));
|
||||
|
||||
/* 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);
|
||||
|
||||
self::setLocale();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
@ -211,7 +194,7 @@ class ControllerBase extends ControllerRoot
|
||||
$cnf = Config::getInstance();
|
||||
|
||||
// set translator
|
||||
$this->view->setVar('lang', $this->getTranslator($cnf));
|
||||
$this->view->setVar('lang', $this->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).
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
|
||||
namespace OPNsense\Base;
|
||||
|
||||
use OPNsense\Core\Config;
|
||||
use Phalcon\Mvc\Controller;
|
||||
use Phalcon\Logger\Adapter\Syslog;
|
||||
use OPNsense\Core\ACL;
|
||||
@ -47,6 +48,31 @@ class ControllerRoot extends Controller
|
||||
session_write_close();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set locale for gettext
|
||||
*/
|
||||
public static function setLocale()
|
||||
{
|
||||
$lang = 'en_US';
|
||||
|
||||
// Set locale
|
||||
foreach (Config::getInstance()->object()->system->children() as $key => $node) {
|
||||
if ($key == 'language') {
|
||||
$lang = $node->__toString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$lang_encoding = $lang . '.UTF-8';
|
||||
$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);
|
||||
}
|
||||
|
||||
/**
|
||||
* get system logger
|
||||
* @param string $ident syslog identifier
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user