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




   Internationalization Engineering Planning: Secret Sauce
   Internationalization Articles                                                                            March 13th, 2008

   by Adam Asnes for Multilingual Computing

   Just recently I got a call out of the blue from a colleague who leads his own internal internationalization (i18n)
   team at a well known software company, with many leading commercial products. The discussion particularly related
   to best practices and turning information into actual plans. I suppose the art of planning is kind of a “secret sauce”
   for any type of engineering. And i18n has its own special ingredients which need to be blended with their own
   puree of painful lessons. Seriously, i18n is dangerous stuff to estimate.

   Here are a few reasons:


            Requirements are notoriously easy to under estimate. People start just considering string management and
            then realize that’s just a small part of the full scope (see my other articles).
            Code bases are typically very large and often you have limited history or connection to the people who
            wrote it.
            Different programming languages, web servers, databases and platforms involve optimizing all kinds of encoding
            issues.
            Internationalization issues aren’t easy to uncover and they are hidden in the code.
            There may be all kinds of programming logic that will need to be rewritten as it just won’t work for multiple
            locales.
            Architectural elements that need to be added, like locale operations or database changes, touch large
            amounts of the code, and tend to break everything.
            The development team isn’t going to sit on their hands while the internationalization effort goes on – so you
            have two parallel coding efforts, one of which breaks everything (see prior item).

   Any one of these issues has enough excitement to warrant an article on its own (and I may just take that path in the
   future), but it’s probably good to start on a high level describing some of the process with a few example questions
   and answers. What locales are being targeted and when? You can lump some aspects of target markets together by
   encoding. For instance, ISO-Latin 1 for Western European languages, Unicode for Asian languages. From there, you
   need a good idea of what the product in question actually does. How will the user need to set locale? Are address
   formats, phone numbers, dates, times, currencies, numerical units managed in particular ways? What are the various
   application tiers? How is data flowing from one part of the code to another?

   Regarding those application tiers, are there whole sections of code that are out of scope? Could there be inherent
   danger in making them out of scope? What programming languages are used? There are drastic differences in how
   internationalization is handled among programming languages. Java and C# tend to be among the easiest with regard
   to i18n. PHP has gotten a lot better, but used to have no i18n framework. JavaScript is just a pain, as the very
   nature of how it’s used typically inspires all kinds of concatenation. C and C++ are typically difficult as there is just
   so much more involved with character set support, memory management and hosts of nasties like pointer arithmetic.
   On top of that, ANSI C/C++ is different than M icrosoft C/C++. M any M icrosoft products in most cases have their own
   special constraints. For instance with regard to databases Oracle will support ISO-Latin, UTF-8 and UTF-16 encodings.
   Yet M icrosoft SQL Server is ISO-Latin or UCS-2 only (which happens to be nearly the same as UTF-16). The list issues
   as they pertain to technologies goes on, and on, but you get the idea.


lingoport.com/internationalization-engi…                                                                                       1/4
4/30/2010                              Software Internationalization | Interna…
   You can break down planning a project in terms of:


       1. What’s not in the code that needs to be added?
       2. What’s in the code that needs to be changed?
       3. When does it need to be completed?
             1. Should parts of the effort be phased?
       4. What’s the budget?

   The first question has everything to do with marketing, usage and technology requirements. If you miss requirements
   you will be late, and build something less desirable than imagined. What’s not in the code is broadly an architectural
   issue including everything from locale selection and operations, to the method of resource files being used. This
   takes good smart leadership which has been through i18n planning and construction efforts multiple times.

   Question two is all about detective work. How are you going to find all the strings, methods and classes,
   programmatic logic patterns and more that have to be changed – yet lie buried in those hundred thousand to
   millions of lines of code? You can look at the interface and start to make guesses (the old way), or really count the
   issues, while locating and verifying them all with powerful diagnostic software tools. You can relatively quickly list all
   internationalization issues, view them, confirm their location, even figure the costs of translating the embedded
   strings with the right software.

   Question three is all about marketing plans and revenue expectations. Often there’s a lot riding on target dates,
   with advertising, sales and customers waiting. Plus you need to factor in ample time for testing. In a perfect world,
   you would internationalize to the fullest scope possible, but budget and timing reality may mean a phased approach
   with some aspects left out of scope, depending upon application needs, customer requirements and locale targets.

   Question four is often not fully known until the plan comes together. There may be a loose number assigned, but
   the specifics are a result of planning activities. Nevertheless, money is like oxygen. You’ll need a consistent supply if
   the project is to get finished without interruption.

   Next comes the artistic finesse part. You have to put it all together into a plan. It takes experience to convert your
   data regarding requirements, architecture and code refactoring into a plan that optimizes the tasks, engineering
   team, schedule and costs. You could try applying hard metrics for this, like X number of issues means Y time, but
   often this is only a place to start. You have to plan for “surprises” and variations. Experience shows you where those
   tend to occur.

   I suppose the chief service value that people buy from a quality i18n firm is that experience and its effect on risk,
   efficiency, time and expenses. Clients only looking to buy an hourly rate are missing the point.




          Resources
                  Internationalization Articles
                  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.

lingoport.com/internationalization-engi…                                                                                        2/4
4/30/2010                                  Software Internationalization | Interna…
   Click Here to Subscribe


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




lingoport.com/internationalization-engi…                                              3/4
4/30/2010                                  Software Internationalization | Interna…




lingoport.com/internationalization-engi…                                              4/4

Mais conteúdo relacionado

Destaque

Elternratgeber dyskalkulie
Elternratgeber dyskalkulieElternratgeber dyskalkulie
Elternratgeber dyskalkulieJacob Pack
 
Carl Nolte Technik - Imagebroschüre
Carl Nolte Technik - ImagebroschüreCarl Nolte Technik - Imagebroschüre
Carl Nolte Technik - ImagebroschüreCarl Nolte Technik
 
Social Media in der PR
Social Media in der PRSocial Media in der PR
Social Media in der PRAnne Linke
 
Mobile preso mc crary_updated
Mobile preso mc crary_updatedMobile preso mc crary_updated
Mobile preso mc crary_updatedFederated Sample
 
GREY Food Trends 2/2013
GREY Food Trends 2/2013GREY Food Trends 2/2013
GREY Food Trends 2/2013GREY Germany
 
Product Placement - A convenient revenue stream for games?
Product Placement - A convenient revenue stream for games? Product Placement - A convenient revenue stream for games?
Product Placement - A convenient revenue stream for games? Branded Entertainment
 
Google Plus für Business
Google Plus für BusinessGoogle Plus für Business
Google Plus für BusinessDAVIES MEYER
 
E-Mail-Marketing in der Cloud
E-Mail-Marketing in der CloudE-Mail-Marketing in der Cloud
E-Mail-Marketing in der CloudConnected-Blog
 
ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...
ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...
ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...ISARNETZ
 
Wie kann eResult Sie unterstützen?
Wie kann eResult Sie unterstützen?Wie kann eResult Sie unterstützen?
Wie kann eResult Sie unterstützen?Connected-Blog
 

Destaque (12)

Elternratgeber dyskalkulie
Elternratgeber dyskalkulieElternratgeber dyskalkulie
Elternratgeber dyskalkulie
 
Carl Nolte Technik - Imagebroschüre
Carl Nolte Technik - ImagebroschüreCarl Nolte Technik - Imagebroschüre
Carl Nolte Technik - Imagebroschüre
 
Social Media in der PR
Social Media in der PRSocial Media in der PR
Social Media in der PR
 
Mobile preso mc crary_updated
Mobile preso mc crary_updatedMobile preso mc crary_updated
Mobile preso mc crary_updated
 
GREY Food Trends 2/2013
GREY Food Trends 2/2013GREY Food Trends 2/2013
GREY Food Trends 2/2013
 
Product Placement - A convenient revenue stream for games?
Product Placement - A convenient revenue stream for games? Product Placement - A convenient revenue stream for games?
Product Placement - A convenient revenue stream for games?
 
Google Plus für Business
Google Plus für BusinessGoogle Plus für Business
Google Plus für Business
 
E-Mail-Marketing in der Cloud
E-Mail-Marketing in der CloudE-Mail-Marketing in der Cloud
E-Mail-Marketing in der Cloud
 
ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...
ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...
ISARCAMP: UnserParkplatz.de / Denise Schuster - collaborative consumption, de...
 
Shopware
ShopwareShopware
Shopware
 
Ehi online-payment-studie 2012
Ehi online-payment-studie 2012Ehi online-payment-studie 2012
Ehi online-payment-studie 2012
 
Wie kann eResult Sie unterstützen?
Wie kann eResult Sie unterstützen?Wie kann eResult Sie unterstützen?
Wie kann eResult Sie unterstützen?
 

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

UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"DianaGray10
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Alexander Turgeon
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 

Último (20)

UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 

Software Internationalization (I18n) Engineering

  • 1. 4/30/2010 Software Internationalization | Interna… Internationalization Engineering Planning: Secret Sauce Internationalization Articles March 13th, 2008 by Adam Asnes for Multilingual Computing Just recently I got a call out of the blue from a colleague who leads his own internal internationalization (i18n) team at a well known software company, with many leading commercial products. The discussion particularly related to best practices and turning information into actual plans. I suppose the art of planning is kind of a “secret sauce” for any type of engineering. And i18n has its own special ingredients which need to be blended with their own puree of painful lessons. Seriously, i18n is dangerous stuff to estimate. Here are a few reasons: Requirements are notoriously easy to under estimate. People start just considering string management and then realize that’s just a small part of the full scope (see my other articles). Code bases are typically very large and often you have limited history or connection to the people who wrote it. Different programming languages, web servers, databases and platforms involve optimizing all kinds of encoding issues. Internationalization issues aren’t easy to uncover and they are hidden in the code. There may be all kinds of programming logic that will need to be rewritten as it just won’t work for multiple locales. Architectural elements that need to be added, like locale operations or database changes, touch large amounts of the code, and tend to break everything. The development team isn’t going to sit on their hands while the internationalization effort goes on – so you have two parallel coding efforts, one of which breaks everything (see prior item). Any one of these issues has enough excitement to warrant an article on its own (and I may just take that path in the future), but it’s probably good to start on a high level describing some of the process with a few example questions and answers. What locales are being targeted and when? You can lump some aspects of target markets together by encoding. For instance, ISO-Latin 1 for Western European languages, Unicode for Asian languages. From there, you need a good idea of what the product in question actually does. How will the user need to set locale? Are address formats, phone numbers, dates, times, currencies, numerical units managed in particular ways? What are the various application tiers? How is data flowing from one part of the code to another? Regarding those application tiers, are there whole sections of code that are out of scope? Could there be inherent danger in making them out of scope? What programming languages are used? There are drastic differences in how internationalization is handled among programming languages. Java and C# tend to be among the easiest with regard to i18n. PHP has gotten a lot better, but used to have no i18n framework. JavaScript is just a pain, as the very nature of how it’s used typically inspires all kinds of concatenation. C and C++ are typically difficult as there is just so much more involved with character set support, memory management and hosts of nasties like pointer arithmetic. On top of that, ANSI C/C++ is different than M icrosoft C/C++. M any M icrosoft products in most cases have their own special constraints. For instance with regard to databases Oracle will support ISO-Latin, UTF-8 and UTF-16 encodings. Yet M icrosoft SQL Server is ISO-Latin or UCS-2 only (which happens to be nearly the same as UTF-16). The list issues as they pertain to technologies goes on, and on, but you get the idea. lingoport.com/internationalization-engi… 1/4
  • 2. 4/30/2010 Software Internationalization | Interna… You can break down planning a project in terms of: 1. What’s not in the code that needs to be added? 2. What’s in the code that needs to be changed? 3. When does it need to be completed? 1. Should parts of the effort be phased? 4. What’s the budget? The first question has everything to do with marketing, usage and technology requirements. If you miss requirements you will be late, and build something less desirable than imagined. What’s not in the code is broadly an architectural issue including everything from locale selection and operations, to the method of resource files being used. This takes good smart leadership which has been through i18n planning and construction efforts multiple times. Question two is all about detective work. How are you going to find all the strings, methods and classes, programmatic logic patterns and more that have to be changed – yet lie buried in those hundred thousand to millions of lines of code? You can look at the interface and start to make guesses (the old way), or really count the issues, while locating and verifying them all with powerful diagnostic software tools. You can relatively quickly list all internationalization issues, view them, confirm their location, even figure the costs of translating the embedded strings with the right software. Question three is all about marketing plans and revenue expectations. Often there’s a lot riding on target dates, with advertising, sales and customers waiting. Plus you need to factor in ample time for testing. In a perfect world, you would internationalize to the fullest scope possible, but budget and timing reality may mean a phased approach with some aspects left out of scope, depending upon application needs, customer requirements and locale targets. Question four is often not fully known until the plan comes together. There may be a loose number assigned, but the specifics are a result of planning activities. Nevertheless, money is like oxygen. You’ll need a consistent supply if the project is to get finished without interruption. Next comes the artistic finesse part. You have to put it all together into a plan. It takes experience to convert your data regarding requirements, architecture and code refactoring into a plan that optimizes the tasks, engineering team, schedule and costs. You could try applying hard metrics for this, like X number of issues means Y time, but often this is only a place to start. You have to plan for “surprises” and variations. Experience shows you where those tend to occur. I suppose the chief service value that people buy from a quality i18n firm is that experience and its effect on risk, efficiency, time and expenses. Clients only looking to buy an hourly rate are missing the point. Resources Internationalization Articles 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. lingoport.com/internationalization-engi… 2/4
  • 3. 4/30/2010 Software Internationalization | Interna… Click Here to Subscribe Contact Us Phone: +1.303.444.8020 Email: info@lingoport.com lingoport.com/internationalization-engi… 3/4
  • 4. 4/30/2010 Software Internationalization | Interna… lingoport.com/internationalization-engi… 4/4