Yes, naming is hard, but, to quote the previous commenter "this can be worked around" - you can `slug` any string if you want to.
We prefer to think of the ID as the base of the social contract between the dev and the localizer. This enables a lot of fine tuned control over string invalidation.