w3c / w3c/vc-render-method

Support for Multi-language Render Templates

Open
#26 17 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

class 4 i18n-tracker
Dominant language
HTML
Stars
9
Forks
8
Avg merge
14d 42m
Merged PRs (30d)
2

Description

Context / Problem
In our wallet implementation, we encountered challenges around multi-language support for render templates. The current spec is not explicit about how to associate a render template with a specific language.

We implemented a design where multiple renderMethod objects are configured (one per language). The wallet then provides a UI for users to switch between languages. While this works, it’s unclear if this approach aligns with the spec.

A key UX challenge is how wallets should determine which template to show first. Ideally, the wallet should display the user’s preferred language (based on device or wallet settings) by default, and then allow switching to alternate languages. The current spec doesn’t define how templates are linked to a language, making this prioritization difficult.

Example
We tested this with a credential (farmer VC) that has three languages. Each language uses a separate SVG render template, and the wallet slides between them.

Questions / Proposal

Should the spec explicitly support a way to indicate the language of each render template?

Would it make sense to add a contentLanguage property (mirroring the Content-Language HTTP header) to the template object, so wallets can:

  • Automatically detect the language of a template

  • Prioritize showing the user’s preferred language first

  • Provide fallbacks when the preferred language is not available

Are there best practices for ordering or fallback behavior in multi-language scenarios?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the specification's renderMethod and render template definitions, including the multi-language farmer VC example described here. The issue is complete only when the spec settles how templates identify languages and defines preferred-language ordering and fallback behavior.

Written by the indexing model from the issue text.

Assessment

Domain
documentation, internationalization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.