Would Heu-risk it? Part 24: Lost in Translation

Picture of an alien in a space ship, talking to a cow

Another useful weapon is on the menu today. Starting as usual with the rhyme:

”It´s easy to think everyone works the same
That everyone has the same rules to a game
The traveller, hailing from way across the sea
His reality completely different might be


So, what does it mean?

In part 2:Mischiveous Misconceptions – I wrote about things we think we know. This will be a tie-on to that.
I am talking about Localization, Internationalization & Globalization!

Localization testing is everything related to local culture and/or settings/formats/rules. You want your applications to work in the areas they are to be used in, right?

Internationalization is designing/building products that enable localization.
You want to be able to quickly and smoothly adapt your product to new areas, don’t you?

Globalization is the combination of the two. Easy!

So, what might this encompass?
Well, things including, but not restricted to:
– Format of addresses (fields, formats, order etc)
– Language (character sets etc)
– Time- and/or date-related (time zones & formats, date formats, calendar system etc)
– How we read (left-right, up-down, right-left etc)
– How colours and imagery is used and interpreted
– What measuring system is used
– etc…

There are so many things that can go wrong with this!
How many have tried to order something from another country online?
Did it go…smoothly? No? Where did you get stuck?
For me it’s usually either ”state” or that Swedish characters end up as gibberish on the actual parcel.

A pet peeve of mine is that so many developers today take it for granted. Modern IDE:s handle it ”automagically” so they just assume it’s going to work fine. Let me tell you a secret: IT USUALLY DOESN’T!
Do some research! Learn about other cultures. Figure out where your pain points will be. Test. it!

Don’t assume people are like you, that things work like you are used to.

Story time

This time my story won’t be from my life: it will be one I regularly use in my talks about ethics and/or famous bugs.

In 2017, at the University hospital of Örebro, a routine examination was in progress.
The staff had, among other things, an ECG and a blood pressure monitor connected to keep track of everything.
During the examination, the patient got nauseous and fainted.
The staff diligently kept notes for the journal and entered ”illamående” (nausea in Swedish) into the journal system.
The systems froze.
Why, you might ask? Because it could not handle Swedish characters: å ä ö.
Software supplier means these are unsupported character and recommend the hospitals change keyboard or not use the keys.

This time, the consequences were not catastrophically. The patient might have to do a painful examination again but no-one died at least, right?

Well. Imagine if this had happened during the delivery of my first child. The time when I lost way too much blood for anyones comfort.

Or during the very complicated and long surgery my Mom went through during her cancer treatment.

It is no joke people. Software has the ability to save lives.
It can just as easily… not.


Quote of the day

”A different language is a different vision of life”

Federico Fellini

Reading suggestions

12 Reasons why Software Localization is so Dang hard – Oliver
”A coworker is asking about localization…” – Jennydoesthings on Twitter
Does your code pass the Turkey test? – Moserware
Mars Climate orbiter – Wikipedia

Previous posts in the series

Title and linkCategory
Part 1: IntroductionNone
Part 2: Mischievous MisconceptionsTrap
Part 3: The RiftWeapon
Part 4: The FascadeTool
Part 5: The Temptress’ TrailsTrap
Part 6: AlliesWeapon
Part 7: Don’t turn backTool
Part 8: The GluttonTrap
Part 9: Beyond the borderWeapon
Part 10: Forever and neverTool
Part 11: The ShallowsTrap
Part 12: The TwinsWeapon
Part 13: The ObserverTool
Part 14: AlethephobiaTrap
Part 15: Opus interruptusWeapon
Part 16: The IllusionistTool
Part 17: Fools’ assumptionsTrap
Part 18: The UnexpectedWeapon
Part 19: Constantly ConsistentTool
Part 20: Drowning in the deepTrap
Part 21: The Hive Weapon
Part 22: The ContractTool
Part 23: The ShapeshifterTrap