[Analyzed] The Future of Software Development is l10n aka Localization
When in Rome, Do As Romans Do
This old adage has stood the test of time but your software, being a software has stayed rigid. Thankfully, its a software and can be programmed to adapt itself depending on the area code, user preference, or even the laws of the land. The good practices driving the inculcation of such flexibilities in a software is called localization or l10n while the act of making the app elements flexible in such a manner is called l18n.
✳️ Dude, What's Wrong With My Software?
As Nothing really, except for bugs maybe. There's always bugs in a software program. However, localization is not about that. It deals more with the user experience side of things that makes the software equally useful, relevant, and powerful in your hands or mine.
Take for example your favorite ride-hailing app (Uber vs Lyft vs Grab). Depending on your location, the app will display the ride fare in the local currency of that location. That's l10n and developers like you gave the l18n treatment to the innards of the app so that it is equally usable in the USA as in India.
✳️ Did Someone Say Best Practices?
Yes. Localization can quickly devolve into a nightmare as you grapple with problems you've never faced. For example, you're used to coding your string codes under UTF-8. Right? Well, your Asian dev friends will tell you that UTF-16 is the way to go.
How do you get both? Should you get both? These are some of the questions that will spread over into product development meetings.
Another line item that changes from location to location is the language (or lingua franca if you're sophisticated). This means that you are better of externalizing the language files to enable translating softwares to do their job without running the risk of interfering with the rest of the software program.
Pro-Tip: Stop Concatenating Strings. We've all seen how even Google makes funny translations of two word phrases.
✳️ I Cannot Do This. I'm a 1 Person Team
If your software does not support localization (is non l18n), there's still nothing wrong with your software - although, some people will try to convince you of just that. You need to figure out your product/market fitness above all else.
Lastly, if your target users are largely located within the same jurisdiction, you can get away with omitting l10n. However, if your users are worldwide (whether today or in the future), you must start making bits of your code localize-able.
Before you leave, check out some awesome stories below on localization, its potential and its application by Hacker Noon contributors.