| Understand the multilingual architecture |
Multilingual Overview |
When building a site that needs to serve content in multiple languages — either content translation (nodes, terms, media), interface translation (UI strings, labels), or config translation (views, menus, site settings). |
| Add languages and configure negotiation |
Language Setup, Language Negotiation |
When initializing a multilingual site — adding languages, setting default language, configuring language fallback. |
| Enable content translation for entities |
Content Translation Setup |
When enabling entity translation for nodes, taxonomy terms, media, blocks, menu links, or custom entities. |
| Translate nodes, terms, or media |
Translating Content Entities |
When creating or managing translations for nodes, taxonomy terms, media, blocks, menu links. |
| Control which fields are translatable |
Field Translatability |
When configuring which fields should have separate values per language vs shared values across all translations. |
| Handle translated revisions |
Translation & Revisions |
When working with revisionable entities (nodes, media, custom entities) that support both translation and revision tracking. |
| Translate config (views, menus, field labels) |
Config Translation |
When translating configuration entities and simple config: views, menus, field labels, site name, content type labels, block labels. |
| Import/export interface translations (.po files) |
Interface Translation |
When translating UI strings, system messages, form labels, module-provided text — anything wrapped in t() or TranslatableMarkup. |
| Use t() and TranslatableMarkup correctly |
TranslatableMarkup & t() |
When translating UI strings in PHP code — form labels, system messages, error messages, navigation text. |
| Add translations programmatically |
Programmatic Entity Translation |
When creating or managing entity translations in code — migrations, import scripts, automated workflows, REST API endpoints. |
| Translate text in Twig templates |
Twig Translation |
When translating text in Twig templates — theme templates, custom template files, template suggestions. |
| Configure URL prefixes or domains |
URL & Language Routing |
When configuring multilingual URLs — path prefixes, domains, path aliases, hreflang tags for SEO. |
| Query entities by language |
Language-Aware Queries |
When querying entities by language — Views filters, entity queries, getting content in specific language. |
| Implement translation workflows |
Translation Workflows |
When implementing translation processes beyond basic UI — professional translation services, translation jobs, external translators, automated workflows. |
| Make my custom module translatable |
Translating Custom Modules |
When developing custom modules that need to support multilingual sites — providing translatable strings, config, and .po files. |
| Know about Drupal 11 deprecations |
Drupal 11 Changes |
When upgrading to Drupal 11 or maintaining modules compatible with Drupal 11.x. |
| Follow best practices |
Best Practices, Anti-Patterns |
When planning multilingual architecture, deployment workflows, or optimizing translation management. |
| Understand security and performance |
Security, Performance & Caching |
When optimizing multilingual site performance, securing translation access, or debugging cache issues. |
| Find core files and services |
Code Reference Map |
|
| Check source references and maintenance notes |
Sources & Maintenance |
|