Still not seeing the "translators simply enter the translation" easy localization system. Just some code you've made. You expect translators to enter code for every variation on a sentence that could be generated?
The "message catalog" A_Curious_Cat is talking about is something akin to a raw file. People already edit those, and they're not really "code" per-say.
It would also greatly surprise me if Dwarf Fortress generated sentenced according to English grammar, as that would be a pain to code compared to using a bunch of templates, that Tarn (being a grammatically superior human being) can manually "generate" in grammatically correct English. One such template would be "The %1$s %2$s the %3$s in the %4$s %5$s
[1]!" that, along with its siblings
"%1$s %2$s the %3$s in the %4$s %5$s!",
"The %1$s %2$s %3$s in the %4$s %5$s!" and
"%1$s %2$s %3$s in the %4$s %5$s!"
and their armed cousins
"The %1$s %2$s the %3$s in the %4$s with %6$s %7$s %5$s!",
"%1$s %2$s the %3$s in the %4$s with %6$s %7$s %5$s!",
"The %1$s %2$s %3$s in the %4$s with %6$s %7$s %5$s!" and
"%1$s %2$s %3$s in the %4$s with %6$s %7$s %5$s!"
compose a great percentage of all combat logs, and similarly many other composite sentences can be simplified into only a few templates, that can be translated freely.
Having written all that, I realize the problem lies in whatever words fill the templates, as some languages will be expecting versions of the word that simply isn't available, say an object/subject distinction for the noun "you", or for a raw creature, and this isn't really something you can go by by just rearranging words or changing what's in between them. Or another case form, or a definite form (instead of "the") etc. etc. I was going to bring up some examples of successful fan translations into English (i.e. Mother III), but English is a inflection-light language, which makes it a very friendly language to translate into using templates. Doing the reverse, translating from the syntax-heavy/inflection-light English into a more inflection-heavy language (say, German, Japanese is surprisingly inflection-light regarding the critical nouns and pronouns) ought to be way harder.
You might be right after all.[1] %5$ is whatever comes after the main attack, be it blocking, bones bruising or lightly tapping the target. As it is a subordinate clause, and afaik all languages have them, it can be dealt with separately (using similar templates) and then pasted into the final string.