20 lines
662 B
TypeScript
20 lines
662 B
TypeScript
export const supportedLanguages = [
|
|
{ code: "en", label: "English" },
|
|
{ code: "es", label: "Spanish" },
|
|
{ code: "de", label: "German" },
|
|
] as const
|
|
|
|
export type SupportedLanguage = (typeof supportedLanguages)[number]["code"]
|
|
|
|
export const supportedLanguageCodes = supportedLanguages.map(
|
|
(language) => language.code,
|
|
) as [SupportedLanguage, ...SupportedLanguage[]]
|
|
|
|
export function getLanguageLabel(code: string) {
|
|
return supportedLanguages.find((language) => language.code === code)?.label ?? code
|
|
}
|
|
|
|
export function isSupportedLanguage(code: string): code is SupportedLanguage {
|
|
return supportedLanguageCodes.includes(code as SupportedLanguage)
|
|
}
|