en_IE.UTF-8 English (Ireland) locale has all the things you’re asking for:
- Measurements metric — yes
- 24-hour time format — yes
- Work week starts on Monday — yes
- Numeric date in (something at least resembling) ISO format, yyyy-mm-dd
— no, it this locale it’s
dd/mm/yy. But that seems close enough to what you’re used to
- Informal date is dd/mm, not the other way around — yes
- A4 paper size — yes
- Euro currency — yes
- System messages in English — yes
I’m actually using this locale, even though I’m in Amsterdam, as there is no English (Paneuropean) locale that I know of.
BTW. don’t make mistake of selecting
ga_IE.UTF-8 Irish (Ireland) locale, as it’s Irish Gaelic language.
(a) An entity known as the Unicode Common Locale Data Repository seems to be the place that handles locales. The glibc wiki indicates that they will follow CLDR.
(b) They have a locale known as “en_150” which seems to be intended to do what you want. I’m not sure glibc has implemented it yet. There’s also a similar locale known as en_BE which is identical to en_150 except that it has regional coverage of BE rather than worldwide.
The en_DK locale doesn’t really have anything to do with Denmark except for its name. It was originally created by someone who wanted the same thing as requested here – a reasonable set of defaults for an English speaker in Europe. The name “en_DK” is sort of a joke – all locale names at that time were composed of a language code and a country code (there were no continent codes or anything else in the second position), and for whatever reason Denmark was chosen as the placeholder country code. (… and has probably caused more than one mystified person since then to research the proportion of people in Denmark whose first language is English. 🙂 )