From 888dba72e46df292263dc13c1e65076a02d25ce3 Mon Sep 17 00:00:00 2001 From: mohsentaba Date: Mon, 19 Oct 2026 16:59:34 +0330 Subject: [PATCH] fix(transmitters): preserve target language in get_formatted_date lookup - Allow YearValue to return translations in any requested target language - Only fallback to 'en' when invoking date_engine format_canonical_date --- apps/hadis/models/transmitter.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/hadis/models/transmitter.py b/apps/hadis/models/transmitter.py index 4e4d553..b0a010d 100644 --- a/apps/hadis/models/transmitter.py +++ b/apps/hadis/models/transmitter.py @@ -310,8 +310,6 @@ class Transmitters(LowercaseSlugMixin, models.Model): raw_str = str(raw_val).strip() target_lang = (lang or 'ru').split('-')[0].lower() - if target_lang not in ('ru', 'en', 'ar'): - target_lang = 'en' # Check prefetched narrator_dates first if available if hasattr(self, '_prefetched_objects_cache') and 'narrator_dates' in self._prefetched_objects_cache: @@ -330,7 +328,8 @@ class Transmitters(LowercaseSlugMixin, models.Model): return txt from ..utils.date_engine import format_canonical_date - return format_canonical_date(raw_str, category=date_type, lang=target_lang) + engine_lang = target_lang if target_lang in ('ru', 'en', 'ar') else 'en' + return format_canonical_date(raw_str, category=date_type, lang=engine_lang) def get_formatted_birth_year(self, lang: str = 'ru') -> Optional[str]: return self.get_formatted_date('birth', lang=lang)