How to get picked for internationalization by coding agents
next-intl took 25% of 224 judged internationalization sessions. What the numbers say a vendor in this category should do.
If you sell internationalization solutions, this page is the part of the market no dashboard shows you: what a coding agent does when a developer asks for internationalization and never compares vendors.
The numbers come from 224 judged sessions with Claude Code, Codex and Cursor, spread across 12 realistic codebases, with every session read by a judge.
What coding agents choose for internationalization
Across 224 judged sessions, next-intl was chosen most often, in 25% of runs. Django translation framework was second with 20%.
| # | Product | Runs won | Share |
|---|---|---|---|
| 1 | next-intl | 57 | 25% |
| 2 | Django translation framework | 45 | 20% |
| 3 | Symfony Translation | 18 | 8% |
| 4 | Paraglide JS | 18 | 8% |
| 5 | Rails I18n | 17 | 8% |
| 6 | i18next | 14 | 6% |
| 7 | Built in-house (no product adopted) | 12 | 5% |
| 8 | Vue I18n | 10 | 4% |
| 9 | FormatJS | 9 | 4% |
| 10 | Tolgee | 6 | 3% |
Full board, every run replayable: the internationalization leaderboard.
What the shape of this category means
The leader takes only 25% of runs. This category is genuinely open and the ordering can be moved.
With the top product at 25%, internationalization is decided in the moment, from what the agent reads and what it finds in the repository. Nothing is locked in, which is the best situation a vendor can be in and the one where the work pays fastest.
The order here is set by the quality of what an agent can read and by whether your product is already present in the codebase. Both are things you can change.
The agents do not agree with each other
In this category all three agents put next-intl first, which is less common than it sounds: across the eighteen categories we measured, Claude Code and Codex disagreed on the leader in nine of them.
| Agent | Runs | Picked most often |
|---|---|---|
| Claude Code | 77 | next-intl (23) |
| Codex | 78 | next-intl (19) |
| Cursor | 69 | next-intl (15) |
Even where they agree, they get there differently. Codex ran a web search in 53% of decision runs and Claude Code in 1.6%, so what you publish reaches one of them in half its internationalization sessions and the other in almost none.
Who is asking changes the answer
Every request in this experiment was written as a specific kind of person. In this category the leader changes with the person.
| Who is asking | Runs | Picked most often |
|---|---|---|
| Vibe coder | 54 | next-intl |
| Junior developer | 69 | Symfony Translation |
| Senior engineer | 47 | next-intl |
| Enterprise team | 54 | Django translation framework |
That is 3 different products winning internationalization for 4 kinds of buyer, out of the same 224 sessions. Nobody here is winning internationalization. They are each winning one kind of buyer.
If you sell to more than one of them, you need pages for each. See how to win the enterprise persona.
What you are really competing against
In 5% of runs the agent wrote the code itself rather than adopting a product. That is low enough that your competition is other vendors, but high enough to be worth watching.
Considered, and never chosen
Because the judge records every product an agent raised and not only the one it picked, this board also shows who kept reaching the shortlist and losing. In internationalization the clearest case is Crowdin: on the table in 143 sessions, chosen in none.
| Product | Raised in | Chosen in |
|---|---|---|
| Crowdin | 143 sessions | 0 |
| Lokalise | 120 sessions | 0 |
| Weblate | 79 sessions | 0 |
| GNU gettext | 74 sessions | 0 |
| Lingui | 59 sessions | 0 |
Being rejected is a better position than being unknown, and a cheaper one to fix. The product is already in the agent's head and on the list. Whatever ended those 475 sessions is recorded in each transcript, one reason at a time.
What to do about it in internationalization
- Aim at second place first. next-intl holds 25% and Django translation framework holds 20%. The gap between the default and the field is where the reachable sessions are.
- Pick which buyer you are for. The same internationalization need written as a vibe coder landed on next-intl, and written as an enterprise team landed on Django translation framework. Those are two markets, and the enterprise one needs pages containing the constraint words: audit log, data residency, retention, single sign-on. See how to win the enterprise persona.
The work that applies to every category rather than to this one is written up separately: audit your documentation, write a quickstart an agent can follow, and how to measure install share.
Every internationalization solution on this board
One page per product, with its install share, the per-agent split, and how often it was raised without being chosen.
- Do coding agents recommend next-intl? — chosen in 25% of sessions
- Do coding agents recommend Django translation framework? — chosen in 20% of sessions
- Do coding agents recommend Symfony Translation? — chosen in 8% of sessions
- Do coding agents recommend Paraglide JS? — chosen in 8% of sessions
- Do coding agents recommend Rails I18n? — chosen in 8% of sessions
- Do coding agents recommend i18next? — chosen in 6% of sessions
- Do coding agents recommend Vue I18n? — chosen in 4% of sessions
- Do coding agents recommend FormatJS? — chosen in 4% of sessions
- Do coding agents recommend Crowdin? — raised in 143 sessions, chosen in none
- Do coding agents recommend Lokalise? — raised in 120 sessions, chosen in none
- Do coding agents recommend Weblate? — raised in 79 sessions, chosen in none
- Do coding agents recommend GNU gettext? — raised in 74 sessions, chosen in none
Where these numbers come from
224 judged sessions in internationalization across 12 codebases, part of a published set of 6,458. Real coding agents at pinned versions, in sandboxes, inside realistic codebases, with a simulated project owner in the loop and a blind judge on every session. The full method is on one page: how we measured this.
Every internationalization run can be replayed on the board.
<!-- generated by scripts/write-data-pages.mjs -->
Common questions
How many codebases is this based on?
224 judged sessions across 12 realistic codebases. A category only runs on repositories where its seam is open, so coverage differs: some categories ran on more than ten codebases and some on two.
What internationalization solution do coding agents choose?
Across 224 judged sessions, next-intl was chosen most often, in 25% of runs. Django translation framework was second with 20%. The result changes by agent and by who is asking.
Do Claude Code and Codex pick the same internationalization solution?
Yes. All three agents we tested put next-intl first in this category, which is unusual: they disagree in half of the categories we measured.
How often do agents build internationalization themselves instead of installing something?
In 5% of runs the agent wrote the code itself rather than adopting a product.
How can a vendor improve its position here?
Make the quickstart run when pasted, state the current version on the documentation page, use one name across product, package and import, write pages for the symptoms users describe rather than only the category name, and get into the repository through templates and framework integrations.
Which internationalization solutions do agents consider but never choose?
Crowdin (raised in 143 sessions, chosen in none), Lokalise (raised in 120 sessions, chosen in none), Weblate (raised in 79 sessions, chosen in none), GNU gettext (raised in 74 sessions, chosen in none), Lingui (raised in 59 sessions, chosen in none). Being considered and not chosen is a different problem from being unknown, and it is usually fixable.
Where this comes from
Armature ran 6,458 judged sessions with Claude Code, Codex and Cursor inside 63 realistic codebases, and published every run. The numbers on this page come from that work.