function LanguageNegotiationUrl::getLanguageSwitchLinks
Returns language switch links.
Parameters
\Symfony\Component\HttpFoundation\Request $request: The current request.
string $type: The language type.
\Drupal\Core\Url $url: The URL the switch links will be relative to.
Return value
array An array of link arrays keyed by language code.
Overrides LanguageSwitcherInterface::getLanguageSwitchLinks
File
- 
              core/modules/ language/ src/ Plugin/ LanguageNegotiation/ LanguageNegotiationUrl.php, line 196 
Class
- LanguageNegotiationUrl
- Class for identifying language via URL prefix or domain.
Namespace
Drupal\language\Plugin\LanguageNegotiationCode
public function getLanguageSwitchLinks(Request $request, $type, Url $url) {
  $links = [];
  $query = [];
  parse_str($request->getQueryString() ?? '', $query);
  foreach ($this->languageManager
    ->getNativeLanguages() as $language) {
    $links[$language->getId()] = [
      // We need to clone the $url object to avoid using the same one for all
      // links. When the links are rendered, options are set on the $url
      // object, so if we use the same one, they would be set for all links.
'url' => clone $url,
      'title' => $language->getName(),
      'language' => $language,
      'attributes' => [
        'class' => [
          'language-link',
        ],
      ],
      'query' => $query,
    ];
  }
  return $links;
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
