diff --git a/addons/web/static/src/views/fields/x2many/x2many_field.js b/addons/web/static/src/views/fields/x2many/x2many_field.js
index 3a9291c9f7f..41f6048751a 100644
--- a/addons/web/static/src/views/fields/x2many/x2many_field.js
+++ b/addons/web/static/src/views/fields/x2many/x2many_field.js
@@ -3,6 +3,7 @@
import { makeContext } from "@web/core/context";
import { registry } from "@web/core/registry";
import { Pager } from "@web/core/pager/pager";
+import { sprintf } from "@web/core/utils/strings";
import {
useActiveActions,
useAddInlineRecord,
@@ -217,7 +218,9 @@ export class X2ManyField extends Component {
const domain = record.getFieldDomain(this.props.name).toList();
context = makeContext([record.getFieldContext(this.props.name), context]);
if (this.isMany2Many) {
- return this.selectCreate({ domain, context });
+ const { string } = this.props.record.activeFields[this.props.name];
+ const title = sprintf(this.env._t("Add: %s"), string);
+ return this.selectCreate({ domain, context, title });
}
if (editable) {
if (this.list.editedRecord) {
diff --git a/addons/web/static/tests/views/fields/many2many_field_tests.js b/addons/web/static/tests/views/fields/many2many_field_tests.js
index 37319823395..6e1de164f77 100644
--- a/addons/web/static/tests/views/fields/many2many_field_tests.js
+++ b/addons/web/static/tests/views/fields/many2many_field_tests.js
@@ -479,6 +479,44 @@ QUnit.module("Fields", (hooks) => {
}
);
+ QUnit.test("field string is used in the SelectCreateDialog", async function (assert) {
+ serverData.views = {
+ "partner_type,false,list": '