My stakeholders and I reimagined italki’s website translation process + system, pushing our organization towards a cross-platform approach that improved translation quality, improved website speed, and reduced translation costs.
Quick Stats:
We first worked with a number of different stakeholders to determine where our process lacked structure or could use improvement. Each group had different primary concerns, and all teams wanted to make sure that the translation quality was preserved.
1. Poor translation quality (6-7 reports/month)
2. Slow or late string uploads (>1 week to upload)
3. No re-use of strings across platforms
4. Unused strings in strings document (10 years)
5. Inability to test strings before launch
6. Expensive translations (above market price)
7. Terminology inconsistencies
8. Lack of clarity and mutual understanding across departments
My team and I then created a list of core objectives to create alignment, as well as metrics to measure success.
We selected to work on primary issues of Slow Speed to Release, Poor Translation Quality, and Inconsistencies Across Platforms
KPIs for those problems were: release speed + work hours required, reported translation errors, website load speed, cost of translations, and number of translation files maintained.
We added webhooks to our translation system to allow the system to automatically upload new strings when translations were complete. This reduced a tedious developer step from the process.
We also streamlined the process of string uploads, defining team roles for the process, and increasing clarity across teams.
In order to cut down on wasted strings, we created a script that would scrape the website and produce a list of all the actively used string codes on the website. Our original website strings file weighed a whopping 100KB, approximately as heavy as our entire javascript bundle on the site.
In order to use strings across platforms, we combined all site strings, and developed a new translation API that would be digested containing all the site strings.
To address string quality we needed to make sure that the strings were testable on the site. We built a button on the website that would allow QA testers to display the string code on the website for a new page or feature.
We also needed to make sure that we had savvy translators on our team. By recommendation of local staff and users we were able to hire several new and high-caliber translators.
Translation Bugs reported: 40% decrease. (from 6-7 to 3-4 reports monthly)
Part of the job of managing translation was managing the translators themselves. We needed to re-create our invoicing model for our translators, and we needed to make sure that we could reduce our translation costs, which were in some cases higher than the average industry rates.