<!doctype linuxdoc system>

<article>

<title>German Howto
<author>Winfried Tr&uuml;mper &lt;me@wt.xpilot.org&gt;
<date>v2.0.1, 29. December 2001

<abstract>
Dieses Dokument enth&auml;lt Tips und Informationen f&uuml;r
deutschsprachige Linux-Anwender. (Note to English readers: this document
explains the german specific aspects of Linux. The middle chapter is
written in English.)
</abstract>

<toc>

<sect>Deutscher Teil (German Part)
<p>

<sect1>Einleitung
<p>
Die Bezeichnung Howto ist eine Zusammenschreibung von how to, was Sie mit
&dquot;so mache ich...&dquot; &uuml;bersetzen k&ouml;nnen. Das Linux German Howto
beschreibt also wie man deutschsprachige Eigenheiten unter Linux
aktiviert. Gesprochen wird es als Dsch&ouml;rman Hautu. Im Folgenden schreibe
ich lieber vom Deutschen Sowirdsgemacht f&uuml;r Linux. Schon bin ich Punk.

Was sind denn nun deutsche Eigenheiten? Ledertrachten, Weissw&uuml;rste, Bier
und geb&uuml;gelte Unterw&auml;sche, so wie es jedem ausl&auml;ndischen Besucher im
Bierzelt auf der CeBIT vorgemacht wird? Hm, das w&auml;ren wohl eher
Anpassungen, die man an sich selbst vornimmt. Aber keine Furcht, Linux
l&auml;sst sich auch, dem amerikanischen Einfluss sei dank, ganz leger in Jeans
beim Pizzaessen und einem Schluck Afri-Cola bedienen (f&uuml;r Imis: Afri-Cola
wird in K&ouml;ln gebraut). Auf das Thema geb&uuml;gelte Unterw&auml;sche kann ich an
dieser Stelle, dem amerikanischen Einfluss sei ebenfalls gedankt, nicht
weiter eingehen. Denn obwohl es hier schon sp&auml;t ist, sind dort die Kinder
ja noch wach. Sagt zumindest der Sowirdsgemacht-Projektleiter. Aber genug
gescherzt, sonst entfernen wir uns zu weit vom Vorurteil der unfreundlichen
Deutschen.

Linux wird von einer weltweiten Gemeinde von Hackern im Internet
entwickelt, deren kleinster gemeinsamer Nenner f&uuml;r die Verst&auml;ndigung
Englisch ist. Dagegen m&uuml;ssen Anwender &uuml;blicherweise in ihrer Muttersprache
und mit nationalen Eigenheiten arbeiten: zum Beispiel Zeichen, Zeitzonen
oder Zahlenformaten. Erfreulicherweise hat Linux eine so weite Verbreitung
erfahren, dass die nationalen M&auml;rkte l&auml;ngst Ziele f&uuml;r die
Linux-Distributionen geworden sind. D.h. die regionalen Anpassungen der
Anwendungen und des Systems stecken in Linux weitgehend drin. In
diesem Zusammenhang m&ouml;chte man das KDE-Projekt erw&auml;hnen, welches auf dem
Gebiet der Internationalisierung hinsichtlich Anzahl der Sprachen und
Vollst&auml;ndigkeit der Anpassungen hohe Maßst&auml;be gesetzt hat. Dieser
Entwicklung tr&auml;gt auch das Deutsche Sowirdsgemacht Rechnung, indem der
Schwerpunkt ab sofort mehr auf der Beschreibung von Grundlagen liegt. 


<sect2>Urheberrechte, Lizenz und Haftungsausschluss
<p>

&copy Winfried Tr&uuml;mper &lt;me@wt.xpilot.org&gt; 1994-2001. Alle Rechte
vorbehalten.

Vertrieb und Benutzung dieses Dokuments sind unter den folgenden
Bedingungen gestattet: Der Name des Autors darf nicht zur Vermarktung
von Produkten verwendet werden, die auf diesem Dokument beruhen, und
ge&auml;nderte Versionen dieses Dokuments m&uuml;ssen klar als solche erkennbar sein.

Text, Abbildungen und Programme in diesem Dokument wurden mit grosser
Sorgfalt erarbeitet. Trotzdem sind Fehler nicht ganz
auszuschliessen. Angesichts der Komplexit&auml;t und der Schnelllebigkeit
heutiger Computer-Systeme kann der Autor weder die Richtigkeit noch die
Anwendbarkeit der gelieferten Informationen garantieren. Kurz: Benutzung
auf eigene Gefahr.


<sect2>Verf&uuml;gbarkeit
<p>
Linux Sowirdsgemacht-Beschreibungen f&uuml;llen die L&uuml;cke zwischen B&uuml;chern und
kurzen Liesmich-Dateien. Sie haben den Anspruch, einen Sachverhalt
ausf&uuml;hrlich zu erkl&auml;ren. Eigens zu diesen Zweck wurde
vom Linux-Dokumentations-Projekt (LDP) eine umfangreiche Infrastruktur aus
Autoren, Schreibwerkzeugen und Distributions-Kan&auml;len geschaffen.  Das
vorliegende Sowirdsgemacht ist offizieller Teil des (LDP) und somit wie
alle anderen Dokumente des LPD erh&auml;ltlich.  Entweder auf <url
url="http://www.linuxdoc.org/" name="dessen Webseiten"> oder im Verzeichnis
/usr/share/doc/howto/ auf der eigenen Festplatte. Daneben sind gedruckte 
gedruckten Zusammenstellungen verschiedener Verlage &uuml;ber die Buchhandlungen
erh&auml;ltlich.

Die neueste Version des Deutschen Sowirdsgemacht ist ausserdem &uuml;ber meine <url
url="http://wt.xpilot.org/" name="hauseigene Seite"> erh&auml;ltlich.

Korrekturen und Verbesserungsvorschl&auml;ge k&ouml;nnen per E-Mail an mich
geschickt werden: me@wt.xpilot.org. Angebote f&uuml;r mehr Schleichwerbung
in der Einleitungen nehme ich dort ebenfalls entgegen.


<sect2>Offene Punkte
<p>

<itemize>
<item> Korrekturlesen lassen. :)
<item> Danksagungen auf den neusten Stand bringen und wieder hinzuf&uuml;gen
<item> Quelltext in das neue docbook-Format konvertieren.
</itemize>


<sect1>Menschen
<p>
<sect2>Benutzergruppen
<p>

In vielen St&auml;dten haben sich Linux-Anwender zu sogenannten Linux
User Groups (LUGs) zusammengetan. Diese Benutzergruppen sind offen
f&uuml;r jeden und halten regelm&auml;&szlig;ige Sitzungen ab. Sie sind der
ideale Treffpunkt f&uuml;r all diejenigen, die sich nicht nur im "Cyberspace"
mit anderen Linuxern austauschen wollen. Eine &uuml;bersicht befindet sich
beispielsweise auf den <url url="http://www.linux.de/groups/"
name="deutschen Linux-Portalseiten">.


<sect2>Speziell f&uuml;r Frauen
<p>
Hm, ich habe bisher nur die <url url="http://women.kde.org/"
name="KDE-Frauen"> gefunden. Gibt es noch mehr?


<sect2>Vereine
<p>
Neben den lokalen LUGs gibt es auch noch die folgenden Vereine:

Der <url url="http://www.linux-verband.de/" name="Linux-Verband"> richtet
sich in erster Linie an Firmen-Mitglieder. Die Aktivit&auml;ten sind beachtlich
und konzentrieren sich im Moment auf die Aufkl&auml;rung &uuml;ber die Sch&auml;dlichkeit
von Software-Patenten.

Die <url url="http://www.guug.de/" name="German Unix User Group"> zielt
nach Jahren der Neuorientierung derzeit wieder auf
Unix-Systemadministratoren.


<sect2>Kongresse
<p>
Derzeit gibt es drei grosse &uuml;berregionale Veranstaltungen zu Linux in
Deutschland: den <url url="http://www.linuxtag.org/" name="LinuxTag">, den 
<url url="http://www.linux-kongress.de" name="Linux-Kongress"> und die
<url url="http://www.linuxworldexpo.de" name="LinuxWorld Expo">. Dar&uuml;ber
hinaus gibt es zahlreiche lokale Veranstaltungen, die in den Kalendern der
Portal-Seiten zu finden sind.


<sect2>Diskussionsforen
<p>
Erste Anlaufstelle f&uuml;r deutschsprachige Anwender ist die "Newsgroup"
de.comp.os.unix.linux.infos. Dort sind weitergehende Informationen zu Linux
und &uuml;ber die Benutzung der zugeh&ouml;rigen "Newsgroups" zusammengetragen. Eine
gute Idee ist die Benutzung der web-basierten Archive, in denen man zu
Stichworten eine Menge Antworten findet: <url
url="http://groups.google.com/groups?hl=de&amp;group=de.comp.os.linux"
name="Google-Suche: de.comp.os.linux.*"> oder <url
url="http://www.dcoul.de/faq" name="Oft gestellte Fragen der Deutschen
Linux-Diskussionsgruppen">.


<sect2>Internet Relay Chat (IRC)
<p>
Der IRC-Kanal #LinuxGER bietet eine Hotline zu Linux in deutscher
Sprache. &Uuml;ber <url url="http://www.linuxger.de/" name="dessen hauseigene
Web-Seite"> kann man mehr &uuml;ber die Welt des IRC lernen.


<sect1>Dokumentation
<p>
<sect2>Deutschsprachige Portalseiten zu Linux
<p>
Hier ist eine kleine Auswahl von Seiten, die schon l&auml;nger existieren und
auch regelm&auml;ssig gepflegt werden:

<url url="http://www.linux.at/" name="Linux in &Ouml;sterreich">

<url url="http://www.linux.ch/" name="Linux in der Schweiz">

<url url="http://www.linux.de/" name="Linux.de">

<url url="http://www.pro-linux.de/" name="Pro Linux">


<sect2>Deutsches Linux Howto Projekt (DLHP)
<p>
Das <url url="http://www.tu-harburg.de/~semb2204/dlhp/" name="Deutsche
Linux Howto Projekt (DLHP)"> Projekt besch&auml;ftigt sich mit der
&uuml;bersetzung der originalen englischsprachigen Linux Sowirdsgemacht ins
Deutsche. Auf den Webseiten des Projekts kann man eine Liste aller
&uuml;bersetzten Sowirdsgemacht und n&auml;here Informationen zum Projekt abrufen.


<sect1>Zeichens&auml;tze
<p>
Rechner sind Ger&auml;te, die auf der Grundlage von digitalen Zahlen arbeiten.
Menschen sind Wesen, die mit Zahlen und auch mit Namen arbeiten. Setzt man
einen Menschen vor einen Rechner und verkauft dem Menschen den Rechner als
Universalger&auml;t, dann muss der Rechner neben den Zahlen auch mit Namen
umgehen k&ouml;nnen. Dies wird mit einem Kunstgriff erreicht: Das Alfabet wird
durchnummeriert, d.h. Buchstaben werden Zahlen zugeordnet, mit denen der
Rechner wiederum umgehen kann. Beispiel: Der Buchstabe A hat die Nummer
65. Zeichentabelle oder Zeichensatz wird diese Zuordnung genannt. Sie
listet neben den Buchstaben auch noch Symbole und Sonderzeichen auf. Der
Zeichensatz ist eine rein logische Definition; erst die Schriftart bestimmt
die Darstellung des Zeichensatzes auf dem Bildschirm.

Damit Dokumente zwischen Computern austauschbar sind, muss der verwendete
Zeichensatz standardisiert sein. Ein fr&uuml;her Standard war US-ASCII, eine
sehr kleine, aus 127 Zeichen bestehende Zuordnung, bei der jedes Zeichen
genau 7 Bits Speicherplatz belegte. Ein Bit mehr pro Zeichen ben&ouml;tigt der
Zeichensatz ISO-8859-1, mit dem sich die meisten mitteleurop&auml;ischen Sprachen
darstellen lassen. Allerdings legen beide Zeichens&auml;tze das lateinische
Alfabet zugrunde, sind also f&uuml;r Anwender ausserhalb von Europa oder Amerika
nur begrenzt n&uuml;tzlich. So entstanden in den verschiedenen Regionen der Welt
Zeichens&auml;tze, die wegen unterschiedlicher Zeichen mit derselben Nummer
nicht miteinander vertr&auml;glich sind.

Tabelle 1: Ausschnit des Zeichensatzes ISO-8859-1
<tscreen><verb>
&dquot;  quotedbl     '  apostrophe   `  grave        ~  asciitilde
^  asciicircum  _  underscore   !  exclam       ?  question
#  numbersign   $  dollar       %  percent      &amp;  ampersand
|  bar          @  at           +  plus         -  minus
*  asterisk     /  slash        \  backslash    .  period
,  comma        :  colon        ;  semicolon    &lt;  less
=  equal        &gt;  greater      (  parenleft    )  parenright
[  bracketleft  ]  bracketright {  braceleft    }  braceright

¡  exclamdown   ¢  cent         £  sterling     ¤  currency
¥  yen          ¦  brokenbar    §  section      &dquot;  diaeresis
©  copyright    ª  ordfeminine  &lt;  guillemotleft
¬  notsign      ­  hyphen       ®  registered
¯  macron       °  degree       ±  plusminus    ²  twosuperior
³  threesuperior                ´  acute        µ  mu
¶  paragraph    ·  periodcentered               ¸  cedilla
¹  onesuperior  º  masculine    &gt;  guillemotright
¼  onequarter   ½  onehalf      ¾  threequarters
¿  questiondown &Agrave;  Agrave       &Aacute;  Aacute       &Acirc;  Acircumflex
&Atilde;  Atilde       &auml;  Adiaeresis   °  Aring        &AElig;  AE
&Ccedil;  Ccedilla     &Egrave;  Egrave       &Eacute;  Eacute       &Ecirc;  Ecircumflex
&Euml;  Ediaeresis   &Igrave;  Igrave       &Iacute;  Iacute       &Icirc;  Icircumflex
&Iuml;  Idiaeresis   &ETH;  ETH          &Ntilde;  Ntilde       &Ograve;  Ograve
&Oacute;  Oacute       &Ocirc;  Ocircumflex  &Otilde;  Otilde       &ouml;  Odiaeresis
×  multiply     &Oslash;  Ooblique     &Ugrave;  Ugrave       &Uacute;  Uacute
&Ucirc;  Ucircumflex  &uuml;  Udiaeresis   &Yacute;  Yacute       &THORN;  THORN
&szlig;  ssharp       &agrave;  agrave       &aacute;  aacute       &acirc;  acircumflex
&atilde;  atilde       &auml;  adiaeresis   &aring;  aring        &aelig;  ae
&ccedil;  ccedilla     &egrave;  egrave       &eacute;  eacute       &ecirc;  ecircumflex
&euml;  ediaeresis   &igrave;  igrave       &iacute;  iacute       &icirc;  icircumflex
&iuml;  idiaeresis   &eth;  eth          &ntilde;  ntild        &ograve;  ograve
&oacute;  oacute       &ocirc;  ocircumflex  &otilde;  otilde       &ouml;  odiaeresis
÷  division     &oslash;  oslash       &ugrave;  ugrave       &uacute;  uacute
&ucirc;  ucircumflex  &uuml;  udiaeresis   &yacute;  yacute       &thorn;  thorn
&yuml;  ydiaeresis
</verb></tscreen>


Die derzeitige L&ouml;sung ist der internationale Unicode-Zeichensatz (identisch
zu ISO-10646). Unicode steht f&uuml;r unique code und bezeichnet eindeutige
Nummern von derzeit &uuml;ber 90.000 definierten Zeichen in einer einzigen
Zuordnungstabelle. Der Prozess der Standardisierung ist weit
fortgeschritten, aber noch nicht abgeschlossen. Sch&auml;tzungen gehen davon
aus, dass niemals mehr als ca. 2.1 Millionen (21 Bit) Zeichen definiert
sein werden. Um eine ausreichende Reserve vorzuhalten, wurden die
Unicode-Tabelle mit 32 Bit pro Zeichen ausgelegt, was zur Nummerierung von
mehr als 4 Millarden Zeichen ausreicht.  Unicode bricht also mit einer
gel&auml;ufigen Annahme: 8 Bit (ein Byte) pro Zeichen. Die vier Byte scheinen
grossz&uuml;gig dimensioniert und werfen Fragen des Speicherverbrauchs auf: Mit
unserem mitteleurop&auml;ischen Zeichensatz ISO-8859-1 belegt jedes Zeichen acht
Bit auf den Speichermedien (RAM, CD-ROM, Festplatte). Ohne spezielle
Massnahmen belegen in Unicode dieselbem Zeichen 32 Bit, d.h. alle
Speichermedien m&uuml;ssten f&uuml;r die Verwendung von Unicode vier mal so gross
ausgelegt werden. Das erschien nicht durchf&uuml;hrbar, weshalb zur effektiveren
Speicherung verschiedene Unicode Bit Transformationen (UTF) eingef&uuml;hrt
wurden: UTF-8, UTF-16 und UTF-32. Letztere Transformation &auml;ndert nichts,
spart deswegen auch nichts und belegt somit in verschwenderischer Manier
f&uuml;r jedes Zeichen konstant 32 Bit im Speicher. Erstere Transformationen
(UTF-8) belegt zwischen acht und 48 Bits, je nach Standort des Zeichens in
der Tabelle. Oft ben&ouml;tigte Zeichen (US-ASCII) stehen vorne in der Tabelle
und belegen nur acht Bits, die deutschen Umlaute stehen mehr zur Mitte hin
und belegen 16 Bits. Ein kleiner Nachteil von UTF-8 ist die
rechenzeitintensive Transformation der Daten. Die Transformation UTF-16
liegt irgendwo zwischen dem Speicherplatzverbrauch von UTF-32 und dem
Rechenzeitverbrauch von UTF-8.

Weitere Informationen zu Unicode sind direkt beim <url url="http://www.unicode.org/" name="Unicode-Consortium ">
und in der <url url="http://www.cl.cam.ac.uk/~mgk25/unicode.html" name="UTF-8 and Unicode FAQ"> for Unix/Linux (engl.) zu finden.


<sect2>Das Euro-Symbol
<p>
Das ISO W&auml;hrungs-K&uuml;rzel f&uuml;r den Euro ist EUR, wie man es von den
&Uuml;berweisungs-Formularen der Banken schon kennt. Die Schreibweise EUR 10,23
f&uuml;r 10 Euro und 23 Cent ist gleichberechtigt mit der Verwendung des
speziellen W&auml;hrungs-Symbols ¤ (E mit zus&auml;tzlichem Mittelstrich). Falls das
Euro-Symbol eher wie ein mechanischer Wecker aussieht, dann verwenden Sie
noch die alten Schriftarten. In diesem Fall sollten Sie Ihre
Linux-Distribution aktualisieren, denn ein Austausch aller denkbaren
Schriftarten geht weit &uuml;ber die M&ouml;glichkeiten dieses Sowirdsgemacht
hinaus. (Schriftarten waren schon immer ein Problem unter Linux, was das
Euro-Symbol nur best&auml;tigt.)  Ob sich eine Aktualisierung angesichts des
robusteren ISO-K&uuml;rzels EUR &uuml;berhaupt lohnt, m&uuml;ssen Sie selbst entscheiden.

Definiert wird das Euro-Symbol vom Zeichensatz ISO-8859-15. Es liegt in der
Tabelle bei den anderen W&auml;hrungs-Symbolen zwischen Pfund und Yen. &Uuml;ber die
Tastatur k&ouml;nnen Sie es wie aufgedruckt mit AltGr-E eingeben. Die
Tastenkombination AltGr-C gibt das bekannte Cent-Symbol.


<sect1>Tastatur
<p>
Alle dem Autor bekannten Distributionen stellen die deutsche
Tastaturbelegung selbstst&auml;ndig bei der Installation ein. Ist man mit dem
Resultat nicht zufrieden, so lassen sich mit den Kommandozeilen-Werkzeugen
loadkeys (Text-Konsolen) und xmodmap (X11) andere Belegungen
einstellen. Eine genauere Beschreibung der Werkzeuge geht &uuml;ber den Anspruch
dieses Dokuments hinaus.

Bei dieser Gelegenheit soll ein wenig Licht in die Konzepte der
Tastaturbelegung gebracht werden, um unter Unix/Linux in Zukunft weniger
Probleme mit den Tastenbelegungen zu haben. Die Bet&auml;tigung einer Taste
sendet eine Kennzahl. Andere Tastaturen geben andere Kennzahlen. &Auml;hnlich zu
den weiter oben beschriebenen Zeichens&auml;tzen, kommen auch bei der Tastatur
Zuordnungstabellen zum Einsatz, die den Kennzahlen Symbole zuordnen. Die
Zuordnungstabellen heissen Tastaturbelegungen. Eine Tastaturbelegung
definiert unter Umst&auml;nden nicht direkt die auszugebenden Zeichen, sondern
machen einen Zwischenschritt &uuml;ber symbolische Namen. Beispiel: Unter X11
sendet eine Taste die Kennzahl 22. Die Tastaturbelegung definiert f&uuml;r diese
Kennzahl (Terminus "keycode") das Symbol BackSpace, womit die Taste zum
L&ouml;schen des linken Zeichens auf der PC-Tastatur gemeint
ist. X11-Anwendungen reagieren direkt auf dieses Tasten-Symbol. F&uuml;r
Anwendungen, die in einem Textdialog-Fenster (xterm, ssh) ablaufen, wird
das Symbol widerum in eine Steuersequenz &uuml;bersetzt, z.B. Steuerung-?  oder
Escape-[3~.


<sect2>Kompositionen
<p>
Gebr&auml;uchliche Tastaturen verf&uuml;gen &uuml;ber ca. 110 Tasten. Um damit den
kompletten Zeichensatz ISO-8859-1 eingeben zu k&ouml;nnen, m&uuml;sste man die Tasten
mit bis zu vier Zeichen belegen. Ben&ouml;tigt man nur selten den Zugriff auf
den kompletten Zeichensatz, dann ist die Vierfach-Belegung ein zu hoher
Lernaufwand. In diesem Fall bietet sich die Kompositions-Taste an. Diese
Taste verursacht selbst keine Ausgabe auf dem Bildschirm, sondern
komponiert die beiden nachfolgend eingegebenen Zeichen zu einem. Mit
anderen Worten: Die Zeichen werden &uuml;bereinander gedruckt. Beispiel: Die
Tastenfolge &lt;Compose&gt; &lt;&tilde;&gt; &lt;a&gt; ergibt ein &atilde;.
Unter Linux ist meist eine der Tasten rechts von der Leertaste mit der
Kompositions-Funktion belegt. (Hinweis f&uuml;r Xmodmap-Bastler: Das
XFree-Tasten-Symbol der Kompositions-Taste ist Multi_key.)


<sect2>St&auml;ndige Komposition
<p>
Bestimmte Tasten k&ouml;nnen als st&auml;ndig komponierend konfiguriert werden. Die
Bet&auml;tigung solcher Tasten f&uuml;hrt zun&auml;chst zu keiner Ausgabe auf dem
Bildschirm, sondern das betreffende Symbol wird &uuml;ber das n&auml;chste
Zeichen gedruckt, das eingetippt wird. 

Die Funktion wird im Englischen manchmal mit "dead keys" bezeichnet, was
eine Fehlbezeichnung ist, denn tote Tasten verursachen &uuml;berhaupt keine
Funktion.


<sect2>Das Bootprompt
<p>
Beim Starten des Computers wird der Linux-Kernel von einem sogenannten
Boot-Loader in den Arbeitspeicher geladen. &Uuml;ber den Boot-Loader kann man
dem Kernel Parameter &uuml;bergeben - vorausgesetzt, man kennt die amerikanische
Tastenbelegung. Die folgenden Abschnitte beschreiben die M&ouml;glichkeiten
zur Konfiguration der Tastenbelegung f&uuml;r die Boot-Loader von Linux.

<sect3>Lilo
<p>
Seit der Version 2.0 hat die ehrenwerte Dame die F&auml;higkeit zur Verwendung
alternativer Tastenbelegungen. Dem Source-Code liegt das Perl-Skript
keytab-lilo.pl bei, mit der man eine der Tastaturbelegungen
f&uuml;r die Textkonsolen in f&uuml;r Lilo geeignetes Format &uuml;berf&uuml;hrt. Beispiel:
man m&ouml;chte die Tastenbelegung de-latin1-nodeadkeys.map
schon auf dem Lilo-Prompt geladen wissen. Dazu ist folgender Befehl
auszuf&uuml;hren:

<tscreen><verb>
./keytab-lilo.pl  de-latin1-nodeadkeys  > /boot/de-latin1-nodeadkeys.ktl
</verb></tscreen>

Um dises Belegung zu aktivieren mu&szlig; man in der Konfigurationsdatei
/etc/lilo.conf folgenden Eintrag vornehmen und danach das Kommando lilo
ausf&uuml;hren. Die Details k&ouml;nnen sich allerdings von Distribution zu
Distribution unterscheiden, weshalb man bitte die mitgelieferten Handb&uuml;cher
konsultiere.

<tscreen><verb>
keytable = /boot/de-latin1-nodeadkeys.klt
</verb></tscreen>


<sect1>Zeitzone
<p>
Die Erde ist in Zeitzonen eingeteilt, innerhalb derer die Tageszeit von der
nat&uuml;rlichen Zeit (h&ouml;chster Sonnenstand = Mittag) abweichen kann. Die
Tageszeit der Zeitzone kann sogar springen, wie beispielsweise bei der
Umstellung zwischen Sommer und Winterzeit. Bei den Zeitzonen handelt es
sich also um politische Festlegungen. F&uuml;r kleine L&auml;nder kann man die
Zeitzone &uuml;ber die Hauptstadt ausw&auml;hlen, also Europe/Berlin, Europe/Vienna
oder Europe/Zurich. Hinter diesem Alias-Namen verbirgt sich die
tats&auml;chliche Zeitzone, n&auml;mlich in unserem Fall die Mitteleurop&auml;ische Zeit
(Central European Time, CET) bzw. die Mitteleurop&auml;ische Sommerzeit
(Central European Summer Time, CEST).

Das fr&uuml;her gebr&auml;uchliche MET sollte unter keinen Umst&auml;nden
weiterverwendet werden. Von Markus Kuhn stammt folgende Information zu
diesem Thema: Die Datei MET existiert nur zwecks
R&uuml;ckw&auml;rtskompatibilit&auml;t.  Die Autoren der Zeitzonentabellen
(Olson/Eggert/et al.) wollen eigentlich, da&szlig; deutsche Anwender statt
MET die Datei Europe/Berlin verwenden.  Dann stimmen sogar die
historischen Sommerzeiten vor 1945, die Linux auch alle
kennt. Au&szlig;erdem wird dann in der neuesten Version der
Zeitzonentabelle "Mitteleurop&auml;ische Zeit (MEZ)" endlich korrekt ins
Englische mit "Central European Time (CET)" &uuml;bersetzt, denn "MET" ist
ein &uuml;bersetzungsfehler (siehe z.B. Langenscheid Englisch). Ich habe
deswegen sogar beim Physikalisch-Technischen Bundesamt nachgefragt,
die f&uuml;r die deutsche Zeit verantwortlich sind.

Der gemeinsame Bezugspunkt f&uuml;r alle Zeitzonen ist die Universalzeit
(Universal Time, UTC), fr&uuml;her auch Greenwich Mean Time (GMT) genannt. Unter
Linux l&auml;sst man die CMOS-Uhr auf der Hauptplatine &uuml;blicherweise mit UTC
laufen. Der Linux-Kernel &uuml;bernimmt den Wert der CMOS-Uhr beim Systemstart
und errechnet daraus die Sekunden seit dem 1. Januar 1970, 0 Uhr (Unix
Epoch Time). Intern arbeitet der Linux-Kernel nur mit dieser Sekunden-Zahl,
die &uuml;blicherweise auch in UTC l&auml;uft. Soll dem Anwender ein Datum oder eine
Zeit angezeigt werden, dann wird aus der Systemzeit unter Ber&uuml;cksichtigung
der Zeitzone und der Lokalisierung (siehe oben) eine Zeichenfolge
konstruiert.

Zusammenfassend kann man sagen, dass es unter Linux 3 Zeiten gibt: Die der
auf dem Motherboard installierten CMOS-Uhr, die Systemzeit des
Linux-Kernels und die dem Anwender von verschiedenen Uhren angezeigte
Zeit. Die Kommandozeilen-Werkzeuge hwclock ("hardware clock") und date
&uuml;bersetzen zwischen diesen Uhrzeiten.  Folgende Strichzeichnung
verbildlicht die Zusammenh&auml;nge:

<tscreen><verb>
            hwclock -u -w               date -u -s
 CMOS-Uhr  <--------------   Linux    <--------------
  (UTC)                    Systemzeit                 Anwender-Uhr
           -------------->  (Epoch)    -------------->
            hwclock -u -s               date, xclock
</verb></tscreen>

Zwar liest der Kernel schon beim Booten die CMOS-Uhr aus und interpretiert
sie als UTC. Aber um systematische Fehler der CMOS-Uhr zu korrigieren, wird
die Uhrzeit von einem der Systemstart-Skripte im Verzeichnis /etc/init.d/
ein weiteres Mal gelesen. &Uuml;bernimmt man die Linux-Systemzeit mit dem Kommando
netdate von einem Zeit-Server, dann muss man die CMOS-Uhr mit dem Kommando
hwclock nachziehen.

Die systemweit gew&auml;hlte Zeitzone kann mit der Umgebungsvariable TZ
individuell &uuml;berschrieben werden. Beispiele:

<tscreen><verb>
export TZ=Asia/Hong_Kong; xclock &
export TZ=UTC; xclock &
</verb></tscreen>


<sect1>Anwendungen
<p>
<sect2>Internationalisierung und Lokalisierung
<p>
Internationalisierung und Lokalisierung sind auch im Englischen lange
W&ouml;rter, weshalb sie mit i18n und i10n abgek&uuml;rzt werden. Die Zahlen geben
an, wieviele Buchstaben in der englischen Schreibweise ausgelassen wurden.

Mit i18n wird die Ver&auml;nderung eines Programms zur Unterst&uuml;tzung mehrerer
Sprachen bezeichnet. Bei diesem Prozess wird normalerweise der angezeigte
Text (Men&uuml;s, Meldungen, usw.) vom Programmcode getrennt. Auf diese Weise
k&ouml;nnen sich mehrere &Uuml;bersetzungen denselben sprachenunabh&auml;ngigen
Programmcodes teilen. Ins Deutsche &uuml;bersetzte Programmeldungen k&ouml;nnen &uuml;ber
die Umgebungsvariable LANG ausgew&auml;hlt bzw. aktiviert werden. Beispiel:

<tscreen><verb>
#LANG=de_AT  # in &ouml;sterreich
#LANG=de_CH  # in der deutschsprachigen Schweiz
LANG=de_DE   # in Deutschland
export LANG
</verb></tscreen>

Das Resultat ist nicht immer zufriedenstellend. Beispielsweise sind nicht
alle Bibliotheken internationalisiert, so dass sich die Ausgabe-Texte mit
Englisch mischen. Die Entwicklung in den vergangenen Jahren
l&auml;sst sich an folgendem Beispiel ablesen:

<tscreen><verb>
# im Jahre 1997:
tar: Kann Archiv 'foo.tgz' nicht &ouml;ffnen: Permission denied

# im Jahre 2001:
tar: foo.tgz: Cannot open: Keine Berechtigung
</verb></tscreen>

i10n bezeichnet die dar&uuml;ber hinaus gehende Feinarbeit der Anpassung an
nationalen Besonderheiten, wie Datums- und Zahlenformate oder das
kulturelle Umfeld. Eine deutsche Lokalisierung wird mittlerweile
automatisch mit der LANG-Umgebungsvariable aktiviert. So macht es am
meisten Sinn. Bei &auml;lteren Systemen kann mit der Umgebungsvariable LC_ALL
die Lokalisierung eingeschaltet werden. Beispiel:

<tscreen><verb>
LC_ALL=de
export LC_ALL
</verb></tscreen>

Die Einstellungen sollten von allen modernen Linux-Distributionen
automatisch vorgenommen werden. Exotischere Lokalisierungen sind zum
Beispiel von IBM erh&auml;ltlich: <url url="http://www-124.ibm.com/developerworks/projects/locale" name="IBM developer works: universal locales"> 


<sect3>Ausnahmen von der Regel
<p>
Sowohl f&uuml;r die Textkonsole als auch f&uuml;r X11 existieren
Zeichens&auml;tze, die nicht alle Zeichen aus ISO-8859-1 enthalten. Dies
gilt erst recht f&uuml;r Unicode. Die fehlenden Zeichen (z.B. Umlaute) werden
als Leerzeichen oder gar nicht auf dem Bildschirm dargestellt.  In diesem
Fall hilft nat&uuml;rlich die nachfolgend beschriebene Konfiguration der
Anwendungen nicht weiter, sondern es mu&szlig; ein anderer
(vollst&auml;ndiger) Zeichensatz gew&auml;hlt werden.


<tscreen><verb>
Anwendung    Einstellung                vorgenommen in/auf
-------------------------------------------------------------------
LaTex        \usepackage{a4}            im Dokument
gnuplot	     set encoding iso_8859_1	~/.gnuplotrc
xfig         Fig*inches:   false        Xresource
xfig         -metric                    Kommandozeilenoption
lynx         CHARACTER_SET:iso-8859-1   ~/.lynxrc und /etc/lynx.cfg
nn                                      ~/.nn/init und /etc/nn/setup
             set data-bits 8
             set charset iso-8859-1
tin                                     ~/.tin/headers
             Mime-Version: 1.0
             Content-Type: text/plain; charset=iso-8859-1
             Content-Transfer-Encoding: 8bit
elm                                     ~/.elm/elmrc und /usr/lib/elm/elm.rc
             charset = iso-8859-1
             displaycharset = iso-8859-1
             textencoding = 8bit
pine         character-set=ISO-8859-1   ~/.pinerc und /etc/pine.conf
less         LESSCHARSET=latin1         Umgebungsvariable
joe          -asis                      ~/.joerc und /etc/joe/joerc
dosemu                                  ~/.dosrc und /etc/dosemu.conf
             keyboard { layout de-latin1  keybint on  rawkeyboard on }
             X { updatefreq 8 title `DOS in a BOX' icon_name `xdos' keycode }
kermit                                  ~/.mykermrc und /etc/kermit.ini
             set terminal bytesize 8
             set command bytesize 8
             set file bytesize 8
             set language german
             set file character-set latin1-iso
             set transfer character-set latin1-iso
             set terminal character-set latin1-iso
</verb></tscreen>


<sect2>Texte
<p>

<sect3>Das Papierformat DIN A4
<p>
In Amerika wird haupts&auml;chlich das Papierformat US-Letter verwendet, welches
ein wenig breiter und niedriger ist als das in Europa gebr&auml;uchliche DIN A4.
Oft muss man Anwendungen ausdr&uuml;cklich auf DIN A4 einstellen. Beispiele:

<tscreen><verb>
Anwendung    Einstellung                vorgenommen in/auf
-------------------------------------------------------------------
LaTex        \usepackage{a4}            im Dokument
xdvi         XDvi.paper: a4             X-Resource
ghostview    Ghostview.pageMedia: A4    X-Resource
ghostscript  -sPAPERSIZE=a4             Kommandozeile
dvips                                   Konfigurationsdatei .dvipsrc
             @ a4size 210mm 297mm
             @+ %%PaperSize: a4
ImageMagick  -page A4                   Kommandozeile
</verb></tscreen>


<sect2>Austausch von Texten mit anderen Systemen
<p>

Die Textformate von DOS/Windows-basierten System, Apple-Computern und UNIX
unterscheiden sich in zwei Punkten: Zeichensatz und Zeilenenden. Linux
macht am Ende einer Textzeile nur einen Zeilenvorschub, &Auml;pfel machen nur
einen Wagenvorlauf und DOS-basierte Systeme machen beides.

Die Programme <tt/fromdos/, <tt/todos/ und <tt/frommac/, <tt/tomac/
wandeln ausschlie&szlig;lich die Zeilenenden um, die Zeichen selbst werden
nicht angepa&szlig;t.  Gleiches gilt f&uuml;r die Optionen `conv=auto',
bzw. `conv=text' des mount-Kommandos bezogen auf das MS-DOS
Dateisystem.

Will man auch die Zeichens&auml;tze von Texten konvertieren, dann hilft das
Kommandozeilen-Werkezeug recode weiter. Durch die Definition von Aliasen
kann man sich das Leben etwas einfacher machen:

<tscreen><verb>
alias unix2dos='recode lat1.ibmpc'
alias dos2unix='recode ibmpc.lat1'
alias unix2mac='recode lat1.mac'
alias mac2unix='recode mac.lat1'
</verb></tscreen>


<sect3>Drucken
<p>

Die folgenden &Uuml;berlegungen betreffen nur Text-Dateien. Grafiken oder die
Ausgabe von Textverarbeitungen werden als Punktmuster zum Drucker
geschickt und sind daher nicht betroffen.

G&auml;ngige Drucker-Modelle erwarten Texte im DOS-Format. Schickt man eine
Textdatei im Unix-Format zum Drucker, dann erh&auml;lt man einen
Treppenstufen-Effekt, weil der Text am Ende der Zeile keinen Wagenr&uuml;cklauf
aufweist. Beispiel: lpr /etc/nsswitch.conf. Entweder konvertiert man
Textdateien wie oben beschrieben in das DOS-Format oder man wandelt sie mit
Werkzeugen wie atp, mpage, a2ps, ascii2ps, encode oder gencode in das
PostScript-Format. F&uuml;r PostScript installieren die modernen
Linux-Distributionen Drucker-Treiber.


<sect>English Part (Englischer Teil)
<p>

<sect1>Introduction
<p>
The Linux German Howto explains how to enable German specific features for
Linux applications as well as for the Linux system. But what is German
specific? If you have been to the worlds largest computer exhibition CeBIT
in Hannover, you may consider traditional leather costumes, white sausages,
(real!) beer and perfectely ironed underwear to be typical for
germany. Please beg my pardon that I can't comment on the underwear part or
else this Howto would at least get a R-rating, which would trigger
questions about distribution restrictions and their impacts for free
software and OpenSource and OpenDocumentation and so on. In the end we will
surely have an OpenRating as well. Pure horror.

Regarding the other three points about germany mentioned above, these are
correct as you may already have figured out yourself.  Believe me, I'm just
wearing such a traditional costume while typing the text in front of his
computer. Everybody does all the time. Even my computer wears a leather
costume, or else it would not be germany! Built into the leather case is a
sound microprocessor to turn the simple PC-beep into an original south
german yodel. Can you already see the alp mountains?

So what else is german specific? Maybe your friendly stewardess told you
the waiter at a restaurant &dquot;is not offensive but doing regular
service to you&dquot; before your plane arrived at the german airport.
Cultures clashing into each other. Of course the waiter is doing his best,
but at least the americans are not willing to understand. Example: In my
home town the waiters are employed to serve the beer. This is a fundamental
different concept than just aiming at bloody customer satisfaction. It
counts that the beer can flow down your throat in a fresh state. The beer
must be satisfied. Think of it as a religious believe. Next time the
american president secretly visits me, I will explain and show him all the
details. Promised.

Also quite typical for German are long words and long sentences. Example:
The German translation of Howto is Sowirdsgemacht. More than double as
long. My words are longer than yours. Ha! We can even go for extremes like
in
Dampfschifffahrtspensionskassenchefsekret&auml;rinnenhalbjahresbetriebsausflugsbudget.
The typsetter will surely hate me for using such a long word. D78g, now
all-together: Nyia-hahaha. As you can imagine, most applications will die
because of string buffer overflows when german users start to type in their
unusal long words. That is what the German Howto is about.

Not to forget our German speaking friends at the south: Austria and
Switzerland. Read this Howto and learn how to manage your secret swiss
bank account from within Linux. Making money fast is twice as much fun then.

Well, before I completely destroy the image of over-serious germans, lets
come to the point. Linux is developed by a world wide community of hackers
on the internet. Their least common denominator for communication is
English and that works quite acceptable. The situation for users is
different. In order to do their work, they have to use the native language
and the specifics of their country. Examples: characters, time zones and
numbering conventions. Luckily Linux is so widespread, that national
markets have already become a target for Linux distributions. In other
words, most adaptions are already built in. In this context the KDE project
should be mentioned, as it surely has set milestones for the amount, ease
and completeness of internationalization in applications.  The German Howto
honors this evolution by concentrating on basic knowledge instead of
endless parameter listings.

The English part of the Howto is much shorter than the German one. It is
only inteded as an overview of the situation.


<sect1>Copyright, licence and disclaimer
<p>

&copy Winfried Tr&uuml;mper &lt;me@wt.xpilot.org&gt; 1994-2001. All rights reserved.

Distribution and use of this document are allowed under the following
restrictions: The name of the author must not be used to endorse or promote
products based on the German Howto and modified versions must be clearly
identified as such.

Text, illustrations and programs in this Howto were crafted
carefully. Nevertheless the chance of an error is always there.
Because of the complexity and the frequent changes of computer systems,
the author disclaims all warranties with regard to this document,
including all implied warranties of merchantability and fitness for a
certain purpose; in no event shall the author be liable for any
special, indirect or consequential damages or any damages whatsoever
resulting from loss of use, data or profits, whether in an action of
contract, negligence or other tortious action, arising out of or in
connection with the use of this document.

Short: use this Howto at your own risk.


<sect1>Availability
<p>
Linux Howtos fill the gap between books and short readme files. They
explain one subject in a detailed fashion. To fullfill this goal, the Linux Documentation Project (LDP) has created a
infrastructure consisting of authors, tools and distribution channels. The
Linux German Howto is part of the LDP and thus available like all other
Howtos. Either on the <url url="http://www.linuxdoc.org/" name="LDP
homepage"> or under the directory /usr/share/doc/howto/ on a typical Linux
installation. Printed collections of Howtos published by various companies
are available at your local bookstore.

The latest version of this document can be downloaded from <url
url="http://wt.xpilot.org/" name="my homepage">.

Corrections and suggestions should be sent via email to my address
me@wt.xpilot.org. Paid contracts for product placements in the introduction
are also welcome.


<sect1>Linux in German speaking countries
<p>

This is a small list of Linux portals, which are maintained and updated frequently:

<url url="http://www.linux.at/" name="Linux in &Ouml;sterreich">

<url url="http://www.linux.ch/" name="Linux in der Schweiz">

<url url="http://www.linux.de/" name="Linux.de">

<url url="http://www.pro-linux.de/" name="Pro Linux">

A large number of local Linux User Groups exists in Austria, Germany and
Switzerland. You can find them in the directories of most German Linux Portals.
Country wide associations are the <url url="http://www.linux-verband.de/"
name="Linux-Verband">, which aims more at commercial members, and the <url
url="http://www.guug.de/" name="German Unix User Group"> (GUUG), which aims
at system administrators. Three large conventions are held each year, the
<url url="http://www.linuxtag.org/" name="LinuxTag"> (LinuxDay), the
<url url="http://www.linux-kongress.de" name="Linux-Kongress"> and the
<url url="http://www.linuxworldexpo.de" name="LinuxWorld Expo">. Local
events are usally organised by the Linux User Groups and can be found in
the calendars. The newsgroup hierarchy de.comp.os.unix.linux.* is a quite
busy part of the german usenet. The same is true for the IRC channels
#debian.de and #linuxger.


<sect1>Configuration
<p>
<sect2>Characters
<p>
The traditional character sets for central europe are ISO-8859-1 and
ISO-8859-15 (including the euro symbol). Please see the german part of this
Howto for an excerpt of ISO-8859-15. Unicode covers both sets, but only
few users have applications with full support for unicode. That may change
in the future.

Conversions of the character sets have also be done when exchanging texts
between Unix/Linux, Macintoshs and DOS/Windows systems. It is not enough to
just convert the line endings. This is also true for printing; most
printers expect the DOS-style text format. (When printing from word
processors and such, high quality binary bitmaps are sent to the printer,
which are not affected by character set and line ending problems.)

Quite annoying is the fact that y and z are exchanged compared to an
english keyboard. Not to speak of the special characters like the
slash. Now imagine you want to type yes and it always gives zes. Or you
want to type /dev/sda and it gives ?dev?sda. Short: a keyboard mapping is
required in europe. Every european country has its own keyboard layout. The
right mapping can be choosen at installation time for all modern Linux
distributions. Suitable for germany and austria is de-latin1-nodeadkeys,
whereas the swiss people need sf-latin1 (swiss-french) or sg-latin1
(swiss-german).

Please keep in mind that the loadkeys command only helps for a properly
started system. To have the correct mapping even for the Lilo boot prompt,
you have to create a key mapping with keytab-lilo.pl and configure Lilo
to use that mapping.

The character set ISO-8859-1 shares the first 128 characters with
US-ASCII and defines another 128 characters on top of it. To type in all
these characters on the keyboard, it would be necassary to map up to four
symbols per key. For cases where you access the complete set only
occasionally,such a mapping would be a too high learning effort.
One solution is the use of the compose key. After pressing the compose key,
which is usally mapped to the right control key, the next character is not
displayed but instead printed over the following character. Example:
the sequence Right-Ctrl ~ A is composed as the character Ã (capital a with
a tilde on top).

An alternative is the feature of always composing keys. Under such
mappings, characters like ~ are never displayed but always printed over the
following character. Usally this feature is refered to as dead keys, which
is a little bit misleading. I'm not aware of anybody using the dead keys
feature.

<!--
<sect2>Rechtschreibreform
<p>
  -->

<sect2>Currency
<p>
On january 1st 2002, the last step of the currency union in europe was
performed. Since then the currency is euro and its fraction is
cent. Although there is a special currency symbol in ISO-8859-15 and in
unicode, you can safely use the ISO currency code EUR for euro as you used
ATS for austrian schillings or DEM for deutsche marks before. Please note
that switzerland (CHF, swiss francs) is not part of the european union.


<sect2>XFree86
<p>
There is nothing special about XFree86 for German users. Howevery, several
hardware manufactures asked me for the correct setting, which is why I'm
citing them here.

<tscreen><verb>
# for XFree86 4.1.* only:
Section "InputDevice"
  Driver       "Keyboard"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "de"
  Option       "XkbModel" "pc104"
  Option       "XkbRules" "xfree86"
  Option       "XkbVariant" "nodeadkeys"
EndSection

# for XFree86 3.* only:
Section "Keyboard"
  Protocol      "Standard"
  XkbRules      "xfree86"
  XkbKeycodes   "xfree86"
  XkbModel      "pc104"
  XkbLayout     "de"
  XkbVariant    "nodeadkeys"
EndSection
</verb></tscreen>


<sect1>Time zone
<p>
The time zones for central europe are CET (Central European Time) and CEST
(Central European Summer Time) respectively. However, system administrators
are expected to use one of the aliases Europe/Berlin, Europe/Vienna or
Europe/Zurich. This gives correct results even before the Unix Epoch.


<sect2>Internationalization and lokalization
<p>
Internationalization and lokalization are unusal long words (but not as
long as D78g, see above) and thus abreviated by i18n and i10n. The numbers
indicate how many characters have been left out.

I18n denotes the changes to the program code in order to have a multi
lingual output. A common implementation is to seperate the messages from the
code. This way several translated texts share the same code base. German
messages are activated with the LANG environment variable. Examples:

<tscreen><verb>
#LANG=de_AT  # for austria
#LANG=de_CH  # for switzerland (German)
LANG=de_DE   # for germany
export LANG
</verb></tscreen>

The result is not always satisfying, because not all applications and
libraries are internationalized. It may happen that German and English
messages are mixed like in the following example, which also illustrates
the evolution of the problem:

<tscreen><verb>
# in 1997:
tar: Kann Archiv 'foo.tgz' nicht &ouml;ffnen: Permission denied

# in 2001:
tar: foo.tgz: Cannot open: Keine Berechtigung
</verb></tscreen>

German messages alone don't make much sense. Applications must also display
the data using the correct format. Example: 08.07.2001 instead of 07.08.2001
or EUR 10.000,32 instead of EUR 10,000.32. You get the idea. The required
changes to the programm are denoted as i10n. Today the LANG variable also
activates the associated locale.


<sect3>Paper size
<p>
The standard paper size in europe is DIN A4, which is a little bit smaller
and taller than US-letter. The aspect ratio of height vs. width is the
square root of two. All sizes are derived from A0 by a centered cut at the
longer side.


<sect>Fun f&uuml;r Dich: Denglish
<p>
Das erste Kapitel in Deutsch, das zweite in Englisch. Was liegt n&auml;her, als
im Dritten beide Sprachen zu mischen? Zur genaueren Er&ouml;rterung dieser Frage
m&ouml;chte ich an dieser Stelle ein Beispiel aus der Welt der
Programmiersprachen geben. Programmiersprachen haben den Vorteil, dass sie
einen einfachen Grund-Wortschatz aufweisen und nicht gesprochen werden,
d.h. reine Schriftsprachen sind. Vorranging um Schriftsprache geht es ja
bei der einleitenden Frage.

<tscreen><verb>
# Perl und Bourne gemischt:
system("rm wochenplan.pdf");

# natives Perl
unlink("wochenplan.pdf");
</verb></tscreen>

Auch Programmiersprachen lassen sich mischen, wie im Beispiel gezeigt wird.
Die Perl-Funktion system ruft den Bourne-Interpreter auf, der seinerseits
das externe Programm rm zur Entfernung der Datei gesch&auml;ftsbericht.txt
aufruft. Eine Recht komplizierte Vorgehensweise, welche aber oft in
Computer-Programmen von Anf&auml;ngern zu finden ist, denen noch die Erfahrung
im Umgang mit der Sprache fehlt. Das fehlende Wissen &uuml;ber die Funktion unlink
wird kompensiert durch die Kombination der Universal-Funktion system mit
dem Wissen &uuml;ber das externe Werkzeug rm zur Entfernung von Dateien. Auf
diese Weise ist das Programm in k&uuml;rzester Zeit lauff&auml;hig.

Jeder erfahrene Perl-Programmierer wird bei der oben gezeigten Mischung der Sprachen einen Schrei des Entsetzens ausstossen, weil er um die
damit verbundenen Gefahren weiss. Die Bedenken sind technischer Art, zum
Beispiel k&ouml;nnten sich rm oder der Bourne-Interpreter sp&auml;ter anders
verhalten, schliesslich sind beide nicht Teil von Perl als Sprache.  Als
Folge k&ouml;nnte die Datei nicht oder eine andere Datei gel&ouml;scht werden.  Und
weil das in der Praxis tats&auml;chlich vorkommt, wird immer wieder geraten, die
M&ouml;glichkeiten einer Programmiersprache auszusch&ouml;pfen, bevor man andere
Sprachen hinzumischt.

Leider ist es in den letzten Jahren &uuml;blich geworden, viel Englisch in die
Deutsche Sprache zu mischen, obwohl dazu keine Notwendigkeit besteht. Aber
bevor ich auf die m&ouml;glichen Ursachen eingehe, ist es noch notwendig, den
Bezug zu den Programmiersprachen herzustellen. Die deutsche Schriftsprache
ist sicherlich sehr viel komplexer als Perl. Trotzdem ist der Zweck in
beiden F&auml;llen gleich: Informationen zu &uuml;bermitteln, ohne dass deren Urheber
zugegen w&auml;re. Bei einem Buch werden in Abwesenheit des Autors Informationen
an den Leser &uuml;bermittelt, bei einem Programmtext an den Prozessor des
Rechners.  Genau das ist der Unterschied zur gesprochenen Sprache, bei der
immerhin eine unterst&uuml;tzende Betonung gegeben werden kann, wenn nicht sogar
der Autor pers&ouml;nlich zugegen ist und auf diese Weise Gesten oder R&uuml;ckfragen
m&ouml;glich sind. In diesem Sinne geh&ouml;rt auch eine eingetippte Plauderei
(engl. chat) im IRC, den virtuellen R&auml;umen oder im Heise Newsticker trotz
der Verwendung von Buchstaben eher zur gesprochenen Sprache.

Man kann also festhalten, dass es f&uuml;r die Informations&uuml;bermittlung
Medien mit verschiedenen Bandbreiten gibt. Papier ist sozusagen das alte Modem,
getippte Plaudereien sind schon DSL und die Anwesenheit vor Ort ist
100base-T Ethernet. Der R&uuml;ckschluss "Im Chat haben mich immer alle
verstanden, daher brauche ich zum Schreiben eines Buch keine
Grammatik-Kenntnisse" f&uuml;hrt daher nicht zum Erfolg: Was bleibt von einem 
Video &uuml;brig, das von DSL-Qualit&auml;t auf Modem-Bandbreite herunterproduziert
wird? Ich will an dieser Stelle nicht den vielzitierten Untergang des
Abendlandes heraufbeschw&ouml;ren, aber die Notwendigkeit und die Vorteile von
Schriftsprache f&uuml;r unsere Kultur sollte man schon verst&auml;ndlich
vermitteln. Eine immer komplexer werdende Welt erfasst man besser mit
einer guten Schriftsprache.

Drei Ursachen f&uuml;r die Verenglischung der Deutschen Sprache stellen sich mir
dar:
<itemize>

<item> K&uuml;nstliche Aufwertung von gew&ouml;hnlichen Produkten durch Verwendung
der englischen Bezeichnungen. Beispiele: LCD-Display statt LCD-Anzeige,
Music Awards statt Musikpreise, Server-Cluster statt Server-Gruppe oder
Open-Air-Konzert statt Freiluftkonzert.

<item> Die Bequemlichkeit, die Kenntnisse aus Sprachen
unreflektiert in andere zu &uuml;bernehmen. (Siehe oben.)

<item> Fehlender Mut zu mehr Selbstbewusstsein. Das steigert sich dann bis
hin zur Mystifizierung, man k&ouml;nne to mount nicht mit montieren &uuml;bersetzen,
weil noch andere (unerforschte?) Bedeutungen in "mount" stecken w&uuml;rden.

</itemize>

Nat&uuml;rlich gibt es auch den umgekehrten Fall, n&auml;mlich dass
deutsche Worte hin und wieder in der englischen Sprache verwendet
werden. Beispiele: Kindergarden, Autobahn oder heimlich. Aber dieser Anteil
ist ohne Bedeutung und bleibt tatsächlich im Rahmen einer Bereicherung der
Sprache, nicht der einer Verdrängung.

Die derzeitige Verenglischung des Deutschen halte ich aus den skizzierten
Gründen f&uuml;r bedenklich, aber nicht f&uuml;r unausweichlich. Einzelne
gewaltsam übersetzte IBM-Handbücher vergangener Tage sind zumindest für mich
kein Argument, nicht nach besseren Lösungen zu suchen. 


</article>
