diff --git a/src/app/formulaire/elements/select/select-field-species-list.ts b/src/app/formulaire/elements/select/select-field-species-list.ts
index 7b94345aa073bbd77580775e01dfc5504d78fb64..3784ace7d64c5e8bc721673bc72088162616e6b9 100644
--- a/src/app/formulaire/elements/select/select-field-species-list.ts
+++ b/src/app/formulaire/elements/select/select-field-species-list.ts
@@ -32,7 +32,7 @@ export class SelectFieldSpeciesList extends SelectField {
         for (let j = 1; j < Object.keys(FishSpecies).length / 2; j++) { // exclude "0" (SPECIES_CUSTOM)
             const spgId = FishSpecies[j].substring(FishSpecies[j].lastIndexOf("_") + 1);
             const e = this.createOrGetEntry(this._entriesBaseId + spgId, FishSpecies[j]);
-            e.intlInfo = { "isnub": false, "code": FishSpecies[j] }
+            e.intlInfo = { "isnub": false, "code": "FISHSPECIES_" + FishSpecies[j] }
             this.addEntry(e);
         }
     }
diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index 95895d47d0c753bf1a78f0712245e313813c334e..2209fd17d376667f504c09f7ad89e3997a2b24a7 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -167,27 +167,29 @@ export class I18nService extends Observable implements Observer {
         }
 
         // key is an enum ?
-        if (textKey.indexOf("INFO_ENUM_") !== -1) {
-            // key ends with a number ?
-            const re = /^((INFO_ENUM)_(.+)_)([0-9]+)$/;
-            const res = textKey.match(re);
-            if (res !== null) {
-                // convert end number to enum symbolic value
-                const enumClass = res[3];
-                const value = res[4];
-                const val = enumValueFromString(enumClass, value);
-                textKey = res[1] + val;
+        let key = textKey;
+        if (key.indexOf("INFO_ENUM_") !== -1) {
+            // key ends with a number ? convert end number to enum symbolic value
+            if (key.indexOf("_FISHSPECIES_") === -1) { // do not process fish species which values include '_' and numbers'...
+                const re = /^((INFO_ENUM)_(.+)_)([0-9]+)$/;
+                const res = key.match(re);
+                if (res !== null) {
+                    const enumClass = res[3];
+                    const value = res[4];
+                    const val = enumValueFromString(enumClass, value);
+                    key = res[1] + val;
+                }
             }
         }
 
-        if (this._Messages[textKey] !== undefined) {
-            return this.translateMessage(this._Messages[textKey], vars);
+        if (this._Messages[key] !== undefined) {
+            return this.translateMessage(this._Messages[key], vars);
         } else {
             // try general message
-            if (this._Messages !== undefined && this._Messages["INFO_LIB_" + textKey.toUpperCase()] !== undefined) {
-                return decodeHtml(this._Messages["INFO_LIB_" + textKey.toUpperCase()]);
+            if (this._Messages !== undefined && this._Messages["INFO_LIB_" + key.toUpperCase()] !== undefined) {
+                return decodeHtml(this._Messages["INFO_LIB_" + key.toUpperCase()]);
             }
-            return `*** message not found: ${textKey} ***`;
+            return `*** message not found: ${key} ***`;
         }
     }
 
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 98aaefe3e3206b6f19174e7ab29bf84a1b422365..ed23c49fcf9ede4b902b5076c6ea4c0f9cf98bce 100755
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -168,26 +168,26 @@
     "INFO_ENUM_OUVRAGE_Q_REGIME_3": "Zero flow",
     "INFO_ENUM_PARFLOWREGIME_FREE": "Free",
     "INFO_ENUM_PARFLOWREGIME_SUBMERGED": "Submerged",
-    "INFO_ENUM_SPECIES_1": "Salmon, trout [50-100] (1)",
-    "INFO_ENUM_SPECIES_2": "Mule (2)",
-    "INFO_ENUM_SPECIES_3a": "Great shad (3a)",
-    "INFO_ENUM_SPECIES_3b": "Shad (3b)",
-    "INFO_ENUM_SPECIES_3c": "Sea lamprey (3c)",
-    "INFO_ENUM_SPECIES_4a": "Trout [25-55] (4a)",
-    "INFO_ENUM_SPECIES_4b": "River trout [15-30] (4b)",
-    "INFO_ENUM_SPECIES_5": "Aspe, pike (5)",
-    "INFO_ENUM_SPECIES_6": "Common grayling (6)",
-    "INFO_ENUM_SPECIES_7a": "Barbel, chub, nase (7a)",
-    "INFO_ENUM_SPECIES_7b": "River lamprey (7b)",
-    "INFO_ENUM_SPECIES_8a": "Common carp (8a)",
-    "INFO_ENUM_SPECIES_8b": "Common bream, pike-perch (8b)",
-    "INFO_ENUM_SPECIES_8c": "White bream, ide, burbot, perch, tench (8c)",
-    "INFO_ENUM_SPECIES_8d": "Common dace (8d)",
-    "INFO_ENUM_SPECIES_9a": "Bleak, spirlin, barbel, souffia, crucian carp, roach... (9a)",
-    "INFO_ENUM_SPECIES_9b": "Apron, sculpins, ruffe, loach... (9b)",
-    "INFO_ENUM_SPECIES_10": "Sunbleak, bitterling, stickleback, minnow (10)",
-    "INFO_ENUM_SPECIES_11a": "European eel [yellow] (11a)",
-    "INFO_ENUM_SPECIES_11b": "European Eel [glass eel] (11b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_1": "Salmon, trout [50-100] (1)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_2": "Mule (2)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_3a": "Great shad (3a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_3b": "Shad (3b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_3c": "Sea lamprey (3c)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_4a": "Trout [25-55] (4a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_4b": "River trout [15-30] (4b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_5": "Aspe, pike (5)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_6": "Common grayling (6)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_7a": "Barbel, chub, nase (7a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_7b": "River lamprey (7b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8a": "Common carp (8a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8b": "Common bream, pike-perch (8b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8c": "White bream, ide, burbot, perch, tench (8c)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8d": "Common dace (8d)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_9a": "Bleak, spirlin, barbel, souffia, crucian carp, roach... (9a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_9b": "Apron, sculpins, ruffe, loach... (9b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_10": "Sunbleak, bitterling, stickleback, minnow (10)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_11a": "European eel [yellow] (11a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_11b": "European Eel [glass eel] (11b)",
     "INFO_ENUM_STRUCTUREFLOWMODE_WEIR": "Weir",
     "INFO_ENUM_STRUCTUREFLOWMODE_ORIFICE": "Orifice",
     "INFO_ENUM_STRUCTUREFLOWMODE_NULL": "Zero flow",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 07fee95020ffcf48bddbe7fc528541156573e4e4..5751ec720ee1ad9eab9148e4ae332513b002cce7 100755
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -168,26 +168,26 @@
     "INFO_ENUM_OUVRAGE_Q_REGIME_3": "Débit nul",
     "INFO_ENUM_PARFLOWREGIME_FREE": "Dénoyé",
     "INFO_ENUM_PARFLOWREGIME_SUBMERGED": "Noyé",
-    "INFO_ENUM_SPECIES_1": "Saumon, truite [50-100] (1)",
-    "INFO_ENUM_SPECIES_2": "Mulets (2)",
-    "INFO_ENUM_SPECIES_3a": "Grande Alose (3a)",
-    "INFO_ENUM_SPECIES_3b": "Alose feinte (3b)",
-    "INFO_ENUM_SPECIES_3c": "Lamproie marine (3c)",
-    "INFO_ENUM_SPECIES_4a": "Truite [25-55] (4a)",
-    "INFO_ENUM_SPECIES_4b": "Truite de rivière [15-30] (4b)",
-    "INFO_ENUM_SPECIES_5": "Aspe, brochet (5)",
-    "INFO_ENUM_SPECIES_6": "Ombre commun (6)",
-    "INFO_ENUM_SPECIES_7a": "Barbeau, chevaine, hotu (7a)",
-    "INFO_ENUM_SPECIES_7b": "Lamproie fluviatile (7b)",
-    "INFO_ENUM_SPECIES_8a": "Carpe commune (8a)",
-    "INFO_ENUM_SPECIES_8b": "Brème commune, sandre (8b)",
-    "INFO_ENUM_SPECIES_8c": "Brème bordelière, ide, lotte, perche, tanche (8c)",
-    "INFO_ENUM_SPECIES_8d": "Vandoises (8d)",
-    "INFO_ENUM_SPECIES_9a": "Ablette, blageon, carrassin, gardon... (9a)",
-    "INFO_ENUM_SPECIES_9b": "Apron, chabots, goujons, loche... (9b)",
-    "INFO_ENUM_SPECIES_10": "Able, bouvière, épinoche(tte), vairons (10)",
-    "INFO_ENUM_SPECIES_11a": "Anguille européenne [jaune] (11a)",
-    "INFO_ENUM_SPECIES_11b": "Anguille européenne [civelle] (11b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_1": "Saumon, truite [50-100] (1)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_2": "Mulets (2)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_3a": "Grande Alose (3a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_3b": "Alose feinte (3b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_3c": "Lamproie marine (3c)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_4a": "Truite [25-55] (4a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_4b": "Truite de rivière [15-30] (4b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_5": "Aspe, brochet (5)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_6": "Ombre commun (6)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_7a": "Barbeau, chevaine, hotu (7a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_7b": "Lamproie fluviatile (7b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8a": "Carpe commune (8a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8b": "Brème commune, sandre (8b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8c": "Brème bordelière, ide, lotte, perche, tanche (8c)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_8d": "Vandoises (8d)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_9a": "Ablette, blageon, carrassin, gardon... (9a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_9b": "Apron, chabots, goujons, loche... (9b)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_10": "Able, bouvière, épinoche(tte), vairons (10)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_11a": "Anguille européenne [jaune] (11a)",
+    "INFO_ENUM_FISHSPECIES_SPECIES_11b": "Anguille européenne [civelle] (11b)",
     "INFO_ENUM_STRUCTUREFLOWMODE_WEIR": "Surface libre",
     "INFO_ENUM_STRUCTUREFLOWMODE_ORIFICE": "En charge",
     "INFO_ENUM_STRUCTUREFLOWMODE_NULL": "Débit nul",