This guide, published in March 1996 for DIGITAL UNIX Version 4.0 or higher, is a comprehensive resource for developers aiming to internationalize applications within the Common Desktop Environment (CDE). Its primary objective is to provide guidelines and conventions for creating software that supports diverse languages and cultural conventions globally, ensuring a consistent user interface without requiring application recompilation for different locales.
The document covers several key areas:
- Internationalization Fundamentals: It defines internationalization and localization, explaining how language- and culture-dependent information (e.g., locales, fonts, dates, currency, bitmaps) should be externalized from application source code. It also highlights the significance of internationalization standards like POSIX and X/Open.
- Locale and Font Management: The guide details how applications set and manage locales using
XtSetLanguageProc() and setlocale() functions. It emphasizes the use of font sets (XFontSet) instead of individual fonts (XFontStruct) for rendering localized text, as font sets can combine multiple fonts to support all characters of a locale, and outlines their specification and syntax within Xlib and Motif.
- Localized Text Input and Drawing: It explains the mechanisms for rendering various types of localized text (simple text, compound strings) using Xlib and Motif functions. Furthermore, it describes localized text input methods, including preedit areas (OffTheSpot, OverTheSpot, Root modes), status and auxiliary areas, and the
VendorShell widget's role in managing input method user interface components.
- Interclient Communication and Networks: The document provides guidelines for passing localized text data between applications, especially in distributed network environments, adhering to Interclient Communications Conventions (ICCC). It covers how different code sets and encodings are handled for data interchange (e.g.,
COMPOUND_TEXT, XA_STRING) and introduces the iconv interface for character set conversions.
- Resource and Message Localization: It outlines strategies for externalizing localized text and resources through message catalogs, resource files, and private files, accompanied by specific guidelines for writing translatable messages to ensure clarity and consistency across languages.
- Motif and Xt/Xlib Dependencies: Dedicated chapters delve into the specific functions and routines within Motif, Xt, and Xlib libraries that are crucial for managing locales, handling fonts, and facilitating interclient communication in internationalized applications.
In essence, the guide equips developers with the knowledge and tools necessary to create robust, globally-aware applications for the CDE, focusing on adaptability, portability, and interoperability in multilingual computing environments.