LanguageServiceProvider::alter

public LanguageServiceProvider::alter(ContainerBuilder $container)

Modifies existing service definitions.

Parameters

ContainerBuilder $container: The ContainerBuilder whose service definitions can be altered.

Overrides ServiceProviderBase::alter

File

core/modules/language/src/LanguageServiceProvider.php, line 46

Class

LanguageServiceProvider
Overrides the language_manager service to point to language's module one.

Namespace

Drupal\language

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public function alter(ContainerBuilder $container) {
  $definition = $container->getDefinition('language_manager');
  $definition->setClass('Drupal\language\ConfigurableLanguageManager')
    ->addArgument(new Reference('config.factory'))
    ->addArgument(new Reference('module_handler'))
    ->addArgument(new Reference('language.config_factory_override'))
    ->addArgument(new Reference('request_stack'));
  if ($default_language_values = $this->getDefaultLanguageValues()) {
    $container->setParameter('language.default_values', $default_language_values);
  }
 
  // For monolingual sites, we explicitly set the default language for the
  // language config override service as there is no language negotiation.
  if (!$this->isMultilingual()) {
    $container->getDefinition('language.config_factory_override')
      ->addMethodCall('setLanguageFromDefault', array(new Reference('language.default')));
  }
 
}
doc_Drupal
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.