Viewing file: I18nExtension.php (1.53 KB) -rwxr-x--- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
declare(strict_types=1);
/* * This file is part of Twig I18n extension. * * (c) 2010-2019 Fabien Potencier * (c) 2019-2021 phpMyAdmin contributors * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
namespace PhpMyAdmin\Twig\Extensions;
use PhpMyAdmin\Twig\Extensions\TokenParser\TransTokenParser; use Twig\Extension\AbstractExtension; use Twig\TwigFilter;
use function dgettext; use function gettext;
class I18nExtension extends AbstractExtension { /** * {@inheritdoc} */ public function getTokenParsers() { return [new TransTokenParser()]; }
/** * {@inheritdoc} */ public function getFilters() { return [ new TwigFilter('trans', [$this, 'translate']), /* Note, the filter does not handle plurals */ ]; }
/** * {@inheritdoc} * * @return string */ public function getName() { return 'i18n'; }
/** * Translate a GetText string via filter * * @param string $message The message to translate * @param string|null $domain The GetText domain */ public function translate(string $message, ?string $domain = null): string { /* If we don't have a domain, assume we're just using the default */ if ($domain === null) { return gettext($message); }
/* Otherwise specify where the message comes from */ return dgettext($domain, $message); } }
|