Date: Sun, 17 Feb 2013 17:49:08 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r41000 - head/en_US.ISO8859-1/books/handbook/l10n Message-ID: <201302171749.r1HHn8YI015057@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302171749.r1HHn8YI015057>