Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

353
Views
Django: la traducción en plantillas no funciona

Django 1.11

No puedo hacer que Django traduzca plantillas en mi proyecto. Los mensajes fueron compilados y recompilados.

¿Podrías darme una patada aquí?

configuración.py

 INSTALLED_APPS = [ ... 'frame', ... ] LANGUAGE_CODE = 'ru-RU' USE_I18N = True

marco/plantillas/marco/frame_form.html

 {% extends 'general/cbv/general_form.html' %} {% load i18n %} {% block title %} <h1>{% trans "Create frame" %}</h1> {% endblock %}

marco/locale/ru_RU/LC_MESSAGES/django.po

 #: templates/frame/frame_form.html:5 msgid "Create frame" msgstr "Создать сюжет"

árbol

 ├── frame ... │  ├── locale │  │  └── ru_RU │  │  └── LC_MESSAGES │  │  ├── django.mo │  │  └── django.po ... │  ├── templates │  │  └── frame │  │  ├── frame_form.html
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Compruebe lo siguiente:

Configuración.py

En tu settings.py

1) Asegúrese de que las clases de Middleware estén en el siguiente orden

 MIDDLEWARE_CLASSES = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', ]

2) Establezca su código de idioma predeterminado:

 LANGUAGE_CODE = 'en-us' USE_I18N = True

3) Ponga el idioma que desea traducir en una lista que se puede encontrar aquí

 from django.utils.translation import gettext_lazy as _ #Example for English and German LANGUAGES =[ ('en', _('English')), ('de', _('German')),]

4) Configure su carpeta de ruta de configuración regional (aquí es donde aparecerán las traducciones de su idioma)

 LOCALE_PATHS = ( os.path.join(SITE_ROOT, 'locale'), )

URL.py

Compruebe que tiene este enlace en el archivo de configuración de la URL principal url.py

 urlpatterns = [ path('', include('YOUR APP.urls')), path('admin/', admin.site.urls), path('i18n/', include('django.conf.urls.i18n')), #Make sure this is present ]

plantilla html

Después de verificar esto y hacer su HTML template con {% load i18n %} antes de cualquiera de los {% trans "FOO" %} en su página html y alguna forma de cambiar los idiomas. También es posible que desee algo como este menú desplegable: Django cambia el idioma en html para depurar cambios de idioma

Creación y modificación de archivos .po

1) Cree archivos django.po en el directorio local que especifique en settings.py (LOCALE_PATHS) usando el siguiente comando en la línea de comandos para crear los archivos .po, por ejemplo, en inglés sería:

 python manage.py makemessages -l en #en = english replace en for other languages

Esto crea un directorio con YOUR_LANGUAGE/LC_MESSAGES/django.po

Tenga en cuenta que algunos idiomas no aparecerán a menos que esté en mayúsculas por algún motivo, como chinese zh-Hans en lugar de zh-hans no estoy seguro de por qué.

2) Vaya al django.po del idioma que desea cambiar y cambie el msgstr ""

 msgid "Create frame" msgstr "Создать сюжет" #This area had translated string added

3) Compile los mensajes y reinicie el servidor en la línea de comandos

 # Compile messages django-admin compilemessages #this creates a django.mo file in LC_MESSAGES folder #Run server python manage.py runserver

El texto debería cambiar cuando cambias de idioma usando el menú desplegable o de la forma que elijas.

4) Si agrega nuevas etiquetas de traducción, debe rehacer los mensajes y recompilarlos en la línea de comandos y luego ejecutar el servidor

 #Make messages for all your languages django-admin makemessages -a # Compile messages django-admin compilemessages
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!