are you ready for a global audience

24
Are You Ready For A Global Audience? Understanding the process and importance of internationalization Are You Ready For A Global Audience? Understanding the process and importance of internationalization Understanding the process and importance of internationalization Understanding the process and importance of internationalization Presented by Jeff Knorr Moderated by Kevin Perry October 22, 2008

Upload: lionbridge

Post on 20-Aug-2015

1.057 views

Category:

Business


1 download

TRANSCRIPT

Are You Ready For A Global Audience?Understanding the process and importance of internationalizationAre You Ready For A Global Audience?Understanding the process and importance of internationalizationUnderstanding the process and importance of internationalizationUnderstanding the process and importance of internationalization

Presented by Jeff KnorrModerated by Kevin Perry

October 22, 2008

What Is Internationalization?What Is Internationalization?

Internationalization + Localization = Globalization

Globalization (G11n): The total effort required to prepare your product for the rest of the world. Internationalization and localization are essential to any successful software globalization plan.

Internationalization (I18n): Designing, building, and/or re-engineering products so they can be easily adapted into target languages and regions without requiring subsequent engineering changes to the core application.

Localization (L10n): Adaptation of a product to a particular language & culture. Translation & content adaptation required to meet cultural needs.

Internationalization?You keep using that word.

I do not think it meanswhat you think it means. *

* The Princess Bride, 20th Century Fox, 1987

Software Globalization (Breaking It Down)Software Globalization (Breaking It Down)

L10NL10N

G11NG11NG11N

I18N

Should I Consider Internationalization?Should I Consider Internationalization?

You should if any of these statements apply to you…

“I h“I have never gone global with my product

before.”

“I have a product with language-specific functionality that needs to

be modified for new markets.”

“I want to address l10n support/efficiency issues “I want to support

“I do not have enough

experienced in past efforts.” locales beyond Western Europe.”

“I am developing new product and want to do it

right the 1st time!”

I do not have enough resources internally to

internationalize my product.” right the 1st time!p

Why Internationalize?Why Internationalize?

Internationalization Helps Your Bottom LineImproving the end-user’s experience will sell products.

Allows simultaneous release of your product in all targeted markets.

No software development needed for localized versions

Saves time and money in localization In some cases localization is not technically possible w/out i18n

Allows streamlining of localization; minimizing manual tasks

Maintenance pertains to all language versions instantlyp g g y

Move to additional markets is relatively easy

Internationalization Return on Investment (ROI)Internationalization Return on Investment (ROI)

Overall Costs of Classic Development vs. Internationalized Development

• Low-level Software

Development/Bug-fixing

• New Locale• New Locale Feature

Development

• UI Re-engineering

• Localization Effort

• Testing Cycles

Classic Development InternationalizedDevelopment

Goals of InternationalizationGoals of Internationalization

Increase return on investment

Improve time-to-marketp

Reduce internal costs

Create higher quality products customized to global end-users

Become self-sufficient in developing internationalized products from the start

Successfully & efficiently localize into global marketsy y gwithout external internationalization support

Pitfalls of Not InternationalizingPitfalls of Not Internationalizing

Poor quality localized product

Potentially impossible to support more complex languages y p pp p g g(Asian & Bi-directional)

Increased costs and duration for L10n effort

Increased involvement of product developers in L10n effortsIncreased involvement of product developers in L10n efforts

Simultaneous release in multiple languages not likely

Product maintenance challengesg

InternationalizationInternationalization

Assessing support for international markets- Base functionality y

features in product that are locale-specific?features to be externalized or packaged?

Currency date/time formats address formats graphics colors numeric- Currency, date/time formats, address formats, graphics, colors, numeric formats

must be internationalized or customizablei d t b l tf h l b l f tmany programming or database platforms have global features

England: 12,345.67Germany: 12.345,67Switzerland: 12’345,67Swiss money: 12’345.67Swiss money: 12 345.67France: 12 345,67

Types of Internationalization Support IssuesTypes of Internationalization Support Issues

String Externalization (resourcing infrastructure)

Font SupportGUI ModificationsCharacter handling g(Far East characters, Arabic)- Multiple-Byte Support- Bi-Directional Support- Unicode Migration

Locale/Language-specific features- Input methods- Input methods - Sorting- Searching

B i l- Business rules

Types of Internationalization Support IssuesTypes of Internationalization Support Issues

Database modifications to support & store international data

Data Presentation / User interfaceData Presentation / User interface

Translation Process Support (Localization Readiness)

Custom Development to support international data handling, storage, & retrieval

Visualizing the Software Globalization ProcessVisualizing the Software Globalization Process

“Cl i ” P (I18 P llI18 PTranslation

L10 PP d t Gl b li d!“Classic” Process (no i18n)

The typical development scenario is one where an English version

product is developed with little or

I18n ProcessWith Internationalized

Development (i.e. i18n of an already developed product), the core product is generalized so

that it can utilize OS level

HelloI18n ProcessOnce the core application is internationalized, all locale-

specific functionality is isolated to locale specific resources that can be modified without affecting the

こんにちはL10n

Engineering

L10n ProcessResource files (UI strings) are

translated, UI is “resized”, images are re-designed, and localized software versions are tested.

Product Globalized!Internationalize ONCE

Localize MANY

no consideration for international design & support. After an

English version is released, separate versions are re-

developed for each language and market by local distributors or

that it can utilize OS-level international capabilities, and

allow for the easy adaptation of locale-specific areas of the

software (i.e. strings, graphics, and locale-specific functions).

gcore functional code. The UI

strings and locale-sensitive code elements are handed off to L10n

in the form of resource files. Localization

日本語

Oi Bonjourysales offices. Hello

Internationalization

Bonjour

OiこんにちはHello

Core Product

Original Product

Standard I18n ProcessStandard I18n Process

Engage developers in i18n process

If no internal i18n expertise considerexpertise, consider partnering with experts

Ensure knowledge gained duringgained during process is leveraged to forward development & ptesting efforts

I18n Process - Phase 1I18n Process - Phase 1

Phase 1: I18n Audit- High level code & architecture

analysis; Product-needs assessment

- Locate all I18n issues with product, where they exist, & determine best approach for resolving them

- Define all i18n tasks/effort requiredDefine all i18n tasks/effort required to Enable product (code mods)

- Devise Implementation plan- Start scoping L10n effort- Assess ROI

I18n Process - Phase 2I18n Process - Phase 2

Phase 2: I18n Implementation- Address all issues identified during

Phase 1Establish comprehensive set of i18n- Establish comprehensive set of i18n requirements

- Proto-type i18n solutions before making global changesR i d t d f- Re-engineer product code for ease of L10n and global support

- Train development staff on i18n strategy, best-practices, and techniquestechniques

- Document all code mods; leverage to new product development

- Generate L10n Kit

I18n Process - Phase 3I18n Process - Phase 3

Phase 3: I18n Testing- Ensure intl functionality (incl. L10n

features) conform to internal & industry specs y p

- Develop international test approach

- Generate i18n test plans & test cases (leveraging from current QA strategy)strategy)

- Pseudo-localize test data

- Execute tests of international issues/functionality

- Resolve any/all i18n defects identified

Variations on Internationalization EnablementVariations on Internationalization Enablement

I18n is not an All-or-Nothing proposition!Multiple ways to phase into i18np y p

- Implement according to language/locale priority- Implement priority components/modules first (front-end) others later (backend/admin)- Implement according to functional priority (i.e. intl data handling, l10n-readiness, etc.)

Strategy contingent on current state of product- Stage of development (design, beta, release, etc.)- Product lifespan (legacy, migration plans, etc.)- In-country demands & requirements

Why Some Globalization Efforts FailWhy Some Globalization Efforts Fail

Internationalization issues are not considered part of the initial development cycle & specification -- it’s an “afterthought”

International requirements do not take local user-requirements into account

Development team is not familiar with international development issues, or how to deal with them

QA team is not familiar with international testing issues, and products aren’t tested on localized platforms & devices

Time required for the internationalization & localization process are under-Time required for the internationalization & localization process are under-estimated

Allowing non-qualified in-country distributors to internationalize, localize, and/or sell the productand/or sell the product

I18n Implementation ScenariosI18n Implementation Scenarios

Team up with I18n Partner to ready products for i18n along side internal development and QA teams from anal sis thro gh testing

Partnershipanalysis through testing

Hire outside i18n experts to fully implement product i18n with knowledge transfer on backend; internal staff Outsource gfocuses on new product development

Engage i18n experts to conduct i18n analysis & offer d d lti /t i i ll i l t ti &Due Diligence as-needed consulting/training; all implementation &

testing executed internallyDue Diligence

Case Examples- Partnership ScenarioCase Examples- Partnership Scenario

PartnershipConducted Phase 1 (product audits) on all productsMarket demand & ROI analysis showed no need for L10n I18n plan to support international data handling only (no L10n-readiness required)Trained majority of development & QA on i18n bestTrained majority of development & QA on i18n best practicesParticipated in Phase 2 (implementation) and Phase 3 (testing) while freezing new product development

Case Example- Outsource ScenarioCase Example- Outsource Scenario

OutsourceConducted Phase 1 (product audit)Fully outsourced Phase 2 (code implementation) in parallel ith for ard de elopmentparallel with forward developmentReceived handoff & documentation to support i18n-related product maintenanceMerged i18n modifications to new code branch & ginternationalized diff internally

Case Example- Due Diligence ScenarioCase Example- Due Diligence Scenario

Due DiligenceI18n expert conducted Phase 1 (product audit) and devised implementation strategyAll i l t ti & t ti ( h 1 & 2)All implementation & testing (phases 1 & 2) executed entirely using internal resources

Support Concurrent Product Development & I18nSupport Concurrent Product Development & I18n

Train development team & finalize requirements (minimize new i18n defects)No requirement to freeze codeBranch code & schedule merge/code review milestonesShare source mgmt system with i18n implementation teamg y pAgile, RAD & other iterative development methodologies support i18n well

In SummaryIn Summary

Internationalization is a precursor to Localization that generalizes a product so it can handle multiple languages & cultural conventions w/o need for re-design

Internationalization addresses several support issues

Internationalization lowers cost, increases efficiency, & improves quality of Localization

Internationalization costs are a fraction of initial English-only product development

Every internationalization plan can be customized to meet specific market, industry, and company requirements