C12: Come in Rangoon: Global Accessibility and

Download Report

Transcript C12: Come in Rangoon: Global Accessibility and

Exchange
2001
PROGRESS WORLDWIDE
C12: “Come in Rangoon!”:
Global Accessibility and
Deployment
Tex Texin, General Product Manager
Progress Software
“Come in Rangoon!”
“Radio Progress Calling”
Exchange 2001, Washington, DC, USA
2
© 2001, Progress Software Corporation
I shoulda known betta!
Idioms and humor do not translate...
“Come in Rangoon!”
Even the translators did not know what it meant…
Possible French replacement:
“Le 22 á Asniéres” a famous (we hope) French joke.
Possible Spanish replacement:
“¿E-business? Que se ponga.” Also based on a joke
from Spain. (Jose Miguel Gila’s line.)
But the line was not known in Latin America, so:
“Adelante Timbuktu!”
Exchange 2001, Washington, DC, USA
3
© 2001, Progress Software Corporation
Lessons Learned






Rangoon, Burma no longer exists.
It is now Yangon, Myanmar
Avoid humor.
Avoid idioms.
Speak simply and directly.
Test with native speakers.
Test with different dialects.
– France vs. Fr. Canada
– Spain vs. Latin America
Exchange 2001, Washington, DC, USA
4
© 2001, Progress Software Corporation
Global Accessibility and Deployment
Agenda
Importance of localization
Definition of terms
Regional business requirements
User interface requirements
Character processing on the web
Internet, WebSpeed, XML
Translation strategies
Summary
Exchange 2001, Washington, DC, USA
5
© 2001, Progress Software Corporation
Isn’t the web mostly English?
From: http://www.glreach.com/globstats/index.php3
Exchange 2001, Washington, DC, USA
6
© 2001, Progress Software Corporation
Internet Commerce (B2B + B2C)
($Billions)
$6,000
$5,000
Non US
US
$4,000
$3,000
$2,000
36% US
61% US
$1,000
$0
1999
2000
2001
2002
2003
2004
2005
Source: ICMM V7.0, IDC 2001
Exchange 2001, Washington, DC, USA
7
© 2001, Progress Software Corporation
People Prefer Local Language ...
% Preferring Native Language Sites
Exchange 2001, Washington, DC, USA
9
a
In
di
C
R
P
Ja
pa
n
o
ic
l
ex
zi
ra
B
Source: IDC Project Atlas, 1999
M
G
er
..
Fr .
an
ce
N
et
h.
..
100%
75%
50%
25%
0%
© 2001, Progress Software Corporation
…But Commerce Crosses Borders
% of Home Web Spending In-Country
100%
75%
50%
25%
P
M RC
al
ay
si
a
Br
az
il
Pe
ru
Ca US
na
da
G
Ne erm
th an
er y
la
nd
s
0%
Source: IDC Project Atlas, 1999
Exchange 2001, Washington, DC, USA
10
© 2001, Progress Software Corporation
Global Accessibility and Deployment
Agenda
Importance of localization
Definition of terms
Regional business requirements
User interface requirements
Character processing on the web
Internet, WebSpeed, XML
Translation strategies
Summary
Exchange 2001, Washington, DC, USA
12
© 2001, Progress Software Corporation
Definition of terms
Internationalization
To design and develop an application:

– without built-in cultural assumptions
– that is efficient to localize
Localization
To tailor an application to meet the needs of a
particular region, market, or culture
 Translation
To render an application into another language

Exchange 2001, Washington, DC, USA
13
© 2001, Progress Software Corporation
Regional business requirements

Legal requirements
–
–
–
–

Privacy laws
Import/Export laws
Advertising
Language
Accounting requirements
– Taxes, reporting, currency

Support
– Lemon laws
Exchange 2001, Washington, DC, USA
14
© 2001, Progress Software Corporation
Regional business requirements

Hardware and infrastructure varies
– Cost of phone or net services
– Availability and speed
e.g. landline vs cellular
– Market leadership

Japan’s NTT DoCoMo i-mode vs. WAP
– Display devices use different form factors


Preference for terminal, GUI, browser or
phone
Computer literacy
Exchange 2001, Washington, DC, USA
15
© 2001, Progress Software Corporation
Global Accessibility and Deployment
Agenda
Importance of localization
Definition of terms
Regional business requirements
User interface requirements
Character processing on the web
Internet, WebSpeed, XML
Translation strategies
Summary
Exchange 2001, Washington, DC, USA
16
© 2001, Progress Software Corporation
Let’s start our application design
with an icon for our home page






Exchange 2001, Washington, DC, USA
17
The place to return to
The place to begin from
Place of safety
Baseball’s home base
Click your heels 3 times…
But, these associations
are not universal
© 2001, Progress Software Corporation
Let’s start our application design
with an icon for our home page





Exchange 2001, Washington, DC, USA
18
French: démarrage (start)
Ger. Startseite (start page)
Japan: Ho-mu pe-ji
In many regions, homes do
not look like this.
So this icon is a poor
choice, but due to wide
exposure may now be
recognized although still
not understood.
© 2001, Progress Software Corporation
User interface design
Choosing graphics and text



Avoid puns and word play (ini2reg)
Avoid metaphors (home, desktop, toolkit)
Avoid body parts and positions
(eyes, hands, feet)




Avoid sports references (homerun)
Avoid animal symbols (owl, dog, cow,…)
Avoid religious symbols (stars, crosses)
Be aware that reading directions can be
left to right or right to left.
Exchange 2001, Washington, DC, USA
19
© 2001, Progress Software Corporation
Exchange 2001, Washington, DC, USA
20
© 2001, Progress Software Corporation
What does this say?
The detergent cleans dirty shirts...
Unless you are a right-to-left reader from
the Middle-East...
Exchange 2001, Washington, DC, USA
21
© 2001, Progress Software Corporation
User interface design
Avoid putting text in images

Graphics expensive to update
Font difficult to create
Background difficult to replace
New text may interfere with image

Solution: Use Tooltips



Exchange 2001, Washington, DC, USA
22
© 2001, Progress Software Corporation
User interface design
Use generalization and abstraction
(Icons courtesy of The Icon Book, W. Horton)
Exchange 2001, Washington, DC, USA
23
© 2001, Progress Software Corporation
User interface design
Formatted or structured data





Date, Time, Year, Calendar, Workweek
Number, Precision, Size
Rounding, Currency
Title, Name Order, Address
Page Size, Measurement units
Exchange 2001, Washington, DC, USA
24
© 2001, Progress Software Corporation
User interface design
Color and sound

Red

White
Danger in the U.S.
Purity in U.S.
Marriage in China
Funeral color in Asia

Error Beeps: A source of great embarrassment.
Exchange 2001, Washington, DC, USA
25
© 2001, Progress Software Corporation
User interface and reports
Plan for translation

Translation can be larger than original text
English: Speed Limit
German: Geschwindigkeits-Begrenzung

Translators need context and flexibility
– Avoid building sentences from fragments
– Avoid dynamic widget creation
– Word order may change
Don’t do this:
“There are ” + i + “tables in” + j “files.”
Do this:
Substitute(“There are &1 tables in &2 files.”, i, j).
Substitute(“Dans les fichiers &2, il y avait &1 tables”, i, j).
Exchange 2001, Washington, DC, USA
26
© 2001, Progress Software Corporation
Global Accessibility and Deployment
Agenda
Importance of localization
Definition of terms
Regional business requirements
User interface requirements
Character processing on the web
Internet, WebSpeed, XML
Translation strategies
Summary
Exchange 2001, Washington, DC, USA
27
© 2001, Progress Software Corporation
Character handling
Character sets

A collection of symbols
–
–
–
–
–
–
Letters, Digits
Punctuation
Arithmetic
Special symbols e.g. © ® § ¶ ¥ £
Line drawing
Control codes
Exchange 2001, Washington, DC, USA
28
© 2001, Progress Software Corporation
Character handling
Code pages


Each symbol assigned a numeric value
Vary by language, device, operating
system
Ä = 196 in ISO8859-1 (Unix)
Ä = 142 in
IBM 850 (Dos)
Exchange 2001, Washington, DC, USA
29
© 2001, Progress Software Corporation
ISO Latin-1 (ISO 8859-1) Code Page
32
64
96
128
160
192
224
Exchange 2001, Washington, DC, USA
30
© 2001, Progress Software Corporation
Russian Windows Code Page CP1251
32
64
96
128
160
192
224
Exchange 2001, Washington, DC, USA
31
© 2001, Progress Software Corporation
Japanese, Chinese, Korean
Languages with >255 characters
Use Double-byte Character Sets (DBCS)
Mixed size characters: 1 or 2 bytes
ASCII compatible
Text:
# Chars:
# Bytes:
S
1
1
S
2
2
S
3
3
L T L T L T S
4 4 5 5 6 6 7
4 5 6 7 8 9 10
S
8
11
How long is a DBCS string?
Exchange 2001, Washington, DC, USA
32
© 2001, Progress Software Corporation
Deploying across platforms/devices
Real World Example: Russia
Client
Windows 1251
Unix
ISO 8859-5
Printer
KOi8-R
Database
Server
Dos
R-code
Files
?
?
Database
code page
DOS ibm866
Exchange 2001, Washington, DC, USA
33
© 2001, Progress Software Corporation
Progress Solution
Every blue line is a conversion
-CPINTERNAL 1251
Client
-CPINTERNAL
ISO 8859-5
-CPPRINT
KOi8-R
Database
Server
Dos
R-code
Files
Labeled
ISO 8859-5
Database
labeled
-CPSTREAM
IBM866
Exchange 2001, Washington, DC, USA
34
© 2001, Progress Software Corporation
Unicode Character Set
A Worldwide, Multilingual Code Page
Example Unicode Characters
Exchange 2001, Washington, DC, USA
35
© 2001, Progress Software Corporation
Progress and Unicode
UTF-8 is multi-byte form of Unicode
e.g. É is 1 character, 2 bytes, 1 column
 Programming is same as Double-byte

– Modify LENGTH, SUBSTRING, OVERLAY
– Specify RAW, CHARACTER, COLUMN
– Use -CHECKDBE to find changes
Exchange 2001, Washington, DC, USA
36
© 2001, Progress Software Corporation
Unicode Configurations
4GL client with
any code page
Java or
ActiveX
Unicode
client
UTF-8
Batch client
UTF-8
AppServer
4GL client with any
other code page
Exchange 2001, Washington, DC, USA
37
UTF-8
Progress
Database
Server
UTF-8
Progress
Database
SQL-92
UTF-8
client
SQL-92
UTF-8
Database
© 2001, Progress Software Corporation
Global Accessibility and Deployment
Agenda
Importance of localization
Definition of terms
Regional business requirements
User interface requirements
Character processing on the web
Internet, WebSpeed, XML
Translation strategies
Summary
Exchange 2001, Washington, DC, USA
38
© 2001, Progress Software Corporation
Processing of a URL
http://www.progress.com






Give browser a URL
http requests the page
request routed to web
server
server processes
request and serves a
page
http back to browser
browser receives, parses
and displays page
Exchange 2001, Washington, DC, USA
web
server
http
html
39
url
html pages
to serve
© 2001, Progress Software Corporation
But users, servers and pages can be
anywhere and in any language
http://www.progress.jp
http://www.progress.no
code page
EBCDIC
code page GB2312
Sprechen sie
html
Deutsch?
Exchange 2001, Washington, DC, USA
html
Parlez-vous
français?
40
© 2001, Progress Software Corporation
Let’s look at an example web page
Exchange 2001, Washington, DC, USA
41
© 2001, Progress Software Corporation
The same web page viewed in Japan
Exchange 2001, Washington, DC, USA
43
© 2001, Progress Software Corporation
The same web page viewed in Japan
The browser has no
information about the code
page of the web page.
It uses a default value
which in this case, is very
wrong and even confuses
the markup (see beauté).
Exchange 2001, Washington, DC, USA
44
© 2001, Progress Software Corporation
Solutions



Tell user “set browser code page”
User picks url based on code page
Entity names
é ç è ê €
note: names are case-sensitive

NCRs (Numeric Character References)
–
–
–
–
e.g. Use € for Euro
Netscape 4.72 doesn’t recognize
File size expands
easier to automate than entity names
Exchange 2001, Washington, DC, USA
45
© 2001, Progress Software Corporation
Example with entity names and NCRs
<BODY>
Bienvenue au cours WebSpeed
<P>Nous <b>esp&eacute;rons</b> que vos applications ebusiness fonctionneront en <b>fran&ccedil;ais</b>.
<br>Les <b>fran&ccedil;ais ach&egrave;tent</b> les
produits suivant sur internet;
<br><b>v&ecirc;tements</b>
<br><b>produits de beaut&eacute;</b>
<p>…
…
Don’t forget to put in Euros (&#X20AC;) not Dollars ($)
Exchange 2001, Washington, DC, USA
46
© 2001, Progress Software Corporation
Or specify the charset in the HTML!


Set character set in http protocol
Set http charset using the HTML element
META
– Use the IANA name for the character set
<META HTTP-EQUIV="Content-type"
CONTENT="text/html;charset=iso-8859-1">
This is the preferred approach!
Exchange 2001, Washington, DC, USA
47
© 2001, Progress Software Corporation
Declaring language and locale
LANG, SPAN, DIV
<HTML Lang=“en-US”>
<HEAD>
<META HTTP-EQUIV=“Content-type”
Content=“text/html; charset=windows-1252”>
<META name=“keywords” lang=“en-US” content=“clothing”>
<META name=“keywords” lang=“fr-CA” content=“vêtements”>
<TITLE>Example 1</TITLE>
</HEAD>
<BODY>
<SPAN lang=“fr-FR”>
Bienvenue au cours WebSpeed…
</SPAN>
<SPAN lang=“en-US”>
Welcome to the WebSpeed class…
</SPAN>
Exchange 2001, Washington, DC, USA
50
© 2001, Progress Software Corporation
Processing of a URL





http://www.progress.com
Give browser a URL
web
Returned page offers
ISO 8859-2
server
language, locale choices
http
url
Choosing determines the
next page returned
Declared Charset in
HTML allows browser to
html pages
perform conversions and
to serve
correct display
html
html
Accept-charset, Acceptlanguage can be used to
French, Russian,
WebSpeed
aid selection
cp1250
cp1252
Exchange 2001, Washington, DC, USA
51
© 2001, Progress Software Corporation
Tips for Web Internationalization

User selects region & language on initial
web page
– Don’t assume language = region
– Don’t use country flag for language

Users expect local URLs
– xxx.jp, xxx.cn, xxx.uk, xxx.de,…
Exchange 2001, Washington, DC, USA
52
© 2001, Progress Software Corporation
Examples
Progress local URLs
progress.co.at
progress.be
progress.cz
progress.de
progress.dk
progress.com.ec
progress.no
progress.com.ru
progress.co.cr
progress.com.gt
progress.com.mx
progress.com.pk
progress.com.ro
progress.se
progress.sk
progress.ph
Exchange 2001, Washington, DC, USA
Austria
Belgium
Czech Republic
Rep. of Germany
Denmark
Ecuador
Norway
Russian Fed.
Costa Rica
Guatemala
Mexico
Pakistan
Romania
Sweden
Slovakia
Philippines
53
© 2001, Progress Software Corporation
Examples
Progress(-)software local URLs
progress-software.com.au
progresssoftware.com.au
progress-software.com.ar
progress-software.be
progress-software.com.br
progress-software.fr
progress-software.com.hk
progress-software.co.jp
progress-software.nl
progress-software.se
progress-software.ch
progress-software.co.uk
progresssoftware.co.uk
progress-software.es
progress-software.pl
progress-software.fi
Exchange 2001, Washington, DC, USA
Australia
Australia
Argentina
Belgium
Brazil
France
Hong Kong
Japan
Netherlands
Sweden
Switzerland
United Kingdom
United Kingdom
Spain
Poland
Finland
54
© 2001, Progress Software Corporation
XML
XML declares the encoding in the opening
declaration
<?xml version="1.0" encoding="UTF-8" ?>
 You can use other encodings, but Unicode
is the only one with guaranteed support
 XML:lang equivalent to lang in HTML

<p xml:lang="en-GB">What colour is it?</p>
<p xml:lang="en-US">What color is it?</p>
Exchange 2001, Washington, DC, USA
55
© 2001, Progress Software Corporation
Apply HTML charset via WebSpeed



Modify web-disp.p to emit the character
set statement in the header of every html
page
Use the IANA name for the character set,
not the Progress character set name
Routine for converting session:cpinternal
is simple.
Exchange 2001, Washington, DC, USA
56
© 2001, Progress Software Corporation
Function Get-Mime-CodePage
(available on the CD)
/* Function to return the IANA name for a code page,
given the Progress code page name.
Example usage:
DISPLAY Get-Mime-CodePage(session:cpinternal). */
FUNCTION Get-MIME-CodePage RETURNS CHARACTER
(INPUT progress-CodePage as CHARACTER).
DEFINE VARIABLE PRO-cplist AS CHAR INIT
“1250, 1251, … UTF-8”.
DEFINE VARIABLE MIME-cplist AS CHAR INIT
“windows-1250, windows-1251, … UTF-8”.
DEFINE VARIABLE I AS INTEGER.
I = LOOKUP(progress-CodePage,PRO-cplist).
If I = 0 THEN RETURN “”.
ELSE RETURN ENTRY(I,MIME-cplist).
END FUNCTION.
Exchange 2001, Washington, DC, USA
57
© 2001, Progress Software Corporation
Translation strategies

User chooses
language, locale

HTML labeled with
IANA code page

Unicode database

Translations in Rcode or database
Exchange 2001, Washington, DC, USA
58
© 2001, Progress Software Corporation
Progress Service Capabilities
Consulting packages for I18N, L10N

Getting
You
Started …
Internationalization
–
–
–
–

Identify resources
Provide planning and logistics
Leverage Progress expertise
Leverage I18N, L10N expertise
Training
– Internationalization +
– Translation Manager
For info: David McBain
[email protected]
Exchange 2001, Washington, DC, USA
59
© 2001, Progress Software Corporation
FOR MORE
INFORMATION
Internationalization Guide 4524
Translation Manager 4539
Visual Translator 4540
White Papers at
Exchange 2001, Washington, DC, USA
www.progress.com
60
© 2001, Progress Software Corporation
Global Accessibility and Deployment
Agenda
Importance of localization
Definition of terms
Regional business requirements
User interface requirements
Character processing on the web
Internet, WebSpeed, XML
Translation strategies
Summary
Exchange 2001, Washington, DC, USA
61
© 2001, Progress Software Corporation
Summary
Your I18n tasklist




Localization is important on the web
Have native, in-market users assess s/w
Assess regional business requirements
User Interface and Reports
–
–
–
–
–
–
Simple, direct language is most efficient
Avoid humor, word play, symbolism
Generalize and abstract to create graphics
Avoid putting text in graphics
Plan for text expansion and reformatting
Avoid dynamic widget and text creation
Exchange 2001, Washington, DC, USA
62
© 2001, Progress Software Corporation
Summary
Your I18n tasklist

Code pages
–
–
–
–


Label text with the correct code page
Label *ML with the correct code page
Use the Progress code page parameters
Migrate to Unicode
Use lang attribute for better browser and
search engine support
Translation strategy
– Use Translation Manager for R-Code
– Use database for server-side text
Exchange 2001, Washington, DC, USA
63
© 2001, Progress Software Corporation
Questions
Exchange 2001, Washington, DC, USA
64
© 2001, Progress Software Corporation