Newsgroups: bit.software.international,news.answers Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!usc!cs.utexas.edu!uunet!news.univie.ac.at!alijku11!aci.cvut.cz!cis.vutbr.cz!jbowyer From: jbowyer@cis.vutbr.cz (Bowyer Jeff) Subject: bit.international.software FAQ Organization: Technical University of Brno, Czech Republic Expires: Sat, 14 Aug 1993 00:00:00 GMT Date: Wed, 14 Jul 1993 19:19:30 GMT Message-ID: <1993Jul14.191930.20855@cis.vutbr.cz> X-Newsreader: TIN [version 1.1 PL8] Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the internationalization of software. It should be read by anyone who wishes to post to the bit.software.international newsgroup. Reply-To: jbowyer@cis.vutbr.cz Followup-To: poster Approved: news-answers-request@mit.edu Lines: 654 Xref: senator-bedfellow.mit.edu bit.software.international:125 news.answers:10366 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 insoft-l-request@cis.vutbr.cz. 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 LISTSERV@CIS.VUTBR.CZ 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 listserv@cis.vutbr.cz 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 listserv@cis.vutbr.cz 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 insoft-l-request@cis.vutbr.cz 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 mailserv@cis.vutbr.cs 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 mailserv@cis.vutbr.cs, 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: jbowyer@cis.vutbr.cs 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 listserv@cis.vutbr.cs (Note: please do not send the email message to insoft-l@cis.vutbr.cs). 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 listserv@cis.vutbr.cs (Note: please do not send the email message to insoft-l@cis.vutbr.cs). 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 (althea@cicero.hq.ileaf.com) 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 (euaneg@eua.ericsson.se) 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