Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
optometrists
/
cache
/
cache
/
cache
/
cache
/
cache
/
cache
/
.wp-cli
/
wp-content
/
plugins
/
wp-phpmyadmin-extension
/
lib
/
phpMyAdmin
/
vendor
/
phpmyadmin
/
twig-i18n-extension
/
src
:
I18nExtension.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?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); } }