My idea is:
Add multilingual translations for the Public name of segments.
At the moment, a segment can have one public name that is displayed in the Preference Center. This makes multilingual Preference Centers difficult because the same segment name is shown to all contacts, regardless of their preferred language.
For example:
| Locale | Public name |
|---|---|
de |
Aivie Neuigkeiten |
en |
Aivie News |
fr |
Nouveautés Aivie |
it |
Novità Aivie |
The segment itself, including filters, members, alias, statistics and configuration, should remain a single segment.
A possible UI could add a Translations tab next to Details and Filters in the segment editor.
The existing Public name under Details would remain the default/fallback value. The Translations tab would only contain optional translations.
Locale resolution could follow the same principle Mautic already uses elsewhere:
preferred_locale → base language → default public name
For example:
fr_CH → fr → default
If no matching translation exists, Mautic simply displays the existing public name.
I think these groups of people would benefit from this idea:
- Mautic users operating in multilingual markets
- Companies using the Preference Center for newsletter subscriptions
- Organisations with contacts in multiple countries or language regions
- Agencies managing multilingual Mautic installations
- European and escpecially Swiss organisations where multilingual communication is common
Why I think they would benefit from this idea:
Mautic already supports multilingual content for Emails, SMS and Landing Pages, and the Preference Center already respects preferred_locale for several interface strings.
However, the actual public segment names cannot currently be translated independently.
This means users either have to:
- show the same segment name in every language
- create duplicate segments only for translation purposes
- build custom Preference Center logic
Duplicating segments is especially problematic because the filters, memberships and configuration should remain identical.
A lightweight translation mechanism would allow one segment to be shown correctly in multiple languages while keeping the underlying segment logic unchanged.
It would also make multilingual Preference Centers much easier to configure and maintain.
Any code or resources to support this idea:
Mautic already contains a translation mechanism used by entities such as SMS:
The locale matching logic is implemented in:
For segments, I would suggest a lighter data model instead of the existing parent/child entity translation model.
For example:
segment_id | locale | public_name
123 | en | Aivie News
123 | fr | Nouveautés Aivie
123 | it | Novità Aivie
