lib/helpers/I18N.php
function getTranslate(): \Closure {
    return function($value, \Mustache_LambdaHelper $helper) {
      $defaultArgs = [
        'category' => $this->defaultCategory,
        'language' => null,
        'params' => []
      ];

      $output = trim($value);
      $isJSON = mb_substr($output, 0, 1) == '{' && mb_substr($output, mb_strlen($output) - 1) == '}';

      if ($isJSON) $args = $this->parseArguments($helper->render($value), 'message', $defaultArgs);
      else {
        /** @var string[] $parts */
        $parts = explode($this->argumentSeparator, $output, 2);
        $length = count($parts);
        if (!$length) throw new InvalidCallException('Invalid translation format.');

        $args = ArrayHelper::merge($defaultArgs, [
          'category' => $length == 1 ? $this->defaultCategory : rtrim($parts[0]),
          'message' => ltrim($parts[$length - 1])
        ]);
      }

      return \Yii::t($args['category'], $args['message'], $args['params'], $args['language']);
    };
  }
function getTranslate(): \Closure {
    return function($value, \Mustache_LambdaHelper $helper) {
      $defaultArgs = [
        'category' => $this->defaultCategory,
        'language' => null,
        'params' => []
      ];

      $output = trim($value);
      $isJSON = mb_substr($output, 0, 1) == '{' && mb_substr($output, mb_strlen($output) - 1) == '}';

      if ($isJSON) $args = $this->parseArguments($helper->render($value), 'message', $defaultArgs);
      else {
        /** @var string[] $parts */
        $parts = explode($this->argumentSeparator, $output, 2);
        $length = count($parts);
        if (!$length) throw new InvalidCallException('Invalid translation format.');

        $args = ArrayHelper::merge($defaultArgs, [
          'category' => $length == 1 ? $this->defaultCategory : rtrim($parts[0]),
          'message' => ltrim($parts[$length - 1])
        ]);
      }

      return \Yii::t($args['category'], $args['message'], $args['params'], $args['language']);
    };
  }
function getTranslate ( ) : \ Closure { return function ( $ value , \ Mustache_LambdaHelper $ helper ) { $ defaultArgs = [ 'category' => $ this -> defaultCategory , 'language' => null , 'params' => [ ] ] ; $ output = trim ( $ value ) ; $ isJSON = mb_substr ( $ output , 0 , 1 ) == '{' && mb_substr ( $ output , mb_strlen ( $ output ) - 1 ) == '}' ; if ( $ isJSON ) $ args = $ this -> parseArguments ( $ helper -> render ( $ value ) , 'message' , $ defaultArgs ) ; else { /** @var string[] $parts */ $ parts = explode ( $ this -> argumentSeparator , $ output , 2 ) ; $ length = count ( $ parts ) ; if ( ! $ length ) throw new InvalidCallException ( 'Invalid translation format.' ) ; $ args = ArrayHelper :: merge ( $ defaultArgs , [ 'category' => $ length == 1 ? $ this -> defaultCategory : rtrim ( $ parts [ 0 ] ) , 'message' => ltrim ( $ parts [ $ length - 1 ] ) ] ) ; } return \ Yii :: t ( $ args [ 'category' ] , $ args [ 'message' ] , $ args [ 'params' ] , $ args [ 'language' ] ) ; } ; }
Returns a function translating a message.
@return \Closure A function translating a message.
@throws InvalidCallException The specified message has an invalid format.
Returns a function translating a message .