From 6ccad5344ca41da342ec8d6798a3604f441375d0 Mon Sep 17 00:00:00 2001
From: Thomas Citharel <tcit@tcit.fr>
Date: Mon, 8 Mar 2021 18:37:25 +0100
Subject: [PATCH] Make sure the localized datetime follow the current MBZ
 locale

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
---
 js/src/filters/datetime.ts | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/js/src/filters/datetime.ts b/js/src/filters/datetime.ts
index 8813d963a..076121d98 100644
--- a/js/src/filters/datetime.ts
+++ b/js/src/filters/datetime.ts
@@ -1,11 +1,12 @@
 import { DateTimeFormatOptions } from "vue-i18n";
+import { i18n } from "../utils/i18n";
 
 function parseDateTime(value: string): Date {
   return new Date(value);
 }
 
 function formatDateString(value: string): string {
-  return parseDateTime(value).toLocaleString(undefined, {
+  return parseDateTime(value).toLocaleString(locale(), {
     weekday: "long",
     year: "numeric",
     month: "long",
@@ -14,7 +15,7 @@ function formatDateString(value: string): string {
 }
 
 function formatTimeString(value: string): string {
-  return parseDateTime(value).toLocaleTimeString(undefined, {
+  return parseDateTime(value).toLocaleTimeString(locale(), {
     hour: "numeric",
     minute: "numeric",
   });
@@ -34,8 +35,10 @@ function formatDateTimeString(value: string, showTime = true): string {
     options.hour = "numeric";
     options.minute = "numeric";
   }
-  const format = new Intl.DateTimeFormat(undefined, options);
+  const format = new Intl.DateTimeFormat(locale(), options);
   return format.format(parseDateTime(value));
 }
 
+const locale = () => i18n.locale.replace("_", "-");
+
 export { formatDateString, formatTimeString, formatDateTimeString };