SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Internationalization and Translatability
for Beginners
AGIS 09, University of Limerick, 21-September-2009
Ultan Ó Broin
© Ultan Ó Broin September 2009
About
• Ultan Ó Broin
• Microsoft and Oracle localization
and internationalization
• Oracle Applications User Experience
• Localization World, Multilingual Web Site,
Internationalization Roundtable Advisory
Boards
• Editorial Board Multilingual Magazine
• Blogos
• Social media use by disabled research
(TCD)
• Caveats about this presentation
• Personal perspective and opinion
• Not those of Oracle Corporation
• Don’t rush out and buy/sell ORCL stock as a result
• Copyright and usage
• Share-alike non-attribution non-commercial please
• Screenshots and images remain the copyright of respective owners
• Products and services may be trademarks of their respective owners
• Reproduction for promotional work for non-profit use is fine, but play nice and say where
you got the information and from whom (@ultan)
© Ultan Ó Broin 2009
© Ultan Ó Broin September 2009
Agenda: Internationalization and Translatability
• Definitions
• Organization and
process
• Internationalization
issues
• Character
Processing
• International Variables
• Translatability
• Tools and environments
• What makes sense for the little guy?
• Resources
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Presentation Objectives
• Software and documentation-centric
• Learn about internationalization (I18n) process
and responsibilities
• Understand core I18n issues
• Identify key I18n considerations for content
development
• Consider what makes sense for you
• Obtain resources for further investigation
• Global user experience
© Ultan Ó Broin September 2009
Internationalization Definitions
• “Internationalization is the process of designing a
product so that it can be easily localized without the
need for redesign… it is the process of designing and
implementing a product which is as culturally and
technically “neutral” as possible, and which can
therefore easily be localized for a specific culture or
cultures.”
Localization Industry Standards Association (http://:www.lisa.org, accessed 15 April 2007)
© Ultan Ó Broin September 2009
Internationalization Definitions
• “Internationalization is the process of re-engineering
any information product so that it can be easily
localized for export to any country in the world. An
internationalized information product consists of two
components: core information and international
variables.”
Nancy Hoft, International Technical Communication, 1995, p. 19
• Core information: Same code used by the same product in
different environments
• International variables: political, economic, social, religious,
educational, linguistic, technological – the localizable,
cultural, user experience elements
© Ultan Ó Broin September 2009
Internationalization Definitions
• “The process of making information technology
flexible enough to be used in different cultural and
linguistic environments without changing source
code.”
• “Allows choice of language and locale (collection of
language and cultural preferences).”
• “Internationalized and localized products provide
equivalent functionality to users in their own language
while observing their cultural conventions.”
Oracle University, Introduction to Product Globalization, 2001
© Ultan Ó Broin September 2009
Internationalization Definitions
• “Internationalization: The process of developing a
program core whose feature design and code design
don’t make assumptions based on a single language
or locale and whose source code base simplifies the
creation of different language editions of a program.”
Nadine Kano, Developing International Software, 1995, p. 4
© Ultan Ó Broin September 2009
Forget This
English
Is Just
Another
Language• Why assume it’s always written in English anyway?
© Ultan Ó Broin September 2009
Questions
• Can you translate any software?
• Should you?
© Ultan Ó Broin 2009
© Ultan Ó Broin September 2009
Internationalization: Why?
• The user experience
• Communicate efficiently globally using language, customs,
symbols, conventions
• Facilitates cultural adaptation – localization (L10n),
customization
• Eliminates cultural bias
• Minimizes management
• Correct market functionality
• Allows for process efficiencies in development and
localization - scalability
© Ultan Ó Broin September 2009
I18n Costs
• Fix once at source during development
• Very costly to fix later
© LingoPort / Multilingual Magazine 2009
© Ultan Ó Broin September 2009
Internationalization: Why?
• Rationale
• You must localize
• Globalization
• Competition
• Market share
• Revenue
• Internet
• SimShip
• Legal requirements
• User experience, engagement, communication
© Salesforce.com 2007
© Ultan Ó Broin September 2009
I18n Myths Exploded
• “They all speak English”
• “Once it’s in the reader’s language, it’s OK”
• “Only the stuff they see needs attention”
• “Won’t be translated anyway, so no need”
• “Costs too much”
• “Fix it later - if we have to”
• “Wrote it in Japanese, so it’s fine”
• “It’s open source, whatever”
• “It’s Java”
• “We’re giving it away for free”
• “The user can translate it”
© Ultan Ó Broin September 2009
Example
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Questions
• Global information sharing
• Can you afford not to internationalize?
• To sell? To communicate? To share information?
• Language matters, but it’s NOT enough.
© Ultan Ó Broin September 2009
Internationalization Process
• Internationalization is a development responsibility
• Designed
• Core practice
• Modularization
• Integrate process
• Build, test environments
• No linguistic expertise required
© Ultan Ó Broin September 2009
Internationalization Standards
• Some standards/guidelines for free
• Unicode, XML, Java, HTML and so on
• Ken Lunde CJVK Information Processing great overview
• Not enough
• Application of standards
• Educate developers
• Provide tools
• Enforce standards, audit
• Set priorities
• Determine warnings versus failures
• Common sense
© Ultan Ó Broin September 2009
Internationalization Standards Examples
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Questions
• Which is better: forced or voluntary i18n?
• How might you sell i18n to developers?
• No lectures, slogans, linguistics
© Ultan Ó Broin September 2009
Internationalization Issues
• Character processing
• International variables
• Translatability
© Ultan Ó Broin September 2009
Character Processing
Character Sets
A character set is a collection of letters, numbers, punctuation
marks and signs which are needed to support the creation of text
in a language or languages
Set of Characters
P o
e
%
“
!
K
& #
+a
X
C
A
;
}
[
b
Y
o
~
5
Character Set A
Character Set B
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing
Character Encoding
Encoding is the process of mapping a character to a
bit sequence used to represent the data on the
computer
H oe l l !
48 6f656c6c 21 © Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing
Single-Byte Character Sets
English language can be represented by
7 bits (ASCII)
To accommodate Western European languages,
an extra bit is required (256 characters)
! # $
Alphabet A Zto , a zto52
Numbers10 0 9to
Punctuations % ‘ ( )“ * +
- . /
[
? @,
^ _ { | } ~ ] `
; < =:
]
>
33
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing
Multi-Byte Characters
To represent more than 256 characters, more than one byte
is used
Sample : Traditional Chinese Big5
fe c9a5 40 ac 21
!
ab a5a2 c5 6f
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing
• “Native”
Character Sets
• ISO 8859-1
Windows-1250
CP852
Shift JIS
Big5
EUC-KR ...
• Different code
support
• Conflicts
• Gaps
• Multiple-tier /
differences
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing
Unicode
• Multilingual character encoding standard
• Consistent way of encoding multilingual text data
internationally
• Foundation for global software
Arabic
Chinese FrenchEnglish
Japanese
German
Unicode
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing
Unicode encoding UTF-16 and UTF-8
• UTF-16 is a two-byte fixed-length encoding scheme
• UTF-8 is variable length encoding scheme
UTF-8
Encoding
A
Latin1
CharSet
US-ASCII
CharSet
Character
41 41
c7N/A
N/A N/A 82
41
e3 81
87c3
UTF-16
Encoding
41
c7
30 42
00
00
English Alphabet
French Alphabet
Japanese
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing Impact
Impact of Multi-Byte Character Sets
• Database column widths specified in bytes but
HTML form input fields specified in characters
• Committing mismatched data = error
Inserted value too large for the column
ID
NAME
NUMBER(3)
VARCHAR2(5)
Table Column Size
Input text field size
aaaaa
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing Impact
• Code conversion takes place during transfer of data between
tiers that use different encoding methods
• Code conversion required if different character sets exist in a
single system
• Code conversion number one issue?
ISO8859-6
ISO8859-6
to
UTF8
UTF8
to
ISO8859-6 UTF8
Sends to the server
Receives from the server © Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing Impact
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Character Processing Impact
Use Unicode support for:
• Storing
• Inserting
• Editing
• Sorting
• Deleting
• Searching
• Wrapping
• Shaping
• Rendering
• ….
Text field length Table Column
VARCHAR2(5)aa
VARCHAR2(15)aa aa
Solution…
Enlarged UTF-8 database column size as three times than original
© Ultan Ó Broin September 2009
What Character Set to Use?
• Ah, Unicode
• But…
• Which one?
• And what about legacy content?
• Moving native to Unicode?
• Remember data conversion!
© Ultan Ó Broin September 2009
International Variables - Locale
• Numbers
• Dates
• Currencies
• Time and time zone
• Address format
• Name format
• Telephone number format
• Statutory compliance
• Language
• More…
© Ultan Ó Broin September 2009
Dates
• Different date formats for different locales
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Numbers
Country Format
Numbers US 1,234,567.89
Finland 1.234.567,89
Korea 1’234’567,89
Germany 1.234.567,89
• Different number formats
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Currency
• Different currencies worldwide
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Others
• Salutation, Telephone, Address formats
• Sort orders (linguistic v logical,…)
• Units of Measure (Imperial, Metric)
• Calendar (Gregorian, Japanese, Islamic…)
• Business, legal rules (HRM, Financials,
Manufacturing)
• VAT
• Tax
• GAAP
• Statutory compliance
• SSN, PPS, IDs
• Sarbanes-Oxley
• Data protection, Privacy
• …
© Ultan Ó Broin September 2009
And of Course: Language
Source: Wikipedia.org entry on Internationalization and localization, accessed 15 April 2007
© Ultan Ó Broin September 2009
Locale Variables: Solutions
• Don’t hard-code
• Store independently (MLS)
• Rely on O/S language and country/region settings, ICU, NLS class
libraries to display
• Auto-detect, then allow user to select
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Question
• Any other international variables you can think of?
• Reading Writing Direction (BiDi, Vertical)
• HTML DIR=“RTL”
• CSS direction
• unicode-bidi property
© Ultan Ó Broin September 2009
Translatability
Translatability means that the product can be translated
easily to another languages using an efficient, common
sense, scalable process
© Ultan Ó Broin September 2009
Translatability
< I N P U T n a m e = E x c h a n g e R a t e T y p e
t y p e = r a d i o v a l u e = U S E R < % i f
( ( c u r r e n c y R a d i o B u t t o n
= = n u l l ) | | c u r r e n c y R a d i o B u t t o n . e q u a l s ( " "
) | | c u r r e n c y R a d i o B u t t o n . e q u a l s ( " U S E R " ) )
o u t . p r i n t ( " C H E C K E D " ) ; % > > U s e r r a t e s
s p e c i f i e d i n t h e t a b l e b e l o w < / T D >
Externalization - separating strings from software
code makes translation safer and easier
Tokens
Context
MESSAGE_CODE MESSAGE_TEXT LANGUAGE
------------ ------------ ---------
HELLO Hello EN
HELLO JA
HELLO Bonjour F
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Translatability
• Separation of structure and rendering
• Ready-made in some cases
• XML
• XSLT
• CSS
• File formats
• Minimize
• XLIFF
• Standardize where you can
• Context versus Preview
• Text formats
<trans-unit id="HcmPayBalTop_60FB2908EE5DCCCAE040D30A68810384V000">
<source>You can view a single balance (the accumulated result
of a payroll calculation) and groups of balances. Review balance
results to confirm that the payroll run has completed successfully, to
verify that a worker has the correct pay and amount of tax deducted,
and to check a balance before and after adjusting it.</source>
<note>Product feature: “HRM: Workforce Deployment”</note>
<note>Page title: "Search: Balances By Country"</note>
</trans-unit>
© Ultan Ó Broin September 2009
Ensure quality translation - allow for text expansion:
• 200-300% for less than 20 characters in US English
• 150% for 21-50 characters
• 130% for over 50 characters
• Technologies that allow
expansion
• Context description
Translatability
© Oracle Corporation 2001
© Richard Ishida, 1999, Xerox, Designing International User Interfaces
© Ultan Ó Broin September 2009
Translatability
Tokens
• Replaceable run-time variables
• Efficient programming technique
• Dangerous to use for translated words and verbs
Correct: This purchase order must be approved.
Incorrect: This purchase order must be &ACTION.
• Use for non-translatables: file or server names, dates,
currency amounts, system user names, or numbers
• Shortcut can prove costly in long run
Problems with concatenation
• <string1>+<string2>=<string3>
T e r m i n a l i s o p e r a t i o n a l - > T e r m i n a l e s t o p e r a t i o n n e l
T e r m i n a l i s n o t o p e r a t i o n a l - > T e r m i n a l n ’ e s t p a s o p e r a t i o n n e l
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Translatability
• Sorting Orders
• Don’t hard-code
• Manually Expensive
• O/S, DB collation
or generate w/ XSL
• Multilingual files
• Separate files
• Bilingual translation memories
• Easier maintenance
• Faster turnaround
• Translation kit structure
• Common, then folder for each language
• Reflect storage
© Ultan Ó Broin 2009
© Ultan Ó Broin September 2009
Translatability
• Identifiers
• Use for leveraging, context security
• Scale
• Development, storage efficiencies too
<p><!--BOLOC intro1019756-->Traditional performance measurement systems
typically do not provide top managers with a comprehensive view of the
organization. The Balanced Scorecard is a performance measurement
methodology, developed by Kaplan and Norton, that exceeds the typical scope
of traditional performance measurement systems. The Balanced Scorecard
methodology links the financial goals of an enterprise with the drivers that
determine future success.<!--EOLOC intro1019756--></p>
© Ultan Ó Broin 2009
© Ultan Ó Broin September 2009
Translatability
• Source Content
• Approved terminology
• Glossary and style guide
• Write for the intended audience
• Care with lang, cultural references,
humor…
• Active voice?
• Eliminate wordiness (cost,
time, user experience)
• Care with symbols,
characters, acronyms,
and other “shortcuts”
• Avoid temporary or placeholder text
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Translatability
Cost Control
• Common sense
• Basic writing
standards
• Examples
Solution:
Not needed: You must enter the username that you
want to log on with.
(12 words saved)
Better : Save your work and continue.
Wordy: Click the Apply button to save your
work, and then Click the Continue button.
(9 words saved)
© Oracle Corporation 2009
© Ultan Ó Broin 2009
© Ultan Ó Broin September 2009
Translatability
Graphics
• Nonlocalizable if possible
• If not, externalize text (SVG, XLIFF, and so on)
• Store separately
• Single tool for authoring/L10n if possible
• Unicode fonts
• Allow resizing
• Care with images:
• Hands, Body Parts
• Flags, Maps
• People
• Directionality
• Color when associated with objects
Sound
• Nonlocalizable if possible
• Audio - > Recording timing, transitions
© Ultan Ó Broin September 2009
Translatability
i m p o r t j a v a . u t i l . L i s t R e s o u r c e B u n d l e ;
p u b l i c c l a s s O E X B u n d l e e x t e n d s L i s t R e s o u r c e B u n d l e
{
p u b l i c O b j e c t [ ] [ ] g e t C o n t e n t s ( ) {
r e t u r n c o n t e n t s ;
}
s t a t i c f i n a l O b j e c t [ ] [ ] c o n t e n t s = {
{ " E D I T D E T A I L S " , " E d i t D e t a i l s " } ,
{ " A D D T O C A R T " , " A d d t o C a r t " } ,
Images for buttons and labels generated from a translated text
file at run-time
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
Questions
• Can you think of other problematic graphics?
• Can you see what’s
wrong with this file?
What are the solutions?
© Ultan Ó Broin 2009
© Ultan Ó Broin September 2009
Tools and Environments
• Development Tools “Baked-In” I18N
• Information Quality authoring (e.g., Acrolinx IQ Suite)
• Enforces terminology and style standards, reuse
• Write your own scripts for text processing
• Pseudotranslation tools
• Externalization
• Hard-coding
• Text expansion
• Tokens
• O/S, run-time exes
• Character set support
• Translation tool synergies
• Test with translated data, localized O/S and environments
© Ultan Ó Broin September 2009
Globalyzer Tool
© LingoPort, 2005, 2007
© Ultan Ó Broin September 2009
Pseudotranslated Environments
© Oracle Corporation 2009
© Ultan Ó Broin September 2009
For the Little Guy
• Don’t be intimidated by the “GILT Industry”
• Who can afford to pay for conferences, reports, tools?
• Use common sense
• Leverage what’s provided by technology for free
• Write well in English (no translation guidelines)
• Prioritize (graphics 5%? Don’t sweat it)
• Obtain pseudotranslations using Google Translate (AR, F, JA)
• Pseudotranslate using your translation tool
• Visually inspect on different browsers, platforms
• Make your own checklist, write your own tools
• Discount usability and I18n testing – black-team
• Social media
• Engage the community, volunteers
• Engineer for user participation and input
• Beg, borrow, steal ideas and tools
• If it works for you, go for it, but architect for expansion and scale
© Ultan Ó Broin September 2009
Resources
• Web
• www.w3c.org, www.xliff.org
• www.multilingual.com (plus guides)
• www.i18nguy.com
• www.globalyzer.com
• www.opentag.com
• Social Media
• Blogos
• LinkedIn (groups)
• @r12a, @localization, #agis09, #i18n on Twitter
• Publications
• Multilingual Magazine
• Lunde, K. 2008. CJKV Information Processing
• Hall, B. 2004. Globalization Handbook for the .NET Platform
• Savourel, Yves. 2001. XML Internationalization and Localization
• Graham, T. 2000. Unicode: A Primer
• Apple Computer Inc. 1992. Guide to Macintosh Software Localization
© Ultan Ó Broin September 2009
Summary
• Definitions
• Organizational and Process
• Internationalization Issues
• Tools, Environments
• … References
© Ultan Ó Broin September 2009
Contact Information
• Information
• ultan.obroin@oracle.com
• http://www.multilingualblog.com
• @localization
• Thank You
• Questions?

Mais conteúdo relacionado

Destaque

Tell me more about that? Gathering User Requirements and Context of Use for G...
Tell me more about that? Gathering User Requirements and Context of Use for G...Tell me more about that? Gathering User Requirements and Context of Use for G...
Tell me more about that? Gathering User Requirements and Context of Use for G...Ultan O'Broin
 
Streamlining the User Assistance Localization Process
Streamlining the User Assistance Localization ProcessStreamlining the User Assistance Localization Process
Streamlining the User Assistance Localization ProcessTCUK
 
Sem Projects
Sem ProjectsSem Projects
Sem Projectszacharys
 
Future group Values
Future group ValuesFuture group Values
Future group Valuesmukesh1588
 
Internationalization & localization testing
Internationalization & localization testingInternationalization & localization testing
Internationalization & localization testingRobin0590
 
Change / Internal Communication Plan
Change / Internal Communication PlanChange / Internal Communication Plan
Change / Internal Communication PlanTHE MAIN
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with SelendroidVikas Thange
 

Destaque (10)

Tell me more about that? Gathering User Requirements and Context of Use for G...
Tell me more about that? Gathering User Requirements and Context of Use for G...Tell me more about that? Gathering User Requirements and Context of Use for G...
Tell me more about that? Gathering User Requirements and Context of Use for G...
 
Streamlining the User Assistance Localization Process
Streamlining the User Assistance Localization ProcessStreamlining the User Assistance Localization Process
Streamlining the User Assistance Localization Process
 
Sem Projects
Sem ProjectsSem Projects
Sem Projects
 
Tasting i18n
Tasting i18nTasting i18n
Tasting i18n
 
Future group Values
Future group ValuesFuture group Values
Future group Values
 
Internationalization & localization testing
Internationalization & localization testingInternationalization & localization testing
Internationalization & localization testing
 
Change / Internal Communication Plan
Change / Internal Communication PlanChange / Internal Communication Plan
Change / Internal Communication Plan
 
Mission Vision Values
Mission Vision ValuesMission Vision Values
Mission Vision Values
 
Future Group
Future GroupFuture Group
Future Group
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
 

Semelhante a Internationalization and Translatability for Beginners

3 s glbal presentation on unicode development
3 s glbal presentation on unicode development3 s glbal presentation on unicode development
3 s glbal presentation on unicode developmentSujit Ghosh
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE Pavan Kalyan
 
L1-L2.Introduction to Programming and Python Basics.pptx
L1-L2.Introduction to Programming and Python Basics.pptxL1-L2.Introduction to Programming and Python Basics.pptx
L1-L2.Introduction to Programming and Python Basics.pptxDeepjyotiChoudhury4
 
How To Build And Launch A Successful Globalized App From Day One Or All The ...
How To Build And Launch A Successful Globalized App From Day One  Or All The ...How To Build And Launch A Successful Globalized App From Day One  Or All The ...
How To Build And Launch A Successful Globalized App From Day One Or All The ...agileware
 
Mobile application development strategies
Mobile application development strategiesMobile application development strategies
Mobile application development strategiesInterop
 
Balance and Compromise: Issues in Content Localization
Balance and Compromise: Issues in Content LocalizationBalance and Compromise: Issues in Content Localization
Balance and Compromise: Issues in Content LocalizationLise Bissonnette Janody
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to pythonNikhil Kapoor
 
"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talkCLOUDIAN KK
 
Internationalization in Angular Presentation
Internationalization in Angular PresentationInternationalization in Angular Presentation
Internationalization in Angular PresentationKnoldus Inc.
 
WSO2Con EU 2015: Open Source Journey at Ordnance Survey
WSO2Con EU 2015: Open Source Journey at Ordnance SurveyWSO2Con EU 2015: Open Source Journey at Ordnance Survey
WSO2Con EU 2015: Open Source Journey at Ordnance SurveyWSO2
 
One Product - Many Countries. How we scaled STYLIGHT to 10 countries
One Product - Many Countries. How we scaled STYLIGHT to 10 countriesOne Product - Many Countries. How we scaled STYLIGHT to 10 countries
One Product - Many Countries. How we scaled STYLIGHT to 10 countriesSebastian Schuon
 
Python programming
Python programmingPython programming
Python programmingMegha V
 

Semelhante a Internationalization and Translatability for Beginners (20)

3 s glbal presentation on unicode development
3 s glbal presentation on unicode development3 s glbal presentation on unicode development
3 s glbal presentation on unicode development
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE
 
L1-L2.Introduction to Programming and Python Basics.pptx
L1-L2.Introduction to Programming and Python Basics.pptxL1-L2.Introduction to Programming and Python Basics.pptx
L1-L2.Introduction to Programming and Python Basics.pptx
 
Uncdtalk
UncdtalkUncdtalk
Uncdtalk
 
How To Build And Launch A Successful Globalized App From Day One Or All The ...
How To Build And Launch A Successful Globalized App From Day One  Or All The ...How To Build And Launch A Successful Globalized App From Day One  Or All The ...
How To Build And Launch A Successful Globalized App From Day One Or All The ...
 
The I in Internet of Things: Implications for the Global Open Internet
The I in Internet of Things: Implications for the Global Open InternetThe I in Internet of Things: Implications for the Global Open Internet
The I in Internet of Things: Implications for the Global Open Internet
 
Mobile application development strategies
Mobile application development strategiesMobile application development strategies
Mobile application development strategies
 
Achievement And Lessons Learned By An Loc
Achievement And Lessons Learned By An LocAchievement And Lessons Learned By An Loc
Achievement And Lessons Learned By An Loc
 
Balance and Compromise: Issues in Content Localization
Balance and Compromise: Issues in Content LocalizationBalance and Compromise: Issues in Content Localization
Balance and Compromise: Issues in Content Localization
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Iflytek
IflytekIflytek
Iflytek
 
"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk"erlang, webmail and hibari" at Rakuten tech talk
"erlang, webmail and hibari" at Rakuten tech talk
 
Internationalization in Angular Presentation
Internationalization in Angular PresentationInternationalization in Angular Presentation
Internationalization in Angular Presentation
 
MP Notes BCA
MP Notes BCAMP Notes BCA
MP Notes BCA
 
WSO2Con EU 2015: Open Source Journey at Ordnance Survey
WSO2Con EU 2015: Open Source Journey at Ordnance SurveyWSO2Con EU 2015: Open Source Journey at Ordnance Survey
WSO2Con EU 2015: Open Source Journey at Ordnance Survey
 
One Product - Many Countries. How we scaled STYLIGHT to 10 countries
One Product - Many Countries. How we scaled STYLIGHT to 10 countriesOne Product - Many Countries. How we scaled STYLIGHT to 10 countries
One Product - Many Countries. How we scaled STYLIGHT to 10 countries
 
Using unicode with php
Using unicode with phpUsing unicode with php
Using unicode with php
 
2. pl domain
2. pl domain2. pl domain
2. pl domain
 
Python programming
Python programmingPython programming
Python programming
 
Using unicode with php
Using unicode with phpUsing unicode with php
Using unicode with php
 

Mais de Ultan O'Broin

Conversational UI and Personality Design: How Not to FAQ It Up
Conversational UI and Personality Design: How Not to FAQ It UpConversational UI and Personality Design: How Not to FAQ It Up
Conversational UI and Personality Design: How Not to FAQ It UpUltan O'Broin
 
It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...
It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...
It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...Ultan O'Broin
 
Alexa, Tell Me About Global Chatbot Design and Localization!
Alexa, Tell Me About Global Chatbot Design and Localization!Alexa, Tell Me About Global Chatbot Design and Localization!
Alexa, Tell Me About Global Chatbot Design and Localization!Ultan O'Broin
 
Chat and Checklist About Chatbot User Experience and Japanese Design
Chat and Checklist About Chatbot User Experience and Japanese DesignChat and Checklist About Chatbot User Experience and Japanese Design
Chat and Checklist About Chatbot User Experience and Japanese DesignUltan O'Broin
 
Cross-Cultural User Experience: What It Is and How to Do It?
Cross-Cultural User Experience: What It Is and How to Do It?Cross-Cultural User Experience: What It Is and How to Do It?
Cross-Cultural User Experience: What It Is and How to Do It?Ultan O'Broin
 
Smart User Experiences and the World of Work: Context is King
Smart User Experiences and the World of Work: Context is KingSmart User Experiences and the World of Work: Context is King
Smart User Experiences and the World of Work: Context is KingUltan O'Broin
 
Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...
Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...
Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...Ultan O'Broin
 
User Experience Heuristics for Wearables in the Enterprise
User Experience Heuristics for Wearables in the EnterpriseUser Experience Heuristics for Wearables in the Enterprise
User Experience Heuristics for Wearables in the EnterpriseUltan O'Broin
 
Context, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UXContext, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UXUltan O'Broin
 
Why is the Translation Industry Terrified of User Experience?
Why is the Translation Industry Terrified of User Experience?Why is the Translation Industry Terrified of User Experience?
Why is the Translation Industry Terrified of User Experience?Ultan O'Broin
 
Context of Use and Use of Context: Localization and UX
Context of Use and Use of Context: Localization and UXContext of Use and Use of Context: Localization and UX
Context of Use and Use of Context: Localization and UXUltan O'Broin
 
Anti-social Networking: Web 2.0 and Social Exclusion
Anti-social Networking: Web 2.0 and Social ExclusionAnti-social Networking: Web 2.0 and Social Exclusion
Anti-social Networking: Web 2.0 and Social ExclusionUltan O'Broin
 
Social Networking Sites and Equal Opportunity: The Impact of Accessibility
Social Networking Sites and Equal Opportunity: The Impact of AccessibilitySocial Networking Sites and Equal Opportunity: The Impact of Accessibility
Social Networking Sites and Equal Opportunity: The Impact of AccessibilityUltan O'Broin
 
Heuristic Evaluation of User Interfaces: Exploration and Evaluation of Niels...
Heuristic Evaluation of User Interfaces:  Exploration and Evaluation of Niels...Heuristic Evaluation of User Interfaces:  Exploration and Evaluation of Niels...
Heuristic Evaluation of User Interfaces: Exploration and Evaluation of Niels...Ultan O'Broin
 

Mais de Ultan O'Broin (14)

Conversational UI and Personality Design: How Not to FAQ It Up
Conversational UI and Personality Design: How Not to FAQ It UpConversational UI and Personality Design: How Not to FAQ It Up
Conversational UI and Personality Design: How Not to FAQ It Up
 
It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...
It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...
It's Better To Have a Permanent Income Than to Be Fascinating: Killer Feature...
 
Alexa, Tell Me About Global Chatbot Design and Localization!
Alexa, Tell Me About Global Chatbot Design and Localization!Alexa, Tell Me About Global Chatbot Design and Localization!
Alexa, Tell Me About Global Chatbot Design and Localization!
 
Chat and Checklist About Chatbot User Experience and Japanese Design
Chat and Checklist About Chatbot User Experience and Japanese DesignChat and Checklist About Chatbot User Experience and Japanese Design
Chat and Checklist About Chatbot User Experience and Japanese Design
 
Cross-Cultural User Experience: What It Is and How to Do It?
Cross-Cultural User Experience: What It Is and How to Do It?Cross-Cultural User Experience: What It Is and How to Do It?
Cross-Cultural User Experience: What It Is and How to Do It?
 
Smart User Experiences and the World of Work: Context is King
Smart User Experiences and the World of Work: Context is KingSmart User Experiences and the World of Work: Context is King
Smart User Experiences and the World of Work: Context is King
 
Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...
Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...
Got the Blues? Visual Design For Any Enterprise UI, Worldwide. Localization...
 
User Experience Heuristics for Wearables in the Enterprise
User Experience Heuristics for Wearables in the EnterpriseUser Experience Heuristics for Wearables in the Enterprise
User Experience Heuristics for Wearables in the Enterprise
 
Context, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UXContext, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UX
 
Why is the Translation Industry Terrified of User Experience?
Why is the Translation Industry Terrified of User Experience?Why is the Translation Industry Terrified of User Experience?
Why is the Translation Industry Terrified of User Experience?
 
Context of Use and Use of Context: Localization and UX
Context of Use and Use of Context: Localization and UXContext of Use and Use of Context: Localization and UX
Context of Use and Use of Context: Localization and UX
 
Anti-social Networking: Web 2.0 and Social Exclusion
Anti-social Networking: Web 2.0 and Social ExclusionAnti-social Networking: Web 2.0 and Social Exclusion
Anti-social Networking: Web 2.0 and Social Exclusion
 
Social Networking Sites and Equal Opportunity: The Impact of Accessibility
Social Networking Sites and Equal Opportunity: The Impact of AccessibilitySocial Networking Sites and Equal Opportunity: The Impact of Accessibility
Social Networking Sites and Equal Opportunity: The Impact of Accessibility
 
Heuristic Evaluation of User Interfaces: Exploration and Evaluation of Niels...
Heuristic Evaluation of User Interfaces:  Exploration and Evaluation of Niels...Heuristic Evaluation of User Interfaces:  Exploration and Evaluation of Niels...
Heuristic Evaluation of User Interfaces: Exploration and Evaluation of Niels...
 

Último

Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 

Último (20)

Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 

Internationalization and Translatability for Beginners

  • 1. Internationalization and Translatability for Beginners AGIS 09, University of Limerick, 21-September-2009 Ultan Ó Broin
  • 2. © Ultan Ó Broin September 2009 About • Ultan Ó Broin • Microsoft and Oracle localization and internationalization • Oracle Applications User Experience • Localization World, Multilingual Web Site, Internationalization Roundtable Advisory Boards • Editorial Board Multilingual Magazine • Blogos • Social media use by disabled research (TCD) • Caveats about this presentation • Personal perspective and opinion • Not those of Oracle Corporation • Don’t rush out and buy/sell ORCL stock as a result • Copyright and usage • Share-alike non-attribution non-commercial please • Screenshots and images remain the copyright of respective owners • Products and services may be trademarks of their respective owners • Reproduction for promotional work for non-profit use is fine, but play nice and say where you got the information and from whom (@ultan) © Ultan Ó Broin 2009
  • 3. © Ultan Ó Broin September 2009 Agenda: Internationalization and Translatability • Definitions • Organization and process • Internationalization issues • Character Processing • International Variables • Translatability • Tools and environments • What makes sense for the little guy? • Resources © Oracle Corporation 2009
  • 4. © Ultan Ó Broin September 2009 Presentation Objectives • Software and documentation-centric • Learn about internationalization (I18n) process and responsibilities • Understand core I18n issues • Identify key I18n considerations for content development • Consider what makes sense for you • Obtain resources for further investigation • Global user experience
  • 5. © Ultan Ó Broin September 2009 Internationalization Definitions • “Internationalization is the process of designing a product so that it can be easily localized without the need for redesign… it is the process of designing and implementing a product which is as culturally and technically “neutral” as possible, and which can therefore easily be localized for a specific culture or cultures.” Localization Industry Standards Association (http://:www.lisa.org, accessed 15 April 2007)
  • 6. © Ultan Ó Broin September 2009 Internationalization Definitions • “Internationalization is the process of re-engineering any information product so that it can be easily localized for export to any country in the world. An internationalized information product consists of two components: core information and international variables.” Nancy Hoft, International Technical Communication, 1995, p. 19 • Core information: Same code used by the same product in different environments • International variables: political, economic, social, religious, educational, linguistic, technological – the localizable, cultural, user experience elements
  • 7. © Ultan Ó Broin September 2009 Internationalization Definitions • “The process of making information technology flexible enough to be used in different cultural and linguistic environments without changing source code.” • “Allows choice of language and locale (collection of language and cultural preferences).” • “Internationalized and localized products provide equivalent functionality to users in their own language while observing their cultural conventions.” Oracle University, Introduction to Product Globalization, 2001
  • 8. © Ultan Ó Broin September 2009 Internationalization Definitions • “Internationalization: The process of developing a program core whose feature design and code design don’t make assumptions based on a single language or locale and whose source code base simplifies the creation of different language editions of a program.” Nadine Kano, Developing International Software, 1995, p. 4
  • 9. © Ultan Ó Broin September 2009 Forget This English Is Just Another Language• Why assume it’s always written in English anyway?
  • 10. © Ultan Ó Broin September 2009 Questions • Can you translate any software? • Should you? © Ultan Ó Broin 2009
  • 11. © Ultan Ó Broin September 2009 Internationalization: Why? • The user experience • Communicate efficiently globally using language, customs, symbols, conventions • Facilitates cultural adaptation – localization (L10n), customization • Eliminates cultural bias • Minimizes management • Correct market functionality • Allows for process efficiencies in development and localization - scalability
  • 12. © Ultan Ó Broin September 2009 I18n Costs • Fix once at source during development • Very costly to fix later © LingoPort / Multilingual Magazine 2009
  • 13. © Ultan Ó Broin September 2009 Internationalization: Why? • Rationale • You must localize • Globalization • Competition • Market share • Revenue • Internet • SimShip • Legal requirements • User experience, engagement, communication © Salesforce.com 2007
  • 14. © Ultan Ó Broin September 2009 I18n Myths Exploded • “They all speak English” • “Once it’s in the reader’s language, it’s OK” • “Only the stuff they see needs attention” • “Won’t be translated anyway, so no need” • “Costs too much” • “Fix it later - if we have to” • “Wrote it in Japanese, so it’s fine” • “It’s open source, whatever” • “It’s Java” • “We’re giving it away for free” • “The user can translate it”
  • 15. © Ultan Ó Broin September 2009 Example © Oracle Corporation 2009
  • 16. © Ultan Ó Broin September 2009 Questions • Global information sharing • Can you afford not to internationalize? • To sell? To communicate? To share information? • Language matters, but it’s NOT enough.
  • 17. © Ultan Ó Broin September 2009 Internationalization Process • Internationalization is a development responsibility • Designed • Core practice • Modularization • Integrate process • Build, test environments • No linguistic expertise required
  • 18. © Ultan Ó Broin September 2009 Internationalization Standards • Some standards/guidelines for free • Unicode, XML, Java, HTML and so on • Ken Lunde CJVK Information Processing great overview • Not enough • Application of standards • Educate developers • Provide tools • Enforce standards, audit • Set priorities • Determine warnings versus failures • Common sense
  • 19. © Ultan Ó Broin September 2009 Internationalization Standards Examples © Oracle Corporation 2009
  • 20. © Ultan Ó Broin September 2009 Questions • Which is better: forced or voluntary i18n? • How might you sell i18n to developers? • No lectures, slogans, linguistics
  • 21. © Ultan Ó Broin September 2009 Internationalization Issues • Character processing • International variables • Translatability
  • 22. © Ultan Ó Broin September 2009 Character Processing Character Sets A character set is a collection of letters, numbers, punctuation marks and signs which are needed to support the creation of text in a language or languages Set of Characters P o e % “ ! K & # +a X C A ; } [ b Y o ~ 5 Character Set A Character Set B © Oracle Corporation 2009
  • 23. © Ultan Ó Broin September 2009 Character Processing Character Encoding Encoding is the process of mapping a character to a bit sequence used to represent the data on the computer H oe l l ! 48 6f656c6c 21 © Oracle Corporation 2009
  • 24. © Ultan Ó Broin September 2009 Character Processing Single-Byte Character Sets English language can be represented by 7 bits (ASCII) To accommodate Western European languages, an extra bit is required (256 characters) ! # $ Alphabet A Zto , a zto52 Numbers10 0 9to Punctuations % ‘ ( )“ * + - . / [ ? @, ^ _ { | } ~ ] ` ; < =: ] > 33 © Oracle Corporation 2009
  • 25. © Ultan Ó Broin September 2009 Character Processing Multi-Byte Characters To represent more than 256 characters, more than one byte is used Sample : Traditional Chinese Big5 fe c9a5 40 ac 21 ! ab a5a2 c5 6f © Oracle Corporation 2009
  • 26. © Ultan Ó Broin September 2009 Character Processing • “Native” Character Sets • ISO 8859-1 Windows-1250 CP852 Shift JIS Big5 EUC-KR ... • Different code support • Conflicts • Gaps • Multiple-tier / differences © Oracle Corporation 2009
  • 27. © Ultan Ó Broin September 2009 Character Processing Unicode • Multilingual character encoding standard • Consistent way of encoding multilingual text data internationally • Foundation for global software Arabic Chinese FrenchEnglish Japanese German Unicode © Oracle Corporation 2009
  • 28. © Ultan Ó Broin September 2009 Character Processing Unicode encoding UTF-16 and UTF-8 • UTF-16 is a two-byte fixed-length encoding scheme • UTF-8 is variable length encoding scheme UTF-8 Encoding A Latin1 CharSet US-ASCII CharSet Character 41 41 c7N/A N/A N/A 82 41 e3 81 87c3 UTF-16 Encoding 41 c7 30 42 00 00 English Alphabet French Alphabet Japanese © Oracle Corporation 2009
  • 29. © Ultan Ó Broin September 2009 Character Processing Impact Impact of Multi-Byte Character Sets • Database column widths specified in bytes but HTML form input fields specified in characters • Committing mismatched data = error Inserted value too large for the column ID NAME NUMBER(3) VARCHAR2(5) Table Column Size Input text field size aaaaa © Oracle Corporation 2009
  • 30. © Ultan Ó Broin September 2009 Character Processing Impact • Code conversion takes place during transfer of data between tiers that use different encoding methods • Code conversion required if different character sets exist in a single system • Code conversion number one issue? ISO8859-6 ISO8859-6 to UTF8 UTF8 to ISO8859-6 UTF8 Sends to the server Receives from the server © Oracle Corporation 2009
  • 31. © Ultan Ó Broin September 2009 Character Processing Impact © Oracle Corporation 2009
  • 32. © Ultan Ó Broin September 2009 Character Processing Impact Use Unicode support for: • Storing • Inserting • Editing • Sorting • Deleting • Searching • Wrapping • Shaping • Rendering • …. Text field length Table Column VARCHAR2(5)aa VARCHAR2(15)aa aa Solution… Enlarged UTF-8 database column size as three times than original
  • 33. © Ultan Ó Broin September 2009 What Character Set to Use? • Ah, Unicode • But… • Which one? • And what about legacy content? • Moving native to Unicode? • Remember data conversion!
  • 34. © Ultan Ó Broin September 2009 International Variables - Locale • Numbers • Dates • Currencies • Time and time zone • Address format • Name format • Telephone number format • Statutory compliance • Language • More…
  • 35. © Ultan Ó Broin September 2009 Dates • Different date formats for different locales © Oracle Corporation 2009
  • 36. © Ultan Ó Broin September 2009 Numbers Country Format Numbers US 1,234,567.89 Finland 1.234.567,89 Korea 1’234’567,89 Germany 1.234.567,89 • Different number formats © Oracle Corporation 2009
  • 37. © Ultan Ó Broin September 2009 Currency • Different currencies worldwide © Oracle Corporation 2009
  • 38. © Ultan Ó Broin September 2009 Others • Salutation, Telephone, Address formats • Sort orders (linguistic v logical,…) • Units of Measure (Imperial, Metric) • Calendar (Gregorian, Japanese, Islamic…) • Business, legal rules (HRM, Financials, Manufacturing) • VAT • Tax • GAAP • Statutory compliance • SSN, PPS, IDs • Sarbanes-Oxley • Data protection, Privacy • …
  • 39. © Ultan Ó Broin September 2009 And of Course: Language Source: Wikipedia.org entry on Internationalization and localization, accessed 15 April 2007
  • 40. © Ultan Ó Broin September 2009 Locale Variables: Solutions • Don’t hard-code • Store independently (MLS) • Rely on O/S language and country/region settings, ICU, NLS class libraries to display • Auto-detect, then allow user to select © Oracle Corporation 2009
  • 41. © Ultan Ó Broin September 2009 Question • Any other international variables you can think of? • Reading Writing Direction (BiDi, Vertical) • HTML DIR=“RTL” • CSS direction • unicode-bidi property
  • 42. © Ultan Ó Broin September 2009 Translatability Translatability means that the product can be translated easily to another languages using an efficient, common sense, scalable process
  • 43. © Ultan Ó Broin September 2009 Translatability < I N P U T n a m e = E x c h a n g e R a t e T y p e t y p e = r a d i o v a l u e = U S E R < % i f ( ( c u r r e n c y R a d i o B u t t o n = = n u l l ) | | c u r r e n c y R a d i o B u t t o n . e q u a l s ( " " ) | | c u r r e n c y R a d i o B u t t o n . e q u a l s ( " U S E R " ) ) o u t . p r i n t ( " C H E C K E D " ) ; % > > U s e r r a t e s s p e c i f i e d i n t h e t a b l e b e l o w < / T D > Externalization - separating strings from software code makes translation safer and easier Tokens Context MESSAGE_CODE MESSAGE_TEXT LANGUAGE ------------ ------------ --------- HELLO Hello EN HELLO JA HELLO Bonjour F © Oracle Corporation 2009
  • 44. © Ultan Ó Broin September 2009 Translatability • Separation of structure and rendering • Ready-made in some cases • XML • XSLT • CSS • File formats • Minimize • XLIFF • Standardize where you can • Context versus Preview • Text formats <trans-unit id="HcmPayBalTop_60FB2908EE5DCCCAE040D30A68810384V000"> <source>You can view a single balance (the accumulated result of a payroll calculation) and groups of balances. Review balance results to confirm that the payroll run has completed successfully, to verify that a worker has the correct pay and amount of tax deducted, and to check a balance before and after adjusting it.</source> <note>Product feature: “HRM: Workforce Deployment”</note> <note>Page title: "Search: Balances By Country"</note> </trans-unit>
  • 45. © Ultan Ó Broin September 2009 Ensure quality translation - allow for text expansion: • 200-300% for less than 20 characters in US English • 150% for 21-50 characters • 130% for over 50 characters • Technologies that allow expansion • Context description Translatability © Oracle Corporation 2001 © Richard Ishida, 1999, Xerox, Designing International User Interfaces
  • 46. © Ultan Ó Broin September 2009 Translatability Tokens • Replaceable run-time variables • Efficient programming technique • Dangerous to use for translated words and verbs Correct: This purchase order must be approved. Incorrect: This purchase order must be &ACTION. • Use for non-translatables: file or server names, dates, currency amounts, system user names, or numbers • Shortcut can prove costly in long run Problems with concatenation • <string1>+<string2>=<string3> T e r m i n a l i s o p e r a t i o n a l - > T e r m i n a l e s t o p e r a t i o n n e l T e r m i n a l i s n o t o p e r a t i o n a l - > T e r m i n a l n ’ e s t p a s o p e r a t i o n n e l © Oracle Corporation 2009
  • 47. © Ultan Ó Broin September 2009 Translatability • Sorting Orders • Don’t hard-code • Manually Expensive • O/S, DB collation or generate w/ XSL • Multilingual files • Separate files • Bilingual translation memories • Easier maintenance • Faster turnaround • Translation kit structure • Common, then folder for each language • Reflect storage © Ultan Ó Broin 2009
  • 48. © Ultan Ó Broin September 2009 Translatability • Identifiers • Use for leveraging, context security • Scale • Development, storage efficiencies too <p><!--BOLOC intro1019756-->Traditional performance measurement systems typically do not provide top managers with a comprehensive view of the organization. The Balanced Scorecard is a performance measurement methodology, developed by Kaplan and Norton, that exceeds the typical scope of traditional performance measurement systems. The Balanced Scorecard methodology links the financial goals of an enterprise with the drivers that determine future success.<!--EOLOC intro1019756--></p> © Ultan Ó Broin 2009
  • 49. © Ultan Ó Broin September 2009 Translatability • Source Content • Approved terminology • Glossary and style guide • Write for the intended audience • Care with lang, cultural references, humor… • Active voice? • Eliminate wordiness (cost, time, user experience) • Care with symbols, characters, acronyms, and other “shortcuts” • Avoid temporary or placeholder text © Oracle Corporation 2009
  • 50. © Ultan Ó Broin September 2009 Translatability Cost Control • Common sense • Basic writing standards • Examples Solution: Not needed: You must enter the username that you want to log on with. (12 words saved) Better : Save your work and continue. Wordy: Click the Apply button to save your work, and then Click the Continue button. (9 words saved) © Oracle Corporation 2009 © Ultan Ó Broin 2009
  • 51. © Ultan Ó Broin September 2009 Translatability Graphics • Nonlocalizable if possible • If not, externalize text (SVG, XLIFF, and so on) • Store separately • Single tool for authoring/L10n if possible • Unicode fonts • Allow resizing • Care with images: • Hands, Body Parts • Flags, Maps • People • Directionality • Color when associated with objects Sound • Nonlocalizable if possible • Audio - > Recording timing, transitions
  • 52. © Ultan Ó Broin September 2009 Translatability i m p o r t j a v a . u t i l . L i s t R e s o u r c e B u n d l e ; p u b l i c c l a s s O E X B u n d l e e x t e n d s L i s t R e s o u r c e B u n d l e { p u b l i c O b j e c t [ ] [ ] g e t C o n t e n t s ( ) { r e t u r n c o n t e n t s ; } s t a t i c f i n a l O b j e c t [ ] [ ] c o n t e n t s = { { " E D I T D E T A I L S " , " E d i t D e t a i l s " } , { " A D D T O C A R T " , " A d d t o C a r t " } , Images for buttons and labels generated from a translated text file at run-time © Oracle Corporation 2009
  • 53. © Ultan Ó Broin September 2009 Questions • Can you think of other problematic graphics? • Can you see what’s wrong with this file? What are the solutions? © Ultan Ó Broin 2009
  • 54. © Ultan Ó Broin September 2009 Tools and Environments • Development Tools “Baked-In” I18N • Information Quality authoring (e.g., Acrolinx IQ Suite) • Enforces terminology and style standards, reuse • Write your own scripts for text processing • Pseudotranslation tools • Externalization • Hard-coding • Text expansion • Tokens • O/S, run-time exes • Character set support • Translation tool synergies • Test with translated data, localized O/S and environments
  • 55. © Ultan Ó Broin September 2009 Globalyzer Tool © LingoPort, 2005, 2007
  • 56. © Ultan Ó Broin September 2009 Pseudotranslated Environments © Oracle Corporation 2009
  • 57. © Ultan Ó Broin September 2009 For the Little Guy • Don’t be intimidated by the “GILT Industry” • Who can afford to pay for conferences, reports, tools? • Use common sense • Leverage what’s provided by technology for free • Write well in English (no translation guidelines) • Prioritize (graphics 5%? Don’t sweat it) • Obtain pseudotranslations using Google Translate (AR, F, JA) • Pseudotranslate using your translation tool • Visually inspect on different browsers, platforms • Make your own checklist, write your own tools • Discount usability and I18n testing – black-team • Social media • Engage the community, volunteers • Engineer for user participation and input • Beg, borrow, steal ideas and tools • If it works for you, go for it, but architect for expansion and scale
  • 58. © Ultan Ó Broin September 2009 Resources • Web • www.w3c.org, www.xliff.org • www.multilingual.com (plus guides) • www.i18nguy.com • www.globalyzer.com • www.opentag.com • Social Media • Blogos • LinkedIn (groups) • @r12a, @localization, #agis09, #i18n on Twitter • Publications • Multilingual Magazine • Lunde, K. 2008. CJKV Information Processing • Hall, B. 2004. Globalization Handbook for the .NET Platform • Savourel, Yves. 2001. XML Internationalization and Localization • Graham, T. 2000. Unicode: A Primer • Apple Computer Inc. 1992. Guide to Macintosh Software Localization
  • 59. © Ultan Ó Broin September 2009 Summary • Definitions • Organizational and Process • Internationalization Issues • Tools, Environments • … References
  • 60. © Ultan Ó Broin September 2009 Contact Information • Information • ultan.obroin@oracle.com • http://www.multilingualblog.com • @localization • Thank You • Questions?