Use a lambda function instead of a class.
This way the member QCollator is not copied and initialized several times.
This requires a workaround in the constructor for https://bugreports.qt.io/browse/QTBUG-69361
Just a single comparison to Force the cleanup of QCollator.