Best practise to use translate in admin panel
You could try if the Translate plugin for Craft CMS could help you out. You can use this plugin as a base for you own and save the values in a custom table and use the registerTranslateSources hook to return the values from your table

That would be some kind of mix between options 1 and option 2. Both are totally possible. I created such a plugin for my company too. Collect all uses of |t and check if there is a language fallback in the plugin translation file or if there is one in the default Craft translation file. If not you can mark the word as "untranslated" if yes save the record as translated. In your cp you'll display all your records with the hint if they are translated or not