рд╕реНрдерд╛рдиреАрдп django рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг

рдареАрдХ рд╣реИ, рдЬрдм django рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╢реБрд░реВ рдореЗрдВ рдЗрд╕рдХреЗ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрд╛ред

рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рд╣реИред Django рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдореГрджреНрдз рд╕реЗрдЯ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирдИ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рдкрд╛рда рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред

рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдирд╣реАрдВ рдереА, рддреЛ рд╕реНрдерд┐рддрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджрд┐рдЦрддреА рд╣реИред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕рд░рдгреА рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд▓рд╛рдЗрдиреЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛрддреА рд╣реИрдВ, рдЬрдмрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИрдВред рдЗрди рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛, рд╕реЙрд░реНрдЯ рдХрд░рдирд╛, рд╕рдВрджреЗрд╢ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдирд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдФрд░ рдХреГрддрдШреНрди рдХрд╛рдо рд╣реИред

рдЗрд╕ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдкрд░, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдкрд░, рдореИрдВ рдмреЛрд░рд┐рдпрдд рд╕реЗ рдорд░ рдЬрд╛рдКрдВрдЧрд╛, рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рди рдХрд░реЗред рдЙрд╕реА рд╕рдордп, рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдЕрднреА рднреА рдРрд╕реЗ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рдЬреАрд╡рди рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЖрдзрд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдВред рдЪрд╛рд░ рджрд┐рдиреЛрдВ рдХреЗ рдХрд╛рдо - рдФрд░ django-make-i18n рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖ, рдЬрд┐рд╕реЗ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВред

рд╕рднреА рдХрд╛рдо рдЕрдЬрдЧрд░ рдореЗрдВ рдПрдХ рдХрд╛рдлреА рдЪрдордХрджрд╛рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЬрдЧрд░ (рдореЗрд░реЗ рдкрд╛рд╕ реи.)) рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рдкреЛрд▓рд┐рдм рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ django рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдкрд╣рд▓реА рдмрд╛рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╕реЗ, рдЖрдкрдХреЛ django.po рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдбреНрд░рд╛рдлреНрдЯ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд╛рдиреАрдп (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд░реВрд╕реА) рднрд╛рд╖рд╛ рдореЗрдВ рд╕рднреА рдЦреЛрдЬреА рдЧрдИ рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрддреА рд╣реИрдВред рдкрдХрдбрд╝реЗ рдЧрдП рддрд╛рд░ рдХреЛ msgstr "рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп" NEEDS TO BE EDITED [nnn] "рд╕реЗ рднрд░рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕реНрд░реЛрдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдПрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдореЗрдВ .i18n рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ django.po рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ "рд░рд┐рд╡рд░реНрд╕ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди" рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рдд, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЛ рдмрджрд▓реЗрдВред рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдХреБрдЫ рд╕рдордЭрджрд╛рд░ рд╕рдордХрдХреНрд╖ рдХреЗ рд╕рд╛рде рдорд╛рдиред рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдп рдмрдиреА рд░рд╣реЗрдВред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рджреВрд╕рд░рд╛ рд░рди django.po рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рд╕реНрдерд╛рдиреАрдп рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрд▓ рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ view.py рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рд╣реИ:

if request.method == 'POST': # If the form has been submitted... post = True logging.info('POST  ') request_form = RequestVideoForm(request.POST) if request_form.is_valid(): # All validation rules pass logging.info(' ') ok = True send_request(request,request_form,request.region.urlname,'feedback@doroga.tv') message = u'   ' request_form = None # clean form else: message = u'   ' 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЗ рдмрд╛рдж, django.po рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:

 msgid "NEEDS TO BE EDITED [333]" msgstr "POST  " msgid "NEEDS TO BE EDITED [334]" msgstr " " msgid "NEEDS TO BE EDITED [335]" msgstr "   " msgid "NEEDS TO BE EDITED [336]" msgstr "   " 


рдпрджрд┐ рдЖрдк django.po рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдХреЗ рдмрд╛рдж, рд╡реНрдпреВрд╣реЛрдо рдлрд╝рд╛рдЗрд▓ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕рдореЗрдВ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрдВрдЧреА:

  if request.method == 'POST': # If the form has been submitted... post = True logging.info(_('NEEDS TO BE EDITED [333]')) request_form = RequestVideoForm(request.POST) if request_form.is_valid(): # All validation rules pass logging.info(_('NEEDS TO BE EDITED [334]')) ok = True send_request(request,request_form,request.region.urlname,'feedback@doroga.tv') message = _('NEEDS TO BE EDITED [335]') request_form = None # clean form else: message = _('NEEDS TO BE EDITED [336]') else: logging.info(_('NEEDS TO BE EDITED [337]')) request_form = RequestVideoForm(auto_id=True) 


рдЖрдЗрдП рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ django.po рдореЗрдВ рднрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

 msgid "POST request has been found" msgstr "POST  " msgid "Form is valid" msgstr " " msgid "Your request has just been sent" msgstr "   " msgid "Fix form data" msgstr "   " 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдВ - рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╣рдиреАрдп рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

  if request.method == 'POST': # If the form has been submitted... post = True logging.info(_('POST request has been found')) request_form = RequestVideoForm(request.POST) if request_form.is_valid(): # All validation rules pass logging.info(_('Form is valid')) ok = True send_request(request,request_form,request.region.urlname,'feedback@doroga.tv') message = _('Your request has just been sent') request_form = None # clean form else: message = _('Fix form data') 


рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрд░рдВрдн рдореЗрдВ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдкреИрдХреЗрдЬ рдХрд╛ рдЖрдпрд╛рдд рдХреЛрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИ:

 from django.utils.translation import ugettext as _ 


рдЕрдЧрд░ рдЖрдк рдЧрд▓рддреА рд╕реЗ рдРрд╕рд╛ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВред

рд╕рдорд╛рди рд╕рдВрдЪрд╛рд▓рди, рднрд╛рд╖рд╛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдФрд░ django рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП HTML рдФрд░ js рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ djangojs.po рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИред

рдпрд╣ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ:

 python manage.py compilemessages --all 


рд╡реЛрдЗрд▓рд╛ - рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдмреЗрд╢рдХ, рдЕрднреА рднреА django рдХреЗ рддрд╣рдд рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдХреЗ рдХрдИ рд╡рд┐рд╡рд░рдг рдЕрднреА рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In156879/


All Articles