Full disclosure—I’m not a computer programmer or a software developer. But I have spent almost half of my career working closely alongside developers, and I’m here to say they are truly some of the most creative, persistent, resourceful problem-solvers out there. I have so much more appreciation for the websites and apps that I use because I know the level of effort that went in to making a “simple button” do exactly what I expected it to do.
In my humble opinion, developers are essentially a mash-up of ninjas and magicians. They are tasked with unique challenges on a daily basis that force them to think outside the box and use their coding expertise to meet the requirements needed. One challenging feature that is becoming more popular in this global economy world we live in is internationalizing code—or in non-developer speak, building multi-lingual software.
What to Think About When Internationalizing Code
There are multiple considerations that have to be made when translating your site into multiple languages. We recently found a video that explores the nuances of internationalizing code in a way that is easy to understand (and even entertaining!). Here is an overview of just some of the challenges to be aware of if you are considering incorporating multiple languages into your software:
- Name spellings: The English character language is usually the default. Certain names include letters or symbols that do not have a direct translation in the English character language. Using unicode text will expand the number of characters you need to allow for a variety of names.
- Button labels and form layouts: Certain buttons contain words (e.g., “like” button) that are much shorter in the English language, but far more extensive in other languages. This also impacts form layouts, as some fields may need to be much larger to accommodate multiple sentences in another language that may only be two or three words in the English language. This has direct impact on the design and layout of your software, so it is important to make sure the integrity of your design stays intact when factoring in other languages.
- Drop-in system: Word order is different across multiple languages. Every word has to come from the database to be able to swap or drop-in text to convert the English language to another language, and then back again.
- Gender: Some languages rely on knowing the gender of the user and/or subject to properly format or conjugate the text. It is also important to consider people that may not identify as a specific gender and the impact that has on the words used.
- Singular/dual/plural: Many languages have different words depending on whether something is singular or plural. Some languages even have different definitions of plural, where one version of a word means less than 20, while there is another version of the word for greater than 20.
- Uppercase/lowercase: Many languages use uppercase and lowercase letters differently, which impacts sentence structure.
- Symbols such as an Ellipsis “…”: Using a symbol, such as an ellipsis, to represent cutting off letters or words in a sentence or paragraph does not have a direct translation in other languages. This must be factored in to design and making sure there is enough space for all words to fit within a particular area on a page.
- Reading left to right or right to left: The entire design has to be re-worked to account for which direction a user is reading. It is also important to consider how to factor in a person’s name that is read left to right, but within a right to left sentence.
- Date format: Some languages list the date in month-date-year format, while others list it in date-month-year. The first day of the week can also be different. Also worth noting, some countries use a 24 hour clock, while others use a 12 hour clock.
- Numbers: Using commas versus periods when representing the thousands, etc., and/or the location of the comma or period in a number are different across languages.
Whew! That’s quite a list! As you can see, there are a variety of considerations that must be made when you make the decision to internationalize code. While it certainly presents some challenges, it’s most important that you and your development team do your due diligence to accurately and respectfully integrate other languages into your software. I encourage you to take the time to watch the video for more background about how to build multi-lingual software. And then go give your favorite developer a high-five for being a master problem-solver!