···1314import {sanitizeAppLanguageSetting} from '#/locale/helpers'
15import {AppLanguage} from '#/locale/languages'
016import {messages as messagesAn} from '#/locale/locales/an/messages'
17import {messages as messagesAst} from '#/locale/locales/ast/messages'
18import {messages as messagesCa} from '#/locale/locales/ca/messages'
···125 break
126 }
127 case AppLanguage.en_GB: {
128- i18n.loadAndActivate({locale, messages: messagesEn_GB})
0129 await Promise.all([
130 import('@formatjs/intl-pluralrules/locale-data/en'),
131 import('@formatjs/intl-numberformat/locale-data/en-GB'),
···418 await Promise.all([
419 import('@formatjs/intl-pluralrules/locale-data/zh'),
420 import('@formatjs/intl-numberformat/locale-data/zh'),
421- import('@formatjs/intl-displaynames/locale-data/zh'),
422 ])
423 break
424 }
425 default: {
426- i18n.loadAndActivate({locale, messages: messagesEn})
0427 break
428 }
429 }
···1314import {sanitizeAppLanguageSetting} from '#/locale/helpers'
15import {AppLanguage} from '#/locale/languages'
16+import {applySkeetReplacements} from '#/locale/linguiHook'
17import {messages as messagesAn} from '#/locale/locales/an/messages'
18import {messages as messagesAst} from '#/locale/locales/ast/messages'
19import {messages as messagesCa} from '#/locale/locales/ca/messages'
···126 break
127 }
128 case AppLanguage.en_GB: {
129+ const transformedMsgs = applySkeetReplacements(messagesEn_GB, locale)
130+ i18n.loadAndActivate({locale, messages: transformedMsgs})
131 await Promise.all([
132 import('@formatjs/intl-pluralrules/locale-data/en'),
133 import('@formatjs/intl-numberformat/locale-data/en-GB'),
···420 await Promise.all([
421 import('@formatjs/intl-pluralrules/locale-data/zh'),
422 import('@formatjs/intl-numberformat/locale-data/zh'),
0423 ])
424 break
425 }
426 default: {
427+ const transformedMsgs = applySkeetReplacements(messagesEn, locale)
428+ i18n.loadAndActivate({locale, messages: transformedMsgs})
429 break
430 }
431 }
+22-5
src/locale/i18n.web.ts
···1import {useEffect} from 'react'
2-import {i18n} from '@lingui/core'
34import {sanitizeAppLanguageSetting} from '#/locale/helpers'
5import {AppLanguage} from '#/locale/languages'
06import {useLanguagePrefs} from '#/state/preferences'
78/**
9 * We do a dynamic import of just the catalog that we need
10 */
11export async function dynamicActivate(locale: AppLanguage) {
12- let mod: any
1314 switch (locale) {
15 case AppLanguage.an: {
···40 mod = await import(`./locales/el/messages`)
41 break
42 }
000000043 case AppLanguage.en_GB: {
44 mod = await import(`./locales/en-GB/messages`)
00000045 break
46 }
47 case AppLanguage.eo: {
···174 }
175 default: {
176 mod = await import(`./locales/en/messages`)
000000177 break
178 }
179 }
180-181- i18n.load(locale, mod.messages)
182- i18n.activate(locale)
183}
184185export function useLocaleLanguage() {
···1import {useEffect} from 'react'
2+import {i18n, type Messages} from '@lingui/core'
34import {sanitizeAppLanguageSetting} from '#/locale/helpers'
5import {AppLanguage} from '#/locale/languages'
6+import {applySkeetReplacements} from '#/locale/linguiHook'
7import {useLanguagePrefs} from '#/state/preferences'
89/**
10 * We do a dynamic import of just the catalog that we need
11 */
12export async function dynamicActivate(locale: AppLanguage) {
13+ let mod: {messages: Messages}
1415 switch (locale) {
16 case AppLanguage.an: {
···41 mod = await import(`./locales/el/messages`)
42 break
43 }
44+ case AppLanguage.en: {
45+ mod = await import(`./locales/en/messages`)
46+ const transformedEnMessages = applySkeetReplacements(mod.messages, locale)
47+ i18n.load(locale, transformedEnMessages)
48+ i18n.activate(locale)
49+ break
50+ }
51 case AppLanguage.en_GB: {
52 mod = await import(`./locales/en-GB/messages`)
53+ const transformedEnGbMessages = applySkeetReplacements(
54+ mod.messages,
55+ locale,
56+ )
57+ i18n.load(locale, transformedEnGbMessages)
58+ i18n.activate(locale)
59 break
60 }
61 case AppLanguage.eo: {
···188 }
189 default: {
190 mod = await import(`./locales/en/messages`)
191+ const transformedDefaultMessages = applySkeetReplacements(
192+ mod.messages,
193+ locale,
194+ )
195+ i18n.load(locale, transformedDefaultMessages)
196+ i18n.activate(locale)
197 break
198 }
199 }
000200}
201202export function useLocaleLanguage() {