Lingui's runtime API (@lingui/core setupI18n plus @lingui/react) replaces the core i18n shim in src/lib/i18n.ts, with the same surface as everywhere else: i18n.t(key, vars) and useT(). I'd pick it when you want ICU message syntax and a catalog CLI (bun run i18n:extract); pick i18next for the bigger plugin ecosystem, and none while you're still English-only. Screens don't change shape: they keep the shim's {{name}} placeholders, and toIcu() converts them to {name} at the t boundary.
At a glance
- Runs in Expo Go
- Yes
- Files added
- 11
- npm packages
- 4
- Keys to paste
- None
- Included in
- Starter and Pro
Set it up
bun run setup --i18n linguiSetup copies the module in, installs SDK-matched versions and removes the options you did not pick. Then bun run doctor lists every key still missing, with a link to where you get it. The step-by-step guide is in the Lingui docs.
Other i18n options
Get it
Lingui ships in Starter and Pro: one payment, lifetime updates. See pricing or browse every module.