<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AD_Multilingual_aspect</id>
	<title>ICT:D Multilingual aspect - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AD_Multilingual_aspect"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:D_Multilingual_aspect&amp;action=history"/>
	<updated>2026-04-17T16:23:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mwiki.costasano.club/index.php?title=ICT:D_Multilingual_aspect&amp;diff=1600&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= Drupal Multilingual Architecture: What Appears, What Is Possible, and How Translation Works =  This document summarizes the changes that appear after enabling multilingual support in Drupal, and explains how both *foreground* (content) and *background* (configuration/UI) translation works. It also identifies the source of new interface clutter and what can be simplified later.  == 1. What Appears After Enabling Multilingual == Enabling multilingual introduces several n...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:D_Multilingual_aspect&amp;diff=1600&amp;oldid=prev"/>
		<updated>2026-04-03T09:48:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Drupal Multilingual Architecture: What Appears, What Is Possible, and How Translation Works =  This document summarizes the changes that appear after enabling multilingual support in Drupal, and explains how both *foreground* (content) and *background* (configuration/UI) translation works. It also identifies the source of new interface clutter and what can be simplified later.  == 1. What Appears After Enabling Multilingual == Enabling multilingual introduces several n...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Drupal Multilingual Architecture: What Appears, What Is Possible, and How Translation Works =&lt;br /&gt;
&lt;br /&gt;
This document summarizes the changes that appear after enabling multilingual&lt;br /&gt;
support in Drupal, and explains how both *foreground* (content) and *background*&lt;br /&gt;
(configuration/UI) translation works. It also identifies the source of new&lt;br /&gt;
interface clutter and what can be simplified later.&lt;br /&gt;
&lt;br /&gt;
== 1. What Appears After Enabling Multilingual ==&lt;br /&gt;
Enabling multilingual introduces several new subsystems:&lt;br /&gt;
&lt;br /&gt;
=== 1.1 Language Negotiation ===&lt;br /&gt;
Drupal determines the language of each page using:&lt;br /&gt;
* URL prefix (e.g., /en, /nl)&lt;br /&gt;
* User preference&lt;br /&gt;
* Browser preference&lt;br /&gt;
* Session&lt;br /&gt;
* Default site language&lt;br /&gt;
&lt;br /&gt;
This affects how content is displayed and which translations are loaded.&lt;br /&gt;
&lt;br /&gt;
=== 1.2 Translatable Fields ===&lt;br /&gt;
Every field can be marked as:&lt;br /&gt;
* Translatable&lt;br /&gt;
* Not translatable&lt;br /&gt;
&lt;br /&gt;
If a field is translatable, Drupal creates a separate value per language.&lt;br /&gt;
&lt;br /&gt;
This causes:&lt;br /&gt;
* Additional language selectors&lt;br /&gt;
* Additional translation tabs&lt;br /&gt;
* Duplicate fieldsets in the edit form&lt;br /&gt;
&lt;br /&gt;
=== 1.3 Translation Tabs on Nodes ===&lt;br /&gt;
Each node now shows:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Edit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Translate&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Revisions&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Language-specific edit pages (e.g., “Edit (Dutch)”)&lt;br /&gt;
&lt;br /&gt;
This is normal but creates visual clutter.&lt;br /&gt;
&lt;br /&gt;
=== 1.4 Interface Translation (UI Strings) ===&lt;br /&gt;
Drupal adds:&lt;br /&gt;
* A new “Translate Interface” screen&lt;br /&gt;
* A new “Languages” configuration page&lt;br /&gt;
* Automatic import of .po files for core and modules&lt;br /&gt;
&lt;br /&gt;
This handles translation of system text, labels, and UI strings.&lt;br /&gt;
&lt;br /&gt;
== 2. What Is Possible in Multilingual Drupal ==&lt;br /&gt;
Drupal supports two major translation domains:&lt;br /&gt;
&lt;br /&gt;
=== 2.1 Foreground Translation (Content Translation) ===&lt;br /&gt;
This includes:&lt;br /&gt;
* Node titles&lt;br /&gt;
* Body text&lt;br /&gt;
* Field values&lt;br /&gt;
* Media fields&lt;br /&gt;
* Taxonomy terms (if enabled)&lt;br /&gt;
* Custom entities (if enabled)&lt;br /&gt;
&lt;br /&gt;
Each language gets its own version of the content.&lt;br /&gt;
&lt;br /&gt;
=== 2.2 Background Translation (Configuration Translation) ===&lt;br /&gt;
This includes:&lt;br /&gt;
* Field labels&lt;br /&gt;
* View labels&lt;br /&gt;
* Menu items&lt;br /&gt;
* Block titles&lt;br /&gt;
* Interface strings&lt;br /&gt;
* System messages&lt;br /&gt;
&lt;br /&gt;
These translations are stored in configuration, not in content.&lt;br /&gt;
&lt;br /&gt;
=== 2.3 Mixed Translation (Shared vs. Per-Language Fields) ===&lt;br /&gt;
Fields can be configured as:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Translatable&amp;#039;&amp;#039;&amp;#039; → separate value per language&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Non-translatable&amp;#039;&amp;#039;&amp;#039; → shared across all languages&lt;br /&gt;
&lt;br /&gt;
Choosing correctly reduces clutter.&lt;br /&gt;
&lt;br /&gt;
== 3. How Foreground (Content) Translation Works ==&lt;br /&gt;
Content translation creates a separate “translation set” for each node.&lt;br /&gt;
&lt;br /&gt;
=== 3.1 Workflow ===&lt;br /&gt;
1. Create the node in the default language.&lt;br /&gt;
2. Click “Translate”.&lt;br /&gt;
3. Add a translation (e.g., Dutch).&lt;br /&gt;
4. Only translatable fields appear for translation.&lt;br /&gt;
5. Non-translatable fields are shared.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Storage Model ===&lt;br /&gt;
Each translation is stored as:&lt;br /&gt;
* A separate revision&lt;br /&gt;
* A separate language entry&lt;br /&gt;
* Linked to the same node ID&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Editor Experience ===&lt;br /&gt;
Editors see:&lt;br /&gt;
* A language selector&lt;br /&gt;
* A “Translate” tab&lt;br /&gt;
* Additional vertical tabs for language settings&lt;br /&gt;
&lt;br /&gt;
== 4. How Background (Configuration/UI) Translation Works ==&lt;br /&gt;
Configuration translation handles:&lt;br /&gt;
* Field labels&lt;br /&gt;
* View labels&lt;br /&gt;
* Block titles&lt;br /&gt;
* Menu items&lt;br /&gt;
* Interface strings&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Where It Happens ===&lt;br /&gt;
Go to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration → Regional and Language → Configuration translation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4.2 How It Works ===&lt;br /&gt;
Drupal extracts all translatable strings from:&lt;br /&gt;
* YAML configuration&lt;br /&gt;
* Module-provided strings&lt;br /&gt;
* Theme templates&lt;br /&gt;
&lt;br /&gt;
You translate them once; they apply everywhere.&lt;br /&gt;
&lt;br /&gt;
== 5. Why the Edit Form Now Looks Cluttered ==&lt;br /&gt;
Multilingual mode adds:&lt;br /&gt;
* A “Language” vertical tab&lt;br /&gt;
* A “Translate” tab&lt;br /&gt;
* A language selector on the edit form&lt;br /&gt;
* Duplicate fieldsets for translatable fields&lt;br /&gt;
* Additional metadata fields per language&lt;br /&gt;
* Extra tabs for each translation&lt;br /&gt;
&lt;br /&gt;
This is normal but overwhelming.&lt;br /&gt;
&lt;br /&gt;
== 6. What Can Be Simplified Later ==&lt;br /&gt;
After understanding the behavior, you can safely:&lt;br /&gt;
&lt;br /&gt;
=== 6.1 Hide Unneeded Tabs ===&lt;br /&gt;
Using:&lt;br /&gt;
* Form modes&lt;br /&gt;
* Permissions&lt;br /&gt;
* hook_form_alter()&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* Hide “Authoring information”&lt;br /&gt;
* Hide “Promotion options”&lt;br /&gt;
* Hide “URL alias”&lt;br /&gt;
* Hide “Menu settings”&lt;br /&gt;
&lt;br /&gt;
=== 6.2 Make Only a Few Fields Translatable ===&lt;br /&gt;
This reduces 70% of the clutter.&lt;br /&gt;
&lt;br /&gt;
Typical fields to translate:&lt;br /&gt;
* Title&lt;br /&gt;
* Body&lt;br /&gt;
* Summary&lt;br /&gt;
* A few descriptive fields&lt;br /&gt;
&lt;br /&gt;
Fields that usually stay shared:&lt;br /&gt;
* Images&lt;br /&gt;
* Dates&lt;br /&gt;
* Geolocation&lt;br /&gt;
* Internal metadata&lt;br /&gt;
&lt;br /&gt;
=== 6.3 Simplify the Translation Workflow ===&lt;br /&gt;
Options:&lt;br /&gt;
* Remove the “Translate” tab&lt;br /&gt;
* Use inline translation only&lt;br /&gt;
* Limit languages per content type&lt;br /&gt;
&lt;br /&gt;
== 7. Summary ==&lt;br /&gt;
Enabling multilingual introduces:&lt;br /&gt;
* New tabs&lt;br /&gt;
* New field behaviors&lt;br /&gt;
* New translation workflows&lt;br /&gt;
* More UI elements&lt;br /&gt;
&lt;br /&gt;
This is expected. Once the behavior is understood, the interface can be&lt;br /&gt;
cleaned up significantly by:&lt;br /&gt;
* Reducing translatable fields&lt;br /&gt;
* Hiding unnecessary tabs&lt;br /&gt;
* Simplifying the translation workflow&lt;br /&gt;
&lt;br /&gt;
This results in a clean, historian-friendly interface with minimal clutter.&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>