diff --git a/src/wan24-PoeditParser CLI/ParserApi.cs b/src/wan24-PoeditParser CLI/ParserApi.cs index e68042e..37ab139 100644 --- a/src/wan24-PoeditParser CLI/ParserApi.cs +++ b/src/wan24-PoeditParser CLI/ParserApi.cs @@ -174,11 +174,11 @@ public static async Task ParseAsync( await writer.WriteLineAsync($"#").DynamicContext(); await writer.WriteLineAsync($"msgid \"\"").DynamicContext(); await writer.WriteLineAsync($"msgstr \"\"").DynamicContext(); - await writer.WriteLineAsync("MIME-Version: 1.0\n".ToLiteral()).DynamicContext(); - await writer.WriteLineAsync($"\"{"Content-Type: text/plain; charset=UTF-8\n".ToLiteral()}\"").DynamicContext(); - await writer.WriteLineAsync($"\"{"Content -Transfer-Encoding: 8bit\n".ToLiteral()}\"").DynamicContext(); - await writer.WriteLineAsync($"\"{$"X-Generator: wan24PoeditParser {Assembly.GetExecutingAssembly().GetCustomAttributeCached()?.InformationalVersion}\n".ToLiteral()}\"").DynamicContext(); - await writer.WriteLineAsync($"\"{$"X-Poedit-SourceCharset: {ParserConfig.SourceEncoding.WebName}\n".ToLiteral()}\"").DynamicContext(); + await writer.WriteLineAsync($"\"{"MIME-Version: 1.0\n".ToPoeditMessageLiteral()}\"").DynamicContext(); + await writer.WriteLineAsync($"\"{"Content-Type: text/plain; charset=UTF-8\n".ToPoeditMessageLiteral()}\"").DynamicContext(); + await writer.WriteLineAsync($"\"{"Content -Transfer-Encoding: 8bit\n".ToPoeditMessageLiteral()}\"").DynamicContext(); + await writer.WriteLineAsync($"\"{$"X-Generator: wan24PoeditParser {Assembly.GetExecutingAssembly().GetCustomAttributeCached()?.InformationalVersion}\n".ToPoeditMessageLiteral()}\"").DynamicContext(); + await writer.WriteLineAsync($"\"{$"X-Poedit-SourceCharset: {ParserConfig.SourceEncoding.WebName}\n".ToPoeditMessageLiteral()}\"").DynamicContext(); } // Found keywords foreach (ParserMatch match in keywords) diff --git a/src/wan24-PoeditParser CLI/ParserAppConfig.cs b/src/wan24-PoeditParser CLI/ParserAppConfig.cs index ae6114c..aae75e7 100644 --- a/src/wan24-PoeditParser CLI/ParserAppConfig.cs +++ b/src/wan24-PoeditParser CLI/ParserAppConfig.cs @@ -63,12 +63,16 @@ public override void Apply() { if (!Merge) ParserConfig.Patterns.Clear(); foreach (string[] pattern in Patterns) + { + if (pattern.Length != 2 && pattern.Length != 3) + throw new InvalidDataException($"Invalid pattern definition with {pattern.Length} elements"); ParserConfig.Patterns.Add(new ParserPattern() { Pattern = pattern[0], Options = JsonHelper.Decode(pattern[1]), Replacement = pattern.Length > 2 ? pattern[2] : null }); + } } if (FileExtensions is not null) { @@ -92,12 +96,16 @@ public override async Task ApplyAsync(CancellationToken cancellationToken = defa { if (!Merge) ParserConfig.Patterns.Clear(); foreach (string[] pattern in Patterns) + { + if (pattern.Length != 2 && pattern.Length != 3) + throw new InvalidDataException($"Invalid pattern definition with {pattern.Length} elements"); ParserConfig.Patterns.Add(new ParserPattern() { Pattern = pattern[0], Options = JsonHelper.Decode(pattern[1]), Replacement = pattern.Length > 2 ? pattern[2] : null }); + } } if (FileExtensions is not null) {