Skip to content

Commit

Permalink
fix: don't show error when locale is C/C.UTF-8
Browse files Browse the repository at this point in the history
  • Loading branch information
haoqunjiang authored and cexbrayat committed Jan 6, 2025
1 parent 3642c1c commit df50c11
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions utils/getLanguage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down

0 comments on commit df50c11

Please sign in to comment.