It is not possible to change the language in the app itself, and by extension to have a specific language per conversation, but there is a feature request you can vote for in the community forums.
In the meantime the application will use the system language, but it is possible to start it with a different language.
On Windows
You must modify the Signal shortcut in the start menu:
- Search for Signal in the start menu
- Right click > Open file location
- Right click on Signal > Properties [alt-enter]
- Modify the Target by adding
--lang=<language> where <language> is your chosen language and region code, like en_US
Note: when updating Signal, you will need to quit and relaunch Signal from that shortcut, otherwise it will default again to the system language when the update process relaunches it. Similarly you should disable autostart with Windows and always launch Signal from the shortcut.
On Linux
You need to set both LANG (for spellchecking) and LANGUAGE (for interface language) variables.
Best is to create a custom signal-desktop.desktop shortcut in ~/.local/share/applications (this might be OS- or Desktop Environment-specific) so that it does not get overridden after every update.
Start by copying /usr/share/applications/signal-desktop.desktop to ~/.local/share/applications, then modify the Exec line to include your language, e.g.,
Exec=env LANG=fr_BE.UTF-8 LANGUAGE=fr_BE /opt/Signal/signal-desktop --no-sandbox %U
MacOS
The Language & Region system preferences allow to set per-app preferences.