Reddit localization and machine translation checks

Helping Reddit's web app handle more languages: one clear runbook, smoother language launches, build reviews for translation risk, and repeatable checks for machine translation.

Role
Senior Software Engineer, web localization work
Company
Reddit
Period
2026
Skills
  • Localization
  • Web components
  • Build tooling
  • End-to-end testing
  • Documentation
Illustration: people around a globe trading paper planes, each marked with a different script

The problem

Reddit’s web app is translated into many languages. Behind that sits a pipeline that pulls product strings out of the code, sends them to translators and builds a bundle for each language. Reddit also runs machine translation, so posts and comments can show up in a reader’s own language.

Three things made the work harder than it needed to be:

  • Knowledge about how localization worked lived in several overlapping wikis and in a few people’s heads.
  • Launching a new language touched config, builds, QA and legal content, with no single checklist.
  • Machine translation on the web needed reliable checks that it rendered correctly for real users.

My role

I worked on the front end side of localization and machine translation. My work was mostly documentation, coordination, review and verification. I did not build the core translation pipeline.

Key decisions

One runbook instead of many pages. I pulled the scattered knowledge into a single runbook. It covers how strings move from code to translators and back, how the right language is picked at runtime, how to QA a language, and how to release one.

Make language launches a checklist. I coordinated the general availability launch of new languages, including the status of localized legal content. Writing the steps down meant the next launch did not depend on anyone’s memory.

Review build changes for translation risk. When teammates proposed changes to build tools, I read them for their effect on the translation pipeline and flagged risks before they shipped.

Test machine translation in a real browser. I wrote browser-based verification runbooks and end-to-end checks for the machine translation experience, across logged-in and logged-out pages. They exposed real coverage gaps and corrected out-of-date documentation.

Outcome

  • One source of truth for how localization works.
  • New languages moved to the public language picker with a clearer launch process.
  • Machine translation on the web backed by repeatable browser checks instead of assumptions.

This work is internal, so there are no screenshots or code to show. The public surface is Reddit’s language picker.

What I learned

  • Documentation is engineering work. A good runbook removes a whole class of questions.
  • Launches go wrong at the edges, in config, legal text and QA, more than in the code.
  • A test that runs in a real browser tells you things a unit test cannot.
  • Saying plainly what I did and did not own makes the work easier to trust.

All projects