Intro
For medium and small-sized apps, there is usually no budget to invest in a professional tool for managing translations. Sending files with strings to translators and putting them back in the app or using a spreadsheet to manually copy & paste translations is highly inefficient due to a great amount of boring work and possible errors. That is why at Miquido R&D we have coded a small tool for managing translations using an online spreadsheet, which allows multiple people to input translations which then, with a little bit of configuration, are downloaded and placed in the correct resource directories of your app.
Features
Our main goal was to provide a way to manage translations for both Android and iOS in a single document. Additionally, this document should be easily shared with translators and the whole process of downloading translations should be fully automated. The resources should also be available during compile time. There were already some tools already available, but none of them fulfilled all of our main requirements for both platforms. After some time spent on coding we developed a solution which really simplifies the process of translating an application:
- it can generate a spreadsheet from existing app string resources,
- it can generate string resources from an online spreadsheet and put them in a correct localised directory of your app,
- it supports character escaping and in general character replacing (for example we introduced “[_]” sequence which is mapped to “hard space”); it’s also easy to add your own replacements in application code— just add them to existing map object,
- in addition to iOS and Android, we added a Web platform which outputs resources as JSON.
From a programmer’s perspective, it is also quite easy to add more platforms (formats). You just have to implement a parser and writer interfaces and plug them into the main program flow.
A much more detailed description of its features and configuration along with User Guide is present in the repository in this README file.
Demo
As you can see in the video, the usage is pretty straightforward. You just need to use a one-line command to update your strings from an online spreadsheet and have them placed in the correct resources directory.
Download from GitHub
You can get the whole project from Miquido GitHub. Please feel free to file issues or fork it and adjust it to your needs.
Summary
It was really nice to work on this short R&D project. We are already using 2match for two small production applications and we believe it’s a good fit if you don’t have a budget to invest in a paid translation management tool.