Skip to content

Multilingual & Translation

I need to... Guide Summary
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