View
239
Download
0
Category
Preview:
Citation preview
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 1/28
1
World Headquarters
Cincinnati, Ohio
Internationalization in
Cincom® VisualWorks®
Smalltalk Industry Conference
June 2013
Wigwam Resort
Phoenix, Arizona
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 2/28
Internationalization in Cincom
VisualWorksLes Kooyman
Smalltalk Engineering
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 3/28
Cincom Smalltalk Products
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 4/28
What do we mean by Internationalization?
•
Input and output in language-appropriate character set(may be quite complex – IME, BIDI, text shaping)
• Regionally-appropriate format customizations
(numbers, dates, times, currency amounts)
• Message translations (system and application)
implemented via message catalogs
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 5/28
A Story in two parts…
1.) Industry history
2.) VisualWorks (and ObjectStudio)history and trends
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 6/28
Part 1. Industry History
The Long and Winding Road…
Disclaimer: Please note that this is a selected history of our industry. Almostcertainly some achievements are not noted here due to time and space
limitations. This should in no way be construed to minimize the importance of
any other work related to this subject but not represented here.
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 7/28
First there were Morse and Baudot…
…Herman Hollerith, the 1890 Census
and C-T-R (->IBM)…
…ASCII and variants (ISO)… …EBCDIC…
…and then…
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 8/28
Blame it on 漢字 (Kanji) …
(Also Hiragana and Katakana)
JIS C 6220 (JIS C 0201): 1969
JIS X 0208-1990: Current*
IBM NLS: 1984
Unicode: 1991
*JIS X 0212-1990 specified but little used
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 9/28
National Language Support
(NLS)• NLS: Work to allow MVS to handle Kanji using
DBCS (double byte character set)
• Double Byte Technical Coordination Office
presents NLS implementation proposal to IBM
management, May 1984
• Followed by „Corporate Instruction #145, National
Language Support‟, a fundamental IBM policy
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 10/28
Blame it on 漢字 (continued…)
• Unicode: 1991
• ICU (ICU4J, ICU4C, etc.): 1999
• CLDR: 2003
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 11/28
Unicode
•
A project of the Unicode Consortium• Intended to allow all characters of all
scripts to be represented
• Versioned and released like software
• Characters represented by Codepoints
• Conceptually separate from its encodings
(UTF-8, UTF-16, etc.)
• VisualWorks now uses Unicode internally
for many operating system interfaces
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 12/28
International Components for Unicode
(ICU)
• Based on work by Taligent 1992-1995
• 1997: Became base for JDK 1.1 international APIs
• 1999: Initial open source release as “IBM Classes
for Unicode”
• Includes CLDR Locales
• ICU4J: ICU for Java
• ICU4C: ICU for C/C++
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 13/28
CLDR: Common Locale Data Repository
•
A project of the Unicode Consortium• Distributed as a set of XML files
• Versioned and released like software
•
XML dialect: LDML (Locale Data Markup Language)• Most people will use CLDR indirectly through
incorporation in development environments such as
ICU or VisualWorks
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 14/28
Part 2. VisualWorks and ObjectStudio
History and Trends
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 15/28
Internationalization Concerns
• Locale-based customizations
• Message catalogs
• Text composition & display
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 16/28
Locale-based customizations
• Time formatting
• Date formatting
• Number formatting
• Currency formatting
• Default measurement system (US, metric)
• Default paper size (US letter, A4)
• Collation
• System & User Messages via Message Catalogs
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 17/28
Examples of Locale names
language_TERRITORY.encoding
•en_US.Windows-1252
•en_US.UTF8
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 18/28
CLDR-based Locales in VisualWorks:
• Coexist in the image with Legacy Locales; the
programmer may choose either to be the activelocale system, but not both concurrently.
• Locale
• CompositeLocale
• LocaleLocalizationComponent
• LocaleEncodingComponent
• Smalltalk code generated from the CLDR
• Formatting may contain non-Roman characters
and/or right-to-left word ordering
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 19/28
Proliferation of Locales in VisualWorks
• 5i.4 (2001): 2 Locales
• 7.6 (2008): 15 Locales (“Legacy Locales”)
• 7.7 (2009): 417 Locales (CLDR-based Locales)
• 7.10 (2013): 587 Locales
• 8.0 (?): Legacy Locales removed to loadable parcel
• ?: On-Demand Locale construction (“JIT”)
• ?: Locales from “arbitrary” language/territory combos
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 20/28
Message catalogs
• Allow translation of messages and parameter
substitution
• Message catalogs searched by Locale
• Each process can have its own catalogs based on
its own Locale
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 21/28
Text composition & display
•
Capabilities vary widely by OS• Bi-directional text, text shaping not yet common
• Cross-platform solutions remain elusive
•
Text2 an exploration of these issues inVisualWorks, including BIDI
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 22/28
More support for I18N
• I18N Package
• Internationalizer
• New text editor (“Text2”)
• Per-process locales
• Locale-specific message catalogs
• Optional Byte Order Mark support
• ISO-8601 unambiguous timestamp formatting andreading for data exchange (future release)
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 23/28
Demonstration video: Internationalizer
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 24/28
Live demo: Text2
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 25/28
ObjectStudio 8
(2007) was the first
release built on the
VisualWorks class
library, thus using
the same Locales
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 26/28
Sources
• A Brief History of Character Codes in North America,Europe and East Asia; Steven J. Searle;http://tronweb.super-nova.co.jp/characcodehist.html
• IBM History of Far Eastern Languages in Computing; KurtHensch; IBM Corporation, 2004
•
State of Text Rendering; Behdad Esfahbod; 2012;http://behdad.org/text
• Unicode Explained ; Jukka K. Korpela; O’Reilly; 2006
• CJKV Information Processing; Ken Lunde; O’Reilly; 2009
• http:// www.unicode.org
• http://cldr.unicode.org
• http://www.icu-project.org
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 27/28
Questions?
7/28/2019 Internationalization in Cincom Visualworks - Les Kooyman
http://slidepdf.com/reader/full/internationalization-in-cincom-visualworks-les-kooyman 28/28
Thank you for attending!
Recommended