by: paul cerny. introduction terms and definitions education internationalization process what to...

34
By: Paul Cerny Internationalization

Upload: matthew-mitchell

Post on 18-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

By: Paul Cerny

Internationalization

IntroductionTerms and DefinitionsEducationInternationalization ProcessWhat to Watch ForCompaniesAvailable Tools/ProductsPositives/NegativesConclusion

Agenda

Early software was developed for use within the United States for English users because that is what the market for software was years ago.

Now, the market for software has become global, and many of the global markets are very different in comparison to the United States.

Introduction

Globalization (g11n) – The process of which all aspects of a business are moved to a global scale.

Internationalization (i18n) – creating or modifying software in such a way that it is easy to adapt to many different markets on a global scale. Many people interchange globalization and

internationalization.

Localization (L10n) – Taking software and updating it for deployment in one particular market or location.

GILT- Acronym for G11n, i18n, L10n, and Translation

Terms and Definitions

ABET and other accreditation committees have added items dealing with software in the global market.

Very few classes dedicated to i18nLearning as you go in the fieldLack of International Application

Study Abroad

Education

Should You Internationalize?Target ConsumerObjectivesEconomicsApplied to any softwareTime to Market

DrawbacksReusability of componentsCross-Cuts Software

i18n

i18n Model

Globalization

Internationalization

Localization

Create software with no regards to I18N following normal software development model

Re-engineer software for each new language or location

ProblemsTime/CostMultiple versions of the same softwareProjects are unique

i18n Typical Process

For New Software:START EARLYPlan and budget wellSeparate RequirementsConcurrent Process

Aspect-Oriented DevelopmentNo Industry Standard ProcessLocalizationTesting

i18n Process

For Existing Software:Much more complicated

May Require lots of redesignLocate all instances of items to be extractedUse Software Tools to modify codeLocalization

i18n Process

Variants of i18n softwareMonolingualMultilingualMultilingualization

Best practiceRun timeCompile time

I18n Process

Not just the functionality of the softwareExtra Layers of testing

Many different piecesResource FilesUnicodeTesting done on localized software

Difficult to test everythingInteraction with foreign softwareAutomation is improbable

Testing/Quality

Steps vary from project to project based on objectives

Partial localization is possibleCommon Steps

UI adjustmentsI/OTranslationSupport/InstallationCustomization

L10n

What to Watch ForUser Interface

Language BarriersTranslationsGrammarText LengthDirectionCharacter

Sets/UnicodeUTF-8/UTF-16

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China

Iran

Japan

Egypt

AustralianAboriginals

Asia

Netherlands

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran

Japan

Egypt

AustralianAboriginals

Asia

Netherlands

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSoundsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan

Egypt

AustralianAboriginals

Asia

Netherlands

User InterfaceCultural Differences

Laws/CensorshipCustoms

Language BarriersTranslationsGrammarText Length/DirectionCharacter

Sets/UnicodeColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt

AustralianAboriginals

Asia

Netherlands

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Asia

Netherlands

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Asia

Netherlands

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Of the People

Asia

Netherlands

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Of the People

Asia Death

Netherlands

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Of the People

Asia Death

Netherlands

Royalty

What to Watch ForCode

HardcodedDefault ValuesStringsDate/Time

MM/DD/YYDD/MM/YY

CurrencySymbolDigit groupings

print("This is a bad thing to have");

cout << "This also is a bad thing to have”;

All common programming languages can be internationalized

Java and many others have large support bases

IDE’s

i18n Platform

Allows for users to create own localized versions of software

Follows basic early i18n model with straight localization

Extra criteria from the developer

Impact of Open Source on i18n

Size is irrelevantMany companies have become multinationalConsultants

XencraftRIC InternationalLingoportHighTech Passoport

i18n Companies

TranStrL- isolates embedded stringVarious consultant in-house softwareGlobalyzer – rule set and tracking software

CiscoMcAfeePhilipsYahoo

Translation Services

Available Tools/Software

ICU- International Components for UnicodeC/C++ and Java LibrariesOpenSourceWidespread Usage

jQuery plugin for web designEclipseKBabelAPI’sAnd Many More!

Available Tools/Software

Larger Consumer BaseConsumers are more likely to use localized

softwareSingle Source Code

ExpandabilityMaintenanceQuality Assurance

Profits/Bottom Line/ROI

Positives

Time to marketReusability in other projectsRiskSecurity Concerns

Flexibility of i18NPerformance of the systemMan-hours

Negatives

Software is moving to the global market and staying there. The proper internationalization of the software greatly increases the chances for success with the software.

Conclusion

Questions?

[1]Abufardeh, S., Magel, K. (2009). Software Internationalization: Crosscutting Concerns across the Development Lifecycle. Proceedings of International Conference on New Trends in Information and Service Science. 10.1109/NISS.2009.202. Retrieved from http://ieeexplore.ieee.org/Xplore

[2]Abufardeh, S., Magel, K. (2009). Software Internationalization: Testing Methods for Bidirectional Software. Proceedings of the Fifth International Joint Conference on INC, IMS, and IDC. 10.1109/NCM.2009.359. Retrieved from http://ieeexplore.ieee.org/Xplore

[3]Guo, X., Tay, W., Sun, T., Urra, R.A., (2008). Intelligent Multilingual Software Testing Tool. Proceedings of IEEE International Conference on Networking, Sensing, and Control. 10.1109/ICNSC.2008.4525316. Retrieved from http://ieeexplore.ieee.org/Xplore

[4]Lingoport. (2007). Software Internationalization Services and Tools to Ensure Software Localization Success. Retrieved from http://www.lingoport.com/

[5]Microsoft (2011). Globalization Step-by-Step. Retrieved from http://msdn.microsoft.com/en-us/goglobal/bb688110.aspx

[6]Purvis, M., Hwang, P., Purvis, M., Madhavji, N., & Cranefield, S. (2001). A Practical Look at Software Internationalisation. Journal of Integrated Design & Process Science, 5(3), 79. Retrieved from EBSCOhost.

[7]Sun Microsystems (2001). SunTM Software Internationalization Taxonomy. Retrieved from http://developers.sun.com/dev/gadc/des_dev/i18ntaxonomy/i18n_taxonomy.pdf

[8]Wang, X., Zhang, L., Xie, T., Mei, H., Sun, J. (2009). Locating Need-To-Translate Constant Strings for Software Internationalization. Proceedings of the IEEE 31st International Conference on Software Engineering. 10.1109/ICSE.2009.5070535. Retrieved from http://ieeexplore.ieee.org/Xplore

[9]Yeo, A. (1996). Software internationalisation and localisation. Proceedings of the Sixth Australian Conference on Computer-Human Interaction, 10.1109/OZCHI.1996.560163 . Retrieved from http://ieeexplore.ieee.org/Xplore

References