i18next is an internationalization framework written in and for JavaScript. Internationalization (i18n) means building software so that its text and formats can change by language without changing the code. i18next is maintained by the team that builds Locize, a translation management service.
The code calls a translation function with a key, for example t('welcome'), and i18next returns the text for the current language from translation resources, usually JSON files with one set per language. It handles interpolation (inserting values such as a name into a sentence), plurals, context and nesting, and falls back to another language when a translation is missing. Plugins detect the user's language, load translation files from a server and cache them. Large projects split translations into several files, called namespaces. Integrations exist for React, Angular and Vue.js, and i18next also runs in Node.js and Deno.
i18next is free and open source under the MIT license. The makers sell Locize, a separate hosted service for managing translations, which has a free plan.