diff --git a/src/app/registeredMail/controllers/RegisteredMailTrait.php b/src/app/registeredMail/controllers/RegisteredMailTrait.php
index 14b5e6a95e85e53b532f3d2ed698f9727cad4a07..d9ef3371894c1c3bb3d2062bd092061dfbc73626 100644
--- a/src/app/registeredMail/controllers/RegisteredMailTrait.php
+++ b/src/app/registeredMail/controllers/RegisteredMailTrait.php
@@ -32,7 +32,7 @@ trait RegisteredMailTrait
 
         $resource = ResModel::getById(['select' => ['departure_date', 'category_id'], 'resId' => $args['resId']]);
         if ($resource['category_id'] != 'registeredMail') {
-            return ['errors' => ['This resource is not a registered mail']];
+            return ['errors' => ['This resource is not a registered mail'], 'lang' => 'registeredMailNotFound'];
         } elseif (empty($resource['departure_date'])) {
             return ['errors' => ['Departure date is empty']];
         } elseif (!in_array($args['data']['type'], ['2D', '2C', 'RW'])) {
@@ -59,7 +59,7 @@ trait RegisteredMailTrait
         unset($args['data']['recipient']['department']);
 
         if ((empty($args['data']['recipient']['company']) && (empty($args['data']['recipient']['lastname']) || empty($args['data']['recipient']['firstname']))) || empty($args['data']['recipient']['addressStreet']) || empty($args['data']['recipient']['addressPostcode']) || empty($args['data']['recipient']['addressTown']) || empty($args['data']['recipient']['addressCountry'])) {
-            return ['errors' => ['company and firstname/lastname, or addressStreet, addressPostcode, addressTown or addressCountry is empty in Recipient']];
+            return ['errors' => ['company and firstname/lastname, or addressStreet, addressPostcode, addressTown or addressCountry is empty in Recipient'], 'lang' => 'argumentRegisteredMailRecipientEmpty'];
         }
 
         $issuingSite = IssuingSiteModel::getById([
@@ -67,7 +67,7 @@ trait RegisteredMailTrait
             'select'    => ['label', 'address_number', 'address_street', 'address_additional1', 'address_additional2', 'address_postcode', 'address_town', 'address_country']
         ]);
         if (empty($issuingSite)) {
-            return ['errors' => ['Issuing site does not exist']];
+            return ['errors' => ['Issuing site does not exist'], 'lang' => 'argumentRegisteredMailIssuingSiteEmpty'];
         }
 
         $range = RegisteredNumberRangeModel::get([
@@ -76,7 +76,7 @@ trait RegisteredMailTrait
             'data'      => [$args['data']['type'], 'OK']
         ]);
         if (empty($range)) {
-            return ['errors' => ['No range found']];
+            return ['errors' => ['No range found'], 'lang' => 'NoRangeAvailable'];
         }
 
         if ($range[0]['current_number'] + 1 > $range[0]['range_end']) {
@@ -155,11 +155,11 @@ trait RegisteredMailTrait
         $registeredMail = RegisteredMailModel::getByResId(['select' => ['issuing_site', 'type', 'number', 'warranty', 'letter', 'recipient', 'reference'], 'resId' => $args['resId']]);
         $recipient = json_decode($registeredMail['recipient'], true);
         if (empty($registeredMail)) {
-            return ['errors' => ['No registered mail for this resource']];
+            return ['errors' => ['No registered mail for this resource'], 'lang' => 'registeredMailNotFound'];
         } elseif (empty($recipient) || empty($registeredMail['issuing_site']) || empty($registeredMail['type']) || empty($registeredMail['number']) || empty($registeredMail['warranty'])) {
             return ['errors' => ['recipient, issuing_site, type, number or warranty is missing to print registered mail']];
         } elseif ((empty($recipient['company']) && (empty($recipient['lastname']) || empty($recipient['firstname']))) || empty($recipient['addressStreet']) || empty($recipient['addressPostcode']) || empty($recipient['addressTown']) || empty($recipient['addressCountry'])) {
-            return ['errors' => ['company and firstname/lastname, or addressStreet, addressPostcode, addressTown or addressCountry is empty in Recipient']];
+            return ['errors' => ['company and firstname/lastname, or addressStreet, addressPostcode, addressTown or addressCountry is empty in Recipient'], 'lang' => 'argumentRegisteredMailRecipientEmpty'];
         }
 
         $issuingSite = IssuingSiteModel::getById([
diff --git a/src/app/resource/controllers/IndexingController.php b/src/app/resource/controllers/IndexingController.php
index dddc48e349dd76eb42ec98e527317caf593e1c43..5279ca7c0a83df293cdd5a17e782350aa346897a 100755
--- a/src/app/resource/controllers/IndexingController.php
+++ b/src/app/resource/controllers/IndexingController.php
@@ -111,7 +111,11 @@ class IndexingController
             $methodResponse = ActionMethodController::$method(['resId' => $body['resource'], 'data' => $body['data'], 'note' => $body['note'], 'parameters' => $parameters]);
         }
         if (!empty($methodResponse['errors'])) {
-            return $response->withStatus(400)->withJson(['errors' => $methodResponse['errors'][0]]);
+            $return = ['errors' => $methodResponse['errors'][0]];
+            if (!empty($methodResponse['lang'])) {
+                $return['lang'] = $methodResponse['lang'];
+            }
+            return $response->withStatus(400)->withJson($return);
         }
 
         $historic = empty($methodResponse['history']) ? '' : $methodResponse['history'];
diff --git a/src/lang/lang-fr.json b/src/lang/lang-fr.json
index bc6fb4cdfeaf850a7d70fa861845d7874e4a7a80..a3e1649a01c0c659596001913f999d8c052bf01d 100644
--- a/src/lang/lang-fr.json
+++ b/src/lang/lang-fr.json
@@ -1964,7 +1964,7 @@
     "argumentRegisteredMailWarrantyEmpty": "La donnée registeredMail_warranty est vide ou non valide pour un recommandé.",
     "argumentRegisteredMailWarrantyNotAllowed": "La donnée registeredMail_warranty n'est pas autorisé pour ce type pour un recommandé.",
     "argumentRegisteredMailIssuingSiteEmpty": "La donnée registeredMail_issuingSite est vide ou n'existe pas pour un recommandé.",
-    "argumentRegisteredMailRecipientEmpty": "Une des données du destinataire est vide pour un recommandé.",
+    "argumentRegisteredMailRecipientEmpty": "Le destinataire doit avoir une organisation ou un prénom/nom, et tous ces champs renseignés : rue, code postal, ville, pays",
     "argumentCategoryNotValid": "La catégorie n'est pas valide pour un recommandé.",
     "argumentDoctypeEmpty": "Le type de document n'est pas renseigné pour un recommandé.",
     "NoRangeAvailable": "Pas de plage disponible pour un recommandé.",