Subject: bit.international.software FAQ
From: [email-masked] (Bowyer Jeff)
Date: Wed, 14 Jul 1993 19:19:30 GMT
Newsgroups: bit.software.international,news.answers

Archive-name: i18n-faq
Last-modified: 1993/07/12

			       INSOFT-L

	   The Internationalization of Software Mailing List

		   Frequently Asked Questions (FAQ)

			       June 1993

----------------------------------------------------------------------

			     Introduction

If you have any suggested enhancements for this document, please
send an electronic mail message to [email-masked].

The author of this document is not responsible for the accuracy of
the information that it contains.  Instead, he depends on readers
of this document to provide up-to-date information.

----------------------------------------------------------------------

			   Table of Contents

An * before a question indicates either

   1. The question is new;
   2. The answer associated with the question has been updated;
   3. The anonymous ftp file described in the answer has been updated.

Administrivia
=============

     A01      What is the purpose of the INSOFT-L mailing list?
     A02      Is INSOFT-L a moderated mailing list?
     A03      How do I subscribe to INSOFT-L?
     A04      Who owns the INSOFT-L mailing list?
     A05      If I have an administrative problem with the INSOFT-L
              mailing list, whom do I contact?
     A06      Does INSOFT-L have an associated anonymous ftp server?
     A07      Does INSOFT-L have an associated mail server?
     A08      Where can I obtain the Frequently Asked Questions (FAQ)
              for INSOFT-L?
     A09      How can I obtain an archive file of messages previously
              distributed to the INSOFT-L mailing list?
     A10      Does INSOFT-L have a gateway to network news?

Documentation
=============

*    D01      Where can I obtain a list of publications related to
              the internationalization of software?

Internationalization
====================

     I01      Where can I obtain a list of tools for internationalizing
              software?
     I02      Where can I obtain a list of internationalized software
              products?
*    I03      Where can I obtain a list of organizations related to
              internationalization?

Jargon
======

     J01      What is e13n?
     J02      What is i18n?
     J03      What is j10n?
     J04      What is l10n?
     J05      What is NLS?
*    J06      What is XPG4?

Localization
============

*    L01      Where can I obtain a list of tools for localizing
              software?
*    L02      Where can I obtain a list of fonts for localizing software?
     L03      Where can I obtain a list of localized software
              products?
*    L04      Where can I obtain a list of anonymous ftp sites that
              specialize in localized software?
*    L05      Where can I obtain information about localizing for
              Japanese?

Techniques for Internationalization/Localization
================================================

     T01      How do I determine the date and time formats for
              a country?
     T02      How can I determine a user's international preferences?
     T03      Should shortcut keys be translated?
     T04      What UNIX programs and functions exist for
              internationalizing/localizing a program?
     T05      How should UNIX be configured to allow the user to read
              a man page in a preferred language?
     T06      How should UNIX man page directories be organized to
              support multiple languages?
     T07      Do standardized codes exist for specifying a language?
*    T08      Should abend messages be translated?
*    T09      How can I type foreign characters into X-Windows?
     T10      Do users prefer a program with an English interface
              or with their national language interface?
*    T11      What paper sizes are used internationally?

----------------------------------------------------------------------

			     Administrivia
			     =============

A01      What is the purpose of the INSOFT-L mailing list?

   INSOFT-L on [email-masked]   Internationalization of Software
                                       Discussion List

   Internationalization of software relates to two subjects:

        1. Software that is written so a user can easily change the
           language of the interface;

        2. Versions of software, such as Czech WordPerfect, whose
           interface language differs from the original product.

   Topics discussed on this list include:

        -- Techniques for developing new software

        -- Techniques for converting existing software

        -- Internationalization tools

        -- Announcements of internationalized public domain software

        -- Announcements of foreign-language versions of commercial
           software

        -- Calls for papers

	-- Conference announcements

	-- References to documentation related to the
           internationalization of software

A02      Is INSOFT-L a moderated mailing list?

   INSOFT-L is moderated.

A03      How do I subscribe to INSOFT-L?

   To subscribe to INSOFT-L, send an electronic mail message to
   [email-masked] with the body containing the command:

      SUB INSOFT-L Yourfirstname Yourlastname

A04      Who owns the INSOFT-L mailing list?

   Center for Computing and Information Services
   Technical University of Brno
   Udolni 19, 602 00 BRNO
   Czech Republic

A05      If I have an administrative problem with the INSOFT-L
         mailing list, whom do I contact?

   To determine which commands the listserver software that manages
   INSOFT-L can process, send an electronic mail message to
   [email-masked] with the body containing the command:

      help

   If you perform functions such as subscribe and unsubscribe through the
   appropriate listserver command, you free INSOFT-L's list manager for
   other tasks.

   However, when you need administrative assistance that the listserver
   software cannot handle, please send an electronic mail message to
   [email-masked]

A06      Does INSOFT-L have an associated anonymous ftp server?

   rhino.cis.vutbr.cz (147.229.3.10)

   The upper-level directory for INSOFT-L files is pub/lists/insoft-l.

   The file "master-index" in pub/lists/insoft-l contains a listing of
   all available files.  Every directory contains a file named 00README,
   which describes all subdirectories and files in that directory.

A07      Does INSOFT-L have an associated mail server?

   For INSOFT-L subscribers who do not have a direct Internet connection,
   you can get any files that are stored on our anonymous ftp server by
   sending a mail message request.

   For more information, send a mail message to

      [email-masked]

   The body of your mail message should only include the command

      help

   Notes:

      1. This mail server is home grown.  It uses a program named
         "deliver" to intercept mail messages sent to
         [email-masked], but I coded all of the command
	 processing.  If you find any bugs (who me?) or want to
	 suggest any enhancements (it's very rudimentary, but it
	 works), please send your comments directly to me:

	    [email-masked]

      2. The mail server program depends on a good address in the
	 From: header of your mail message.  Before you use the mail
	 server, please make sure that the From: header in your mail
	 message contains a good address (i.e. a full Internet, BITNET,
	 or Usenet address)

A08      Where can I obtain the Frequently Asked Questions (FAQ)
         for INSOFT-L?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l
      File:      faq

   Network News

      news.answers

   INSOFT-L's list manager will notify the list whenever an updated FAQ
   becomes available.

A09      How can I obtain an archive file of messages previously
         distributed to the INSOFT-L mailing list?

         An archive file will be created on the first day of each month,
	 and it will contain all messages distributed on INSOFT-L
	 during the previous month.

         There are two ways to obtain an archive file:

              1) Use anonymous ftp to connect to rhino.cis.vutbr.cs.
                 The archive files for INSOFT-L will be stored in the
                 directory

                      pub/lists/insoft-l/archive

              2) You can obtain an index of all available archive files
                 by sending an email message to [email-masked]
                 (Note: please do not send the email message to
                 [email-masked]).  The body of your message
                 should only contain the command:

                      index insoft-l

                 After you review the index, you can request a specific
                 archive by sending an email message to
                 [email-masked] (Note: please do not send the
                 email message to [email-masked]).  The body of
                 your message should only contain the command:

                      get insoft-l name_of_archive_file

                 The listserver software will email the archive file to
		 you.

A10      Does INSOFT-L have a gateway to network news?

         The name of INSOFT-L's gateway to network news is
         bit.software.international.

         This gateway is bi-directional, meaning:

            1. If someone posts a message on bit.software.international,
               subscribers to the INSOFT-L mailing list will receive a copy;

            2. If an INSOFT-L subscriber submits a message to the mailing
	       list, a copy will be posted to bit.software.international

----------------------------------------------------------------------

			     Documentation
			     =============

D01      Where can I obtain a list of publications related to
         the internationalization of software?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc
      File:      publications

----------------------------------------------------------------------

			 Internationalization
			 ====================

I01      Where can I obtain a list of tools for internationalizing
         software?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc/products
      File:      internationalization.tools

I02      Where can I obtain a list of internationalized software
         products?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc/products
      File:      internationalized

I03      Where can I obtain a list of organizations related to
         internationalization?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc
      File:      organizations

----------------------------------------------------------------------

				Jargon
				======

J01      What is e13n?

         e13n stands for "europeanization" (count the letters
	 between e and n).

J02      What is i18n?

         i18n stands for "internationalization" (count the letters
	 between i and n).

J03      What is j10n?

         j10n stands for "japanization" (count the letters
	 between j and n).

J04      What is l10n?

         l10n stands for "localization" (count the letters
	 between l and n).

J05      What is NLS?

         "National Language Support" . . . the ability of a software
	 program to handle more than one dialogue language

J06      What is XPG4?

         Version 4 of the _X/Open Portability Guide_
	
----------------------------------------------------------------------

			     Localization
			     ============

L01      Where can I obtain a list of tools for localizing
         software?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc/products
      File:      localization.tools

L02      Where can I obtain a list of fonts for localizing software?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc/products
      File:      fonts

L03      Where can I obtain a list of localized software
         products?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc/products
      File:      localized

   In addition, major software companies will have their localized
   products listed in a separate file.  For example, a list of
   Microsoft's products is available:

      Anonymous FTP

         Site:      rhino.cis.vutbr.cz (147.229.3.10)
         Directory: pub/lists/insoft-l/doc/products
         File:      microsoft.txt

L04      Where can I obtain a list of anonymous ftp sites that
         specialize in localized software?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc
      File:      localized.ftp.sites

L05      Where can I obtain information about localizing for
         Japanese?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc/japanese

----------------------------------------------------------------------

	   Techniques for Internationalization/Localization
	   ================================================

T01      How do I determine the date and time formats for
         a country?

         MS-DOS

	    See page 395 of the English MS-DOS 5 user's guide

T02      How can I determine a user's international preferences?

         MS-DOS

	    Use interrupt 21h with the ah register set to 65h.  This
	    interrupt returns extended country information.
	
         Microsoft Windows

            In Microsoft Windows, it is relatively easy to have your
	    program use the GetProfileString API function to obtain the
	    user's international preferences from the WIN.INI file.
	    The following example shows various international settings
	    from WIN.INI that should be taken into account:

               [intl]
               sLanguage=enu
               sCountry=United States
               iCountry=1
               iDate=0
               iTime=0
               iTLZero=0
               iCurrency=0
               iCurrDigits=2
               iNegCurr=0
               iLzero=1
               iDigits=2
               iMeasure=1
               s1159=AM
               s2359=PM
               sCurrency=$
               sThousand=,
               sDecimal=.
               sDate=/
               sTime=:
               sList=,
               sShortDate=M/d/yy
               sLongDate=dddd, MMMM dd, yyyy

         UNIX

            Use the LC_LOCALE environment variable.

	    In System V.3/V.4, use the LANG environment variable to
	    determine the language and the NLSPATH environment variable to
	    determine the directory path to message catalogues.

         [Note: A program could override these default values with a
	        command-line parameter.]

T03      Should shortcut keys be translated?

   Allow the user three choices:

      1. A set of shortcut keys for the language used;
      2. A set of shortcut keys that retains the original language
         conventions;
      3. Allow the user to establish a personal set of shortcut keys.

   Some software producers, however, mandate that the shortcut keys not
   be changed in a localized version.

T04      What UNIX programs and functions exist for
         internationalizing/localizing a program?

         [Note: Not all of the listed programs and functions are available
	        on all UNIX systems.]
		
         Programs

	    gencat      to generate a formatted message catalogue
	    mkstr       to create a file containing messages extracted
                        from C source code
	    msgfmt      to create a message object file from a portable
	                message file
	    xmodmap     to remap the keyboard

         Functions

	    catopen     to open a message catalogue
	    catclose    to close a message catalogue
	    catgets     to read a message from a message catalogue
	    catgetmsg   to read a message from a message catalogue
	                (superseded by catgets)

T05      How should UNIX be configured to allow the user to read
         a man page in a preferred language?

	 Use the MANPATH environment variable.

T06      How should UNIX man page directories be organized to
         support multiple languages?

         Put the man pages for each language in a separate directory
	 hierarchy.  For example, French man pages could be stored in
	 /usr/man/French/man1, /usr/man/French/man2, etc.

T07      Do standardized codes exist for specifying a language?

         ISO

	    ISO 639:1988 uses two-letter language codes.  For example,
	    "ga" is the code for Irish Gaelic.
	
         MS-DOS

	    WordPerfect uses two-letter codes.  For example, "GA" is the
	    code for Scottish Gaelic.
	
         Microsoft Windows
	
            Microsoft Word for Windows uses the name of the language in its
            own language.  For example, the code for Swedish is "Svenska".

T08      Should abend messages be translated?

         Can the user fix the problem?
           Then tell him what it is in his language.

         Will the problem end up being referred back
         to headquarters' customer support, qa or development?
           Then keep the error message in English, you'll only
           lose meaning in round-trip translating.

         Are you in a desperate hurry, or have you already
         gone over budget?
           Then focus on getting the major part of the user interface,
           where the user spends 95% of his time, perfect.  Take the
           gamble that obscure error messages will never be triggered.
           If anyone cares passionately enough to complain, translate
           the messages for the next release.

         We often precede the actual error message in English with the
         word "Error" in the local language.

         Althea Bertrand ([email-masked])
         Interleaf, Inc.

         Include a header in the user's language informing
         him/her that this is an obscure error, some advice as to
         what to do (whom to call?) and that technical information
         will follow (which can then be in ~any~ language).

         Nils-Erik Gustafsson ([email-masked])

         See INSOFT-L's jun1993 archive for several answers to this
	 question.

T09      How can I type foreign characters into X-Windows?

         Use xmodmap(1X)

T10      Do users prefer a program with an English interface
         or with their national language interface?

         Most users would prefer an interface with their national
	 language.  In fact, in some countries (e.g. France), there may
	 exist a strong cultural bias against foreign languages.

	 Perhaps the best solution is to provide users with a choice.
	 They can specify a preferred language through an environment
	 variable or in an initialization file, but switch to a
	 different interface while running the program.

	 (See FAQ question T02)

T11      What paper sizes are used internationally?

   Anonymous FTP

      Site:      rhino.cis.vutbr.cz (147.229.3.10)
      Directory: pub/lists/insoft-l/doc/standards
      File:      paper.txt