diff options
author | Dessalines <happydooby@gmail.com> | 2019-08-17 10:22:38 -0700 |
---|---|---|
committer | Dessalines <happydooby@gmail.com> | 2019-08-17 10:22:38 -0700 |
commit | 884a1c644b84cb281a36c7bfaac2ecf565cf7eb1 (patch) | |
tree | adfb8a9921bcb61a7e7d72d8f3144ca9d28e3779 | |
parent | 05812b54352257ac2e70f04ee32ba849dbc591a8 (diff) |
Fix moment locale issue.
- Fixes #206
-rw-r--r-- | ui/src/components/moment-time.tsx | 8 | ||||
-rw-r--r-- | 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 2179499f..83c97fb3 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<MomentTimeProps, any> { 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 c6f43c94..c0a62114 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; +} |