alles auf Deutsch

pit234a

Well-Known Member
Hallo.

Anlass, dies hier zu beginnen, ist die immer wieder auftauchende Frage der Lokalisierung.
Die ist recht komplex und es gibt nicht nur Systemweite und per-User Aspekte, sondern auch anwendungsspezifische Besonderheiten. So nutzt es etwa noch lange nichts, wenn man die Deutsche Tastatur eingestellt hat und eine Variable für den Charset bestimmt hat, wenn man nicht auch das Sprachpaket für Firefox installiert hat und selbst damit muss unter Umständen dann erst noch etwas eingestellt werden, damit dies dann auch wirksam wird.
All diese Dinge erhoffe ich mir, hier sammeln zu können.
Dabei wählte ich den Titel nach einem sehr betagten Beitrag, den wir dazu schon mal hatten und nicht etwa, weil ich mir wünsche alles auf Deutsch zu beschränken. Es ist ja klar, dass alles das auch für andere Lokalisierungen gilt und Deutsch nur ein Beispiel sein soll.
Und ich will den Anfang damit machen, das damals (also in dem erwähnten alten Beitrag) erklärte hier zu zitieren. Das ist weitgehend unverändert, aber doch etwas angepasst und ich hoffe, dass es so stimmt:
/etc/rc.conf
keymap="de"

/etc/login.conf
german|German Users Accounts:\
:charset=UTF-8:\
:lang=de_DE.UTF-8:\
:tc=default:

/etc/login.conf.db anlegen: cap_mkdb /etc/login.conf

german in /etc/master.passwd mit vipw eintragen
(weil ich den nicht kann, mache ich es mit ee und rufe danach vipw auf und speichere ab)
vipw /etc/master.passwd
user:$1$ZQy8cjlU$otNcIcr1NfPN5i7bnn.sY.:1001:0:german:0:0:name user:/home/user:/bin/csh

Lokalisierung für csh/tcsh
Die Lokalisierung für csh wird systemweit in der /etc/csh.login eingestellt.
Ich habe das auch gerne in der /etc/csh.cshrc gemacht.
setenv LC_ALL de_DE.UTF-8
setenv LANG de_DE.UTF-8
setenv MM_CHARSET UTF-8

Lokalisierung für sh/bash
Die Lokalisierung für sh und bash wird systemweit in der /etc/profile eingestellt.
LC_ALL=de_DE.UTF-8; export LC_ALL
LANG=de_DE.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET

Es gibt auch lokale Einstellungen pro User, die manche Anwendungen auswerten: ~/.login und ~/.cshrc
Manche Anwendungen sehen auch nach einer ~/.login.conf oder einer ~/.login_conf
Die Syntax ist:

.cshrc
setenv LC_ALL de_DE.UTF-8
setenv LANG de_DE.UTF-8
setenv MM_CHARSET UTF-8

.login
me:\
:charset=UTF-8:\
:lang=de_DE.UTF-8:


X in der /etc/X11/xorg.conf
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection


KDM
dann noch später in der /usr/local/share/config/kdm/Xsession ganz oben eingefügt:
. /etc/profile
. ~/.profile
Vielleicht sollten wir uns zunächst auf das Basis-System beschränken und noch nicht in die Anwendungen vertiefen. Was ich oben anführte, ist dabei nicht alles, was man tun kann, da bin ich mir sicher. Denn, auf einem alten BSD-Rechner sehe ich, dass ich sogar mal die Kontroll-Texte des ee in Deutsch hatte, weiß aber nun nicht mehr, wie ich das gemacht hatte.
Also, ich denke, zunächst mal sehen, ob das noch stimmt, was ich hier einstelle, dann aktualisieren und mit X und DM zufrieden geben, danach dann vielleicht einzelne Anwendungen, die einen Eingriff erfordern.

Oder auch einfach alles reinschmeißen, was man weiß und später sortieren. Ist ja auch egal.
 
Es heißt "auf Deutsch"![/GRAMMER NAZI]

Ich möchte anmerken, dass leider bei den locales, wenn jemand kein Library verwendet zum Beispiel gegen de_DE, aber nicht gegen de_AT oder DE_CH zum Beispiel geprüft wird. Ist leider etwas nervig, weil das gerade bei frei verfügbaren Wörterbüchern ein Problem sein kann, wenn die Hälfte nicht erkannt wird. In Österreich ist das zum Beispiel gerade bei den Themen Pflanzen und Essen so, dass die einfach anders genannt werden.

Zu den Tastaturen: Die würde ich getrennt sehen, weil das wirklich eine Modellfrage ist und Personen auf der ganzen Welt zum Beispiel die englische Tastatur verwenden, mitunter auch Dvorak, etc. verwendet werden, aber auch manchmal Tastaturen für ein bestimmtes Land entwickelt wurden, aber alle dort das Keyboard vom großen Nachbarn nutzen oder ähnliches. Aber das nur für Leute, die vielleicht mal einen Installer oder ähnliches entwickeln. Für Defaults kann man natürlich auf ein Layout schließen, aber trotzdem bitte immer den User eine Option zum Umstellen geben. :)

Ist sonst blöd, wenn jemand für's Passwort oder so ein anderes Layout hat.
 
Habe alles auch entsprechend @holgerw und @pit234a Einstellungen konfiguriert. Ja, ich habe nach dem Einloggen mit GDM dann eine deutsche Tastatur und deutsche Umlaute, aber alle Anwendungen sind in englisch. Da werde ich wohl weiter mit meiner .xinitrc starten, das funktioniert nämlich:
Code:
export LANG=de_DE.UTF-8
setxkbmap de
exec gnome-session
 
Habe alles auch entsprechend @holgerw und @pit234a Einstellungen konfiguriert. Ja, ich habe nach dem Einloggen mit GDM dann eine deutsche Tastatur und deutsche Umlaute, aber alle Anwendungen sind in englisch. Da werde ich wohl weiter mit meiner .xinitrc starten, das funktioniert nämlich:
Code:
export LANG=de_DE.UTF-8
setxkbmap de
exec gnome-session
Ja, das ist sehr speziell und weniger allgemein, wie ich das hier angedacht hatte. Denn, die .xinitrc und das, was du da setzt, ist nichts anderes, als was oben in dem Zitat auch gemacht wird. Du setzt die xkbmap auf de, was dem Eintrag in der xorg.conf entsprichst und du setzt und exportierst die Variable LANG, was dem Eintrag in der /etc/profile entspricht. Wieso dann die Einstellungen nicht funktionieren, ist merkwürdig und deutet aus meiner Sicht auf einen Fehler, vielleicht irgendwo in der Syntax.
 
Titel geändert. Da dieser aber nicht so recht griffig ist bitte gerne einen prägnanten Titel per PN an einen der Miss schicken.
 
Den Gnome Desktop mit deutschen GDM und deutscher Lokalisation starten

Und das ist die Lösung und so funktioniert es:

Nach der Installation des Gnome Desktop tragen wir in die /etc/rc.conf ein:
Code:
gdm_enable="YES"

Damit wird der Loginmanager GDM beim nächsten Systemstart dauerhaft aktiviert.

Wir starten den Rechner neu und ändern nun Region und Sprache

Einstellungen - Modul Region und Sprache

Sprache - Deutsch (Deutschland)

Bei Eingabequellen klicken wir den + Button und fügen aus der Liste

Deutsch (Deutschland) und noch Deutsch hinzu

und beenden die Auswahl mit Klick auf den Button Hinzufügen

Jetzt steht unter Eingabequellen auch deutsch

Die Konfiguration des Gnome Loginmanagers GDM ist hier beschrieben:

https://help.gnome.org/admin/gdm/stable/configuration.html.de

Die Konfigurationsdateien für FreeBSD 11 und den GDM liegen hier: /usr/local/etc/gdm

Geändert werden muß lediglich die locale.conf.

Hier steht nämlich:

Code:
LANG="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"

Wir kommentieren es aus oder ändern es in

Code:
LANG="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"

Nun starten wir den Rechner neu und freuen uns, denn nun ist endlich alles in deutsch und zwar ohne alle die Anpassungen, die von Nicole, @holgerw und @pit234a beschrieben wurden, die habe ich nämlich vorher gelöscht.

Wir brauchen auch keine .xinitrc mehr.
 
Aber aufgepasst! Mit dem lokalisieren kann man sich auch in den Fuß schießen:
https://www.bsdforen.de/threads/locale-für-den-server-insgesamt-festlegen.33488/#post-291048

Für das Compilern muss man das dann gegebenenfalls etwa so abfangen:
Code:
#----------------------------------------------------------------------------
# If Ports need MAKE_ENV  LANG=C LC_ALL_C
#----------------------------------------------------------------------------
LANGUAGE_ENV_C+=games/frozenbubble
.for port in ${LANGUAGE_ENV_C}
.if !empty(.CURDIR:M*/${port})
MAKE_ENV=         LANG=C LC_ALL=C
.endif
.endfor
Da ist jetzt im Beispiel nur games/frozenbubble in der LANGUAGE_ENV_C Liste.
 
Etwas muß ich noch korrigieren, die Eindeutschung von Gnome funktioniert einwandfrei, jedoch müssen die Einträge in der .profile und login_conf gemäß @holgerw doch noch gemacht werden, sonst ist die Uhr in Gnome nicht deutsch und wenn ich in der Konsole cal für einen Kalender eingebe, ist die Beschriftung in englisch, das wollen wir ja nicht. Wenn das alles mal fertig ist, gehört es eigentlich ins Wiki eingepflegt...
 
Ich habe noch mal alles durchgearbeitet und fand dies:

Hier http://www.bsdforen.de/threads/gesammtes-system-auf-utf8-umstellen.27999/ schrieb @Yamagi :

Lasse die Finger von der /etc/login.conf. Die Datei legt die Standardeinstellungen für alle Sessions im System fest, auch die von Root! Wenn man dort was verstellt, sollte man wissen, was man tut... In Sachen Charset stellt man dort den Zeichensatz global um, was einige Ports und Anwendungen auf interessante Weise zerreißen wird. Überhaupt sollte man aus dem Grund den Zeichensatz von Root nicht umstellen! Du überschreibst das Charset für sdeinen Nutzer in der ~/.login_conf:
Code:
me:\
:lang=de_DE.UTF-8:
Anschließend einmal neu einloggen und es sollte gehen.

Also @pit234a , Finger weg von der /etc/login.conf!
 
Ich habe noch mal alles durchgearbeitet und fand dies:

Hier http://www.bsdforen.de/threads/gesammtes-system-auf-utf8-umstellen.27999/ schrieb @Yamagi :



Also @pit234a , Finger weg von der /etc/login.conf!

Nicht unbedingt.
Man kann in der /etc/login.conf mehrere Definitionen erstellen. Ich habe da zusätzlich eine angelegt und benannt.
An root ändere ich nichts.
ich hatte zuvor aber durchaus auch schon Experimente damit durchgeführt und root auf Deutsch umgestellt, ohne damit Ärger zu bekommen.
Vor allem, wenn man nicht kompiliert, kann ich mir da nur wenige Situationen vorstellen, wo das wichtig sein könnte.

ich habe da einen Absatz mit:
Code:
german|German Users Accounts:\
        :charset=UTF-8:\
        :lang=de_DE.UTF-8:\
        :tc=default:
wenn dieses german nicht auch in der /etc/master.passwd gesetzt wird, wird das auch nicht benutzt. Soviel ich weiß.
Ich kann da auch mehrere Gruppen eintragen und dann einem Nutzer german geben und einem anderen russian und so weiter. Ich kann das natürlich auch myspech nennen oder wie auch immer, es muss halt eben der Syntax genügen und in der master.passwd zugeordnet sein. Der Eintrag selbst in der login.conf bewirkt noch nichts.

Dazu lese ich im Handbuch 22.2. Lokale Anpassungen benutzen.

ich weiß auch nicht, wie das aussieht, wenn ich in der /etc/csh.cshrc die Variablen setze und dort für eine Shell auf Deutsch einstelle (analog in der /etc/profile), denn die gelten ja auch global und ich kann ja nicht anders, als mich in einer shell anzumelden, auch als root. Dann habe ich doch dort auch schon DE stehen.

Das ist ja eines der Dinge, die ich so furchtbar unübersichtlich finde, dass ich da gerne mal eine zusammenfassende und übersichtliche Klarstellung erreichen würde. Was ich oben eingestellt hatte, sollte nur ein Anfang sein, ist schon sehr alt und trotzdem das Beste, was ich dazu lange Zeit habe.
Es hört bei einzelnen Anwendungen auf, was ich bedauerlich finde und dringend erweitert sehen möchte.
Es benutzt noch die xorg.conf, was nicht mehr ganz modern ist.

Du hast einen Anfang damit gemacht, vielleicht folgt noch mehr.
 
In unserem Wiki BSD für Ein oder Umsteiger steht, wir sollten doch die /etc/login.conf anpassen. desto mehr ich mich mit der Lokalisierung von FreeBSD beschäftige, umso verwirrter werde ich. Was wäre es doch schön, wenn man an zentraler Stelle alles auf deutsch einstellen könnte und alle Display Manger Desktops usw. würden das übernehmen. Im GDM ist zwar jetzt (fast) alles deutsch, aber es steht immer Last login... Jetzt habe ich auch keine Lust mehr, weiter im Netz zu recherchieren.
 
keine Lust mehr, weiter im Netz zu recherchieren.
was manchmal auch gar nichts bringt, weil die benutzten Sprachpakete manchmal einfach nicht komplett sind. Dann hast du zwar alles richtig eingestellt, aber für irgendwelche Begriffe der letzten Version ist noch kein Deutscher begriff in der Liste eingetragen. Da kann man dann nicht sehr viel machen, man müsste den Lokalisierungsteams helfen, damit die schneller abarbeiten können.
 
Zurück
Oben