Creating an effective multilingual software UI (User Interface) isn’t just a matter of identifying and localizing software application UI text strings. Though text strings play a critical role in user experience, if your UI development process doesn’t distinguish between localization and internationalization, your business will struggle to deliver an effective and scalable UI to a broader geographic audience.
What is a Software UI Text String?
Behind the User Interface of every piece of software you regularly tap and click, from Mobile Apps to desktop applications, code, text, and images combine in complex ways to provide an optimal user experience.
If you right-click on a piece of text that is a label, tooltip, or product description, you’ll see it embedded in code, defining key parameters such as position, font, and function.
In order for the UI to offer an optimal experience in local markets, that text needs to be exported as a discrete string with a unique identifier within a resource file. The resource file (which has a varying format depending on the application) is where the software application looks to load UI elements when it is running, specific to the language selection.
The resource file is exported, text strings exposed and translated, then imported back into the appropriate language version of the UI in exactly the same place within the codebase.
Given the important role that text strings play in the effectiveness of software UI, there is best practice you should be following to localize them.
Best practice for localizing UI text strings
To maximize the effectiveness of your UI in all languages, these are Lingoport’s top ten recommendations for localizing UI text strings.
1. Externalize & Identify Strings: To make managing and translating text strings easier, they should be externalized from the code and stored in a resource file. However, externalizing strings without assigning a unique identifier or key, which the software uses to retrieve the appropriate localized string, is a recipe for disaster.
2. Context Matters: Translators cannot accurately translate text strings without context, for example, distinguishing nouns from verbs. Where will the string be used in the UI, what function does it perform, and what are the spatial considerations?
LocalyzerQA, is Lingoport’s bespoke tool for navigating your software UI and making changes in context. QA presents screen renderings automatically to pass to a translator or can enable translations to be edited after completion from within the actual software U/I strings.
3. Plan for Text Expansion: Many languages will expand the length of text strings when translated. French and Spanish, for example, increase length by 15-30%, while German and Dutch are notorious for bloating text by up to 35%.
Though script languages may result in shorter translation strings, characters are often taller, requiring more spacing. Text expansion is most problematic with buttons and menu items, so design your UI vertically and horizontally flexible.
Localyzer, Lingoport’s software localization tool, will automatically create pseudo-localized files allowing your developers to see what an application will look like with text expansion and different font selections, ensuring there are no nasty UI surprises.
4. Use Unicode: Ensure your software supports Unicode, an international encoding standard by which each letter, digit, or symbol is assigned a unique numeric value. That Unicode value applies across different platforms and programs, ensuring consistency
5. Avoid Concatenating Strings: Concatenating strings – linking words together in chains or series – might make sense in one language but not in another due to differing sentence structures.
About one-third of languages, including English, use SVO (Subject-Verb-Object) .e.g ‘the cat sat on the mat’; but more than half of all languages use SOV (Subject-Object-Verb), while a much smaller proportion are VSO languages. (Reference)
Avoid the dangers of concatenating strings by using full sentences wherever possible.
6. Format Variables: If a string includes a variable (like a number or date), use format strings, like curly brackets {} instead of concatenation.
Different languages may place variables at different places in a sentence, such as the treatment of dates in Arabic.
7. Test your Localized UI: Once the UI strings have been translated, make sure to thoroughly test the software in the target languages from all perspectives. Check the UI for text overflows (horizontally and vertically), incorrect or inappropriate translations, or missing/malformed text strings.
Better still, use Lingoport’s pseudo-localization tool to test the localization-readiness of an application without waiting for localization and LocalyzerQA to update incorrectly localized or missing text strings.
- Read our blog post to learn more about pseudo-localization.
8. Regularly Update and Review Translations: Languages and terminology evolve, so what was a perfect translation a few years ago can quickly become anachronistic. Regularly review and update your translations and Translation Memory to ensure they remain accurate and relevant.
9. Consider Cultural Sensitivity: Localization isn’t simply about translating text but finding the most culturally appropriate and relevant representation of the entire UI in another language.
This includes the use of the most appropriate images, icons, or color choices, avoiding anything that might be culturally offensive or confusing.
A simple example is the use of green to indicate a positive incremental change in tables or charts and red for the reverse. This logic isn’t universal; for example, in China, the reverse is true. Red represents success and fortune, whereas green has negative connotations, such as infidelity.
10. Partner with localization Experts: Last but not least, unless you have fluent speakers in all target languages who are familiar with its cultural nuances, you’ll likely need to work with localization experts like Lingoport. We can also help implement progressive localization processes where appropriate, including recommending machine translation.
But best practice is often easier said than done. If your software localization process suffers from many of the common challenges Lingoport hears from prospective clients, our recommendation to localize UI text strings will remain problematic.
Common Challenges in Localizing Software UI
The effectiveness of the process for localizing software UI text strings will greatly impact the success of a multilingual end product but sits within the overall process for UI localization, which can suffer from a common set of challenges.
UI text strings are not translated and reviewed immediately
If the UI localization process happens piecemeal rather than as a seamless process with an immediate review, the chances that mistakes and issues are missed multiply.
Solution: UI strings should be processed automatically, translated, and reviewed in context.
Source content requires manual work to send to the translation
Despite the wide availability of File and Translation Management Systems, like those offered by Lingport, manual copy-paste export/import of translated UI text remains surprisingly common and presents a huge challenge to localizing software UI strings. Manual translation processes increase time, human error, and, inevitably, cost.
Solution: Give your in-house translators/agencies seamless access to text strings via Localyzer and/or employ an integrated Machine Translation solution with human review.
Localization is approached in the waterfall, not in a continuous manner
If you use a rigid, linear (waterfall) approach to localizing your software UI instead of a more agile approach with continuous review and optimization, you’re more likely to end up with an inferior final product.
Solution: Find a localization partner that can offer consultation and advisory services alongside execution.
Translation sources are not integrated.
It is almost impossible to achieve effective UI software localization if the source of translation, whether a localization vendor portal, Translation Management System (TMS), or Machine Translation (MT), isn’t integrated.
Solution: Source content should be sent continuously to human translation, machine translation, or both.
If you were nodding along as you read through these common challenges to software UI localization, what you are likely experiencing are the symptoms of a broader issue, the absence of an internationalization process alongside your localization efforts.
Localization vs. Internationalization
Localization, often abbreviated to L10n, makes a product specific to a target market or region by translating the interface (including text strings), adapting terminologies, and adopting correct content formats.
Internationalization ( i18n) is the process of preparing software to support local languages and cultural settings;
Internationalization and localization are complementary processes; i18n is internally focused, while L10n is user-focused. When effectively combined, they produce a UI, including text strings, that makes sense to the local audience and is scalable from a development perspective.
Acknowledging the need for an i18n process within your organization is only half the battle. Success depends on the effective collaboration of all the relevant teams, coordinating developers with localization.
Different departments don’t have to be at odds with each other waiting for tasks to be completed. Lingoport can help you develop an automated approach to localizing UI text strings that delivers the most effective globalized software with every release.
Localizing UI strings isn’t an isolated task.
The most important overall takeaway regarding the localization of UI strings is that it isn’t simply about optimizing a text translation task. It’s about understanding the difference between internationalization and localization and putting in place processes so that distinct but complementary processes can come together to continuously optimize the user experience of your software product to feel native to the audience, whatever their language or cultural sensitivity.
Talk to Lingoport today to improve your software UI localization processes.