You are on page 1of 31
Multilingual Seaside Web Applications with SeaBreeze 5.0 Prof. Dr. Uta Seewald-Heeg Hochschule Anhalt – Fachbereich
Multilingual Seaside Web Applications with SeaBreeze 5.0 Prof. Dr. Uta Seewald-Heeg Hochschule Anhalt – Fachbereich

Multilingual Seaside Web

Applications with SeaBreeze 5.0

Multilingual Seaside Web Applications with SeaBreeze 5.0 Prof. Dr. Uta Seewald-Heeg Hochschule Anhalt – Fachbereich

Prof. Dr. Uta Seewald-Heeg

Hochschule Anhalt Fachbereich Informatik

Markus Rips, Georg Heeg Georg Heeg eK Dortmund Zürich

Smalltalk Solutions 2011 Las Vegas, March 14, 2011

Anhalt University of Applied Sciences, Köthen • Founded 1891 • Department of Computer Science •

Anhalt University of Applied Sciences, Köthen

Anhalt University of Applied Sciences, Köthen • Founded 1891 • Department of Computer Science • Software

Founded 1891

Department of Computer Science

Software Localization

Köthen • Founded 1891 • Department of Computer Science • Software Localization – Bachelor and Master

Bachelor and Master

Georg Heeg • Founded 1987, headquarter in Dortmund, since 1996 in Zurich, since 1999 in

Georg Heeg

Georg Heeg • Founded 1987, headquarter in Dortmund, since 1996 in Zurich, since 1999 in Koethen/Anhalt

Founded 1987, headquarter in Dortmund, since 1996 in Zurich, since 1999 in Koethen/Anhalt

Consulting- and training company in Smalltalk

Technology-partner of

VisualWorks, ObjectStudio and VSE

Technology-partner of • VisualWorks, ObjectStudio and VSE Corporate Mission: Make Sophisticated Projects a Success for

Corporate Mission: Make Sophisticated Projects

a Success for the Customer!

Today‘s Topic • Not only in the Seaside Mailing List: • How to create multilingual

Today‘s Topic

Today‘s Topic • Not only in the Seaside Mailing List: • How to create multilingual Web

Not only in the Seaside Mailing List:

How to create multilingual Web Applications?

Easily!

Localization Process (according to Microsoft)

Localization Process

(according to Microsoft)

Localization Process (according to Microsoft)
Localization Process (according to Microsoft)
Localization in the Context of Globalization and Internationalization • Globalization (G11N) • Internationalization

Localization in the Context of

Globalization and Internationalization

• Globalization (G11N) • Internationalization (I18N) • Localization (L10N)
• Globalization (G11N)
• Internationalization (I18N)
• Localization (L10N)

GLOBALIZATION

G 1 2 3 4 5 6 7 8 9 10 11 N

Globalization, Internationalization, and Localization Source: Multilingual Supplement April, Mai 2009

Globalization, Internationalization, and Localization

Globalization, Internationalization, and Localization Source: Multilingual Supplement April, Mai 2009

Source: Multilingual Supplement April, Mai 2009

Internationalization • The process of enabling a product at a technical level for localization. Source:

Internationalization

Internationalization • The process of enabling a product at a technical level for localization. Source: LISA

The process of enabling a product at a

technical level for localization.

Source: LISA [http://www.lisa.org/Glossary.108.0.html?tid=1]

Engineering culture and language-neutral

software kernels that can be compiled together with separate “locale packages”

usually contained in independent resource

files.

[Gregory M. Shreve, Kent State University]

Internationalization • Internationalization is a precursor to localization and its purpose is both to lower

Internationalization

Internationalization • Internationalization is a precursor to localization and its purpose is both to lower the

Internationalization is a precursor to

localization and its purpose is both to lower the effort and cost of localization and

translation and to increase the speed and

accuracy with which localization can be accomplished. In an age where the

simultaneous release of multilingual

documentation, web pages or software is a corporate objective, such strategies are indispensable.

[Gregory M. Shreve, Kent State University]

Localization The process of modifying products or services to account for differences in distinct markets.

Localization

Localization The process of modifying products or services to account for differences in distinct markets. The

The process of modifying products or services to account for differences in distinct markets.

The process of adapting software for a

particular geographical region (locale). Translation of the user interface, system

messages, and documentation is a large part

(but not all) of the localization process.

Source: LISA [http://www.lisa.org/Glossary.108.0.html?tid=1]

Software Localization

Software Localization • Adaptation of software for a particular geographical region • Translation of the user
• Adaptation of software for a particular geographical region • Translation of the user interface
• Adaptation of software for a particular
geographical region
• Translation of the user interface
Linguistic and cultural adaptation of
websites
geographical region • Translation of the user interface • Linguistic and cultural adaptation of websites
An Integrated Process I18N and L10N together comprise a complete process that makes the adaptation
An Integrated Process I18N and L10N together comprise a complete process that makes the adaptation

An Integrated Process

An Integrated Process I18N and L10N together comprise a complete process that makes the adaptation of

I18N and L10N together comprise a

complete process that makes the adaptation of a product line for a different linguistic and cultural locale

cost-effective and successful.

I18N is “stuff” you have to do once.

L10N is “stuff” you have to do over

and over

The more stuff you push into I18N out of L10N, the less complicated &

expensive the process (Schmitz, 2001)

Gregory M. Shreve, Kent State University

Current hot topic in L10n Business • Agile Methods – SCRUM – Not really appreciated

Current hot topic in L10n Business

Agile Methods

Current hot topic in L10n Business • Agile Methods – SCRUM – Not really appreciated by

SCRUM

Not really appreciated by translators

Current hot topic in L10n Business • Agile Methods – SCRUM – Not really appreciated by
Current hot topic in L10n Business • Agile Methods – SCRUM – Not really appreciated by
? A Few Issues 12. März 2010 12.03.2010 Deutsch (DIN 5008, 2001) 12/03/2010 12/03/2010 12-03-2010
? A Few Issues 12. März 2010 12.03.2010 Deutsch (DIN 5008, 2001) 12/03/2010 12/03/2010 12-03-2010
?
?

A Few Issues

12. März 2010 12.03.2010 Deutsch (DIN 5008, 2001) 12/03/2010 12/03/2010 12-03-2010 Französisch 12 mars 2010
12. März 2010
12.03.2010
Deutsch
(DIN 5008, 2001)
12/03/2010
12/03/2010
12-03-2010
Französisch
12 mars 2010
03/12/2010
March 12, 2010
Amerikanisch
12 March 2010
2010-03-12
EU
(ISO 8601/EN 28601, 1992)
?
?

Strings

Sorting

Date

Time

Calendar

Currency

Measurements

Graphics

Colour/Color

Writing stiles

Icons

Example Issue Abgeschnittener ? Text einer Beenden Schaltfläche.

Example Issue

Example Issue Abgeschnittener ? Text einer Beenden Schaltfläche.
Example Issue Abgeschnittener ? Text einer Beenden Schaltfläche.
Example Issue Abgeschnittener ? Text einer Beenden Schaltfläche.
Abgeschnittener ? Text einer Beenden Schaltfläche.

Abgeschnittener ?

Text einer

Beenden

Schaltfläche.

Sorting

Sorting

Sorting
Sorting
Sorting
Sorting
Coding Codepages • Interpretion of byte arrays as character sequences • Legacy – ANSII (0

Coding

Codepages • Interpretion of byte arrays as character sequences • Legacy – ANSII (0 to
Codepages
• Interpretion of byte arrays as character sequences
• Legacy
– ANSII (0 to 127)
– ISO8859L15 (with €)
– DOS, OEM, CP850
– Windows, MSCP1252
• Unicode
– 0 to 16r10FFFF (1.114.111)
– Subsets: ASCII, ISO8859L1, UCS2
– Complete encodings: UTF7, UTF8, UTF16, UTF32
Byte String
Hex
Dez
Windows Codepage 1252
(W. European)
Windows Codepage 1253
(Cyrillic)
0xD6
214
Ö
Ц
0xFF
252
ü
ь
Unicode Overview The Unicode codespace is divided into seventeen planes , numbered 0 to 16:

Unicode Overview

The Unicode codespace is divided into seventeen planes, numbered 0 to 16:

Unicode Overview The Unicode codespace is divided into seventeen planes , numbered 0 to 16: Source:

Source: Wikipedia

Smalltalk and Encoding • Current VisualWorks and ObjectStudio – Characters are characters – Strings are

Smalltalk and Encoding

Smalltalk and Encoding • Current VisualWorks and ObjectStudio – Characters are characters – Strings are sequences

Current VisualWorks and ObjectStudio

Characters are characters

Strings are sequences of characters

Interfaces know their string encoding

Windows functions: UTF16

Files byte order marks and autodetection

ODBC: UTF16

Rule:

Never handle encoding inside the application

With all these Tedious Tasks • Tools are needed – Internationalization tools – Localization tools

With all these Tedious Tasks

Tools are needed

Internationalization tools

Localization tools

Translation tools

these Tedious Tasks • Tools are needed – Internationalization tools – Localization tools – Translation tools
Localization Tool Tasks Units to be localized Lokalize Localized Units Glossaries TMs TVs Program extract

Localization Tool Tasks

Localization Tool Tasks Units to be localized Lokalize Localized Units Glossaries TMs TVs Program extract
Units to be localized Lokalize Localized Units Glossaries TMs TVs Program extract Generate Source Modified
Units to be
localized
Lokalize
Localized
Units
Glossaries
TMs
TVs
Program
extract
Generate
Source
Modified Program
Source
Target
Program
(Skeleton)
Source
Localization Tool
Localization Environments • Translation Memory Systems – Across, memoQ, SDL Trados • Localization Tools –

Localization Environments

Localization Environments • Translation Memory Systems – Across, memoQ, SDL Trados • Localization Tools –

Translation Memory Systems

Across, memoQ, SDL Trados

Localization Tools

Catalyst, SDL Passolo

Machine Translation

Online platforms, local systems

Rule based versus corpus/statistics based

Translation Memory

Translation Memory

Translation Memory
Translation Memory
Parser Configuration

Parser Configuration

Parser Configuration
Parser Configuration
Localization Tool SDL Passolo

Localization Tool

SDL Passolo

Localization Tool SDL Passolo
Localization Tool SDL Passolo
VisualWorks & I18n • CLDR Locales – New in 7.7.1 • Per process locales •

VisualWorks & I18n

VisualWorks & I18n • CLDR Locales – New in 7.7.1 • Per process locales • Per

CLDR Locales

New in 7.7.1

Per process locales

Per process user message catalog support

New in preview in 7.8

UserMessage

Catalog, key, default string

LBL files

Configuring Trados for LBL Files

Configuring Trados for LBL Files

Configuring Trados for LBL Files
Globalization Tools in VisualWorks • I18n tool set – Internationalize your application • L10n tool

Globalization Tools in VisualWorks

I18n tool set

Internationalize your application

L10n tool set

Localize your application

SeaBreeze version 5

tool set – Internationalize your application • L10n tool set – Localize your application • SeaBreeze
Web-Server-Question • How to determine the best locale for the visitor? – Accept-language in HTTP

Web-Server-Question

Web-Server-Question • How to determine the best locale for the visitor? – Accept-language in HTTP header

How to determine the best locale for the

visitor?

Accept-language in HTTP header

Example:

Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3,fr-ca;q=0.2

Google

Location of the user

CNN

Setting-UI on the web site

Delta Airlines

URL

Wikipedia, ebay

Demo

Demo

Demo