Optionallocale: stringA locale or language code, e.g. "de-DE" or "de"; undefined yields undefined
The language's display name, or undefined when no locale is given
getLanguageName("en-US") // Returns "English"
getLanguageName("de-DE") // Returns "Deutsch"
getLanguageName(undefined) // Returns undefined
export function getLanguageName(locale?: string): string | undefined {
if (!locale) {
return undefined;
}
const base = locale.split('-')[0].toLowerCase();
const entry = (iso639Languages as Record<string, { name: string; native: string }>)[base];
return entry?.native ?? entry?.name ?? locale;
}
Resolves a locale code to a human-readable language name using the
countries-listlanguage data. The native name is preferred (e.g. "Deutsch"), falling back to the English name and finally the raw code.