From 2723668ea3c07a2c83c120f1875fee5d947ecf5f Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Sun, 10 May 2015 19:33:02 +0200 Subject: [PATCH] (mvc) some gettext stuff --- .../OPNsense/Base/ControllerBase.php | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php b/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php index 9731b1222..7d1f65e02 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php @@ -31,7 +31,7 @@ namespace OPNsense\Base; use OPNsense\Core\Config; use OPNsense\Core\ACL; use Phalcon\Mvc\Controller; -use Phalcon\Translate\Adapter\NativeArray; +use Phalcon\Translate\Adapter\Gettext; /** * Class ControllerBase implements core controller for OPNsense framework @@ -45,11 +45,19 @@ class ControllerBase extends Controller */ public function getTranslator() { - // TODO: implement language service - $messages = array(); - return new NativeArray(array( - "content" => $messages - )); + if (function_exists("gettext")) { + // gettext installed, return gettext translator + return new Gettext(array( + "locale" => locale_get_default(), + "directory" => "/usr/local/share/locale/", + 'file' => 'LC_MESSAGES/OPNsense.pot', + )); + } else { + // no gettext installed, return original content + return new Gettext(array( + "content" => array() + )); + } } /** @@ -91,8 +99,13 @@ class ControllerBase extends Controller case "help": case "hint": case "label": - // translate text items - $result[$key] = gettext((string)$node); + // translate text items if gettext is enabled + if (function_exists("gettext")) { + $result[$key] = gettext((string)$node); + } else { + $result[$key] = (string)$node; + } + break; default: // default behavior, copy in value as key/value data