Upload
matthew-mitchell
View
217
Download
0
Tags:
Embed Size (px)
Citation preview
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
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
[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