Internationalization

Configure the global adapter once and every Hub UI library will react to language changes.

1 · Global setup

Reserve HUBUI to prevent collisions with your application keys.

provideHubTranslationAdapter(() => ({
  dictionary: inject(TranslocoService).selectTranslation('HUBUI'),
  namespace: 'HUBUI'
}))

2 · Dictionary by library

{
  "HUBUI": {
    "SIGNATURE": { "ACTION": { "CLEAR": "Clear signature" } },
    "PAGINABLE": { "SEARCH": "…" },
    "STEPPER": { "CONTINUE": "…" },
    "CALENDAR": { "today": "…" }
  }
}

Current branches: HUBUI.SIGNATURE.*, HUBUI.PAGINABLE.*, HUBUI.STEPPER.* and HUBUI.CALENDAR.*.

3 · Deliberate customization

A reactive override replaces one key while retaining the shared dictionary.

provideHubTranslationAdapter(() => ({
  dictionary: transloco.selectTranslation('HUBUI'),
  namespace: 'HUBUI',
  overrides: {
    SIGNATURE: { ACTION: { UNDO: transloco.selectTranslate('CONTRACTS.UNDO') } }
  }
}))

Priority and compatibility

Priority is: explicit override → HUBUI.<library>.* → built-in fallback. Paginable, Stepper and Calendar retain legacy keys during migration.