Software localization is the creation of locale-specific versions of a software application for users in other countries.
To accommodate each language:
Internationalization focuses on preparing the source software application to support international users, not targeting a specific language.
Extract all user interface text out of the code into separate resource files, such as the JSON displayed to the right. Rely on operating system locale settings for formats that differ internationally, such as time and date, currency, numbers, and sort order.
Use character encoding for your application and back-end databases that will support all your target languages. UTF-8 often works well to apply Unicode for international character support.
Translation of software can be tricky, particularly because many strings are out of context. In the resource file at the left, we see that the dialog text and button names are inserted in the midst of a lot of code.
If a translator sees the string output, she may assume it is the title of some output and translate the word as a noun, although it really appears on a button and should be translated as a verb.
Offer product training to translators before localization begins. Provide a live software environment that translators can use for reference.
Include contextual comments for translators so they can clearly understand strings for translation. Create a reference list of variable uses with content examples.
Perform localization testing on the target-language versions of an application. Linguistic testing will show translations in the application, revealing contextual errors and concatenated strings that appear incorrectly. User interface testing will uncover problems with locale-specific formatting and functionality or character encoding.
Use localized operating systems, browsers, and support software. Enter locale-specific text, numbers, and dates during testing.
Log issues in a bug tracking system, such as Jira, displayed to the right. Typically about 80% of the bugs will be linguistic and can be fixed by localizers, while 20% will require developers to modify the underlying code.
We recommend encoding that supports languages universally, typically a form of Unicode. Software strings are often encoded using UTF-8 or UTF-16. In choosing an encoding standard, your goal is to support the character sets of all target languages.
You should avoid hard-coded strings, embedded in the programming language, instead putting user interface text in separate resource files. Any externalized strings are typically suitable for localization. We often receive software strings as key-value pairs in properties files, XML, JSON, YAML, iOS .strings, Android Strings XML, PO files, XLIFF, and dozens of other formats. As long as the localizable values are delimited consistently, it is easy to identify the text for translation and create target-language versions.
There are several types of localization testing, including linguistic testing, user interface testing, internationalization testing, functionality testing, and compatibility testing. Our blog article titled "What is Software Localization Testing?" gives an overview of each of the types of testing and recommendations of when they should be applied.
Translation costs vary by language, typically corresponding to the cost of living in the target countries. For example, translation into Simplified Chinese is about a third of the cost of translation into Swedish.
You should expect to receive discounts based on repeated text and leveraging from the translation memory (in essence you only need to pay to translate content once, not again and again for each update).
To try to calculate a rough total budget, including formatting and other related services, we usually recommend the following formula:
Cost = Number of Languages × Number of Words ÷ 2
Translators usually translate software at a rate of about 1,500 words per day. You can generally accommodate almost any required schedule by adding more translators, but this also reduces consistency. SimulTrans has some projects with over 100 translators per language working simultaneously to translate millions of words in a matter of days.
If you are not in a huge rush, we usually recommend limiting your translation team to three translators and two reviewers per language. A group of this size would complete about 4,500 words per day. Since the translators for all languages work simultaneously the number of languages does not have an impact on the schedule.
Aside from translation, there are usually a couple days for set-up and some time required for engineering and testing at the end of the project.
SimulTrans' linguists are experts at translating software resources, often including strings without context. Localizing software requires much more than translation alone.
Our team members are full-time professional translators with at least five years of experience, higher-education degrees, and subject-matter expertise.
SimulTrans’ engineers support Windows, Mac OS, iOS, Android, Linux, UNIX, and proprietary environments.
A thorough front-end analysis of all files is conducted at the beginning of each project to identify and remedy potential issues in the source language and avoid the excessive rework of correcting problems in each target language.
SimulTrans’ localization engineers are highly skilled and knowledgeable in working with multiple compilers and tools for many platforms as well as multi-byte characters and complex language coding.
After the localization is completed, SimulTrans follows a professional and documented testing process. Experienced testers who are native speakers of each target language perform thorough localization and user interface testing. Engineers and quality assurance specialists fix and regress all tracked bugs and complete the process with a final product test pass.
SimulTrans is able to conduct several types of localization testing: user interface, functionality, internationalization, and compatibility.
SimulTrans was responsive and timely, and made every effort to ensure project success! SimulTrans is my first choice for an external translation team!
Leading Database Software Provider[fa icon="quote-right"]
I enjoy working with the SimulTrans team. They are a good group of people and are very responsive to any issues that arise.
Contact Center Software Provider[fa icon="quote-right"]