src/Service/Common/TranslateHelper.php line 39

Open in your IDE?
  1. <?php
  2. namespace Harmonizely\Service\Common;
  3. use Symfony\Contracts\Translation\TranslatorInterface;
  4. class TranslateHelper
  5. {
  6.     /**
  7.      * Instance
  8.      *
  9.      * @var TranslateHelper
  10.      */
  11.     private static TranslateHelper $instance;
  12.     /**
  13.      * Translator
  14.      *
  15.      * @var TranslatorInterface
  16.      */
  17.     private TranslatorInterface $translator;
  18.     /**
  19.      * Constructor
  20.      *
  21.      * @param TranslatorInterface $translator
  22.      */
  23.     public function __construct(TranslatorInterface $translator)
  24.     {
  25.         $this->translator $translator;
  26.     }
  27.     /**
  28.      * Init instance
  29.      *
  30.      * @return void
  31.      */
  32.     public function init(): void
  33.     {
  34.         self::$instance $this;
  35.     }
  36.     /**
  37.      * Translate method
  38.      *
  39.      * @param string $text
  40.      * @param array $parameters
  41.      * @param string|null $domain
  42.      * @param string|null $locale
  43.      * @return string
  44.      */
  45.     public static function translate(string $text, array $parameters = [], string $domain nullstring $locale null): string
  46.     {
  47.         return self::$instance->translator->trans($text$parameters$domain$locale);
  48.     }
  49. }
  50. function trans(string $text, array $parameters = [], string $domain nullstring $locale null): string
  51. {
  52.     return TranslateHelper::translate($text$parameters$domain$locale);
  53. }