svn commit: r41000 - head/en_US.ISO8859-1/books/handbook/l10n
Dru Lavigne
dru at FreeBSD.org
Sun Feb 17 17:49:08 UTC 2013
Author: dru
Date: Sun Feb 17 17:49:08 2013
New Revision: 41000
URL: http://svnweb.freebsd.org/changeset/doc/41000
Log:
Initial content fix. This patch addresses the following:
- &os;, etc. i.e., e.g., you
- xref and directory tags
- fixes acronym tags and i18n/L10n
- fixes grammos and clarifies some areas
- removes -W as this is deprecated
- removes CFC which no longer exists
Approved by: gjb (mentor)
Modified:
head/en_US.ISO8859-1/books/handbook/l10n/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/l10n/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/l10n/chapter.xml Sun Feb 17 17:41:05 2013 (r40999)
+++ head/en_US.ISO8859-1/books/handbook/l10n/chapter.xml Sun Feb 17 17:49:08 2013 (r41000)
@@ -24,38 +24,51 @@
</authorgroup>
</chapterinfo>
- <title>Localization - I18N/L10N Usage and Setup</title>
+ <title>Localization -
+ <acronym>i18n</acronym>/<acronym>L10n</acronym> Usage and
+ Setup</title>
<sect1 id="l10n-synopsis">
<title>Synopsis</title>
- <para>FreeBSD is a very distributed project with users and
- contributors located all over the world. This chapter discusses
- the internationalization and localization features of FreeBSD
- that allow non-English speaking users to get real work done.
- There are many aspects of the i18n implementation in both the
- system and application levels, so where applicable we refer
- the reader to more specific sources of documentation.</para>
+ <para>&os; is a distributed project with users and contributors
+ located all over the world. This chapter discusses the
+ internationalization and localization features of &os; that
+ allow non-English speaking users to get real work done. Since
+ there are many aspects of the <acronym>i18n</acronym>
+ implementation in both the system and application levels, more
+ specific sources of documentation are referred to, where
+ applicable.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
- <listitem><para>How different languages and locales are encoded
- on modern operating systems.</para></listitem>
- <listitem><para>How to set the locale for your login
- shell.</para></listitem>
- <listitem><para>How to configure your console for non-English
- languages.</para></listitem>
- <listitem><para>How to use X Window System effectively with
- different languages.</para></listitem>
- <listitem><para>Where to find more information about writing
- i18n-compliant applications.</para></listitem>
+ <listitem>
+ <para>How different languages and locales are encoded on
+ modern operating systems.</para>
+ </listitem>
+ <listitem>
+ <para>How to set the locale for a login shell.</para>
+ </listitem>
+ <listitem>
+ <para>How to configure the console for non-English
+ languages.</para>
+ </listitem>
+ <listitem>
+ <para>How to use <application>Xorg</application>effectively
+ with different languages.</para>
+ </listitem>
+ <listitem>
+ <para>Where to find more information about writing
+ <acronym>i18n</acronym>-compliant applications.</para>
+ </listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
- <listitem><para>Know how to install additional third-party
- applications (<xref linkend="ports"/>).</para></listitem>
+ <listitem><para>Know how to <link linkend="ports">install
+ additional third-party
+ applications</link>.</para></listitem>
</itemizedlist>
</sect1>
@@ -63,7 +76,8 @@
<title>The Basics</title>
<sect2>
- <title>What Is I18N/L10N?</title>
+ <title>What Is
+ <acronym>i18n</acronym>/<acronym>L10n</acronym>?</title>
<indexterm>
<primary>internationalization</primary>
@@ -71,44 +85,45 @@
</indexterm>
<indexterm><primary>localization</primary></indexterm>
- <para>Developers shortened internationalization into the term
- I18N, counting the number of letters between the first and
- the last letters of internationalization. L10N uses the
+ <para>The term internationalization has been shortened to
+ <acronym>i18n</acronym>, which represents the number of
+ letters between the first and the last letters of
+ internationalization. <acronym>L10n</acronym> uses the
same naming scheme, coming from <quote>localization</quote>.
- Combined together, I18N/L10N methods, protocols, and
- applications allow users to use languages of their
- choice.</para>
+ Combined together,
+ <acronym>i18n</acronym>/<acronym>L10n</acronym> methods,
+ protocols, and applications allow users to use languages of
+ their choice.</para>
- <para>I18N applications are programmed using I18N kits under
- libraries. It allows for developers to write a simple file
- and translate displayed menus and texts to each language.
- We strongly encourage programmers to follow this
- convention.</para>
+ <para><acronym>i18n</acronym> applications are programmed using
+ <acronym>i18n</acronym> kits under libraries. These allow
+ developers to write a simple file and translate displayed
+ menus and texts to each language.</para>
</sect2>
<sect2>
- <title>Why Should I Use I18N/L10N?</title>
+ <title>Why Use
+ <acronym>i18n</acronym>/<acronym>L10n</acronym>?</title>
- <para>I18N/L10N is used whenever you wish to either view,
- input, or process data in non-English languages.</para>
+ <para>Using <acronym>i18n</acronym>/<acronym>L10n</acronym>
+ allows a user to view, input, or process data in non-English
+ languages.</para>
</sect2>
<sect2>
- <title>What Languages Are Supported in the I18N Effort?</title>
+ <title>Which Languages Are Supported?</title>
- <para>I18N and L10N are not FreeBSD specific. Currently, one
- can choose from most of the major languages of the World,
- including but not limited to: Chinese, German, Japanese,
- Korean, French, Russian, Vietnamese and others.</para>
+ <para><acronym>i18n</acronym> and <acronym>L10n</acronym> are
+ not &os; specific. Currently, one can choose from most of the
+ major languages, including but not limited to: Chinese,
+ German, Japanese, Korean, French, Russian, and
+ Vietnamese.</para>
</sect2>
</sect1>
<sect1 id="using-localization">
<title>Using Localization</title>
- <para>In all its splendor, I18N is not FreeBSD-specific and is
- a convention. We encourage you to help FreeBSD in following
- this convention.</para>
<indexterm><primary>locale</primary></indexterm>
<para>Localization settings are based on three main terms:
@@ -123,14 +138,11 @@
<indexterm><primary>language codes</primary></indexterm>
<indexterm><primary>country codes</primary></indexterm>
- <para>In order to localize a FreeBSD system to a specific
- language (or any other I18N-supporting &unix; like systems),
- the user needs to find out the codes for the specific country
- and language (country codes tell applications what variation
- of given language to use). In addition, web browsers,
- SMTP/POP servers, web servers, etc. make decisions based on
- them. The following are examples of language/country
- codes:</para>
+ <para>In order to localize a &os; system to a specific language,
+ the user needs to determine the codes for the specific country
+ and language as the country code tells applications which
+ variation of the given language to use. The following are
+ examples of language/country codes:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
@@ -174,54 +186,51 @@
<indexterm><primary>ASCII</primary></indexterm>
<para>Some languages use non-ASCII encodings that are 8-bit,
- wide or multibyte characters, see &man.multibyte.3; for more
- details. Older applications do not recognize them and mistake
- them for control characters. Newer applications usually do
- recognize 8-bit characters. Depending on the implementation,
- users may be required to compile an application with wide or
- multibyte characters support, or configure it correctly.
- To be able to input and process wide or multibyte characters,
- the <ulink
- url="&url.base;/ports/index.html">FreeBSD Ports
- Collection</ulink> has provided each language with different
- programs. Refer to the I18N documentation in the respective
- FreeBSD Port.</para>
+ wide, or multibyte characters. For more information on these
+ encodings, refer to &man.multibyte.3;. Older applications do
+ not recognize these encodings and mistake them for control
+ characters. Newer applications usually recognize 8-bit
+ characters. Depending on the implementation, users may be
+ required to compile an application with wide or multibyte
+ character support, or configure it correctly. To provide
+ application support for wide or multibyte characters, the
+ <ulink url="&url.base;/ports/index.html">&os; Ports
+ Collection</ulink> contains programs for several languages.
+ Refer to the <acronym>i18n</acronym> documentation in the
+ respective &os; port.</para>
<para>Specifically, the user needs to look at the application
- documentation to decide on how to configure it correctly or
- to pass correct values into the
- configure/Makefile/compiler.</para>
+ documentation to decide how to configure it correctly or to
+ determine which compile options to use when building the
+ port.</para>
<para>Some things to keep in mind are:</para>
<itemizedlist>
<listitem>
<para>Language specific single C chars character sets
- (see &man.multibyte.3;), e.g. ISO8859-1, ISO8859-15,
- KOI8-R, CP437.</para>
+ such as ISO8859-1, ISO8859-15, KOI8-R, and CP437. These
+ are described in &man.multibyte.3;.</para>
</listitem>
<listitem>
- <para>Wide or multibyte encodings, e.g., EUC, Big5.</para>
+ <para>Wide or multibyte encodings such as EUC and
+ Big5.</para>
</listitem>
</itemizedlist>
- <para>You can check the active list of character sets at the
+ <para>The active list of character sets can be found at the
<ulink
- url="http://www.iana.org/assignments/character-sets">IANA Registry</ulink>.</para>
+ url="http://www.iana.org/assignments/character-sets">IANA
+ Registry</ulink>.</para>
<note>
- <para>&os; uses X11-compatible locale encodings
+ <para>&os; uses Xorg-compatible locale encodings
instead.</para>
</note>
- </sect2>
-
- <sect2>
- <title>I18N Applications</title>
-
- <para>In the FreeBSD Ports and Package system, I18N applications
- have been named with <literal>I18N</literal> in their names
+ <para>In the &os; Ports Collection, <acronym>i18n</acronym>
+ applications include <literal>i18n</literal> in their names
for easy identification. However, they do not always support
the language needed.</para>
</sect2>
@@ -232,16 +241,16 @@
<para>Usually it is sufficient to export the value of the
locale name as <envar>LANG</envar> in the login shell. This
could be done in the user's <filename>~/.login_conf</filename>
- file or in the startup file of the user's shell
+ or in the startup file of the user's shell:
(<filename>~/.profile</filename>,
- <filename>~/.bashrc</filename>,
+ <filename>~/.bashrc</filename>, or
<filename>~/.cshrc</filename>). There is no need to set the
- locale subsets such as <envar>LC_CTYPE</envar>,
- <envar>LC_CTIME</envar>. Please refer to language-specific
- FreeBSD documentation for more information.</para>
+ locale subsets such as <envar>LC_CTYPE</envar> or
+ <envar>LC_CTIME</envar>. Refer to language-specific &os;
+ documentation for more information.</para>
- <para>You should set the following two environment variables
- in your configuration files:</para>
+ <para>Each user should set the following two environment
+ variables in their configuration files:</para>
<itemizedlist>
<indexterm><primary>POSIX</primary></indexterm>
@@ -258,8 +267,9 @@
</listitem>
</itemizedlist>
- <para>This includes the user shell configuration, the specific
- application configuration, and the X11 configuration.</para>
+ <para>These should be set in the user's shell configuration, the
+ specific application configuration, and the
+ <application>Xorg</application> configuration.</para>
<sect3>
<title>Setting Locale Methods</title>
@@ -267,13 +277,13 @@
<indexterm><primary>locale</primary></indexterm>
<indexterm><primary>login class</primary></indexterm>
- <para>There are two methods for setting locale, and both are
- described below. The first (recommended one) is by
- assigning the environment variables in
- <link linkend="login-class">login class</link>, and the
- second is by adding the environment variable assignments
- to the system's shell
- <link linkend="startup-file">startup file</link>.</para>
+ <para>This section describes the two methods for setting
+ locale. The first is recommended and assigns the
+ environment variables in the <link
+ linkend="login-class">login class</link>. The second
+ method adds the environment variable assignments to the
+ system's shell <link linkend="startup-file">startup
+ file</link>.</para>
<sect4 id="login-class">
<title>Login Classes Method</title>
@@ -281,19 +291,19 @@
<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>
+ assignments to each shell's startup file. <link
+ linkend="usr-setup">User Level Setup</link> can be
+ performed by each user while <link
+ linkend="adm-setup">Administrator Level Setup</link>
+ requires 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>
+ <para>This provides a minimal example of a
+ <filename>.login_conf</filename> located in a user's
+ home directory which has both variables set for the
+ Latin-1 encoding:</para>
<programlisting>me:\
:charset=ISO-8859-1:\
@@ -301,11 +311,11 @@
<indexterm><primary>Traditional Chinese</primary>
<secondary>BIG-5 encoding</secondary></indexterm>
- <para>Here is an example of a
+ <para>Here is an example of a user's
<filename>.login_conf</filename> that sets the variables
- for Traditional Chinese in BIG-5 encoding. Notice the
- many more variables set because some software does not
- respect locale variables correctly for Chinese,
+ for Traditional Chinese in BIG-5 encoding. More
+ variables are set because some applications do not
+ correctly respect locale variables for Chinese,
Japanese, and Korean.</para>
<programlisting>#Users who do not wish to use monetary units or time formats
@@ -332,39 +342,35 @@ me:\
<para>Verify that the user's login class in
<filename>/etc/login.conf</filename> sets the correct
- language. Make sure these settings
- appear in <filename>/etc/login.conf</filename>:</para>
+ language:</para>
<programlisting><replaceable>language_name</replaceable>|<replaceable>Account Type Description</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>
+ <para>The previous Latin-1 example would look like
+ this:</para>
<programlisting>german|German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:</programlisting>
- <para>Before changing users Login Classes execute
- the following command:</para>
+ <para>Whenever this file is edited, execute the following
+ command to update the capability database:</para>
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
- <para>to make new configuration in
- <filename>/etc/login.conf</filename> visible to the
- system.</para>
-
<bridgehead renderas="sect4">Changing Login Classes with
&man.vipw.8;</bridgehead>
<indexterm>
<primary><command>vipw</command></primary>
</indexterm>
- <para>Use <command>vipw</command> to add new users, and
- make the entry look like this:</para>
+ <para>When using <command>vipw</command> to add new users,
+ use <replaceable>language</replaceable> to set the
+ language:</para>
<programlisting>user:password:1111:11:<replaceable>language</replaceable>:0:0:User Name:/home/user:/bin/sh</programlisting>
@@ -375,32 +381,32 @@ me:\
<primary><command>adduser</command></primary>
</indexterm>
<indexterm><primary>login class</primary></indexterm>
- <para>Use <command>adduser</command> to add new users,
- and do the following:</para>
+ <para>When using <command>adduser</command> to add new
+ users, configure the language as follows:</para>
<itemizedlist>
<listitem>
- <para>Set <literal>defaultclass =
+ <para>If all new users use the same language, 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>
+ <filename>/etc/adduser.conf</filename>.</para>
</listitem>
<listitem>
- <para>An alternative variant is answering the
- specified language each time that
+ <para>Alternatively, input the specified language at
+ this prompt:
<screen><prompt>Enter login class: default []:</prompt></screen>
- appears from &man.adduser.8;.</para>
+ when creating a new user using
+ &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>
+ <para>Another alternative is to use the following
+ when creating a user that uses a different language
+ than the one set in
+ <filename>/etc/adduser.conf</filename>:</para>
<screen>&prompt.root; <userinput>adduser -class <replaceable>language</replaceable></userinput></screen>
</listitem>
@@ -411,7 +417,7 @@ me:\
<indexterm>
<primary><command>pw</command></primary>
</indexterm>
- <para>If you use &man.pw.8; for adding new users, call
+ <para>If &man.pw.8; is used to add new users, call
it in this form:</para>
<screen>&prompt.root; <userinput>pw useradd <replaceable>user_name</replaceable> -L <replaceable>language</replaceable></userinput></screen>
@@ -423,19 +429,18 @@ me:\
<note>
<para>This method is not recommended because it requires
- a different setup for each possible shell program
- chosen. Use the <link linkend="login-class">Login Class
- Method</link> instead.</para>
+ a different setup for each shell. Use the <link
+ linkend="login-class">Login Class Method</link>
+ instead.</para>
</note>
<indexterm><primary>MIME</primary></indexterm>
<indexterm><primary>locale</primary></indexterm>
- <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
+ <para>To add the locale name and MIME character set, set
+ the two environment variables shown below in the
+ <filename>/etc/profile</filename> or
<filename>/etc/csh.login</filename> shell startup files.
- We will use the German language as an example
- below:</para>
+ This example sets the German language:</para>
<para>In <filename>/etc/profile</filename>:</para>
@@ -447,25 +452,19 @@ me:\
<programlisting><envar>setenv LANG de_DE.ISO8859-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>
+ <para>Alternatively, add the above settings to
+ <filename>/usr/share/skel/dot.profile</filename> or
+ <filename>/usr/share/skel/dot.login</filename>.</para>
+
+ <para>To configure <application>Xorg</application>, add
+ <emphasis>one</emphasis> of the following to
+ <filename>~/.xinitrc</filename>, depending upon the
+ shell:</para>
<programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>
- <para>Or:</para>
-
<programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>
- <para>Depending on your shell (see above).</para>
-
</sect4>
</sect3>
</sect2>
@@ -481,73 +480,67 @@ me:\
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>The <replaceable>font_name</replaceable> is taken from
+ <filename
+ class="directory">/usr/share/syscons/fonts</filename>,
+ without the <filename>.fnt</filename> suffix.</para>
<indexterm>
<primary><application>sysinstall</application></primary>
</indexterm>
<indexterm><primary>keymap</primary></indexterm>
<indexterm><primary>screenmap</primary></indexterm>
- <para>If required, set the keymap and screenmap for your
- single C chars character set through
- <command>sysinstall</command>.
- Once inside <application>sysinstall</application>, choose
+ <para>The keymap and screenmap for the single C chars character
+ set can be set using <command>sysinstall</command>. Once
+ inside <application>sysinstall</application>, choose
<guimenuitem>Configure</guimenuitem>, then
- <guimenuitem>Console</guimenuitem>. Alternatively, you can
+ <guimenuitem>Console</guimenuitem>. Alternatively,
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,
+ <para>The <replaceable>screenmap_name</replaceable> is taken
+ from <filename
+ class="directory">/usr/share/syscons/scrnmaps</filename>,
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
+ font character matrix. This will move letters out of the
+ pseudographics area if the screen font uses a bit 8
column.</para>
- <para>If you have the <application>moused</application> daemon
- enabled by setting the following
- in your <filename>/etc/rc.conf</filename>:</para>
-
-<programlisting>moused_enable="YES"</programlisting>
-
- <para>then examine the mouse cursor information in the next
- paragraph.</para>
+ <para>If <application>moused</application> is enabled in
+ <filename>/etc/rc.conf</filename>, review the mouse cursor
+ information in the next paragraph.</para>
<indexterm>
<primary><application>moused</application></primary>
</indexterm>
- <para>By default the mouse cursor of the &man.syscons.4; driver
- occupies the 0xd0-0xd3 range in the character set. If your
- language uses this range, you need to move the cursor's range
- outside of it. To enable the workaround for &os;, add the
- following line to <filename>/etc/rc.conf</filename>:</para>
+ <para>By default, the mouse cursor of the &man.syscons.4; driver
+ occupies the 0xd0-0xd3 range in the character set. If the
+ language uses this range, move the cursor's range. To enable
+ this workaround for &os;, add the following line to
+ <filename>/etc/rc.conf</filename>:</para>
<programlisting>mousechar_start=3</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. If
- you are uncertain which keymap to use, you use can
- &man.kbdmap.1; to test keymaps without rebooting.</para>
+ <para>The <replaceable>keymap_name</replaceable> in the above
+ example is taken from <filename
+ class="directory">/usr/share/syscons/keymaps</filename>,
+ without the <filename>.kbd</filename> suffix. When uncertain
+ as to which keymap to use, &man.kbdmap.1; can be used to test
+ keymaps without rebooting.</para>
<para>The <literal>keychange</literal> is usually needed to
program function keys to match the selected terminal type
because function key sequences cannot 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>
+ <para>Be sure to set the correct console terminal type in
+ <filename>/etc/ttys</filename> for all virtual terminal
+ entries. Current pre-defined correspondences are:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
@@ -597,14 +590,14 @@ keychange="<replaceable>fkey_number sequ
</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>
+ <para>For languages with wide or multibyte characters, use the
+ correct &os; port in <filename
+ class="directory">/usr/ports/<replaceable>language</replaceable></filename>.
+ Some applications appear as serial terminals to the system.
+ Reserve enough terminals in <filename>/etc/ttys</filename>
+ for both <application>Xorg</application> and the pseudo-serial
+ console. Here is a partial list of applications for using
+ other languages in the console:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
@@ -641,87 +634,88 @@ keychange="<replaceable>fkey_number sequ
</sect2>
<sect2>
- <title>X11 Setup</title>
+ <title>Xorg 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.x.org/">&xorg;
- 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>
+ <para>Although <application>Xorg</application> is not installed
+ with &os;, it can be installed from the Ports Collection.
+ Refer to <link linkend="x11"></link> for more information on
+ how to do this. This section discusses how to localize
+ <application>Xorg</application> once it is installed.</para>
+
+ <para>Application specific <acronym>i18n</acronym> settings such
+ as fonts and menus can be tuned in
+ <filename>~/.Xresources</filename>.</para>
<sect3>
<title>Displaying Fonts</title>
- <indexterm><primary>X11 True Type font
+ <indexterm><primary>Xorg True Type font
server</primary></indexterm>
- <para>Install <application>&xorg;</application> server
- (<filename
- role="package">x11-servers/xorg-server</filename>),
- then install the language &truetype; fonts. Setting the
- correct locale should allow you to view your selected
- language in menus and such.</para>
+ <para>After installing <filename
+ role="package">x11-servers/xorg-server</filename>, install
+ the language's &truetype; fonts. Setting the correct locale
+ should allow users to view their selected language in
+ graphical application menus.</para>
</sect3>
<sect3>
<title>Inputting Non-English Characters</title>
- <indexterm><primary>X11 Input Method
+ <indexterm><primary>X Input Method
(XIM)</primary></indexterm>
- <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>
+
+ <para>The X Input Method (<acronym>XIM</acronym>) protocol
+ is an input standard for <application>Xorg</application>
+ clients. All <application>Xorg</application> 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
+ <para>Some single C chars character sets are hardware coded
+ into printers. Wide or multibyte character sets require
+ special setup using a utility such as
+ <application>apsfilter</application>. Documents can be
+ converted to &postscript; or PDF formats using language
specific converters.</para>
</sect2>
<sect2>
<title>Kernel and File Systems</title>
- <para>The FreeBSD fast filesystem (FFS) 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
+ <para>The &os; fast filesystem (<acronym>FFS</acronym>) is 8-bit
+ clean, so it can be used with any single C chars character
+ set. However, character set names are not stored in the
+ filesystem as it is raw 8-bit and does not understand encoding
+ order. Officially, <acronym>FFS</acronym> does not support
+ any form of wide or multibyte character sets. However, some
+ wide or multibyte character sets have independent patches for
+ enabling support on <acronym>FFS</acronym>. Refer to the
respective languages' web sites for more information and the
patch files.</para>
<indexterm><primary>DOS</primary></indexterm>
<indexterm><primary>Unicode</primary></indexterm>
- <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.msdosfs.8; for details.</para>
+ <para>&os;'s support for the &ms-dos; filesystem has the
+ configurable ability to convert between &ms-dos;, Unicode
+ character sets, and chosen &os; filesystem character sets.
+ Refer to &man.mount.msdosfs.8; for details.</para>
</sect2>
</sect1>
<sect1 id="l10n-compiling">
- <title>Compiling I18N Programs</title>
+ <title>Compiling <acronym>i18n</acronym> 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>Many applications in the &os; Ports Collection have been
+ ported with <acronym>i18n</acronym> support. Some of these
+ include <literal>-i18n</literal> in the port name. These
+ and many other programs have built in support for
+ <acronym>i18n</acronym> and need no special
+ consideration.</para>
<indexterm>
<primary><application>MySQL</application></primary>
@@ -729,13 +723,13 @@ keychange="<replaceable>fkey_number sequ
<para>However, some applications such as
<application>MySQL</application> need to have their
<filename>Makefile</filename> configured with the specific
- charset. This is usually done in the
- <filename>Makefile</filename> or done by passing a value to
+ charset. This is usually done in the port's
+ <filename>Makefile</filename> or by passing a value to
<application>configure</application> in the source.</para>
</sect1>
<sect1 id="lang-setup">
- <title>Localizing FreeBSD to Specific Languages</title>
+ <title>Localizing &os; to Specific Languages</title>
<sect2 id="ru-localize">
<sect2info>
@@ -754,22 +748,20 @@ keychange="<replaceable>fkey_number sequ
<secondary>Russian</secondary>
</indexterm>
- <para>For more information about KOI8-R encoding, see the
+ <para>For more information about KOI8-R encoding, refer to
<ulink url="http://koi8.pp.ru/">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>
+ <para>To set this locale, put the following lines into each
+ user's <filename>~/.login_conf</filename>:</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>
@@ -777,33 +769,24 @@ keychange="<replaceable>fkey_number sequ
<itemizedlist>
<listitem>
- <para>Add the following line
- to your <filename>/etc/rc.conf</filename> file:</para>
-
- <programlisting>mousechar_start=3</programlisting>
- </listitem>
-
- <listitem>
- <para>Also, use following settings in
+ <para>Add the following lines to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
-font8x8="cp866-8x8"</programlisting>
+font8x8="cp866-8x8"
+mousechar_start=3</programlisting>
</listitem>
<listitem>
- <para>For each <literal>ttyv*</literal> entry in
+ <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>
@@ -812,94 +795,89 @@ font8x8="cp866-8x8"</programlisting>
<indexterm><primary>printers</primary></indexterm>
<para>Since most printers with Russian characters come with
hardware code page CP866, a special output filter is needed
- to convert from KOI8-R to CP866. Such a filter is installed
- by default as
- <filename>/usr/libexec/lpr/ru/koi2alt</filename>. A
- Russian printer <filename>/etc/printcap</filename> entry
+ to convert from KOI8-R to CP866. &os; installs a default
+ filter 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>
+ <para>Refer to &man.printcap.5; for a more detailed
+ description.</para>
</sect3>
<sect3>
- <title>&ms-dos; FS and Russian Filenames</title>
+ <title>&ms-dos; 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,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting>
+ <programlisting>/dev/ad0s2 /dos/c msdos rw,-Lru_RU.KOI8-R 0 0</programlisting>
- <para>The option <option>-L</option> selects the locale name
- used, and <option>-W</option> sets the character conversion
- table. To use the <option>-W</option> option, be sure to
- mount <filename>/usr</filename> before the &ms-dos;
- partition because the conversion tables are located in
- <filename>/usr/libdata/msdosfs</filename>. For more
- information, see the &man.mount.msdosfs.8; manual
- page.</para>
+ <para><option>-L</option> selects the locale name. Refer to
+ &man.mount.msdosfs.8; for more details.</para>
</sect3>
<sect3>
- <title>X11 Setup</title>
+ <title><application>Xorg</application> Setup</title>
<orderedlist>
<listitem>
- <para>Do <link linkend="setting-locale">non-X locale
- setup</link> first as described.</para>
+ <para>First, configure the <link
+ linkend="setting-locale">non-X locale
+ setup</link>.</para>
</listitem>
<listitem>
- <para>If you use <application>&xorg;</application>,
- install <filename
+ <para>When using <application>&xorg;</application>,
+ install the <filename
role="package">x11-fonts/xorg-fonts-cyrillic</filename>
package.</para>
<para>Check the <literal>"Files"</literal> section in
- your <filename>/etc/X11/xorg.conf</filename> file. The
+ <filename>/etc/X11/xorg.conf</filename>. The
following line must be added <emphasis>before</emphasis>
any other <literal>FontPath</literal> entries:</para>
<programlisting>FontPath "/usr/local/lib/X11/fonts/cyrillic"</programlisting>
<note>
- <para>See ports for more cyrillic fonts.</para>
+ <para>Search the Ports Collection for more Cyrillic
+ fonts.</para>
</note>
</listitem>
<listitem>
<para>To activate a Russian keyboard, add the following
- to the <literal>"Keyboard"</literal> section of your
- <filename>xorg.conf</filename> file:</para>
+ to the <literal>"Keyboard"</literal> section of
+ <filename>/etc/xorg.conf</filename>:</para>
<programlisting>Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"</programlisting>
- <para>Also make sure that <literal>XkbDisable</literal> is
- turned off (commented out) there.</para>
+ <para>Make sure that <literal>XkbDisable</literal> is
+ commented out in that file.</para>
- <para>For <literal>grp:toggle</literal>
- the RUS/LAT switch will be <keycap>Right Alt</keycap>,
- for <literal>grp:ctrl_shift_toggle</literal> switch
- will be <keycombo
+ <para>For <literal>grp:toggle</literal> use <keycap>Right
+ Alt</keycap>, for
+ <literal>grp:ctrl_shift_toggle</literal> use <keycombo
action="simul"><keycap>Ctrl</keycap><keycap>Shift</keycap></keycombo>.
- For <literal>grp:caps_toggle</literal> the RUS/LAT
- switch will be <keycap>CapsLock</keycap>. The old
+ For <literal>grp:caps_toggle</literal> use
+ <keycap>CapsLock</keycap>. The old
<keycap>CapsLock</keycap> function is still available
- via <keycombo
- action="simul"><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo>
- (in LAT mode only). <literal>grp:caps_toggle</literal>
+ in LAT mode only using <keycombo
+ action="simul"><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo>.
+ <literal>grp:caps_toggle</literal>
does not work in <application>&xorg;</application> for
- unknown reason.</para>
+ some unknown reason.</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>xorg.conf</filename> file:</para>
+ <para>If the keyboard has <quote>&windows;</quote> keys,
+ and some non-alphabetical keys are mapped incorrectly,
+ add the following line to
+ <filename>/etc/xorg.conf</filename>:</para>
<programlisting>Option "XkbVariant" ",winkeys"</programlisting>
@@ -910,13 +888,14 @@ Option "XkbOptions" "grp:toggle"</progr
</listitem>
</orderedlist>
<note>
- <para>Minimally localized applications
- should call a <function>XtSetLanguageProc (NULL, NULL,
- NULL);</function> function early in the program.</para>
+ <para>Minimally localized applications should call a
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-head
mailing list