Index: dam engine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs =================================================================== diff -u -r694 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 694) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 707) @@ -25,6 +25,7 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Standard; using Deltares.DamEngine.Data.Standard.Logging; +using Deltares.DamEngine.Interface.Properties; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlInput; using Deltares.DamEngine.Io.XmlOutput; @@ -48,12 +49,12 @@ { if (String.IsNullOrEmpty(modelInput)) { - throw new EngineInterfaceException("Error: empty input string"); + throw new EngineInterfaceException(Resources.Error_EmptyInputString); } Input input = DamXmlSerialization.LoadInputFromXmlString(modelInput); DamProjectData = FillDamFromXmlInput.CreateDamProjectData(input); - SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = "Model accepted" }); + SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.ModelAccepted }); } /// @@ -146,8 +147,8 @@ /// Validation messages in an XML string public string Validate() { - SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = "Start validation"}); - SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = "End validation" }); + SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.StartValidation }); + SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.EndValidation }); return null; } @@ -158,7 +159,7 @@ public string Run() { string outputXml; - SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = "Start calculation" }); + SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.StartCalculation }); List calculationMessages; switch (DamProjectData.DamProjectType) @@ -175,7 +176,7 @@ } Output output = FillXmlOutputFromDam.CreateOutput(DamProjectData); outputXml = DamXmlSerialization.SaveOutputAsXmlString(output); - SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = "End calculation" }); + SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.EndCalculation }); return outputXml; } Index: dam engine/trunk/src/Deltares.DamEngine.Interface/Deltares.DamEngine.Interface.csproj =================================================================== diff -u -r501 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Interface/Deltares.DamEngine.Interface.csproj (.../Deltares.DamEngine.Interface.csproj) (revision 501) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/Deltares.DamEngine.Interface.csproj (.../Deltares.DamEngine.Interface.csproj) (revision 707) @@ -64,6 +64,11 @@ + + True + True + Resources.resx + @@ -85,6 +90,13 @@ Deltares.DamEngine.Io + + + ResXFileCodeGenerator + Resources.Designer.cs + + + "$(ProjectDir)..\..\utils\svn_insert_version.cmd" "$(ProjectDir)Properties" Index: dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.resx =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.resx (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.resx (revision 707) @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + End calculation + + + End validation + + + Error: empty input string + + + Model accepted + + + Surfaceline '{0}' has no characteristic points + + + No design scenarios defined in location + + + No design scenarios defined in location of this project + + + No dike defined in this project + + + No input defined + + + No locations defined in the input + + + No locations defined in this project + + + Surfaceline '{0}' has no points + + + Surfaceline '{0}' has no points + + + No segments defined in the input + + + No 1D soilprofiles defined in this project + + + No soils defined in the input + + + No soils defined in this project + + + No surfacelines defined in the input + + + No surfacelines defined in this project + + + Start calculation + + + Start validation + + \ No newline at end of file Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx =================================================================== diff -u -r683 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 683) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 707) @@ -129,6 +129,12 @@ Geen uitvoer object gedefinieerd voor Sellmeijer 4 Krachten + + Gekozen rekenkernel is nog niet beschikbaar + + + Validatie faalt voor locatie '{0}', ondergrond scenario '{1}', ontwerp scenario '{2}' + De buitenwaartse waterstand ({0}) ligt onder het buitenwaartse maaiveld ({1}). Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs =================================================================== diff -u -r683 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 683) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 707) @@ -100,6 +100,24 @@ } /// + /// Looks up a localized string similar to Requested kernel not implemented yet. + /// + internal static string DesignCalculatorKernelNotImplemented { + get { + return ResourceManager.GetString("DesignCalculatorKernelNotImplemented", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Validation failed for location '{0}', subsoil scenario '{1}', design scenario '{2}'. + /// + internal static string DesignCalculatorValidationFailed { + get { + return ResourceManager.GetString("DesignCalculatorValidationFailed", resourceCulture); + } + } + + /// /// Looks up a localized string similar to River level ({0}) is below surface level at river side ({1}).. /// internal static string MStabXmlDoc_CreateMStabXmlDoc_RiverLevelHighIsBelowSurfaceLevelOutside { Index: dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.Designer.cs =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.Designer.cs (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.Designer.cs (revision 707) @@ -0,0 +1,252 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Deltares.DamEngine.Interface.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Deltares.DamEngine.Interface.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to End calculation. + /// + internal static string EndCalculation { + get { + return ResourceManager.GetString("EndCalculation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to End validation. + /// + internal static string EndValidation { + get { + return ResourceManager.GetString("EndValidation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: empty input string. + /// + internal static string Error_EmptyInputString { + get { + return ResourceManager.GetString("Error_EmptyInputString", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Model accepted. + /// + internal static string ModelAccepted { + get { + return ResourceManager.GetString("ModelAccepted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Surfaceline '{0}' has no characteristic points. + /// + internal static string NoCharacteristicPointsInSurfaceLineProject { + get { + return ResourceManager.GetString("NoCharacteristicPointsInSurfaceLineProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No design scenarios defined in location. + /// + internal static string NoDesignScenariosInLocation { + get { + return ResourceManager.GetString("NoDesignScenariosInLocation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No design scenarios defined in location of this project. + /// + internal static string NoDesignScenariosInLocationProject { + get { + return ResourceManager.GetString("NoDesignScenariosInLocationProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No dike defined in this project. + /// + internal static string NoDikeInProject { + get { + return ResourceManager.GetString("NoDikeInProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No input defined. + /// + internal static string NoInputDefined { + get { + return ResourceManager.GetString("NoInputDefined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No locations defined in the input. + /// + internal static string NoLocationsDefined { + get { + return ResourceManager.GetString("NoLocationsDefined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No locations defined in this project. + /// + internal static string NoLocationsInProject { + get { + return ResourceManager.GetString("NoLocationsInProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Surfaceline '{0}' has no points. + /// + internal static string NoPointsInSurfaceLine { + get { + return ResourceManager.GetString("NoPointsInSurfaceLine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Surfaceline '{0}' has no points. + /// + internal static string NoPointsInSurfaceLineProject { + get { + return ResourceManager.GetString("NoPointsInSurfaceLineProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No segments defined in the input. + /// + internal static string NoSegmentsDefined { + get { + return ResourceManager.GetString("NoSegmentsDefined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No 1D soilprofiles defined in this project. + /// + internal static string NoSoilProfiles1DInProject { + get { + return ResourceManager.GetString("NoSoilProfiles1DInProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No soils defined in the input. + /// + internal static string NoSoilsDefined { + get { + return ResourceManager.GetString("NoSoilsDefined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No soils defined in this project. + /// + internal static string NoSoilsInProject { + get { + return ResourceManager.GetString("NoSoilsInProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No surfacelines defined in the input. + /// + internal static string NoSurfaceLinesDefined { + get { + return ResourceManager.GetString("NoSurfaceLinesDefined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No surfacelines defined in this project. + /// + internal static string NoSurfaceLinesInProject { + get { + return ResourceManager.GetString("NoSurfaceLinesInProject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start calculation. + /// + internal static string StartCalculation { + get { + return ResourceManager.GetString("StartCalculation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start validation. + /// + internal static string StartValidation { + get { + return ResourceManager.GetString("StartValidation", resourceCulture); + } + } + } +} Index: dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs =================================================================== diff -u -r669 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 669) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 707) @@ -27,6 +27,9 @@ namespace Deltares.DamEngine.Interface { + /// + /// Converts types from Dam calss to Input serializer class and vice versa + /// public static class ConversionHelper { /// Index: dam engine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r668 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 668) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 707) @@ -24,6 +24,7 @@ using System.Linq; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Interface.Properties; using Deltares.DamEngine.Io.XmlInput; using Input = Deltares.DamEngine.Io.XmlInput.Input; using Location = Deltares.DamEngine.Data.General.Location; @@ -104,48 +105,48 @@ { if (damProjectData.Dike == null) { - throw new NullReferenceException("No dike defined in this project"); + throw new NullReferenceException(Resources.NoDikeInProject); } if (damProjectData.Dike.Locations == null) { - throw new NullReferenceException("No locations defined in this project"); + throw new NullReferenceException(Resources.NoLocationsInProject); } foreach (Location location in damProjectData.Dike.Locations) { if (location.Scenarios == null) { - throw new NullReferenceException("No scenarios defined in location"); + throw new NullReferenceException(Resources.NoDesignScenariosInLocationProject); } } if (damProjectData.Dike.SurfaceLines2 == null) { - throw new NullReferenceException("No surfacelines defined in this project"); + throw new NullReferenceException(Resources.NoSurfaceLinesInProject); } else { foreach (var surfaceLine in damProjectData.Dike.SurfaceLines2) { if ((surfaceLine.CharacteristicPoints == null) || (surfaceLine.CharacteristicPoints.Count < 1)) { - throw new NullReferenceException(string.Format("Surfaceline '{0}' has no characteristic points", surfaceLine.Name)); + throw new NullReferenceException(string.Format(Resources.NoCharacteristicPointsInSurfaceLineProject, surfaceLine.Name)); } if ((surfaceLine.Geometry == null) || (surfaceLine.Geometry.Count < 2)) { - throw new NullReferenceException(string.Format("Surfaceline '{0}' has no points", surfaceLine.Name)); + throw new NullReferenceException(string.Format(Resources.NoPointsInSurfaceLineProject, surfaceLine.Name)); } } } if (damProjectData.Dike.SoilList == null) { - throw new NullReferenceException("No soils defined in this project"); + throw new NullReferenceException(Resources.NoSoilsInProject); } if (damProjectData.Dike.SoilList.Soils == null) { - throw new NullReferenceException("No soils defined in this project"); + throw new NullReferenceException(Resources.NoSoilsInProject); } if (damProjectData.Dike.SoilProfiles == null) { - throw new NullReferenceException("No soilprofiles1D defined in this project"); + throw new NullReferenceException(Resources.NoSoilProfiles1DInProject); } } Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs =================================================================== diff -u -r697 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs (.../DesignCalculator.cs) (revision 697) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs (.../DesignCalculator.cs) (revision 707) @@ -5,6 +5,7 @@ using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingBligh; using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingSellmeijer4Forces; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; +using Deltares.DamEngine.Calculators.Properties; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.Standard.Logging; @@ -26,7 +27,7 @@ IKernelWrapper kernelWrapper = CreateKernelWrapper(damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType, damProjectData.DamProjectCalculationSpecification.CurrentSpecification.PipingModelType); if (kernelWrapper == null) { - throw new NotImplementedException("Requested kernel not implemented yet"); + throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented); } damProjectData.DesignCalculations = new List(); @@ -60,7 +61,7 @@ if (errorCount > 0) { locationCalculationMessages.Add(new LogMessage(LogMessageType.Error, null, - string.Format("Validation failed for location '{0}', subsoil scenario '{1}', design scenario '{2}'", + string.Format(Resources.DesignCalculatorValidationFailed, location.Name, soiProfileProbability.ToString(), damKernelInput.DesignScenario.LocationScenarioID))); @@ -98,13 +99,13 @@ case FailureMechanismSystemType.HorizontalBalance: case FailureMechanismSystemType.StabilityInside: case FailureMechanismSystemType.StabilityOutside: - throw new NotImplementedException("Requested kernel not implemented yet"); + throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented); case FailureMechanismSystemType.Piping: switch (pipingModelType) { case PipingModelType.SellmeijerVnk: case PipingModelType.Wti2017: - throw new NotImplementedException("Requested kernel not implemented yet"); + throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented); case PipingModelType.Bligh: kernelWrapper = new DamPipingBlighKernelWrapper(); break; Index: dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r668 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 668) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 707) @@ -26,6 +26,7 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Interface.Properties; using Deltares.DamEngine.Io.XmlInput; using Location = Deltares.DamEngine.Data.General.Location; using Segment = Deltares.DamEngine.Data.General.Segment; @@ -98,40 +99,40 @@ { if (input == null) { - throw new NullReferenceException("No input defined"); + throw new NullReferenceException(Resources.NoInputDefined); } if (input.Locations == null) { - throw new NullReferenceException("No locations defined in the input"); + throw new NullReferenceException(Resources.NoLocationsDefined); } foreach (Io.XmlInput.Location location in input.Locations) { if (location.DesignScenarios == null) { - throw new NullReferenceException("No design scenarios defined in location"); + throw new NullReferenceException(Resources.NoDesignScenariosInLocation); } } if (input.SurfaceLines == null) { - throw new NullReferenceException("No surfacelines defined in the input"); + throw new NullReferenceException(Resources.NoSurfaceLinesDefined); } else { foreach (var surfaceLine in input.SurfaceLines) { if ((surfaceLine.Points == null) || (surfaceLine.Points.Length < 1)) { - throw new NullReferenceException(string.Format("Surfaceline '{0}' has no points", surfaceLine.Name)); + throw new NullReferenceException(string.Format(Resources.NoPointsInSurfaceLine, surfaceLine.Name)); } } } if (input.Soils == null) { - throw new NullReferenceException("No soils defined in the input"); + throw new NullReferenceException(Resources.NoSoilsDefined); } if (input.Segments == null) { - throw new NullReferenceException("No segments defined in the input"); + throw new NullReferenceException(Resources.NoSegmentsDefined); } } Index: dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.nl-NL.resx =================================================================== diff -u --- dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.nl-NL.resx (revision 0) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/Properties/Resources.nl-NL.resx (revision 707) @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Eind berekening + + + Eind validatie + + + Error: lege input string + + + Model geaccepteerd + + + Dijkprofiel '{0}' bevat geen karakteristieke punten + + + Geen ontwerp scenarios gedefeniëerd in de invoer + + + Geen ontwerp scenarios gedefeniëerd in dit project + + + Geen dijk gedefeniëerd in dit project + + + Geen invoer gedefiniëerd + + + Geen locaties gedefeniëerd in de invoer + + + Geen locaties gedefeniëerd in dit project + + + Dijkprofiel '{0}' bevat geen punten + + + Dijkprofiel '{0}' bevat geen punten + + + Geen segmenten gedefeniëerd in de invoer + + + Geen 1D grondprofielen gedefeniëerd in de invoer + + + Geen grondmaterialen gedefeniëerd in de invoer + + + Geen grond materialen gedefeniëerd in dit project + + + Geen hoogtegeometrieen gedefeniëerd in de invoer + + + Geen dijkprofielen gedefeniëerd in dit project + + + Start berekening + + + Start validatie + + \ No newline at end of file Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx =================================================================== diff -u -r683 -r707 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 683) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 707) @@ -132,4 +132,10 @@ River level ({0}) is below surface level at river side ({1}). + + Requested kernel not implemented yet + + + Validation failed for location '{0}', subsoil scenario '{1}', design scenario '{2}' + \ No newline at end of file