@@ -68,11 +68,13 @@ let defaultConfig = {
6868type recoilConfig = {
6969 config : configClass ,
7070 themeObj : themeClass ,
71- localeString : LocaleStringTypes .localeStrings ,
72- constantString : LocaleStringTypes .constantStrings ,
71+ localeString : LocaleDataType .localeStrings ,
72+ constantString : LocaleDataType .constantStrings ,
7373 showLoader : bool ,
7474}
7575
76+ @val external importJSON : string => promise <LocaleDataType .localeStrings > = "import"
77+
7678let getLocaleObject = async string => {
7779 try {
7880 let locale = if string == "auto" {
@@ -81,48 +83,62 @@ let getLocaleObject = async string => {
8183 string
8284 }
8385
84- let promiseLocale = switch locale -> LocaleStringHelper .mapLocalStringToTypeLocale {
85- | EN => Js .import (EnglishLocale .localeStrings )
86- | HE => Js .import (HebrewLocale .localeStrings )
87- | FR => Js .import (FrenchLocale .localeStrings )
88- | EN_GB => Js .import (EnglishGBLocale .localeStrings )
89- | AR => Js .import (ArabicLocale .localeStrings )
90- | JA => Js .import (JapaneseLocale .localeStrings )
91- | DE => Js .import (DeutschLocale .localeStrings )
92- | FR_BE => Js .import (FrenchBelgiumLocale .localeStrings )
93- | ES => Js .import (SpanishLocale .localeStrings )
94- | CA => Js .import (CatalanLocale .localeStrings )
95- | ZH => Js .import (ChineseLocale .localeStrings )
96- | PT => Js .import (PortugueseLocale .localeStrings )
97- | IT => Js .import (ItalianLocale .localeStrings )
98- | PL => Js .import (PolishLocale .localeStrings )
99- | NL => Js .import (DutchLocale .localeStrings )
100- | SV => Js .import (SwedishLocale .localeStrings )
101- | RU => Js .import (RussianLocale .localeStrings )
102- | ZH_HANT => Js .import (TraditionalChineseLocale .localeStrings )
103- }
104-
86+ let promiseLocale = switch locale -> LocaleDataType .localeStringToType {
87+ | Some (En ) => importJSON ("../shared-code/assets/v2/jsons/locales/en.json" )
88+ | Some (He ) => importJSON ("../shared-code/assets/v2/jsons/locales/he.json" )
89+ | Some (Fr ) => importJSON ("../shared-code/assets/v2/jsons/locales/fr.json" )
90+ | Some (En_GB ) => importJSON ("../shared-code/assets/v2/jsons/locales/en-GB.json" )
91+ | Some (Ar ) => importJSON ("../shared-code/assets/v2/jsons/locales/ar.json" )
92+ | Some (Ja ) => importJSON ("../shared-code/assets/v2/jsons/locales/ja.json" )
93+ | Some (De ) => importJSON ("../shared-code/assets/v2/jsons/locales/de.json" )
94+ | Some (Fr_BE ) => importJSON ("../shared-code/assets/v2/jsons/locales/fr-BE.json" )
95+ | Some (Es ) => importJSON ("../shared-code/assets/v2/jsons/locales/es.json" )
96+ | Some (Ca ) => importJSON ("../shared-code/assets/v2/jsons/locales/ca.json" )
97+ // | Some(Zh) => importJSON("../shared-code/assets/v2/jsons/locales/zh.json") // Pending support
98+ | Some (Pt ) => importJSON ("../shared-code/assets/v2/jsons/locales/pt.json" )
99+ | Some (It ) => importJSON ("../shared-code/assets/v2/jsons/locales/it.json" )
100+ | Some (Pl ) => importJSON ("../shared-code/assets/v2/jsons/locales/pl.json" )
101+ | Some (Nl ) => importJSON ("../shared-code/assets/v2/jsons/locales/nl.json" )
102+ | Some (NI_BE ) => importJSON ("../shared-code/assets/v2/jsons/locales/nl-BE.json" ) // to check
103+ | Some (Sv ) => importJSON ("../shared-code/assets/v2/jsons/locales/sv.json" )
104+ | Some (Ru ) => importJSON ("../shared-code/assets/v2/jsons/locales/ru.json" )
105+ // | Some(Zh_HANT) => importJSON("../shared-code/assets/v2/jsons/locales/zh-Hant.json") // Pending support
106+ | Some (Lt ) => importJSON ("../shared-code/assets/v2/jsons/locales/lt.json" )
107+ | Some (Cs ) => importJSON ("../shared-code/assets/v2/jsons/locales/cs.json" )
108+ | Some (Sk ) => importJSON ("../shared-code/assets/v2/jsons/locales/sk.json" )
109+ | Some (Ls ) => importJSON ("../shared-code/assets/v2/jsons/locales/is.json" ) // to check
110+ | Some (Cy ) => importJSON ("../shared-code/assets/v2/jsons/locales/cy.json" )
111+ | Some (El ) => importJSON ("../shared-code/assets/v2/jsons/locales/el.json" )
112+ | Some (Et ) => importJSON ("../shared-code/assets/v2/jsons/locales/et.json" )
113+ | Some (Fi ) => importJSON ("../shared-code/assets/v2/jsons/locales/fi.json" )
114+ | Some (Nb ) => importJSON ("../shared-code/assets/v2/jsons/locales/no.json" ) // to check
115+ | Some (Bs ) => importJSON ("../shared-code/assets/v2/jsons/locales/bs.json" )
116+ | Some (Da ) => importJSON ("../shared-code/assets/v2/jsons/locales/da.json" )
117+ | Some (Ms ) => importJSON ("../shared-code/assets/v2/jsons/locales/ms.json" )
118+ | Some (Tr_CY ) => importJSON ("../shared-code/assets/v2/jsons/locales/tr-CY.json" )
119+ | None => importJSON ("../shared-code/assets/v2/jsons/locales/en.json" )
120+ }
105121 let awaitedLocaleValue = await promiseLocale
106122 awaitedLocaleValue
107123 } catch {
108- | _ => EnglishLocale . localeStrings
124+ | _ => LocaleDataType . defaultLocale
109125 }
110126}
111127
112128let getConstantStringsObject = async () => {
113129 try {
114- let promiseConstantStrings = Js .import (ConstantStrings . constantStrings )
130+ let promiseConstantStrings = Js .import (LocaleDataType . defaultConstantStrings )
115131 await promiseConstantStrings
116132 } catch {
117- | _ => ConstantStrings . constantStrings
133+ | _ => LocaleDataType . defaultConstantStrings
118134 }
119135}
120136
121137let defaultRecoilConfig : recoilConfig = {
122138 config : defaultConfig ,
123139 themeObj : defaultConfig .appearance .variables ,
124- localeString : EnglishLocale . localeStrings ,
125- constantString : ConstantStrings . constantStrings ,
140+ localeString : LocaleDataType . defaultLocale ,
141+ constantString : LocaleDataType . defaultConstantStrings ,
126142 showLoader : false ,
127143}
128144
0 commit comments