-
Notifications
You must be signed in to change notification settings - Fork 171
Description
Label: GSoC'26 Problem Statement Proposal
Problem Statement
The Template Engine (@accordproject/template-engine) has no integration with Concerto Vocabulary (@accordproject/concerto-vocabulary). Templates must be duplicated per language, and property labels are hardcoded — {{vin}} always renders as "vin", never as localized terms like "Vehicle Identification Number" or "Numéro d'identification du véhicule".
Related Issue: accordproject/template-engine#10
Description
The VocabularyManager API already provides locale-specific term resolution via YAML vocabulary files, but the Template Engine ignores it. This project wires them together so templates can render localized labels based on a locale generation option, enabling a single template to produce output in multiple languages with proper fallback chains (fr-CA → fr → en → property name).
Expected Outcomes
- Extended
GenerationOptionswithlocaleandvocabularyManagerparameters - Term resolution integrated into
TemplateMarkInterpreterrendering pipeline - Locale fallback chain implementation
- Unit and integration tests with multi-locale fixtures (en/fr/es)
- API documentation and usage examples
Skills Required
- Required: TypeScript, understanding of AST/tree traversal, Jest testing
- Preferred: Familiarity with i18n concepts (BCP-47 locales), template engines
Possible Mentors
TBD
Expected Size
Medium (~175 hours)
Expected Difficulty
Medium — The APIs exist on both sides; the work is wiring them together and handling edge cases.