You are here

class LanguageNegotiator in Domain Lang 8

Class responsible for performing language negotiation.

Hierarchy

Expanded class hierarchy of LanguageNegotiator

1 file declares its use of LanguageNegotiator
DomainLangServiceProvider.php in src/DomainLangServiceProvider.php

File

src/Language/LanguageNegotiator.php, line 11

Namespace

Drupal\domain_lang\Language
View source
class LanguageNegotiator extends BaseLanguageNegotiator {

  /**
   * {@inheritdoc}
   */
  protected function getEnabledNegotiators($type) {
    $domain = \Drupal::service('domain.negotiator')
      ->getActiveDomain();
    if ($domain instanceof DomainInterface) {
      return $this->configFactory
        ->get('domain.config.' . $domain
        ->id() . '.language.types')
        ->get('negotiation.' . $type . '.enabled') ?: [];
    }
    return parent::getEnabledNegotiators($type);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
LanguageNegotiator::$configFactory protected property The configuration factory.
LanguageNegotiator::$currentUser protected property The current active user.
LanguageNegotiator::$languageManager protected property The language manager.
LanguageNegotiator::$methods protected property Local cache for language negotiation method instances.
LanguageNegotiator::$negotiatedLanguages protected property An array of language objects keyed by method id.
LanguageNegotiator::$negotiatorManager protected property The language negotiation method plugin manager.
LanguageNegotiator::$requestStack protected property The request stack object.
LanguageNegotiator::$settings protected property The settings instance.
LanguageNegotiator::getEnabledNegotiators protected function Gets enabled detection methods for the provided language type. Overrides LanguageNegotiator::getEnabledNegotiators
LanguageNegotiator::getNegotiationMethodInstance public function Returns an instance of the specified language negotiation method. Overrides LanguageNegotiatorInterface::getNegotiationMethodInstance
LanguageNegotiator::getNegotiationMethods public function Returns the language negotiation methods enabled for a language type. Overrides LanguageNegotiatorInterface::getNegotiationMethods
LanguageNegotiator::getPrimaryNegotiationMethod public function Returns the ID of the language type's primary language negotiation method. Overrides LanguageNegotiatorInterface::getPrimaryNegotiationMethod
LanguageNegotiator::initializeType public function Initializes the specified language type. Overrides LanguageNegotiatorInterface::initializeType
LanguageNegotiator::initLanguageManager public function Initializes the injected language manager with the negotiator.
LanguageNegotiator::isNegotiationMethodEnabled public function Checks whether a language negotiation method is enabled for a language type. Overrides LanguageNegotiatorInterface::isNegotiationMethodEnabled
LanguageNegotiator::negotiateLanguage protected function Performs language negotiation using the specified negotiation method.
LanguageNegotiator::purgeConfiguration public function Resave the configuration to purge missing negotiation methods. Overrides LanguageNegotiatorInterface::purgeConfiguration
LanguageNegotiator::reset public function Resets the negotiated languages and the method instances. Overrides LanguageNegotiatorInterface::reset
LanguageNegotiator::saveConfiguration public function Saves a list of language negotiation methods for a language type. Overrides LanguageNegotiatorInterface::saveConfiguration
LanguageNegotiator::setCurrentUser public function Sets the current active user and resets all language types. Overrides LanguageNegotiatorInterface::setCurrentUser
LanguageNegotiator::updateConfiguration public function Updates the configuration based on the given language types. Overrides LanguageNegotiatorInterface::updateConfiguration
LanguageNegotiator::__construct public function Constructs a new LanguageNegotiator object.
LanguageNegotiatorInterface::METHOD_ID constant The language negotiation method id for the language negotiator itself.