From 0cfa0af156f519b23141cf8bfa82c5e2646bb2c4 Mon Sep 17 00:00:00 2001
From: Nicolas Loye <nicolas.loye@smile.fr>
Date: Thu, 15 Jan 2026 15:09:22 +0100
Subject: [PATCH 1/4] Added translation capabilities on the site-hero-details
 component.

---
 .../site-hero-details/site-hero-details.twig  | 64 +++++++++----------
 .../core.date_format.complete_date.yml        |  8 +++
 config/install/core.date_format.from_date.yml |  8 +++
 config/install/core.date_format.to_date.yml   |  8 +++
 4 files changed, 56 insertions(+), 32 deletions(-)
 create mode 100644 config/install/core.date_format.complete_date.yml
 create mode 100644 config/install/core.date_format.from_date.yml
 create mode 100644 config/install/core.date_format.to_date.yml

diff --git a/components/site-hero-details/site-hero-details.twig b/components/site-hero-details/site-hero-details.twig
index 349a072..f100b00 100644
--- a/components/site-hero-details/site-hero-details.twig
+++ b/components/site-hero-details/site-hero-details.twig
@@ -1,49 +1,49 @@
-    <div class="site-hero-details">
-      {% if current_event.field_dates.0 %}
-        <span class="site-hero-details__item">
+<div class="site-hero-details">
+  {% if current_event.field_dates.0 %}
+    <span class="site-hero-details__item">
           {% if dates|length > 1 %}
-          {{- current_event.field_dates.value|date('M d') -}}
-          -
-          {{- current_event.field_dates.end_value|date('d, Y') -}}
+            {{- current_event.field_dates.value|date('U')|format_date('from_date') -}}
+            -
+            {{- current_event.field_dates.end_value|date('U')|format_date('to_date') -}}
           {% else %}
-          {{- current_event.field_dates.value|date('M d, Y') -}}
+            {{- current_event.field_dates.value|date('U')|format_date('complete_date') -}}
           {% endif %}
         </span>
-      {% endif %}
-      {% if current_event.field_location_short.0 %}
-        <span class="site-hero-details__item">
+  {% endif %}
+  {% if current_event.field_location_short.0 %}
+    <span class="site-hero-details__item">
           {{ current_event.field_location_short.value }}
         </span>
-      {% endif %}
-      <button class="site-hero-details__button">
-        <div class="visually-hidden">Show event details</div>
-      </button>
-      {% if event_details.field_program|length > 0 %}
-      <div class="site-hero-details__flyout">
-        <div class="site-hero-details__flyout-general">
-          <div class="site-hero-details__flyout-general-date">
-            {% if dates|length > 1 %}
-            {{- current_event.field_dates.value|date('M d') -}}
+  {% endif %}
+  <button class="site-hero-details__button">
+    <div class="visually-hidden">Show event details</div>
+  </button>
+  {% if event_details.field_program|length > 0 %}
+    <div class="site-hero-details__flyout">
+      <div class="site-hero-details__flyout-general">
+        <div class="site-hero-details__flyout-general-date">
+          {% if dates|length > 1 %}
+            {{- current_event.field_dates.value|date('U')|format_date('from_date') -}}
             -
-            {{- current_event.field_dates.end_value|date('d, Y') -}}
-            {% else %}
-            {{- current_event.field_dates.value|date('M d, Y') -}}
-            {% endif %}
-          </div>
-          <div class="site-hero-details__flyout-general-location">{{ current_event.field_location_short.value }}</div>
+            {{- current_event.field_dates.end_value|date('U')|format_date('to_date') -}}
+          {% else %}
+            {{- current_event.field_dates.value|date('U')|format_date('complete_date') -}}
+          {% endif %}
         </div>
-        {% for key, item in event_details.field_program %}
+        <div class="site-hero-details__flyout-general-location">{{ current_event.field_location_short.value }}</div>
+      </div>
+      {% for key, item in event_details.field_program %}
         <div class="site-hero-details__flyout-day">
           {% if current_event_state in ['scheduled', 'underway', 'published'] %}<a href="{{ current_event_path }}/schedule/{{ dates[key] }}">{% endif %}
             <div class="site-hero-details__flyout-day-heading">
-              Day {{ numwords[key + 1] }}
+              {{ 'Day @day'|t({'@day': numwords[key + 1]}) }}
             </div>
             <div class="site-hero-details__flyout-day-info">
               {{ item.value }}
             </div>
-          {% if current_event_state in ['scheduled', 'underway', 'published'] %}</a>{% endif %}
+            {% if current_event_state in ['scheduled', 'underway', 'published'] %}</a>{% endif %}
         </div>
-        {% endfor %}
-      </div>
-      {% endif %}
+      {% endfor %}
     </div>
+  {% endif %}
+</div>
diff --git a/config/install/core.date_format.complete_date.yml b/config/install/core.date_format.complete_date.yml
new file mode 100644
index 0000000..60d4677
--- /dev/null
+++ b/config/install/core.date_format.complete_date.yml
@@ -0,0 +1,8 @@
+uuid: f62a8189-1923-4b39-aa04-0ea6dec37397
+langcode: en
+status: true
+dependencies: {  }
+id: complete_date
+label: 'Complete date'
+locked: false
+pattern: 'M d, Y'
diff --git a/config/install/core.date_format.from_date.yml b/config/install/core.date_format.from_date.yml
new file mode 100644
index 0000000..13fd600
--- /dev/null
+++ b/config/install/core.date_format.from_date.yml
@@ -0,0 +1,8 @@
+uuid: 47f757ea-9819-4330-b9ed-30f6bf4e084a
+langcode: en
+status: true
+dependencies: {  }
+id: from_date
+label: 'From date'
+locked: false
+pattern: 'M d'
diff --git a/config/install/core.date_format.to_date.yml b/config/install/core.date_format.to_date.yml
new file mode 100644
index 0000000..7df5e0e
--- /dev/null
+++ b/config/install/core.date_format.to_date.yml
@@ -0,0 +1,8 @@
+uuid: 991f3b5a-06bd-4c0e-8753-7019a3d6945a
+langcode: en
+status: true
+dependencies: {  }
+id: to_date
+label: 'To date'
+locked: false
+pattern: 'd, Y'
-- 
GitLab


From 4555abe9c0cc8ca537b48d698376a6bfc7c600cc Mon Sep 17 00:00:00 2001
From: Nicolas Loye <nicolas.loye@smile.fr>
Date: Thu, 15 Jan 2026 15:12:41 +0100
Subject: [PATCH 2/4] Fixed indentation issue.

---
 .../site-hero-details/site-hero-details.twig  | 56 +++++++++----------
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/components/site-hero-details/site-hero-details.twig b/components/site-hero-details/site-hero-details.twig
index f100b00..0a8d868 100644
--- a/components/site-hero-details/site-hero-details.twig
+++ b/components/site-hero-details/site-hero-details.twig
@@ -1,38 +1,38 @@
-<div class="site-hero-details">
-  {% if current_event.field_dates.0 %}
-    <span class="site-hero-details__item">
+    <div class="site-hero-details">
+      {% if current_event.field_dates.0 %}
+        <span class="site-hero-details__item">
           {% if dates|length > 1 %}
-            {{- current_event.field_dates.value|date('U')|format_date('from_date') -}}
-            -
-            {{- current_event.field_dates.end_value|date('U')|format_date('to_date') -}}
+          {{- current_event.field_dates.value|date('U')|format_date('from_date') -}}
+          -
+          {{- current_event.field_dates.end_value|date('U')|format_date('to_date') -}}
           {% else %}
-            {{- current_event.field_dates.value|date('U')|format_date('complete_date') -}}
+          {{- current_event.field_dates.value|date('U')|format_date('complete_date') -}}
           {% endif %}
         </span>
-  {% endif %}
-  {% if current_event.field_location_short.0 %}
-    <span class="site-hero-details__item">
+      {% endif %}
+      {% if current_event.field_location_short.0 %}
+        <span class="site-hero-details__item">
           {{ current_event.field_location_short.value }}
         </span>
-  {% endif %}
-  <button class="site-hero-details__button">
-    <div class="visually-hidden">Show event details</div>
-  </button>
-  {% if event_details.field_program|length > 0 %}
-    <div class="site-hero-details__flyout">
-      <div class="site-hero-details__flyout-general">
-        <div class="site-hero-details__flyout-general-date">
-          {% if dates|length > 1 %}
+      {% endif %}
+      <button class="site-hero-details__button">
+        <div class="visually-hidden">Show event details</div>
+      </button>
+      {% if event_details.field_program|length > 0 %}
+      <div class="site-hero-details__flyout">
+        <div class="site-hero-details__flyout-general">
+          <div class="site-hero-details__flyout-general-date">
+            {% if dates|length > 1 %}
             {{- current_event.field_dates.value|date('U')|format_date('from_date') -}}
             -
             {{- current_event.field_dates.end_value|date('U')|format_date('to_date') -}}
-          {% else %}
+            {% else %}
             {{- current_event.field_dates.value|date('U')|format_date('complete_date') -}}
-          {% endif %}
+            {% endif %}
+          </div>
+          <div class="site-hero-details__flyout-general-location">{{ current_event.field_location_short.value }}</div>
         </div>
-        <div class="site-hero-details__flyout-general-location">{{ current_event.field_location_short.value }}</div>
-      </div>
-      {% for key, item in event_details.field_program %}
+        {% for key, item in event_details.field_program %}
         <div class="site-hero-details__flyout-day">
           {% if current_event_state in ['scheduled', 'underway', 'published'] %}<a href="{{ current_event_path }}/schedule/{{ dates[key] }}">{% endif %}
             <div class="site-hero-details__flyout-day-heading">
@@ -41,9 +41,9 @@
             <div class="site-hero-details__flyout-day-info">
               {{ item.value }}
             </div>
-            {% if current_event_state in ['scheduled', 'underway', 'published'] %}</a>{% endif %}
+          {% if current_event_state in ['scheduled', 'underway', 'published'] %}</a>{% endif %}
         </div>
-      {% endfor %}
+        {% endfor %}
+      </div>
+      {% endif %}
     </div>
-  {% endif %}
-</div>
-- 
GitLab


From 22eb25f8363af2351fa17fae601733b083a9b5bb Mon Sep 17 00:00:00 2001
From: Nicolas Loye <nicolas.loye@smile.fr>
Date: Thu, 15 Jan 2026 20:27:25 +0100
Subject: [PATCH 3/4] Fixed translation in details and site-stats components.

---
 components/details/details.twig       | 7 +++++--
 components/site-stats/site-stats.twig | 4 ++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/components/details/details.twig b/components/details/details.twig
index ec46a0d..26f6fa9 100644
--- a/components/details/details.twig
+++ b/components/details/details.twig
@@ -14,7 +14,10 @@
         {% if not is_non_session %}
           <div class="session-teaser__desc-meta">
             <a href="{{ url }}">
-              <span>View {{ is_training ? 'Training' : 'Session' }} Page</span>
+              <span>{{ is_training
+                ? 'View Training Page'|t
+                : 'View Session Page'|t
+                }}</span>
               <span class="visually-hidden">for {{ label }}</span>
               {{ include(componentMetadata.path ~ '/images/arrow-right.svg') }}
             </a>
@@ -22,7 +25,7 @@
         {% endif %}
 
         {% if content.field_slides.0 %}
-          <a class="session-teaser__slides-link" href="{{- content.field_slides|render|striptags|trim -}}">View Slides</a>
+          <a class="session-teaser__slides-link" href="{{- content.field_slides|render|striptags|trim -}}">{{ 'View Slides'|t }}</a>
         {% endif %}
       </div>
     </div>
diff --git a/components/site-stats/site-stats.twig b/components/site-stats/site-stats.twig
index 99102de..e962761 100644
--- a/components/site-stats/site-stats.twig
+++ b/components/site-stats/site-stats.twig
@@ -3,9 +3,9 @@
   <div class="site-stats__inner container grid">
     <div class="site-stats__label">
     {% if event_details.field_event_name.0 %}
-      <h2 class="site-stats__title">Highlights from {{ event_details.field_event_name.value }}</h2>
+      <h2 class="site-stats__title">{{ 'Highlights from @stat'|t({'@stat': event_details.field_event_name.value}) }}</h2>
     {% else %}
-      <h2 class="site-stats__title">Example Highlights</h2>
+      <h2 class="site-stats__title">{{ 'Example Highlights'|t }}</h2>
     {% endif %}
     </div>
     <ul class="site-stats__list">
-- 
GitLab


From decb42be1c5f28935ed44a4e9c6cff3aee56fbcc Mon Sep 17 00:00:00 2001
From: Nicolas Loye <nicolas.loye@smile.fr>
Date: Wed, 21 Jan 2026 23:46:57 +0100
Subject: [PATCH 4/4] Added translation capabilities on the sponsor node type.

---
 templates/content/node--sponsor.html.twig | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/templates/content/node--sponsor.html.twig b/templates/content/node--sponsor.html.twig
index 9260fd3..34aa087 100644
--- a/templates/content/node--sponsor.html.twig
+++ b/templates/content/node--sponsor.html.twig
@@ -1,5 +1,18 @@
 
 {% set sponsor_level = node.field_sponsor_level.entity.name.value|replace({'Sponsors': ''})|lower %}
-<p>Thank you to {{ label -}}, who is a {{ sponsor_level }} sponsor of {{ event_details.field_event_name.value }} {{ event_details.field_dates.end_value|date('Y') }}!</p>
-<p>Visit {{ label }} at <a href="{{ node.field_website_address.uri }}">{{ node.field_website_address.uri }}</a>.</p>
+<p>
+  {{ 'Thank you to @label, who is a @level sponsor of @event @year!'|t({
+    '@label': label|render,
+    '@level': sponsor_level,
+    '@event': event_details.field_event_name.value,
+    '@year': event_details.field_dates.end_value|date('Y')
+  }) }}
+</p>
+
+<p>
+  {{ 'Visit @label at <a href="@url">@url</a>.'|t({
+    '@label': label|render,
+    '@url': node.field_website_address.uri
+  })|raw }}
+</p>
 {% include('@event_horizon/content/node--sponsor--teaser.html.twig') %}
-- 
GitLab

