ReadyNative

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 none

That'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 none

Module id: i18n/none.

Files

1 files copied to the project root
  • src/lib/i18n.ts

On this page

Get ReadyNative