# Formatjs > id: basic-internationalization-principles ## Pages - [Basic Internationalization Principles](core-concepts-basic-internationalization-principles.md): Internationalized software supports the languages and cultural customs of people throughout the world. The Web reache... - [Installation](getting-started-installation.md): formatjs is a set of libraries that help you setup internationalization in any project whether it's React or not. - [Message Declaration](getting-started-message-declaration.md): While you can declare your messages using only`id`s, we highly recommend declaring`defaultMessage`s inline along wi... - [Message Extraction](getting-started-message-extraction.md): Now that you've declared some messages, it's time to extract them. - [Runtime Requirements](guides-runtime-requirements.md): :::info Browser Support - [Intl MessageFormat](intl-messageformat.md): Formats ICU Message strings with number, date, plural, and select placeholders to create localized messages. - [Core FormatJS Intl](intl.md): This library contains core intl API that is used by`react-intl`. - [FormatJS Documentation](main-readme.md): This repository is the home of [FormatJS](http://formatjs.github.io/) and related libraries. - [Intl.DateTimeFormat (ESNext)](polyfills-intl-datetimeformat.md): A spec-compliant polyfill for Intl.DateTimeFormat fully tested by the [official ECMAScript Conformance test suite](ht... - [Intl.DisplayNames](polyfills-intl-displaynames.md): A polyfill for [`Intl.DisplayNames`](https://tc39.es/proposal-intl-displaynames). - [Intl.getCanonicalLocales](polyfills-intl-getcanonicallocales.md): A spec-compliant polyfill/ponyfill for`Intl.getCanonicalLocales`tested by the [official ECMAScript Conformance test... - [Intl.ListFormat](polyfills-intl-listformat.md): A spec-compliant polyfill for Intl.ListFormat fully tested by the [official ECMAScript Conformance test suite](https:... - [Intl.Locale](polyfills-intl-locale.md): A spec-compliant polyfill/ponyfill for Intl.Locale tested by the [official ECMAScript Conformance test suite](https:/... - [Intl.NumberFormat (ESNext)](polyfills-intl-numberformat.md): A polyfill for ESNext [`Intl.NumberFormat`][numberformat] and [`Number.prototype.toLocaleString`][tolocalestring]. - [Intl.PluralRules](polyfills-intl-pluralrules.md): A spec-compliant polyfill for [`Intl.PluralRules`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/... - [Intl.RelativeTimeFormat](polyfills-intl-relativetimeformat.md): A spec-compliant polyfill for Intl.RelativeTimeFormat fully tested by the [official ECMAScript Conformance test suite... - [Polyfills](polyfills.md): One of our goals is to provide developers with access to newest ECMA-402 Intl APIs. Therefore, FormatJS suite also pr... - [Imperative API](react-intl-api.md): There are a few API layers that React Intl provides and is built on. When using React Intl you'll be interacting with... - [Components](react-intl-components.md): React Intl has a set of React components that provide a declarative way to setup an i18n context and format dates, nu... - [CLI](tooling-cli.md): import Tabs from '@theme/Tabs' - [eslint-plugin-formatjs](tooling-linter.md): This eslint plugin allows you to enforce certain rules in your ICU message. - [swc-plugin](tooling-swc-plugin.md): This has been migrated over to the swc repo itself. You can find the plugin [here](https://www.npmjs.com/package/@swc... - [ts-transformer](tooling-ts-transformer.md): Process string messages for translation from modules that use react-intl, specifically: