Scaling your software to be user friendly for a global audience is a big deal. If you’ve got a website, you have to consider translating your content and localization. And if you sell from that site, you have to think about currency conversion, international shipping and customer service.
The list of things to consider will vary a bit depending on your specific business needs, but here are 10 high-impact, high-visibility places to focus your attention when translating your applications and your website:
1. Translators. To state the obvious, you need someone to translate your content. Depending on your budget, this can be done by a free or open-source translation engine, a third-party company or internal resources. Approach this thinking not just about your initial full-content translation, but about the ongoing relationship you’ll need to maintain for adding new text and new languages and making edits. If you choose to use an external resource, do everything you can to get industry contacts or internal staff with knowledge of the language to review your translations. It is very likely that someone with knowledge of your business will be able to tweak some translations to make them more appropriate and user-friendly for your international clients.
2. Dictionary. Build a dictionary, and not just any dictionary, but an industry- or business-specific dictionary with relevant translations for your business that you can grow and maintain. If you use a third-party translation service, they can likely “learn” what the best fitting translations are after they get feedback from you or your users and update the dictionary. Having uncommon or business-specific terms available for translators to search against will help improve the quality of your translations dramatically.
3. Software. Software to manage software is not a foreign concept, and it is essential for managing enterprise-level translations. You likely have multiple file/token formats to manage across your applications. Multiply that by the number of languages you’re translating into, and now multiply that by the number of people and teams that will be touching this text/code on its way from your translator to your production build. You need a clean and easy way to manage text updates. This software can be a simple tool that you build in house or it can be a piece of third-party software. But the ability for your development team and your translators to be able to see source-translation text side by side is essential to a smooth translation process. This can also be incorporated as part of your dictionary. For example, you could look up a word or sentence, find the translation and edit the translation, all in one place.
4. Efficiency. You know what’s embarrassing? Seeing the same phrase translated three different ways. Don’t let this happen to you. Identify strings and words that are the same across pages and make sure they use the same translation where contextually appropriate. This last part is important as not all words are translated the same way depending on context (like “orange” as a color vs. “orange” as a fruit). This is especially useful if you’re using tokens for your translations as you will be able to reuse the same token across multiple pages. The benefit here is that you only have to update the token one time to get your updates done. Think of it like an external CSS style sheet to manage your text, English included.
5. Context. Where does this sentence appear? Context is not only vital for the sake of efficiency, it’s necessary for your quality assurance (QA) team to test your translations. This is something to build or note in your translation management system. I can’t tell you how many times someone has sent me a string of text to get translated, and I have to ask: Where did you see that? Help your developers and your QA team by building up context cues alongside your translations. This will save time, money and aggravation.
6. Systems. Consider implications of multi-system interactions when it comes to translating content. Do you have functionality that allows users to upload or download files? Think about file format (UTF-8 vs. ANSI, for example) so that non-English characters are supported. How about cross-system data? Do you have data stored in another system that needs to be translated or localized (like numeric values or column headers in reports)? Make sure these systems are integrated as part of your translation strategy.
7. Database. I’ll bet you a dollar (or perhaps a yen) that there is content in your database that will need to be translated. List and menu content can often originate from a table rather than sit directly in the code, and this text is likely to be missed in a content sweep of your site. Look at your database now and identify what text is going to need translation. Furthermore, look at how that text will be displayed once it has been translated. If you display text in alphabetical order, will it maintain alphabetical order in the new language or will it remain in alphabetical order based on English translation? Look at these issues now and build time into your process to address them before you launch.
8. Images. It is likely that somewhere along the way someone created buttons or other images on your site that have text in them. Audit your site, identify these images and prepare to switch over to an HTML & CSS approach. Tokenize the text so that it falls in to your new translation process, just like any other text content for translation. This will save you lots of time as you scale to other languages or if you need to update translations for any reason. If you simply must have images, then invest some time in refactoring your code so that images can be swapped without needing a code change. You can define image naming conventions, server storage routes, file size and format. Then write your code so that the appropriate images are displayed, depending on browser locale. The only thing left to do is upload images to the server. No code change is needed.
9. Communication. If you have any emails, newsletters or other communications that go out to your clients, make sure they are translated to provide a good end-to-end experience. Take special note of system-generated messages, alerts or automatic emails as these are easy to overlook initially. As an added bonus for clients, consider building in a communication language preference field, so they can choose what language they want to receive your emails in.
10. Process. Not to be overlooked or undervalued, being able to keep track of upcoming translations, pending translations, released translations and bugs is hugely important and will save you a lot of time. For agile software development, working a kanban board into your process will help you quickly see what stage translations are in (pending, in progress, ready for development, ready for testing or released). If you have a translation management system, consider adding alerts for when translation updates are made so that you can prepare updated text for your next available sprint and release.
A Note on Localization
I know it’s not technically about translations, but I am sneaking this in because it’s so fundamental. In addition to displaying translated text content to users, make sure that elements such as date, time, currency and number formats are flexible in their formatting and display. For example: 01/10/2013. Is this January 10th or October 1st? Is 1.000 “one point zero, zero, zero,” or is it “one thousand”? You get the idea.
Before you launch your newly translated and localized application, you should provide information to prepare users for changes to the way they see things. This is especially relevant when your delivery method is browser- or IP-based and users are automatically shown a new language or format based on their browser settings.
If you think about these localization efforts and the 10 key factors outlined in this article before you get started, you’ll be in a strong position to ensure your efforts don’t get lost in translation.