diff --git a/packages/page-settings/src/I18n/index.tsx b/packages/page-settings/src/I18n/index.tsx index 7d17781711..2019462bef 100644 --- a/packages/page-settings/src/I18n/index.tsx +++ b/packages/page-settings/src/I18n/index.tsx @@ -33,10 +33,19 @@ type Progress = [[number, number, number], Record; type StringsMod = Record; -async function retrieveJson (url: string): Promise { - const response = await fetch(`locales/${url}`); +const cache = new Map(); - return response.json(); +async function retrieveJson (url: string): Promise { + if (cache.has(url)) { + return cache.get(url); + } + + const response = await fetch(`locales/${url}`); + const json = await response.json() as unknown; + + cache.set(url, json); + + return json; } async function retrieveEnglish (): Promise {