Can you explain what are django translation
On Thu 10 Jan, 2019 11:59 pm Ashutosh Das <areose21@gmail.com wrote:
--I am using django 2.1 , here is all the settings related to translation:
MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', ] LANGUAGE_CODE = 'en' LANGUAGES = ( ('en', _('English')), ('bn', _('Bengali')) ) LOCALE_PATH = ( os.path.join(BASE_DIR, 'locale') ) TIME_ZONE = 'Asia/Dhaka' USE_I18N = True USE_L10N = True USE_TZ = FalseTemplate tag that I want to translate:
{% load i18n %} <div class="widget widget-about"> <h4 class="widget-title">{% trans "About Us" %}</h4> </div
I run both
./manage.py makemessages --all
./manage.py compilemessages
commands , also added translation in .po file aftermakemessages
command:
# locale/bn/LC_MESSAGES/django.po #: templates/partials/footer.html:8 msgid "About Us" msgstr "আমাদের সম্পর্কে"When I changed the language code from
en
tobn
, template string still rendering the default english "About Us".Here are all the codes that I am using for changing language:
<div class="header-dropdown"> {% get_current_language as LANGUAGE_CODE %} {% if LANGUAGE_CODE == 'en' %} <a href="#"><img src="{% static 'image/flag/en.png' %}" alt="flag">ENGLISH</a> {% else %} <a href="#"><img src="{% static 'image/flag/bn.png' %}" alt="flag">বাংলা</a> {% endif %} <div class="header-menu"> <ul> <li><a href="{% url 'change_language' %}?lan=en"><img src="{% static 'image/flag/en.png' %}" alt="USA Flag">ENGLISH</a></li> <li><a href="{% url 'change_language' %}?lan=bn"><img src="{% static 'image/flag/bn.png' %}" alt="Bangladesh Flag">বাংলা</a></li> </ul> </div><!-- End .header-menu -->
views.py :
def change_lan(request): allowed_lan = ('en', 'bn') get_lan = request.GET.get('lan', 'en') if get_lan in allowed_lan: translation.activate(get_lan) request.session[translation.LANGUAGE_SESSION_KEY] = get_lan return redirect(request.META.get('HTTP_REFERER', '/')) else: return redirect(request.META.get('HTTP_REFERER', '/'))
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/3ed3c00a-148e-4817-a470-bada1af10ba3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAMsYeuG%3DB65MCOZAz-z3x40iB94jG4HmR2TY-8Ma3siycQ7EJg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment