Posts

How to Identify an Internationalization (i18n) False Positive | Lingoport

What is a false positive

‘False Positive’ is a common term used when dealing with any automated checking system when an error is reported and the user deems that it doesn’t need to be fixed. You have likely run across a false positive or ‘false alarm’ when working with a grammar check in a word processor.

False positives occur for a few reasons. Software is complex, and it can be safer to over-report than over correct. When measuring complex conditions there will be instances where something that would be an error to one person would not be an error to another. Initially, it needs to be reported. As reporting is managed and controlled, the ease of use with the error reporting will increase. It is expected that users understand and address false positives to make the most of whichever system they are working with.

What is an i18n false positive?

There are some quirks that set i18n (internationalization) false positives apart.

False Positive Example

False Positive Example

It can be difficult to locate a false positive when it relates to an issue but doesn’t actually identify a problem that needs to be addressed.

False Positives vs Issues

Software internationalization rule sets are broken down into 4 categories of detection types:

  • Embedded Strings – Any hard-coded string in the application that will need to be translated.
  • Locale-Sensitive Methods – For example, Date/Time, Encoding, or String Concatenation methods.
  • General Patterns – For example, hard coded fonts, encodings, or date formats: ‘ASCII’, ‘ARIAL’, ‘mm/dd/yy’.
  • Static File References – Application references to static files, some of which may need to be localized.

How to fix an i18n false positive

Any quality automated reporting system will have a way to identify similar false positive patterns. A simple example would be if a grammar check was identifying Art as a word that shouldn’t be capitalized in the middle of a sentence. Despite this being the name of someone commonly referred to in the user’s work, the user would identify the error and tell the system to stop reporting the false positive.

When addressing an i18n related false positive in Globalyzer, Lingoport’s i18n software that identifies and fixes i18n issues during development and enables users to eliminate i18n technical debt, new rule filters need to be created. Doing so requires filling out a simple form.

String Method Filter

A more technical overview of Globalyzer’s specific requirements for manually addressing false positives can be found here

Rule filters help by identifying patterns within the reporting system and refining them to the user’s specific requirements. Individual issues can be flagged for removal at the user’s discretion as well.

What if this could automatically be solved?

To achieve seamless global software development that incorporates i18n into the development process itself, it’s necessary to address the complexities of false positives and to learn to manage them efficiently. However, manually checking i18n false positives is simply too cumbersome for today’s fast-paced agile development.

Lingoport is excited to announce we are fixing this problem with Machine Learning!

The power leveraged from machine learning is more complex than simply writing rule filters automatically. Soon i18n error reports will become dynamic documents that allow any organization to spend less time identifying errors and more time optimizing the product.

Ensure your team isn’t wasting time while internationalizing software for the world market. Watch the recording of our machine learning webinar, and discover how machine learning makes i18n false positives a thing of the past.

Apple’s i18n Bug Makes the News

Apple’s iOS Character Bug and Internationalization (i18n)

It’s rare that an i18n issue makes the news. In fact, in a meeting a few years ago with an i18n and localization team, one member lamented just that. “Nobody gets fired for a character corruption issue. That just doesn’t make the news.” The context was that security issues get the attention and with that gobs of budget. There is nothing like the fear of a breach, lawsuits and public humiliation coming with an i18n or localization (L10n) shortcoming. However the problems can still be insidious.

Let’s look at Apple’s iOS bug. It actually did make news, but could have easily been missed in this week’s tumultuous news cycle.

As reported: When a user inserts a particular character from the Telugu language (India) on iOS or MacOS, the system crashes hard. This can even take place from within applications running on those systems. The character looks like this:

Apple Bug

i18n and L10n Matter

Going back to our security bug comparison, let’s consider carrots and sticks. Security is a stick. Don’t handle it right and you get beaten. But if you perform i18n and L10n well, and you have a good product, you’re going to see a different kind of reward. This is absolutely no different than the benefits of paying attention to usability in your user interface. Software that works and behaves elegantly, has a competitive advantage with applications that may not. So it is for products that work well in any language and locale preference. Yes, there are some markets that are more US English tolerant, but they will still need all kinds of other locale formatting for a multitude of data like dates, numbers and addresses.

Want to grow? Go where the people are. Look at Facebook, with 87% of its users outside North America (including US, Mexico and Canada). Netflix has been growing consistently based on expanding their presence worldwide. Even consider technical products, whose managers perhaps had the excuse that system administrators have to learn English anyway. Have a listen to our webinar recording with Anna Schlegel, who leads Globalization efforts at NetApp. They place great strategic importance to their i18n and L10n efforts as a critical product strategy, and not just a checkmark.

If It’s So Important, Why Is It Hard?

There are many reasons why both i18n and L10n can be challenging. Developer teams are tasked with steadily implementing new features and fixes. I18n requirements are often not fully understood. You have organizational turnover, far flung teams, disparate understanding of i18n, and the fact that perfectly functional development may deliver the feature, but not the locale requirement. Testing may or may not ever directly relate to i18n and L10n within the same sprint. Then figure that you have multiple sprints and often source control branches being fired off concurrently. Even more experienced companies with their own internal technology investments tend to have a jury-rigged series of scripts that still depend on human action and are subject to process error and delay.

This is where our Lingoport Suite software for managing i18n and L10n can make for significant gains in quality, time to market and development savings. It is natural that if you find i18n issues during the day’s development tasks, you can fix them easily and quickly without any backlog or impact on your development velocity. Same goes for localization changes. Automate those, and you can stay right on target and never have to search for changes and updates to files. If one little string changes, it’s no big deal. The updated translation is automated out and back into your code. Plus it’s all made visual via dashboard and controllable even through collaboration tools like Slack. Even the QA team has continuously updated test cases, so that US English (or whatever your home language may be) is just another locale.

Back to the Apple Bug

I did a little reading plus reached out to a few experts beyond our team, to pin down what might have happened at Apple. Their situation is probably not a simple case of using some deprecated function or locale unsafe class. Apple does support Unicode after all. It’s a bit surprising that one Unicode character out of some 55,000 in the first Unicode plane would cause such problems. As a (useless) guess, something is going wrong at the OS level when the character is processed and displayed. Perhaps the character processing algorithm, in this case, leads to a buffer overflow. Even if you don’t expect to converse in Telugu, nefarious types are using the character in text bombs to disable Apple devices. A fix is forthcoming.

Why This Matters:

It’s unlikely that you’ll run into a bug this complex within typical application development. But this is an excellent illustration that it’s far less painful to get i18n and L10n right before release. Have good systems for finding and fixing issues like embedded strings, concatenations, functions/classes that aren’t locale safe, character encoding bottlenecks, and programming patterns that mess up your intended results. Then take out the file nanny busy work around localization updates so every sprint is easily localized. Win over your worldwide customers with software that’s up to date with their own preferred locale behavior and language.

Further reading:

Bug report: http://www.openradar.me/37458268

Interesting analysis: https://manishearth.github.io/blog/2018/02/15/picking-apart-the-crashing-ios-string/


The State of Continuous i18n & L10n Survey Results

Throwing it Over the Wall

Don’t fall into this simple trap when internationalizing for the first time that can cost years of work and millions of dollars! Our friend Steve, from Plodding Tech. was subject one such story.

Steve knew Plodding Tech. needed to expand their market reach, but he felt his team was too busy to tackle the large-scale project of Globalization. His assumption was that it would be simple string refactoring and translation work anyway. The presumed solution was to reach out to a low-cost outsourcing firm, Raindrop.

It seemed like a cost-friendly solution when it was initially pitched.

Once Steve threw the globalization work over the wall he felt like Plodding Tech. would be moving into the global marketplace in no time.

It was a couple of months before Steve realized his outsourcing firm was learning the intricacies of internationalization (i18n) for the first time. Every couple of months his contact at Raindrop changed as the firm was dealing with a heavy staff rotation.  Steve found that despite outsourcing he was acting as a manager of Plodding Tech.’s i18n efforts. This was exactly the effort he was trying to avoid by throwing it over the wall. 

The outsourcing firm simply didn’t understand what Plodding Tech. was about and what their software brought to the world. What’s worse is they simply didn’t have the ability to quickly react to messaging changes or detail corrections across the target locales in a timely manner. Even after two months, there we still many embedded strings

Often mistakes were overlooked and code drops from the outsourcing group were resolved months after their due date. This was frustrating as Steve was making weekly efforts to advance within the domestic market.

As time wore on Steve felt less like he had hired an outsourcing firm but paid for an assortment of entry-level contractors to tackle a specialized job.

Months became years, and when evaluating the project Steve came to a harsh realization. Even though they started out thinking the solution would be cheaper, little by little, they ended up spending $750,000, not including their own time spent trying to manage the efforts. The outsourcing firm had not developed a methodology to get through the i18n process. There were still embedded strings, application components that hadn’t be updated, Locale frameworks were insufficiently implemented. There was no clear definition of complete.

His own team had moved ahead with several versions and now he had a forked development effort as the i18n had never been well tested, had unresolved issues and so hadn’t been merged back into their code.

That was 3 quarters of a million plus 2 years of phone calls, emails, meetings, and stress. In addition, 2 years of lost market potential.

Steve was burying his head in his hands. This isn’t right, i18n should be creating new revenue streams, not cutting away from the bottom line.  Steve needed to try something new…

Steve needed experts.

When Steve started looking for i18n experts he quickly stumbled upon Lingoport, as anyone reading this article has. After laying out the scope and details of his project Lingoport was able to complete the work for Plodding Tech. in a few short months because our methodology is already in place.

Lingoport’s software was put in place. A list of bugs and issues found in the code could be methodically burned down, tested and completed. His team could work in concert with Lingoport’s services.

Rather than working hard to manage the outsourcing firm Steve found Lingoport came to him knowing the right questions to ask to get the job done and were addressing i18n concerns he didn’t know existed.

Now I’m sure you’re thinking Steve and Plodding Tech. are made up, and you’d be right their name has been changed to protect the innocent. However the 2 years wasted, and the spent dollars were all too real. Don’t let your company face the horrors and losses of throwing i18n over the wall.  


The State of Continuous i18n & L10n Survey Results

Lingoport To Present Live Webinar On Supporting Internationalization I18n With Globalyzer 3.4

BOULDER, CO – November 18, 2010 – Lingoport (www.lingoport.com), a leading provider of software internationalization tools and I18n consulting services, announced today that it will present a live Webinar, Tuesday, November 30th, 2010, titled “Supporting Internationalization Across Your Enterprise With Globalyzer 3.4.”

For more companies than ever, global customers, revenue, marketing and partnerships are critical to their performance. So there is tremendous value in knowing if a product is global-ready, or internationalized, as part of the overall development cycle. Yet often, the only way software gets verified for localization is during the localization process itself. That’s way too late in the development cycle to be efficient and a very incomplete haphazard way to address the issue.

The latest Globalyzer release continues to support the software localization process and assists entire teams of developers to coordinate and perform internationalization development tasks faster through automation and with higher levels of accuracy.

The Webinar features special guest Michael Kuperstein, Localization Engineer, Global Language Solutions, at Intel. Michael’s responsibilities at Intel include tools development and internationalization consulting for product development teams; he has lead Globalyzer implementation at Intel.

This educational online event will be held between 11:00am and noon PST on Tuesday, November 30th, 2010. To register for this free Webinar, visit https://www.lingoport.com and complete the registration form provided.

As part of this presentation, Adam Asnes, CEO, and Olivier Libouban, Software Project Manager at Lingoport, will dive straight into source code and then:

  • Demonstrate how Globalyzer 3.4 finds, categorizes, tracks and helps fix internationalization bugs in source code using static analysis.
  • Customize “rule-sets” so that specific issues to that code can be addressed.
  • Show how that information can be accessed and shared among development team members.
  • Integrate automated Globalyzer static analysis via command line.
  • Support testing initiatives, and more.

This event targets professionals involved in helping their company succeed in international markets, including Product Managers, Software Developers, Engineering Managers, QA and Test Managers, Internationalization and Localization Managers, and Senior Software Executives responsible for international market share.

About Lingoport (www.lingoport.com)
Lingoport helps globally focused technology companies adapt their software for worldwide markets with expert internationalization and localization consulting and Globalyzer software.
Globalyzer, a market leading software internationalization tool, helps entire enterprises and development teams to effectively internationalize existing and newly developed source code and to prepare their applications for localization.

For more information, please visit https://www.lingoport.com or http://www.globalyzer.com or contact Lingoport at +1 303 444 8020 or info@lingoport.com.

Shrinking the Triangle

This article was originally featured in the Oct./Nov. 2010 issue of MultiLingual Computing Magazine, in Adam Asnes’ Business Side column. Read article “Shrinking the Triangle” on MultiLingual’s Website.

Good, Quick, and Cheap?

Good, quick, cheap – pick any two. Project managers will tell you this project triangle is the way it has to be. Fair enough in the short run, but there is a dynamic perspective to this particular triangle that static view will ignore.

Fulfilling New Market Vistas and Adaptation

A truism of technology is that it serves as a great flattener, ultimately destroying pricing and economies in one area, only to give rise to new and hopefully broadening opportunities. The rise and effect of communication technologies that join markets, customers and workers are a remarkable example accelerating change in the speed of fulfilling new market vistas and adaptation. Our industry thrives in this, connecting products, messages, vendors, clients and communities in far flung cultures. Yet, the barrier to entering the localization industry is really not so tough. You need a bit of expertise, contacts, some sales savvy and you’re in business. No expensive machinery, or large capitalization needed. But at some point, you’re going to need something to help you shrink the distances separating good, quick and cheap.

Fast, Cheap, and Good

So how’s business? And if you’re on the client side, how’s budgets?  It seems our industry hasn’t seen the brunt of revenue devastation that many others have in the current economic slowdown. And as some measure of that, recent vendor and buyer surveys from Common Sense Advisory have provided more than anecdotal support for relative industry strength and confidence – even if vendors seem to be more optimistic than clients. On a personal level, this in turn feeds my confidence as a business owner to expand offerings, spend more on R&D, marketing, and (gasp), even hire a new employees.

On Internationalization

Internationalization, which is what my firm concentrates on, is actually a pretty good harbinger of the mood of the tech industry. That’s because internationalization requires a fresh and significant investment in future revenues, rather than maintaining localization on an existing product distribution release schedule. In fact, internationalization can stick out as a pretty large budget item at a time when tech companies have done well to minimize expenses and maximize profits on less to flat revenues. And while you never want to believe too deeply in generalized economic trajectories when getting specific about company forecasts, the investors’ expression “the trend is your friend” comes to mind. This means the onus has never been stronger on emphasizing the business case for internationalization and ultimately succeeding in new markets, while also finding new ways to bring together best of breed technology and people to make the work cost less with more predictability. It’s a great story, but the pressure remains on to tighten that triangle. Internationalization and Localization must compete with any number of other potential revenue opportunities, strategic initiatives and cost pressures.

I don’t want to imply that there isn’t a great deal of truth behind the good, quick or cheap triangle, but we are especially pressed to tighten the space between those choices. Whenever I hear someone use that saying, and it’s usually when someone is trying to sell me something, I’m always looking for a way out. How do we continuously find ways to produce better things, faster and for a lower cost? That’s what the promise of technology, combined with improved people processes and greater access to knowledge all have to offer. But particularly in the localization industry, at some point, it’s challenging to get around human processes that don’t scale so well, so we are back to good, quick, cheap – pick any two. Yet we all chip away at this, finding ways to move code or words along faster, better, cheaper. This is basic principle of technical advancement, but often in the throw of daily work, do we give ourselves the time to map out and affect these three competing attributes at once? When we talk with our managers and clients, are we given the latitude, time and budget to change processes and technologies even in the face of competing budget demands?

Tightening the Triangle

In many cases, the methods of tightening the triangle may not even reside within your firm, or your vendor’s firm. In fact, it may be healthier to look beyond any all-in-one offering. For instance, my firm has been partnering with many vendors right from its inception. We focus on providing internationalization tools and development services, a software development endeavor. Software development is a highly different skill set than managing words for localization, so a natural partnership opportunity arises. We also just began a partnership with a company with a product that supports internationalized documentation writing. That’s a natural fit that only benefits customers. So it makes sense to partner companies, and then go one step further, integrating processes and services together for an outcome that reduces the size of the triangle. Note that I’m not just referring about trading logo’s on websites, which is partnering in name only.

Exports to from Germany to China are up by almost 60% this year. No other segment of German foreign trade is growing as quickly. It follows that this kind of economic relationship ties nations, politics, workforces, just as much as goods and services. We are seeing the triangle getting smaller in action.

Though China rightfully gets lots of press, there are other places having very exciting growing trends. In fact, the fastest forecasted economic GDP growth rate for 2010 is actually from Qatar (16.4% – EconomyWatch.com).  2010 to 2020 has been predicted to be the African decade, with rapid growth forecast for many nations on that continent. How will this affect our triangle and our industry? Probably quite nicely!

There Will Be Winners and Losers

But there’s more to this equation. With these trends for global markets gaining purchasing power, there is also ample opportunity for the flow of technology to go the other way. All that market diversity, along with developing labor shakes things up. One would hope that the opportunities make up for the commercial pricing stress that could accompany expansion, but there will be winners and losers.  Additionally, we can expect new opportunities from untraditional channels. For example, we currently have a new client which is essentially a financial group that purchased Chinese technology and is remarketing it elsewhere. In this case, they are not considering entering the US market just yet, but starting in places like India where competition is not so dense. So they are buying good technology for less money, to sell to new markets with lower barriers to entry. I’d call that a creative way to tighten the triangle.

About the Author

Adam Asnes is President and CEO at Lingoport and enjoys investigating how globalization technology affects businesses expanding their worldwide reach. Adam is a sought after speaker at industry events and a columnist on globalization technology as it affects businesses expanding their worldwide reach. He often writes articles for localization, internationalization and globalization industry publications and enjoys cycling and Colorado’s Rocky Mountains; he can be reached by clicking here.

Lingoport’s Internationalization (I18n) and Localization (L10n) Tools and Consulting Solutions

Founded in 2001, Lingoport provides extensive software localization and internationalization consulting services. Lingoport’s Globalyzer software, a market leading software internationalization tool, helps entire enterprises and development teams to effectively internationalize existing and newly developed source code and to prepare their applications for localization.

For more information on how Lingoport can assist you with all of your internationalization and localization needs, please contact us at info@lingoport.com, call 303.444.8020, or complete the quote request form.

Webinar Video: Internationalization in Action

It can be daunting to figure out how to best approach and perform an internationalization effort on a large source code base. Do it poorly and you’re stuck in an expensive cycle of delays and sub-par localization results. Consequently, you may also delay or miss out on budgeted revenue from foreign target markets.

As part of this webinar recording, Lingoport President and CEO Adam Asnes will use an open source code base as an example, and evaluate the programmatic elements of the application that are affected by locale requirements. Adam will comb through the code using Globalyzer, Lingoport’s software internationalization software, to find and externalize internationalization issues.

This interactive one-hour webinar recording covers a variety of topics, including:

  • A short primer on internationalization and localization basics
  • Considering locale and technology requirements
  • Analyzing your code base for internationalization issues
    • Identify and externalize embedded strings
    • Locale-sensitive methods/functions and classes
    • Programming patterns
    • Filtering your results
    • Integrating internationalization into your development teams
    • Questions and answers

Join us for a hands-on webinar featuring practical real world advice based on extensive software globalization experience over a wide breadth of technologies and applications. The information covered in this presentation is aimed toward professionals faced with ongoing internationalization issues, including:

  • Technical managers
  • Software developers
  • Localization engineers and managers
  • Internationalization engineers and managers
  • Product managers
  • And anyone wanting to increase and solidify their internationalization and localization knowledge


Lingoport to Host Live Webinar on Internationalization Best Practices

BOULDER, CO – August 3, 2010 – Lingoport (www.lingoport.com), a leading provider of software internationalization tools and software localization and internationalization consulting services, announced today that it will present a live Webinar Tuesday, August 24th 2010, titled “Internationalization in Action.”

Software companies wanting to expand into global markets often face the challenge of how to best approach and perform internationalization and localization on a large source code base.

It can be a daunting task. Companies risk project delays, sub-par localization results, and miss out on projected revenue from new global target markets if done poorly or without applicable tools and knowledge.

As part of this complimentary Webinar, Lingoport President and CEO Adam Asnes will use an open source code base as an example, and evaluate the programmatic elements of the application that are affected by locale requirements. Asnes will comb through the code using Globalyzer, Lingoport’s software internationalization tool, to find and fix internationalization issues.

The free Webinar will be held between 11:00am and 12:00pm PDT on Tuesday, August 24th, 2010. To register for the event, simply click here or visit https://www.lingoport.com and complete the registration form provided.

Asnes will share his views on what is required to effectively execute an internationalization project and will cover a variety of topics, including:

  • A short primer on internationalization and localization basics
  • Considering locale and technology requirements
  • Analyzing your code base for internationalization issues
    • Identify and externalize embedded strings
    • Locale-sensitive methods/functions and classes
    • Programming patterns
    • Filtering your results
  • Integrating internationalization into your development teams

This online event targets professionals involved in making their companies globally fit, including Technical Managers, Software Developers, Localization Engineers and Managers, Internationalization Engineers and Managers, Product and Project Managers, and anyone wanting to increase and solidify their internationalization and localization knowledge.

About Lingoport
Founded in 2001, Lingoport provides extensive software localization and internationalization consulting services. Lingoport’s Globalyzer software, a market leading software internationalization tool, helps entire enterprises and development teams to effectively internationalize existing and newly developed source code and to prepare their applications for localization.

For more information, please visit https://www.lingoport.com or http://www.globalyzer.com or contact Lingoport at +1 303 444 8020 or info@lingoport.com.