<!--
     The FreeBSD Documentation Project
     The FreeBSD German Documentation Project

     $FreeBSD$
     $FreeBSDde: de-docproj/books/handbook/l10n/chapter.sgml,v 1.30 2003/11/10 23:50:53 mheinen Exp $
     basiert auf: 1.93
-->

<chapter id="l10n">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Andrey A.</firstname>
	<surname>Chernov</surname>
	<contrib>Beigesteuert von </contrib>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Michael C.</firstname>
	<surname>Wu</surname>
	<contrib>&Uuml;berarbeitet von </contrib>
      </author>
      <!-- 30 Nv 2000 -->
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Alexander</firstname>
	<surname>Langer</surname>
	<contrib>&Uuml;bersetzt von </contrib>
      </author>
      <!-- Juli 2000 -->
      <author>
	<firstname>Martin</firstname>
	<surname>Heinen</surname>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Lokalisierung &ndash; I18N/L10N-Einrichtung und -Benutzung</title>

  <sect1 id="l10n-synopsis">
    <title>&Uuml;bersicht</title>

    <para>FreeBSD ist ein &uuml;ber die ganze Welt verteiltes Projekt.
      Dieses Kapitel behandelt die Internationalisierung und
      Lokalisierung von FreeBSD, mit denen nicht englisch sprechende
      Benutzer FreeBSD an ihre Bed&uuml;rfnisse anpassen k&ouml;nnen.
      Die Internationalisierung betrifft sowohl die
      System- als auch die Anwendungsebene, daher wird im Laufe des
      Texts auf genauere Anwendungsdokumentationen verwiesen.</para>

    <para>Nachdem Sie dieses Kapitel durchgearbeitet haben, werden Sie
      wissen</para>

    <itemizedlist>
      <listitem><para>wie verschiedene Sprachen und Lokalisierungen in
        modernen Betriebssystemen codiert werden,</para></listitem>
      <listitem><para>wie Sie die Locale Ihrer Login-Shell setzen,</para>
      <listitem><para>wie Sie die Konsole f&uuml;r nicht-englische Sprachen
        konfigurieren,</para></listitem>
      <listitem><para>wie Sie das X Window System mit verschiedenen
        Sprachen benutzen,</para></listitem>
      <listitem><para>wo Sie mehr Informationen &uuml;ber das Erstellen von
        I18N-konformen Anwendungen erhalten.</para></listitem>
    </itemizedlist>

    <para>Bevor Sie dieses Kapitel lesen, sollten Sie</para>

    <itemizedlist>
      <listitem><para>wissen, wie Sie zus&auml;tzliche Anwendungen
        installieren (<xref linkend="ports">).</para></listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="l10n-basics">
    <title>Grundlagen</title>

    <sect2>
      <title>Was ist I18N/L10N?</title>
      <indexterm><primary>Internationalisierung</primary></indexterm>
      <indexterm><primary>Lokalisierung</primary></indexterm>

      <para>Entwickler k&uuml;rzen das Wort
	<foreignphrase>internationalization</foreignphrase>
        (englisch f&uuml;r Internationalisierung) mit I18N ab,
	weil sich zwischen dem ersten und letzten Buchstaben des Worts
	18 Buchstaben befinden.  L10N benutzt die gleiche
        Namensgebung und ist eine Abk&uuml;rzung des Worts
        <foreignphrase>localization</foreignphrase> (englisch f&uuml;r
        Lokalisierung).  Mit I18N/L10N-Methoden, -Protokollen und -Anwendungen
	k&ouml;nnen Benutzer eine Sprache ihrer Wahl verwenden.</para>

      <para>I18N-Anwendungen werden mit Hilfe von I18N-Bibliotheken
	programmiert.  Diese erlauben es Entwicklern, eine einfache
        Sprachdatei zu schreiben und Men&uuml;s und Texte an jede
	Sprache anzupassen.  Wir m&ouml;chten Programmierern empfehlen,
        f&uuml;r ihre eigenen Anwendungen auf diese Techniken
        zur&uuml;ckzugreifen.</para>
    </sect2>

    <sect2>
      <title>Wieso soll ich I18N/L10N benutzen?</title>

      <para>I18N/L10N wird immer dann benutzt, wenn Sie Daten in anderen
	Sprachen als Englisch anzeigen, eingeben oder verarbeiten
	m&ouml;chten.</para>
    </sect2>

    <sect2>
      <title>Welche Sprachen werden von I18N unterst&uuml;tzt?</title>

      <para>I18N und L10N sind nichts FreeBSD spezifisches.
        Momentan k&ouml;nnen Sie unter den meisten der verbreitetsten
        Sprachen der Welt w&auml;hlen, unter anderen Chinesisch,
        Japanisch, Koreanisch, Franz&ouml;sisch, Russisch und
        Deutsch.</para>
    </sect2>
  </sect1>

  <sect1 id="using-localization">
    <title>Lokale Anpassungen benutzen</title>

    <para>In seiner ganzen Sch&ouml;nheit ist L10N nichts, was auf
      FreeBSD alleine beschr&auml;nkt ist, im Gegenteil, es ist eine
      Konvention, an die sich viele Programme f&uuml;r verschiedene
      Betriebssysteme halten.  Wir m&ouml;chten Sie anregen, FreeBSD
      bei der Unterst&uuml;tzung dieser Konvention zu helfen.</para>
    <indexterm><primary>Locale</primary></indexterm>

    <para>Lokale Anpassungen werden durch die Angabe von drei Werten
      erreicht:  dem Sprachcode, dem L&auml;ndercode und der Codierung.
      Die Zusammenfassung dieser Werte wird <quote>Locale</quote> genannt
      und sieht wie folgt aus:</para>

    <programlisting><replaceable>Sprachcode</replaceable>_<replaceable>L&auml;ndercode</replaceable>.<replaceable>Codierung</replaceable></programlisting>

    <sect2>
      <title>Sprach- und L&auml;ndercodes</title>
      <indexterm><primary>Sprachcodes</primary></indexterm>
      <indexterm><primary>L&auml;ndercodes</primary></indexterm>

      <para>Um FreeBSD (oder ein anderes &unix; System, das I18N unterst&uuml;tzt)
        an lokale Gegebenheiten und Sprachen anzupassen, muss der
        Benutzer herausfinden, welche Codes f&uuml;r sein Land
        und seine Sprache benutzt werden.  L&auml;ndercodes geben den
	Anwendungen dabei vor, welche Variation einer bestimmten Sprache
	zu benutzen ist.  Eine Variation von Deutsch w&auml;re zum Beispiel
	de_CH, das eine lokale Anpassung an das in der Schweiz gesprochene
	Deutsch meint.  Au&szlig;erdem benutzen Webbrowser, SMTP/POP Server,
	Webserver usw. diese, um Entscheidungen &uuml;ber die Sprache zu
        f&auml;llen.  Im Folgenden sind einige Beispiele f&uuml;r
        Sprach- und L&auml;ndercodes aufgelistet:</para>

      <informaltable frame="none">
        <tgroup cols="2">
          <thead>
            <row>
              <entry>Sprachcode/L&auml;ndercode</entry>
              <entry>Beschreibung</entry>
            </row>
          </thead>

          <tbody>
            <row>
              <entry>en_US</entry>
              <entry>Englisch - USA</entry>
            </row>

            <row>
              <entry>ru_RU</entry>
              <entry>Russisch f&uuml;r Russland</entry>
            </row>

            <row>
              <entry>zh_TW</entry>
              <entry>Traditionelles Chinesisch f&uuml;r Taiwan</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </sect2>

    <sect2>
      <title>Codierungen</title>
      <indexterm><primary>Codierungen</primary></indexterm>
      <indexterm><primary>ASCII</primary></indexterm>

      <para>Einige Sprachen benutzen Codierungen, die nicht dem 7-Bit
        breitem ASCII-Standard entsprechen, wie 8-Bit Codierungen,
        Wide- oder Multibyte Zeichen (&man.multibyte.3;
        geht darauf n&auml;her ein).  &Auml;ltere Anwendungen erkennen
        diese Zeichen nicht und halten sie f&auml;lschlicherweise
        f&uuml;r Steuerzeichen.  Neuere Anwendungen erkennen f&uuml;r
	gew&ouml;hnlich 8-Bit Zeichen.  Es h&auml;ngt allerdings
        von der Implementierung ab, ob man eine Anwendung neu
        kompilieren muss, um in den Genuss von lokalen
        Zeichens&auml;tzen zu kommen, oder ob man es sie nur
        nachtr&auml;glich konfigurieren muss.
        Um es m&ouml;glich zu machen, Wide- oder Multibyte-Zeichen
        einzugeben und zu verarbeiten, unterst&uuml;tzt die <ulink
        url="../../../../ports/index.html">FreeBSD-Ports-Sammlung</ulink>
        verschiedene Sprachen f&uuml;r diverse Programme.  Bitte
        konsultieren Sie die I18N-Dokumentation des entsprechenden
        FreeBSD-Ports.</para>

      <para>In den meisten F&auml;llen muss der Benutzer in die
        Dokumentation des Programms schauen, um herauszufinden, wie
        man es entsprechend f&uuml;r die eigene Sprache und den eigenen
        Zeichensatz konfiguriert, oder welche Optionen beim
        &Uuml;bersetzen anzugeben sind.</para>

     <para>Einige Dinge, die man im Hinterkopf behalten sollte, sind:</para>

     <itemizedlist>
       <listitem>
         <para>Sprachbezogene C-char Zeichens&auml;tze<footnote id="c-char">
	   <para>Mit C-char Zeichens&auml;tzen werden Zeichens&auml;tze
	     bezeichnet, die zur Codierung den C-Datentyp
	     <literal>char</literal> verwenden.</para></footnote>
           (siehe &man.multibyte.3;), zum Beispiel ISO-8859-1, ISO-8859-15,
	   KOI8-R, CP437.</para>
       </listitem>

       <listitem>
         <para>Wide- oder Multibyte-Codierungen, zum Beispiel
	   EUC, Big5.</para>
       </listitem>
     </itemizedlist>

     <para>Eine aktuelle Liste der Zeichens&auml;tze ist in der <ulink
         url="http://www.iana.org/assignments/character-sets">IANA Registry</ulink>.
       verf&uuml;gbar.</para>

      <note>
	<para>Ab FreeBSD&nbsp;4.5 werden X11-kompatible Codierungen
	  verwendet.</para>
      </note>
    </sect2>

    <sect2>
      <title>I18N-Anwendungen</title>

      <para>Im FreeBSD-Ports- und Paket-System werden I18N-Anwendungen
	mit einem <literal>I18N</literal> im Namen gekennzeichnet,
	damit man sie leicht identifizieren kann.  Trotzdem kann es
	vorkommen, dass die ben&ouml;tigte Sprache nicht immer
	unterst&uuml;tzt wird.</para>
    </sect2>

    <sect2 id="setting-locale">
      <title>Einstellen der Locale</title>

      <para>Zum Aktivieren der Lokalisierung reicht es, die Umgebungsvariable
        <envar>LANG</envar> in Ihrer Login-Shell auf den Wert der Locale zu
	setzen und die Variable zu exportieren.  Dies geschieht normalerweise
	in Ihrer <filename>~/.login_conf</filename> oder der Startdatei
	Ihrer Shell (<filename>~/.profile</filename>,
	<filename>~/.bashrc</filename>, <filename>~/.cshrc</filename>).
	Wenn <envar>LANG</envar> gesetzt ist, brauchen die speziellen
	Variablen wie <envar>LC_CTYPE</envar> oder <envar>LC_CTIME</envar>
	in der Regel nicht gesetzt zu werden.  Sie sollten sprachbezogene
	FreeBSD-Dokumentation zu Rate ziehen, wenn Sie mehr Informationen
	w&uuml;nschen.</para>

      <para>Setzen Sie die zwei folgenden Umgebungsvariablen in Ihren
        Konfigurationsdateien:</para>

      <itemizedlist>
	<indexterm><primary>POSIX</primary></indexterm>
        <listitem>
	  <para><envar>LANG</envar> f&uuml;r Funktionen der
	    &posix; &man.setlocale.3; Familie</para>
	</listitem>

	<indexterm><primary>MIME</primary></indexterm>
        <listitem>
	  <para><envar>MM_CHARSET</envar> gibt den den MIME
	    Zeichensatz von Anwendungen an</para>
	</listitem>
      </itemizedlist>

      <para>Damit ist die Locale f&uuml;r die Shell, jede Anwendung und X11
	eingestellt.</para>

      <sect3>
	<title>Verfahren zum Einstellen der Locale</title>
	<indexterm><primary>Locale</primary></indexterm>
	<indexterm><primary>Login-Klasse</primary></indexterm>

	<para>Es gibt zwei Wege, die Locale zu setzen, die im Folgenden
	  beschrieben werden.  Die erste und empfohlene Methode ist,
	  die Umgebungsvariablen in der
	  <link linkend="login-class">Login-Klasse</link>
	  zu setzen, die zweite ist, sie in den
	  <link linkend="startup-file">Startdateien</link>
	  der Shell zu setzen.</para>

	<sect4 id="login-class">
	  <title>Lokalisierung in der Login-Klasse</title>

	  <para>Wenn Sie diese Methode verwenden, werden die
	    Umgebungsvariablen f&uuml;r die Locale und den MIME Zeichensatz
	    einmal f&uuml;r alle Shells, anstatt einzeln f&uuml;r jede
	    Shell, gesetzt.  Die Lokalisierung kann <link
	      linkend="usr-setup">von einem Benutzer</link>
	    selbst oder <link linkend="adm-setup">von einem
	      Administrator</link> mit Superuser-Rechten f&uuml;r alle
	    eingestellt werden.</para>

	  <sect5 id="usr-setup">
	    <title>Einrichten als Benutzer</title>

	    <para><filename>.login_conf</filename> im Heimatverzeichnis
	      eines Benutzers sollte mindestens die folgenden Eintr&auml;ge
	      enthalten, damit beide Variablen f&uuml;r den Gebrauch der
	      Latin-1 Codierung gesetzt werden:</para>

	    <programlisting>me:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:</programlisting>

	    <indexterm>
	      <primary>traditionelles Chinesisch</primary>
	      <secondary>BIG-5 Codierung</secondary>
	    </indexterm>
	    <para>Damit traditionelles Chinesisch (BIG-5 Codierung)
	      verwendet werden kann, sind in <filename>.login_conf</filename>
	      die nachstehenden Erg&auml;nzungen vorzunehmen.  Einige
	      Programme behandeln die Lokalisierung f&uuml;r Chinesisch,
	      Japanisch und Koreanisch falsch, daher m&uuml;ssen mehr
	      Variablen als &uuml;blich gesetzt werden:</para>

	    <programlisting>#Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
me:\
	lang=zh_TW.Big5:\
	lc_all=zh_TW.Big:\
	lc_collate=zh_TW.Big5:\
	lc_ctype=zh_TW.Big5:\
	lc_messages=zh_TW.Big5:\
	lc_monetary=zh_TW.Big5:\
	lc_numeric=zh_TW.Big5:\
	lc_time=zh_TW.Big5:\
	charset=big5:\
	xmodifiers="@im=xcin": #Setting the XIM Input Server</programlisting>

	    <para>Weitere Informationen entnehmen Sie bitte
	      &man.login.conf.5;.</para>
	  </sect5>

	  <sect5 id="adm-setup">
	    <title>Einrichten als Administrator</title>

	    <para>Stellen Sie sicher, dass in der Login-Klasse der
	      Benutzer in <filename>/etc/login.conf</filename> die richtige
	      Sprache eingestellt ist.  Die folgenden Einstellungen
	      m&uuml;ssen in <filename>/etc/login.conf</filename>
	      vorgenommen werden:</para>

	    <programlisting><replaceable>Sprache</replaceable>:<replaceable>Beschreibung</replaceable>:\
	:charset=<replaceable>MIME_Zeichensatz</replaceable>:\
	:lang=<replaceable>Locale</replaceable>:\
	:tc=default:</programlisting>

	    <para>Die f&uuml;r Latin-1 erforderlichen Eintr&auml;ge
	      sehen wie folgt aus:</para>

	    <programlisting>german:German Users Accounts:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:\
	:tc=default:</programlisting>

	    <bridgehead renderas=sect4>&Auml;ndern der Login-Klasse
	      mit &man.vipw.8;</bridgehead>

	    <indexterm>
              <primary><command>vipw</command></primary>
	    </indexterm>
	    <para>Wenn Sie neue Accounts mit <command>vipw</command>
	      anlegen, erstellen Sie Eintr&auml;ge in folgender Art:</para>

	    <programlisting>user:password:1111:11:<replaceable>Sprache</replaceable>:0:0:Benutzername:/home/user:/bin/sh</programlisting>

	    <bridgehead renderas=sect4>&Auml;ndern der Login-Klasse
	      mit &man.adduser.8;</bridgehead>

	    <indexterm>
              <primary><command>adduser</command></primary>
            </indexterm>
	    <indexterm><primary>Login-Klasse</primary></indexterm>
	    <para>Wenn Sie neue Accounts mit <command>adduser</command>
	      anlegen, stehen Ihnen die folgenden M&ouml;glichkeiten zur
	      Verf&uuml;gung:</para>

	    <itemizedlist>
	      <listitem>
		<para>Geben Sie in <filename>/etc/adduser.conf</filename>
		mit <literal>defaultclass =
		  <replaceable>Sprache</replaceable></literal> eine Sprache
		vor.  In diesem Fall m&uuml;ssen Sie f&uuml;r Benutzer
		anderer Sprachen eine andere Login-Klasse angeben.</para>
	      </listitem>

	      <listitem>
		<para>Geben Sie die Sprache jedes Mal ein, wenn Sie dazu von
		  &man.adduser.8; aufgefordert werden:</para>

                <screen><prompt>Enter login class: default []: </prompt></screen>
	      </listitem>

	      <listitem>
		<para>Sie k&ouml;nnen die Login-Klasse auch auf der
		  Kommandozeile von &man.adduser.8; &uuml;bergeben:</para>

		<screen>&prompt.root; <userinput>adduser -class <replaceable>Sprache</replaceable></userinput></screen>
	      </listitem>
	    </itemizedlist>

	    <bridgehead renderas=sect4>&Auml;ndern der Login-Klasse
	      mit &man.pw.8;</bridgehead>
	    <indexterm>
              <primary><command>pw</command></primary>
            </indexterm>
	    <para>Wenn Sie neue Accounts mit &man.pw.8; anlegen, benutzen
	      Sie die folgende Kommandozeile:</para>

	    <screen>&prompt.root; <userinput>pw useradd <replaceable>Account</replaceable> -L <replaceable>Sprache</replaceable></userinput></screen>
	  </sect5>
	</sect4>

	<sect4 id="startup-file">
	  <title>Lokalisierung in den Startdateien der Shells</title>

	  <note>
	    <para>Da Sie jede Shell unterschiedlich einrichten
	      m&uuml;ssen, sollten Sie diese Methode nicht verwenden.
	      Benutzen Sie stattdessen bitte <link
	        linkend="login-class">Login-Klassen</link>.</para>
	  </note>

	  <indexterm><primary>MIME</primary></indexterm>
	  <indexterm><primary>Locale</primary></indexterm>
	  <para>Um die Locale und den MIME Zeichensatz anzugeben, setzen
	    Sie die unten aufgef&uuml;hrten Variablen in den Startdateien
	    der Shells (<filename>/etc/profile</filename> und
	    <filename>/etc/csh.login</filename>).  In den folgenden
	    Beispielen verwenden wir die deutsche Sprache.</para>

	  <para>Einstellungen in <filename>/etc/profile</filename>:</para>

	  <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar>
<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting>

	  <para>Einstellungen in <filename>/etc/csh.login</filename>:</para>

	  <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar>
<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting>

	  <para>Alternativ k&ouml;nnen Sie die Einstellungen in den
	    Vorgabedateien der Shells vornehmen.  Die oben gezeigten
	    Einstellungen aus <filename>/etc/profile</filename>  tragen Sie
	    dann in <filename>/usr/share/skel/dot.profile</filename> und
	    die Einstellungen aus <filename>/etc/csh.login</filename> in
	    <filename>/usr/share/skel/dot.login</filename> ein.</para>

	  <para>Die Einstellungen f&uuml;r X11 in
	    <filename>$HOME/.xinitrc</filename> sind von der verwendeten
	    Login-Shell abh&auml;ngig.  Mit Bourne Shells
	    verwenden Sie den folgenden Eintrag:</para>

	  <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>

	  <para>Mit C-Shells verwenden Sie den nachstehenden
	    Eintrag:</para>

	  <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>

	</sect4>
      </sect3>
    </sect2>

    <sect2 id="setting-console">
      <title>Einrichten der Konsole</title>

      <para>Wenn Sie C-char Zeichens&auml;tze<footnoteref linkend="c-char">
	verwenden, m&uuml;ssen Sie die richtigen Zeichens&auml;tze f&uuml;r die
	gew&auml;hlte Sprache in <filename>/etc/rc.conf</filename>
	angeben:</para>

      <programlisting>font8x16=<replaceable>Zeichensatz</replaceable>
font8x14=<replaceable>Zeichensatz</replaceable>
font8x8=<replaceable>Zeichensatz</replaceable></programlisting>

      <para>Dabei ist <replaceable>Zeichensatz</replaceable> der Name der
        passenden Datei aus <filename>/usr/share/syscons/fonts</filename>
	ohne die Endung <filename>.fnt</filename>.</para>

      <indexterm>
        <primary><application>sysinstall</application></primary>
      </indexterm>
      <indexterm><primary>keymap</primary></indexterm>
      <indexterm><primary>screenmap</primary></indexterm>
      <para>Stellen Sie sicher, dass Sie die richtige Tasten- und
        Bildschirmzuordnung (keymap und screenmap) verwenden.  Dies
	k&ouml;nnen Sie in <application>sysinstall</application>
	einstellen, indem Sie <guimenuitem>Configure</guimenuitem> und dann
	<guimenuitem>Console</guimenuitem> w&auml;hlen.  Sie k&ouml;nnen
	die Zuordnungen aber auch direkt in <filename>/etc/rc.conf</filename>
	angeben:</para>

      <programlisting>scrnmap=<replaceable>screenmap_name</replaceable>
keymap=<replaceable>keymap_name</replaceable>
keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>

      <para><replaceable>screenmap_name</replaceable> ist der Name einer
        Datei aus <filename>/usr/share/syscons/scrnmaps</filename> ohne die
        Endung <filename>.scm</filename>.  Eine Bildschirmzuordnung und der
	zugeh&ouml;rige Zeichensatz verbreitert die Zeichenmatrix von
	VGA Karten im Pseudographik Modus von 8&nbsp;Bit auf 9&nbsp;Bit.
	Sie wird ben&ouml;tigt, wenn der Zeichensatz des Bildschirms
	8&nbsp;Bit verwendet.</para>

      <para>Lesen Sie den n&auml;chsten Absatz, wenn Sie in
        <filename>/etc/rc.conf</filename> den
	<application>moused</application> D&aelig;mon mit der nachstehenden
	Anweisung aktiviert haben:</para>

      <programlisting>moused_enable="YES"</programlisting>

      <indexterm>
        <primary><application>moused</application></primary>
      </indexterm>
      <para>Der Mauszeiger des &man.syscons.4; Treibers belegt in
        der Voreinstellung den Bereich von 0xd0 bis 0xd3 des Zeichensatzes.
	Wenn dieser Bereich ebenfalls von der eingestellten Sprache
	ben&ouml;tigt wird, m&uuml;ssen Sie den Mauszeiger verschieben.
	Wenn Sie eine fr&uuml;here FreeBSD-Version als 5.0 verwenden,
	f&uuml;gen Sie dazu in Ihrer Kernelkonfiguration die folgende Zeile
	ein:</para>

      <programlisting>options		SC_MOUSE_CHAR=0x03</programlisting>

      <para>Ab FreeBSD&nbsp;4.4 erg&auml;nzen Sie
        <filename>/etc/rc.conf</filename> um die folgende Zeile:</para>

      <programlisting>mousechar_start=3</programlisting>

      <para><replaceable>keymap_name</replaceable> ist der Name einer Datei
        aus <filename>/usr/share/syscons/keymaps</filename> ohne die Endung
	<filename>.kbd</filename>.  Welche Tastenzuordnung Sie benutzen
	m&uuml;ssen, k&ouml;nnen Sie ohne einen Neustart mit &man.kbdmap.1;
	ausprobieren.</para>

      <para>Mit <literal>keychange</literal> k&ouml;nnen die
        Funktionstasten so programmiert werden, dass Sie zu dem
	ausgesuchten Terminal passen.  Die Sequenzen der Funktionstasten
	k&ouml;nnen nicht in Tastenzuordnungen definiert werden.</para>

      <para>Stellen Sie sicher, dass der richtige Terminaltyp f&uuml;r
	die <literal>ttyv*</literal> Konsolen in
	<filename>/etc/ttys</filename> angegeben ist.  Momentan sind die
	folgenden Terminaltypen definiert:</para>

      <informaltable frame="none">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Zeichensatz</entry>
	      <entry>Terminaltyp</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry>ISO-8859-1 oder ISO-8859-15</entry>
	      <entry><literal>cons25l1</literal></entry>
	    </row>

	    <row>
	      <entry>ISO-8859-2</entry>
	      <entry><literal>cons25l2</literal></entry>
	    </row>

	    <row>
	      <entry>ISO-8859-7</entry>
	      <entry><literal>cons25l7</literal></entry>
	    </row>

	    <row>
	      <entry>KOI8-R</entry>
	      <entry><literal>cons25r</literal></entry>
	    </row>

	    <row>
	      <entry>KOI8-U</entry>
	      <entry><literal>cons25u</literal></entry>
	    </row>

	    <row>
	      <entry>CP437 (VGA default)</entry>
	      <entry><literal>cons25</literal></entry>
	    </row>

	    <row>
	      <entry>US-ASCII</entry>
	      <entry><literal>cons25w</literal></entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

      <para>Mit Wide- oder Multibyte-Zeichens&auml;tzen m&uuml;ssen Sie den
	richtigen Port aus dem Verzeichnis
	<filename>/usr/ports/<replaceable>Sprache</replaceable></filename>
	verwenden.  Einige Ports erscheinen als Konsolen werden aber vom
	System als serielle vtty's betrachtet.  Achten Sie daher darauf,
	dass Sie gen&uuml;gend vtty's f&uuml;r X11 und die
	Pseudo-seriellen Konsolen definiert haben.  Nachstehend finden Sie
	eine unvollst&auml;ndige Liste der Ports, die eine andere Sprache
	als Englisch auf der Konsole verwenden:</para>

      <informaltable frame="none">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Sprache</entry>
	      <entry>Port</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry>traditionelles Chinesisch (BIG-5)</entry>
	      <entry><filename role="package">chinese/big5con</filename></entry>
	    </row>

	    <row>
	      <entry>Japanisch</entry>
	      <entry><filename role="package">japanese/ja-kon2-*</filename> oder
	        <filename role="package">japanese/Mule_Wnn</filename></entry>
	    </row>

	    <row>
	      <entry>Koreanisch</entry>
	      <entry><filename role="package">korean/ko-han</filename></entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>
    </sect2>

    <sect2>
      <title>Einrichten von X11</title>

      <para>Obwohl X11 nicht Teil des FreeBSD-Projekts ist, stellen wir
        hier einige Hinweise f&uuml;r FreeBSD-Benutzer zusammen.  Weitere
	Details entnehmen Sie bitte der <ulink
	  url="http://www.xfree86.org/">&xfree86; Webseite</ulink> oder der
	Dokumentation Ihres X11 Servers.</para>

      <para>Anwendungsspezifische I18N-Einstellungen (Zeichens&auml;tze,
	Men&uuml;s, usw.) k&ouml;nnen Sie in <filename>~/.Xresources</filename>
	vornehmen.</para>

      <sect3>
	<title>Zeichens&auml;tze</title>
	<indexterm><primary>X11 True Type Font-Server</primary></indexterm>
	<para>Installieren Sie den X11 &truetype; Common Server
	  (<filename role="package">x11-servers/XttXF86srv-common</filename>)
	  und die &truetype; Zeichens&auml;tze f&uuml;r die gew&auml;hlten
	  Sprachen.  Wenn Sie die Locale gesetzt haben, sollten die
	  Men&uuml;s dann in der entsprechenden Sprache erscheinen.</para>
      </sect3>

      <sect3>
	<title>Eingabe von nicht-englischen Zeichen</title>
	<indexterm><primary>X11 Input Method (XIM)</primary></indexterm>
	<para>Das X11 Input Method (XIM) Protokoll ist ein neuer Standard
	  f&uuml;r alle X11-Clients.  Jede X11-Anwendung sollte als
	  XIM-Client, der Eingaben von einem XIM-Server entgegen nimmt,
	  implementiert sein.  XIM-Server sind f&uuml;r verschiedene
	  Sprachen erh&auml;ltlich.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Einrichten eines Druckers</title>

      <para>Drucker verf&uuml;gen normalerweise schon &uuml;ber einige
	C-char Zeichens&auml;tze<footnoteref linkend="c-char">.  Wide- oder
	Multibyte-Zeichens&auml;tze m&uuml;ssen gesondert eingerichtet werden.
	Wir empfehlen Ihnen, dazu <application>apsfilter</application> zu
	benutzen.  Weiterhin k&ouml;nnen Sie mit sprachspezifischen Konvertern
	Ihre Dokumente auch in &postscript; oder PDF umwandeln.</para>
    </sect2>

    <sect2>
      <title>Kernel und Dateisysteme</title>

      <para>Das FreeBSD-Dateisystem (FFS) unterst&uuml;tzt 8-Bit, so
        dass es mit C-char Zeichens&auml;tzen<footnoteref
	  linkend="c-char"> (siehe &man.multibyte.3;) verwendet werden
	kann.  Der Zeichensatz wird allerdings nicht im Dateisystem
	gespeichert, das hei&szlig;t es werden nur die 8-Bit Werte
	gespeichert und die Codierung wird nicht ber&uuml;cksichtigt.
	Offiziell werden Wide- oder Multibyte-Zeichens&auml;tze noch nicht
	unterst&uuml;tzt, f&uuml;r einige Zeichens&auml;tze existieren
	Patche, die eine solche Unterst&uuml;tzung aktivieren.
	Sie sind allerdings nicht im Quelltext enthalten, da sie nur
	schwer pflegbare &Uuml;bergangsl&ouml;sungen sind.  Die Patche
	und weitere Informationen erhalten Sie auf den Webseiten der
	betreffenden Sprache.</para>

      <indexterm><primary>DOS</primary></indexterm>
      <indexterm><primary>Unicode</primary></indexterm>
      <para>Das &ms-dos; Dateisystem von FreeBSD kann von &ms-dos;- und
	Unicode-Zeichens&auml;tzen nach frei w&auml;hlbaren FreeBSD
	Zeichens&auml;tzen konvertieren.  Weitere Details entnehmen Sie
	bitte &man.mount.msdos.8;.</para>
    </sect2>
  </sect1>

  <sect1 id="l10n-compiling">
    <title>I18N-Programme &uuml;bersetzen</title>

    <para>Viele FreeBSD-Ports besitzen I18N-Unterst&uuml;tzung, einige
      davon enthalten <literal>-I18N</literal> im Namen.  F&uuml;r diese
      und viele andere Programme ist keine spezielle Konfiguration
      notwendig.</para>

    <indexterm>
      <primary><application>MySQL</application></primary>
    </indexterm>
    <para>Einige Anwendungen wie <application>MySQL</application>
      m&uuml;ssen allerdings speziell f&uuml;r einen Zeichensatz
      konfiguriert werden.  Normalerweise wird dazu das
      <filename>Makefile</filename> angepasst oder
      <application>configure</application> mit einem speziellen Parameter
      aufgerufen.</para>
  </sect1>

  <sect1 id="lang-setup">
    <title>Lokalisierung f&uuml;r einzelne Sprachen</title>

    <sect2 id="ru-localize">
      <sect2info>
	<authorgroup>
	  <author>
	    <firstname>Andrey A.</firstname>
	    <surname>Chernov</surname>
	    <contrib>Beigetragen von </contrib>
	  </author>
	</authorgroup>
      </sect2info>
      <title>Russisch (KOI8-R Codierung)</title>
      <indexterm>
	<primary>Lokalisierung</primary>
	<secondary>russisch</secondary>
      </indexterm>

      <para>Weitere Informationen &uuml;ber die KOI8-R Codierung erhalten
        Sie auf der Webseite <ulink
	  url="http://koi8.pp.ru/">KOI8-R References
	  (Russian Net Character Set)</ulink>.</para>

      <sect3>
	<title>Einrichten der Locale</title>

	<para>F&uuml;gen Sie die folgenden Zeilen in
	  <filename>~/.login_conf</filename> ein:</para>

	<programlisting>me:My Account:\
	:charset=KOI8-R:\
	:lang=ru_RU.KOI8-R:</programlisting>

	<para>Weitere Erkl&auml;rungen finden Sie in <link
	  linkend="setting-locale">Einstellen der Locale</link>.</para>
      </sect3>

      <sect3>
	<title>Einrichten der Konsole</title>

	<itemizedlist>
	  <listitem>
	    <para>Vor FreeBSD&nbsp;5.0 m&uuml;ssen Sie die folgende Zeile
	      in Ihre Kernelkonfiguration aufnehmen:</para>

	    <programlisting>options		SC_MOUSE_CHAR=0x03</programlisting>

	    <para>Ab FreeBSD&nbsp;4.4 f&uuml;gen Sie bitte die nachstehende
	      Zeile in <filename>/etc/rc.conf</filename> ein:</para>

	    <programlisting>mousechar_start=3</programlisting>
	  </listitem>

	  <listitem>
	    <para>Nehmen Sie die folgenden Einstellungen in
	      <filename>/etc/rc.conf</filename>: vor</para>

	    <programlisting>keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"</programlisting>

	  </listitem>

	  <listitem>
	    <para>Benutzen Sie <literal>cons25r</literal> als Terminaltyp
	      f&uuml;r jeden <literal>ttyv*</literal> Eintrag in
	      <filename>/etc/ttys</filename>.</para>
	  </listitem>
	</itemizedlist>

	<para>Weitere Beispiele finden Sie in <link
	  linkend="setting-console">Einrichten der Konsole</link>.</para>
      </sect3>

      <sect3>
	<title>Einrichten eines Druckers</title>
	<indexterm><primary>Drucker</primary></indexterm>
	<para>Die meisten Drucker mit russischen Zeichen besitzen die
	  Codetabelle CP866, so dass ein spezielles Programm zur
	  &Uuml;bersetzung von KOI8-R nach CP866 ben&ouml;tigt wird.  Zu
	  diesem Zweck ist <filename>/usr/libexec/lpr/ru/koi2alt</filename>
	  im Basissystem enthalten.  Der Eintrag f&uuml;r einen Drucker mit
	  russischer Sprachunterst&uuml;tzung in
	  <filename>/etc/printcap</filename> sieht wie folgt aus:</para>

	<programlisting>lp|Russian local line printer:\
	:sh:of=/usr/libexec/lpr/ru/koi2alt:\
	:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting>

	<para>N&auml;heres erfahren Sie in &man.printcap.5;.</para>
      </sect3>

      <sect3>
	<title>&ms-dos; Dateisystem und russische Dateinamen</title>

	<para>Russische Dateinamen auf &ms-dos; Dateisystemen werden mit dem
	  folgenden Eintrag in <filename>/etc/fstab</filename>
	  erkannt:</para>

	<programlisting>/dev/ad0s2      /dos/c  msdos   rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting>

	<para>Die Option <option>-L</option> legt die Locale fest.
	  Die Option <option>-W</option> legt die Zeichenumwandlung
	  fest.  Stellen Sie sicher, dass <filename>/usr</filename>
	  eingehangen ist, bevor Sie die &ms-dos;-Partition einh&auml;ngen,
	  da die Tabellen zur Zeichenumwandlung in
	  <filename>/usr/libdata/msdosfs</filename> liegen.  Weitere
	  Informationen erhalten Sie in der Hilfeseite
	  &man.mount.msdos.8;.</para>
      </sect3>

      <sect3>
	<title>Einrichten von X11</title>

	<orderedlist>
	  <listitem>
	    <para>Richten Sie zun&auml;chst die
	      <link linkend="setting-locale">normale Lokalisierung</link>
	      ein.</para>

	    <note>
	      <para><anchor id="russian-note">Die Locale KOI8-R wird von
	        alten <application>&xfree86;</application>-Versionen (vor
		3.3) nicht unterst&uuml;tzt.  FreeBSD verwendet
		<application>&xfree86; 4.X</application>, daher sollte es
		mit neuen FreeBSD-Versionen keine Probleme geben.</para>
	    </note>
	  </listitem>

	  <listitem>
	    <para>Wechseln Sie in das Verzeichnis <filename
	        role="package">russian/X.language</filename>
	      und setzen Sie das folgende Kommando ab:</para>

	    <screen>&prompt.root; <userinput>make install</userinput></screen>

	    <para>Der Port installiert die neusten Versionen der KOI8-R
	      Zeichens&auml;tze.  <application>&xfree86; 3.3</application>
	      besitzt zwar schon einige KOI8-R Zeichens&auml;tze, allerdings
	      sind die des Ports besser skaliert.</para>

	    <para>Im <literal>"Files"</literal> Abschnitt von
	      <filename>/etc/XF86Config</filename> f&uuml;gen Sie die
	      folgenden Eintr&auml;ge <emphasis>vor</emphasis> allen
	      anderen <literal>FontPath</literal> Eintr&auml;gen
	      ein:</para>

	    <programlisting>FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>

	    <para>Wenn Sie eine hohe Aufl&ouml;sung benutzen, vertauschen
	      Sie bitte die Eintr&auml;ge f&uuml;r 75&nbsp;dpi und
	      100&nbsp;dpi.</para>
	  </listitem>

	  <listitem>
	    <para>Die Unterst&uuml;tzung f&uuml;r eine russische Tastatur
	      aktivieren Sie im <literal>"Keyboard"</literal> Abschnitt von
	      <filename>XF86Config</filename>.</para>

	    <para>Mit <application>&xfree86; 3.X</application>:</para>

	    <programlisting>XkbLayout  "ru"
XkbOptions "grp:caps_toggle"</programlisting>

	    <para>Mit <application>&xfree86; 4.X</application>:</para>

	    <programlisting>Option "XkbLayout"   "ru"
Option "XkbOptions"  "grp:caps_toggle"</programlisting>

	    <para>Stellen Sie zudem sicher, dass
	      <literal>XkbDisable</literal> nicht aktiviert (auskommentiert)
	      ist.</para>

	    <para>Mit <keycap>CapsLock</keycap> k&ouml;nnen Sie zwischen
	      dem RUS- und LAT-Modus wechseln.  Die alte Funktion von
	      <keycap>CapsLock</keycap> steht nur im LAT-Modus mit der
	      Tastenkombination
	      <keycombo action="simul">
		<keycap>Shift</keycap>
		<keycap>CapsLock</keycap>
	      </keycombo> zur Verf&uuml;gung.</para>

	    <para>Wenn Ihre Tastatur &windows;-Tasten
	      besitzt und nicht alphanumerische Tasten im RUS-Modus nicht
	      funktionieren, f&uuml;gen Sie die folgende Zeile in
	      <filename>XF86Config</filename> ein:</para>

	    <para>Mit <application>&xfree86; 3.X</application>:</para>

	    <programlisting>XkbVariant "winkeys"</programlisting>

	    <para>Mit <application>&xfree86; 4.X</application>:</para>

	    <programlisting>Option "XkbVariant" "winkeys"</programlisting>

	    <note>
	      <para>Die russische XKB-Tastatur funktioniert vielleicht
	        nicht mit alten <application>&xfree86;</application>-Versionen
		(vgl. <link linkend="russian-note">obige Anmerkung</link>).
		Vielleicht funktioniert sie auch nicht mit
		nicht-lokalisierten Anwendungen.  Lokalisierte Anwendungen
		sollten mindestens die Funktion
		<function>XtSetLanguageProc (NULL, NULL,NULL);</function>
		fr&uuml;hzeitig aufrufen.  Weitere Informationen &uuml;ber
		die Lokalisierung von X11-Anwendungen erhalten Sie auf der
		Webseite <ulink url="http://koi8.pp.ru/xwin.html">KOI8-R
		  for X Window</ulink>.</para>
	    </note>
	  </listitem>
	</orderedlist>
      </sect3>
    </sect2>

    <sect2>
      <title>Traditionell chinesische Lokalisierung f&uuml;r Taiwan</title>
      <indexterm>
	<primary>Lokalisierung</primary>
	<secondary>traditionell chinesisch</secondary>
      </indexterm>
      <para>Das taiwanesische FreeBSD-Projekt stellt ein Tutorium unter
	<ulink url="http://freebsd.sinica.edu.tw/~ncvs/zh-l10n-tut/"></ulink>
	zur Verf&uuml;gung, das viele chinesische Anwendungen benutzt.
	Der Editor von <literal>zh-L10N-tut</literal> ist Clive Lin
	<email>Clive@CirX.org</email>.  Von <hostid
	  role="fqdn">freebsd.sinica.edu.tw</hostid> k&ouml;nnen Sie mit
	<application>CVSup</application> auch die folgenden Sammlungen
	beziehen:</para>

      <informaltable frame="none">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Sammlung</entry>
	      <entry>Beschreibung</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry>outta-port tag=.</entry>
	      <entry>Chinesische Ports Sammlung (Beta-Test)</entry>
	    </row>

	    <row>
	      <entry>zh-L10N-tut tag=.</entry>
	      <entry>Tutorium Lokalisation von FreeBSD mit traditionellem
	        Chinesisch (BIG-5)</entry>
	    </row>

	    <row>
	      <entry>zh-doc tag=.</entry>
	      <entry>&Uuml;bersetzung der FreeBSD-Dokumentation nach
		traditionellem Chinesisch (BIG-5)</entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

      <para>Chuan-Hsing Shen <email>s874070@mail.yzu.edu.tw</email> hat mit
	Hilfe von <literal>zh-L10N-tut</literal> die <ulink
	  url="http://cnpa.yzu.edu.tw/~cfc/">Chinese FreeBSD Collection
	(CFC)</ulink> zusammengestellt.  Die Pakete und Skripten sind unter
	<ulink url="ftp://ftp.csie.ncu.edu.tw/OS/FreeBSD/taiwan/CFC/"></ulink>
	erh&auml;ltlich.</para>
    </sect2>

    <sect2>
      <title>Deutsche Lokalisierung (f&uuml;r alle ISO 8859-1
        Sprachen)</title>
      <indexterm>
	<primary>Lokalisierung</primary>
	<secondary>deutsch</secondary>
      </indexterm>

      <para>Von Slaven Rezic <email>eserte@cs.tu-berlin.de</email> stammt
        ein Tutorium, das die Benutzung von Umlauten mit FreeBSD
	beschreibt.  Das Tutorium ist in Deutsch verfasst und unter
	<ulink url="http://www.de.FreeBSD.org/de/umlaute/"></ulink>
	erh&auml;ltlich.</para>
    </sect2>

    <sect2>
      <title>Japanische und koreanische Lokalisierung</title>
      <indexterm>
	<primary>Lokalisierung</primary>
	<secondary>japanisch</secondary>
      </indexterm>
      <indexterm>
	<primary>Lokalisierung</primary>
	<secondary>koreanisch</secondary>
      </indexterm>
      <para>Informationen &uuml;ber die japanische Lokalisierung entnehmen
        Sie bitte <ulink url="http://www.jp.FreeBSD.org/"></ulink>,
	Informationen &uuml;ber die koreanische Lokalisierung erhalten Sie
	unter <ulink url="http://www.kr.FreeBSD.org/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Nicht-englische FreeBSD-Dokumentation</title>

      <para>Teile von FreeBSD wurden in andere Sprachen &uuml;bersetzt.
        Folgen Sie bitte den Links auf der <ulink
	  url="http://www.freebsd.org">FreeBSD-Webseite</ulink> oder
	schauen Sie in <filename>/usr/share/doc</filename> nach.</para>
    </sect2>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->

