← All benchmarks

i18next-cli vs Hedgeling — comparison

Hedgeling 1.3.1, each project with its tuned configuration, against i18next-cli 1.87.0 with a per-project tuned configuration. Both tools ran on the same pinned project commits.

8 projects · 20,193 Hedgeling strings · 18,678 i18next-cli strings · recall on the same Keycloak strip test: Hedgeling 99.13% · i18next-cli 91.61%

Recall on the same strip test

2,181 messages in the Keycloak Admin Console were unwrapped from their t() calls back into hardcoded English, then both tools were run on the result. A message counts as found when it appears in what the tool shows the developer.

tool and configuration messages found messages missed recall
i18next-cli, out of the box 1,588 593 72.81%
Hedgeling, out of the box 2,157 24 98.90%
i18next-cli, tuned 1,998 183 91.61%
Hedgeling, tuned 2,162 19 99.13%

Out of the box, i18next-cli misses about one in four of these messages; Hedgeling with no configuration at all misses 24. Tuned as far as its options allow it still misses 183, against Hedgeling's 19. About seven in ten of those remaining misses are the same pattern: a success or error message passed straight to a notification helper. i18next-cli does not treat a string handed to a function as user-facing copy, so toast and alert text is invisible to it.

Brownfield

Already internationalized. Precision is a residue ratio; the TP count is the headline metric (real i18n gaps found).

project fw Hedgeling strings i18next-cli strings Hedgeling precision Hedgeling TP i18next-cli precision i18next-cli TP
keycloak-admin-ui react 122 121 70% 70/100 70% 70/100
directus vue 119 178 83% 83/100 35% 35/100
all brownfield projects 77% 153/200 53% 105/200

Greenfield

No existing i18n pass. Precision is the headline accuracy number.

project fw Hedgeling strings i18next-cli strings Hedgeling precision Hedgeling TP i18next-cli precision i18next-cli TP
bulletproof-react react 103 123 100% 100/100 99% 99/100
analog angular 116 28 82% 82/100 32% 9/28
pocketbase-admin svelte 992 1,183 96% 96/100 68% 68/100
hf-chat-ui svelte 528 368 100% 100/100 94% 94/100
appwrite-console svelte 4,129 1,541 98% 98/100 94% 94/100
supabase-studio react 14,084 15,136 97% 97/100 81% 81/100
all greenfield projects 96% 573/600 84% 445/528
How to read this. Greenfield projects have no existing i18n pass: precision is the headline accuracy metric. Brownfield projects already ship i18n, so extraction is gap-finding: precision is a residue ratio and the TP count is the meaningful number (real i18n gaps found). Hedgeling counts come from each project's tuned configuration. i18next-cli counts are the strings its instrument command would transform (dry run) with a per-project tuned configuration: file ignores, a custom scorer built from its own lint and dry-run diagnostics that skips noise and raises the confidence of everything else, and every lint tag accepted. For the Vue and Svelte apps its string set also includes the hardcoded-string findings of the community Vue and Svelte lint plugins; there is no Angular plugin, so Analog is JS/TS only on its side. Precision for both tools comes from 100-string samples labeled with the same rubric. Recall for both tools is the same Keycloak strip test: a message counts as found when it appears in what the tool shows the developer.