Back to all blogposts

Babelsheet: The ultimate translation management tool moves to Node and gets new features

Tomasz Surowiec

Tomasz Surowiec

Senior PHP Developer

Mariusz Richtscheid

Mariusz Richtscheid

Lead Node.js Developer

Tomasz, Mariusz

Multiple authors

This article was made back when The Software House first released Babelsheet – its open-source spreadsheet-based tool for software translators. Over the years, Babelsheet gained a lot of supporters, but was also moved from PHP to Node.js, getting a lot of new upgrades in the process. So much has happened that it called for some serious update to this article in order to showcase the new Babelsheet and remind you why it’s worth giving it a try in your software project.

Let’s start with what Babelsheet is. The gist of it hasn’t really changed that much.

Managing translations in a software project – please, not another tool…

There are plenty of solutions which can help you manage the translations. Most of them are very flexible, robust and able to deal with hundreds of languages. It, however, introduces another tool in the stack which you need to get familiar with, another set of logins for both the team and the client and, of course, additional cost. Many tools can also overwhelm you with their features (especially when the UI is not that good) or, even worse, overwhelm your clients.

“But there is one tool which all the business users are very comfortable with – a spreadsheet. Combine this with the collaboration features of Google Suite and you get an almost perfect solution for small to medium projects.”

Spreadsheets + translations = BabelSheet

This was our exact plan: to take Google Sheets and try to create a translation management tool based upon it. But how to do it? We started with the description of syntax – first column contains tags, then there are columns holding key hierarchy and finally one column for every language. Tags and keys are protected so only the dev team has access to it – previously, when given the translation files, clients would often break the syntax of XML or JSON.

What started as a small script parsing the spreadsheets, soon turned into a fully-fledged solution with its own JSON configuration file syntax and multiple supported formats. We have also created a docker image which does the parsing and generates a file from within the container and hence can be integrated with CI. The whole tool was called BabelSheet. You get the joke, don’t you?

See also: Fogger – another of our open-source projects, which helps with GDPR-friendy data masking

For the team, for the clients

As a result, you get a tool that creates the spreadsheet for you. You can share the spreadsheet with all the parties involved, using built-in Google Apps collaboration features. In the config, you can define what format do you want: BableSheet is currently supporting Android, iOS, JSON, Yaml, Xliff, gettext (an updated list) text files, but thanks to plugin architecture any other desired format can be easily introduced. You can also decide if you want to generate one big file or split the translation into multiple files using either tags or sections. It’s a one-liner that can be executed on a local machine or during a CI build.

Probably the most important thing about BabelSheet is that it’s very intuitive both for your team and for your clients. It makes the collaboration super easy, so you can wrap up the translations faster than with the more complicated tools – making sure that what happened to the Babel Tower won’t happen to your project. 😉

Moving to Node.js to address new challenges

Most of open-source projects made by The Software House are multi-purpose. We made them available to the public, but we also use them in our commercial projects. After all, they are made to address common software development challenges. One of the projects called for a Node.js microservice responsible for serving translations to other microservices in real-time. It wasn’t possible with the original Babelsheet. 

We decided to rewrite Babelsheet so that it can function as Node.js microservice. However, it can still be used in the usual way – by rebuilding translations to get files to work with. With an additional masking mechanism, you can also fetch only the parts of the translation that you need.

It’s still getting better!

In the process of transforming Babelsheet into a Node.js app, we made it better than ever before. Babelsheet now supports multiple ways of fetching translations and does it faster. It is also now equipped with a commenting mechanism – a great way for translators to give or catch a context. The new version also sports format transformers so that you can add support for new formats easily.

Despite all this, Babelsheet is still very much a work in progress. We have many ideas to further improve it, including a way to make words pluralization easier. Having said that, it’s already very practical to use and flexible enough to support all kinds of workflows between developers and translators. Our ambitions don’t end here so try out and use Babelsheet while it’s still completely free! 😉

You may also like

What do you want to achieve?

    You can upload a file (optional)

    Upload file

    File should be .pdf, .doc, .docx, .rtf, .jpg, .jpeg, .png format, max size 5 MB

    0 % of

    or contact us directly at [email protected]

    This site is protected by reCAPTCHA and the Google
    Privacy Policy and Terms of Service apply.


    Thank you!

    Your message has been sent. We’ll get back to you in 24 hours.

    Back to page

    We’ll get back to you in 24 hours

    to get to know each other and address your needs as quick as possible.


    We'll work together on possible scenarios

    for the software development strategy in sync with your goals.


    We’ll turn the strategy into an actionable plan

    and provide you with experienced development teams to execute it.

    Our work was featured in:

    Tech Crunch
    Business Insider

    Aplikujesz do

    The Software House

    Copied Tekst skopiowany!

    Nie zapomnij dodać klauzuli:

    Kopiuj do schowka

    Jakie będą kolejne kroki?


    Rozmowa telefoniczna

    Krótka rozmowa o twoim doświadczeniu,
    umiejętnościach i oczekiwaniach.

    Test task

    Zadanie testowe

    Praktyczne zadanie sprawdzające dokładnie
    poziom twoich umiejętności.


    Spotkanie w biurze

    Rozmowa w biurze The Software House,
    pozwalająca nam się lepiej poznać.

    Response 200

    Response 200

    Ostateczna odpowiedź i propozycja
    finansowa (w ciągu kilku dni od spotkania).