People see a translation, and the stored value stays the identifier in the file

Translate the label, keep the id

People see a translation, and the stored value stays the identifier in the file.

app billing "Billing" {}

entity Invoice "Invoice" plural "Invoices" {
  status: enum draft, sent, paid label "Status"

  workflow {
    initial Draft
    states Draft, Sent, Paid
    terminal Paid
    aliases {
      Sent "Invoice sent"
      Paid "Paid in full"
    }

    send: Draft -> Sent
    pay:  Sent -> Paid
  }
}

A workflow state or an enum option is the stored id, so translating that id would split one record into two.