Progress Internationalization Guide © 2002 Progress Software Corporation
Total Page:16
File Type:pdf, Size:1020Kb
Progress Internationalization Guide © 2002 Progress Software Corporation. All rights reserved. Progress® software products are copyrighted and all rights are reserved by Progress Software Corporation. This manual is also copyrighted and all rights are reserved. This manual may not, in whole or in part, be copied, photocopied, translated, or reduced to any electronic medium or machine-readable form without prior consent, in writing, from Progress Software Corporation. The information in this manual is subject to change without notice, and Progress Software Corporation assumes no responsibility for any errors that may appear in this document. The references in this manual to specific platforms supported are subject to change. Progress, Powered by Progress, Progress Fast Track, Progress Profiles, Partners in Progress, Partners en Progress, Progress en Partners, Progress in Progress, P.I.P., Progress Results, ProVision, ProCare, ProtoSpeed, SmartBeans, SpeedScript, and WebSpeed are registered trademarks of Progress Software Corporation in the U.S. and other countries. A Data Center of Your Very Own, Allegrix, Apptivity, AppsAlive, AppServer, ASPen, ASP-in-a-Box, Empowerment Center, Fathom, Future Proof, IntelliStream, OpenEdge, PeerDirect, POSSE, POSSENET, Progress Dynamics, Progress Software Developers Network, SectorAlliance, SmartObjects and WebClient are trademarks or service marks of Progress Software Corporation in the U.S. and other countries. SonicMQ is a registered trademark of Sonic Software Corporation in the U.S. and other countries. Vermont Views is a registered trademark of Vermont Creative Software in the U.S. and other countries. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Any other trademarks and/or service marks contained herein are the property of their respective owners. Progress Software Corporation acknowledges the use of Raster Imaging Technology copyrighted by Snowbound Software 1993- 1997, the IBM XML Parser for Java Edition, and software developed by the Apache Software Foundation (http:// www.apache.org/). © IBM Corporation 1998-1999. All rights reserved. U.S. Government Users Restricted Rights — Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Progress is a registered trademark of Progress Software Corporation and is used by IBM Corporation in the mark Progress/400 under license. Progress/400 AND 400® are trademarks of IBM Corporation and are used by Progress Software Corporation under license. The implementation of the MD5 Message-Digest Algorithm used by Progress Software Corporation in certain of its products is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm. May 2002 Product Code: 4524 Item Number: 89431;V9.1D Contents Preface . xiii Purpose . xiii Audience . xiii Organization Of This Manual . xiii Typographical Conventions . xv Syntax Notation . xvi Example Procedures . xx Progress Messages . xxiii Other Useful Documentation . xxv Getting Started . xxv Development Tools . xxvi Reporting Tools . xxviii 4GL . xxviii Database . xxix DataServers. xxx SQL-89/Open Access . xxx SQL-92 . xxxi Deployment . xxxii WebSpeed. xxxii Reference . xxxiii SQL-92 Reference. xxxiii 1. Developing Applications For Deployment Worldwide . 1–1 1.1 The Importance Of Internationalization and Localization . 1–2 1.2 Strategies For Responding To a Global Market . 1–3 1.2.1 Internationalized Applications. 1–3 1.2.2 Localized Applications . 1–4 Contents 1.3 How Progress Supports Internationalization . 1–4 1.3.1 Multi-byte Applications . 1–5 1.3.2 Progress Support For Unicode . 1–5 1.3.3 Character Processing . 1–5 1.3.4 Translation Manager System . 1–6 1.3.5 Progress 4GL Elements . 1–6 1.3.6 International Databases . 1–6 1.3.7 Progress Messages . 1–7 1.3.8 Regional Parameter Files . 1–7 1.4 How Progress Products Support Internationalization . 1–8 1.5 Design Guidelines . 1–9 2. Understanding Code Pages . 2–1 2.1 Code Pages and Character Sets . 2–2 2.1.1 Code Pages . 2–2 2.1.2 Character Sets . 2–5 2.2 Environments With Multiple Code Pages . 2–7 2.3 Code-page Conversion . 2–7 2.3.1 Streams and Code-page Conversion . 2–9 2.3.2 Valid and Invalid Code-page Conversions . 2–10 2.3.3 Sockets and Code-page Conversion . 2–10 2.4 The Undefined Code Page . 2–11 2.5 Figuring Out the Code Page an Application Component Uses . 2–12 2.5.1 7-bit Character Data . 2–12 2.5.2 8-bit Character Data . 2–12 2.5.3 Progress Databases . 2–13 2.5.4 Character Terminals . 2–14 2.5.5 Windows Screen and Keyboard . 2–15 2.5.6 Printers . 2–16 2.5.7 Table Dump (.d) Files and Other External Text Files . 2–17 2.5.8 Progress Libraries . 2–17 3. Understanding Character Processing Tables . 3–1 3.1 The convmap.dat File and Its Tables . 3–2 3.1.1 Character Attribute Tables . 3–5 3.1.2 Case Tables . 3–6 3.1.3 Collation Tables . 3–9 3.1.4 Code-page Conversion Tables . 3–11 3.1.5 Modifying convmap.dat Or a File It Includes . 3–13 3.1.6 Compiling the convmap.dat File . 3–14 3.1.7 Providing Access To the convmap.cp File . 3–14 3.1.8 Modifying Collation Tables . 3–15 3.1.9 Finding Additional Information On Character Processing Tables Other Than Word-break Tables . 3–20 iv Contents 3.2 Word-break Tables . 3–21 3.2.1 Why Progress Uses Word-break Tables . 3–21 3.2.2 Creating and Modifying Word-break Tables . 3–22 3.2.3 Compiling Word-break Tables . 3–27 3.2.4 Providing Access To Word-break Tables. 3–27 3.2.5 Associating Word-break Tables With Databases . 3–28 3.2.6 Rebuilding the Indexes . 3–29 4. Preparing the Code . 4–1 4.1 Guidelines and Methodology . 4–2 4.1.1 Structuring Source Code . 4–2 4.1.2 Processing By Characters . 4–4 4.1.3 Using Variables . 4–5 4.1.4 Coding With Translation In Mind . 4–5 4.2 Input and Output . 4–6 4.2.1 Keyboards . 4–6 4.2.2 Printers . 4–7 4.3 Data-processing Issues . 4–8 4.3.1 Numeric Formats . ..