Beim Versuch, Python dazu zu bringen , Namen in einem bestimmten Gebietsschema auszuspucken, landete ich hier mit demselben Problem.
Als ich die Antwort verfolgte, wurden die Dinge ein wenig mystisch, wie ich finde.
Ich habe diesen Python-Code gefunden.
import locale
print locale.getdefaultlocale()
>> ('en_DK', 'UTF-8')
Und locale.setlocale(locale.LC_TIME, 'en_DK.UTF-8')
funktioniert tatsächlich
Anhand der hier aufgeführten Tipps habe ich weiter getestet, um festzustellen, was mit Python-Code verfügbar ist
import locale
loc_list = [(a,b) for a,b in locale.locale_alias.items() ]
loc_size = len(loc_list)
print loc_size,'entries'
for loc in loc_list:
try:
locale.setlocale(locale.LC_TIME, loc[1])
print 'SUCCES set {:12} ({})'.format(loc[1],loc[0])
except:
pass
was ergibt
858 entries
SUCCES set en_US.UTF-8 (univ)
SUCCES set C (c.ascii)
SUCCES set C (c.en)
SUCCES set C (posix-utf2)
SUCCES set C (c)
SUCCES set C (c_c)
SUCCES set C (c_c.c)
SUCCES set en_IE.UTF-8 (en_ie.utf8@euro)
SUCCES set en_US.UTF-8 (universal.utf8@ucs4)
SUCCES set C (posix)
SUCCES set C (english_united-states.437)
SUCCES set en_US.UTF-8 (universal)
Davon funktioniert nur oben! Aber das en_DK.UTF-8
ist nicht in dieser Liste, obwohl es funktioniert!?!? Was?? Und die von Python generierte Gebietsschemaliste enthält viele Kombinationen von da und DK, nach denen ich suche, aber auch hier kein UTF-8 für da / DK ...
Ich bin auf einer Point Linux-Distribution (Debian-basiert) und locale
sage hier unter anderem LC_TIME="en_DK.UTF-8"
, was ich weiß, funktioniert, aber nicht das Gebietsschema, das ich brauche.
locale -a
sagt
C
C.UTF-8
en_DK.utf8
en_US.utf8
POSIX
Also muss auf jeden Fall ein anderes Gebietsschema installiert werden , was ich durch Bearbeiten /etc/locale.gen
, Kommentieren der benötigten Zeile da_DK.UTF-8 UTF-8
und Ausführen des Befehls getan habelocale-gen
Funktioniert jetzt locale.setlocale(locale.LC_TIME, 'da_DK.UTF-8')
auch und ich kann meine lokalisierten Tages- und Monatsnamen abrufen.
Meine Schlussfolgerung:
Python: locale.locale_alias ist überhaupt nicht hilfreich, um verfügbare Gebietsschemas zu finden !!!
Linux: Es ist ziemlich einfach, eine Gebietsschemaliste abzurufen und ein neues Gebietsschema zu installieren. Viel Hilfe zur Verfügung.
Windows: Ich habe ein wenig nachgeforscht, aber nichts schlüssiges. Es gibt zwar Beiträge, die zu Antworten führen, aber ich habe nicht den Drang verspürt, sie weiterzuverfolgen.
de_DE
Liste inlocale -a
? Wenn nicht, müssen Sie es installieren .