Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive Advantage in Software...

3

Click here to load reader

Transcript of Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive Advantage in Software...

Page 1: Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive Advantage in Software Localization

NEWSLETTER: FEATURES Newsletter Main Page »

Internationalization Primer: How helping your client solve coding issues cangive you a competitive advantage

Adam Asnes, Lingoport, Inc.

While recent industry headlines have been dominated by merger mania, I think the long term story for GALAcompanies is really about how to provide better service, products and returns for our customers. Thats how wecompete for and keep customers. Within software localization, the functional emphasis is typically on words - wordcounts, what they cost, when they will be received, translation memories, translation quality, localization engineeringand delivery milestones. But for our company, we get involved months, if not years, before our clients are ready tolocalize. This article aims to show that you can put internationalization to work as a repeatable and successful activityto differentiate your company further as a problem-solver, helping clients get to market faster and more efficiently.

Why It’s ImportantInternationalizing applications can be an extremely painful activity for softw are development organizations. If they do itpoorly, they can expect a pretty w eak localized product…and guess w ho gets blamed for that! There are many issuesfor development teams to consider regarding locale requirements w hen they create applications. If they areinternationalizing existing code, it gets compounded by actually having to f ind and f ix all the issues buried in hundreds ofthousands to millions of lines of code. Consequently, our customers tell us things like, “this is actually much harder tofigure out and do than w e thought.” Internationalization causes long delays in development and that means big delaysfor localization projects. Plus, companies usually do it w rong the f irst few times, and have to learn through painfullessons w hich initially seem like the localization company’s fault - not a good experience for your company to beassociated w ith. I’d w ager that many of you have lost customers because clients blamed localization issues on you,w hich w ere actually their ow n internationalization issues.

On the positive side, w ouldn’t you w ant a new and earlier w ay to be involved w ith the development managers, productmanagers, VP’s and CEO’s of your clients? Internationalization is a signif icant undertaking for many companies. Whenit’s a new process, internationalization always involves executive decision making. It is not unheard of for our smallcompany to make presentations to the board members of large, publicly traded companies as part of budget planningefforts and global decision making. We think that’s pretty cool! We have unique products and services that make theinternationalization effort both scalable and repeatable for development teams, even if they are spread out around theglobe. That makes us a strategic bridge for companies going global.

Internationalization 101You can skip this part if you have a technical background, but it alw ays surprises me that there is still the need to defineinternationalization w ithin our industry. Though clients often confuse how they use the w ords internationalization andlocalization, w henever I talk to them, they are generally pretty clear on the dif ferences in the processes, even if they dothrow the w rong terms around. Yet I meet many localization sales people and executive staff that actually don’tunderstand w hat internationalization is at all. It’s simply a problem that they have never dealt w ith. Perhaps there’s morethan a touch of “eyes glazing over in boredom” w hen they see technical articles about the subject; but you really don’thave to make major technical leaps to understand the issues. Simply put, internationalization is all of the planning andexecution that needs to be included in the development of softw are that lets the softw are support languages and localeformatting (like numerical formats, dates, times, currencies, postal addresses and more). Applications not only have tobe capable of displaying any language, they have to correctly allow the input, storage, processing and retrieval of thatmultilingual/multi-locale data. It mostly breaks dow n to engineering for a few categories of issues w hich include:

Character Encoding – Every character you see on the screen corresponds to a set of zeros and ones w hichget “interpreted” into w hat you read on the screen. How an application supports character encoding determinesw hether it w ill actually w ork in Chinese, Japanese, French, German, etc. This is w here terms like Unicode orISO-Latin apply. The right character encoding strategy isn’t alw ays obvious and w ill depend on a balance ofmarketing requirements, technical requirements and development budget, especially if the code already existsrather than starting from scratch.

String, Images and Resource Management – Every message presented and ultimately translated in anapplication is referred to in softw are terms as a string. An important and time consuming part of

GALA Website / Contact GALA / Join GALA

4/30/2010 GALAxy Newsletter | Internationalizati…

gala-global.org/…/internationalization-… 1/3

Page 2: Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive Advantage in Software Localization

internationalization involves finding all the user-facing messages (but can also include things like interfacesizing), extracting them from the source code, and placing them in some kind of repository f iles (or database)appropriate to the softw are architecture. That w ay you can w ork on translating the w ords w ithout breaking thesource code. With the right engineering those w ords can be replaced w ith any language that the application issupporting. Additionally, string management includes issues like sorting, string concatenation and the like. You’llalso w ant to identify and manage any images that are embedded in the code (just like strings) so that they maybe localized as necessary.

Locale-limiting Functions – Each programming language has its ow n set of functions or methods that dothings like limit the w ay a date is interpreted, or how many bytes a character can contain. There are hundredsof these sneaky little things in C/C++ and there are dependencies based on your character encoding choice(e.g. Unicode UTF-8). Other programming languages such as Java and C# have less of these issues, but stillhave their ow n possible pitfalls. These functions need to be found and replaced w ith others that support thelocale requirements that w ill be needed.

Locale-limiting Programming Patterns – Programmers may do many of the right things in terms ofextracting strings, using functions that support “w ide” characters and the like, but it’s still easy to get in trouble.Think of programming patterns as logic created for a specif ic application, w hich doesn’t w ork once you includeissues around multiple locales. Programmatic sorting logic is a good example; a typical developer w ould sort byalphabetical order rather than by character brush stroke. Programming patterns can be a big nasty area to re-engineer, and it takes experienced examination and planning to manage.

Locale Operators - Simply determine how the softw are w ill detect w hat locale it needs to support and how itw ill behave under the circumstances. For instance, does the user manually choose the locale, or does theapplication check the operating system setting?

Third Party Product Limitations – Most softw are makes use of other application components. These caninclude databases, reporting mechanisms (i.e. Crystal Reports), email generators and more. Often thesecomponents have their ow n internationalization support issues, w hich can create their ow n challenges to thesoftw are developer.

Localizing When the Client Hasn’t InternationalizedAnother comment I hear from localization companies is that they have localized applications that w eren’tinternationalized, even w orking on translating strings that w ere buried in the code. I have to say this is a poor practicethat should be avoided. I have had softw are companies come to us quite bitter about localization companies that w erejust doing w hat they w ere told in this regard. Chances are very high the softw are is going to break. In addition, makingthe interface translatable is just one part of the internationalization effort. If, by sheer luck, the application still w orks,they w ill not be able to leverage the translation w hen they go to a new version. There is no w ay this is going to have ahappy ending in the long run. One w ay to help a customer in this situation is to suggest them checking their code, forexample by running it through our Globalyzer softw are. This w ill give them a very clear inventory of w hat they need tofix. They can use Globalyzer to save 40% to 60% of time and resources to get the internationalization done, or they canhire us to do it for them.

How can you use all this to make a difference?When your client says they are not ready for localization, that’s your signal to ask them if they are w orking oninternationalization. If they still say no, f ind out if they have plans of going global w ith their softw are. The earlier theystart thinking about internationalization and putting practices in place, the less painful the transition w ill be. If the client isexperienced w ith localization, ask them if they are interested in learning about products that help them perform andverify internationalization so localization is made easier. You are doing them a service to bring it up and discuss it eitherw ay. This discussion can establish you as a strategic partner rather than another tactical translation company. Useinternationalization to help you get to know your client’s organization - from Product Manager, to the VP of Development.to the VP of Marketing, to the CEO. Don’t try to talk techie if you’re not qualif ied. But discussing the concept can lead toopportunities and help you build a strong relationship. When it comes to the technical side, w ork w ith aninternationalization expert w ho performs w ell both technically and professionally. Of course I’d like you to contactLingoport, as w e do a great job of partnering w ith localization companies, and, just as importantly, w e have productsand a w ell developed methodology that make internationalization far more eff icient and complete.

Adam Asnes co-founded Lingoport in 2001, recognizing that there w eren't good scalable softw are solutions for thecostly delays and development problems companies have w ith softw are globalization. Adam recruited an inventive teamof internationalization experienced personnel. Lingoport has since attracted globally recognized companies as w ell as

4/30/2010 GALAxy Newsletter | Internationalizati…

gala-global.org/…/internationalization-… 2/3

Page 3: Internationalization (i18n) Primer: Solving Coding Issues Equals Competitive Advantage in Software Localization

customers embarking on their f irst globalization efforts - providing a unique combination of internationalization softw areand services. As Lingoport's President and CEO, Adam focuses on sales, marketing alliances and continuing to gatherquality technical team members. Prior to Lingoport, Adam w as Director of Business Partnerships at OneRealm, an earliersoftw are globalization f irm. Adam also has a successful history leading sales efforts in the scientif ic data analysissoftw are industry, w orking on projects ranging from fixing the Hubble Telescope to medical applications. Adam can bereached at [email protected] or 303-444-8020 x2.

4/30/2010 GALAxy Newsletter | Internationalizati…

gala-global.org/…/internationalization-… 3/3