# website/templatetags/persian_numbers.py

from django import template

register = template.Library()

@register.filter
def to_persian_numbers(value):
    persian_digits = '۰۱۲۳۴۵۶۷۸۹'
    return str(value).translate(str.maketrans('0123456789', persian_digits))


# website/templatetags/persian_numbers.py

from django import template

register = template.Library()

@register.filter
def to_persian_numbers(value):
    persian_digits = '۰۱۲۳۴۵۶۷۸۹'
    return str(value).translate(str.maketrans('0123456789', persian_digits))
    
import jdatetime

PERSIAN_MONTHS = {
    "Farvardin": "فروردین",
    "Ordibehesht": "اردیبهشت",
    "Khordad": "خرداد",
    "Tir": "تیر",
    "Mordad": "مرداد",
    "Shahrivar": "شهریور",
    "Mehr": "مهر",
    "Aban": "آبان",
    "Azar": "آذر",
    "Dey": "دی",
    "Bahman": "بهمن",
    "Esfand": "اسفند",
}

@register.filter
def jalali_fa(value):
    if not value:
        return ""

    jdate = jdatetime.date.fromgregorian(date=value)
    s = jdate.strftime("%d %B %Y")

    for en, fa in PERSIAN_MONTHS.items():
        s = s.replace(en, fa)

    # فارسی کردن عددها
    digits = str.maketrans("0123456789", "۰۱۲۳۴۵۶۷۸۹")
    return s.translate(digits)