Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg
-
Upload
smalltalk-solutions -
Category
Documents
-
view
493 -
download
4
description
Transcript of Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg
Multilingual Seaside Web
Applications with SeaBreeze 5.0
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
• Software Localization
– Bachelor and Master
Georg Heeg
• 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
Corporate Mission: Make Sophisticated Projects
a Success for the Customer!
Today‘s Topic
• Not only in the Seaside Mailing List:
• How to create multilingual Web Applications?
• Easily!
Localization Process (according to Microsoft)
Localization in the Context of
Globalization and Internationalization
• 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
Internationalization
• 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
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.
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
• Adaptation of software for a particular
geographical region
• Translation of the user interface
• Linguistic and cultural adaptation of
websites
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)
An Integrated Process
Gregory M. Shreve, Kent State University
Current hot topic in L10n
Business
• Agile Methods
– SCRUM
– Not really appreciated by translators
A Few Issues
• Strings
• Sorting
• Date
• Time
• Calendar
• Currency
• Measurements
• Graphics
• Colour/Color
• Writing stiles
• Icons
12. März 2010
12.03.2010
12/03/2010
12/03/2010
12-03-2010
12 mars 2010
03/12/2010
March 12, 2010
12 March 2010
2010-03-12
?
?
Deutsch (DIN 5008, 2001)
Französisch
Amerikanisch
EU (ISO 8601/EN 28601, 1992)
Example Issue
Abgeschnittener
Text einer
Schaltfläche.
Beenden ?
Sorting
Coding
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 Windows Codepage 1252 Windows Codepage 1253
Hex Dez (W. European) (Cyrillic)
0xD6 214 Ö Ц
0xFF 252 ü ь
Unicode Overview
The Unicode codespace is divided into seventeen planes, numbered 0 to 16:
Source: Wikipedia
Smalltalk and Encoding
• 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
– Translation tools
Localization Tool Tasks
extract Program
Source
Modified Program
Source
(Skeleton)
Units to be
localized
Target
Program
Source
Generate
Localized
Units
Localization Tool
Glossaries
TMs TVs
Lokalize
Localization Environments
• 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
Parser Configuration
Localization Tool SDL Passolo
VisualWorks & I18n
• 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
Globalization Tools
in VisualWorks
• I18n tool set
– Internationalize your application
• L10n tool set
– Localize your application
• SeaBreeze version 5
Web-Server-Question
• 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
– Location of the user
• CNN
– Setting-UI on the web site
• Delta Airlines
– URL
• Wikipedia, ebay
Demo