Closed alishirmohammadi closed 1 year ago
برای نمایش فارسی تاریخ ها باید در تنظیمات environment
را فارسی ست کنید. برای این کار میتوانید از روش های زیر اقدام کنید.
set the local in uwsgi, gunicorn or DockerFile. for example uwsgi.ini
LANG=fa_IR.UTF-8
LANGUAGE=fa_IR.UTF-8
or set the locale in settings.py
LANGUAGE_CODE = 'fa-ir'
import locale
locale.setlocale(locale.LC_ALL, "fa_IR.UTF-8")
or run server with LC_ALL env
LC_ALL=fa_IR python manage.py runserver
@a-roomana
سلام، ضمن تشکر از زحمات شما من از جنگو 3 استفاده میکنم، هر کاری کردم ایام هفته ماه ها فارسی بشن، نشد، همه ی این روش ها رو تست کردم. ممنون میشم راه حلی ارائه بدین
سلام، من هم همین مشکل را دارم
@farhadmpr @vhdm @alishirmohammadi
برای جنگو ۱ و احتمالا بعضی از نسخه های ۲ فکر میکنم که باید مطابق با کد زیر عمل کرد.
LANGUAGE_CODE = 'fa-ir'
import locale
locale.setlocale(locale.LC_ALL, "fa_IR.UTF-8")
اما برای نسخه ۳ فکر میکنم که باید به صورت زیر تغییر داد.من رو جنگو 3.0.1 تست کردم و به درستی کار کرد.
LANGUAGE_CODE = 'fa'
import locale
locale.setlocale(locale.LC_ALL, "fa_IR.UTF-8")
If you're using ubuntu, first install the language pack by:
sudo apt install language-pack-fa
Then use setlocale
in Django.
می تونید تاریخ رو به میلادی ذخیره کنید و فقط برای نمایش به فارسی از یه تیکه کد جاوااسکریپت استفاده کنید
سلام و خسته نباشید من تمام اینارو که گفتین رو انجام دادم اما اسم ماه بجای شهریور بصورت Shahrivar نمایش داده میشه ممنون میشم اگربتونین کمکم کنین. تگ رو به اینصورت نوشتم {{date_now|to_jalali:'%H:%M - %B- %Y/%m/%d'}}
{{ time|to_jalali:'%B' }}
@a-roomana
سلام، ضمن تشکر از زحمات شما من از جنگو 3 استفاده میکنم، هر کاری کردم ایام هفته ماه ها فارسی بشن، نشد، همه ی این روش ها رو تست کردم. ممنون میشم راه حلی ارائه بدین
سلام تونستین این مورد رو حل کنین؟ منم مشکل دارم
i dont know why the output is in english in a persian package anyway you guys can use the custom template tags to fix this
from django import template
from jalali_date import date2jalali
register = template.Library()
@register.filter
def jalalidate(value):
name = date2jalali(value).strftime("%B")
months = {
'Esfand': 'اسفند'
}
if name in months:
month = months.get(name)
date = date2jalali(value).strftime(f"%Y/{month}/%d")
return date
complete the list if you want it im too lazy for that
وقتی از
{{ time|to_jalali:'%B' }}
در تمپلیت جنگو استفاده میکنم نام ماه به صورت انگلیسی نمایش داده میشود. برای نمایش فارسی چهکار باید کرد؟