Introducing Mojito: A Continuous Localization Platform

Imagine your entire newsfeed were in the Klingon language. Would you read it? For around 75% of the world's internet users, English is not the primary language. How do you reach this global audience without breaking your development process or paying a fortune? We're excited to share an open sourced solution that will make localization easy —Mojito!

Why we decided to build Mojito
Box is a global company with customers all over the world, and we are dedicated to building a global product to make collaboration easy for everyone. One of the ways to do it is through localization. Localization (L10N) means adapting software for a culture by adding culture-specific components and translating text. In general, localization is simple. You take your product, extract the content, translate it and import it back. But it's not always that easy.

Mojito localization process

Before Mojito
Before Mojito, our localization process was extremely manual and not scalable. Strings had to be exported into files—lots and lots of files. Files would then have to exchange 9 pairs of hands and go through multiple tools before they would make it back into our apps. Our localization was time consuming and error-prone.

box localization process workflow

Enter Mojito
With Mojito, strings can get to translators and back automatically. They can also be easily managed and monitored through Mojito's intuitive UI.

new mojito localization process

Mojito has two components — a web application and a command-line interface. The web application is where you can check your products' localization status and manage strings and their translations. The web application also allows you to do bulk operations on strings. The command-line interface connects your source code repository, and Mojito and allows you to do admin tasks.

Here's the overall workflow of software localization in Mojito:

  1. Create a repository in Mojito with a list of languages for localization.
  2. Use Mojito command-line interface to collect strings from your source code and send them to Mojito
  3. Once the strings are available in Mojito, they are ready to be translated. You can have your team translate online through Mojito. Alternatively, translations can be done offline by sending translation files (XLIFF) to your translators and importing them back to Mojito.
  4. When your strings are translated, use Mojito command-line interface to generate localized resource files with the translations.
  5. That's all! Your software is localized now!

We are developing software continuously. Why not continuously localize? Mojito's command-line interface integrates with your CI so that everything is automated. The new and updated strings are automatically collected as soon as you commit your code. Mojito continuously commits the latest localized resource files when there are new and updated translations. Mojito is flexible and configureable to best suit your needs.

Ready to speak to the world? Get mojito now!
The Box globalization team worked hard on Mojito, and we’re excited that it’s now available on GitHub: You can also quickly get started from Check it out and enjoy!