Make dynamic string translatable

No, you wouldn’t use the translation functions (__(), _e() etc.). Those are for creating language files and must only be used on static strings. They need to be static because the tools for generating the language files don’t execute PHP, so they can’t process variables. They just parse the text of the code, essentially.

If you want to support multilingual plugins then you need to build that support in manually with whatever methods those plugins require. WordPress won’t help you here. So you’ll need to check the developer documentation of the multilingual plugins that you want to support. Here’s some documentation for adding multilingual support for custom content for WPML, for example.