mirror of
https://github.com/home-assistant/frontend.git
synced 2025-11-04 16:39:44 +00:00
* Inject Intl polyfills where used * Replace Intl polyfill in localize method with loading intl-messageformat asynchronously * Remove spurious feature tests for Intl
22 lines
504 B
TypeScript
22 lines
504 B
TypeScript
import memoizeOne from "memoize-one";
|
|
import { FrontendLocaleData } from "../../data/translation";
|
|
|
|
export const formatLanguageCode = (
|
|
languageCode: string,
|
|
locale: FrontendLocaleData
|
|
) => {
|
|
try {
|
|
return formatLanguageCodeMem(locale)?.of(languageCode) ?? languageCode;
|
|
} catch {
|
|
return languageCode;
|
|
}
|
|
};
|
|
|
|
const formatLanguageCodeMem = memoizeOne(
|
|
(locale: FrontendLocaleData) =>
|
|
new Intl.DisplayNames(locale.language, {
|
|
type: "language",
|
|
fallback: "code",
|
|
})
|
|
);
|