locale.setlocale(locale.LC_ALL, 'fr_FR')
print(OrderedDict(sorted(list(dict.items()), cmp=lambda a, b: locale.strcoll(
    unicodedata.normalize('NFD', str(a)[0]).encode('ASCII', 'ignore'),
    unicodedata.normalize('NFD', str(b)[0]).encode('ASCII', 'ignore')))))
Сортировка словаря по ключу с использованием локали/сопоставления