-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/