You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
match any regional string for a generic language request after exhausting the pool for exact matches in polyglot FText JSON
#JIRA: FORT-158282 #ROBOMERGE-OWNER: ryan.gerleve #ROBOMERGE-AUTHOR: david.nikdel #ROBOMERGE-SOURCE: CL 5420579 via CL 5420589 via CL 5427948 via CL 5428073 #ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking) [CL 5431681 by david nikdel in Dev-Networking branch]
This commit is contained in:
@@ -331,6 +331,28 @@ bool FJsonObjectConverter::GetTextFromObject(const TSharedRef<FJsonObject>& Obj,
|
||||
}
|
||||
}
|
||||
|
||||
// try again but only search on the locale region (in the localized data). This is a common omission (i.e. en-US source text should be used if no en is defined)
|
||||
for (const FString& LocaleToMatch : CultureList)
|
||||
{
|
||||
int32 SeparatorPos;
|
||||
// only consider base language entries in culture chain (i.e. "en")
|
||||
if (!LocaleToMatch.FindChar('-', SeparatorPos))
|
||||
{
|
||||
for (const auto& Pair : Obj->Values)
|
||||
{
|
||||
// only consider coupled entries now (base ones would have been matched on first path) (i.e. "en-US")
|
||||
if (Pair.Key.FindChar('-', SeparatorPos))
|
||||
{
|
||||
if (Pair.Key.StartsWith(LocaleToMatch))
|
||||
{
|
||||
TextOut = FText::FromString(Pair.Value->AsString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// no luck, is this possibly an unrelated json object?
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user