Python strftime und locale

  • Im SerienRecorder Plugin gibt es eine neue Funktion um E-Mails zu empfangen, dafür wird eine IMAP Datumssuche durchgeführt. Das Datum was dafür übergeben wird, stammt aus der Funktion strftime.
    Jetzt hat sich gezeigt, dass bei einigen Usern der Monatsname lokalisiert in Deutsch geliefert wird, bei anderen, z.B. auch auf meiner Box in Englisch. Richtig für die IMAP Suche, damit alle Mailserver damit klar kommen, ist Englisch. Ich habe versucht im Plugin vor dem Aufruf von strftime das locale zu setzen, das funktioniert aber nicht, ich bekomme immer eine Exception (unknown locale). Python holt die locales ja aus dem System, wenn ich jetzt in der shell mit "locale" das aktuelle locale ermitteln möchte, dann wird der Befehl nicht gefunden.


    Welche Pakete sind nötig um ein locale zu setzen?
    Mir ist auf meiner Box auch aufgefallen, dass der Monatsname z.B. bei Timern auch in Englisch statt Deutsch angezeigt werden.

  • Ja, der Import scheint zu klappen, wenn ich dann locale.setlocale aufrufe bekomme ich: locale.Error: unsupported locale Setting
    Ich habe alle möglichen Schreibweisen versucht: "en_US.utf-8", "en_US" - aber das Ergebnis ist immer gleich.

  • Wie geschrieben, hatte ich "en_US" bereits probiert, eben auch noch "en_GB" leider jedesmal denselben Absturz.
    Komisch ist ja auch, dass meine Box anscheinend auf Englisch steht, wie kann ich das locale ganz allgemein auf Deutsch umstellen, unabhängig vom Python Code?