<!-- $XConsortium: appb.sgm /main/11 1996/09/08 19:42:17 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<appendix id="UG.uI18N.div.1">
<title id="UG.uI18N.mkr.1">Running Localized Sessions</title>
<para>You can customize the desktop user interface in many different languages.
Various elements such as screens, default languages, fonts, input (keyboard)
methods, and icons can be changed. In addition, the menus, online help, and
error messages can be localized and are available in multiple languages.
</para>
<informaltable id="UG.uI18N.itbl.1" frame="All">
<tgroup cols="1">
<colspec colname="1" colwidth="4.0 in">
<tbody>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Default Language at Login295'--><xref
role="JumpText" linkend="UG.uI18N.mkr.2"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Logging In to a Language-Specific
Session296'--><xref role="JumpText" linkend="UG.uI18N.mkr.3"></para></entry>
</row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Creating or Editing a Language-Specific
File296'--><xref role="JumpText" linkend="UG.uI18N.mkr.4"></para></entry>
</row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Using a Language-Specific Terminal
Emulator297'--><xref role="JumpText" linkend="UG.uI18N.mkr.5"></para></entry>
</row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Specifying Fonts297'--><xref role="JumpText"
linkend="UG.uI18N.mkr.6"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Changing Fonts298'--><xref role="JumpText"
linkend="UG.uI18N.mkr.7"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Choosing Your Input Method and Keyboard299'--><xref
role="JumpText" linkend="UG.uI18N.mkr.9"></para></entry></row></tbody></tgroup>
</informaltable>
<para><indexterm><primary>language-specific</primary><secondary>sessions</secondary></indexterm><indexterm><primary>session</primary><secondary>language-specific</secondary></indexterm></para>
<sect1 id="UG.uI18N.div.2">
<title id="UG.uI18N.mkr.2">Default Language at Login</title>
<para>The messages and menus in the initial login window are displayed in
the default language. If the default language has not been set up, the messages
and menus are displayed using a generic &ldquo;C&rdquo; locale environment.
You can change the language from the Options menu in the login screen.</para>
</sect1>
<sect1 id="UG.uI18N.div.3">
<title id="UG.uI18N.mkr.3">Logging In to a Language-Specific Session</title>
<indexterm><primary>language-specific</primary><secondary>login</secondary></indexterm>
<indexterm><primary>logging in</primary><secondary>to language-specific session</secondary></indexterm>
<indexterm><primary>login, language-specific</primary></indexterm>
<para>Logging in to a specific language through the desktop is easy. However,
specific hardware requirements such as keyboards and printers may be required
to make the localized session more usable. These requirements vary by language,
character set, and country. Software and fonts can further increase the effective
localization of your system. To log in to a language-specific session:</para>
<orderedlist><listitem><para>Use the Options menu in the login screen to select
a language.</para>
<para>The list of languages includes all the supported languages.</para>
</listitem><listitem><para>Log in normally with your name and password.</para>
</listitem></orderedlist>
</sect1>
<sect1 id="UG.uI18N.div.4">
<title id="UG.uI18N.mkr.4">Creating or Editing a Language-Specific File</title>
<indexterm><primary>language-specific</primary><secondary>data</secondary></indexterm>
<para>You can create, edit, and print language-specific files. You can also
give files language-specific names. However, for system administration files
that are shared across a network, the file names should just contain ASCII
characters. Different systems on the network might be using different locales.
</para>
<para>If you have logged in to the desktop in a specific language, all applications
will be invoked using that language. However, you can still invoke an application
with another language.</para>
<para>If you want to create a file with a different language, invoke a new
instance of Text Editor specifying your desired language.</para>
<sect2 id="UG.uI18N.div.5" role="Procedure">
<title>To Create or Edit a Language-Specific File</title>
<indexterm><primary>creating</primary><secondary>file with language-specific characters</secondary></indexterm>
<indexterm><primary>editing</primary><secondary>file with language-specific characters</secondary></indexterm>
<indexterm><primary>files</primary><secondary>with language-specific characters[files</secondary></indexterm>
<indexterm><primary>language-specific</primary><secondary>characters in file</secondary></indexterm>
<para>To create or edit a language-specific file, you can
either start the Text Editor with the language directly
or you can set
the <systemitem class="environvar">LANG</systemitem>
environment variable prior to starting the Editor.
</para>
<para>To start the Text Editor with the language directly, invoke the
<command>dtpad</command> command with the language
specified for the <literal>-xnllanguage</literal>
option. For example:
</para>
<programlisting><command>/usr/dt/bin/dtpad -xnllanguage</command> <symbol role="Variable">Japanese_localename</symbol>
</programlisting>
<para>To set <systemitem class="environvar">LANG</systemitem> before invoking
the Editor, perform the following steps:
</para>
<orderedlist>
<listitem><para>In a Terminal window, set the LANG environment
variable to the desired language. For example, to set the locale to Japanese,
you can type:<indexterm><primary>Terminal</primary><secondary>setting language through</secondary></indexterm><indexterm><primary>LANG environment variable</primary></indexterm>
</para>
<programlisting><systemitem class="environvar">LANG</systemitem>=<symbol role="Variable">Japanese_localename</symbol>
</programlisting>
<para>where <symbol role="Variable">Japanese_localename</symbol>
specifies the Japanese character set. Refer to your specific
platform to determine the value for <symbol role="Variable">Japanese_localename</symbol>.
</para>
</listitem>
<listitem><para>In the same window, invoke the Text Editor ( <computeroutput>dtpad</computeroutput>) under the desired language by typing:<indexterm><primary>Text Editor</primary><secondary>starting with specific language</secondary></indexterm><indexterm><primary>starting</primary><secondary>Text Editorwith specific language</secondary></indexterm><indexterm><primary>language-specific</primary><secondary>Text Editor</secondary></indexterm>
</para>
<programlisting><command>/usr/dt/bin/dtpad &amp;</command>
</programlisting>
</listitem>
</orderedlist>
<para>You can now enter Japanese characters if the locale specific files have
been installed. You can also use the Text Editor session to edit a previously
created Japanese file.
</para>
<para>See <!--Original XRef content: '&xd2;To Specify Fonts from the Command
Line&xd3; on page&numsp;298'--><xref role="SecTitleAndPageNum" linkend="UG.uI18N.mkr.8">
for an example of specifying a font set.</para>
</sect2>
</sect1>
<sect1 id="UG.uI18N.div.6">
<title id="UG.uI18N.mkr.5">Using a Language-Specific Terminal Emulator</title>
<para>The following example uses <command>dtterm</command> and
will start a Japanese terminal emulator. It assumes that the default
language is not Japanese, that you are using the Korn shell, and that
the locale specific files have been installed.
</para>
<indexterm><primary>terminal emulator</primary><secondary>language-specific</secondary></indexterm>
<indexterm><primary>language-specific</primary><secondary>terminal emulator</secondary></indexterm>
<indexterm><primary>starting</primary><secondary>terminal emulator with specific language</secondary></indexterm>
<orderedlist>
<listitem><para>From a command line in a Korn shell Terminal window type:</para>
<programlisting><systemitem class="environvar">LANG</systemitem>=<symbol role="Variable">Japanese_localename</symbol> <command>dtterm</command>
</programlisting>
<para>where <symbol role="Variable">Japanese_localename</symbol>
specifies the Japanese character set. Refer to your specific
platform to determine the value for <symbol role="Variable">Japanese_localename</symbol>.
</para>
</listitem></orderedlist>
</sect1>
<sect1 id="UG.uI18N.div.7">
<title id="UG.uI18N.mkr.6">Specifying Fonts</title>
<indexterm><primary>fonts</primary><secondary>internationalizing</secondary></indexterm>
<indexterm><primary>internationalizationand fonts</primary></indexterm>
<para>The user usually changes fonts using Style Manager, which in turn restarts
Workspace Manager, resetting the desktop fonts. You can also customize fonts
at the command line or in resource files. In an internationalized environment,
the user must specify fonts that are independent of the code set. This is
necessary because the specification can be used under various locales with
different code sets than the character set (<symbol role="Variable">charset</symbol>)
of the font. Therefore, all font lists should be specified with
a font set.</para>
<sect2 id="UG.uI18N.div.8">
<title>Font Specification</title>
<para>A <emphasis>font specification</emphasis> within a fontlist can be
either an X Logical Function Description (XLFD) name or an alias for the
XLFD name. For example, the following are valid font specifications for
a 14-point font:
</para>
<indexterm><primary>font specification</primary></indexterm>
<indexterm><primary>XLFD</primary></indexterm>
<programlisting>-dt-interface system-medium-r-normal-serif-*-*-*-*-p-*-iso8859-1
<emphasis>Or,</emphasis> -*-r-*-14-*iso8859-1</programlisting>
</sect2>
<sect2 id="UG.uI18N.div.9">
<title>Font Set Specification</title>
<para>The <emphasis>font set specification</emphasis> within a fontlist is a list of XLFD names
or their aliases (sometimes called a <emphasis>base name list</emphasis>).
The names are separated by semi-colons, and any blank space before or after
the semi-colon is ignored. Pattern- matching (wildcard) characters can be
specified to help shorten XLFD names.</para>
<indexterm><primary>font set specification</primary></indexterm>
<indexterm><primary>base name font list</primary></indexterm>
<para>A font set specification is determined by the locale that is running.
For example, the Japanese locale defines three fonts (character sets) necessary
to display all of its characters. The following example identifies the set
of Mincho fonts needed.</para>
<itemizedlist remap="Bullet1"><listitem><para>Sample name list with character
set:</para>
<programlisting>-dt-interface system-medium-r-normal-serif-*-*-*-*-p-*-14;
-dt-mincho-medium-r-normal--14-*-*-m-*-jisx0201.1976-0;
-dt-mincho-medium-r-normal--28-*-*-*-m-*-jisx0208.1983-0:
</programlisting>
</listitem><listitem><para>Sample single pattern name without character set:
</para>
<programlisting>-dt-*-medium-*-24-*-m-*:
</programlisting>
</listitem></itemizedlist>
<para>The preceding two cases can be used with a Japanese locale as long as
there are fonts that match the base name list.</para>
</sect2>
</sect1>
<sect1 id="UG.uI18N.div.10">
<title id="UG.uI18N.mkr.7">Changing Fonts</title>
<para>You can change the fonts of <computeroutput>dtterm</computeroutput>
by using either of the following methods:</para>
<itemizedlist remap="Bullet1"><listitem><para>Specifying fonts from the command
line</para>
</listitem><listitem><para>Specifying fonts within a resource file</para>
</listitem></itemizedlist>
<sect2 id="UG.uI18N.div.11" role="Procedure">
<title id="UG.uI18N.mkr.8">To Specify Fonts from the Command Line</title>
<para>To change the fonts for the menu from the command line, type:
</para>
<indexterm><primary>fonts</primary><secondary>specifying from the command line</secondary></indexterm>
<programlisting>dtterm -xrm '*fontList: <emphasis>fontset'</emphasis></programlisting>
<para>where <emphasis>fontset</emphasis> is a font set specification. A font
set specification can be specified by a full X Logical Font Description (XLFD)
name list, a simple XLFD pattern, or an alias name. Note that a font set
specification is determined by the locale that is running.</para>
<sect3 id="UG.uI18N.div.12">
<title>Examples</title>
<para>To use a larger font except for the menu font, type:</para>
<programlisting>dtterm -xrm '*fontList:-dt-interface user-medium-r-normal-l*-*-*-*:'
</programlisting>
<para>To use a smaller font except for the menu font, type:</para>
<programlisting>dtterm -xrm '*fontList:-dt-interface user-medium-r-normal-s*-*-*-*:'
</programlisting>
<para>These specifications will work for any locale.<indexterm><primary>fonts</primary><secondary>specifying from the command line &lt;$endrange></secondary></indexterm></para>
</sect3>
</sect2>
<sect2 id="UG.uI18N.div.13" role="Procedure">
<title>To Specify Fonts within a Resource File</title>
<para>While it is possible to set fonts by editing application resource files in the
<filename>/usr/dt/app-defaults/</filename><symbol role="Variable">language</symbol>
directory, this practice is not recommended. Such files are automatically
overwritten at each new installation. Rather, you should set fonts by adding
the resources to your personal
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename> file.
</para>
</sect2>
</sect1>
<sect1 id="UG.uI18N.div.14">
<title id="UG.uI18N.mkr.9">Choosing Your Input Method and Keyboard</title>
<para>Each locale has a single default input method associated with it. If
the user does nothing, this default is selected. Because there may be many
input methods installed at any one time, the following sections explain how
various input methods are selected on behalf of the user.
</para>
<para>In addition to using resources to set the input method and the input method
style for preediting, you can use the Style Manager's <literal>Intl'</literal>
(Internationalization) control to set these values interactively.
For details, refer to the <citetitle>CDE Advanced User's
and System Administrator's Guide</citetitle>.
</para>
<sect2 id="UG.uI18N.div.15">
<title>Using Input Method Modifiers</title>
<para>When there is more than one input
method for a locale, use the <computeroutput>XmNinputMethod</computeroutput>
resource to identify the one you would like used. This is done by specifying
a <symbol role="Variable">modifier</symbol>. The modifier must be of the following
form, where <symbol role="Variable">modifier</symbol> is the name used to
uniquely identify the input method:</para>
<indexterm><primary>input method for locales</primary></indexterm>
<para>inputMethod :@im=<symbol role="Variable">modifier</symbol></para>
<para>The <symbol role="Variable">modifier</symbol> string specified in the <computeroutput>XmNinputMethod</computeroutput> resource is used to choose which input method
is used.</para>
<para>Alternatively, set the XMODIFIERS environment variable. The syntax
is the same as for the <command>XmNinputMethod</command> resource, but values
are not. Values for XMODIFIERS are vendor specific.<indexterm><primary>XMODIFIERS environment variable</primary></indexterm><indexterm><primary>&lt;Filename | Command>XmNinputMethod &lt;Default Para Font> resource</primary>
</indexterm></para>
</sect2>
<sect2 id="UG.uI18N.div.16">
<title>Specifying the Input Method Style</title>
<para>The input method style determines how pre-editing will occur. It is
controlled by the <Symbol>XmNpreeditType</Symbol>
resource. The syntax, possible values, and default value type of the <Symbol>XmNpreeditType</Symbol> resource are:</para>
<indexterm><primary><Symbol>XmNpreeditType</Symbol></primary></indexterm>
<informaltable>
<tgroup cols="2" colsep="0" rowsep="0">
<colspec align="left" colwidth="107*">
<colspec align="left" colwidth="349*">
<thead>
<row><entry align="left" valign="bottom"><para>Syntax</para></entry><entry
align="left" valign="bottom"><para>value[,value,....]</para></entry></row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><para>Possible values</para></entry>
<entry align="left" valign="top"><para>OverTheSpot, OffTheSpot, OnTheSpot, Root, None
</para></entry></row>
<row>
<entry align="left" valign="top"><para>Default value</para></entry>
<entry align="left" valign="top"><para>OnTheSpot, OverTheSpot, OffTheSpot, Root</para></entry>
</row></tbody></tgroup></informaltable>
<para>The string list, separated by a comma, specifies the priority order
for this resource. The first value supported by the input method is used.
</para>
<para>For more information, see the <emphasis>Internationalization Programmer's
Guide.<indexterm><primary>input method for locales &lt;$endrange></primary></indexterm></emphasis></para>
</sect2><?Pub Caret>
<sect2 id="UG.uI18N.div.17">
<title>Changing the X Keyboard Map at the Server</title>
<para>If the keymaps currently used by the X server do not match the physical
keyboard on the system, you can change them manually by using the
<command>xmodmap</command> command or a vendor keyboard mapping utility.
For information on the <command>xmodmap</command> command, type
<command>man xmodmap</command>.
</para>
<indexterm><primary>keymaps, changing</primary></indexterm>
<indexterm><primary><command>xmodmap</command></primary></indexterm>
</sect2>
</sect1>
</appendix>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 10:57:19-->
<?Pub *0000034935>
