Skip to content

Instantly share code, notes, and snippets.

@fredycoding
Last active September 15, 2022 20:35
Show Gist options
  • Save fredycoding/7865cfbad1bf6ed9e8877e8695d53dec to your computer and use it in GitHub Desktop.
Save fredycoding/7865cfbad1bf6ed9e8877e8695d53dec to your computer and use it in GitHub Desktop.
Traducción en DJANGO con Rosetta

Traducción en DJANGO con Rosetta

-Instalar rosseta en DANGO pip install django-rosetta

  • Ingresar en las apps instaladas a rosetta
INSTALLED_APPS = [
    ...,
    'rosetta',
]
  • En urls.py colocar:
from django.conf.urls.i18n import i18n_patterns
  • En settings.py colocar:
from django.utils.translation import gettext_lazy as _


LANGUAGE_CODE = 'es-co'
TIME_ZONE = 'America/Bogota'
USE_I18N = True
USE_L10N = True
USE_TZ = True

LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')] #Donde van a ir los archivos de traducción.

LANGUAGES = [
    ('es', _('Español')),
    ('en', _('Inglés')),
    ('de', _('Alemán')),
    ('fr', _('Francés')),
]

# En el middleware
'django.middleware.locale.LocaleMiddleware', #Para la traducción

  • Cree la carpeta locale en la raíz
  • Correr:
python manage.py makemigrations
python manage.py migrate
python manage.py runserver

-En los templates html colocar:

# Al inicio
{% load i18n %}

# y lo que yo quiero traducir:

{% trans 'Frase que yo quiero traducir’' %}
  • Correr los siguientes comandos
# Para que cree el contenido que se debe traducir
manage.py makemessages -l en
  • Luego abrir el abrir el archivo en la carpeta locale llamado DJANGO.PO y colocar las traducciones
  • Luego correr esto para que las tome: compilemessages
  • Abril el dominio y colocar rosetta, ejemplo https://midominio.com/rosetta/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment