From 2f539d176dc6774d660349b0fa7533b75e4bd904 Mon Sep 17 00:00:00 2001 From: Diogo Peralta Cordeiro Date: Sun, 27 Feb 2022 00:36:26 +0000 Subject: [PATCH] [TWIG] Implement transchoice for ICU plural translations --- src/Twig/Extension.php | 1 + src/Twig/Runtime.php | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/Twig/Extension.php b/src/Twig/Extension.php index a00fb0ffda..1907a9111f 100644 --- a/src/Twig/Extension.php +++ b/src/Twig/Extension.php @@ -79,6 +79,7 @@ class Extension extends AbstractExtension new TwigFunction('open_details', [Runtime::class, 'openDetails']), new TwigFunction('show_stylesheets', [Runtime::class, 'getShowStylesheets']), new TwigFunction('add_right_panel_block', [Runtime::class, 'addRightPanelBlock']), + new TwigFunction('transchoice', [Runtime::class, 'transchoice']), ]; } } diff --git a/src/Twig/Runtime.php b/src/Twig/Runtime.php index bb1007141e..4e6c4e6f51 100644 --- a/src/Twig/Runtime.php +++ b/src/Twig/Runtime.php @@ -33,6 +33,7 @@ declare(strict_types = 1); namespace App\Twig; use App\Core\Event; +use function App\Core\I18n\_m; use App\Core\Router\Router; use App\Entity\Actor; use App\Entity\Feed; @@ -56,6 +57,11 @@ class Runtime implements RuntimeExtensionInterface, EventSubscriberInterface $this->request = $req; } + public function transchoice(array $message, int $count): string + { + return _m($message, ['count' => $count]); + } + public function isCurrentRouteActive(string ...$routes): string { return $this->isCurrentRoute('active', ...$routes);