Spam banner: inset card, red title, plain-language reasons, translated

The banner sits inside the message body's 16px gutter with room below,
"Looks like spam!" is red, and the rspamd symbols are replaced by up to
three human-readable reasons (neutral symbols are hidden). All strings go
through ctx.t with English and Polish catalog entries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-25 15:20:39 +01:00
co-authored by Claude Opus 5.5
parent b122276958
commit d8e6cca66b
3 changed files with 81 additions and 8 deletions
+19
View File
@@ -902,4 +902,23 @@ export const pl: Catalog = {
"mail.translatedFrom": "Przetłumaczono z języka: {language}",
"mail.translatedFromMany": "Przetłumaczono z języków: {languages}",
"mail.translateFailed": "Nie udało się przetłumaczyć tej wiadomości. Usługa tłumaczenia może być zajęta lub niedostępna.",
"antispam.looksLikeSpam": "Wygląda na spam!",
"antispam.score": "wynik {score}",
"antispam.moveToSpam": "Przenieś do spamu",
"antispam.notSpam": "To nie spam",
"antispam.trustSender": "Zawsze ufaj nadawcy",
"antispam.why.bayes": "przypomina wiadomości oznaczone przez Ciebie jako spam",
"antispam.why.fuzzy": "pasuje do znanego spamu",
"antispam.why.reputation": "nadawca ma złą reputację",
"antispam.why.blocklist": "serwer nadawcy jest na liście spamerów",
"antispam.why.badLinks": "zawiera linki do stron ze spamem lub phishingiem",
"antispam.why.phishing": "tekst linku ukrywa jego prawdziwy adres",
"antispam.why.authFail": "nadawca nie przeszedł weryfikacji autentyczności",
"antispam.why.forged": "adres nadawcy wygląda na podrobiony",
"antispam.why.replyTo": "odpowiedzi trafiłyby na inny adres",
"antispam.why.headers": "brakuje standardowych nagłówków",
"antispam.why.hiddenText": "zawiera ukryty tekst",
"antispam.why.suspiciousServer": "serwer nadawcy wygląda podejrzanie",
"antispam.why.shouting": "temat napisany wielkimi literami",
"antispam.why.date": "data wiadomości jest nieprawdopodobna",
};