diff --git a/addons/mail/static/src/core/thread_model.js b/addons/mail/static/src/core/thread_model.js index 87ecbf7fe85..0cc15614208 100644 --- a/addons/mail/static/src/core/thread_model.js +++ b/addons/mail/static/src/core/thread_model.js @@ -214,9 +214,13 @@ export class Thread { ); } if (this.type === "group" && !this.name) { - return this.channelMembers - .map((channelMember) => channelMember.persona.name) - .join(_t(", ")); + const listFormatter = new Intl.ListFormat( + this._store.env.services["user"].lang.replace("_", "-"), + { type: "conjunction", style: "long" } + ); + return listFormatter.format( + this.channelMembers.map((channelMember) => channelMember.persona.name) + ); } return this.name; } diff --git a/addons/mail/static/tests/discuss/channel_invitation_tests.js b/addons/mail/static/tests/discuss/channel_invitation_tests.js index 522811a87c0..3b96b9f8c8f 100644 --- a/addons/mail/static/tests/discuss/channel_invitation_tests.js +++ b/addons/mail/static/tests/discuss/channel_invitation_tests.js @@ -111,6 +111,6 @@ QUnit.test("should be able to create a new group chat from an existing chat", as await click("button[title='Create Group Chat']"); assert.strictEqual( $(".o-mail-Discuss-threadName").val(), - "Mitchell Admin, TestPartner, TestPartner2" + "Mitchell Admin, TestPartner, and TestPartner2" ); });