@@ -155,20 +155,23 @@ def ntr(
155155 translation_key : str ,
156156 * args ,
157157 language : Optional [str ] = None ,
158+ _mcdr_tr_language : Optional [str ] = None ,
158159 allow_failure : bool = True ,
159160 ** kwargs
160161) -> MessageText :
162+ if language is not None and _mcdr_tr_language is None :
163+ _mcdr_tr_language = language
161164 try :
162165 return psi .tr (
163- translation_key , * args , language = language , allow_failure = False , ** kwargs
166+ translation_key , * args , language = language , _mcdr_tr_language = _mcdr_tr_language , allow_failure = False , ** kwargs
164167 )
165168 except (KeyError , ValueError ):
166169 fallback_language = psi .get_mcdr_language ()
167170 try :
168171 if fallback_language == 'en_us' :
169172 raise KeyError (translation_key )
170173 return psi .tr (
171- translation_key , * args , language = 'en_us' , allow_failure = allow_failure , ** kwargs
174+ translation_key , * args , _mcdr_tr_language = 'en_us' , language = 'en_us' , allow_failure = allow_failure , ** kwargs
172175 )
173176 except (KeyError , ValueError ):
174177 languages = []
@@ -210,10 +213,13 @@ def dtr(translation_dict: Dict[str, str], *args, **kwargs) -> RTextMCDRTranslati
210213 def fake_tr (
211214 translation_key : str ,
212215 * inner_args ,
216+ _mcdr_tr_language : Optional [str ] = None ,
213217 language : Optional [str ] = None ,
214218 allow_failure : bool = True ,
215219 ** inner_kwargs
216220 ) -> MessageText :
221+ if language is not None and _mcdr_tr_language is None :
222+ _mcdr_tr_language = language
217223 result = translation_dict .get (language )
218224 fallback_language = [psi .get_mcdr_language ()]
219225 if 'en_us' not in fallback_language and 'en_us' != language :
0 commit comments