using System.Collections.Generic;

namespace NodePipeline.Constants.Exceptions;

public static class NodeValidation
{
    public const string UserDefinedNodeFieldValidatorNotFoundException =
        "NodePipeline.Constants.Exceptions.NodeValidation." +
        nameof(UserDefinedNodeFieldValidatorNotFoundException);

    public const string UserDefinedNodeValidatorNotFoundException =
        "NodePipeline.Constants.Exceptions.NodeValidation." + nameof(UserDefinedNodeValidatorNotFoundException);

    public const string UnknownNodeTypeException =
        "NodePipeline.Constants.Exceptions.NodeValidation." + nameof(UnknownNodeTypeException);

    public static readonly Dictionary<string, string> MessagesEn = new()
    {
        {
            UserDefinedNodeFieldValidatorNotFoundException,
            "User defined node field validator of type [{0}] was not found."
        },
        { UnknownNodeTypeException, "Unknown node type [{0}] of node [{1}]" },
        { UserDefinedNodeValidatorNotFoundException, "User defined node validator of type [{0}] was not found." }
    };

    public static readonly Dictionary<string, string> MessagesRu = new()
    {
        {
            UserDefinedNodeFieldValidatorNotFoundException,
            "Определяемый пользователем валидатор полей ноды типа [{0}] не найден."
        },
        { UnknownNodeTypeException, "Неизвестный тип ноды [{0}] для ноды [{1}]" },
        {
            UserDefinedNodeValidatorNotFoundException,
            "Определяемый пользователем валидатор ноды для типа [{0}] не найден."
        }
    };
}