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 en la parte superior derecha de la mayoría de las páginas de GeoNode.Una vez que un usuario selecciona un idioma, GeoNode recuerda ese idioma para las páginas siguientes.
Configuración de geonode¶
Como root, edite el archivo de configuración del 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 hacer que el francés sea el idioma predeterminado, utilice:
LANGUAGE_CODE = 'fr'
Desafortunadamente, Django anula esta configuración, dando 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, puede ver 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, siga 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 cree 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 usando 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',
)
Reanudar¶
Deberá reiniciar GeoNode según el método de instalación que haya elegido.
Como ejemplo, en caso de que esté utilizando NGINX con UWSGI, como root deberá 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.