US

Use Intl

use-intl

Internationalization (i18n) for React

Forms
react
intl
i18n
internationalization
localization
translate
translation
format
formatting
use-intl
Stars
661
Weekly
5.2M
Open issues
8
Bundle
~15 kB

Installation

npm install use-intl

Code example

import { useIntl } from "use-intl";

export function Example() {
  const form = useIntl({ defaultValues: { email: "" } });

  function onSubmit(event: React.FormEvent<HTMLFormElement>) {
    event.preventDefault();
    console.log(form);
  }

  return (
    <form onSubmit={onSubmit}>
      <input name="email" type="email" placeholder="you@example.com" />
      <button type="submit">Submit</button>
    </form>
  );
}

Pros & cons

Pros

  • Actively maintained by Jan Amann
  • 5.2M weekly downloads. Battle tested
  • First-class TypeScript definitions
  • MIT licensed

Considerations

  • Adds roughly ~15 kB to your bundle
  • Needs client-only rendering in SSR frameworks
  • Not supported in React Native
  • 8 open issues on GitHub

FAQs

Alternatives & similar libraries