diff --git a/src/solid-xmpp-chat.js b/src/solid-xmpp-chat.js
index b2295288ad959da4601fe18974cdfeaa4dedca9b..8f9fbf443054d7fce50837d68b67cd029f33f65a 100644
--- a/src/solid-xmpp-chat.js
+++ b/src/solid-xmpp-chat.js
@@ -173,6 +173,11 @@ export const SolidXMPPChat = {
 
       const idToken = await document.querySelector('sib-auth').getUserIdToken();
 
+      let lang = this.element.dataset.i18n || 'fr';
+      if (localStorage.getItem('language') || (window.navigator.language !== null && window.navigator.language !== undefined)) {
+        lang = localStorage.getItem('language') || window.navigator.language.slice(0, 2);
+      }
+
       converse.initialize({
         'assets_path': (/skypack/.test(ComponentPath) ? ComponentPath.replace('cdn.skypack.dev', 'unpkg.com') : ComponentPath) + '/dist/conversejs/',
         'authentication': this.element.dataset.authentication || 'login',
@@ -194,7 +199,7 @@ export const SolidXMPPChat = {
         'clear_messages_on_reconnection': false,
         'discover_connection_methods': false,
         'jid': jabberID.toLowerCase(),
-        'i18n': this.element.dataset.i18n || 'fr',
+        'i18n': lang,
         'loglevel': 'fatal',
         'message_archiving': 'always',
         'message_archiving_timeout': 60000,