From 5e7e578e319083fec6b2f379bc5088cdfe2c621d Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Pasquier <contact@jbpasquier.eu>
Date: Tue, 16 Mar 2021 14:39:06 +0100
Subject: [PATCH] i18n: handle different langs based on the framework's logic

---
 src/solid-xmpp-chat.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/solid-xmpp-chat.js b/src/solid-xmpp-chat.js
index b229528..8f9fbf4 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,
-- 
GitLab