Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[1.2.X] Fixed #12193 - Add details to the i18n documentation for tran…

…slation of model classes (relations and methods). Thanks Maxime Petazzoni and Ramiro for work on the patch.

Backport of r15102 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15103 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit b5a7ac4fff1d3830a57012da42b0ba5d92fc9d48 1 parent 235f29f
@timgraham timgraham authored
Showing with 33 additions and 0 deletions.
  1. +33 −0 docs/topics/i18n/internationalization.txt
View
33 docs/topics/i18n/internationalization.txt
@@ -255,6 +255,39 @@ name::
verbose_name = _('my thing')
verbose_name_plural = _('mythings')
+Notes on model classes translation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Your model classes may not only contain normal fields: you may have relations
+(with a ``ForeignKey`` field) or additional model methods you may use for
+columns in the Django admin site.
+
+If you have models with foreign keys and you use the Django admin site, you can
+provide translations for the relation itself by using the ``verbose_name``
+parameter on the ``ForeignKey`` object::
+
+ class MyThing(models.Model):
+ kind = models.ForeignKey(ThingKind, related_name='kinds',
+ verbose_name=_('kind'))
+
+As you would do for the ``verbose_name`` and ``verbose_name_plural`` settings of
+a model Meta class, you should provide a lowercase verbose name text for the
+relation as Django will automatically titlecase it when required.
+
+For model methods, you can provide translations to Django and the admin site
+with the ``short_description`` parameter set on the corresponding method::
+
+ class MyThing(models.Model):
+ kind = models.ForeignKey(ThingKind, related_name='kinds',
+ verbose_name=_('kind'))
+
+ def is_mouse(self):
+ return self.kind.type == MOUSE_TYPE
+ is_mouse.short_description = _('Is it a mouse?')
+
+As always with model classes translations, don't forget to use the lazy
+translation method!
+
Working with lazy translation objects
-------------------------------------
Please sign in to comment.
Something went wrong with that request. Please try again.