2020-03-08 22:45:07 +07:00
|
|
|
import dayjs from 'dayjs';
|
|
|
|
import i18n from 'i18next';
|
|
|
|
|
|
|
|
function getFallFackLanguage(): string | undefined {
|
|
|
|
const fallbackLanguage = i18n.options.fallbackLng;
|
|
|
|
|
|
|
|
if (Array.isArray(fallbackLanguage)) {
|
|
|
|
return fallbackLanguage[0];
|
|
|
|
}
|
|
|
|
|
|
|
|
if (typeof fallbackLanguage === 'string') {
|
|
|
|
return fallbackLanguage;
|
|
|
|
}
|
|
|
|
|
|
|
|
return undefined;
|
|
|
|
}
|
|
|
|
|
|
|
|
function loadDayJSLocale() {
|
|
|
|
const fallbackLanguage = getFallFackLanguage();
|
|
|
|
const locale = i18n.language || fallbackLanguage;
|
|
|
|
|
|
|
|
// dayjs loades en-US by default
|
|
|
|
if (!locale || locale === 'en-US') {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (locale.toLowerCase()) {
|
|
|
|
case 'pt-br':
|
|
|
|
{
|
|
|
|
require('dayjs/locale/pt-br');
|
|
|
|
dayjs.locale('pt-br');
|
|
|
|
}
|
|
|
|
break;
|
2020-04-23 13:20:41 +07:00
|
|
|
case 'de-de':
|
2020-03-12 17:40:12 +07:00
|
|
|
{
|
|
|
|
require('dayjs/locale/de');
|
|
|
|
dayjs.locale('de');
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case 'es-es':
|
|
|
|
{
|
|
|
|
require('dayjs/locale/es');
|
|
|
|
dayjs.locale('es');
|
|
|
|
}
|
|
|
|
break;
|
2020-04-17 13:42:38 +07:00
|
|
|
case 'fr-fr':
|
|
|
|
{
|
|
|
|
require('dayjs/locale/fr');
|
|
|
|
dayjs.locale('fr');
|
|
|
|
}
|
|
|
|
break;
|
2020-04-02 14:07:56 +07:00
|
|
|
case 'zh-cn':
|
|
|
|
{
|
|
|
|
require('dayjs/locale/zh-cn');
|
|
|
|
dayjs.locale('zh-cn');
|
|
|
|
}
|
|
|
|
break;
|
2020-03-08 22:45:07 +07:00
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default loadDayJSLocale;
|