SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
4/30/2010                                  Internationalization Localization | Lang…




   Internationalization Tips for Successful Globalization
   Internationalization Articles                                                                           December 1st, 2007

   by Adam Asnes for ClientSide News

   There are two kinds of software internationalization you can refer to – built in to the product from the start, and
   performed on existing code. The kind of internationalization (i18n) this article invokes isn’t the sort that’s designed
   into a product right from conception. That is less common, though the pull of global markets is changing that tide.
   Few application development teams have historically had the opportunity to incorporate world market foresight.
   They had to produce a product to market for the most immediate business requirements. So then most
   internationalization happens on existing code because someone sells something, a global company buys another
   company, or a strategic initiative has taken form. Suddenly there is a new requirement for software to work in any
   number of new languages and locales. Business requirements drive technical schedules first, rather than involving a
   creative path of inventing new cool functionality or products from the ground up.

   I’m tempted to just write Don’t Panic, carry a towel and avoid Vogon poetry – and while you’re at it, Unicode’s
   pretty good stuff. I’m being flippant because internationalization efforts tend to each have their own unique
   challenges when you get into the details. I’ll instead provide this article as a series of i18n process tips that apply
   across the board. In general Internationalization (i18n) is messy, full of exceptions, and generally not considered
   optimally from a development perspective. M aybe that should be tip one.

   Tip One: Internationalization is ugly. Expect that from the start. You are reverse engineering basic logic of how your
   software inputs, stores, retrieves, transforms and displays data. You are adding user interaction functionality that
   your product wasn’t originally designed to do. It’s rarely just about embedded strings. There are a lot of things that
   can go wrong. It’s a lot of work. In some cases you can run into weird stuff from areas such as compilers,
   middleware, database connectivity, and even low level operating system issues.

   Tip Two: Get the big picture questions handled quickly. That is, what are the high level requirements, how much
   time do you have, how much time do you need and how much budget can you get? Be prepared to ask for what you
   need in the CFO’s or CEO’s language.

   Tip Three: Remember what’s driving this – Revenue. Internationalizing a complex application is a big new
   requirement. Don’t underestimate. Being late will cause delays in revenue, stall marketing and sales investments and
   make you very unpopular. Do it poorly and rushed, and your product will be shabby for the very new customers you
   seek.

   Tip Four: Do some good research or get help identifying requirements. For instance, consider language only as one
   aspect of a locale. English is a language. Yet England is a different locale, with different expected behavior than the
   States. Consider numerical formats, dates, times, postal addresses, phone numbers, paper size, currencies and more.
   Then add the specifics that your application may need, like any possible customizations of workflow, locale selection
   and more. Consider what the optimal character encoding implementation strategy is for your computer platforms,
   application tiers, programming languages, database requirements, etc.

   Tip Five: Get some good code intelligence. Tools like our Globalyzer software let you comb through your source and
   identify all kinds of internationalization issues right up front. It’s way better to get a good inventory of what you
   need to inspect and change, rather than hunting through your myriad lines of code trying to anticipate all kinds of
   variable conditions using grep, and then trial and error your way through the boatloads of issues you’ll miss.

lingoport.com/december-2007-internat…                                                                                           1/4
4/30/2010                                 Internationalization Localization | Lang…

   We are just adding a new capability to Globalyzer, a leading software internationalization tool, called Diagnostics. It
   will give you summary information internationalization readiness and issues found in your code. It’s fully functional
   even with just a trial Globalyzer license. No excuses, it’s free to use all you want.

   Tip Six: Prepare for nests of difficulties depending upon your programming language(s), database and third party
   products. Programming languages rate differently in terms of difficulty to internationalize. For instance C and C++ are
   harder, with many hundreds of potential issues, compared to Java and C#, which have quite a bit of
   internationalization baked in. But Java and C# don’t internationalize themselves. You have to use their frameworks,
   which are very capable. The good thing is that when a programming language has well designed internationalization
   capability, the work goes faster.

   Tip Seven: Third party products can cause some challenges. They are not always built for your new
   internationalization needs. For instance, a couple of years ago we worked on a product that used a third party
   product for displaying animations in a kid’s game. At first glance, you wouldn’t think it would be an issue, as there
   was no text being processed or displayed. But when we looked at things more closely, user name and file path info
   was being passed into the animation tool, which in this case could very well involve wide characters (e.g. Chinese).
   But the particular version of the animation product, could not support this and so it would always crash. The fix
   took time and some inventiveness.

   Another example involved a third party product that generated a spreadsheet view. While data within the cells was
   handling Kanji just fine, tabs were corrupting. The third party product provider had declared their product Unicode
   compliant, but in practice it wasn’t done all the way through. The choice became to find a better third party
   product to replace this one, or get the spreadsheet provider to fix their product -which they may or may not want
   to do on your schedule.

   Tip Eight: Remember your i18n fundamentals. Don’t embed strings or concatenate them. Watch out for sorting. A
   and Z are not the beginning and end of all alphabets – some languages don’t use the concept of alphabets. Don’t
   hardcode fonts. Remember your interface Geometry will need to expand. Use functions, methods or classes that
   adapt to locale needs. Use Locale adapting sorting (i.e. java.text.Collator class in Java) or let your database perform
   sorting for you whenever possible.

   You can automate aspects of repetitive like string externalization using Globalyzer. It makes that tedious job go
   much faster.

   Tip Nine: Account for merging code with parallel feature developments. This can be tricky, as your new feature
   development cycles could be quite different from your internationalization milestones. In most cases, be prepared
   to branch the code for internationalization efforts.

   Tip Ten: Use Pseudo Localization (PseudoJudo in Globalyzer) to perform many internationalization functional tests
   before your localize. That means you add pad characters from target locales to the beginning and end of strings, and
   stretch the whole string based on target requirements. You’ll then be able to see how those strings behave in your
   display and moving through application tiers, without your engineers needing to understand the target language.

   Bonus Tip Eleven: Plan for QA to take longer than it did when your app was just monolingual. Remember, you have
   internationalization functional testing and bug fixing, with new testing cases, and then, should you be localizing, you
   have linguistic testing.




            Resources
                 Internationalization Articles

lingoport.com/december-2007-internat…                                                                                        2/4
4/30/2010                                 Internationalization Localization | Lang…
                 Internationalization Newsletter
                 Internationalization Whitepapers
                 Videos
                 Webinars



   Subscribe
   Subscribe to our newsletter and white papers for free internationalization news, articles, and Webinar
   announcements sent via email.
   Click Here to Subscribe


   Contact Us
        Phone: +1.303.444.8020
            Email: info@lingoport.com




lingoport.com/december-2007-internat…                                                                       3/4
4/30/2010                               Internationalization Localization | Lang…




lingoport.com/december-2007-internat…                                               4/4

Mais conteúdo relacionado

Destaque

Localization and globalization in c#
Localization and globalization in c#Localization and globalization in c#
Localization and globalization in c#PaYal Umraliya
 
C#: Globalization and localization
C#: Globalization and localizationC#: Globalization and localization
C#: Globalization and localizationRohit Vipin Mathews
 
Guide to Globalization, Internationalization, Localization & Translation
Guide to Globalization, Internationalization, Localization & TranslationGuide to Globalization, Internationalization, Localization & Translation
Guide to Globalization, Internationalization, Localization & TranslationNeil Payne
 
IB Geography - Global Interactions - Glocalization
IB Geography - Global Interactions - GlocalizationIB Geography - Global Interactions - Glocalization
IB Geography - Global Interactions - GlocalizationRichard Allaway
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project Managementbarakdanin
 

Destaque (7)

Localization and globalization in c#
Localization and globalization in c#Localization and globalization in c#
Localization and globalization in c#
 
Localization framework
Localization frameworkLocalization framework
Localization framework
 
C#: Globalization and localization
C#: Globalization and localizationC#: Globalization and localization
C#: Globalization and localization
 
Guide to Globalization, Internationalization, Localization & Translation
Guide to Globalization, Internationalization, Localization & TranslationGuide to Globalization, Internationalization, Localization & Translation
Guide to Globalization, Internationalization, Localization & Translation
 
IB Geography - Global Interactions - Glocalization
IB Geography - Global Interactions - GlocalizationIB Geography - Global Interactions - Glocalization
IB Geography - Global Interactions - Glocalization
 
Glocalization
GlocalizationGlocalization
Glocalization
 
Localization Project Management
Localization Project ManagementLocalization Project Management
Localization Project Management
 

Mais de Lingoport (www.lingoport.com)

Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Lingoport (www.lingoport.com)
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011Lingoport (www.lingoport.com)
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLingoport (www.lingoport.com)
 
Wordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static AnalysisWordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static AnalysisLingoport (www.lingoport.com)
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport (www.lingoport.com)
 
JavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationJavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationLingoport (www.lingoport.com)
 
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...Lingoport (www.lingoport.com)
 
Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Lingoport (www.lingoport.com)
 
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Lingoport (www.lingoport.com)
 
Internationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyInternationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyLingoport (www.lingoport.com)
 

Mais de Lingoport (www.lingoport.com) (20)

Staying Global in an Agile World Presentation
Staying Global in an Agile World PresentationStaying Global in an Agile World Presentation
Staying Global in an Agile World Presentation
 
Internationalizing a Multi-Layered Application
Internationalizing a Multi-Layered ApplicationInternationalizing a Multi-Layered Application
Internationalizing a Multi-Layered Application
 
Shifting Left Webinar Slideshow
Shifting Left Webinar SlideshowShifting Left Webinar Slideshow
Shifting Left Webinar Slideshow
 
Shifting Left Webinar Slides
Shifting Left Webinar SlidesShifting Left Webinar Slides
Shifting Left Webinar Slides
 
Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!Internationalization Conference, Webinars, Events, Book Discount and More!
Internationalization Conference, Webinars, Events, Book Discount and More!
 
Keyboards and Internationalization
Keyboards and InternationalizationKeyboards and Internationalization
Keyboards and Internationalization
 
LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011LocWorld: Building an Internationalization Plan; October 2011
LocWorld: Building an Internationalization Plan; October 2011
 
Internationalization & Localization Process
Internationalization & Localization ProcessInternationalization & Localization Process
Internationalization & Localization Process
 
Leading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert DiscussionLeading Globalized Software Effort: An Expert Discussion
Leading Globalized Software Effort: An Expert Discussion
 
Unicode Primer for the Uninitiated
Unicode Primer for the UninitiatedUnicode Primer for the Uninitiated
Unicode Primer for the Uninitiated
 
Static analysis for multiple programming languages
Static analysis for multiple programming languagesStatic analysis for multiple programming languages
Static analysis for multiple programming languages
 
Wordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static AnalysisWordware 2011: Lingoport i18n Planning & Static Analysis
Wordware 2011: Lingoport i18n Planning & Static Analysis
 
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
Lingoport internationalization-i18n-and-localization-l10n-e newsletter-septem...
 
JavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software LocalizationJavaScript Internationalization I18n for Efficient Software Localization
JavaScript Internationalization I18n for Efficient Software Localization
 
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive ...
 
Introduction to Internationalization (I18n)
Introduction to Internationalization (I18n)Introduction to Internationalization (I18n)
Introduction to Internationalization (I18n)
 
Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...Worldware: Software internationalization and globalization conference summary...
Worldware: Software internationalization and globalization conference summary...
 
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
Enhancing Internationalization Productivity: I18n Tools Support Software Loca...
 
Outsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) ServicesOutsourcing Internationalization (i18n) Services
Outsourcing Internationalization (i18n) Services
 
Internationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A StudyInternationalization (I18n) and Localization (L10n): A Study
Internationalization (I18n) and Localization (L10n): A Study
 

Último

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Último (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Internationalization Tips for Successful Globalization: Internationalization, Localization, Language Translation and Software I18n Article

  • 1. 4/30/2010 Internationalization Localization | Lang… Internationalization Tips for Successful Globalization Internationalization Articles December 1st, 2007 by Adam Asnes for ClientSide News There are two kinds of software internationalization you can refer to – built in to the product from the start, and performed on existing code. The kind of internationalization (i18n) this article invokes isn’t the sort that’s designed into a product right from conception. That is less common, though the pull of global markets is changing that tide. Few application development teams have historically had the opportunity to incorporate world market foresight. They had to produce a product to market for the most immediate business requirements. So then most internationalization happens on existing code because someone sells something, a global company buys another company, or a strategic initiative has taken form. Suddenly there is a new requirement for software to work in any number of new languages and locales. Business requirements drive technical schedules first, rather than involving a creative path of inventing new cool functionality or products from the ground up. I’m tempted to just write Don’t Panic, carry a towel and avoid Vogon poetry – and while you’re at it, Unicode’s pretty good stuff. I’m being flippant because internationalization efforts tend to each have their own unique challenges when you get into the details. I’ll instead provide this article as a series of i18n process tips that apply across the board. In general Internationalization (i18n) is messy, full of exceptions, and generally not considered optimally from a development perspective. M aybe that should be tip one. Tip One: Internationalization is ugly. Expect that from the start. You are reverse engineering basic logic of how your software inputs, stores, retrieves, transforms and displays data. You are adding user interaction functionality that your product wasn’t originally designed to do. It’s rarely just about embedded strings. There are a lot of things that can go wrong. It’s a lot of work. In some cases you can run into weird stuff from areas such as compilers, middleware, database connectivity, and even low level operating system issues. Tip Two: Get the big picture questions handled quickly. That is, what are the high level requirements, how much time do you have, how much time do you need and how much budget can you get? Be prepared to ask for what you need in the CFO’s or CEO’s language. Tip Three: Remember what’s driving this – Revenue. Internationalizing a complex application is a big new requirement. Don’t underestimate. Being late will cause delays in revenue, stall marketing and sales investments and make you very unpopular. Do it poorly and rushed, and your product will be shabby for the very new customers you seek. Tip Four: Do some good research or get help identifying requirements. For instance, consider language only as one aspect of a locale. English is a language. Yet England is a different locale, with different expected behavior than the States. Consider numerical formats, dates, times, postal addresses, phone numbers, paper size, currencies and more. Then add the specifics that your application may need, like any possible customizations of workflow, locale selection and more. Consider what the optimal character encoding implementation strategy is for your computer platforms, application tiers, programming languages, database requirements, etc. Tip Five: Get some good code intelligence. Tools like our Globalyzer software let you comb through your source and identify all kinds of internationalization issues right up front. It’s way better to get a good inventory of what you need to inspect and change, rather than hunting through your myriad lines of code trying to anticipate all kinds of variable conditions using grep, and then trial and error your way through the boatloads of issues you’ll miss. lingoport.com/december-2007-internat… 1/4
  • 2. 4/30/2010 Internationalization Localization | Lang… We are just adding a new capability to Globalyzer, a leading software internationalization tool, called Diagnostics. It will give you summary information internationalization readiness and issues found in your code. It’s fully functional even with just a trial Globalyzer license. No excuses, it’s free to use all you want. Tip Six: Prepare for nests of difficulties depending upon your programming language(s), database and third party products. Programming languages rate differently in terms of difficulty to internationalize. For instance C and C++ are harder, with many hundreds of potential issues, compared to Java and C#, which have quite a bit of internationalization baked in. But Java and C# don’t internationalize themselves. You have to use their frameworks, which are very capable. The good thing is that when a programming language has well designed internationalization capability, the work goes faster. Tip Seven: Third party products can cause some challenges. They are not always built for your new internationalization needs. For instance, a couple of years ago we worked on a product that used a third party product for displaying animations in a kid’s game. At first glance, you wouldn’t think it would be an issue, as there was no text being processed or displayed. But when we looked at things more closely, user name and file path info was being passed into the animation tool, which in this case could very well involve wide characters (e.g. Chinese). But the particular version of the animation product, could not support this and so it would always crash. The fix took time and some inventiveness. Another example involved a third party product that generated a spreadsheet view. While data within the cells was handling Kanji just fine, tabs were corrupting. The third party product provider had declared their product Unicode compliant, but in practice it wasn’t done all the way through. The choice became to find a better third party product to replace this one, or get the spreadsheet provider to fix their product -which they may or may not want to do on your schedule. Tip Eight: Remember your i18n fundamentals. Don’t embed strings or concatenate them. Watch out for sorting. A and Z are not the beginning and end of all alphabets – some languages don’t use the concept of alphabets. Don’t hardcode fonts. Remember your interface Geometry will need to expand. Use functions, methods or classes that adapt to locale needs. Use Locale adapting sorting (i.e. java.text.Collator class in Java) or let your database perform sorting for you whenever possible. You can automate aspects of repetitive like string externalization using Globalyzer. It makes that tedious job go much faster. Tip Nine: Account for merging code with parallel feature developments. This can be tricky, as your new feature development cycles could be quite different from your internationalization milestones. In most cases, be prepared to branch the code for internationalization efforts. Tip Ten: Use Pseudo Localization (PseudoJudo in Globalyzer) to perform many internationalization functional tests before your localize. That means you add pad characters from target locales to the beginning and end of strings, and stretch the whole string based on target requirements. You’ll then be able to see how those strings behave in your display and moving through application tiers, without your engineers needing to understand the target language. Bonus Tip Eleven: Plan for QA to take longer than it did when your app was just monolingual. Remember, you have internationalization functional testing and bug fixing, with new testing cases, and then, should you be localizing, you have linguistic testing. Resources Internationalization Articles lingoport.com/december-2007-internat… 2/4
  • 3. 4/30/2010 Internationalization Localization | Lang… Internationalization Newsletter Internationalization Whitepapers Videos Webinars Subscribe Subscribe to our newsletter and white papers for free internationalization news, articles, and Webinar announcements sent via email. Click Here to Subscribe Contact Us Phone: +1.303.444.8020 Email: info@lingoport.com lingoport.com/december-2007-internat… 3/4
  • 4. 4/30/2010 Internationalization Localization | Lang… lingoport.com/december-2007-internat… 4/4