Date: Tue, 11 Feb 2014 14:59:29 +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: r43871 - head/en_US.ISO8859-1/books/handbook/l10n Message-ID: <201402111459.s1BExTVK038082@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Tue Feb 11 14:59:28 2014 New Revision: 43871 URL: http://svnweb.freebsd.org/changeset/doc/43871 Log: Initial pass at improving the flow and readability of this section. Several more commits to follow. Sponsored by: iXsystems 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 Tue Feb 11 12:50:19 2014 (r43870) +++ head/en_US.ISO8859-1/books/handbook/l10n/chapter.xml Tue Feb 11 14:59:28 2014 (r43871) @@ -101,29 +101,27 @@ <indexterm><primary>locale</primary></indexterm> - <para>Localization settings are based on three main terms: - Language Code, Country Code, and Encoding. Locale names are + <para>Localization settings are based on three components: + the language code, country code, and encoding. Locale names are constructed from these parts as follows:</para> <programlisting><replaceable>LanguageCode</replaceable>_<replaceable>CountryCode</replaceable>.<replaceable>Encoding</replaceable></programlisting> - <sect2> - <title>Language and Country Codes</title> - <indexterm><primary>language codes</primary></indexterm> <indexterm><primary>country codes</primary></indexterm> - <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> + <para>The <replaceable>LanguageCode</replaceable> and <replaceable>CountryCode</replaceable> are used + to determine the country + and the specific language + variation. <xref linkend="locale-lang-country"/> provides some + examples of <replaceable>LanguageCode</replaceable>_<replaceable>CountryCode</replaceable>:</para> - <informaltable frame="none" pgwide="1"> + <table xml:id="locale-lang-country" frame="none" pgwide="1"> + <title>Common Language and Country Codes</title> <tgroup cols="2"> <thead> <row> - <entry>Language/Country Code</entry> + <entry>LanguageCode_Country Code</entry> <entry>Description</entry> </row> </thead> @@ -131,86 +129,49 @@ <tbody> <row> <entry>en_US</entry> - <entry>English - United States</entry> + <entry>English, United States</entry> </row> <row> <entry>ru_RU</entry> - <entry>Russian for Russia</entry> + <entry>Russian, Russia</entry> </row> <row> <entry>zh_TW</entry> - <entry>Traditional Chinese for Taiwan</entry> + <entry>Traditional Chinese, Taiwan</entry> </row> </tbody> </tgroup> - </informaltable> - - <para>A complete listing of available locales can be found by - typing:</para> - - <screen>&prompt.user; <userinput>locale -a</userinput></screen> - </sect2> - - <sect2> - <title>Encodings</title> + </table> <indexterm><primary>encodings</primary></indexterm> <indexterm><primary>ASCII</primary></indexterm> - <para>Some languages use non-ASCII encodings that are 8-bit, - 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 + <para>Some languages, such as Chinese or Japanese, cannot be represented using ASCII characters + and require an extended language encoding using either + wide or multibyte characters. Older applications + may mistake these encodings for control + characters while 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 - <link xlink:href="&url.base;/ports/index.html">&os; Ports - Collection</link> 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 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 - such as ISO8859-1, ISO8859-15, KOI8-R, and CP437. These - are described in &man.multibyte.3;.</para> - </listitem> + character support, or configure it correctly. The rest of + this section describes the various methods for configuring the + locale on a &os; system. The next section will discuss the + considerations for finding or compiling applications with i18n + support.</para> - <listitem> - <para>Wide or multibyte encodings such as EUC and - Big5.</para> - </listitem> - </itemizedlist> - - <para>The active list of character sets can be found at the - <link - xlink:href="http://www.iana.org/assignments/character-sets">IANA - Registry</link>.</para> + <para>A complete listing of available locales can be found by + typing:</para> - <note> - <para>&os; uses Xorg-compatible locale encodings - instead.</para> - </note> - - <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> + <screen>&prompt.user; <userinput>locale -a | more</userinput></screen> + + <para>To determine the current locale setting:</para> + + <screen>&prompt.user; <userinput>locale</userinput></screen> <sect2 xml:id="setting-locale"> - <title>Setting Locale</title> + <title>Setting Locale for Login Shell</title> <para>Usually it is sufficient to export the value of the locale name as <envar>LANG</envar> in the login shell. This @@ -246,9 +207,6 @@ specific application configuration, and the <application>Xorg</application> configuration.</para> - <sect3> - <title>Setting Locale Methods</title> - <indexterm><primary>locale</primary></indexterm> <indexterm><primary>login class</primary></indexterm> @@ -260,25 +218,20 @@ system's shell <link linkend="startup-file">startup file</link>.</para> - <sect4 xml:id="login-class"> + <sect3 xml: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 - performed by each user while - <link linkend="adm-setup">Administrator Level Setup</link> - requires superuser privileges.</para> - - <sect5 xml:id="usr-setup"> - <title>User Level Setup</title> - - <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> + <para>This method assigns the required environment variables for + locale name and MIME character sets + for every possible shell. + This setup can be either be + performed by each user or it can be performed for all users by the + superuser.</para> + + <para>This minimal example sets both variables for the + Latin-1 encoding. These lines were added to the + <filename>.login_conf</filename> in an individual user's + home directory:</para> <programlisting>me:\ :charset=ISO-8859-1:\ @@ -291,7 +244,7 @@ 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> + Japanese, and Korean:</para> <programlisting>#Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable @@ -307,16 +260,11 @@ me:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server</programlisting> - <para>See <link linkend="adm-setup">Administrator Level - Setup</link> and &man.login.conf.5; for more + <para>See &man.login.conf.5; for more details.</para> - </sect5> - - <sect5 xml:id="adm-setup"> - <title>Administrator Level Setup</title> - <para>Verify that the user's login class in - <filename>/etc/login.conf</filename> sets the correct + <para>Alternately, the superuser can configure all users of the system for localization. The following variables in the user's login class in + <filename>/etc/login.conf</filename> set the correct language:</para> <programlisting><replaceable>language_name</replaceable>|<replaceable>Account Type Description</replaceable>:\ @@ -332,13 +280,14 @@ me:\ :lang=de_DE.ISO8859-1:\ :tc=default:</programlisting> - <para>Whenever this file is edited, execute the following + <para>Whenever <filename>/etc/login.conf</filename> is edited, remember to execute the following command to update the capability database:</para> <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen> - <bridgehead renderas="sect4">Changing Login Classes with - &man.vipw.8;</bridgehead> + <sect4> + <title>Changing Login Classes with + &man.vipw.8;</title> <indexterm> <primary><command>vipw</command></primary> @@ -348,9 +297,11 @@ me:\ language:</para> <programlisting>user:password:1111:11:<replaceable>language</replaceable>:0:0:User Name:/home/user:/bin/sh</programlisting> + </sect4> - <bridgehead renderas="sect4">Changing Login Classes with - &man.adduser.8;</bridgehead> + <sect4> + <title>Changing Login Classes with + &man.adduser.8;</title> <indexterm> <primary><command>adduser</command></primary> @@ -386,9 +337,11 @@ me:\ <screen>&prompt.root; <userinput>adduser -class language</userinput></screen> </listitem> </itemizedlist> + </sect4> - <bridgehead renderas="sect4">Changing Login Classes with - &man.pw.8;</bridgehead> + <sect4> + <title>Changing Login Classes with + &man.pw.8;</title> <indexterm> <primary><command>pw</command></primary> </indexterm> @@ -396,10 +349,10 @@ me:\ it in this form:</para> <screen>&prompt.root; <userinput>pw useradd user_name -L language</userinput></screen> - </sect5> - </sect4> + </sect4> + </sect3> - <sect4 xml:id="startup-file"> + <sect3 xml:id="startup-file"> <title>Shell Startup File Method</title> <note> @@ -439,7 +392,6 @@ me:\ <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting> <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting> - </sect4> </sect3> </sect2> @@ -677,6 +629,46 @@ keychange="<replaceable>fkey_number sequ <sect1 xml:id="l10n-compiling"> <title>Compiling <acronym>i18n</acronym> Programs</title> + <para>The &os; + <link xlink:href="&url.base;/ports/index.html">&os; Ports + Collection</link> contains programs which provide + application support for wide or multibyte characters for several languages. + Refer to the <acronym>i18n</acronym> documentation in the + respective &os; port + for more information on how to configure the application 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 + 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 such as EUC and + Big5.</para> + </listitem> + </itemizedlist> + + <para>The active list of character sets can be found at the + <link + xlink:href="http://www.iana.org/assignments/character-sets">IANA + Registry</link>.</para> + + <note> + <para>&os; uses Xorg-compatible locale encodings + instead.</para> + </note> + + <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> + <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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402111459.s1BExTVK038082>