Best Practices for Software Localization
-
Upload
lionbridge -
Category
Business
-
view
43 -
download
2
Transcript of Best Practices for Software Localization
T H E D E V E L O P E R ’ S D O Z E N :
BEST PRACTICES FOR SOFTWARE LOCALIZATION
12
The global software market is currently valued at almost half a trillion dollars and growing across all sectors.
But despite meeting budget and time targets, today’s applications will be rejected if they don’t meet user expectations. Factors contributing to software failure include:
• Marketing and customer support• Lack of required features and functions• Lack of corporate sponsorship• Scope creep and loopholes in project management
READY TO GO GLOBAL?
2
Some of these challenges are not within a
developer’s control, but a key factor for user
satisfaction—localization—is.
From independent mobile apps to complex multi-user systems, localization is the key to driving software sales and acceptance.
Localization increases:• Global reach• Brand credibility• Market relevance• User satisfaction and involvement• ROI—without added risk
WHY LOCALIZATION?
3
Localization is the process of adapting a product or content to a specific locale or market. Translation is only one of several elements in the process.
• Successful localization ensures that key functional elements appear to have been designed specifically for the target market, regardless of language, culture, or location.
• Becoming localization-ready requires an up-front planning investment, but the payoff is market agility that enables quick and efficient delivery of software to the widest possible audience.
LOCALIZATION ELEMENTSAdapting graphics to target markets
Modifying content to suit the tastes and consumption habits of other markets
Adapting design and layout to properly display translated text
Converting to local requirements (such as currencies and units of measure)
Using proper local formats for dates, addresses and phone numbers
Addressing local regulations and legal requirements
4
START SMART: PLAN WITH A GLOBAL MINDSET
Planning software localization with a global mindset will help avoid the ninety-ninety rule and streamline localization into multiple languages and markets.
• The rule states: The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.
Humorous, to be sure, but disastrous for global development. What can be done outside of giving 180%?
The following best practices are basic requirements for avoiding localization failure and creating software fit for a global audience.
5
0 1 . D E S I G N W I T H L O C A L I Z A T I O N I N M I N D
DESIGN WITH LOCALIZATION IN MIND
Minimize schedule delays and cost overruns by developing a localization-friendly design from the start.
A localization-friendly design features source code and structure that helps:
• Prevent replication of source bugs in target files
• Prevent avoidable translation errors
• Prevent common software localization errors, including functional, display, abbreviation, and over- and under-localization
7
0 2 . B U I L D A L I B R A R Y O F I N T E R N A T I O N A L I Z E D O B J E C T S
BUILD A LIBRARY OF INTERNATIONALIZED OBJECTS
Internationalization enables localization. Building a library of internationalized objects minimizes rework when localizing into multiple languages. These can include:
• User interface design elements
• Sort and search functionality
• Multi-byte character support (Asian languages)
• Bi-directional or right-to-left support (Arabic & Hebrew languages)
• Address, number, date, and currency formats
9
BUILD A LIBRARY OF INTERNATIONALIZED OBJECTS
What is internationalization?
• Before you localize, you must internationalize.
• Internationalization makes localization possible by ensuring that your architecture and code are global-ready from both technical and functional perspectives.
• This prerequisite process is vital for affordable, replicable, high-quality localization.
• Abbreviated as i18n.
10
0 3 . K E E P T E X T S H O R T
KEEP TEXT SHORT
All languages have different sentence structures, different rules for pluralization, and use different amounts of words to express an idea.
Minimize translation problems with clear and concise source content:
• Use brief sentences
• Use Standardized English word order whenever possible
• Avoid long noun strings
• Avoid synonyms; use just one term to identify a single concept
• Avoid acronyms; these require extra translation and will lose any secondary meanings
12
0 4 . P L A N F O R T E X T E X P A N S I O N
When translated into other languages, content strings can grow longer (English – German) or shrink (English to Asian languages). At a minimum, plan for 30% text expansion.
For example, the Italian translation for “On” and “Off” expand more than 100%:
Disabilitato(Italian)
Abilitato(Italian)
ON OFF
PLAN FOR TEXT EXPANSION
14
PLAN FOR TEXT EXPANSION
This chart from the Microsoft Developer Network is a great guideline:
ENGLISH LENGTH (IN CHARACTERS)
EXPANSION % FOR LOCALIZED STRINGS
1 to 4 100%
5 to 10 80%
11 to 20 60%
21 to 30 40%
31 to 50 20%
Over 50 10%
15
0 5 . D O N ’ T R E U S E T H E S A M E T E X T I N D I F F E R E N T C O N T E X T
DON’T REUSE THE SAME TEXT IN DIFFERENT CONTEXTThe English language has many words that can be used as both nouns and verbs, such as:
• File
• Share
• Design
There are also words that can be both adjectives and verbs, such as:
• Open
• Clear
• Free
Decide on a single use for text, use it consistently, and identify it through resource commenting.
17
0 6 . D O U S E I C O N S — B U T W I T H C A R E
DO USE ICONS—BUT WITH CARE
Icons—without text—require less translation and can reduce cost. However, not all symbols are universal or neutral.
• For example, a U.S.-style mailbox doesn’t translate to many other cultures.
• Avoid images of hands or feet, animals, and other symbols which can have unexpected or unwelcome meanings. Do your research on specific market considerations.
19
0 7 . D O N ’ T H A R D C O D E T E X T O R P U N C T U A T I O N
DON’T HARDCODE TEXT OR PUNCTUATION
Instead, do the following:
• Separate resources displayed to the user (titles, product names, error messages) into resource files distinct from source code
• Use resource commenting to eliminate translation errors
• String IDs should include a description of the role, function, or meaning of each string
21
What is hardcoded text?
Hardcoded text is text embedded in the source code. When you’re ready to localize, this text must be extracted for translation. Your language service provider (LSP) can run a parser to identify translatable text, but it is best to minimize it at the design level.
0 8 . P R E V E N T O V E R - A N D U N D E R - L O C A L I Z A T I O N
PREVENT OVER- AND UNDER-LOCALIZATION
Both instances are caused by incorrectly prepping a file for translation.
Over-localization occurs when strings intended to remain in English are erroneously translated.
Under-localization occurs when items that need to be localized were not included in the file.
Minimize these errors with:
• Do-Not-Translate (DNT) lists provided to your LSP
• Resource separation and commenting
• Pseudo-localization
23
0 9 . A V O I D C O N C A T E N A T I O N
SOURCE (ENGLISH) TARGET (SPANISH)
let string1=“free” Free=Gratis
let string2=“shipping” Shipping=Envío
var shipping=string1+string2Concatenating the correctly translated string results in a
mistranslation:
//label now equals “free shipping”
Gratis Envío instead of Envío Gratis
AVOID CONCATENATION
Free Shipping
One String Free shipping
Concatenated string Free shipping
Correct Translation Envío Gratis
Mistranslation Gratis Envío
Gratis Envío
25
Concatenation is the combining of two separate strings.
It is used by developers to reduce the size of a string, but causes many problems for localization. Concatenation makes it difficult to correctly localize strings, as word order and grammar rules vary across languages.
For example, “free shipping” is a common English concatenation, resulting in mistranslation:
1 0 . U S E P S E U D O - L O C A L I Z A T I O N
USE PSEUDO-LOCALIZATION
Pseudo-localization is a localizability testing technique that replaces localizable text with automatically generated “dummy” translations. This process reduces risk and reveals potential problems before translation investment is made.
Pseudo-localization can uncover:
• Functional issues
• Examples of hardcoded text
• User interface (UI) layout issues
• Character corruption
• Non-Unicode issues
• Bidirectional or mirroring issues
27
1 1 . M A K E S U R E T O U S E U T F - 8 E N C O D I N G
UTF-8
MAKE SURE TO USE UTF-8 ENCODING
UTF-8 is the most popular format for Unicode, described by Dr. Ken Lunde as:
“the world’s first intelligent character encoding.”
Unicode is supported by all major hardware and software companies and is required by standards such as XML, Java, and JavaScript.
Using UTF-8 ensures easy and correct translation into all languages, especially Asian CJKV (Chinese, Japanese, Korean, and Vietnamese) languages.
29
1 2 . W H E N I N D O U B T , C O N S U L T W I T H A N E X P E R T
WHEN IN DOUBT, CONSULT WITH AN EXPERT
In addition to localization checklists provided for Android, iOS, and Windows development, your LSP can provide insights and optimized processes that save time, money, and rework.
Reach out with questions early in the process to ensure your development is localization-ready.
31
K E Y T A K E A W A Y S
KEY TAKEAWAYS
Localizing software increases global reach and enables app providers to deliver greater value to more users.
Approach localization as a strategy, not a task, for global success.
Before localizing, internationalize by ensuring code and architecture can handle multiple languages and cultural conventions.
Successful localization considers key functional elements as well as cultural considerations such as graphics, data compliance, language requirements, bandwidth restrictions, and device preferences.
Planning with a global mindset will help avoid the ninety-ninety rule.
Localization is the key to driving software sales and acceptance.
33
ADDITIONAL RESOURCES
iOS Developer Library: Localizing your app
Microsoft Developer Network: Globalization and Localization Issues
Unicode CLDR: Language Reference Library
Pseudo localization: Further information
About LionbridgeLionbridge enables more than 800 world-leading brands to increase
international market share, speed adoption of products and effectively
engage their customers in local markets worldwide. Using our innovative
cloud technology platforms and our global crowd of more than 100,000
professional cloud workers, we provide translation, online marketing,
global content management and application testing solutions that ensure
global brand consistency, local relevancy and technical usability across
all touch points of the customer lifecycle.
Ready to localize your software? The Lionbridge experts are ready to
help you go global.
FOR MORE INFORMATION, CONTACT US TODAY
AT +1 781 .790.4099 OR L IONBRIDGE.COM
© 2016 Lionbridge. All Rights Reserved.