New translation: l10n/i18n
Obtained from: The FreeBSD German Documentation Project
This commit is contained in:
parent
5bdf0ce853
commit
afcf0ebd25
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=12442
1 changed files with 959 additions and 0 deletions
959
de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml
Normal file
959
de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml
Normal file
|
@ -0,0 +1,959 @@
|
||||||
|
<!--
|
||||||
|
The FreeBSD Documentation Project
|
||||||
|
The FreeBSD German Documentation Project
|
||||||
|
|
||||||
|
Original Revision 1.39
|
||||||
|
$FreeBSD$
|
||||||
|
$FreeBSDde: de-docproj/books/handbook/l10n/chapter.sgml,v 1.2 2001/12/14 17:48:37 mheinen Exp $
|
||||||
|
-->
|
||||||
|
|
||||||
|
<chapter id="l10n">
|
||||||
|
<title>Lokalisierung - I18N/L10N Einrichtung und Benutzung</title>
|
||||||
|
|
||||||
|
<para><emphasis>Geschrieben von &a.ache;</emphasis></para>
|
||||||
|
|
||||||
|
<para><emphasis>Überarbeitet von Michael Chin-Yuan Wu
|
||||||
|
<email>keichii@mail.utexas.edu</email>, 6 März 2000.</emphasis></para>
|
||||||
|
|
||||||
|
<para><emphasis>Übersetzt von &a.alex;, Juli 2000.</emphasis></para>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Übersicht</title>
|
||||||
|
|
||||||
|
<para>Dieser Teil des Handbuchs behandelt die Internationalisierung
|
||||||
|
und die lokale Anpassung von FreeBSD and die Bedürfnisse der
|
||||||
|
verschiedenen Länder und deren Gegebenheiten.
|
||||||
|
Wenn der Benutzer eine andere Sprache als die vorgegebene
|
||||||
|
Standard-Einstellung, Englisch, benutzen möchte, muß
|
||||||
|
er das System entsprechend einrichten. Bitte beachten Sie,
|
||||||
|
daß Unterstützung für verschiedene Sprachen im
|
||||||
|
Umfang variiert. Von daher sollte jeder FreeBSD Benutzer sich
|
||||||
|
mit der Gruppe in Verbindung setzen, die für die
|
||||||
|
Sprachünterstütung für seine Sprache
|
||||||
|
zuständig ist.</para>
|
||||||
|
|
||||||
|
<para>Der Autor bemerkt, daß seine Beschreibung des i18n
|
||||||
|
Prozesses eventuell unvollständig sein kann. Wegen der
|
||||||
|
Unterschiede unter den einzelnen Sprachanpassungen empfehlen wir
|
||||||
|
Ihnen, Dokumentation, die direkt auf Ihre Sprache zugeschnitten
|
||||||
|
ist, wie Manpages, READMEs usw., zu konsultieren.</para>
|
||||||
|
|
||||||
|
<para>Sollten Sie weitere Fragen oder Vorschläge haben,
|
||||||
|
schreiben Sie bitte dem Autor.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Grundlagen</title>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Was ist i18n/l10n?</title>
|
||||||
|
|
||||||
|
<para>Entwickler kürzen das Wort <quote>internationalization</quote>
|
||||||
|
(englisch für <quote>Internationalisierung</quote>) auf
|
||||||
|
die Buchstaben <quote>i18n</quote> ab, wobei <quote>18</quote>
|
||||||
|
die Anzahl der Buchstaben zwischen erstem und letzten
|
||||||
|
Buchstaben des Wortes ist. l10n benutzt die gleiche
|
||||||
|
Namensgebung, eine Abkürzung des Wortes
|
||||||
|
<quote>localization</quote> (englisch für
|
||||||
|
<quote>Lokalisierung</quote>, <quote>lokale Anpassung</quote>).
|
||||||
|
Kombiniert erlauben die i18n/l10n Methoden den Benutzern,
|
||||||
|
Protokolle und Anwendungen an Ihre Vorlieben
|
||||||
|
anzupassen.</para>
|
||||||
|
|
||||||
|
<para>I18n Anwendungen wurden programmiert mit Hilfe von i18n
|
||||||
|
Bibliotheken. Diese erlauben es Entwicklern, eine einfache
|
||||||
|
Sprach-Datei zu schreiben und Menüleisten und Texte
|
||||||
|
so an jede Sprache anzupassen.
|
||||||
|
Wir möchten Programmierern empfehlen,
|
||||||
|
für ihre eigenen Anwendungen auf diese Techniken
|
||||||
|
zurückzugreifen.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Wieso soll ich i18n/l10n Benutzen?</title>
|
||||||
|
|
||||||
|
<para>I18n/l10n wird immer dann benutzt, wenn Sie Anzeigen,
|
||||||
|
Eingaben oder die Verarbeitung von Daten in Sprachen anders
|
||||||
|
als Englisch wünschen.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Welche Sprachen werden von i18n unterstützt?</title>
|
||||||
|
|
||||||
|
<para>I18n and l10n sind nichts FreeBSD spezifisches.
|
||||||
|
Momenten können Sie unter den meisten der verbreitesten
|
||||||
|
Sprachen der Welt wählen, unter anderen Chinesisch,
|
||||||
|
Japanisch, Französisch, Russisch, aber auch
|
||||||
|
Deutsch.</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="using-localization">
|
||||||
|
<title>Lokale Anpassungen benutzen</title>
|
||||||
|
|
||||||
|
<para>In seiner ganzen Schönheit ist l10n nichts, was auf
|
||||||
|
FreeBSD alleine beschränkt ist, im Gegenteil, es ist eine
|
||||||
|
Konvention, an die sich viele Programme für verschiedene
|
||||||
|
Betriebssysteme halten. Wir möchten Sie anregen, FreeBSD
|
||||||
|
bei der Unterstützung dieser Konvention zu helfen.</para>
|
||||||
|
|
||||||
|
<para>Lokale Anpassungen basieren auf drei Schlagwörtern:
|
||||||
|
Language Code, Country Code und Kodierung. Locale Namen (die
|
||||||
|
verschiedenen Anpassungen an eine Sprache werden
|
||||||
|
<quote>Locale</quote> genannt) werden aus den oben genannten
|
||||||
|
Schlagwärtern wie folgt zusammengesetzt:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<replaceable>LanguageCode</replaceable>_<replaceable>CountryCode</replaceable>.<replaceable>Kodierung</replaceable></programlisting>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Language und Country Codes</title>
|
||||||
|
|
||||||
|
<para>Um ein FreeBSD (oder ein anderes UNIX, das i18n unterstützt)
|
||||||
|
an lokale Gegenheiten und Sprachen anzupassen, muß der
|
||||||
|
Benutzer herausfinden, welche Codes für sein Land
|
||||||
|
(<quote>Country</quote>) und seine Sprache
|
||||||
|
(<quote>Language</quote>) benutzt werden. Country Codes geben
|
||||||
|
den Anwendungen dabei vor, welche Variation einer bestimmten
|
||||||
|
Sprache zu benutzen ist. Eine Variation von Deutsch wäre
|
||||||
|
z.B. de_CH, das eine lokale Anpassung an das in der Schweiz
|
||||||
|
gesprochene Deutsch meint.
|
||||||
|
Außerdem benutzen Webbrowser, SMTP/POP Server, Webserver
|
||||||
|
usw. diese, um Entscheidungen über die Sprache zu
|
||||||
|
fällen. Im Folgenden sind einzige Beispiele für
|
||||||
|
Language/Country Codes aufgelistet:</para>
|
||||||
|
|
||||||
|
<informaltable frame="none">
|
||||||
|
<tgroup cols="2">
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry>Language/Country Code</entry>
|
||||||
|
<entry>Beschreibung</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>en_US</entry>
|
||||||
|
<entry>English - United States</entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>ru_RU</entry>
|
||||||
|
<entry>Russisch für Russland</entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>zh_TW</entry>
|
||||||
|
<entry>Traditionelles Chinesich für Taiwan</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Kodierungen</title>
|
||||||
|
|
||||||
|
<para>Einige Sprachen benutzen Kodierungen, die nicht dem 7-bit
|
||||||
|
breitem ASCII-Standard entsprechend, so wie 8-bit Kodierungen
|
||||||
|
oder wide- oder multibyte Characters. &man.mulltibyte.3;
|
||||||
|
geht darauf näher ein. Ältere Anwendungen erkennen
|
||||||
|
diese Zeichen nicht und halten sie fälschlicherweise
|
||||||
|
für Kontroll-Zeichen. Neuere Anwendungen erkennen 8-bit
|
||||||
|
Zeichen für gewöhnlich. Es hängt allerdings
|
||||||
|
von der Implementierung ab, ob man eine Anwendung neu
|
||||||
|
kompilieren muß, um in den Genuß von lokalen
|
||||||
|
Zeichensätzen kommt, oder ob man es sie nur
|
||||||
|
nachträglich konfigurieren muß.
|
||||||
|
Um es möglich zu machen, wide oder multibyte Zeichen
|
||||||
|
einzugeben und zu verarbeiten, unterstützt die <ulink
|
||||||
|
url="../ports/">FreeBSD Ports Collection</ulink>
|
||||||
|
verschiedene Sprachen für diverse Programme. Bitte
|
||||||
|
konsultieren Sie die i18n Dokumentation des entsprechenden
|
||||||
|
FreeBSD-Ports.</para>
|
||||||
|
|
||||||
|
<para>In den meisten Fällen muß der Benutzer in die
|
||||||
|
Dokumentation des Programmes schauen, um herauszufinden, wie
|
||||||
|
man es entsprechend für die eigene Sprache und
|
||||||
|
Zeichensätze konfiguriert, oder welche Optionen beim
|
||||||
|
Compilieren zu setzen sind.</para>
|
||||||
|
|
||||||
|
<para>Einige Dinge, die man im Hinterkopf behalten sollte, sind:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Sprach-bezogene einzelne Zeichensätze
|
||||||
|
(siehe &man.multibyte.3;), d.h. ISO_8859-1, KOI8-R, CP437.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Wide oder multibyte Kodierungen, d.h. EUC, Big5.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Eine aktuelle Liste der Zeichensätze ist
|
||||||
|
verfügbar in der
|
||||||
|
<ulink
|
||||||
|
url="ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets">IANA Registry</ulink>.</para>
|
||||||
|
</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ötigte Sprache nicht immer
|
||||||
|
unterstützt wird.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 id="setting-locale">
|
||||||
|
<title>Einstellen der Locale</title>
|
||||||
|
|
||||||
|
<para>Theoretisch muß man nur den Wert der
|
||||||
|
<envar>LANG</envar> variable in der Loginshell setzen, was
|
||||||
|
normalerweise in der <filename>~/.login_conf</filename> des
|
||||||
|
users oder in der Login-Shell-Konfiguration
|
||||||
|
configuration (<filename>~/.profile</filename>,
|
||||||
|
<filename>~/.bashrc</filename>, <filename>~/.cshrc</filename>)
|
||||||
|
passiert.
|
||||||
|
Dieses sollte alle spezielleren Variablen, wie
|
||||||
|
<envar>LC_CTYPE</envar>, <envar>LC_CTIME</envar> usw.,
|
||||||
|
setzen. Sie sollten sprach-bezogene FreeBSD Dokumentation
|
||||||
|
zu Rate ziehen, wenn Sie mehr Informationen wünschen.</para>
|
||||||
|
|
||||||
|
<para>Sie sollten die zwei folgenden Variablen in Ihren
|
||||||
|
Konfigurations-Dateien setzen:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><envar>LANG</envar> für Funktionen der
|
||||||
|
POSIX &man.setlocale.3; Familie</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><envar>MM_CHARSET</envar> für den MIME
|
||||||
|
Zeichensatz der Anwendungen</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Dieses schließt die Shell-Konfiguration, die
|
||||||
|
Konfiguration jeder Anwendung und die X11 Konfiguration ein.</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Einstellen der Locale - Methoden</title>
|
||||||
|
<!-- XXX HAE??? -->
|
||||||
|
|
||||||
|
<para>Es gibt zwei Wege, die Locale zu setzen, und beide
|
||||||
|
werden im Folgenden beschrieben.
|
||||||
|
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">Start-Dateien</link>
|
||||||
|
der Shell zu setzen.</para>
|
||||||
|
|
||||||
|
<sect4 id="login-class">
|
||||||
|
<title>Login Classes Method</title>
|
||||||
|
|
||||||
|
<para>This method allows environment variables needed for locale
|
||||||
|
name and MIME character sets to be assigned once for every
|
||||||
|
possible shell instead of adding specific shell assignments to
|
||||||
|
each shell's startup file. <link linkend="usr-setup">User
|
||||||
|
Level Setup</link> can be done by an user himself and <link
|
||||||
|
linkend="adm-setup">Administrator Level Setup</link> require
|
||||||
|
superuser privileges.</para>
|
||||||
|
|
||||||
|
<sect5 id="usr-setup">
|
||||||
|
<title>User Level Setup</title>
|
||||||
|
|
||||||
|
<para>Here is a minimal example of a
|
||||||
|
<filename>.login_conf</filename> file in user's home
|
||||||
|
directory which has both variables set for Latin-1
|
||||||
|
encoding:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
me:My Account:\
|
||||||
|
:charset=ISO-8859-1:\
|
||||||
|
:lang=de_DE.ISO_8859-1:</programlisting>
|
||||||
|
|
||||||
|
<para>See <link linkend="adm-setup">Administrator Level
|
||||||
|
Setup</link> and &man.login.conf.5; for more details.</para>
|
||||||
|
</sect5>
|
||||||
|
|
||||||
|
<sect5 id="adm-setup">
|
||||||
|
<title>Administrator Level Setup</title>
|
||||||
|
|
||||||
|
<para>Check that <filename>/etc/login.conf</filename> have the
|
||||||
|
correct language user's class. Make sure these settings
|
||||||
|
appear in <filename>/etc/login.conf</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<replaceable>language_name</replaceable>:<replaceable>accounts_title</replaceable>:\
|
||||||
|
:charset=<replaceable>MIME_charset</replaceable>:\
|
||||||
|
:lang=<replaceable>locale_name</replaceable>:\
|
||||||
|
:tc=default:</programlisting>
|
||||||
|
|
||||||
|
<para>So sticking with our previous example using Latin-1, it
|
||||||
|
would look like this:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
german:German Users Accounts:\
|
||||||
|
:charset=ISO-8859-1:\
|
||||||
|
:lang=de_DE.ISO_8859-1:\
|
||||||
|
:tc=default:</programlisting>
|
||||||
|
|
||||||
|
<para>Changing Login Classes with &man.vipw.8;</para>
|
||||||
|
|
||||||
|
<para>Use <command>vipw</command> to add new users, and make
|
||||||
|
the entry look like this:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
user:password:1111:11:<replaceable>language</replaceable>:0:0:User Name:/home/user:/bin/sh</programlisting>
|
||||||
|
|
||||||
|
<para>Changing Login Classes with &man.adduser.8;</para>
|
||||||
|
|
||||||
|
<para>Use <command>adduser</command> to add new users, and do
|
||||||
|
the following:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Set <literal>defaultclass =
|
||||||
|
<replaceable>language</replaceable></literal> in
|
||||||
|
<filename>/etc/adduser.conf</filename>. Keep in mind
|
||||||
|
you must enter a <literal>default</literal> class for
|
||||||
|
all users of other languages in this case.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>An alternative variant is answering the specified
|
||||||
|
language each time that
|
||||||
|
<screen><prompt>Enter login class: default []: </prompt></screen>
|
||||||
|
appears from &man.adduser.8;</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Another alternative is to use the following for each
|
||||||
|
user of a different language that you wish to
|
||||||
|
add:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>adduser -class <replaceable>language</replaceable></userinput></screen>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Changing Login Classes with &man.pw.8;</para>
|
||||||
|
|
||||||
|
<para>If you use &man.pw.8; for adding new users, call it in
|
||||||
|
this form:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>pw useradd <replaceable>user_name</replaceable> -L <replaceable>language</replaceable></userinput></screen>
|
||||||
|
</sect5>
|
||||||
|
</sect4>
|
||||||
|
|
||||||
|
<sect4 id="startup-file">
|
||||||
|
<title>Shell Startup File Method</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>This method is not recommended because it requires a
|
||||||
|
different setup for each possible login program chosen. Use
|
||||||
|
the <link linkend="login-class">Login Class Method</link>
|
||||||
|
instead.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>To add the locale name and MIME character set, just set
|
||||||
|
the two environment variables shown below in the
|
||||||
|
<filename>/etc/profile</filename> and/or
|
||||||
|
<filename>/etc/csh.login</filename> shell startup files. We
|
||||||
|
will use the German language as an example below:</para>
|
||||||
|
|
||||||
|
<para>In <filename>/etc/profile</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<envar>LANG=de_DE.ISO_8859-1; export LANG</envar>
|
||||||
|
<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting>
|
||||||
|
|
||||||
|
<para>Or in <filename>/etc/csh.login</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<envar>setenv LANG de_DE.ISO_8859-1</envar>
|
||||||
|
<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting>
|
||||||
|
|
||||||
|
<para>Alternatively, you can add the above instructions to
|
||||||
|
<filename>/usr/share/skel/dot.profile</filename> (similar to
|
||||||
|
what was used in <filename>/etc/profile</filename> above), or
|
||||||
|
<filename>/usr/share/skel/dot.login</filename> (similar to
|
||||||
|
what was used in <filename>/etc/csh.login</filename>
|
||||||
|
above).</para>
|
||||||
|
|
||||||
|
<para>For X11:</para>
|
||||||
|
|
||||||
|
<para>In <filename>$HOME/.xinitrc</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<envar>LANG=de_DE.ISO_8859-1; export LANG</envar></programlisting>
|
||||||
|
|
||||||
|
<para>Or:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<envar>setenv LANG de_DE.ISO_8859-1</envar></programlisting>
|
||||||
|
|
||||||
|
<para>Depending on your shell (see above).</para>
|
||||||
|
</sect4>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 id="setting-console">
|
||||||
|
<title>Console Setup</title>
|
||||||
|
|
||||||
|
<para>For all single C chars character sets, set the correct
|
||||||
|
console fonts in <filename>/etc/rc.conf</filename> for the
|
||||||
|
language in question with:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
font8x16=<replaceable>font_name</replaceable>
|
||||||
|
font8x14=<replaceable>font_name</replaceable>
|
||||||
|
font8x8=<replaceable>font_name</replaceable></programlisting>
|
||||||
|
|
||||||
|
<para>The <replaceable>font_name</replaceable> here is taken from
|
||||||
|
the <filename>/usr/share/syscons/fonts</filename> directory,
|
||||||
|
without the <filename>.fnt</filename> suffix.</para>
|
||||||
|
|
||||||
|
<para>Also be sure to set the correct keymap and screenmap for your
|
||||||
|
single C chars character set through
|
||||||
|
<filename>/stand/sysinstall</filename>.
|
||||||
|
Once inside sysinstall, choose <literal>Configure</literal>, then
|
||||||
|
<literal>Console</literal>. Alternatively, you can add the
|
||||||
|
following to <filename>/etc/rc.conf</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
scrnmap=<replaceable>screenmap_name</replaceable>
|
||||||
|
keymap=<replaceable>keymap_name</replaceable>
|
||||||
|
keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
|
||||||
|
|
||||||
|
<para>The <replaceable>screenmap_name</replaceable> here is taken
|
||||||
|
from the <filename>/usr/share/syscons/scrnmaps</filename>
|
||||||
|
directory, without the <filename>.scm</filename> suffix. A
|
||||||
|
screenmap with a corresponding mapped font is usually needed as a
|
||||||
|
workaround for expanding bit 8 to bit 9 on a VGA adapter's font
|
||||||
|
character matrix in pseudographics area, i.e., to move letters out
|
||||||
|
of that area if screen font uses a bit 8 column.</para>
|
||||||
|
|
||||||
|
<para>If you have the following settings, insert the
|
||||||
|
kernel config specified in the paragraph after the list.</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Console uses a screen font that utilizes 8-bit column font
|
||||||
|
character.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>The moused daemon is enabled by setting the following in
|
||||||
|
your <filename>/etc/rc.conf</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>moused_enable="YES"</programlisting>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>A workaround for expanding 8-bit to 9-bit on a VGA adapter
|
||||||
|
is usually needed for the above settings. This workaround
|
||||||
|
disables 8-bit to 9-bit expansion of the font character with the
|
||||||
|
mouse cursor the sc0 console driver. To enable the workaround,
|
||||||
|
insert the following line into the kernel config.</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
options SC_MOUSE_CHAR=0x03</programlisting>
|
||||||
|
|
||||||
|
<para>The <replaceable>keymap_name</replaceable> here is taken from
|
||||||
|
the <filename>/usr/share/syscons/keymaps</filename> directory,
|
||||||
|
without the <filename>.kbd</filename> suffix.</para>
|
||||||
|
|
||||||
|
<para>The <literal>keychange</literal> is usually needed to program
|
||||||
|
function keys to match the selected terminal type because
|
||||||
|
function key sequences can not be defined in the key map.</para>
|
||||||
|
|
||||||
|
<para>Also be sure to set the correct console terminal type in
|
||||||
|
<filename>/etc/ttys</filename> for all <literal>ttyv*</literal>
|
||||||
|
entries. Current pre-defined correspondences are:</para>
|
||||||
|
|
||||||
|
<informaltable frame="none">
|
||||||
|
<tgroup cols="2">
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry>Character Set</entry>
|
||||||
|
<entry>Terminal Type</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>ISO-8859-1 or ISO-8859-15</entry>
|
||||||
|
<entry><literal>cons25l1</literal></entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>ISO-8859-2</entry>
|
||||||
|
<entry><literal>cons25l2</literal></entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>KOI8-R</entry>
|
||||||
|
<entry><literal>cons25r</literal></entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>CP437 (hardware default)</entry>
|
||||||
|
<entry><literal>cons25</literal></entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
|
||||||
|
<para>For wide or multibyte characters languages, use the correct
|
||||||
|
FreeBSD port in your
|
||||||
|
<filename>/usr/ports/<replaceable>language</replaceable></filename>
|
||||||
|
directory. Some ports appear as console while the system sees it
|
||||||
|
as serial vtty's, hence you must reserve enough vtty's for both
|
||||||
|
X11 and the pseudo-serial console. Here is a partial list of
|
||||||
|
applications for using other languages in console:</para>
|
||||||
|
|
||||||
|
<informaltable frame="none">
|
||||||
|
<tgroup cols="2">
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry>Language</entry>
|
||||||
|
<entry>Location</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>Traditional Chinese (BIG-5)</entry>
|
||||||
|
<entry><filename>/usr/ports/chinese/big5con</filename></entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>Japanese</entry>
|
||||||
|
<entry><filename>/usr/ports/japanese/ja-kon2-*</filename> or
|
||||||
|
<filename>/usr/ports/japanese/Mule_Wnn</filename></entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>Korean</entry>
|
||||||
|
<entry><filename>/usr/ports/korean/ko-han</filename></entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>X11 Setup</title>
|
||||||
|
|
||||||
|
<para>Although X11 is not part of the FreeBSD Project, we have
|
||||||
|
included some information here for FreeBSD users. For more
|
||||||
|
details, refer to the <ulink url="http://www.xfree86.org/">XFree86
|
||||||
|
web site</ulink> or whichever X11 Server you use.</para>
|
||||||
|
|
||||||
|
<para>In <filename>~/.Xresources</filename>, you can additionally
|
||||||
|
tune application specific i18n settings (e.g., fonts, menus,
|
||||||
|
etc.).</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Displaying Fonts</title>
|
||||||
|
|
||||||
|
<para>Install the X11 True Type-Common server (XTT-common) and
|
||||||
|
install the language truetype fonts. Setting the correct
|
||||||
|
locale should allow you to view your selected language in menus
|
||||||
|
and such.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Inputting Non-English Characters</title>
|
||||||
|
|
||||||
|
<para>The X11 Input Method (XIM) Protocol is a new standard for
|
||||||
|
all X11 clients. All X11 applications should be written as XIM
|
||||||
|
clients that take input from XIM Input servers. There are
|
||||||
|
several XIM servers available for different languages.</para>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Printer Setup</title>
|
||||||
|
|
||||||
|
<para>Some single C chars character sets are usually hardware
|
||||||
|
coded into printers. Wide or multibyte
|
||||||
|
character sets require special setup and we recommend using
|
||||||
|
<application>apsfilter</application>. You may also convert the
|
||||||
|
document to Postscript or PDF formats using language specific
|
||||||
|
converters.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Kernel and File Systems</title>
|
||||||
|
|
||||||
|
<para>The FreeBSD FFS filesystem is 8-bit clean, so it can be used
|
||||||
|
with any single C chars character set (see &man.multibyte.3;),
|
||||||
|
but there is no character set
|
||||||
|
name stored in the filesystem; i.e., it is raw 8-bit and does not
|
||||||
|
know anything about encoding order. Officially, FFS does not
|
||||||
|
support any form of wide or multibyte character sets yet. However, some
|
||||||
|
wide or multibyte character sets have independent patches for FFS
|
||||||
|
enabling such support. They are only temporary unportable
|
||||||
|
solutions or hacks and we have decided to not include them in the
|
||||||
|
source tree. Refer to respective languages' web sites for more
|
||||||
|
informations and the patch files.</para>
|
||||||
|
|
||||||
|
<para>The FreeBSD MS-DOS filesystem has the configurable ability to
|
||||||
|
convert between MS-DOS, Unicode character sets and chosen
|
||||||
|
FreeBSD filesystem character sets. See &man.mount.msdos.8; for
|
||||||
|
details.</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Advanced Topics</title>
|
||||||
|
|
||||||
|
<para>If you wish to compile i18n applications or program i18n
|
||||||
|
compliant applications, please read this section.</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Compiling i18n Programs</title>
|
||||||
|
|
||||||
|
<para>Many FreeBSD Ports have been ported with i18n support. Some
|
||||||
|
of them are marked with -i18n in the port name. These and many
|
||||||
|
other programs have built in support for i18n and need no special
|
||||||
|
consideration.</para>
|
||||||
|
|
||||||
|
<para>However, some applications such as MySQL need to be have the
|
||||||
|
<filename>Makefile</filename> configured with the specific
|
||||||
|
charset. This is usually done in the
|
||||||
|
<filename>Makefile</filename> or done by passing a value to
|
||||||
|
configure in the source.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Programming i18n Compliant Applications</title>
|
||||||
|
|
||||||
|
<para>To make your application more useful for speakers of other
|
||||||
|
languages, we hope that you will program i18n compliant. The GNU
|
||||||
|
gcc compiler, GUI Libraries like QT and GTK support i18n through
|
||||||
|
special handling of strings. Making a program i18n compliant is
|
||||||
|
very easy. It allows contributors to port your application to
|
||||||
|
other languages quickly. Refer to library specific i18n
|
||||||
|
documentation for more details.</para>
|
||||||
|
|
||||||
|
<para>To the contrary of common perception, i18n compliant code is
|
||||||
|
easy to write. Usually, it only involves wrapping your strings
|
||||||
|
with library specific functions. In addition, please be sure to
|
||||||
|
allow for wide or multibyte characters support.</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>A Call to Unify the i18n effort</title>
|
||||||
|
|
||||||
|
<para>It has come to our attention that the individual i18n/l10n
|
||||||
|
efforts for each country has been repeating each others'
|
||||||
|
efforts. Many of us have been reinventing the wheel repeatedly
|
||||||
|
and inefficiently. We hope that the various major groups in
|
||||||
|
i18n could congregate into a group effort similar to the Core
|
||||||
|
Team's responsibility.</para>
|
||||||
|
|
||||||
|
<para>Currently, we hope that, when you write or port i18n
|
||||||
|
programs, you would send it out to each country's related
|
||||||
|
FreeBSD mailing lists for testing. In the future, we hope to
|
||||||
|
create applications that work in all the languages
|
||||||
|
out-of-the-box without dirty hacks.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Perl and Python</title>
|
||||||
|
|
||||||
|
<para>Perl and Python have i18n and wide characters handling
|
||||||
|
libraries. Please use them for i18n compliance.</para>
|
||||||
|
|
||||||
|
<para>In older FreeBSD versions,
|
||||||
|
Perl may gives warning about not having a wide characters locale
|
||||||
|
that is already installed in your system. You can set the
|
||||||
|
environmental variable <envar>LD_PRELOAD</envar> to
|
||||||
|
<filename>/usr/lib/libxpg4.so</filename> in your shell.</para>
|
||||||
|
|
||||||
|
<para>In <literal>sh</literal>-based shells:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<envar>LD_PRELOAD=/usr/lib/libxpg4.so</envar></programlisting>
|
||||||
|
|
||||||
|
<para>In <literal>C</literal>-based shells:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
<envar>setenv LD_PRELOAD /usr/lib/libxpg4.so</envar></programlisting>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="lang-setup">
|
||||||
|
<title>Localizing FreeBSD to Specific Languages</title>
|
||||||
|
|
||||||
|
<sect2 id="ru-localize">
|
||||||
|
<title>Russian Language (KOI8-R encoding)</title>
|
||||||
|
|
||||||
|
<para><emphasis>Originally contributed by
|
||||||
|
&a.ache;.</emphasis></para>
|
||||||
|
|
||||||
|
<para>For more information about KOI8-R encoding, see the <ulink
|
||||||
|
url="http://nagual.pp.ru/~ache/koi8.html">KOI8-R References
|
||||||
|
(Russian Net Character Set)</ulink>.</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Locale Setup</title>
|
||||||
|
|
||||||
|
<para>Put the following lines into your
|
||||||
|
<filename>~/.login_conf</filename> file:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
me:My Account:\
|
||||||
|
:charset=KOI8-R:\
|
||||||
|
:lang=ru_RU.KOI8-R:</programlisting>
|
||||||
|
|
||||||
|
<para>See earlier in this chapter for examples of setting up the
|
||||||
|
<link linkend="setting-locale">locale</link>.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Console Setup</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Add the following to your kernel configuration
|
||||||
|
file:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
options SC_MOUSE_CHAR=0x03</programlisting>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Use following settings in
|
||||||
|
<filename>/etc/rc.conf</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
keymap="ru.koi8-r"
|
||||||
|
keychange="61 ^[[K"
|
||||||
|
scrnmap="koi8-r2cp866"
|
||||||
|
font8x16="cp866b-8x16"
|
||||||
|
font8x14="cp866-8x14"
|
||||||
|
font8x8="cp866-8x8"</programlisting>
|
||||||
|
|
||||||
|
<para>Note that the <literal>^[</literal> here stands for a
|
||||||
|
real Escape character (\033) entered directly in
|
||||||
|
<filename>/etc/rc.conf</filename>, not for sequence of two
|
||||||
|
characters '^' and '['.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>For each <literal>ttyv*</literal> entry in
|
||||||
|
<filename>/etc/ttys</filename>, use
|
||||||
|
<literal>cons25r</literal> as the terminal type.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>See earlier in this chapter for examples of setting up the
|
||||||
|
<link linkend="setting-console">console</link>.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Printer Setup</title>
|
||||||
|
|
||||||
|
<para>Since most printers with Russian characters come with
|
||||||
|
hardware code page CP866, a special output filter is needed for
|
||||||
|
KOI8-R -> CP866 conversion. Such a filter is installed by
|
||||||
|
default as <filename>/usr/libexec/lpr/ru/koi2alt</filename>.
|
||||||
|
A Russian printer <filename>/etc/printcap</filename> entry
|
||||||
|
should look like:</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>See &man.printcap.5; for a detailed description.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>MS-DOS FS and Russian Filenames</title>
|
||||||
|
|
||||||
|
<para>The following example &man.fstab.5; entry enables support
|
||||||
|
for Russian filenames in mounted MS-DOS filesystems:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
/dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0</programlisting>
|
||||||
|
|
||||||
|
<para>See &man.mount.msdos.8; for a detailed description of the
|
||||||
|
<option>-W</option> and <option>-L</option> options.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>X11 Setup</title>
|
||||||
|
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Do <link linkend="setting-locale">non-X locale
|
||||||
|
setup</link> first as described.</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para><anchor id="russian-note">The Russian KOI8-R locale
|
||||||
|
may not work with old XFree86 releases (lower than 3.3).
|
||||||
|
The XFree86 port from
|
||||||
|
<filename>/usr/ports/x11/XFree86</filename> already is the
|
||||||
|
most recent XFree86 version, so it will work if you
|
||||||
|
install XFree86 from the port. This should not be an
|
||||||
|
issue unless you are using an old version of
|
||||||
|
FreeBSD.</para>
|
||||||
|
</note>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Go to the
|
||||||
|
<filename>/usr/ports/russian/X.language</filename> directory
|
||||||
|
and issue the following command:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>make install</userinput></screen>
|
||||||
|
|
||||||
|
<para>The above port installs the latest version of the KOI8-R
|
||||||
|
fonts. XFree86 3.3 already has some KOI8-R fonts, but these
|
||||||
|
are scaled better.</para>
|
||||||
|
|
||||||
|
<para>Check the <literal>"Files"</literal> section
|
||||||
|
in your <filename>/etc/XF86Config</filename> file.
|
||||||
|
The following
|
||||||
|
lines must be added <emphasis>before</emphasis> any other
|
||||||
|
<literal>FontPath</literal> entries:</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>If you use a high resolution video mode, swap the 75 dpi
|
||||||
|
and 100 dpi lines.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>To activate a Russian keyboard, add the following to the
|
||||||
|
<literal>"Keyboard"</literal> section of your
|
||||||
|
<filename>XF86Config</filename> file:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
XkbLayout "ru"
|
||||||
|
XkbOptions "grp:caps_toggle"</programlisting>
|
||||||
|
|
||||||
|
<para>Also make sure that <literal>XkbDisable</literal> is
|
||||||
|
turned off (commented out) there.</para>
|
||||||
|
|
||||||
|
<para>The RUS/LAT switch will be <literal>CapsLock</literal>.
|
||||||
|
The old <literal>CapsLock</literal> function is still
|
||||||
|
available via <literal>Shift+CapsLock</literal> (in LAT mode
|
||||||
|
only).</para>
|
||||||
|
|
||||||
|
<para>If you have <quote>Windows</quote> keys on your keyboard,
|
||||||
|
and notice that some non-alphabetical keys are mapped
|
||||||
|
incorrectly in RUS mode, add the following line in your
|
||||||
|
<filename>XF86Config</filename> file:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
XkbVariant "winkeys"</programlisting>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>The Russian XKB keyboard may not work with old XFree86
|
||||||
|
versions, see the <link linkend="russian-note">above
|
||||||
|
note</link> for more information. The Russian XKB
|
||||||
|
keyboard may also not work with non-localized
|
||||||
|
applications as well. Minimally localized applications
|
||||||
|
should call a <literal>XtSetLanguageProc (NULL, NULL,
|
||||||
|
NULL);</literal> function early in the program.
|
||||||
|
See <ulink
|
||||||
|
url="http://nagual.pp.ru/~ache/koi8/xwin.html">
|
||||||
|
KOI8-R for X-Window</ulink> for more instructions on
|
||||||
|
localizing X11 applications.</para>
|
||||||
|
</note>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Traditional Chinese Localization for Taiwan</title>
|
||||||
|
|
||||||
|
<para>The FreeBSD-Taiwan Project has an i18n/l10n tutorial for
|
||||||
|
FreeBSD at <ulink url="http://freebsd.sinica.edu.tw/~ncvs/zh-l10n-tut/index.html">http://freebsd.sinica.edu.tw/~ncvs/zh-l10n-tut/index.html</ulink>
|
||||||
|
using many <filename>/usr/ports/chinese/*</filename> applications.
|
||||||
|
The editor for the <literal>zh-l10n-tut</literal> is Clive Lin
|
||||||
|
<email>Clive@CirX.org</email>. You can also cvsup the following
|
||||||
|
collections at <hostid
|
||||||
|
role="fqdn">freebsd.sinica.edu.tw</hostid>:</para>
|
||||||
|
|
||||||
|
<informaltable frame="none">
|
||||||
|
<tgroup cols="2">
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry>Collection</entry>
|
||||||
|
<entry>Description</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>outta-port tag=.</entry>
|
||||||
|
<entry>Beta-quality Ports Collection for Chinese</entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>zh-l10n-tut tag=.</entry>
|
||||||
|
<entry>Localizing FreeBSD Tutorial in BIG-5 Traditional
|
||||||
|
Chinese</entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>zh-doc tag=.</entry>
|
||||||
|
<entry>FreeBSD Documentation Translation to BIG-5 Traditional
|
||||||
|
Chinese</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
|
||||||
|
<para>Chuan-Hsing Shen <email>s874070@mail.yzu.edu.tw</email> has
|
||||||
|
created the <ulink url="http://cnpa.yzu.edu.tw/~cfc/">Chinese
|
||||||
|
FreeBSD Collection (CFC)</ulink> using FreeBSD-Taiwan's
|
||||||
|
<literal>zh-l10n-tut</literal>. The packages and the script files
|
||||||
|
are available at <ulink url="ftp://ftp.csie.ncu.edu.tw/OS/FreeBSD/taiwan/CFC/">ftp://ftp.csie.ncu.edu.tw/OS/FreeBSD/taiwan/CFC/</ulink>.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>German Language Localization (For All ISO 8859-1
|
||||||
|
Languages)</title>
|
||||||
|
|
||||||
|
<para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> wrote a
|
||||||
|
tutorial how to use umlauts on a FreeBSD machine. The tutorial
|
||||||
|
is written in German and available at <ulink
|
||||||
|
url="http://www.de.FreeBSD.org/de/umlaute/">http://www.de.FreeBSD.org/de/umlaute/</ulink>.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Japanese and Korean Language Localization</title>
|
||||||
|
|
||||||
|
<para>For Japanese, refer to <ulink
|
||||||
|
url="http://www.jp.FreeBSD.org/">http://www.jp.FreeBSD.org/</ulink>,
|
||||||
|
and for Korean, refer to <ulink
|
||||||
|
url="http://www.kr.FreeBSD.org/">http://www.kr.FreeBSD.org/</ulink>.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Non-English FreeBSD Documentation</title>
|
||||||
|
|
||||||
|
<para>Some FreeBSD contributors have translated parts of FreeBSD to
|
||||||
|
other languages. They are available through links on the <ulink
|
||||||
|
url="../">main site</ulink> or in
|
||||||
|
<filename>/usr/share/doc</filename>.</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
Loading…
Reference in a new issue