feat: 🎸 Fallback language (#7)

If language does not exist, it falls back top first language in list
This commit is contained in:
Johan Öbrink 2021-04-26 10:14:14 +02:00 committed by GitHub
parent b6137abb05
commit e944468734
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 6 deletions

View File

@ -10,15 +10,20 @@ interface RawTranslation extends Translation {
specialLanguages: Repo
}
export type Language = 'sv' | 'en'
const languageList = ['sv', 'en']
export type Language = typeof languageList[number]
type Translations = Record<Language, RawTranslation>
const translations: Translations = {
sv: require('./sv.json'),
en: require('./en.json'),
}
const translations: Translations = languageList.reduce(
(map, lang) => ({
...map,
[lang]: require(`./${lang}.json`),
}),
{}
)
const translate = (lang: Language): Translation => {
const selectedLanguage = languageList.includes(lang) ? lang : languageList[0]
const {
subjects,
traningsskolaSubjects,
@ -26,7 +31,7 @@ const translate = (lang: Language): Translation => {
languages,
categories,
misc,
} = translations[lang]
} = translations[selectedLanguage]
return {
subjects,