AquariumAquarium

Translation System

How Aquarium's real-time translation works.

Translation System

Aquarium uses DeepL's advanced neural machine translation to provide high-quality, natural-sounding translations in real-time.

How It Works

Message Flow

  1. User posts a message in a language channel (e.g., #english)
  2. Aquarium processes the message and identifies the source language
  3. DeepL translates the message to all other enabled languages
  4. Webhooks deliver translations to the corresponding channels

Webhook Delivery

Translations appear as natural messages because Aquarium uses webhooks:

  • Uses the original author's username
  • Uses the original author's avatar
  • Includes an indicator showing the source language

This makes conversations flow naturally across language barriers.

Supported Languages

LanguageCodeDeepL Quality
EnglishENExcellent
SpanishESExcellent
Portuguese (BR)PT-BRExcellent
FrenchFRExcellent
GermanDEExcellent
ItalianITExcellent
JapaneseJAVery Good
KoreanKOVery Good
Chinese (Simplified)ZHVery Good

Character Counting

How Characters Are Counted

Characters are counted from the source message multiplied by the number of target languages.

Example:

  • Message: "Hello world" (11 characters)
  • Target languages: 8 (all except source)
  • Characters used: 11 × 8 = 88 characters

Monthly Limits

TierServer LimitPer-User Limit
Free50,00010,000
Pro500,000100,000
Premium2,000,000500,000

Users get the higher of their personal subscription limit or the server's limit. If you have Pro personal and the server is Free, you still get 100,000 characters.

Translation Quality

What DeepL Handles Well

  • Natural language - Conversational text translates excellently
  • Idioms - Many common expressions are translated contextually
  • Formality - Appropriate formal/informal register for each language
  • Grammar - Proper sentence structure in target language

Limitations

  • Slang - Very new or regional slang may not translate well
  • Made-up words - Game terms, memes, etc. may be transliterated
  • Code/technical - Programming code should not be posted in immersion channels
  • Extremely long messages - Very long messages may hit character limits

Message Formatting

What's Preserved

  • Basic text formatting (bold, italic, underline)
  • Line breaks
  • Standard emoji
  • Mentions (@user, @role, #channel)

What May Change

  • Custom emoji (kept but may not translate descriptions)
  • Complex markdown (tables, etc.)
  • Embedded links (URLs preserved, link text translated)

Rate Limiting

Per-User Limits

When a user hits their limit:

  1. Their message is deleted
  2. They receive a DM explaining the limit
  3. They must wait until the monthly reset

Per-Server Limits

When the server hits its limit:

  1. Messages are deleted
  2. Users are notified via DM
  3. Server admins should consider upgrading

Usage Warnings

Users receive a warning when they reach 80% of their limit, giving them time to adjust their usage.

Troubleshooting

Messages Not Translating

  1. User not verified - Must click verification link first
  2. Language disabled - Check that source/target languages are enabled
  3. Limit reached - Check usage with /usage
  4. Bot missing permissions - Ensure bot has required permissions

Poor Translation Quality

  1. Check the source - Is the original message clear?
  2. Avoid slang - Use more standard language
  3. Break up long messages - Shorter sentences translate better
  4. Report issues - Let us know about consistent problems

Webhook Issues

If translations aren't appearing properly:

  1. Go to dashboard → Channels
  2. Find the affected channel
  3. Click "Recreate Webhook"

On this page