Localisation
Every line Venus prints comes from messages.yml, and every line supports MiniMessage plus the plugin's own placeholders.
Where the text lives
Messages are keyed, not hard-coded. The shipped English file is the reference: copy a key, translate the value, reload. Anything you leave out keeps its English text, so a partial translation is a valid one.
Formatting
Values are parsed as MiniMessage, so colours, gradients, hover and click events all work. The legacy ampersand codes are still converted for compatibility, which makes migrating an existing translation painless. The shipped file shows the formatting style the rest of the plugin uses — copying that style keeps your translations consistent with the alerts.
Placeholders
The values you translate can contain the plugin's placeholders; they are substituted at send time:
%player%— the player the message is about.%check_name%— the check that produced the line.%vl%— violation level, or the violation count in punishment actions.%verbose%— the check's own detail string.%duration%— the escalating ban length for the current violation count.%prefix%— the prefix defined at the top of the file.
Stealth mode
Venus can replace the rendered alert text staff see with a generic line — no hover text, no verbose output, no check name. It does not change messages.yml: the templates stay as they are, they are simply not the text staff see for detections. Logs, history and the webhook keep the real names.