Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

345
Vistas
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
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

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
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda