This is determined by the Accept-Language HTTP header.
public getAcceptableLanguages ( ) : array | ||
return | array | the languages ordered by the preference level. The first element represents the most preferred language. |
/** * Negotiates the application language. * @param Request $request * @return string the chosen language */ protected function negotiateLanguage($request) { if (!empty($this->languageParam) && ($language = $request->get($this->languageParam)) !== null) { if (isset($this->languages[$language])) { return $this->languages[$language]; } foreach ($this->languages as $key => $supported) { if (is_integer($key) && $this->isLanguageSupported($language, $supported)) { return $supported; } } return reset($this->languages); } foreach ($request->getAcceptableLanguages() as $language) { if (isset($this->languages[$language])) { return $this->languages[$language]; } foreach ($this->languages as $key => $supported) { if (is_integer($key) && $this->isLanguageSupported($language, $supported)) { return $supported; } } } return reset($this->languages); }