Currently, we have a list of WikibaseLexemeTermLanguages (array of language codes) in the synthetic special/settings.json file of the wikibase.lexeme.special.NewLexemeAlpha module. We want to replace that with a mapping (object) from language code to language name (in the interface language); that could also be in settings.json, or in a separate file. (However, we should avoid putting it into a separate module, as each separate module increases the size of the startup module loaded with every request.)
Since module contents are evaluated each time the startup module is loaded (to calculate the module hashes), and loading language names can be expensive, we should cache this information a bit – SitesModule in Wikibase does a similar thing. (An alternative approach would be to extend ResourceLoaderModule and extend getDefinitionSummary() to not include the language code contents, but I think it’s better to cache the contents like SitesModule does.)
Once the mapping is available in ResourceLoader, make SpecialNewLexemeAlpha.js pass it into init().