]> git.ipfire.org Git - thirdparty/vuejs/create-vue.git/commitdiff
fix: don't show error when locale is C/C.UTF-8
authorHaoqun Jiang <haoqunjiang@gmail.com>
Sun, 5 Jan 2025 08:39:05 +0000 (16:39 +0800)
committerCédric Exbrayat <cexbrayat@users.noreply.github.com>
Mon, 6 Jan 2025 07:59:45 +0000 (08:59 +0100)
utils/getLanguage.ts

index 0334f6343e1602db03ba4ad653d8a91614d195d2..6a1e12d72d9ce945d619878f77e6bde13e752d14 100644 (file)
@@ -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]