34
By: Paul Cerny Internationalization

Internationalization

  • Upload
    lula

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Internationalization. By: Paul Cerny. Agenda. Introduction Terms and Definitions Education Internationalization Process What to Watch For Companies Available Tools/Products Positives/Negatives Conclusion. Introduction. - PowerPoint PPT Presentation

Citation preview

Page 1: Internationalization

By: Paul Cerny

Internationalization

Page 2: Internationalization

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

Agenda

Page 3: Internationalization

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

Page 4: Internationalization

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

Page 5: Internationalization

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

Page 6: Internationalization

Should You Internationalize?Target ConsumerObjectivesEconomicsApplied to any softwareTime to Market

DrawbacksReusability of componentsCross-Cuts Software

i18n

Page 7: Internationalization

i18n Model

Globalization

Internationalization

Localization

Page 8: Internationalization

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

Page 9: Internationalization

For New Software:START EARLYPlan and budget wellSeparate RequirementsConcurrent Process

Aspect-Oriented DevelopmentNo Industry Standard ProcessLocalizationTesting

i18n Process

Page 10: Internationalization

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

Page 11: Internationalization

Variants of i18n softwareMonolingualMultilingualMultilingualization

Best practiceRun timeCompile time

I18n Process

Page 12: Internationalization

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

Page 13: Internationalization

Steps vary from project to project based on objectives

Partial localization is possibleCommon Steps

UI adjustmentsI/OTranslationSupport/InstallationCustomization

L10n

Page 14: Internationalization

What to Watch ForUser Interface

Language BarriersTranslationsGrammarText LengthDirectionCharacter

Sets/UnicodeUTF-8/UTF-16

Page 15: Internationalization

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China

Iran

Japan

Egypt

AustralianAboriginals

Asia

Netherlands

Page 16: Internationalization

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran

Japan

Egypt

AustralianAboriginals

Asia

Netherlands

Page 17: Internationalization

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSoundsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan

Egypt

AustralianAboriginals

Asia

Netherlands

Page 18: Internationalization

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

Page 19: Internationalization

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Asia

Netherlands

Page 20: Internationalization

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Asia

Netherlands

Page 21: Internationalization

Cultural DifferencesLaws/CensorshipCustomsColorsSymbolsSounds

What to Watch ForColor Locale Meaning

China Good Luck

Iran Heaven

Japan Life

Egypt Mourning

AustralianAboriginals

Of the People

Asia

Netherlands

Page 22: Internationalization

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

Page 23: Internationalization

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

Page 24: Internationalization

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”;

Page 25: Internationalization

All common programming languages can be internationalized

Java and many others have large support bases

IDE’s

i18n Platform

Page 26: Internationalization

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

Page 27: Internationalization

Size is irrelevantMany companies have become multinationalConsultants

XencraftRIC InternationalLingoportHighTech Passoport

i18n Companies

Page 28: Internationalization

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

CiscoMcAfeePhilipsYahoo

Translation Services

Available Tools/Software

Page 29: Internationalization

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

jQuery plugin for web designEclipseKBabelAPI’sAnd Many More!

Available Tools/Software

Page 30: Internationalization

Larger Consumer BaseConsumers are more likely to use localized

softwareSingle Source Code

ExpandabilityMaintenanceQuality Assurance

Profits/Bottom Line/ROI

Positives

Page 31: Internationalization

Time to marketReusability in other projectsRiskSecurity Concerns

Flexibility of i18NPerformance of the systemMan-hours

Negatives

Page 32: Internationalization

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

Page 33: Internationalization

Questions?

Page 34: Internationalization

[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