For many, this question has a pretty clear answer, but people, who are new to software development or who started to use i18next as the first choice, can be mistaken. So let's make it clear!
What is i18n?
The better question would be "What does i18n stands for". i18n is the abbreviation of the word internationalization, where the " 18" stands for the number of letters between the first i and the last n.
What is internationalization?
It's the process of designing the software application so that it can be adapted to various languages and regions. What does it mean? It means that when you are using some i18n/localization library or if you have your application prepared to be translated to different languages, you are doing internationalization. Yay! 🎉
What is i18next?
i18next
is an internationalization framework written in and for JavaScript. It's a library you integrate into your application code. i18next
helps you to render different strings for users speaking different languages.
So what is the difference?
i18n
is an abbreviation that is used across all the programming languages and software development world. i18next
is a JS framework/set of libraries.
i18next is not a standard
Although i18next is currently used by many developers, it's not a standard. It has a nice catchy name and if you google i18n, you can get the i18next website as a first result, but there are plenty of other libraries for JavaScript you can use. Here are some of them:
react-intl (a react i18n library from FormatJS family)
i18next is not the only solution out there. Different solutions suit different needs.
TL;DR
i18n is the abbreviation for internationalization
i18next is a JavaScript framework enabling internationalization