settings = $settings; $this->localeMap = $localeMap; $this->default = $default; } /** * {@inheritdoc} */ public function modify(): ?string { $locale = (string)$this->siteLanguage->getLocale(); foreach ($this->localeMap as $item) { $pattern = '#^' . str_replace('_', '-', $item['locale']) . '#i'; if (preg_match($pattern, $locale)) { return (string)$item['value']; } } return $this->default; } }