diff --git a/TranslationChecker.exe b/TranslationChecker.exe index 3bb2231..ba0bd25 100644 Binary files a/TranslationChecker.exe and b/TranslationChecker.exe differ diff --git a/TranslationChecker/TranslationChecker/Program.cs b/TranslationChecker/TranslationChecker/Program.cs index c7930aa..13baa40 100644 --- a/TranslationChecker/TranslationChecker/Program.cs +++ b/TranslationChecker/TranslationChecker/Program.cs @@ -186,7 +186,15 @@ namespace TranslationChecker void ReportError(Message message, string translation) { var location = message.Locations.First(); - Console.WriteLine($" Format string error ({location.Filename}:{location.Line})\n Source:\n '{message.Source}'\n Translation:\n '{translation}'"); + if (string.IsNullOrEmpty(translation)) + { + Console.WriteLine($" Empty translation ({location.Filename}:{location.Line})\n Source:\n '{message.Source}'"); + } + else + { + Console.WriteLine($" Format string error ({location.Filename}:{location.Line})\n Source:\n '{message.Source}'\n Translation:\n '{translation}'"); + + } success = false; ErrorCount++; } @@ -224,7 +232,13 @@ namespace TranslationChecker else { var translation = message.Translation.Text; - if (!CheckTranslation(original, translation)) + if (string.IsNullOrEmpty(translation)) + { + ReportError(message, translation); + if (fix) + message.Translation.Text = original; + } + else if (!CheckTranslation(original, translation)) { ReportError(message, translation); if (fix) @@ -266,19 +280,17 @@ namespace TranslationChecker } var fix = false; - var folder = false; for (var i = 1; i < args.Length; i++) { if (args[i] == "--fix") fix = true; - else if (args[i] == "--folder") - folder = true; } var success = true; - if (folder) + var path = args[0]; + if (File.GetAttributes(path).HasFlag(FileAttributes.Directory)) { - foreach (var tsFile in Directory.EnumerateFiles(args[0], "*.ts", SearchOption.AllDirectories)) + foreach (var tsFile in Directory.EnumerateFiles(path, "*.ts", SearchOption.AllDirectories)) { if (!CheckFile(tsFile, fix)) success = false; @@ -286,7 +298,7 @@ namespace TranslationChecker } else { - success = CheckFile(args[0], fix); + success = CheckFile(path, fix); } Console.WriteLine($"\nTotal errors: {ErrorCount}"); diff --git a/TranslationChecker/TranslationChecker/TranslationChecker.csproj b/TranslationChecker/TranslationChecker/TranslationChecker.csproj index 37a031d..c81e316 100644 --- a/TranslationChecker/TranslationChecker/TranslationChecker.csproj +++ b/TranslationChecker/TranslationChecker/TranslationChecker.csproj @@ -25,12 +25,13 @@ AnyCPU - pdbonly + full true bin\Release\ TRACE prompt 4 + true diff --git a/crowdin-sync.bat b/crowdin-sync.bat index ae05a1b..4a60b82 100644 --- a/crowdin-sync.bat +++ b/crowdin-sync.bat @@ -10,7 +10,7 @@ java -jar crowdin-cli.jar download if not %ERRORLEVEL%==0 exit /b echo Checking translations... -TranslationChecker.exe translations --folder --fix +TranslationChecker.exe translations --fix set CHECKER_ERRORLEVEL=%ERRORLEVEL% echo Generating Qt translations...