From c69f1722ac1400dba8c8a89acccc1eba43823f1f Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 17 Aug 2019 10:22:38 -0700 Subject: [PATCH] Fix moment locale issue. - Fixes #206 --- ui/src/components/moment-time.tsx | 8 ++------ ui/src/utils.ts | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ui/src/components/moment-time.tsx b/ui/src/components/moment-time.tsx index 2179499fa..83c97fb3e 100644 --- a/ui/src/components/moment-time.tsx +++ b/ui/src/components/moment-time.tsx @@ -4,7 +4,7 @@ import * as moment from 'moment'; import 'moment/locale/zh-cn'; import 'moment/locale/fr'; import 'moment/locale/sv'; -import { getLanguage } from '../utils'; +import { getMomentLanguage } from '../utils'; import { i18n } from '../i18next'; interface MomentTimeProps { @@ -20,11 +20,7 @@ export class MomentTime extends Component { constructor(props: any, context: any) { super(props, context); - // Moment doesnt have zh, only zh-cn - let lang = getLanguage(); - if (lang == 'zh') { - lang = 'zh-cn'; - } + let lang = getMomentLanguage(); moment.locale(lang); } diff --git a/ui/src/utils.ts b/ui/src/utils.ts index c6f43c94a..c0a62114c 100644 --- a/ui/src/utils.ts +++ b/ui/src/utils.ts @@ -170,6 +170,20 @@ export function debounce(func: any, wait: number = 500, immediate: boolean = fal } } -export function getLanguage() { +export function getLanguage(): string { return (navigator.language || navigator.userLanguage); } + +export function getMomentLanguage(): string { + let lang = getLanguage(); + if (lang.startsWith('zh')) { + lang = 'zh-cn'; + } else if (lang.startsWith('sv')) { + lang = 'sv'; + } else if (lang.startsWith('fr')) { + lang = 'fr'; + } else { + lang = 'en'; + } + return lang; +}