Re-imagining Software Localization
At Transifex, our mission is to make it truly easy for developers to build products in their users’ native spoken languages. We’re constantly asking ourselves, how will products be built two and five years from now? How can we make localization truly seamless, baked into the software development workflow and tech stack?
There’s one big obstacle in this path: today, developers rely on traditional file-based internationalization (i18n) libraries. Most of these libraries were built in the 90s. In today’s software development workflow, managing your content in files in your repository is broken by design. To push things forward, we believe we need a radical redesign of the localization stack.
- In today’s software development, the use of multiple programming languages, frameworks, and apps, especially with microservices, creates hundreds of language files — without taking into account non-static and user-generated content stored in databases.
- Every git branch has its own copy of these files, with just a few phrases changed, so you could end up with thousands of files, really. Branches are created, merged, and deployed at a very fast rate (sometimes even hourly), making files obsolete in no time. All this makes the lives of everyone difficult: developers, product managers, and translators.
- In today’s fast-paced development world, you want to deploy fast: release features fast, without waiting for translations, and update your content fast, without waiting for your next code deployment.
To overcome these challenges, we realized we need to re-think our whole localization stack. We need to make it fully cloud-based and dynamic.
Today, I’m excited to announce Transifex Native, our end-to-end, fully cloud-based localization stack. Here are the new tools we’re making available to developers:
- A modern i18n library which, instead of files, uses a centralized, cloud-based global content repository.
- Each programming framework will have its own SDK, with a universal localization syntax, so that all developers in your organization will have a unified way to mark their content up for localization. All SDKs will support a similar set of features, so no messing around with different file formats and feature support.
- A simple way to push and pull content between your development or production environment and Transifex. You can now update the live content of your staging or production server without requiring a complete new redeployment.
- A Content Delivery server, which your organization can run so that your web servers rely 100% on your own infrastructure.
The first environment we’ve developed Transifex Native for is Python. You can check out the code on GitHub and an overview of the technology stack.
Looking further ahead, we’ll make Transifex Native available within our app to make it a seamless part of our user experience. Our next plans are to support languages such as Javascript, Go, Java, Ruby, and PHP.
We’d love to show you more and receive your feedback, or a pull request on GitHub.