A super easy PHP Framework for web development! https://github.com/exacti/phacil-framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.5 KiB

<?php
/**
* Copyright © 2024 ExacTI Technology Solutions. All rights reserved.
* GPLv3 General License.
* https://exacti.com.br
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
*/
namespace Phacil\Framework\templateEngines\Twig\Extension;
use Phacil\Framework\templateEngines\Twig\Api\Extension\TranslateInterface;
use Phacil\Framework\templateEngines\Twig\Extension\TokenParser;
class Translate extends \Twig\Extension\AbstractExtension implements TranslateInterface
{
/**
*
* @var \Phacil\Framework\templateEngines\Twig\Extension\Legacy\TokenParser
*/
private $tokenParser;
public function __construct(TokenParser $tokenParser)
{
$this->tokenParser = $tokenParser;
}
/**
* {@inheritdoc}
*/
public function getTokenParsers()
{
return array(
$this->tokenParser,
);
}
/**
* {@inheritdoc}
*/
public function getName()
{
return self::TWIG_TAG_INI;
}
/**
* {@inheritdoc}
*/
public function traduzir()
{
$params = func_get_args();
$body = array_shift($params);
/** @var \Phacil\Framework\Translate */
$trans = \Phacil\Framework\Registry::getInstance("Phacil\Framework\Translate");
echo ($trans->translation($body));
}
/**
* {@inheritdoc}
*/
static public function translate()
{
$params = func_get_args();
$body = array_shift($params);
/** @var \Phacil\Framework\Translate */
$trans = \Phacil\Framework\Registry::getInstance("Phacil\Framework\Translate");
echo ($trans->translation($body));
}
}