Llevába un tiempo intentando dar con el control del idioma en Plone3
Lo que he hecho es hacer dos carpetas para tener los contenidos separados por idioma. En este caso carpeta /es para español y /en para inglés.
En la carpeta raiz / he creado un script en python que se carga por defecto
front-page.py
#Coge la variable de lenguage de la sesión de plone, solo me quedo con los 2 primeros caracteres
idiom=context.REQUEST.get('LANGUAGE')[:2]
#Si queda en blanco selecciona los contenidos en español
if idiom=="":
idiom="es"
#si es cualquier otro idioma selecciona inglés
if idiom not in ["es", "en"]:
idiom="en"
container.REQUEST.RESPONSE.redirect(container.absolute_url()+"/"+idiom)
Ahora hay que tocar en el ZMI, vamos a la dirección: http://localhost:8080/mi_site/portal_languages/manage_configForm y ahí activamos lo siguiente:
- Allow combined language codes
- Display flags for language selection
- Use cookie for manual override
Si no queremos usar las banderitas las ocultamos con css con:
#portal-languageselector {
display:none;
}
Por último, si hemos ocultado las banderitas, en nuestra plantilla o en los portal_actions hacemos las entradas para los selecctores de idioma con por ejemplo (lo importante es :(/mi_site/es?set_language=es&cl=es)
<a href="http://127.0.0.1:8080/mi_site/es?set_language=es&cl=es">Español</a>
<a href="http://127.0.0.1:8080/mi_site/en?set_language=en&cl=en">English</a>
No hay comentarios:
Publicar un comentario