Support for special field types like Metatags
The support for additional field types in Drupal 8 was already much better than in Drupal 7 as we support most field types out of the box thanks to the improved API’s that we can rely on.
Some field types however still require custom processing and to support that, we now added an extensible system that allows to implement this. As a first implementation of this, we added support for the Metatags module. TMGMT will ignore fields that only contain tokens as they can not be translated and it will also only include meta tags that have been customized on a specific piece of content.
If you are a developer and want to implement something similar for your field type, have a look at tmgmt_content_field_info_alter() and \Drupal\tmgmt_content\MetatagsFieldProcessor.
Support for translating Webforms
Most configuration entities like Node types, Fields, Views, etc. are supported out of the box as Drupal understands their structure.
Webforms are special because they store the whole field structure in a way that TMGMT so far could not inspect. Similar to field types, we added a system that allows anyone to provide a customized implementation that can deal with such a special case and by default we provide one for Webforms. This allows us to extract translatable form labels, descriptions, select options and more to automate the translation process of a whole form in one step.
If you are a developer and want to implement something similar for your field type, have a look at tmgmt_config_config_schema_info_alter() and \Drupal\tmgmt_config\WebformConfigProcessor.
Improved support for suggestions and embedded references
Previously, TMGMT only suggested referenced entities if the reference field was not translatable. Now we show translated references as well. We also made several improvements to the suggestions UI. Previously, it was necessary to press a button to get suggestions and then maybe it had something to show.
Now it shows available suggestions immediately and if there are, the job item list will be collapsed. If there are no suggestions available, the UI elements will be completely disabled.
Additionally, we now also support to automatically embed entities from translatable fields. We recommend to use this very carefully and only use it for references that are not re-used as translation jobs can get very large and parts might be translated multiple times in separate translation jobs.
Create translation jobs for multiple target languages directly from the source overview
Until now, the source overview allowed to create a translation job with multiple source items. It however only allowed to create a job for a single target language and always used the original language of the source items.
It was possible to use the Cart feature to create jobs for multiple target languages but that required multiple additional steps. Now it is possible to directly select all or multiple target languages for a set of source items in a single UI
Improved UI for submitting multiple jobs
Creating multiple jobs due to different source or target languages previously only provided very few hints about the remaining jobs and that there are multiple.
We made several improvements to that. One is that we now show a progress bar that shows the user how much work is remaining as well as listing the remaining jobs in a collapsed element.
Additionally, there is now an option that allows to submit all remaining jobs in the checkout queue with the current settings. This will start a batch process and attempt to submit all jobs. If any of them fail (for example because the currently chosen translation provider does not support that language pair), the user returns to the checkout page for the remaining jobs and can choose to select a different provider or settings.
All of these features are working with all available translation service providers without any additional effort on their side.
We will continue to work with translation providers and other partners to improve and extend TMGMT. Get in touch if you would like to talk with us about additional features or implement or extend a translation service provider integration.
We want to thank translations.com for funding all these features!