今后使用UE5的版本进行验证,所以UE4的内容验证或许会有些怠慢。这次主要是介绍StringTable的相关用法。
Overview
针对本地化功能提供的文本数据表。
StringTable
实用Code
StringTable资源引用
UE中提供了UStringTable
这样的资源允许我们在Editor中持有该资源的引用。1
2UPROPERTY(EditDefaultsOnly)
UStringTable* SampleStringTable;
StringTable中是否存在键值
方便使用的函数:1
2
3
4
5
6
7
8
9
10
11
12
13bool UStringTableHelperTool::HasKey(UStringTable* InStringTable, const FString& InKey)
{
if(IsValid(InStringTable))
{
FString OutKey;
if(InStringTable->GetMutableStringTable()->GetSourceString(InKey, OutKey))
{
return true;
}
}
return false;
}
StringTable中的读写
向StringTable中写入数据1
2
3
4
5
6
7
8
9
10
11
12void UStringTableHelperTool::UpdateStringTable(UStringTable* InStringTable, const FSting& InKey, const FString& InValue)
{
if(!HasKey(InStringTable, InKey))
{
InStringTable->Modify();
InStringTable->GetMutableStringTable()->SetSourceString(InKey, InValue);
}
else
{
// TODO: 如果存在相同的键值,则覆盖值
}
}