This resource is not yet in the MarketPlace...so calm down!! 😉 I am writing this up now for the eventual release...
Here's what it does do...
Shows a 'Translate' link/menu below the content in Forum/Calendar/Pages* (support for other applications may be added depending on popularity of this application)
* "Pages" will require a manual action by the admin to add something to the 'Display' template(s) for their database.
Uses Google's Cloud Translation REST API (Basic) or DeepL's Translator API
You, the Admin, can choose from the list of the API's supported languages and make those available to the user for use (would be a good idea - Google supports approximately 100 target languages while DeepL currently supports 28 target languages
If you choose to display one language for use, then a single link is available to the user
But if you choose more than one language then a menu will appear listing the configured available languages.
You can also choose who can see the translate option.
When a language is selected, the content will be sent to the configured API using REST, translated and returned.
The returned translation will be processed and the content will be replaced.
Additionally, each translation is stored in the database so that further translation requests for the same content are pulled from there instead of being translated via the API.
If the original content is edited then any translations stored in the database will be discarded, ensuring that any further translation requests do not provide an out-of-date translation, and always translate the current content.
Functionality exists to allow you to view the translations in the ACP and refine the translation if you so wish.
Translations can be 'protected' so that the editing action above doesn't discard the translation - useful if you have refined the translation and wish to retain that refinement
In this case, if an edit is performed then a clear indication will be displayed in the ACP advising that the translation is out-of-date due to the original content being edited.
The user can revert to the original content at any time by clicking a link to do so.
Usage logs are available in the ACP for each translation request, so you can see basic information about requests made from your site out to the APIs (both of which have their own console available which provides detailed usage information), along with requests made to content saved in the database.
Here's what it doesn't do...
It does not translate your entire site at the flick of a switch.
If that is something you are seeking then you would have to implement your own Google Translate functionality on your site (https://www.dummies.com/article/technology/notable-websites/google/how-to-install-google-translates-website-translator-plugin-145074)
Translation of content at the time of display, as opposed to a user choice
Why? Translation is performed via a REST API request - each item of content in a topic, for example, would need to be sent to the API. In a topic with multiple posts then this will mean up to 25 REST API requests being performed to display each page of the topic. That is going to result in a performance hit, and is not something I am willing to put in place at this time.
Will it be a future feature? Maybe, but no promises.