The world is growing more interconnected, and supply chains are getting more complex. Apple’s 2019 list of top suppliers covers companies from the United States, Japan, China, Korea, Taiwan and Malaysia, on page one alone.
One barrier to this incredible achievement is the different languages that we speak and write. According to Wikipedia, there are 90 languages with at least 10 million first language speakers. The illustration below shows the percentage of world population which speaks the top 100.
Image By Jroehl – Own work, CC BY-SA 4.0.
From the very beginning, Market Dojo recognised that support for different languages would be an important part of our solution. This feature is often referred to as Internationalisation. Computer programmers are lazy and do love an acronym, so we often refer to Internationalisation as I18n. Fortunately we use open source technologies which have fantastic built-in support and supporting tools for I18n.
In our systems, translation usually works by string replacement. This means that if we want to put some text into a page (for example “Awaiting Resubmission”) we use a reference like this:
Then, in a separate file for each language we will have the actual text, for example:
Finally, when the user requests the page, the server will replace each symbol with the appropriate text.
We have tried to develop a repeatable process for adding new languages. We have seven today (with another coming soon) and this has given us the opportunity to improve and refine it.
The first step involves identifying a language expert who can perform the translation. We then provide the expert with access to our online translation tool, as well as some additional files that are translated separately. The translator will then work through the tool and the files (usually this takes about two weeks). The translation tool is connected to a copy of Market Dojo where the translator can check their work as they go.
Once we have all the translations, our development team will add the files to our codebase and deploy it to a test system. The QA team will then test that everything works. Although they may not know the language, they are able to verify that the system functions correctly and there are no obviously missing translations (which would appear in English).
After QA, the code is ready for use and is released to live. Usually after the first release, we will look out for improvements and plan to make any necessary tweaks about two weeks later.
Of course, the work doesn’t stop there. Once we add a new language to the platform, it needs to be maintained. This means keeping translations up to date as new words and phrases are added. This maintenance work never ends.
One of the challenges we encounter with translations is layout. The length of words in different languages can vary greatly, and our pages need to adapt to cope.
We love making Market Dojo more accessible to more people, and adding languages is a great way to further that aim. We often add languages based on client demand, and can be quite flexible about which languages these are. We are working with a client on Simplified Chinese at the moment, which will be a very exciting addition for us. We hope to add more in the future and increase the number of people who can use Market Dojo in their preferred language.