HomeAEM Fundamentals › i18n & localisation

i18n & localisation

Purpose: Translate component UI strings and structure multilingual content correctly.

Who this page is for

AudienceWhy it matters to you
Frontend engineersString translation in HTL
All engineersLanguage tree conventions

Two different problems

ProblemMechanism
Static UI strings ("Read more", "per month")i18n dictionaries + HTL i18n
Content in multiple languagesLanguage copies / translation projects

UI string translation

Dictionaries are repo nodes (sling:MessageEntry) under e.g. /apps/phi-academy/i18n/<lang>. In HTL:

<span>${'per month' @ i18n}</span>
<span>${'benefits.covered.count' @ i18n, format=[model.coveredCount]}</span>

The active language comes from the page/request locale. Keep keys semantic (benefits.covered.count), not the English sentence, once strings grow beyond trivial.

Content language structure

/content/phi/en/plans/gold-hospital      ← language root "en"
/content/phi/de/plans/gold-hospital     ← language copy

Developer notes

Quick navigation