Hi,
I Am trying to create schema inside AEM AS cloud there i am looking for multilingual text field for Allows authors to input content in multiple languages but i am not able to find multilingual text field component inside schema build form. Is there any alternative way to achieve this in AEM as cloud service. your suggestions/Answers will be very helpful to me. Thanks in advance.
Thanks.
Views
Replies
Total Likes
Hi @PrachiAt1 ,
I think this field is deprecated & no more available in documentation -> https://developer.adobe.com/experience-manager/reference-materials/6-5/granite-ui/api/jcr_root/libs/...
If you want to use multiple languages for certain field, I suggest use i18n & locales. find more here -> https://experienceleague.adobe.com/en/docs/experience-manager-65/content/implementing/developing/com...
Views
Replies
Total Likes
Hi @PrachiAt1 ,
AEM as a Cloud Service, considering that granite/ui/components/coral/foundation/form/multilingualfield is deprecated and no longer available in AEMaaCS.
granite/ui/components/coral/foundation/form/multilingualfield
Used to provide multilingual input in Classic UI
Deprecated & unsupported in AEM as a Cloud Service or Touch UI Forms.
Try below options:
Use language copy + i18n pattern:
Create a generic metadata field (e.g., dc:title) and rely on language folders + AEM translation workflows to manage values per locale.
Option 1: Use i18n Support with Metadata Schema Inheritance
Steps:
Create a regular metadata text field
Inside /conf/<your-project>/settings/dam/metadata, add a field like:
<dc:title
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
fieldLabel="Title"
name="./dc:title"
required="false"
i18n="true"/>
Setting i18n="true" tells AEM to use language-specific translations if available.
2. Organize assets by language folder structure
For example:
/content/dam/en/
/content/dam/fr/
/content/dam/de/
Each language folder can hold its own metadata values for the same asset (via language copies or translations).
Use AEM’s Translation Projects
You can trigger a translation job for asset metadata to generate locale-specific content via:
Manual editing
Machine translation integration
Human translation providers
Option 2: Custom Multilingual Input via Composite Field (Advanced)
If you must show multiple language input fields in one form:
Build a composite field like:
<multilingualTitle
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
fieldLabel="Multilingual Title">
<field
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/fieldset">
<en
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
fieldLabel="English"
name="./dc:title@en"/>
<fr
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
fieldLabel="French"
name="./dc:title@fr"/>
<de
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
fieldLabel="German"
name="./dc:title@de"/>
</field>
</multilingualTitle>
You manually define language fields, then access values with dc:title@fr, dc:title@en, etc.
Regards,
Amit
Views
Replies
Total Likes
Hi @AmitVishwakarma Thanks for reply . I tried second option inside schema but when i am using this i am getting schema filed like this
.
There language specific text fields are not visible .only add button works. Your help will be appreciated.
Thanks.
Views
Replies
Total Likes
Hi @PrachiAt1 ,
The granite/ui/components/coral/foundation/form/multilingualfield component you're looking for has been deprecated in AEM as a Cloud Service (AEMaaCS) and is no longer available in the schema builder form.
Below are some approaches to achieve multilingual content input in AEM Cloud Service:
1. Language Copies with i18n Support (Recommended):- This leverages AEM's built-in translation framework, works seamlessly with language copies and translation workflows and no custom development required.
<field jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
fieldLabel="Title"
name="./dc:title"
i18n="true"/>
2. Custom Composite Field with Language Variants :- Works well for fixed sets of languages
<multilingualTitle jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
fieldLabel="Multilingual Title">
<field jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/fieldset">
<en jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
fieldLabel="English"
name="./dc:title@en"/>
<fr jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
fieldLabel="French"
name="./dc:title@fr"/>
</field>
</multilingualTitle>
3. Context-Aware Configuration Approach:-
For more advanced scenarios where you need runtime-editable translations without code deployments: Create context-aware configurations for each locale, store translations as configuration properties and reference these in your components instead of i18n dictionaries.
Views
Replies
Total Likes
Views
Likes
Replies