How software companies can set up continuous localization with Smartcat & Serge: Xsolla case study

Updated June 24, 2018
How software companies can set up continuous localization with smartcat serge xsolla case study - Smartcat blog
Smartcat
Written by
Smartcat
Kacie Saxer-Taulbee
Edited by
Kacie Saxer-Taulbee

Kacie Saxer-Taulbee is a data-informed content leader with a background in high-scale B2B SaaS, legal tech, and insurtech. Currently the Director of Content and Strategic Brand at Smartcat, she leads the company's global storytelling efforts, harmonizing thought leadership with AI-powered localization and multilingual communication. Her work has been featured or quoted in Business Insider, ABC News, Yahoo Finance, The Seattle Times, Property Casualty 360, The Balance, FinTech Global, and Insurance Business America. She prioritizes rigorous research and analysis to provide enterprise corporations with the best information to address their agentic AI and global content needs

FollowFull bio

Learn about our editorial policies

Nicole DiNicola
Reviewed by
Nicole DiNicola

Nicole DiNicola is a high-performing and empathetic global marketing leader with over 15 years of experience in the fast-paced B2B tech industry. Currently the Global VP of Marketing at Smartcat, she leads a full-stack global team focused on building awareness, driving growth, and enabling internal and external customers throughout the customer journey. Nicole is a “Scale Up” marketing expert with deep expertise in GTM strategy, product marketing, and account-based initiatives. She has held leadership roles at Qualtrics, Smartsheet, Citrix, and SOCi—where she most recently led the launch of the world’s first CoMarketing Cloud, an AI-powered local marketing platform. She is known for creating scalable marketing organizations that align cross-functional teams around common goals, maximizing resources and results. As a customer-first innovator, she leverages data and insights to shape clear and compelling messaging in complex, competitive markets. Nicole is also a passionate advocate for new moms in the workplace and women in tech. Outside of work, she’s a runner, reader, and imaginative mom to two young children.

FollowFull bio

Learn about our editorial policies

Why you can trust Smartcat

Comparing accurate insurance quotes should never put you at risk of spam. We earn an agent commission only if you buy a policy based on our quotes. Our editorial team follows a rigorous set of editorial standards and operates independently from our insurance partners. Learn more.

Continuous localization allows software developers to localize their content without impeding the development process. Here’s how Xsolla achieved it with the help of freely available tools.

Challenge

The advent of agile development practices and web-based tools added even more challenges to relationships between developers and localizers. If previously new content used to come every few months, now release cycles can be as short as weeks. Each new release bears new content, and it must be localized within days. Take Xsolla, a global video games distributor and publisher providing game developers with tools to enhance their games’ potential reach. The company has 8 key products, a 2-week release cycle, and 6 to 21 languages to localize each product to.

The company has historically used various online translation platforms to get the job done, but was in many regards unhappy with them. “Localizing a few new strings into 20 languages took more project management than translation time,” says Natalya Pavlikova, localization engineer at Xsolla. For this reason, Xsolla started looking for an alternative solution.

Natalya Pavlikova, Localization Engineer at Xsolla

Criteria

Xsolla wanted the new platform to:

  1. Automatically grab localizable content from the company’s code repository,

  2. Enable a transparent and flexible localization process, and

  3. Send the localized content back to the code repository.

The solution came with a bundle of two free tools, Serge and Smartcat. Serge — the string extraction and resource generation engine — is a standalone tool that enables continuous localization (see callout). It automatically gathers new source material, publishes it for translation, acquires completed translations, and integrates them back into the product. Serge is an open-source project maintained by Evernote. Smartcat, in turn, is a translation platform where one can keep projects and translation memories, find translators, assign them to documents, and pay for their work.

Continuous localization: when do you need it?

Continuous localization works best in scenarios where you have lots of content that is constantly updated and/or where different teams manage development and localization. Some cases include:

  • Software and video game localization, where new strings appear in each release.

  • User guides and API specifications, including automatically generated ones.

  • Websites and blogs created using static site generators.

  • Any projects where content creation fits in an agile framework.

In general, whenever you store localizable strings in a version control system, continuous localization will be the most efficient approach. (And if you don’t, it’s a good idea to consider doing this.) Using a unified, automated process for string localization eliminates human errors and saves a hefty piece of your employees’ time, freeing it for more important and creative things.

Solution

In Xsolla’s case, the continuous localization workflow looks like this:

  1. Xsolla’s developers update project files in a Git repository.

  2. Serge continuously monitors the repository in real time and, once needed, extracts strings from the updates, creates PO resource files with them, and sends them to Smartcat.

  3. Xsolla’s localization manager distributes untranslated strings among the freelancers in its team.

  4. Freelancers translate the documents and mark them as completed.

  5. Serge takes the localized strings, puts them back into source files, and pushes them to Xsolla’s Git repository.

  6. Xsolla’s developers publish the release together with the localization.

Why Serge?

Smartcat supports different file formats by itself. So why one would use Serge as a proxy between original resource files and a translation service?

“On the surface, Serge may look like a file format converter. It’s not,” says Igor Afanasyev, localization director at Evernote and the person behind Serge. “Serge is a flexible file processing and synchronization pipeline that can be configured to meet different localization workflows, enabling truly continuous integration. Serge guarantees that localized resource files have the same structure as the source ones and handles cases where source files change while their older versions are still in translation. This spares engineers from merging in changes and unblocks the development cycle. In a way, with Serge, engineers feel like there’s no ‘localization process’ at all.” Another important feature of Serge is that it maintains its own translations database and runs on client premises. This means that Smartcat doesn’t need to access Xsolla’s private Git repositories, and the translation files that Smartcat gets from Serge are rectified resource files that contain no sensitive information. Finally, as Serge runs locally on Xsolla’s server in a non-stop fashion, it gets updated localized resources within minutes. This guarantees that localized files are always up-to-date and builds don’t fail because of outdated resources.

Igor Afanasyev, Localization Director at Evernote

Results

The main result of the switch to continuous localization is that project managers can focus on their work, while developers can focus on theirs. This saves a lot of project management effort, and no one has to do the file-sending and format-converting mumbo jumbo — that’s what Serge does.

“Now we can manage our strings just as we manage our code,” says Maxim Kungurtsev, Xsolla front-end developer. “We can create new branches, merge them, roll them back — and all the while be sure that the Serge–Smartcat bundle does all the background job to get the strings for that specific branch localized in our repo. Works like magic!” Not less importantly, Smartcat’s team management capabilities make it easier to ensure the quality of localized content. “We already have a tight-knit team of translators on Smartcat who make sure that our voice stays consistent throughout,” says Natalya. “And for the most critical content, we can add more linguists as proofreaders for the same content.”

Maxim Kungurtsev, Front-End Developer at Xsolla

Future plans

This was the first-ever continuous localization project for Smartcat with Serge, and the team works closely with both Xsolla and Igor Afanasyev. There are still many things that Xsolla looks forward to in the future, such as:

  • One-click translator assignments,

  • Support of pluralizable labels,

  • Assigning editors for source texts,

  • More flexible notifications.

But Smartcat is optimistic. “We’ll work hard to implement Xsolla’s feature requests,” says Pavel Doronin, product manager at Smartcat. “Not just because they are one of highest-paying customers, but also to provide our other users with better workflows for continuous localization, which we’re sure is here to stay.” In the future, we plan to provide even more options for continuous localization with Smartcat, including both native scenarios and external integrations underlining our ecosystemic approach to growth. In the end of the day, what matters is what our users like most, and that’s what we’ll be focusing on.

Pavel Doronin, Product Manager at Smartcat

Useful links

If you want to configure a continuous localization workflow similarly to Xsolla, you’ll need to:

💌

Subscribe to our newsletter

Email *