public function RegisterStringTranslatorsPass::process

You can modify the container here before it is dumped to PHP code.

@api

Parameters

ContainerBuilder $container:

Overrides CompilerPassInterface::process

File

drupal/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterStringTranslatorsPass.php, line 22
Contains Drupal\Core\DependencyInjection\Compiler\RegisterStringTranslatorsPass.

Class

RegisterStringTranslatorsPass
Adds services tagged 'string_translator' to the string_translation service.

Namespace

Drupal\Core\DependencyInjection\Compiler

Code

public function process(ContainerBuilder $container) {
  if (!$container
    ->hasDefinition('string_translation')) {
    return;
  }
  $access_manager = $container
    ->getDefinition('string_translation');
  foreach ($container
    ->findTaggedServiceIds('string_translator') as $id => $attributes) {
    $priority = isset($attributes[0]['priority']) ? $attributes[0]['priority'] : 0;
    $access_manager
      ->addMethodCall('addTranslator', array(
      new Reference($id),
      $priority,
    ));
  }
}