Returns the preferred language.
@api
array $locales An array of ordered available locales:
string|null The preferred locale
public function getPreferredLanguage(array $locales = null) {
$preferredLanguages = $this
->getLanguages();
if (empty($locales)) {
return isset($preferredLanguages[0]) ? $preferredLanguages[0] : null;
}
if (!$preferredLanguages) {
return $locales[0];
}
$preferredLanguages = array_values(array_intersect($preferredLanguages, $locales));
return isset($preferredLanguages[0]) ? $preferredLanguages[0] : $locales[0];
}