@@ -182,24 +182,7 @@ def replace_search_facets(data, translation_dict, lang):
182
182
183
183
184
184
def _apply_translated_properties (data : Any , preferred_lang : str , fallback_lang : str = DEFAULT_FALLBACK_LANG ):
185
- if isinstance (data , dict ):
186
- for key , value in list (data .items ()):
187
- if isinstance (value , dict ):
188
- _apply_translated_properties (value , preferred_lang , fallback_lang )
189
- elif isinstance (value , list ):
190
- data [key ] = [
191
- _apply_translated_properties (item , preferred_lang , fallback_lang )
192
- if isinstance (item , (dict , list ))
193
- else item
194
- for item in value
195
- ]
196
-
197
- for key , value in list (data .items ()):
198
- if key .endswith (TRANSLATED_SUFFIX ) and isinstance (value , dict ):
199
- base_key = key [:- len (TRANSLATED_SUFFIX )]
200
- data [base_key ] = _select_translated_value (value , preferred_lang , fallback_lang )
201
- elif key in LANGUAGE_VALUE_FIELDS and isinstance (value , dict ):
202
- data [key ] = _select_translated_value (value , preferred_lang , fallback_lang )
185
+ if not isinstance (data , (dict , list )):
203
186
return data
204
187
205
188
if isinstance (data , list ):
@@ -210,6 +193,24 @@ def _apply_translated_properties(data: Any, preferred_lang: str, fallback_lang:
210
193
for item in data
211
194
]
212
195
196
+ for key , value in list (data .items ()):
197
+ if isinstance (value , dict ):
198
+ _apply_translated_properties (value , preferred_lang , fallback_lang )
199
+ elif isinstance (value , list ):
200
+ data [key ] = [
201
+ _apply_translated_properties (item , preferred_lang , fallback_lang )
202
+ if isinstance (item , (dict , list ))
203
+ else item
204
+ for item in value
205
+ ]
206
+
207
+ for key , value in list (data .items ()):
208
+ if key .endswith (TRANSLATED_SUFFIX ) and isinstance (value , dict ):
209
+ base_key = key [:- len (TRANSLATED_SUFFIX )]
210
+ data [base_key ] = _select_translated_value (value , preferred_lang , fallback_lang )
211
+ elif key in LANGUAGE_VALUE_FIELDS and isinstance (value , dict ):
212
+ data [key ] = _select_translated_value (value , preferred_lang , fallback_lang )
213
+
213
214
return data
214
215
215
216
0 commit comments