Ordenar la lista de cadenas con una configuración regional específica en Python

Trabajo en una aplicación que utiliza textos de diferentes idiomas, por lo que, para fines de visualización o informe, algunos textos (cadenas) deben clasificarse en un idioma específico.

Actualmente tengo una solución alternativa con la configuración regional global, lo cual es malo, y no quiero ponerlo en producción:

default_locale = locale.getlocale(locale.LC_COLLATE)

def sort_strings(strings, locale_=None):
    if locale_ is None:
        return sorted(strings)

    locale.setlocale(locale.LC_COLLATE, locale_)
    sorted_strings = sorted(strings, cmp=locale.strcoll)
    locale.setlocale(locale.LC_COLLATE, default_locale)

    return sorted_strings

La documentación oficial de Python Locale explícitamente dice que guardar y restaurar es una mala idea, pero no da ninguna sugerencia:http://docs.python.org/library/locale.html#background-details-hints-tips-and-caveats

Respuestas a la pregunta(3)

Su respuesta a la pregunta