diff --git a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
index c8b389f..76565c6 100644
--- a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
+++ b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
@@ -167,7 +167,7 @@ class ContentEntitySource extends SourcePluginBase {
   /**
    * {@inheritdoc}
    */
-  public function saveTranslation(JobItemInterface $job_item) {
+  public function saveTranslation(JobItemInterface $job_item, $tarjet_langcode, array $data) {
     /* @var \Drupal\Core\Entity\ContentEntityInterface $entity */
     $entity = entity_load($job_item->getItemType(), $job_item->getItemId());
     if (!$entity) {
@@ -177,10 +177,8 @@ class ContentEntitySource extends SourcePluginBase {
       ), 'error');
       return FALSE;
     }
-    $job = $job_item->getJob();
 
-    $data = $job_item->getData();
-    $this->doSaveTranslations($entity, $data, $job->getTargetLangcode());
+    $this->doSaveTranslations($entity, $data, $tarjet_langcode);
     $job_item->accepted();
     return TRUE;
   }
diff --git a/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php b/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php
index 3efd175..7e2e404 100644
--- a/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php
+++ b/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php
@@ -215,14 +215,12 @@ class LocaleSource extends SourcePluginBase {
   /**
    * {@inheritdoc}
    */
-  public function saveTranslation(JobItemInterface $job_item) {
-    $job = $job_item->getJob();
-    $data = $job_item->getData();
+  public function saveTranslation(JobItemInterface $job_item, $tarjet_langcode, array $data) {
     if (isset($data['singular'])) {
       $translation = $data['singular']['#translation']['#text'];
       // Update the locale string in the system.
       // @todo: Send error message to user if update fails.
-      if ($this->updateTranslation($job_item->getItemId(), $job->getTargetLangcode(), $translation)) {
+      if ($this->updateTranslation($job_item->getItemId(), $tarjet_langcode, $translation)) {
         $job_item->accepted();
         return TRUE;
       }
diff --git a/sources/tmgmt_config/src/Plugin/tmgmt/Source/ConfigSource.php b/sources/tmgmt_config/src/Plugin/tmgmt/Source/ConfigSource.php
index 3593261..e68ccfa 100644
--- a/sources/tmgmt_config/src/Plugin/tmgmt/Source/ConfigSource.php
+++ b/sources/tmgmt_config/src/Plugin/tmgmt/Source/ConfigSource.php
@@ -201,7 +201,7 @@ class ConfigSource extends SourcePluginBase implements ContainerFactoryPluginInt
   /**
    * {@inheritdoc}
    */
-  public function saveTranslation(JobItemInterface $job_item) {
+  public function saveTranslation(JobItemInterface $job_item, $tarjet_langcode, array $data) {
     try {
       $config_mapper = $this->getMapper($job_item);
     }
@@ -213,20 +213,18 @@ class ConfigSource extends SourcePluginBase implements ContainerFactoryPluginInt
       return FALSE;
     }
 
-    $data = $job_item->getData();
-
     $config_names = $config_mapper->getConfigNames();
 
     // We need to refactor the array just as we did in getData.
     if (count($config_names) == 1) {
-      $data[$config_names[0]] = $job_item->getData();
+      $data[$config_names[0]] = $data;
     }
     foreach ($config_mapper->getConfigNames() as $name) {
       $schema = $this->typedConfig->get($name);
 
       // Set configuration values based on form submission and source values.
       $base_config = $this->configFactoryManager->getEditable($name);
-      $config_translation = $this->languageManager->getLanguageConfigOverride($job_item->getJob()->getTargetLangcode(), $name);
+      $config_translation = $this->languageManager->getLanguageConfigOverride($tarjet_langcode, $name);
 
       $element = ConfigTranslationFormBase::createFormElement($schema);
 
diff --git a/src/Entity/JobItem.php b/src/Entity/JobItem.php
index c862ef4..cfad759 100644
--- a/src/Entity/JobItem.php
+++ b/src/Entity/JobItem.php
@@ -737,7 +737,7 @@ class JobItem extends ContentEntityBase implements JobItemInterface {
     // We don't know if the source plugin was able to save the translation after
     // this point. That means that the plugin has to set the 'accepted' states
     // on its own.
-    $plugin->saveTranslation($this);
+    $plugin->saveTranslation($this, $this->getJob()->getTargetLangcode(), $this->getData());
   }
 
   /**
diff --git a/src/SourcePluginInterface.php b/src/SourcePluginInterface.php
index 5144b5e..c05d915 100644
--- a/src/SourcePluginInterface.php
+++ b/src/SourcePluginInterface.php
@@ -32,11 +32,15 @@ interface SourcePluginInterface extends PluginInspectionInterface {
    *
    * @param \Drupal\tmgmt\JobItemInterface $job_item
    *   The job item entity.
+   * @param string $tarjet_langcode
+   *   The tarjet language code.
+   * @param array $data
+   *   Array of the data to be translated.
    *
-   * @return bool
+   * @return bool TRUE if the translation was saved successfully, FALSE otherwise.
    *   TRUE if the translation was saved successfully, FALSE otherwise.
    */
-  public function saveTranslation(JobItemInterface $job_item);
+  public function saveTranslation(JobItemInterface $job_item, $tarjet_langcode, array $data);
 
   /**
    * Return a title for this job item.
diff --git a/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php b/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php
index 047c031..6d010dc 100644
--- a/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php
+++ b/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php
@@ -102,9 +102,9 @@ class TestSource extends SourcePluginBase {
   /**
    * {@inheritdoc}
    */
-  public function saveTranslation(JobItemInterface $job_item) {
+  public function saveTranslation(JobItemInterface $job_item, $tarjet_langcode, array $data) {
     // Set a variable that can be checked later for a given job item.
-    \Drupal::state()->set('tmgmt_test_saved_translation_' . $job_item->getItemType() . '_' . $job_item->getItemId(), $job_item->getData());
+    \Drupal::state()->set('tmgmt_test_saved_translation_' . $job_item->getItemType() . '_' . $job_item->getItemId(), $data);
     $job_item->accepted();
     return TRUE;
   }
