/i18nifty

🌎 Type safe React i18n library

Primary LanguageTypeScriptMIT LicenseMIT

Logo Dark

Logo Light

Type-safe internationalization and translation React library

Home - Documentation - Sandbox

Disclamer: This tool is great for SPAs applications (e.g Create React App, Vite), not so for Next.js projects...

What do I expect from my i18n library

  • I want true type safety, If I forgot something I want to be warned about it at compile time. I want to be guided by intelisence through and through so I can focus on my content.
  • I want to be able to use React components and involve JS logic in my translations (even if it means giving up support for third part translations services like https://locize.com/).
  • I want the language to default to the browser preference.
  • I want the language preferences to be persistent across reloads.
  • I want asynchronous loading of locales (disclaimer: not yet available with SSR)
  • SEO: I want to let Google know that my website is available in multiple languages.
  • I want all this to work with server side rendering.
  • I want to be able to change the language of my app by adding ?lang=xx to the URL without involving my routing library.
  • I want to be able to explicitly fallback to English when I can't translate myself.
  • a11y: When internationalized text received from the backend aren't in the language of the app I want a label to be added

i18nifty is the first i18n library that checks all the boxes. Discover.

demo_1_gh demo_2_gh demo_3

Roadmap

  • React Native support.
  • SSG Support.
  • Support lazy loading of SSR and SSG.