diff --git a/src/simulator/src/i18n.js b/src/simulator/src/i18n.js deleted file mode 100644 index 602f4c51..00000000 --- a/src/simulator/src/i18n.js +++ /dev/null @@ -1,17 +0,0 @@ -import Banana from 'banana-i18n' - -const banana = new Banana() -banana.setLocale(window.locale) -const { locale } = banana -const finalFallback = 'en' -// object with default language preloaded -const messages = { - [finalFallback]: require(`./i18n/${finalFallback}.json`), -} -try { - messages[locale] = require(`./i18n/${locale}.json`) -} catch (err) { - // If Asynchronous loading for current locale failed, load default locale -} -banana.load(messages) -export default banana diff --git a/src/simulator/src/i18n.ts b/src/simulator/src/i18n.ts new file mode 100644 index 00000000..0dea0e04 --- /dev/null +++ b/src/simulator/src/i18n.ts @@ -0,0 +1,26 @@ +import Banana from 'banana-i18n' + +// Ensure `window.locale` is typed (you can extend Window interface if needed) +const userLocale = (window as any).locale as string || 'en' + +const banana = new Banana() +banana.setLocale(userLocale) + +const locale = banana.locale +const finalFallback = 'en' + +// Load default (fallback) messages +const messages: Record = { + [finalFallback]: require(`./i18n/${finalFallback}.json`), +} + +// Try to load user's locale file +try { + messages[locale] = require(`./i18n/${locale}.json`) +} catch (err) { + console.warn(`Could not load locale file for ${locale}, falling back to ${finalFallback}.`) +} + +banana.load(messages) + +export default banana