From 2c481cc6c39c64db25e865272b72690e404fbb7f Mon Sep 17 00:00:00 2001 From: Cocoa Hoto Date: Thu, 20 Jun 2024 07:57:33 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"=E8=A1=A8=E7=A4=BA=E8=A8=80=E8=AA=9E?= =?UTF-8?q?=E3=81=8C=E8=A8=AD=E5=AE=9A=E3=81=95=E3=82=8C=E3=81=A6=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=A0=B4=E5=90=88=E3=80=81=E3=83=96=E3=83=A9=E3=82=A6?= =?UTF-8?q?=E3=82=B6=E3=81=AE=E8=A8=80=E8=AA=9E=E3=81=A8=E9=96=A2=E4=BF=82?= =?UTF-8?q?=E3=81=AA=E3=81=8F=E6=97=A5=E6=9C=AC=E8=AA=9E=E3=81=AB=E3=81=99?= =?UTF-8?q?=E3=82=8B=20(MisskeyIO#175)"=20(#28)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e695c60a1dbe692bd0d4b07cfcb0dbce96210234. --- packages/backend/src/server/web/boot.js | 18 ++++++++++++++++-- packages/frontend/src/config.ts | 2 +- packages/sw/src/scripts/lang.ts | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 60f1e05e8..aa473cbaf 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -34,9 +34,17 @@ //#region Detect language & fetch translations if (!localStorage.hasOwnProperty('locale')) { + const supportedLangs = LANGS; let lang = localStorage.getItem('lang'); - if (lang == null || lang.toString == null || lang.toString() === 'null') { - lang = 'ja-JP'; + if (lang == null || !supportedLangs.includes(lang)) { + if (supportedLangs.includes(navigator.language)) { + lang = navigator.language; + } else { + lang = supportedLangs.find(x => x.split('-')[0] === navigator.language); + + // Fallback + if (lang == null) lang = 'en-US'; + } } const metaRes = await window.fetch('/api/meta', { @@ -59,6 +67,12 @@ return; } + // for https://github.com/misskey-dev/misskey/issues/10202 + if (lang == null || lang.toString == null || lang.toString() === 'null') { + console.error('invalid lang value detected!!!', typeof lang, lang); + lang = 'en-US'; + } + const localRes = await window.fetch(`/assets/locales/${lang}.${v}.json`); if (localRes.status === 200) { localStorage.setItem('lang', lang); diff --git a/packages/frontend/src/config.ts b/packages/frontend/src/config.ts index fec8bfa16..277dfc12a 100644 --- a/packages/frontend/src/config.ts +++ b/packages/frontend/src/config.ts @@ -13,7 +13,7 @@ export const hostname = address.hostname; export const url = address.origin; export const apiUrl = location.origin + '/api'; export const wsOrigin = location.origin; -export const lang = miLocalStorage.getItem('lang') ?? 'ja-JP'; +export const lang = miLocalStorage.getItem('lang') ?? 'en-US'; export const langs = _LANGS_; const preParseLocale = miLocalStorage.getItem('locale'); export let locale = preParseLocale ? JSON.parse(preParseLocale) : null; diff --git a/packages/sw/src/scripts/lang.ts b/packages/sw/src/scripts/lang.ts index 022e31874..6fccedd74 100644 --- a/packages/sw/src/scripts/lang.ts +++ b/packages/sw/src/scripts/lang.ts @@ -13,7 +13,7 @@ class SwLang { public cacheName = `mk-cache-${_VERSION_}`; public lang: Promise = get('lang').then(async prelang => { - if (!prelang) return 'ja-JP'; + if (!prelang) return 'en-US'; return prelang; });