I'm not sure if this will help, but I've done similar for translations between integrations. Basically, maintaining a custom record. Anytime a new field is created, provide the translation values in that custom record. This should be treated as a master table for all translations and can be accessed by SuiteScript, SuiteSQL, etc.
For Custom Lists, I've created functions so that our integration partner can query (REST WS) against the custom record to receive the translations in their system's language.
If you're looking for translations of any sort, I think they'd require a custom record. That's my approach.