{
    "security": {
        "csrfInvalid": "Invalid security token. Please reload the page and try again."
    },
    "http": {
        "404": {
            "code": "404",
            "title": "Page Not Found",
            "message": "The page you are looking for does not exist or has been moved.",
            "description": "The page you are looking for does not exist",
            "suggestions": {
                "title": "Suggestions",
                "whatToDo": "What to do?",
                "suggestion1": "Check the spelling of the URL in the address bar",
                "suggestion2": "Use the search bar to find what you are looking for",
                "suggestion3": "Visit the home page to navigate to other sections"
            },
            "actions": {
                "backHome": "Back to home",
                "previousPage": "Previous page",
                "retry": "Retry"
            }
        },
        "403": {
            "code": "403",
            "title": "Access Forbidden",
            "message": "You do not have permission to access this page.",
            "description": "You do not have permission to access this page",
            "suggestions": {
                "title": "Suggestions",
                "whatToDo": "What to do?",
                "suggestion1": "Check that you are logged in with the correct account",
                "suggestion2": "Contact an administrator if you think this is an error",
                "suggestion3": "Make sure you have the necessary permissions to access this resource"
            },
            "actions": {
                "backHome": "Back to home",
                "previousPage": "Previous page",
                "retry": "Retry"
            }
        },
        "500": {
            "code": "500",
            "title": "Server Error",
            "message": "An error occurred on the server. Our team has been notified.",
            "description": "An error occurred on the server",
            "suggestions": {
                "title": "Suggestions",
                "whatToDo": "What to do?",
                "suggestion1": "Wait a few moments and try again",
                "suggestion2": "Check your internet connection",
                "suggestion3": "If the problem persists, contact technical support"
            },
            "actions": {
                "backHome": "Back to home",
                "previousPage": "Previous page",
                "retry": "Retry"
            }
        },
        "400": {
            "code": "400",
            "title": "Invalid Request",
            "description": "Invalid Request"
        },
        "401": {
            "code": "401",
            "title": "Unauthenticated",
            "description": "Unauthenticated"
        },
        "429": {
            "code": "429",
            "title": "Too Many Requests",
            "description": "Too Many Requests"
        }
    },
    "validation": {
        "error": "Validation error",
        "required": {
            "title": "Title is required",
            "content": "Content is required",
            "category": "Category is required",
            "tagName": "Tag name is required",
            "slug": "Slug required",
            "discussionId": "Discussion ID required"
        },
        "invalid": {
            "format": "Invalid format",
            "url": "Invalid URL. Must start with http:// or https://",
            "email": "Invalid email",
            "order": "Invalid order",
            "token": "Invalid token",
            "tokenExpired": "Invalid or expired token",
            "csrf": "Invalid CSRF token",
            "request": "Invalid request"
        },
        "length": {
            "min": "Minimum {min} characters required",
            "max": "Maximum {max} characters allowed"
        },
        "username": {
            "invalidFormat": "Username can only contain letters, numbers, hyphens (-) and underscores (_)",
            "cannotBeChanged": "Username cannot be changed",
            "alreadyUsed": "This username is already in use",
            "help": "3-30 characters: letters, numbers, hyphens and underscores"
        },
        "email": {
            "alreadyUsed": "This email is already in use",
            "notVerified": "Your email has not been verified. Please check your mailbox and click the verification link.",
            "help": "Valid email address required",
            "mxInvalid": "This email domain does not accept messages. Please check the address you entered."
        },
        "password": {
            "weak": "The password must contain at least 10 characters, one lowercase letter, one uppercase letter, one digit and one special character."
        }
    },
    "auth": {
        "loginRequired": "You must be logged in to access this page",
        "invalidCredentials": "Incorrect email or password",
        "tooManyLoginAttempts": "Too many login attempts. Please try again later.",
        "tooManyRegisterAttempts": "Too many registration attempts. Please try again later.",
        "registrationDisabled": "Registration is disabled",
        "2fa": {
            "codeRequired": "2FA code is required",
            "invalidCode": "Invalid 2FA code",
            "notEnabled": "Two-factor authentication is not enabled"
        },
        "account": {
            "banned": "Your account has been banned",
            "suspended": "Your account has been suspended",
            "suspension": {
                "endsOn": "The suspension will end on {date}",
                "permanent": "No end date is set (permanent suspension)",
                "reason": "Reason: {reason}",
                "contactModerator": "For more details, please contact a moderator"
            }
        }
    },
    "upload": {
        "failed": "Upload failed",
        "error": "Error during upload",
        "fileTooLarge": "File too large",
        "invalidFileType": "File type not allowed",
        "php": {
            "iniSize": "The file exceeds the maximum size allowed by the server (upload_max_filesize)",
            "formSize": "The file exceeds the maximum size allowed by the form",
            "partial": "The file was only partially uploaded",
            "noFile": "No file was uploaded",
            "noTmpDir": "Missing temporary folder on the server",
            "cantWrite": "Failed to write the file to disk",
            "extension": "A PHP extension stopped the file upload",
            "unknown": "Unknown upload error (code: {code})"
        },
        "validation": {
            "noAllowedTypes": "No allowed file type is configured",
            "extensionNotAllowed": "Extension not allowed: {ext}. Allowed extensions: {allowed}",
            "cannotDetectType": "Unable to determine the file type. The file cannot be accepted for security reasons.",
            "typeMismatch": "The file type does not match its extension. File rejected for security reasons.",
            "mimeNotAllowed": "File type not allowed: {mime}. Allowed types: {allowed}",
            "tooLarge": "File too large: {size} MB. Maximum allowed size: {max} MB"
        },
        "destination": {
            "invalidPath": "Invalid destination path",
            "cannotCreateDir": "Unable to create the destination directory",
            "missingDir": "The destination directory does not exist",
            "notWritable": "The destination directory is not writable",
            "moveFailed": "Failed to move the uploaded file to its destination"
        },
        "archive": {
            "unsafe": "Unsafe archive",
            "toolUnavailable": "{tool} is not available on the server ({type} archives are not supported)",
            "openFailed": "Unable to open the {type} archive",
            "execFailed": "Unable to run {tool}",
            "execError": "Error while running {tool}: {details}",
            "listFailed": "Unable to list the contents of the {type} archive",
            "tooManyFiles": "Too many files in the archive (max: {max})",
            "suspiciousPath": "Suspicious path detected in the archive: {file}",
            "forbiddenFile": "Forbidden file in the archive: {file} (extension: .{ext})",
            "unsupportedType": "Unsupported archive type: {type}",
            "scanError": "Error while scanning the archive: {details}"
        },
        "clamav": {
            "unavailable": "Antivirus scan unavailable on the server",
            "scanError": "Error during the antivirus scan",
            "infected": "Infected file detected by the antivirus: {details}"
        }
    },
    "rateLimit": {
        "title": "Too many requests. Please try again later.",
        "retryAfter": "Retry in {seconds} second(s)",
        "discussion": {
            "duplicate": "You have already created a similar discussion recently. Please wait before creating a new one.",
            "cooldown": "Please wait {seconds} second(s) before creating a new discussion."
        },
        "post": {
            "duplicate": "You have already posted this message recently. Please wait before reposting it.",
            "cooldown": "Please wait {seconds} second(s) before posting again."
        }
    },
    "notFound": {
        "user": "User not found",
        "discussion": "Discussion not found",
        "post": "Post not found",
        "tag": "Tag not found",
        "group": "Group not found",
        "category": "Category not found",
        "reaction": "Reaction not found",
        "attachment": "Attachment not found",
        "file": "File not found",
        "short": "Resource not found",
        "notification": "Notification not found",
        "draft": "Draft not found"
    },
    "permission": {
        "denied": "Permission denied",
        "categoryAccessDenied": "You do not have permission to access this private category",
        "downloadNotAllowed": "You do not have permission to download this file",
        "profileLoginRequired": "You must be logged in to view user profiles.",
        "discussionEditTimeLimitExceeded": "You can no longer edit this discussion. The allowed editing window has expired.",
        "discussionDeleteTimeLimitExceeded": "You can no longer delete this discussion. The allowed deletion window has expired.",
        "discussionHasReplies": "You cannot delete a discussion that already has replies.",
        "postEditTimeLimitExceeded": "You can no longer edit this reply. The allowed editing window has expired.",
        "postDeleteTimeLimitExceeded": "You can no longer delete this reply. The allowed deletion window has expired.",
        "discussionEditRequiresNoReplies": "You can no longer edit this discussion because replies have already been posted.",
        "postEditRequiresNoReplies": "You can no longer edit this reply because a newer reply has been posted in this discussion."
    },
    "action": {
        "cannotBanYourself": "You cannot ban yourself",
        "cannotBanAdmin": "An administrator cannot ban another administrator",
        "cannotBanModerator": "An administrator or moderator cannot ban a moderator",
        "cannotDeactivateYourself": "You cannot deactivate yourself",
        "cannotDeactivateAdmin": "An administrator cannot deactivate another administrator",
        "cannotDeleteYourself": "You cannot delete yourself",
        "cannotDeleteAdmin": "An administrator cannot delete another administrator",
        "cannotDeleteModerator": "An administrator or moderator cannot delete a moderator",
        "cannotReactToOwnPost": "You cannot react to your own post",
        "cannotCreateSolvedTag": "Cannot create solved tag",
        "errorDeletingDiscussion": "Error deleting discussion",
        "errorLoadingHistory": "Error loading history",
        "checkError": "Error during verification"
    },
    "network": {
        "error": "Network error"
    },
    "maintenance": {
        "title": "Maintenance mode",
        "message": "The forum is currently under maintenance. We will be back soon.",
        "info": {
            "title": "Information",
            "text": "We are currently performing maintenance work to improve your experience. The forum will be accessible again shortly."
        }
    },
    "general": {
        "errorOccurred": "An error occurred",
        "forbiddenShort": "Permission denied",
        "serverErrorShort": "Server error"
    },
    "report": {
        "alreadyReported": "You have already reported this content. A report is already pending review."
    },
    "modal_not_found": "Report modal not found",
    "notification": {
        "idRequired": "Notification ID required"
    },
    "draft": {
        "idRequired": "Draft ID required"
    },
    "integrity": {
        "title": "Integrity Error",
        "message": "The forum cannot start because the internal integrity check could not be validated.",
        "hookMissing": "The seo.meta.after hook is missing or has been removed from the active frontend layout.",
        "checkTemplate": "Check the views/layouts/frontend/header.php file of the active theme.",
        "contact": "Contact the forum administrator or restore the original theme."
    },
    "category": {
        "readOnly": "This category is read-only for you",
        "createRestricted": "You are not allowed to start discussions in this category"
    }
}
