SlideShare a Scribd company logo
1 of 60
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?

More Related Content

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 
introduction and basic of web development
introduction and basic of web developmentintroduction and basic of web development
introduction and basic of web developmentamithvp002
 
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
 

Similar to 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
 
introduction and basic of web development
introduction and basic of web developmentintroduction and basic of web development
introduction and basic of web development
 
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
 

More from 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
 

More from 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...
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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?