A language picker which uses the BCP47. It uses the following standards: iso-3166, iso-639, iso-15924 and the un-m49. With this language picker you are sure you are using the right language codes for each specific language. It is even possible to add your own private use language codes such as the ROLV.
npm install bcp47-picker
Datasets (it is possible to use totally different ones):
Core datasets and specs:
wooorm/bcp-47
— parse and stringify BCP 47 language tagswooorm/iso-3166
— ISO 3166 codeswooorm/iso-639-2
— ISO 639-2 codeswooorm/iso-639-3
— ISO 639-3 codeswooorm/iso-15924
— ISO 15924 codeswooorm/un-m49
— UN M49 codes