No i18n
The "No i18n" option of the ReadyNative Expo template: i18n.t/useT return the English key.
Expo Go: yes
Runs in Expo Go; no dev build needed for this module.
src/lib/i18n.ts re-exports the core shim (src/lib/shims/i18n.ts): i18n.t(key, vars) and useT() return the English key with {{var}} interpolation. I'd keep this while the app ships in one language - screens are written exactly as they would be with i18next or Lingui, so adding translations later is a setup call, not a refactor. With --with-examples, /examples/i18n shows the core "Module not installed" screen.
Setup
bun run setup --i18n noneThat's it - there's nothing to configure.
Usage
Write your English copy as the key and it renders as-is:
import { useT } from "@/lib/i18n";
const t = useT();
<Text>{t("Version {{version}}", { version })}</Text>;Gotchas
- The shim never re-renders on a language change, because there is no language to change.
- Ready to translate?
bun run setup --i18n i18next(or--i18n lingui) keeps every call site and adds catalogs, a language picker and device-language detection.
Reference
Everything below is generated from modules/i18n/none/module.json - the same file bun run setup reads, so it is what actually lands in your repo.
Install
bun run setup --i18n noneModule id: i18n/none.
Files
1 files copied to the project root
src/lib/i18n.ts