We recently completed a 4-language Drupal 11 deployment for a Canadian government client. Here is the architecture and the decisions we would make differently the second time.
The setup
We used Drupal's built-in multilingual suite: Language, Content Translation, Configuration Translation, and Interface Translation modules. For URL strategy, we chose language prefixes (/en/, /fr/, /uk/, /ro/) over separate domains to simplify SSL management and Drupal configuration.
Translation workflow
The client's editors work in English first. Translations are handled by a third-party agency and imported via TMGMT (Translation Management Tool). We configured a custom workflow that sends content to the translation agency automatically when a node is published and flags translated content for review when the source changes.
What we'd do differently
We would implement string caching more aggressively from the start. On a cold cache, page generation time increased by 40% for translated content due to the number of translation lookups. A proper Redis cache layer brought this back to baseline.