Not currently, although I have added one for 4.17. For now you’ll have to make your own UFUNCTION and expose it to BPs.
For your reference, this is the version I added for 4.17:
// .h
/**
* Set the current culture.
* @note This function is a sledgehammer, and will set both the language and locale, as well as clear out any asset group cultures that may be set.
* @param Culture The culture to set, as an IETF language tag (eg, "zh-Hans-CN").
* @param SaveToConfig If true, save the new setting to the users' "GameUserSettings" config so that it persists after a reload.
* @return True if the culture was set, false otherwise.
*/
UFUNCTION(BlueprintCallable, Category="Utilities|Internationalization", meta=(AdvancedDisplay="1"))
static bool SetCurrentCulture(const FString& Culture, const bool SaveToConfig = false);
// .cpp
bool UKismetInternationalizationLibrary::SetCurrentCulture(const FString& Culture, const bool SaveToConfig)
{
if (FInternationalization::Get().SetCurrentCulture(Culture))
{
if (!GIsEditor && SaveToConfig)
{
GConfig->SetString(TEXT("Internationalization"), TEXT("Culture"), *Culture, GGameUserSettingsIni);
GConfig->EmptySection(TEXT("Internationalization.AssetGroupCultures"), GGameUserSettingsIni);
GConfig->Flush(false, GGameUserSettingsIni);
}
return true;
}
return false;
}
This changes the active culture, and also has an option to persist the new setting to the users’ game config so it’s applied automatically on the next run.