Wenn ich in den Systemeinstellungen, Sprache und Region das Vereinigte Königreich auswähle, locale
ist die Ausgabe von
LANG="en_GB"
LC_COLLATE="en_GB"
LC_CTYPE="en_GB"
LC_MESSAGES="en_GB"
LC_MONETARY="en_GB"
LC_NUMERIC="en_GB"
LC_TIME="en_GB"
LC_ALL=
Wenn ich aber Norwegen auswähle geht das aus
LANG="en_NO"
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
Ich vermute, dass dies der Grund ist, warum Befehle wie ls
Datumsangaben im mon date
Format anstelle von anzeigen date mon
, selbst wenn Norwegisch letzterem folgt. locale -a | grep en_NO
zeigt nichts und ich denke, das ist der Grund. Also habe ich versucht, es nach meinen Bedürfnissen zu kopieren /usr/share/locale/no_NO
und /usr/share/locale/en_NO
zu ändern, und natürlich erhalte ich, mkdir: en_NO: Operation not permitted
weil das Systemvolume als schreibgeschützt auf Catalina gemountet ist. Gibt es also eine Möglichkeit, mein eigenes Gebietsschema hinzuzufügen?
Ich weiß nicht, ob Ihr Problem mit meinem identisch war, aber das hat zumindest bei mir funktioniert. Ich habe auch bemerkt, dass mein System versucht hat, nb_no.UTF-8 anstelle von no.NO zu setzen (und fehlschlug).
vim ~/.config/fish/config.fish
set -x LC_ALL no_NO.UTF-8
en_NO
, mit ist im System nicht verfügbar, also ist die Frage, wie man es zuerst hinzufügtDies funktioniert unter MacOS 12.5 Monterrey über Macs mit SIP (System Integrity Protection), M1-Chip:
Prüfen Sie zunächst, ob Regionalität im System vorhanden ist:
locale -a | grep en_NO
Wenn es keine Ergebnisse gibt, gibt es keine Regionalität. Es hat keinen Sinn, eine Kopie zu erstellen, da das Root-Verzeichnis schreibgeschützt eingehängt ist und SIP Ihnen nicht erlaubt, es zu ändern. Es besteht zwar die Möglichkeit, darauf zu schreiben, aber es wird nicht möglich sein, SIP erneut zu verwenden, damit die Änderungen bestehen bleiben. localedef funktioniert auch nicht. Die Lösung besteht darin, einen Home-Ordner zu erstellen und den Pfad zu ändern, in dem glibc nach den Gebietsschemata sucht:
mkdir ~/.locale
cp -rpf /usr/share/locale/en_GB.UTF-8 ~/.locale/en_NO.UTF-8
export PATH_LOCALE=~/.locale
export LC_ALL=en_NO.UTF-8
Jetzt hat das System die entsprechende Regionalität. Damit Änderungen im Terminal dauerhaft wirksam werden, könnten der Datei ˜/.profile folgende Zeilen hinzugefügt werden:
export PATH_LOCALE=~/.locale
export LC_ALL=en_NO.UTF-8
Wenn andererseits das Gebietsschema auf dem System vorhanden ist (wenn das Gebietsschema -a | grep en_kein Ergebnis zurückgibt), wird nur Folgendes erreicht:
export LC_ALL=en_NO.UTF-8
Genauso kann diese Zeile in ˜/.profile stehen. In meinem Fall verwende ich es_AR basierend auf dem Gebietsschema, das vom System es_ES bereitgestellt wird. Es ist die sauberste Lösung (und ich denke die richtige), die ich bisher gefunden habe, ohne in das System einzugreifen.
/usr/local/share/locale
eine Alternative zu einer benutzerspezifischen Installation?
lx07
export LC_TIME="en_GB.UTF-8"
etc. in Ihre Arbeit einbauen ?~/.zshrc
Tae
locale
immer wieder angezeigt wird . Außerdem wollte ich alle Werte für from bekommenLC_TIME
C
LC_*
defaults read NSGlobalDomain AppleLocale
lx07
source ~/.zshrc
ein neues Terminal-Emulator-Fenster ausführen oder öffnen, nachdem Sie die Datei geändert haben ...Tae