No, it's not about translations (Source: I'm a NetHack fork developer who's somewhat involved in this DevTeam revival thing).
Translations of games like NetHack are inherently hard. You can't use the standard approaches as the program assembles the sentences out of several parts and usually, e.g. with gettext, you translate whole sentences. But here, we have dynamic sentences where this approach can't work.
For my German translation NetHack-De, I used internally latin-1 (so I could continue to use the char* strings) and for the output transformed the text into ASCII, latin-1, or utf-8 (depending on configuration).