| |
1. Introduction | 1 |
| ..What Is Internationalization? | 1 |
| ..How Is Localization Different? | 1 |
| ..Advantages of Internationalization | 2 |
| ..Basic Steps in Internationalization | 2 |
| ..Conforming to Standards | 2 |
| ..Internationalization Levels | 3 |
| ....Level 1--Text and Codesets | 3 |
| ....Level 2--Formats and Collation | 3 |
| ....Level 3--Messages and Text Presentation | 3 |
| ....Level 4--Asian Language Support | 4 |
2. Formats and Conventions Overview | 5 |
| ..Formatting Differences | 5 |
| ....Time Formats | 5 |
| ....Date Formats | 6 |
| |
| ....Printers | 21 |
| ..Character and Code Sets | 21 |
| ....Extended UNIX Code (EUC) | 22 |
| ....Wide Characters | 23 |
| ....Multibyte Library Routines | 24 |
| ....Naming Rules | 30 |
| ..What Is a Locale? | 30 |
| ....Locale Categories | 31 |
4. Writing Internationalized Code | 33 |
| ..Linking | 33 |
| ..Text and Code Sets | 33 |
| ....Call setlocale() | 33 |
| ....Make Software 8-bit Clean | 34 |
| ....Watch for Sign Extension Problems | 35 |
| ....Employ Standard Code Sets | 37 |
| ....Generating PostScript | 37 |
| ....Use ctype Library Routines | 38 |
| ....Avoid Managing the Keyboard | 38 |
| ..Formats and Collation | 39 |
| ....Time and Date Formats | 39 |
| ....Currency Formats | 40 |
| ....Replace strcmp() With strcoll() | 41 |
| ..User Messages and Text Presentation . . . . . . . . . . . . . . . . . . . |
| .................................................43 |
| ....Localized Text Handling | 44 |
| |
| .....Where Do Messages Reside? | 44 |
| .....,Using gettext() | 45 |
| .....Surround Strings with gettext() | 45 |
| .....Use bindtextdomain() | 46 |
| .....Changing the Text Domain | 47 |
| .....Create Separate Message Files | 47 |
| .....Text Length and Height May Vary | 48 |
| .....Avoid Compound Messages | 48 |
| .....Dynamic Messaging | 50 |
| ..Other Languages | 51 |
| ..Summary of Requirements | 51 |
| .....Checklists for Internationalization | 52 |
| .....Using X/Open Message Catalogs | 53 |
5. Internationalizing OpenWindows | 55 |
| ..Window Object Layout | 56 |
| ..Object Size and Positioning | 57 |
| ..Input Method | 59 |
| ..Font Handling | 60 |
6. Translating Messages | 61 |
| ..Creating a Message File | 61 |
| .....The Portable Message File | 62 |
| .....The Message Object File | 64 |
A. Language and Territory Names | 65 |
| .....Language and Territory | 65 |