Attached are three files (not very elaborate code, just meant as proof of concept): i18n.lua, a "library" that translates messages, and i18n.de, i18n.fr two sample message catalogs for german and french.
A side note. The two small translations in the French file are, let's say, in a somewhat innovative language...
return {
['hello, %s, %d'] = { 'on te donne %d, %s', 2, 1 },
today = "Au jour d'hui"
}
"Aujourd'hui" is spelled in a single word. And I have never header the _expression_ "on te donne" (we give you) for hello: classic translations would be "bonjour" !