2match — a free translation management tool

21 May 2019
4 min read

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.

Sample translations spreadsheet

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.

Top AI innovations delivered monthly!

The administrator of your personal data is Miquido sp. z o.o. sp.k., with its ... registered office in Kraków at Zabłocie 43A, 30 - 701. We process the provided information in order to send you a newsletter. The basis for processing of your data is your consent and Miquido’s legitimate interest. You may withdraw your consent at any time by contacting us at marketing@miquido.com. You have the right to object, the right to access your data, the right to request rectification, deletion or restriction of data processing. For detailed information on the processing of your personal data, please see Privacy Policy.

Show more
Tags
book consolation
Written by:

Marcin Michałek

book consolation

The administrator of your personal data is Miquido sp. z o.o. sp.k.,... with its registered office in Kraków at Zabłocie 43A, 30 - 701. We process the provided information in order to send you a newsletter. The basis for processing of your data is your consent and Miquido’s legitimate interest. You may withdraw your consent at any time by contacting us at marketing@miquido.com. You have the right to object, the right to access your data, the right to request rectification, deletion or restriction of data processing. For detailed information on the processing of your personal data, please see Privacy Policy.

Show more