Estoy haciendo una localización de una aplicación de Django.Hacer que el uso de administrador de Django traduzca los nombres de los campos
El sitio web front-end funciona bien y el sitio de administración de Django también selecciona el idioma seleccionado.
Pero solo aplica la configuración de idioma en algunos lugares y usa las versiones predeterminadas en inglés de los nombres de campos y columnas, aunque se hayan traducido. ¿Por qué? ¿Cómo puedo hacer que use los nombres traducidos para los nombres de columnas y campos en la interfaz de administración?
Ejemplo:
class Order(models.Model):
OPTIONS = ((0, _("Bank transfer")), (1, _("Cash on delivery")),)
user = models.ForeignKey(User, name=_("User"))
payment = models.IntegerField(choices=self.OPTIONS, name=_("Payment"))
Por lo que me sale:
- Tradujo textos de administración estándar, tales como "Bienvenido" y "Salir" en la parte superior
- opciones SELECT traducidos para el pago tipo
- NO se han traducido nombres de columnas y etiquetas de formulario para los campos ("Usuario", "Pago")
Estoy usando Django 1.0.2. Los textos que no se están traduciendo aparecieron en los archivos de configuración regional junto con los que funcionan.
Subpregunta: ¿es posible localizar los nombres de las aplicaciones?
de dónde vino el nombre de '' self' en uno mismo. OPCIONES' vienen de? ¿Esto no genera un NameError? –
@ChrisWesseling No soy muy bueno en Python, pero en este caso no me refiero al módulo en sí mismo. OPTIONS se define justo arriba de "class order" ... –
El primer parámetro de un método vinculado es el objeto mismo. Por convención, esto se llama self, pero 'self' no es una palabra clave mágica como' this' en JavaScript o PHP; tiene que estar explícitamente ligado. Pero podría estar equivocado. –