ParentFull threaddeclension·Yep, gettext has been working well for decades (and ported to many languages), though the syntax is a little clunky I find.View on HN