Ya sólo quedan 3 días para que comience el sprint de traducción on-line de la documentación de Django al español. Para que no haya confusiones sobre cómo participar en él os dejamos una breve guia a continuación.
Estos son los pasos para traducir cualquier documento:
Regístrate en el trac desde aquí
Decide qué documento quieres traducir a partir de todos los que hay aquí (documentación oficial de Django)
Comprueba que el documento elegido no se encuentre asignado a nadie ni esté ya traducido, eso significa que el documento no debe aparecer en esta lista
Abre un ticket desde esta página indicando en Short summary: la ruta del documento dentro de la documentación y el número de revisón (por ejemplo: contents.txt rev.8506 ó howto/index.txt rev.8506). Escribe tu nombre de usuario en Assign to: para que los demás traductores sepamos que la traducción de ese documento queda asiganada a ti. Puedes adjuntar el documento original al ticket si lo deseas.
Traduce el documento y aseguráte de que utilizas el encoding UTF-8 en tu editor de textos (en vim: set encoding=utf-8)
Haz un checkout del repositorio cambiando <USER> por tu nombre de usuario:
svn co --username <USER> http://202.dwp.wuonm.com/svn/6/ django-es
Añade el documento traducido en el path correspondiente:
cd django-es/trunk/docs cp /path/al/documento/documento-traducido.txt . svn add documento-traducido.txt svn ci
Cierra el ticket cambiando su estado a closed
¿Aún tienes dudas? Ante cualquier duda o problema que pueda surgirte estaremos encantados de poder ayudarte. Escríbenos desde el formulario de contacto o bien deja un mensaje en el grupo de correo detallando tu duda o problema.
Nota: realiza un svn update antes de cada sesión de traducción y vuelve a hacer un commit cuando dejes de traducirlo.
Al final del sprint escribiremos un post en agradecimiento a todos los que han participado y enlazando con sus sitios web. Podéis enviarnos el enlace a vuestro sitio web desde la página de contacto.
Publicado por Antonio Melé el Martes 6 de Enero de 2009 | 0 comentarios | Categorías: comunidad, sprint, traducciones

Publicado por Antonio Melé el Martes 30 de Diciembre de 2008 | 3 comentarios | Categorías: comunidad
django-localeurl es una aplicación que permite el uso de códigos de idiomas en las URLs de nuestro proyecto. Esto trae la ventaja de que cada página en cada idioma tiene una URL propia. Gracias a ello los buscadores indexan cada página en los distintos idiomas disponibles y nuestros usuarios pueden compartir las URLs de una página en el idioma que deseen. Además funciona a la perfección con el LocaleMiddleware que viene con Django y que sirve para hacer la "negociación" para descubrir el idioma del usuario en función de si ya ha seleccionado un idioma previamente, si por el contrario debe utilizar el idioma de su navegador o como último recurso el idioma por defecto de nuestro proyecto.
django-localeurl nos permitirá cambiar nuestras URLs de http://mi-proyecto.com/noticias a URLs del tipo http://mi-proyecto.com/es/noticias, http://mi-proyecto.com/de/noticias, etc. No hará falta cambiar nada en nuestra URLconf para hacerlo funcionar.
Descargamos el paquete localeurl del sitio oficial a nuestro path de Python.
Añadimos 'localeurl.middleware.LocaleURLMiddleware' al setting MIDDLEWARE_CLASSES por encima de 'django.middleware.common.CommonMiddleware'.
Importante: También deberemos situarlo por debajo de 'django.middleware.locale.LocaleMiddleware' en caso de que utilicemos LocaleMiddleware, para que éste pueda realizar la negociación de selección de idioma previamente.
Añadimos 'localeurl' a nuestras aplicaciones instaladas (setting INSTALLED_APPS).
Nos aseguramos de que el valor del setting LANGUAGE_CODE esté en el setting LANGUAGES que contiene la lista de lenguajes disponibles para nuestro proyecto. Podemos visualizar la lista de lenguajes por defecto en el código fuente de django.conf.global_settings.
Existen 3 settings que nos permiten personalizar el funcionamiento de django-localeurl: LOCALE_INDEPENDENT_PATHS, REDIRECT_LOCALE_INDEPENDENT_PATHS y PREFIX_DEFAULT_LANGUAGE.
Nos permite especificar para qué URLs no deseamos que se añada el código de lenguaje. Deberemos añadirlas como expresiones regulares. Un ejemplo:
import re
LOCALE_INDEPENDENT_PATHS = (
re.compile('^/aviso-legal/'),
re.compile('^/privacidad/'),
)
Por defecto es False. Nos permite especificar si al acceder incluyendo un código de lenguaje a alguna de las URLs especificadas en REDIRECT_LOCALE_INDEPENDENT_PATHS se debe redirigir a la misma sin código de lenguaje. Por ejemplo si al acceder a /de/privacidad/ se debe redirigir a /privacidad/.
Por defecto es True. Nos permite especificar si para el lenguaje por defecto se añade el código de idioma a la URL. Por ejemplo, si nuestro idioma por defecto es el español (LANGUAGE_CODE = 'es') y PREFIX_DEFAULT_LANGUAGE es True, la URL /noticias/ cargará directamente la vista apropiada y /noticias/es/ será redirigida a /noticias/.
Cualquier aplicación que utilice etiquetas {% url %} para las URLs en sus plantillas funcionará correctamente con django-localeurl. A parte de esto django-localeurl incluye un template tag y 2 filtros que nos aportan flexibilidad a la hora de utilizar URLs en nuestras plantillas.
Para hacerlos funcionar debemos cargarlos con load en las plantillas en las que queramos trabajar con ellos:
{% load localeurl_tags %}
El tag {% locale_url %} funciona del mismo modo que el concido {% url %} pero permitiéndonos especificar el idioma que debe utilizarse en la URL. Nos sirve para enlaces que por algún motivo queramos mostrar en un idioma concreto. Para ello si tenemos algo como:
<a href="{% url ver-articulo articulo.id %}">Ver artículo</a>
Para que el enlace apunte a un idioma concreto es tan sencillo como utilizar:
<a href="{% locale_url "en" ver-articulo articulo.id %}">Ver artículo en inglés</a>
Los filtros incluídos son chlocale y rmlocale. chlocale nos permite añadir o cambiar el código de lenguaje de una URL y rmlocale eliminar el código de lenguaje de una URL. Un ejemplo de uso:
<p>Haz <a href="{{ mi_url|chlocale:"de" }}">click aquí</a> para cambiar a alemán.</p>
<p>La url {{ otra_url }} sin código de lenguaje es {{ otra_url|rmlocale }}</p>
Publicado por Antonio Melé el Martes 30 de Diciembre de 2008 | 1 comentario | Categorías: aplicaciones, internacionalización, plantillas, urls
Personalmente siempre he utilizado mi propio servidor SMTP para el envio de e-mails con Django, pero hoy me he topado con este post en español sobre el post original de Nathan Ostgard que explica fácilmente qué settings debes añadir a tu proyecto para que Django envíe e-mails a través de GMail. Muy útil cuando no disponemos de un servidor SMTP propio.
Los settings a añadir son los siguientes:
EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER = 'mi-usuario@gmail.com' EMAIL_HOST_PASSWORD = 'mi-password' EMAIL_PORT = 587 EMAIL_USE_TLS = True
Si utilizas Google Apps para tu dominio o has añadido otras cuentas de e-mail de otros dominios a tu cuenta de GMail también podrás utilizar éstas en el setting EMAIL_HOST_USER. Para que sea la cuenta de e-mail remitente por defecto puedes añadir DEFAULT_FROM_EMAIL a tu archivo de settings con la misma dirección de correo electrónico.
Publicado por Antonio Melé el Viernes 26 de Diciembre de 2008 | 0 comentarios | Categorías: e-mail, settings, trucos
Suscríbete a nuestro feed RSS y al feed de la comunidad para estar al tanto de todo lo que ocurre entorno a Django.
Tú también puedes escribir en éste blog. Para hacerlo basta con que nos digas sobre qué quieres escribir un artículo relacionado con Django.
Utilizar un formulario para modificar 2 modelos
Descubriendo objetos similares por sus etiquetas