class LanguageNegotiationSession extends LanguageNegotiationMethodBase implements OutboundPathProcessorInterface, LanguageSwitcherInterface (View source)

Identify language from a request/session parameter.

Constants

METHOD_ID

The language negotiation method id.

Properties

protected LanguageManagerInterface $languageManager

The language manager.

from  LanguageNegotiationMethodBase
protected ConfigFactoryInterface $config

The configuration factory.

from  LanguageNegotiationMethodBase
protected AccountInterface $currentUser

The current active user.

from  LanguageNegotiationMethodBase
protected bool $queryRewrite

Flag used to determine whether query rewriting is active.

protected string $queryParam

The query parameter name to rewrite.

protected string $queryValue

The query parameter value to be set.

Methods

setLanguageManager(ConfigurableLanguageManagerInterface $language_manager)

Injects the language manager.

setConfig(ConfigFactoryInterface $config)

Injects the configuration factory.

setCurrentUser(AccountInterface $current_user)

Injects the current user.

persist(LanguageInterface $language)

Notifies the plugin that the language code it returned has been accepted.

string
getLangcode(Request $request = NULL)

Performs language negotiation.

string
processOutbound(string $path, array $options = [], Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL)

Processes the outbound path.

array
getLanguageSwitchLinks(Request $request, string $type, Url $url)

Returns language switch links.

Details

setLanguageManager(ConfigurableLanguageManagerInterface $language_manager)

Injects the language manager.

Parameters

ConfigurableLanguageManagerInterface $language_manager

The language manager to be used to retrieve the language list and the already negotiated languages.

setConfig(ConfigFactoryInterface $config)

Injects the configuration factory.

Parameters

ConfigFactoryInterface $config

The configuration factory.

setCurrentUser(AccountInterface $current_user)

Injects the current user.

Parameters

AccountInterface $current_user

The current active user.

persist(LanguageInterface $language)

Notifies the plugin that the language code it returned has been accepted.

Parameters

LanguageInterface $language

The accepted language.

string getLangcode(Request $request = NULL)

Performs language negotiation.

Parameters

Request $request

(optional) The current request. Defaults to NULL if it has not been initialized yet.

Return Value

string

A valid language code or FALSE if the negotiation was unsuccessful.

string processOutbound(string $path, array $options = [], Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL)

Processes the outbound path.

Parameters

string $path

The path to process, with a leading slash.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'query': An array of query key/value-pairs (without any URL-encoding) to append to the URL.
  • 'fragment': A fragment identifier (named anchor) to append to the URL. Do not include the leading '#' character.
  • 'absolute': Defaults to FALSE. Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed.
  • 'language': An optional language object used to look up the alias for the URL. If $options['language'] is omitted, it defaults to the current language for the language type LanguageInterface::TYPE_URL.
  • 'https': Whether this URL should point to a secure location. If not defined, the current scheme is used, so the user stays on HTTP or HTTPS respectively. TRUE enforces HTTPS and FALSE enforces HTTP.
  • 'base_url': Only used internally by a path processor, for example, to modify the base URL when a language dependent URL requires so.
  • 'prefix': Only used internally, to modify the path when a language dependent URL requires so.
  • 'route': The route object for the given path. It will be set by \Drupal\Core\Routing\UrlGenerator::generateFromRoute().
Request $request

The HttpRequest object representing the current request.

BubbleableMetadata $bubbleable_metadata

(optional) Object to collect path processors' bubbleable metadata.

Return Value

string

The processed path.

Returns language switch links.

Parameters

Request $request

The current request.

string $type

The language type.

Url $url

The URL the switch links will be relative to.

Return Value

array

An array of link arrays keyed by language code.