You're "supposed to" use string resources. There's support for having a different resource pack per languages. It's not exactly frictionless, though.
(With the new "source generator" work it should be relatively straightforward to implement a gettext-style source scan if that's what you want.)