Cambiar el idioma predeterminado¶
El idioma predeterminado de GeoNode es el inglés, pero los usuarios de GeoNode pueden cambiar el idioma de la interfaz con el menú desplegable que se encuentra en la parte superior derecha de la mayoría de las páginas de GeoNode. Una vez que un usuario selecciona un idioma, GeoNode lo recuerda para las páginas siguientes.
Configuración de GeoNode¶
Como root, edite el archivo de configuración de geonode /home/geonode/geonode/geonode/settings.py (o /etc/geonode/settings.py si GeoNode se ha instalado usando apt-get) y cambie LANGUAGE_CODE al idioma predeterminado deseado.
Nota
Se puede encontrar una lista de códigos de idioma en el archivo de configuración global de Django /usr/local/lib/python2.7/dist-packages/django/conf/global_settings.py (o /var/lib/geonode/lib/python2.7/site-packages/django/conf/global_settings.py si GeoNode se ha instalado usando apt-get).
Por ejemplo, para que el francés sea el idioma predeterminado, utilice:
LANGUAGE_CODE = 'fr'
Lamentablemente, Django anula esta configuración y le da prioridad a la configuración de idioma del navegador del usuario. Por ejemplo, si LANGUAGE_CODE está configurado en francés, pero el usuario ha configurado su sistema operativo para español, es posible que vea la versión en español cuando visite GeoNode por primera vez.
Pasos adicionales¶
Si este no es el comportamiento deseado y todos los usuarios deberían ver inicialmente el LANGUAGE_CODE predeterminado, independientemente de la configuración de su navegador, realice los siguientes pasos para asegurarse de que Django ignore la configuración de idioma del navegador. (Los usuarios siempre pueden usar el menú desplegable de idioma para cambiar el idioma en cualquier momento).
Como root crea un nuevo directorio dentro de los paquetes del sitio de GeoNode
mkdir /usr/lib/python2.7/dist-packages/setmydefaultlanguage
o
mkdir /var/lib/geonode/lib/python2.7/site-packages/setmydefaultlanguage
si GeoNode se ha instalado mediante apt-get.
Como root, cree y edite un nuevo archivo /usr/lib/python2.7/dist-packages/setmydefaultlanguage/__init__.py y agregue las siguientes líneas
class ForceDefaultLanguageMiddleware(object):
"""
Ignore Accept-Language HTTP headers
This will force the I18N machinery to always choose settings.LANGUAGE_CODE
as the default initial language, unless another one is set via sessions or cookies
Should be installed *before* any middleware that checks request.META['HTTP_ACCEPT_LANGUAGE'],
namely django.middleware.locale.LocaleMiddleware
"""
def process_request(self, request):
if request.META.has_key('HTTP_ACCEPT_LANGUAGE'):
del request.META['HTTP_ACCEPT_LANGUAGE']
Al final del archivo de configuración de GeoNode /home/geonode/geonode/geonode/settings.py (o /etc/geonode/settings.py si GeoNode se ha instalado usando apt-get) agregue las siguientes líneas para garantizar que se ejecute la clase anterior
MIDDLEWARE_CLASSES += (
'setmydefaultlanguage.ForceDefaultLanguageMiddleware',
)
Reiniciar¶
Necesitará reiniciar GeoNode según el método de instalación que haya elegido.
Por ejemplo, en caso de que estés usando NGINX con UWSGI, como root necesitarás ejecutar los siguientes comandos
service uwsgi restart
service nginx restart
Consulte Traducción de GeoNode para obtener información sobre cómo editar páginas de GeoNode en diferentes idiomas y crear nuevas traducciones de GeoNode.