diff --git a/AudioCuesheetEditor/Model/IO/Export/ExportfileGenerator.cs b/AudioCuesheetEditor/Model/IO/Export/ExportfileGenerator.cs index b7d3958f..1d155901 100644 --- a/AudioCuesheetEditor/Model/IO/Export/ExportfileGenerator.cs +++ b/AudioCuesheetEditor/Model/IO/Export/ExportfileGenerator.cs @@ -364,7 +364,6 @@ protected override ValidationResult Validate(string property) } if (validationResults.Any(x => x.Value.Status == ValidationStatus.Error)) { - //TODO: Für jedes Objekt eine Nachricht erstellen und den Objektnamen voranstellen! var messages = validationResults.Values.Where(x => x.ValidationMessages != null).SelectMany(x => x.ValidationMessages!); validationResult = ValidationResult.Create(ValidationStatus.Error, messages); } diff --git a/AudioCuesheetEditor/Resources/Localization/MainLayout/de.json b/AudioCuesheetEditor/Resources/Localization/MainLayout/de.json index 3c05e8d5..bec6bc09 100644 --- a/AudioCuesheetEditor/Resources/Localization/MainLayout/de.json +++ b/AudioCuesheetEditor/Resources/Localization/MainLayout/de.json @@ -8,7 +8,7 @@ "Undo last change": "Letzte Änderung Rückgängig machen", "Redo last change": "Letzte Änderung wiederherstellen", "Export": "Export", - "Please check processinghints for errors, otherwise the file is not exportable": "Bitte prüfen sie die Bearbeitungshinweise auf Fehler. Andernfalls ist Datei nicht exportierbar.", + "Please check processinghints for errors, otherwise the file is not exportable: {0}": "Bitte prüfen sie die Bearbeitungshinweise auf Fehler. Andernfalls ist Datei nicht exportierbar: {0}", "Download cuesheet": "Cuesheet herunterladen", "Save project": "Projekt speichern", "Open exportprofiles": "Export Profile anzeigen", diff --git a/AudioCuesheetEditor/Resources/Localization/MainLayout/en.json b/AudioCuesheetEditor/Resources/Localization/MainLayout/en.json index 7f454e10..a3788458 100644 --- a/AudioCuesheetEditor/Resources/Localization/MainLayout/en.json +++ b/AudioCuesheetEditor/Resources/Localization/MainLayout/en.json @@ -8,7 +8,7 @@ "Undo last change": "Undo last change", "Redo last change": "Redo last change", "Export": "Export", - "Please check processinghints for errors, otherwise the file is not exportable": "Please check processing hints for errors. Otherwise the file is not exportable.", + "Please check processinghints for errors, otherwise the file is not exportable: {0}": "Please check processinghints for errors, otherwise the file is not exportable: {0}", "Download cuesheet": "Download cuesheet", "Save project": "Save project", "Open exportprofiles": "Display Export Profiles", diff --git a/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/de.json b/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/de.json index eac76c46..8f6b5874 100644 --- a/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/de.json +++ b/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/de.json @@ -11,7 +11,7 @@ "Download this file": "Diese Datei herunterladen", "Generate export files": "Exportdateien generieren", "Abort": "Abbrechen", - "Export files can not be generated. Please check validationerrors and solve errors in order to download export.": "Exportdateien können nicht generiert werden. Bitte prüfen Sie die Validierungsfehler und beheben Sie diese, um die Exportdateien herunterladen zu können.", + "Export files can not be generated. Please check validationerrors and solve errors in order to download export: {0}": "Exportdateien können nicht generiert werden. Bitte prüfen Sie die Validierungsfehler und beheben Sie diese, um die Exportdateien herunterladen zu können: {0}", "Close": "Schließen", "Download split audio file": "Verarbeitete Audiodatei herunterladen", "Generation in progress, please stand by ...": "Export wird durchgeführt, bitte warten Sie ...." diff --git a/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/en.json b/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/en.json index de38cb79..0636febf 100644 --- a/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/en.json +++ b/AudioCuesheetEditor/Resources/Localization/ModalExportdialog/en.json @@ -11,7 +11,7 @@ "Download this file": "Download this file", "Generate export files": "Generate export files", "Abort": "Abort", - "Export files can not be generated. Please check validationerrors and solve errors in order to download export.": "Export files can not be generated. Please check validationerrors and solve errors in order to download export.", + "Export files can not be generated. Please check validationerrors and solve errors in order to download export: {0}": "Export files can not be generated. Please check validationerrors and solve errors in order to download export: {0}", "Close": "Close", "Download split audio file": "Download split audio file", "Generation in progress, please stand by ...": "Generation in progress, please stand by ..." diff --git a/AudioCuesheetEditor/Resources/Localization/ValidationMessage/de.json b/AudioCuesheetEditor/Resources/Localization/ValidationMessage/de.json index 65d8ef4b..d0f65374 100644 --- a/AudioCuesheetEditor/Resources/Localization/ValidationMessage/de.json +++ b/AudioCuesheetEditor/Resources/Localization/ValidationMessage/de.json @@ -25,8 +25,9 @@ "SchemeType": "Schematyp", "Scheme": "Schema", "ENTER REGULAR EXPRESSION HERE": "Hier regulären Ausdruck eingeben", - "SchemeCuesheet": "Schema Cuesheet", - "SchemeTracks": "Schema Titel", + "SchemeHead": "Kopfschema", + "SchemeTracks": "Titelschema", + "SchemeFooter": "Fußschema", "Moment": "Zeitpunkt", "{0} must end with '{1}'!": "{0} musss mit '{1}' enden!", "{0} must have a filename!": "{0} muss einen Dateinamen haben!", diff --git a/AudioCuesheetEditor/Resources/Localization/ValidationMessage/en.json b/AudioCuesheetEditor/Resources/Localization/ValidationMessage/en.json index 22fc6d00..8f217b4c 100644 --- a/AudioCuesheetEditor/Resources/Localization/ValidationMessage/en.json +++ b/AudioCuesheetEditor/Resources/Localization/ValidationMessage/en.json @@ -25,8 +25,9 @@ "SchemeType": "Schemetype", "Scheme": "Scheme", "ENTER REGULAR EXPRESSION HERE": "Enter regular expression here", - "SchemeCuesheet": "Scheme cuesheet", - "SchemeTracks": "Scheme tracks", + "SchemeHead": "Headerscheme", + "SchemeTracks": "Trackscheme", + "SchemeFooter": "Footerscheme", "Moment": "Moment", "{0} must end with '{1}'!": "{0} must end with '{1}'!", "{0} must have a filename!": "{0} must have a filename!", diff --git a/AudioCuesheetEditor/Shared/MainLayout.razor b/AudioCuesheetEditor/Shared/MainLayout.razor index 276999b9..f2449c96 100644 --- a/AudioCuesheetEditor/Shared/MainLayout.razor +++ b/AudioCuesheetEditor/Shared/MainLayout.razor @@ -98,9 +98,7 @@ along with Foobar. If not, see - - - + @@ -430,7 +428,7 @@ along with Foobar. If not, see { foreach (var validationMessage in validationResult.ValidationMessages) { - detailText += String.Format("{0}{1}", _validationMessageLocalizer[validationMessage.Message, validationMessage.Parameter], Environment.NewLine); + detailText += String.Format("{0}{1}", validationMessage.GetMessageLocalized(_validationMessageLocalizer), Environment.NewLine); } } return _localizer["Please check processinghints for errors, otherwise the file is not exportable: {0}", detailText]; @@ -441,30 +439,6 @@ along with Foobar. If not, see Boolean IsCuesheetExportable => IsCuesheetExportableTooltip == null; - string? IsExportprofileExportableTooltip - { - get - { - var generator = new ExportfileGenerator(ExportType.Exportprofile, _sessionStateContainer.Cuesheet, SelectedExportProfile, audioConverterService: _audioConverterService); - var validationResult = generator.Validate(); - if (validationResult.Status == Model.Entity.ValidationStatus.Error) - { - string? detailText = null; - if (validationResult.ValidationMessages != null) - { - foreach (var validationMessage in validationResult.ValidationMessages) - { - detailText += String.Format("{0}{1}", _validationMessageLocalizer[validationMessage.Message, validationMessage.Parameter], Environment.NewLine); - } - } - return _localizer["Please check processinghints for errors, otherwise the file is not exportable: {0}", detailText]; - } - return null; - } - } - - Boolean IsExportprofileExportable => IsExportprofileExportableTooltip == null; - Boolean ModalExportdialogCuesheetLockUserInput { get diff --git a/AudioCuesheetEditor/Shared/ModalExportdialog.razor b/AudioCuesheetEditor/Shared/ModalExportdialog.razor index f8f9b7c3..9318493f 100644 --- a/AudioCuesheetEditor/Shared/ModalExportdialog.razor +++ b/AudioCuesheetEditor/Shared/ModalExportdialog.razor @@ -187,7 +187,7 @@ along with Foobar. If not, see { foreach (var validationMessage in validationResult.ValidationMessages) { - detailText += String.Format("{0}{1}", _validationMessageLocalizer[validationMessage.Message, validationMessage.Parameter], Environment.NewLine); + detailText += String.Format("{0}{1}", validationMessage.GetMessageLocalized(_validationMessageLocalizer), Environment.NewLine); } } return _localizer["Export files can not be generated. Please check validationerrors and solve errors in order to download export: {0}", detailText]; @@ -205,12 +205,7 @@ along with Foobar. If not, see { exportPossible = Validations.ValidateAll().GetAwaiter().GetResult(); } - //TODO: Warum nur bei exportPossible == false? - if (exportPossible == false) - { - exportPossible = ExportPossibleTooltip == null; - } - return exportPossible; + return exportPossible && ExportPossibleTooltip == null; } }