summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/frontend/src/init.ts13
-rw-r--r--packages/frontend/src/local-storage.ts1
2 files changed, 14 insertions, 0 deletions
diff --git a/packages/frontend/src/init.ts b/packages/frontend/src/init.ts
index 09fb7caf14..d90d3b5532 100644
--- a/packages/frontend/src/init.ts
+++ b/packages/frontend/src/init.ts
@@ -80,6 +80,19 @@ import { claimAchievement, claimedAchievements } from './scripts/achievements';
});
}
+ //#region Detect language & fetch translations
+ const localeVersion = miLocalStorage.getItem('localeVersion');
+ const localeOutdated = (localeVersion == null || localeVersion !== version);
+ if (localeOutdated) {
+ const res = await window.fetch(`/assets/locales/${lang}.${version}.json`);
+ if (res.status === 200) {
+ miLocalStorage.setItem('locale', await res.text());
+ miLocalStorage.setItem('localeVersion', version);
+ location.reload();
+ }
+ }
+ //#endregion
+
// タッチデバイスでCSSの:hoverを機能させる
document.addEventListener('touchend', () => {}, { passive: true });
diff --git a/packages/frontend/src/local-storage.ts b/packages/frontend/src/local-storage.ts
index bb8192e980..68dc9ebe41 100644
--- a/packages/frontend/src/local-storage.ts
+++ b/packages/frontend/src/local-storage.ts
@@ -19,6 +19,7 @@ type Keys =
'fontSize' |
'ui' |
'locale' |
+ 'localeVersion' |
'theme' |
'customCss' |
'message_drafts' |