Coding for the world, part 6: Time, money, and arrangements
When seeing store names like “Gifts & More” or “Cups N More”, do you sometimes wonder, as I do, what the “more” is supposed to be? What can a “more” promise? Is it just used because the store owners ran out of ideas to name their store? Well, this is what almost happened to me with my Part 6 title; but I did get the curve, as we Germans say, meaning I got my act together and thought of something else. In this post I’m focusing on different date and time formats as well as currencies, and what to keep in mind when conquering the world with your products.
When do we meet?
Imagine you like to have a video call with a friend. You are in Sydney, Australia, and your friend is in Berlin, Germany. The 10 a.m. time for you in the morning is the 2 a.m. time for your German friend (yawn, pretty early!). Sydney is eight hours ahead. At times your friend in Berlin lives life in a day that is already history to you. Weird just thinking about it, right?
When developing your product with time and date components, you need to think about date and time localization. Date formats are different. For instance, in the US the month comes first, followed by the day and the year, and the standard is to use a slash as a separator: mm/dd/yyyy. In Germany the order of a date is day, month, year, with a stop as separator: dd.mm.yyyy. For Jane in Phoenix, 03/08/2022 is March 8, 2022, but Heidi in Stuttgart sees August 3, 2022.
Different types of calendars are in use around the globe. The Gregorian is kind of the common ground internationally. The style for the calendar week can be different as well. For example, the US starts the week with a Sunday, Spain kicks the week off with a Monday, and in Israel the weekend is Friday and Saturday rather than Saturday and Sunday.
The punctuation marks used for separating elements are not only different in dates but also for times. In the US the time of the day is divided into a.m. and p.m. (12-hour format) and in other countries we see the use of military time (24-hour format). As mentioned, there is even a different understanding of which days are considered to be the weekend! But I am drifting now.
Developers have certain tools and techniques that can be used to return date and time formats targeting the audience that is using their product. Please implement those. Or do you want to be the culprit when two love birds are scheduling a video session and it goes all wrong?
Another beast can be the implementation of time zones. Time zones seem to be so very complicated that I could not find the exact number of time zones. If each time zone were 1 hour apart, we would have 24. However, some time zones have only 30- or 45-minutes offsets – that complicates things. Did you know that time zones can also change? I am not referring to daylight saving time, but to the actual time zone. For example, back in 2007 Venezuela decided to set their official time back by half an hour; Samoa jumped to the other side of the international date line, losing an entire day in 2011. Luckily, you can use existing libraries that make the implementation pretty easy for you! You only need to decide what time zone you want to rely on—for instance, the time zone set in the user’s browser or the time zone recorded in their account settings.
Let’s talk about money
Books have been written about money; movies have been made and songs have been sung. Some argue money makes the world go round, while others think of it as evil. If you ask me about money, I think of numbers and currencies, which are very critical when it comes to launching your product in different countries worldwide.
It’s crucial to present your prices in the local currency: for instance, using Australian dollars in Australia and Singapore dollars in Singapore. I would like to see your face when you shop online and your total comes to $1,000, but on your credit card you see $1,219.15 because it wasn’t US dollars but Caymanian dollars you paid with.
Therefore, it is also important to add specific currency information: listing just “dollars” would be too ambiguous and could be misinterpreted. It might make sense for you to use the ISO 4217 currency codes. Also, think of different grades of prices for your target countries and not just converting, for example, a support plan price, because this could lead to mispricing. This is more a sales-and-marketing topic and outside of your scope, but as a developer you can always try to steer other teams in the right direction.
When it comes to coding, you need to pay extra attention to separators, the position of currency symbols, spacing, fonts, and numeral systems. Western Arabic numerals are the most commonly used when it comes to decimal numbers. However, do your research! For some locales such as Saudi Arabian, it is more common to use Eastern Arabic numerals.
The format varies depending on the language and region setting of your audience. In the US the dollar symbol is placed left of the amount, with no spacing between symbol and amount. For Canadian French, the dollar symbol is right of the amount with spacing between. In Denmark the symbol is to the left of the amount with spacing between, the decimal separator is a comma, and the thousand separator is a decimal point.
The separator is important! For instance, suppose Brian in Florida wins in the lottery 1,000 US dollars: when Malthe in Denmark sees what Brian won, he is less impressed, as he reads it as 1 US dollar.
If your company likes to offer some discounts, let’s say 5%, it is not as straightforward as you may think. Check out these examples. Note the different spacing, percentage symbols and arrangements:
You are now prepared to conquer the world. Too far-fetched? Okay. You now have the mindset of getting time, date, and currency just right for your target audience! You might not cause storms of enthusiasm, but you let your users forget that this is a localized version. And that should make you smile.
See you in the next part with the enticing title “A form is a form. Wait. What?”. Until then, sunny greetings from the linguist that you can trust!
- Coding for the world
- Part 1: Why should I care about localization?
- Part 2: Keeping it together—or is separation a thing?
- Part 3: It is all about those clues
- Part 4: Everyone talks about recycling; we are not, or are we?
- Part 5: What’s in a name?
- Part 6: Time, money and arrangements
- Part 7: A form is a form. Wait. What?
- Part 8: Politics and your involvement
- Part 9: Casing, space, and commotion behind the scenes
- Part 10: The one with the genders and pluralization
Note: Thanks to Carlos Barbero-Cortés of DocuSign for consultation and feedback.