Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. LanguageNegotiationUrl.php

function LanguageNegotiationUrl::processInbound

Overrides InboundPathProcessorInterface::processInbound

File

core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationUrl.php, line 103

Class

LanguageNegotiationUrl
Class for identifying language via URL prefix or domain.

Namespace

Drupal\language\Plugin\LanguageNegotiation

Code

public function processInbound($path, Request $request) {
    $config = $this->config
        ->get('language.negotiation')
        ->get('url');
    if ($config['source'] == LanguageNegotiationUrl::CONFIG_PATH_PREFIX) {
        $parts = explode('/', trim($path, '/'));
        $prefix = array_shift($parts);
        // Search prefix within added languages.
        foreach ($this->languageManager
            ->getLanguages() as $language) {
            if (isset($config['prefixes'][$language->getId()]) && $config['prefixes'][$language->getId()] == $prefix) {
                // Rebuild $path with the language removed.
                $path = '/' . implode('/', $parts);
                break;
            }
        }
    }
    return $path;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal