"""i18n helpers for serializers."""

from apps.core.middleware import get_current_language


def localized_field(instance, field_base_name):
    """
    Return the localized value of a field based on current language.
    E.g., localized_field(store, 'name') returns store.name_ar or store.name_en.
    """
    lang = get_current_language()
    field_name = f"{field_base_name}_{lang}"
    value = getattr(instance, field_name, None)
    # Fallback to English if the localized field is empty
    if not value:
        value = getattr(instance, f"{field_base_name}_en", "")
    return value
