Account created on 7 June 2013, over 11 years ago
#

Recent comments

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

In the moment, I didn't find concrete steps to reproduce the failure. We are always translate into over 20 languages.

Sometimes the error appear on translating one node with small text and on the other side sometimes no error appear on translating many (10) nodes with much text.
But in any way, if the translation abort, you have to delete or submit many jobs manually.

The connection should be fast enough - the drupal server is hosted with Gigabit connections and the client, who starts the tmgmt job, has a 200 Mbit connection.

At this point, I thought - as the hint of DeepL says - to implement the retries would be an approach.

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

OK, thank you. I'll try this.

Just another question: We translate our site into 36 languages and use DeepL for the languages that are supported from DeepL and Microsoft Azure for the rest. Is there any possibility to request a translation for all languages in the tmgmt cart and then, when submitting to provider, the jobs are automatically sent to the right translation provider?

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

The support from DeepL shows, that <p translate="no">ยงยงยง</p> OLED <p translate="no">ยงยงยง</p> is not sent to DeepL in the query params.

I tried to change the text to be translated with several tmgmt hooks:

  • - hook_tmgmt_job_before_request_translation
  • - hook_tmgmt_job_after_request_translation
  • - hook_tmgmt_data_item_text_output_alter
  • - hook_tmgmt_data_item_text_input_alter

but none of them changes the query string sent to DeepL.

Is there any tmgmt or tmgmt_deepl hook, that I can use?

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

Thank you.

Yes, it is set to HTML.

Then I go to DeepL and contact the support.

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

Sorry for the inconvenience. The problem was caused by a custom BodyFieldProcessor, which excluded the summary, if the value is empty.

The module works as expected.

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

Update to 10.3.1 with composer works well for me. But the menus are still gone?

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

I have the same problem.

Rebuild permissions also doesn't affect.

Any other ideas to solve the problem?

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

The following patch solves the problem for us:

diff --git a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
index b101d7b2..099d1b78 100644
--- a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
+++ b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
@@ -498,7 +498,7 @@ class ContentEntitySource extends SourcePluginBase implements SourcePreviewInter
     $translation = $entity->getTranslation($target_langcode);
     $manager = \Drupal::service('content_translation.manager');
     if ($manager->isEnabled($translation->getEntityTypeId(), $translation->bundle())) {
-      $manager->getTranslationMetadata($translation)->setSource($entity->language()->getId());
+      $manager->getTranslationMetadata($translation)->setSource($item->getJob()->getSourceLangcode());
     }
 
     foreach (Element::children($data) as $field_name) {
๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

Thank you for answering.

I solved the problem with a patch in the AugmentorBaseWidget.

I add the case for entity_reference_revisions type and pass the entity_id to the service:

foreach ($source_fields as $field_name) {
      $field_type = $entity->get($field_name)->getFieldDefinition()->getType();
      $nid = $entity->id();

      if (!$entity->get($field_name)->isEmpty()) {
        $values = $entity->get($field_name)->getValue();

        foreach ($values as $value) {
          switch ($field_type) {
            case 'image':
            case 'entity_reference_revisions':
              $value = strval($nid);
              break;

And in the service I load the entity and get the paragraphs field values and process them.

๐Ÿ‡ฉ๐Ÿ‡ชGermany WalterP

WalterP โ†’ created an issue.

Production build 0.71.5 2024