Product teams
Deliver localized versions of your product faster by automating tedious localization steps.
Localization teams
Streamline your workflows and simplify collaboration with efficient localization management.
Developers teams
Add Transifex to your CI/CD pipeline to continuously deploy new translations.
Marketing teams
Quickly launch multilingual websites to accelerate international growth and conversions.
Translators
Deliver more accurate translations faster, leveraging advanced linguistic tools.
Software localization
Keep software continuously localized and in sync using automated CI/CD workflows.
Website localization
Automate and scale website localization to attract and convert international visitors.
Mobile App localization
Rapidly translate and launch apps globally, ensuring high-quality user experiences across markets.
Get a Personalized Demo Today
Precise, on-brand translations at scale. Language AI delivers context-rich content faster.
Get a personalized demo today
Request a personalized demo to learn how to integrate Transifex into your CI/CD
Product teams
Deliver localized versions of your product faster by automating tedious localization steps.
Localization teams
Streamline your workflows and simplify collaboration with efficient localization management.
Developers teams
Add Transifex to your CI/CD pipeline to continuously deploy new translations.
Marketing teams
Quickly launch multilingual websites to accelerate international growth and conversions.
Translators
Deliver more accurate translations faster, leveraging advanced linguistic tools.
Software localization
Keep software continuously localized and in sync using automated CI/CD workflows.
Website localization
Automate and scale website localization to attract and convert international visitors.
Mobile App localization
Rapidly translate and launch apps globally, ensuring high-quality user experiences across markets.
Get a Personalized Demo Today
Precise, on-brand translations at scale. Language AI delivers context-rich content faster.
Get a personalized demo today
Request a personalized demo to learn how to integrate Transifex into your CI/CD
Back in spring 2020, Transifex introduced Transifex Native technology, a modern, end-to-end cloud-based localization solution, saying goodbye to the cumbersome process of managing localization files during product development.
The best approach to building a great solution, though, is to eat your own dog food. After all, how would you expect it to work for your customers unless you made it work for you in the first place?
Transifex's front-end is built using two core technologies. A legacy frontend using server-side Django HTML templates and a next-gen stack using webpack and React with all the bells and whistles included. Given that our React stack was rather new, we decided to use Transifex Native for Javascript from the get-go, and make sure we properly localize the React pages using the Native fileless approach from the very first release.
However, Django was the elephant in the room and the effort to migrate thousands of phrases using Django i18n to Transifex Native seemed a behemoth to tackle. Luckily, Transifex Native Django SDK already had in place the arsenal to help the migration efforts, using a built-in migration tool.
$ ./manage.py transifex migrate --path templates/
The tool would parse HTML and .py files, detect Django i18n template tags, and gettext strings, converting them to Transifex Native related code in the ICU message format, plurals included.
To take the migration effort seriously, we assigned a development team with an epic to make it happen and gave them focused time to get it done. With new technology at hand, and still roughing out the edges of newly released SDKs, our team decided to take the safe way onto making progress:
This worked well for about a month. About 10% of the code was migrated successfully. However, the team had to balance their time with other priorities and customer requests, so the finish line of the project was deferred for later.
A few months later, in a management meeting, the product team brought to the table the necessity to conclude the migration effort and get rid of the old file based localization stack. Debating over the effort required to put a closure on this project, our CEO raised a question on the use of the automated migration script: “If we do not trust our own tools, how do we expect our customers to do it?”
This was the push needed by engineering to get the ball rolling. After all, months later, the solution had matured, it was already being used in production and all known bugs and issues had been nailed out.
This time we decided to take a bold step. Limit the scope of the project to a couple of weeks tops and migrate the rest of the remaining 90% of the legacy system to Transifex Native in one single pass. Our safety belt: the ability to deploy Transifex every 10-15 minutes, fixing issues fast along the way.
Within a couple of hours, we ran the migration tool on the whole Transifex Django code, yielding a pull request with changes to about 350 HTML files and 4K lines of code.
After doing some local tests and fixing a few cases here and there, we wanted to boost up our confidence level before taking this massive change to production. So, in our arsenal we put the following to ensure proper QA:
This process lasted only a few days and contributed to a super smooth release for the magnitude of the effort. Defects found accounted for about 0.1% of all phrases, with about only 0.02% affecting post-release fixes. Not bad, right?
By leveraging fast deployments and automation, we squeezed months of effort into days by taking a leap of faith and putting trust into our own tools. Being courageous paid off, as Transifex is now 100% localized using Transifex Native and it’s a bliss to work on.
Having completed the effort on the code side, now the needs are shifting into a switching mentality and localization pace, leveraging the extra tools! More on how we manage the localization process within Transifex in an upcoming post.