@@ -8,7 +8,7 @@ import { ReactLocalization, LocalizationProvider } from "@fluent/react";
88const ftl = require ( "../public/*.ftl" ) ;
99
1010const DEFAULT_LOCALE = "en-US" ;
11- const AVAILABLE_LOCALES = {
11+ export const AVAILABLE_LOCALES = {
1212 "en-US" : "English" ,
1313 "pl" : "Polish" ,
1414} ;
@@ -33,7 +33,6 @@ interface AppLocalizationProviderProps {
3333}
3434
3535export function AppLocalizationProvider ( props : AppLocalizationProviderProps ) {
36- let [ currentLocales , setCurrentLocales ] = useState ( [ DEFAULT_LOCALE ] ) ;
3736 let [ l10n , setL10n ] = useState < ReactLocalization | null > ( null ) ;
3837
3938 useEffect ( ( ) => {
@@ -46,7 +45,6 @@ export function AppLocalizationProvider(props: AppLocalizationProviderProps) {
4645 Object . keys ( AVAILABLE_LOCALES ) ,
4746 { defaultLocale : DEFAULT_LOCALE }
4847 ) ;
49- setCurrentLocales ( currentLocales ) ;
5048
5149 let fetchedMessages = await Promise . all (
5250 currentLocales . map ( fetchMessages )
@@ -60,18 +58,9 @@ export function AppLocalizationProvider(props: AppLocalizationProviderProps) {
6058 return < div > Loading…</ div > ;
6159 }
6260
63- return < >
64- < LocalizationProvider l10n = { l10n } >
61+ return (
62+ < LocalizationProvider l10n = { l10n } changeLocales = { changeLocales } initialLocales = { navigator . languages } >
6563 { Children . only ( props . children ) }
6664 </ LocalizationProvider >
67-
68- < hr />
69- < select
70- onChange = { event => changeLocales ( [ event . target . value ] ) }
71- value = { currentLocales [ 0 ] } >
72- { Object . entries ( AVAILABLE_LOCALES ) . map (
73- ( [ code , name ] ) => < option key = { code } value = { code } > { name } </ option >
74- ) }
75- </ select >
76- </ > ;
65+ ) ;
7766}
0 commit comments