Looking for graceful way to override FInternationalization::GetCultureNames()

I’m implementing a new localization service provider, and the set of supported cultures is different from those supported by ICU.

It would seem that updating FInternationalization::GetCultureNames() called from SCulturePicker::BuildStockEntries() would do the trick; what would be the best way to update that without updating any engine code? Or the minimally intrusive way if I did?

Sample extra cultures are “cb-ph (Cebuano)”, “co-it (Corsican)”, and “xx-xx (Test)”

Cheers
John

Currently going with a new implementation here:

#if UE_ENABLE_ICU
friend class FICUInternationalization;
typedef FICUInternationalization FImplementation;
#elif UE_ENABLE_MY_LOCALIZATION
→ new implementation
#else
friend class FLegacyInternationalization;
typedef FLegacyInternationalization FImplementation;
#endif
TUniqueObj Implementation;

As this seems to be in Core, I’ll need to be careful to conditionally compile out editor specific code.

Cheers
John