From a1469b83a1c10f42a2997385c0e6abf67420cacc Mon Sep 17 00:00:00 2001
From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com>
Date: Fri, 9 Oct 2020 10:29:29 -0400
Subject: [PATCH] chatview: update the way of translation for formatDate

Change-Id: I9219c50f64604f969b88bbcda3242428b3f45c4a
---
 src/web-chatview/chatview.js | 40 ++++++++++++++++++++----------------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/src/web-chatview/chatview.js b/src/web-chatview/chatview.js
index f083f633..94d4afc5 100644
--- a/src/web-chatview/chatview.js
+++ b/src/web-chatview/chatview.js
@@ -78,6 +78,15 @@ document.body.onclick = function(e) {
     }
 }
 
+/* String sipmle format prototype*/
+String.prototype.format = function() {
+    var a = this
+    for (var k in arguments) {
+      a = a.replace("{" + k + "}", arguments[k])
+    }
+    return a
+}
+
 /* Set the default target to _self and handle with QWebEnginePage::acceptNavigationRequest */
 var linkifyOptions = {}
 if (use_qt) {
@@ -540,28 +549,23 @@ function formatDate(date) {
     var interval = Math.floor(seconds / (3600 * 24))
 
     if (use_qt) {
-        if (interval > 5) {
+        if (interval > 5)
             return date.toLocaleDateString()
-        }
-        if (interval > 1) {
-            return interval + "\u200E " + i18nStringData["daysAgo"]
-        }
-        if (interval === 1) {
-            return interval + "\u200E " + i18nStringData["dayAgo"]
-        }
+        if (interval > 1)
+            return "\u200E " + i18nStringData["daysAgo"].format(interval)
+        if (interval === 1)
+            return "\u200E " + i18nStringData["oneDayAgo"]
+
         interval = Math.floor(seconds / 3600)
-        if (interval > 1) {
-            return interval + "\u200E " + i18nStringData["hoursAgo"]
-        }
-        if (interval === 1) {
-            return interval + "\u200E " + i18nStringData["hourAgo"]
-        }
+        if (interval > 1)
+            return "\u200E " + i18nStringData["hoursAgo"].format(interval)
+        if (interval === 1)
+            return "\u200E " + i18nStringData["oneHourAgo"]
+
         interval = Math.floor(seconds / 60)
-        if (interval > 1) {
-            return interval + "\u200E " + i18nStringData["minutesAgo"]
-        }
+        if (interval > 1)
+            return "\u200E " + i18nStringData["minutesAgo"].format(interval)
         return i18nStringData["justNow"]
-
     } else {
         if (interval > 5) {
             return date.toLocaleDateString()
-- 
GitLab