Internationalization By Paul Cerny Agenda Introduction Terms and
Internationalization By: Paul Cerny
Agenda �Introduction �Terms and Definitions �Education �Internationalization Process �What to Watch For �Companies �Available Tools/Products �Positives/Negatives �Conclusion
Introduction �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.
Terms and Definitions �Globalization (g 11 n) – The process of which all aspects of a business are moved to a global scale. �Internationalization (i 18 n) – 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 (L 10 n) – Taking software and updating it for deployment in one particular market or location. �GILT- Acronym for G 11 n, i 18 n, L 10 n, and Translation
Education �ABET and other accreditation committees have added items dealing with software in the global market. �Very few classes dedicated to i 18 n �Learning as you go in the field �Lack of International Application � Study Abroad
i 18 n �Should You Internationalize? � Target Consumer � Objectives � Economics � Applied to any software � Time to Market �Drawbacks � Reusability of components � Cross-Cuts Software
i 18 n Model Globalization Internationalization Localization
i 18 n Typical Process �Create software with no regards to I 18 N following normal software development model �Re-engineer software for each new language or location �Problems � Time/Cost � Multiple versions of the same software � Projects are unique
i 18 n Process �For New Software: � START EARLY � Plan and budget well � Separate Requirements � Concurrent Process �Aspect-Oriented Development � No Industry Standard Process � Localization � Testing
i 18 n Process �For Existing Software: � Much more complicated �May Require lots of redesign � Locate all instances of items to be extracted � Use Software Tools to modify code � Localization
I 18 n Process �Variants of i 18 n software � Monolingual � Multilingualization �Best practice � Run time � Compile time
Testing/Quality �Not just the functionality of the software �Extra Layers of testing � Many different pieces �Resource Files �Unicode �Testing done on localized software � Difficult to test everything �Interaction with foreign software �Automation is improbable
L 10 n �Steps vary from project to project based on objectives �Partial localization is possible �Common Steps � UI adjustments � I/O � Translation � Support/Installation � Customization
What to Watch For �User Interface � Language Barriers �Translations �Grammar �Text Length �Direction �Character Sets/Unicode UTF-8/UTF-16
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale China Iran Japan Egypt Australian Aboriginals Asia Netherlands Meaning
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Japan Egypt Australian Aboriginals Asia Netherlands
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Heaven Japan Egypt Australian Aboriginals Asia Netherlands
What to Watch For �User Interface � Cultural Differences �Laws/Censorship �Customs � Language Barriers �Translations �Grammar �Text Length/Direction �Character Sets/Unicode � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Heaven Japan Life Egypt Australian Aboriginals Asia Netherlands
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Heaven Japan Life Egypt Mourning Australian Aboriginals Asia Netherlands
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Heaven Japan Life Egypt Mourning Australian Aboriginals Asia Netherlands
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Heaven Japan Life Egypt Mourning Australian Aboriginals Of the People Asia Netherlands
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Heaven Japan Life Egypt Mourning Australian Aboriginals Of the People Asia Death Netherlands
What to Watch For �Cultural Differences � Laws/Censorship � Customs � Colors � Symbols � Sounds Color Locale Meaning China Good Luck Iran Heaven Japan Life Egypt Mourning Australian Aboriginals Of the People Asia Death Netherlands Royalty
What to Watch For �Code � Hardcoded � Default Values � Strings � Date/Time �MM/DD/YY �DD/MM/YY � Currency �Symbol �Digit groupings � print("This is a bad thing to have"); � cout << "This also is a bad thing to have”;
i 18 n Platform �All common programming languages can be internationalized �Java and many others have large support bases �IDE’s
Impact of Open Source on i 18 n �Allows for users to create own localized versions of software �Follows basic early i 18 n model with straight localization �Extra criteria from the developer
i 18 n Companies �Size is irrelevant �Many companies have become multinational �Consultants � Xencraft � RIC International � Lingoport � High. Tech Passoport
Available Tools/Software �Tran. Str. L- isolates embedded string �Various consultant in-house software �Globalyzer – rule set and tracking software � Cisco � Mc. Afee � Philips � Yahoo �Translation Services
Available Tools/Software �ICU- International Components for Unicode � C/C++ and Java Libraries � Open. Source � Widespread Usage �j. Query plugin for web design �Eclipse �KBabel �API’s �And Many More!
Positives �Larger Consumer Base � Consumers are more likely to use localized software �Single Source Code � Expandability � Maintenance � Quality Assurance �Profits/Bottom Line/ROI
Negatives �Time to market �Reusability in other projects �Risk �Security Concerns � Flexibility of i 18 N �Performance of the system �Man-hours
Conclusion �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.
Questions?
References � [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/enus/goglobal/bb 688110. 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). Sun. TM Software Internationalization Taxonomy. Retrieved from http: //developers. sun. com/dev/gadc/des_dev/i 18 ntaxonomy/i 18 n_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 31 st 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
- Slides: 34