| |
1. Introduction | 1 |
| ..What Is Internationalization? | 1 |
| ..How Is Localization Different? | 1 |
| ..Basic Steps in Internationalization | 2 |
| ..Advantages of 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 | 25 |
| ..Character and Code Sets | 25 |
| ....Extended UNIX Code (EUC) | 26 |
| ....Wide Characters | 27 |
| ....Multi-byte Library Routines | 28 |
| ....Naming Rules | 34 |
| ..What Is a Locale? | 34 |
| ....Locale Categories | 35 |
4. Writing Internationalized Code | 37 |
| ..Linking | 37 |
| ..Text and Code sets | 37 |
| ....Call setlocale() | 37 |
| ....Make Software 8-bit Clean | 38 |
| ....Watch for Sign Extension Problems | 39 |
| ....Employ Standard Code Sets | 41 |
| ....Generating PostScript | 41 |
| ....Use ctype Library Routines | 42 |
| ....Avoid Managing the Keyboard | 42 |
| ..Formats and Collation | 43 |
| ....Time and Date Formats | 43 |
| ....Monetary Formats | 44 |
| ....Replace strcmp() With strcoll() | 45 |
| ..User Messages and Text Presentation . . . . . . . . . . . . . . . . . . . |
| .................................................47 |
| ....Localized Text Handling | 48 |
| |
| .....Where Do Messages Reside? | 48 |
| .....Using gettext() | 49 |
| .....Surround Strings with gettext() | 49 |
| .....Use bindtextdomain() | 50 |
| .....Changing the Text Domain | 51 |
| .....Create Separate Message Files | 51 |
| .....Text Length and Height May Vary | 52 |
| .....Try to Avoid Compound Messages | 52 |
| .....Dynamic Messaging | 54 |
| ..Other Languages | 55 |
| ..Summary of Requirements | 55 |
| .....Checklists for Internationalization | 56 |
| .....Using X/Open Message Catalogs | 57 |
5. Internationalizing OpenWindows | 59 |
| ..Window Object Layout | 60 |
| ..Object Size and Positioning | 61 |
| ..Input Method | 63 |
| ..Font Handling | 64 |
6. Translating Messages | 65 |
| ..Creating a Message File | 65 |
| .....The Portable Message File | 66 |
| .....The Message Object File | 68 |
A. Language and Territory Names | 69 |
| .....Language and Territory | 69 |