public function sortCollectionByLocales(Nextras\Orm\Mapper\Dbal\DbalCollection $collection, string $column) : Nextras\Orm\Mapper\Dbal\DbalCollection
{
$builder = $collection->getQueryBuilder();
foreach ([$this->translator->getLocale(), $this->translator->getDefaultLocale()] as $locale) {
$separator = strpos($locale, '_');
$subLocales = $separator === FALSE ? [$locale] : [$locale, substr($locale, 0, $separator)];
foreach ($subLocales as $subLocale) {
$builder->addOrderBy(implode('=', [$column, '%s']) . ' DESC', $subLocale);
}
}
return $collection;
}