Issue #3595533: Hide empty request sections, collapse inventory, and use end-user "Service" terminology
This MR ships the vault-page UX cleanup plus the end-user terminology change, as one change.
Vault page UX
- Omit the Access requests / Store requests sections when nothing is pending (no permanently-empty tables).
- Collapse the Active grants and Service access inventory sections by default, with a one-line description above each (grants = a single item; trust = a whole kind).
End-user terminology: Consumer -> Service
- Rename the end-user-facing "Consumer" to "Service" across the vault owner flow (consent, trust, grants, vault page).
- Admin and consumer-entity screens keep "Consumer" (the
consumerentity / consumers module). Code, comments and the@consumermessage placeholders are unchanged.
Translatable scope labels
- The Read/Write scope column was rendered from a raw class constant, so it could never be translated. It now goes through a
scopeLabel()helper using ascopestring context (FR: Lecture / Ecriture).
Translations
- Bundled French translations (
translations/fr.po) refreshed to match.
phpcs (Drupal, DrupalPractice), phpstan and the VaultOwnerUiTest functional test all pass locally.