ConflictReportName
ConflictReportName
#Overview
name: ConflictReportName
The value of this variable can be defined or overridden in .ini config files. 9
.ini config files referencing this setting variable.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of ConflictReportName is to specify the filename for the conflict report generated during the localization process in Unreal Engine 5. This report is used to identify and document conflicts in text localization.
This setting variable is primarily used by the localization system within Unreal Engine. Specifically, it is utilized by the localization configuration script and the GenerateTextLocalizationReportCommandlet.
The value of this variable is typically set in the localization configuration file. It is read from this configuration using the GetStringFromConfig function.
ConflictReportName interacts with other variables and settings related to localization, such as:
- bConflictReport: A boolean flag to enable conflict reporting
- ConflictReportFormat: An enum determining the format of the report (TXT or CSV)
Developers should be aware of the following when using this variable:
- The filename should have either a .txt or .csv extension.
- If no extension is provided, the system defaults to .csv.
- The full path of the report is determined by combining the DestinationPath with the ConflictReportName.
Best practices for using this variable include:
- Always specify a valid filename with the appropriate extension (.txt or .csv).
- Ensure the specified filename is unique to avoid overwriting existing reports.
- Consider using a naming convention that includes the date or version to track multiple reports over time.
- Make sure the destination path has write permissions for the report to be saved successfully.
- Regularly review and act upon the generated conflict reports to maintain high-quality localization.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/Localization/Category.ini:74, section: [GatherTextStep6]
- INI Section:
GatherTextStep6
- Raw value:
CategoryConflicts.csv
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/Editor.ini:118, section: [GatherTextStep8]
- INI Section:
GatherTextStep8
- Raw value:
EditorConflicts.csv
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/EditorTutorials.ini:74, section: [GatherTextStep6]
- INI Section:
GatherTextStep6
- Raw value:
EditorTutorialsConflicts.csv
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/Engine.ini:96, section: [GatherTextStep7]
- INI Section:
GatherTextStep7
- Raw value:
EngineConflicts.csv
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/Keywords.ini:69, section: [GatherTextStep6]
- INI Section:
GatherTextStep6
- Raw value:
KeywordsConflicts.csv
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/PropertyNames.ini:74, section: [GatherTextStep6]
- INI Section:
GatherTextStep6
- Raw value:
PropertyNamesConflicts.csv
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/ToolTips.ini:77, section: [GatherTextStep6]
- INI Section:
GatherTextStep6
- Raw value:
ToolTipsConflicts.csv
- Is Array:
False
Location: <Workspace>/Projects/Lyra/Config/Localization/EngineOverrides_Gather.ini:47, section: [GatherTextStep3]
- INI Section:
GatherTextStep3
- Raw value:
EngineOverrides_Conflicts.txt
- Is Array:
False
Location: <Workspace>/Projects/Lyra/Config/Localization/Game_Gather.ini:69, section: [GatherTextStep4]
- INI Section:
GatherTextStep4
- Raw value:
Game_Conflicts.txt
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/Localization/Private/LocalizationConfigurationScript.cpp:489
Scope (from outer to inner):
file
namespace LocalizationConfigurationScript
function FLocalizationConfigurationScript GenerateGatherTextConfigFile
Source code excerpt:
ConfigSection.Add( TEXT("bConflictReport"), TEXT("true") );
ConfigSection.Add( TEXT("ConflictReportName"), GetConflictReportFileName(Target) );
Script.AddGatherTextStep(GatherTextStepIndex++, MoveTemp(ConfigSection));
}
Script.Dirty = true;
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Commandlets/GenerateTextLocalizationReportCommandlet.cpp:183
Scope (from outer to inner):
file
function bool UGenerateTextLocalizationReportCommandlet::ProcessConflictReport
Source code excerpt:
{
// Get report name.
FString ConflictReportName;
if (!GetStringFromConfig(*SectionName, TEXT("ConflictReportName"), ConflictReportName, GatherTextConfigPath))
{
UE_LOG(LogGenerateTextLocalizationReportCommandlet, Error, TEXT("No conflict report name specified."));
return false;
}
EConflictReportFormat ConflictReportFormat = EConflictReportFormat::None;
static const FString TxtExtension = TEXT(".txt");
static const FString CSVExtension = TEXT(".csv");
FString FileExtension = FPaths::GetExtension(ConflictReportName, true);
if (FileExtension == TxtExtension)
{
ConflictReportFormat = EConflictReportFormat::Txt;
}
else if (FileExtension == CSVExtension)
{
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Commandlets/GenerateTextLocalizationReportCommandlet.cpp:210
Scope (from outer to inner):
file
function bool UGenerateTextLocalizationReportCommandlet::ProcessConflictReport
Source code excerpt:
if (!FileExtension.IsEmpty())
{
UE_LOG(LogGenerateTextLocalizationReportCommandlet, Warning, TEXT("The conflict report filename %s has an unsupported extension. Only .txt and .csv is supported at this time."), *ConflictReportName);
}
else
{
UE_LOG(LogGenerateTextLocalizationReportCommandlet, Warning, TEXT("The conflict report filename %s has no extension. Defaulting the report to be generated as a .csv file."), *ConflictReportName);
}
ConflictReportName = FPaths::SetExtension(ConflictReportName, CSVExtension);
}
const FString ReportFilePath = (DestinationPath / ConflictReportName);
FText ReportSaveError;
if (!GatherManifestHelper->SaveConflictReport(ReportFilePath, ConflictReportFormat , &ReportSaveError))
{
UE_LOG(LogGenerateTextLocalizationReportCommandlet, Error, TEXT("%s"), *ReportSaveError.ToString());
return false;