Update extractors to preserve indentation

(cherry picked from commit 48d5b3c8d946ca71b6d52ead70f0f706db06957e)
This commit is contained in:
Gustas
2024-12-13 15:18:02 +02:00
committed by Pavel Penev
parent e2821933a4
commit 0566b6f787
2 changed files with 25 additions and 7 deletions

View File

@@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
foreach (var layout in chromeLayouts)
{
var fluentFolder = layout.Key + "|languages";
var fluentFolder = layout.Key + "|fluent";
var fluentPackage = modData.ModFiles.OpenPackage(fluentFolder);
var fluentPath = Path.Combine(fluentPackage.Name, "chrome.ftl");
@@ -262,12 +262,23 @@ namespace OpenRA.Mods.Common.UtilityCommands
&& !UpdateUtils.IsAlreadyExtracted(childNode.Value.Value)
&& childNode.Value.Value.Any(char.IsLetterOrDigit))
{
var value = childNode.Value.Value
.Replace("\\n", "\n ")
var replaced = false;
var value = childNode.Value.Value;
if (value.Contains("\\n"))
{
value = value.Replace("\\n", "\n ");
replaced = true;
}
value = value
.Replace("{", "<")
.Replace("}", ">")
.Trim().Trim('\n');
// Preserve indentation
if (replaced)
value = "\n " + value;
validChildTypes.Add((childNode, childType.ToLowerInvariant(), value));
}
}

View File

@@ -64,7 +64,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
}
var fluentPackage = modData.ModFiles.OpenPackage(modData.Manifest.Id + "|languages");
var fluentPackage = modData.ModFiles.OpenPackage(modData.Manifest.Id + "|fluent");
ExtractFromFile(Path.Combine(fluentPackage.Name, "rules.ftl"), modRules, traitInfos);
modRules.Save();
@@ -307,9 +307,16 @@ namespace OpenRA.Mods.Common.UtilityCommands
if (string.IsNullOrEmpty(propertyValue) || UpdateUtils.IsAlreadyExtracted(propertyValue) || !propertyValue.Any(char.IsLetterOrDigit))
continue;
var value = propertyValue
.Replace("\\n", "\n ")
.Trim().Trim('\n');
var replaced = false;
var value = propertyValue;
if (value.Contains("\\n"))
{
value = value.Replace("\\n", "\n ");
replaced = true;
}
// Preserve indentation
value = (replaced ? "\n " : "") + value.Trim().Trim('\n');
var actorName = ToLowerActor(actor.Key);
var key = traitInfo;