internationalization in cincom visualworks - les kooyman

Post on 03-Apr-2018

239 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related