Pain-free localization is the dream of everyone who develops software for foreign markets. Interfaces with dense thickets of terms, rendered in many languages, make this dream even stronger. Perhaps it is strongest of all among developers, agile or otherwise, who constantly release updates and with the same regularity must translate… translate… and translate an unending stream of strings.
These are just a few of the challenges that we at Alconost conquer every day thanks to a tool that makes the localization process almost magic. In medicine, they would call it a panacea. As localizers though, we know it by the name of Crowdin. The Crowdin crowd platform has enabled us to localize apps, sites, and games into 40+ languages for dozens of clients – all at the same time.
Here are the six biggest localization difficulties that Crowdin solves:
1. So. Many. Formats. The variety of file formats to localize is simply astounding: .xml, .strings, .resx, .properties, .po, .yml, .json, .ini, .xliff, .csv, .xlsx and many, many more. As soon as you load a file into Crowdin, it is converted and shown to translators with text only – no code or technical information. This is a big deal, since translators can otherwise get confused or accidentally introduce errors into the functional aspects of your software (imagine the damage that can be caused by a simple encoding error or extra “>”).
2. Bottlenecks and delays translating into dozens of languages. So you need to translate your product and all of the marketing materials into 20 languages. Remember how difficult it can be just to get the original text correct in English (or whatever your source language may be). Now multiply these difficulties by 20!
With Crowdin, the translation process is transparent and understandable. You are always in control and can monitor how each string is translated into each of the target languages.
For maximum speed you can set up an API-based workflow: Crowdin monitors a particular file on GitHub for updates. When the file is updated, CrowdIn grabs it and your translators and proofreaders are automatically notified. After their work is complete, Crowdin gathers all the strings and returns the updated resource file to your repository.
3. “Show and tell”. Seeing is a hundred times more effective than hearing. So sometimes it would be nice to attach 100-500 screenshots to explain the context to translators. And add a few hundred comments, for good measure, while marking off all the strings that should never ever ever be changed.
Crowdin can do all this! Include as many screenshots as you like. They are available to the entire team of translators and editors, so you don’t have to send copies to everyone individually (yay!). The same goes for comments. Another example: a translator asks a question, you receive a notification, and you provide an answer. And – here’s the awesome part – the entire team sees the answer too, even the translators working with the other languages (as you probably know, most questions are about the source text). Everyone’s time is saved: translators do not have to spend time re-asking their colleagues’ questions and you do not have to repeat yourself.
4. Your product is constantly changing. You are making your product better and better, which means that you are constantly adding new strings. All of these strings need to be commented and translated into 20 languages. Whether you are adding one new string or one hundred, the fact is that when you are translating into many languages, things will always be more complicated than you expect.
At the end of the day, continuous localization is a service, not a problem. At Alconost, we first get budget approval from the client and ask them to upload new strings directly to Crowdin. Then, as soon as the next update comes in, we are immediately notified and start localizing.
5. Centralized translation memory and glossaries. Both these features simplify handling of terminology. Otherwise, you end up needing to explain to each translator that “waterfall approach” isn’t actually referring to a national park trail.
This is even more important for localizations that have been dormant – say, the translator has not worked on the project for three months and is starting to forget project-specific terms. With translation memory and glossaries in Crowdin, it is easy to get up to speed. When bringing a new translator on board, terminology references are invaluable as well.
6. Keeping resource files intact! One part of the dream of pain-free localization is that translators are working only with the text, instead of trying to writing code at the same time. Then the text together with code is converted, via magical dream wand, to its original form.
In Crowdin, you can be sure that nothing will happen to your code. You do not need to leave unwieldy comments or export/copy. Simply upload your files and select the strings to localize. As an Alconost client, you do not even need to spend your time on this – our managers are happy to do this for you.
So we think that this platform is an all-around win: for developers, for translators, for localization managers, and for editors. And if our experience can save even one developer from localization pains, our article will not have been in vain!
These are just a few of the challenges that we at Alconost conquer every day thanks to a tool that makes the localization process almost magic. In medicine, they would call it a panacea. As localizers though, we know it by the name of Crowdin. The Crowdin crowd platform has enabled us to localize apps, sites, and games into 40+ languages for dozens of clients – all at the same time.
Here are the six biggest localization difficulties that Crowdin solves:
1. So. Many. Formats. The variety of file formats to localize is simply astounding: .xml, .strings, .resx, .properties, .po, .yml, .json, .ini, .xliff, .csv, .xlsx and many, many more. As soon as you load a file into Crowdin, it is converted and shown to translators with text only – no code or technical information. This is a big deal, since translators can otherwise get confused or accidentally introduce errors into the functional aspects of your software (imagine the damage that can be caused by a simple encoding error or extra “>”).
The variety of file formats in one project
2. Bottlenecks and delays translating into dozens of languages. So you need to translate your product and all of the marketing materials into 20 languages. Remember how difficult it can be just to get the original text correct in English (or whatever your source language may be). Now multiply these difficulties by 20!
With Crowdin, the translation process is transparent and understandable. You are always in control and can monitor how each string is translated into each of the target languages.
For maximum speed you can set up an API-based workflow: Crowdin monitors a particular file on GitHub for updates. When the file is updated, CrowdIn grabs it and your translators and proofreaders are automatically notified. After their work is complete, Crowdin gathers all the strings and returns the updated resource file to your repository.
3. “Show and tell”. Seeing is a hundred times more effective than hearing. So sometimes it would be nice to attach 100-500 screenshots to explain the context to translators. And add a few hundred comments, for good measure, while marking off all the strings that should never ever ever be changed.
Crowdin can do all this! Include as many screenshots as you like. They are available to the entire team of translators and editors, so you don’t have to send copies to everyone individually (yay!). The same goes for comments. Another example: a translator asks a question, you receive a notification, and you provide an answer. And – here’s the awesome part – the entire team sees the answer too, even the translators working with the other languages (as you probably know, most questions are about the source text). Everyone’s time is saved: translators do not have to spend time re-asking their colleagues’ questions and you do not have to repeat yourself.
4. Your product is constantly changing. You are making your product better and better, which means that you are constantly adding new strings. All of these strings need to be commented and translated into 20 languages. Whether you are adding one new string or one hundred, the fact is that when you are translating into many languages, things will always be more complicated than you expect.
At the end of the day, continuous localization is a service, not a problem. At Alconost, we first get budget approval from the client and ask them to upload new strings directly to Crowdin. Then, as soon as the next update comes in, we are immediately notified and start localizing.
5. Centralized translation memory and glossaries. Both these features simplify handling of terminology. Otherwise, you end up needing to explain to each translator that “waterfall approach” isn’t actually referring to a national park trail.
This is even more important for localizations that have been dormant – say, the translator has not worked on the project for three months and is starting to forget project-specific terms. With translation memory and glossaries in Crowdin, it is easy to get up to speed. When bringing a new translator on board, terminology references are invaluable as well.
Glossary
6. Keeping resource files intact! One part of the dream of pain-free localization is that translators are working only with the text, instead of trying to writing code at the same time. Then the text together with code is converted, via magical dream wand, to its original form.
In Crowdin, you can be sure that nothing will happen to your code. You do not need to leave unwieldy comments or export/copy. Simply upload your files and select the strings to localize. As an Alconost client, you do not even need to spend your time on this – our managers are happy to do this for you.
.xml file in Crowdin
So we think that this platform is an all-around win: for developers, for translators, for localization managers, and for editors. And if our experience can save even one developer from localization pains, our article will not have been in vain!