@@ -16,18 +16,20 @@ import i18next from 'i18next';
1616import { useCallback } from 'react' ;
1717import { initReactI18next , useTranslation } from 'react-i18next' ;
1818import en from './locales/en.json' ;
19+ import es from './locales/es.json' ;
1920import ptBR from './locales/pt-BR.json' ;
2021import zhCN from './locales/zh-CN.json' ;
2122
22- export const availableLocales = [ 'en' , 'zh-CN ' , 'pt-BR' ] as const ;
23+ export const availableLocales = [ 'en' , 'es ' , 'pt-BR' , 'zh-CN '] as const ;
2324export type Locale = ( typeof availableLocales ) [ number ] ;
2425
2526const DEFAULT_LOCALE : Locale = 'en' ;
2627
2728const resources = {
2829 en : { translation : en } ,
29- 'zh-CN' : { translation : zhCN } ,
30+ es : { translation : es } ,
3031 'pt-BR' : { translation : ptBR } ,
32+ 'zh-CN' : { translation : zhCN } ,
3133} as const ;
3234
3335export function isSupportedLocale ( value : string | undefined | null ) : value is Locale {
@@ -45,6 +47,9 @@ export function normalizeLocale(value: string | undefined | null): Locale {
4547 if ( lower === 'pt-br' || lower === 'pt_br' || lower === 'pt' || lower . startsWith ( 'pt-' ) ) {
4648 return 'pt-BR' ;
4749 }
50+ if ( lower === 'es' || lower . startsWith ( 'es-' ) || lower === 'es_' ) {
51+ return 'es' ;
52+ }
4853 if ( lower . startsWith ( 'en' ) ) return 'en' ;
4954 console . warn (
5055 `[i18n] unsupported locale "${ value } ", falling back to "${ DEFAULT_LOCALE } ". ` +
0 commit comments