Commit a6bc7775 authored by Moody Salem's avatar Moody Salem

chore(i18n): single directory for locales

parent 3452be9a
module.exports = {
catalogs: [
{
path: '<rootDir>/src/locales/{locale}/messages',
path: '<rootDir>/src/locales/{locale}',
include: ['<rootDir>/src'],
},
],
......
......@@ -4,21 +4,7 @@ import { I18nProvider } from '@lingui/react'
import { detect, fromUrl } from '@lingui/detect-locale'
import { ReactNode, useEffect } from 'react'
export const locales = [
'en',
'pseudo-en',
'de',
'en',
'es-AR',
'es-US',
'it-IT',
'iw',
'ro',
'ru',
'vi',
'zh-CN',
'zh-TW',
]
export const locales = ['en', 'pseudo-en', 'de', 'es-AR', 'es-US', 'it-IT', 'iw', 'ro', 'ru', 'vi', 'zh-CN', 'zh-TW']
export const defaultLocale = 'en'
// load locale data for each supported language
......@@ -34,14 +20,16 @@ const getDetectedLocale = () => {
}
export async function dynamicActivate(locale: string) {
const { messages } = await import(`@lingui/loader!./locales/${locale}/messages.po`)
const { messages } = await import(`@lingui/loader!./locales/${locale}.po`)
i18n.load(locale, messages)
i18n.activate(locale)
}
export function LanguageProvider({ children }: { children: ReactNode }) {
useEffect(() => {
dynamicActivate(getDetectedLocale())
dynamicActivate(getDetectedLocale()).catch((error) => {
console.error('Failed to load locale data', error)
})
}, [])
return <I18nProvider i18n={i18n}>{children}</I18nProvider>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment