Perl locale Einstellungen Warnung

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
fatada
Beiträge: 19
Registriert: 29.08.2020 21:25:39

Perl locale Einstellungen Warnung

Beitrag von fatada » 04.11.2020 15:16:23

Ich möchte immer mehr das Terminal nutzen, nur ab und zu erscheint folgende Warnung:

Code: Alles auswählen

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_GB",
        LC_ALL = (unset),
        LANG = "en_DE.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
wie bekomme ich diese weg?

Code: Alles auswählen

locale-gen "en_DE.UTF-8"
und

Code: Alles auswählen

dpkg-reconfigure locales
habe ich schon versucht.
Bei dem zweiten Befehl wird mir zwar eine Liste mit allen locales angezeigt.
Dort wird mir nur en_GB.UTF-8 UTF-8 als aktiv angezeigt und das Problem besteht weiterhin. Ein en_DE.UTF-8 UTF-8 gibt es in dieser Liste hingegen gar nicht.

Das ist übrigens auf Debian Buster in dem Terminal Konsole in der bash shell

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Perl locale Einstellungen Warnung

Beitrag von inne » 04.11.2020 16:15:43

Hallo fatada,

ist das Paket Debianlibencode-locale-perl installiert?

Benutzeravatar
fatada
Beiträge: 19
Registriert: 29.08.2020 21:25:39

Re: Perl locale Einstellungen Warnung

Beitrag von fatada » 04.11.2020 21:16:42

ja, ist installiert

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Perl locale Einstellungen Warnung

Beitrag von inne » 21.11.2020 21:14:44

Was sagt locale -a, ist die locale Verfügbar?

tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: Perl locale Einstellungen Warnung

Beitrag von tobo » 21.11.2020 21:54:11

fatada hat geschrieben: ↑ zum Beitrag ↑
04.11.2020 15:16:23

Code: Alles auswählen

LANG = "en_DE.UTF-8"
Was soll denn das für eine Spracheinstellung sein? Halb Deutsch, halb English - Denglish?

Code: Alles auswählen

dpkg-reconfigure locales
habe ich schon versucht.
Das ist dein Weg!
Bei dem zweiten Befehl wird mir zwar eine Liste mit allen locales angezeigt.
Dort wird mir nur en_GB.UTF-8 UTF-8 als aktiv angezeigt und das Problem besteht weiterhin. Ein en_DE.UTF-8 UTF-8 gibt es in dieser Liste hingegen gar nicht.
Und das gibt dir nicht zu denken?

Führe dpkg-reconfigure locales als root aus und wähle irgendwas aus, was da angeboten wird. Anzuraten ist entweder ein de_DE.UTF-8 UTF-8 oder ein en_US.UTF-8 UTF-8. Du kannst auch mehrere auswählen, musst dann halt die richtige Standard-Locale für dich setzen. Jedenfalls erübrigt sich danach dein Perl-Problem!?

Benutzeravatar
fatada
Beiträge: 19
Registriert: 29.08.2020 21:25:39

Re: Perl locale Einstellungen Warnung

Beitrag von fatada » 24.11.2020 11:46:57

tobo hat geschrieben: ↑ zum Beitrag ↑
21.11.2020 21:54:11
Was soll denn das für eine Spracheinstellung sein? Halb Deutsch, halb English - Denglish?
Mehr oder weniger. Das ist Englisch mit englischem Datumsformat, aber die Zahlen nutzen die deutsche Punkt und Komma Schreibweise sowie das metrische System und die Standartwährung ist der Euro.
Führe dpkg-reconfigure locales als root aus und wähle irgendwas aus, was da angeboten wird. Anzuraten ist entweder ein de_DE.UTF-8 UTF-8 oder ein en_US.UTF-8 UTF-8. Du kannst auch mehrere auswählen, musst dann halt die richtige Standard-Locale für dich setzen. Jedenfalls erübrigt sich danach dein Perl-Problem!?
leider nein.
Nach langem hin- und her probieren, habe ich jetzt zwar eine Lösung, aber denke nicht, dass das so im Sinne des Entwicklers war.
Ich habe in den Systemeinstellungen die Sprache auf British English gelassen und bei den Formaten en_DE rausgenommen und durch en_IE (Irland) ersetzt. Damit ist alles so wie bei en_DE, nur mit dem Unterschied dass Punkt und Komma vertauscht sind, aber damit kann ich leben.
Anschließend habe ich dann zusätzlich noch mittels dpkg-reconfigure locales en_IE.UTF-8 UTF-8 hinzugefügt (das gibt es nämlich).

Bei mir (Debian Buster, KDE Plasma) gibt es in den Systemeinstellungen die Möglichkeit, das Nummern-, Zeit-, Wàhrungsformat etc. seperat einzustellen, was aber leider keine Auswirkungen hat. Gibt es evtl. die Möglichkeit diese Einstellungen im Terminal vorzunehmen?

tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: Perl locale Einstellungen Warnung

Beitrag von tobo » 24.11.2020 12:14:18

Klar, da man im Terminal alles einstellen kann und in der GUI manchmal. Die verschiedenen LC-Typen und wie man sie einstellt:
https://wiki.debian.org/Locale
Für dich relevant erstmal LC_TIME und ~/.profile.

Benutzeravatar
fatada
Beiträge: 19
Registriert: 29.08.2020 21:25:39

Re: Perl locale Einstellungen Warnung

Beitrag von fatada » 24.11.2020 18:35:10

Vielen Dank für den Link, der ist sehr hilfreich!
Allerdings ist da etwas sehr seltsam.
Wenn ich folgende Einstellungen vornehme:
Sprache: British English
Formate: default (en_GB)
/etc/default/locale enthält

Code: Alles auswählen

#  File generated by update-locale
LANG=en_GB.UTF-8
#LANGUAGE="en_GB:en"
LC_MEASUREMENT="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
Dann hat LC_MONETARY keinen Effekt, da ich immer noch £ als Währung habe. (Ich vermute LC_MEASUREMENT hat auch keinen Effekt, habe es aber nicht überprüft, da diese Lösung für mich schon nicht zufriedenstellend war.)

Wenn ich folgende Einstellungen vornehme
Sprache: British English
Formate: en_IE
/etc/default/locale enthält

Code: Alles auswählen

#  File generated by update-locale
LANG=en_GB.UTF-8
#LANGUAGE="en_GB:en"
LC_TIME="en_GB.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
Somit habe ich € als Standartwährung und mit LC_TIME den gewünschten Effekt, dass meine Wochen mit dem Montag beginnen (bei Standard en_IE tun sie das nicht). LC_Numeric zeigt allerdings keinen Effekt. Auch nicht mit fr_FR.UTF-8.

Ob die Änderungen wirken, habe ich immer mit LibreOffice Calc überprüft. Bzw. für LC_Time mit einem Kalender Widget. Kann jemand den Fehler reproduzieren? Ich kann mit der zweiten Lösung mit dem nicht funktionierenden LC_Numeric gut leben. Warnung von Perl locale hat sich auch erledigt, seit dem ich nicht mehr en_DE benutze. Ich kann das Thema also als gelöst markieren.
Nur eine Frage noch.
Mir ist aufgefallen, dass ich jetzt, wo ich in dpkg-reconfigure locales de_DE.UTF-8 UTF-8 aktiviert habe mit LibreOffice Calc Dateien die ein ß im Namen haben öffnen kann, nur weiß ich nicht ob es direkt daran liegt, da ich jetzt keinen Vorher Nachher Test gemacht habe. Ich weiß nur, dass es mal nicht funktionierte und ich immer erst die Dateien umbenennen musste. Liegt das daran, dass de_DE.UTF-8 UTF-8 nicht aufgenommen war? Also empfiehlt es sich immer alle die locales in dpkg-reconfigure anzuwählen bei denen man regelmäßig mit Dateien in dieser Sprache umgeht, auch wenn man diese Sprachen nicht für die Bedienung der GUI braucht?

tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: Perl locale Einstellungen Warnung

Beitrag von tobo » 24.11.2020 20:17:44

fatada hat geschrieben: ↑ zum Beitrag ↑
24.11.2020 18:35:10
Also empfiehlt es sich immer alle die locales in dpkg-reconfigure anzuwählen bei denen man regelmäßig mit Dateien in dieser Sprache umgeht, auch wenn man diese Sprachen nicht für die Bedienung der GUI braucht?
Nein, dabei geht es um die Interaktion mit installierter Software. Mit "dpkg-reconfigure locales" wählst du ein Gebietsschema aus, also etwa Spracheinstellung für Programme und Dialoge, Übersetzungen der Dokumentation, Zeichensätze, länderspezifsche Datum-, Zeit-, Währung- und z.B. Gewichtsangaben. Und das Zeug kannste dann mit den LC_*-Werten nochmal feinkörniger einstellen, sofern der Basissatz davon installiert ist. Wenn es dir darum geht, dass z.B. chinesische Zeichen richtig dargestellt werden, dann brauchst du einen Font.

Antworten