Hi! My name is Nick, and I work at Wire as a QA Specialist. I’d like to share a success story about switching from copy/paste localization to script-based flow for Wire’s support material. This saves time and energy for my colleagues in Support.
The problem: our old localization flow
Wire Customer Support has been using Zendesk since we launched in December 2014, and the team likes the system. Besides “classic” email support for Wire users, we also use Zendesk’s Help Center feature to manage FAQs and knowledge base articles about Wire. This is comprised of an extensive amount of regularly changing textual data. The Support Team updates the articles as the changes in the product are released publicly, which happens quite often.
We follow Agile principles, so the duration of a single iteration can be short – as little as 2–3 weeks. At the end of the sprint, all the features and changes released to the Wire app across the various desktop and mobile versions should be reflected in knowledge base articles. When we launched our localized FAQ, maintaining this manually became a headache.
Originally our Help Center localization flow was a simple chain of actions:
- Create/update original English-language articles in a spreadsheet.
- Alert the translators that the original content is ready for translation.
- The translators add the translated content to the spreadsheet.
- Copy and paste the original and translated content from the spreadsheet to the Help Center.
- Apply text formatting in the Help Center’s editor and add any necessary attachments.
- Save and publish the changes.
This flow had several disadvantages; mainly that the process was slow. It was complicated to track the changes and to keep the original and localized versions in sync. All this with just a single additional language — it was clear that additional languages would only further complicate the process, and decided it was time to change.
The solution: our new localization flow
That’s when we turned to automation to help us out. We’d been using Crowdin translation management system for a while to speed up and optimize the localization process for all of Wire text assets (app, email, website, and so on). We were curious to see if it could also be helpful in localizing the Help Center.
After spending a week in the Python IDE, we had the answer. We created a script that uses both the Zendesk Help Center API and the Crowdin API to connect both systems into a single translation flow:
- Original/updated articles are created directly in Help Center as drafts, so all the rich text formatting is preserved.
- Content from the Help Center drafts is exported to Crowdin.
- After the translators finish translations in Crowdin, we trigger an import job, which applies translated articles back to the Help Center drafts.
These steps can be repeated an unlimited number of times before the last step, which publishes drafts and makes them visible to all site visitors.
The script is integrated with Jenkins, which allows you to trigger it via a simple web-interface — even non-technical users can do it. There are several nice perks in the improved flow:
- Crowdin has a built-in verification for translated strings, formatters balance, etc.
- Crowdin can automatically control translation readiness and notify translators/managers if an action is needed.
- Articles are always in sync, since they are controlled by the script and are stored in a single place. The chances of human error are greatly diminished.
We’ve published our magic script under the Apache license as we’re big believers in open source software, and hope it can also save others hours of work (and some headaches).
Get the integration
Technical details are available at: https://github.com/mykola-mokhnach/zendesk-help-center-localization
Please sign in to leave a comment.