Skip to content
Snippets Groups Projects
Commit aff8a3e6 authored by Konrad Mohrfeldt's avatar Konrad Mohrfeldt :koala:
Browse files

feat: add localized day and month name helpers

parent 22029f3b
No related branches found
No related tags found
No related merge requests found
import Polyglot from 'node-polyglot'
import { App, computed, reactive } from 'vue'
import { has } from '@/utilities'
import { range } from 'lodash'
import { parseISO } from 'date-fns'
const STORAGE_KEY = 'aura:locale'
......@@ -57,6 +60,28 @@ export function getLanguageName(languageCode: string) {
return new Intl.DisplayNames([languageCode], { type: 'language' }).of(languageCode)
}
/**
* Returns a list of weekday names starting on monday.
* @param locale string
*/
export function getDayNames(locale: string) {
return range(7).map((i) =>
// January, 1st 2018 is a monday
parseISO(`2018-01-0${i + 1}`).toLocaleString(locale, { weekday: 'long' }),
)
}
export function getMonthNames(locale: string) {
return range(12).map((i) =>
parseISO(`2018-${(i + 1).toString().padStart(2, '0')}-01`).toLocaleString(locale, {
month: 'long',
}),
)
}
const dayNames = computed(() => getDayNames(locale.value))
const monthNames = computed(() => getMonthNames(locale.value))
export function useI18n() {
// This interface is intentionally similar to the one provided by
// Vue I18n to make it easier for newcomers already familiar with it
......@@ -66,6 +91,8 @@ export function useI18n() {
t,
te,
locale,
dayNames,
monthNames,
availableLocales,
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment