function getTranslationsByPrecedence($localizedData, $localePrecedence)
{
$reorderedLocalizedData = array();
// Check whether we have localized data at all.
if (!is_array($localizedData) || empty($localizedData)) {
return $reorderedLocalizedData;
}
// Order by explicit locale precedence first.
foreach ($localePrecedence as $locale) {
if (isset($localizedData[$locale]) && !empty($localizedData[$locale])) {
$reorderedLocalizedData[$locale] = $localizedData[$locale];
}
unset($localizedData[$locale]);
}
// Order any remaining values alphabetically by locale
// and amend the re-ordered array.
ksort($localizedData);
$reorderedLocalizedData = array_merge($reorderedLocalizedData, $localizedData);
return $reorderedLocalizedData;
}