Translating Credential Schemas
When creating a credential schema, you can provide translations for the schema name, schema description, and individual claim names. The Core publishes these translations in the issuer metadata, allowing wallets to display credentials in the holder's preferred language.
Default lanugage
The Core has a default language, which is en unless overridden in the
configuration:
defaultLanguage: "de"
The key of each claim is automatically mapped to the default language.
To override this, include an explicit translation for the default language.
Add translations to a schema
Pass a translations object at the root level to provide localized versions
of the schema name and description:
{
"name": "Simple Schema",
"translations": {
"name": {
"en": "Simple Schema",
"de": "Einfaches Schema",
},
"description": {
"en": "A simple test schema",
"de": "Ein einfaches Testschema",
}
},
...
}
The name field at the root level is required regardless of translations
provided.
Add translations to claims
Pass a translations object on individual claims to provide localized
versions of the claim name:
{
"claims": [
{
"key": "First Name",
"datatype": "STRING",
"required": true,
"translations": {
"name": {
"en": "First Name",
"de": "Vorname"
}
}
},
{
"key": "Last Name",
"datatype": "STRING",
"required": true,
"translations": {
"name": {
"en": "Last Name",
"de": "Nachname"
}
}
}
],
...
}
Complete example
A schema creation request with translations at both the schema and claim level:
{
"name": "Simple Schema",
"formats": [
{
"format": "SD_JWT_VC"
}
],
"claims": [
{
"key": "First Name",
"datatype": "STRING",
"required": true,
"translations": {
"name": {
"en": "First Name",
"de": "Vorname"
}
}
},
{
"key": "Last Name",
"datatype": "STRING",
"required": true,
"translations": {
"name": {
"en": "Last Name",
"de": "Nachname"
}
}
}
],
"layoutType": "CARD",
"translations": {
"name": {
"en": "Simple Schema",
"de": "Einfaches Schema"
},
"description": {
"en": "A simple test schema",
"de": "Ein einfaches Testschema"
}
}
}
Language keys
The system does not validate language keys; any freeform string up to 256 characters is accepted. Refer to RFC 5646 for the OpenID4VCI mandated standard.