Atlassian's translation volume grew 272% year over year in the second half of FY25 as AI-assisted development accelerated feature shipping. To keep pace, they made two bets: using AI to draft translations (with every string still approved by a professional translator via Smartling), and building i18n validation tooling that catches broken source strings in the developer's editor and during code review. The tooling, combined with AI-assisted bulk fixes, cleared over 20,000 existing issues. Translation Edit Rate (TER) ranges from ~10% to just under 50% depending on language, and human edits feed back into the model to improve future drafts. Together, these changes are estimated to reduce localization costs by up to 50% over time.
Questions this post answers
How much did Atlassian's translation volume grow when developers started using AI coding assistants?
Translation volume at Atlassian grew 272% year over year in the second half of FY25, driven by AI-assisted development accelerating feature shipping. Every new experiment and product added strings, causing demand to outpace the existing translation pipeline and leading to deadline slippage and rising costs. Teams scaling localization alongside AI-era development track approaches like this on daily.dev.
What is Translation Edit Rate (TER) and what range did Atlassian see in production?
Translation Edit Rate (TER) measures how much a human reviewer edits an AI-drafted translation before it ships — a low TER means the reviewer is polishing rather than rewriting. Across early production runs at Atlassian, TER ranged from around 10% to just under 50% depending on the language. Human edits feed back into the model, progressively lowering TER and unlocking deeper cost-discount tiers. Engineers building localization pipelines find real production benchmarks like these on daily.dev.
How do I write good i18n string descriptions so AI translation tools produce accurate output?
A useful string description states what the string is, where it appears in the UI, and what each variable represents. For example, instead of 'Selected count', write: 'Toolbar label above a list, showing how many work items the user has selected. {count} is the number selected.' Vague descriptions force the model to guess, leading to wrong word choices and flattened plural rules in languages like German. Developers writing i18n strings for multilingual products find practical patterns like this on daily.dev.