About This File
IMPORTANT:
- a new and vastly improved application called "(NE) Content Translator" is currently in active development. It is a complete redesign of the features provided by "(NE) Translate", and you can see some of the additional features it will have here
- existing customers will be automatically provided a purchase of the new version upon release, at the same renewal terms at which they purchased the original resource.
Here's what this resource does:
-
Shows a 'Translate' link/menu below the content in Forum/Calendar/Pages*
- * "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 (before purchasing this application, please ensure that you are aware that there are potential further costs involved in the use of these APIs - https://cloud.google.com/translate/pricing & https://www.deepl.com/pro/change-plan?cta=header-prices/#developer are the specific links to refer to on this)
-
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.
-
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.
- 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? No.
The application's settings contain instructions on how to do the following:
- Configure a Google Cloud API key
- Configure a DeepL Translator API key
- Manually add the application's HTML template to your database's 'Display' templates
What's New in Version 1.4.2 See changelog
Released
CHANGES
- changed DomDocument loadHtml() call to loadXml() to improve handling of images nested in anchor elements.