![Page 1: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/1.jpg)
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
![Page 2: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/2.jpg)
Anhalt University of Applied Sciences, Köthen
• Founded 1891
• Department of Computer Science
• Software Localization
– Bachelor and Master
![Page 3: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/3.jpg)
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!
![Page 4: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/4.jpg)
Today‘s Topic
• Not only in the Seaside Mailing List:
• How to create multilingual Web Applications?
• Easily!
![Page 5: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/5.jpg)
Localization Process (according to Microsoft)
![Page 6: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/6.jpg)
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
![Page 7: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/7.jpg)
Globalization, Internationalization,
and Localization
Source: Multilingual Supplement April, Mai 2009
![Page 8: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/8.jpg)
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]
![Page 9: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/9.jpg)
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]
![Page 10: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/10.jpg)
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]
![Page 11: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/11.jpg)
Software Localization
• Adaptation of software for a particular
geographical region
• Translation of the user interface
• Linguistic and cultural adaptation of
websites
![Page 12: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/12.jpg)
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
![Page 13: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/13.jpg)
Current hot topic in L10n
Business
• Agile Methods
– SCRUM
– Not really appreciated by translators
![Page 14: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/14.jpg)
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)
![Page 15: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/15.jpg)
Example Issue
Abgeschnittener
Text einer
Schaltfläche.
Beenden ?
![Page 16: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/16.jpg)
Sorting
![Page 17: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/17.jpg)
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 ü ь
![Page 18: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/18.jpg)
Unicode Overview
The Unicode codespace is divided into seventeen planes, numbered 0 to 16:
Source: Wikipedia
![Page 19: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/19.jpg)
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
![Page 20: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/20.jpg)
With all these Tedious Tasks
• Tools are needed
– Internationalization tools
– Localization tools
– Translation tools
![Page 21: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/21.jpg)
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
![Page 22: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/22.jpg)
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
![Page 23: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/23.jpg)
Translation Memory
![Page 24: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/24.jpg)
Parser Configuration
![Page 25: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/25.jpg)
Localization Tool SDL Passolo
![Page 26: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/26.jpg)
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
![Page 27: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/27.jpg)
Configuring Trados for LBL Files
![Page 28: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/28.jpg)
Globalization Tools
in VisualWorks
• I18n tool set
– Internationalize your application
• L10n tool set
– Localize your application
• SeaBreeze version 5
![Page 29: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/29.jpg)
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
![Page 30: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/30.jpg)
![Page 31: Multilingual Seaside Web Applications with seaBreeze 5.0 - Georg Heeg](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5516e89649795938228b4633/html5/thumbnails/31.jpg)
Demo