@@ -72,43 +72,39 @@ public override LocalizedString this[string name]
7272 }
7373 }
7474
75- private string ? GetStringSafely ( string name )
75+ private string ? GetStringSafely ( string name ) => GetStringFromService ( name ) ?? GetStringFromResourceManager ( name ) ?? GetStringFromJson ( name ) ;
76+
77+ private string ? GetStringFromService ( string name )
7678 {
77- string ? val = null ;
79+ // get string from inject service
80+ string ? ret = null ;
7881 if ( jsonLocalizationOptions . DisableGetLocalizerFromService == false )
7982 {
80- val = GetStringFromService ( name ) ;
81- if ( val != null )
83+ var localizer = Utility . GetStringLocalizerFromService ( Assembly , typeName ) ;
84+ if ( localizer != null && localizer is not JsonStringLocalizer )
8285 {
83- return val ;
86+ var l = localizer [ name ] ;
87+ if ( ! l . ResourceNotFound )
88+ {
89+ ret = l . Value ;
90+ }
8491 }
8592 }
86-
87- if ( jsonLocalizationOptions . DisableGetLocalizerFromResourceManager == false )
88- {
89- val = GetStringSafely ( name , CultureInfo . CurrentUICulture ) ;
90- }
91- return val ?? GetStringSafelyFromJson ( name ) ;
93+ return ret ;
9294 }
9395
94- private string ? GetStringFromService ( string name )
96+ private string ? GetStringFromResourceManager ( string name )
9597 {
96- // get string from inject service
9798 string ? ret = null ;
98- var localizer = Utility . GetStringLocalizerFromService ( Assembly , typeName ) ;
99- if ( localizer != null && localizer is not JsonStringLocalizer )
99+ if ( jsonLocalizationOptions . DisableGetLocalizerFromResourceManager == false )
100100 {
101- var l = localizer [ name ] ;
102- if ( ! l . ResourceNotFound )
103- {
104- ret = l . Value ;
105- }
101+ ret = GetStringSafely ( name , CultureInfo . CurrentUICulture ) ;
106102 }
107103 return ret ;
108104 }
109105
110106 private readonly ConcurrentDictionary < string , object ? > _missingManifestCache = [ ] ;
111- private string ? GetStringSafelyFromJson ( string name )
107+ private string ? GetStringFromJson ( string name )
112108 {
113109 // get string from json localization file
114110 var localizerStrings = MegerResolveLocalizers ( CacheManager . GetAllStringsByTypeName ( Assembly , typeName ) ) ;
@@ -131,18 +127,14 @@ public override LocalizedString this[string name]
131127
132128 private List < LocalizedString > MegerResolveLocalizers ( IEnumerable < LocalizedString > ? localizerStrings )
133129 {
134- var localizers = new List < LocalizedString > ( ) ;
135- var resolveLocalizers = CacheManager . GetTypeStringsFromResolve ( typeName ) ;
136- localizers . AddRange ( resolveLocalizers ) ;
137-
130+ var localizers = new List < LocalizedString > ( CacheManager . GetTypeStringsFromResolve ( typeName ) ) ;
138131 if ( localizerStrings != null )
139132 {
140133 localizers . AddRange ( localizerStrings ) ;
141134 }
142135 return localizers ;
143136 }
144137
145-
146138 private void HandleMissingResourceItem ( string name )
147139 {
148140 localizationMissingItemHandler . HandleMissingItem ( name , typeName , CultureInfo . CurrentUICulture . Name ) ;
@@ -177,10 +169,13 @@ public override IEnumerable<LocalizedString> GetAllStrings(bool includeParentCul
177169 IEnumerable < LocalizedString > ? GetAllStringsFromService ( )
178170 {
179171 IEnumerable < LocalizedString > ? ret = null ;
180- var localizer = Utility . GetStringLocalizerFromService ( Assembly , typeName ) ;
181- if ( localizer != null && localizer is not JsonStringLocalizer )
172+ if ( jsonLocalizationOptions . DisableGetLocalizerFromService == false )
182173 {
183- ret = localizer . GetAllStrings ( includeParentCultures ) ;
174+ var localizer = Utility . GetStringLocalizerFromService ( Assembly , typeName ) ;
175+ if ( localizer != null && localizer is not JsonStringLocalizer )
176+ {
177+ ret = localizer . GetAllStrings ( includeParentCultures ) ;
178+ }
184179 }
185180 return ret ;
186181 }
@@ -189,14 +184,18 @@ public override IEnumerable<LocalizedString> GetAllStrings(bool includeParentCul
189184 // get all strings from base json localization factory
190185 IEnumerable < LocalizedString > ? GetAllStringsFromBase ( )
191186 {
192- IEnumerable < LocalizedString > ? ret = base . GetAllStrings ( includeParentCultures ) ;
193- try
194- {
195- CheckMissing ( ) ;
196- }
197- catch ( MissingManifestResourceException )
187+ IEnumerable < LocalizedString > ? ret = null ;
188+ if ( jsonLocalizationOptions . DisableGetLocalizerFromResourceManager == false )
198189 {
199- ret = null ;
190+ ret = base . GetAllStrings ( includeParentCultures ) ;
191+ try
192+ {
193+ CheckMissing ( ) ;
194+ }
195+ catch ( MissingManifestResourceException )
196+ {
197+ ret = null ;
198+ }
200199 }
201200 return ret ;
202201
0 commit comments