Skip to content

Enforce verb-level terminology rules in check-terminology-i18n #8310

Description

@ironAiken2

Background

FR-3331 added a verb-edit entry to terminology.json (verbs[].avoid: Modify, Update). However, scripts/check-terminology-i18n.mjs builds its rules exclusively from the top-level avoid[] array and never reads verbs, so verb-level avoid terms are not checked (raised by Copilot review on PR #8303).

Blanket top-level avoid[] rows for Modify/Update are not an option: those words legitimately remain in non-action contexts (success messages, "Last Updated" column labels, webui.menu.Update password-change label, rbac.operations.UPDATE / storageHost.permission.Modify backend enum labels), so a naive rule would produce constant warn noise.

What to do

  • Extend the checker to read verbs[].avoid with contextual matching — apply verb rules only to action-label-like values (short values / title-cased action phrases), or support per-rule allowlists.
  • Allowlist the intentionally-kept keys above.
  • Add tests covering: flagged (e.g., a new "Modify X" modal title) vs allowed (success message containing "updated").
  • Keep the checker warn-only per TERMINOLOGY.md governance.

JIRA Issue: FR-3336

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions