ShouldUseLocalizedNodeAndPinNames
ShouldUseLocalizedNodeAndPinNames
#Overview
name: ShouldUseLocalizedNodeAndPinNames
The value of this variable can be defined or overridden in .ini config files. 1
.ini config file referencing this setting variable.
It is referenced in 7
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of ShouldUseLocalizedNodeAndPinNames is to control whether node and pin names in Unreal Engine’s graph editor should be displayed in localized form or in their original, non-localized form. This setting is part of the internationalization system in Unreal Engine 5.
This setting variable is primarily used by the Editor subsystem, specifically in the graph editing and internationalization components. It is referenced in the InternationalizationSettings module and the Engine module.
The value of this variable is set in the GEditorSettingsIni configuration file under the “Internationalization” section. It can be modified programmatically using the SetShouldUseLocalizedNodeAndPinNames function in the UInternationalizationSettingsModel class.
This variable interacts with other internationalization settings, such as ShouldUseLocalizedPropertyNames and ShouldUseLocalizedNumericInput. Together, these settings control various aspects of localization in the Unreal Engine editor.
Developers must be aware that changing this setting will affect the display of node and pin names in graph editors throughout the engine. This can impact the user experience for developers working in different languages or on localized projects.
Best practices when using this variable include:
- Ensuring consistency with other localization settings to provide a uniform experience.
- Considering the needs of your development team, especially if working in a multi-language environment.
- Testing the impact of changes to this setting on existing graphs and nodes to ensure readability and usability are maintained.
- Using the provided UInternationalizationSettingsModel methods to modify this setting programmatically rather than directly editing configuration files.
- Being aware that this setting may affect performance, as it requires additional processing to display localized names.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEditorSettings.ini:8, section: [Internationalization]
- INI Section:
Internationalization
- Raw value:
False
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Editor/InternationalizationSettings/Classes/InternationalizationSettingsModel.h:137
Scope (from outer to inner):
file
class class UInternationalizationSettingsModel : public UObject
Source code excerpt:
bool ShouldUseLocalizedPropertyNames() const;
void SetShouldUseLocalizedPropertyNames(const bool Value);
bool ShouldUseLocalizedNodeAndPinNames() const;
void SetShouldUseLocalizedNodeAndPinNames(const bool Value);
int32 GetTimezoneValue() const;
public:
/**
#Loc: <Workspace>/Engine/Source/Editor/InternationalizationSettings/Private/InternationalizationSettingsModel.cpp:35
Scope (from outer to inner):
file
function void UInternationalizationSettingsModel::ResetToDefault
Source code excerpt:
GConfig->SetBool( TEXT("Internationalization"), TEXT("ShouldUseLocalizedNumericInput"), true, GEditorSettingsIni );
GConfig->SetBool( TEXT("Internationalization"), TEXT("ShouldUseLocalizedPropertyNames"), true, GEditorSettingsIni );
GConfig->SetBool( TEXT("Internationalization"), TEXT("ShouldUseLocalizedNodeAndPinNames"), true, GEditorSettingsIni );
GConfig->Flush(false, GEditorSettingsIni);
FTextLocalizationManager::Get().ConfigureGameLocalizationPreviewLanguage(FString());
}
#Loc: <Workspace>/Engine/Source/Editor/InternationalizationSettings/Private/InternationalizationSettingsModel.cpp:109
Scope (from outer to inner):
file
function bool UInternationalizationSettingsModel::ShouldUseLocalizedNodeAndPinNames
Source code excerpt:
}
bool UInternationalizationSettingsModel::ShouldUseLocalizedNodeAndPinNames() const
{
bool bShouldUseLocalizedNodeAndPinNames = false;
GConfig->GetBool(TEXT("Internationalization"), TEXT("ShouldUseLocalizedNodeAndPinNames"), bShouldUseLocalizedNodeAndPinNames, GEditorSettingsIni);
return bShouldUseLocalizedNodeAndPinNames;
}
void UInternationalizationSettingsModel::SetShouldUseLocalizedNodeAndPinNames(const bool Value)
{
GConfig->SetBool(TEXT("Internationalization"), TEXT("ShouldUseLocalizedNodeAndPinNames"), Value, GEditorSettingsIni);
GConfig->Flush(false, GEditorSettingsIni);
}
int32 UInternationalizationSettingsModel::GetTimezoneValue() const
{
switch (DisplayTimezone)
#Loc: <Workspace>/Engine/Source/Editor/InternationalizationSettings/Private/InternationalizationSettingsModelDetails.cpp:500
Scope (from outer to inner):
file
function void FInternationalizationSettingsModelDetails::CustomizeDetails
lambda-function
Source code excerpt:
.IsChecked_Lambda([=]()
{
return SettingsModel.IsValid() && SettingsModel->ShouldUseLocalizedNodeAndPinNames() ? ECheckBoxState::Checked : ECheckBoxState::Unchecked;
})
.ToolTipText(NodeAndPinNamesSettingToolTip)
.OnCheckStateChanged_Lambda([=](ECheckBoxState State)
{
if (SettingsModel.IsValid())
{
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/EdGraph/EdGraphPin.cpp:820
Scope (from outer to inner):
file
function FText UEdGraphPin::GetDisplayName
Source code excerpt:
bool bShouldUseLocalizedNodeAndPinNames = false;
GConfig->GetBool( TEXT("Internationalization"), TEXT("ShouldUseLocalizedNodeAndPinNames"), bShouldUseLocalizedNodeAndPinNames, GEditorSettingsIni );
if (!bShouldUseLocalizedNodeAndPinNames)
{
return FText::AsCultureInvariant(DisplayName.BuildSourceString());
}
}
return DisplayName;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/EdGraph/EdGraphSchema.cpp:756
Scope (from outer to inner):
file
function FText UEdGraphSchema::GetPinDisplayName
Source code excerpt:
bool bShouldUseLocalizedNodeAndPinNames = false;
GConfig->GetBool(TEXT("Internationalization"), TEXT("ShouldUseLocalizedNodeAndPinNames"), bShouldUseLocalizedNodeAndPinNames, GEditorSettingsIni);
if (!bShouldUseLocalizedNodeAndPinNames)
{
ResultPinName = FText::FromString(ResultPinName.BuildSourceString());
}
}
return ResultPinName;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Public/EdGraph/EdGraphNodeUtils.h:108
Scope (from outer to inner):
file
function void UpdateCacheIternal
Source code excerpt:
{
bool bShouldUseLocalizedNodeAndPinNames = false;
GConfig->GetBool( TEXT("Internationalization"), TEXT("ShouldUseLocalizedNodeAndPinNames"), bShouldUseLocalizedNodeAndPinNames, GEditorSettingsIni );
if (bShouldUseLocalizedNodeAndPinNames)
{
CachedText = InText;
}
else