From 5b02a6dde0dec522d57f9f32c6a061e18ddccc2c Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sun, 5 Jan 2025 16:39:05 +0800 Subject: [PATCH] fix: don't show error when locale is C/C.UTF-8 --- utils/getLanguage.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/utils/getLanguage.ts b/utils/getLanguage.ts index 0334f634..6a1e12d7 100644 --- a/utils/getLanguage.ts +++ b/utils/getLanguage.ts @@ -51,6 +51,18 @@ interface Language { * @returns locale that linked with correct name */ function linkLocale(locale: string) { + // The C locale is the default system locale for POSIX systems. + // https://docs.oracle.com/cd/E36784_01/html/E36823/glmar.html + // https://sourceware.org/glibc/wiki/Proposals/C.UTF-8 + // It is common among containerized environments or minimal virtual environments + // though most user-facing systems would have a more specific locale set. + // The problem here is that the C locale is not a valid language tag for the Intl API. + // But it is not desirable to throw an error in this case. + // So we map it to 'en-US'. + if (locale === 'C') { + return 'en-US' + } + let linkedLocale: string try { linkedLocale = Intl.getCanonicalLocales(locale)[0] pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy