Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add missing imports and models to the examples in internationalizatio…

…n and localization documentation
  • Loading branch information...
commit 1d543949d7acc93a172e8a2c9272d8b983a421ef 1 parent 6a47995
Silvan Spross sspross authored
Showing with 15 additions and 2 deletions.
  1. +15 −2 docs/topics/i18n/translation.txt
17 docs/topics/i18n/translation.txt
View
@@ -80,6 +80,7 @@ In this example, the text ``"Welcome to my site."`` is marked as a translation
string::
from django.utils.translation import ugettext as _
+ from django.http import HttpResponse
def my_view(request):
output = _("Welcome to my site.")
@@ -89,6 +90,7 @@ Obviously, you could code this without using the alias. This example is
identical to the previous one::
from django.utils.translation import ugettext
+ from django.http import HttpResponse
def my_view(request):
output = ugettext("Welcome to my site.")
@@ -192,6 +194,7 @@ of its value.)
For example::
from django.utils.translation import ungettext
+ from django.http import HttpResponse
def hello_world(request, count):
page = ungettext(
@@ -208,6 +211,7 @@ languages as the ``count`` variable.
Lets see a slightly more complex usage example::
from django.utils.translation import ungettext
+ from myapp.models import Report
count = Report.objects.count()
if count == 1:
@@ -283,6 +287,7 @@ For example::
or::
+ from django.db import models
from django.utils.translation import pgettext_lazy
class MyThing(models.Model):
@@ -328,6 +333,7 @@ Model fields and relationships ``verbose_name`` and ``help_text`` option values
For example, to translate the help text of the *name* field in the following
model, do the following::
+ from django.db import models
from django.utils.translation import ugettext_lazy as _
class MyThing(models.Model):
@@ -336,8 +342,6 @@ model, do the following::
You can mark names of ``ForeignKey``, ``ManyTomanyField`` or ``OneToOneField``
relationship as translatable by using their ``verbose_name`` options::
- from django.utils.translation import ugettext_lazy as _
-
class MyThing(models.Model):
kind = models.ForeignKey(ThingKind, related_name='kinds',
verbose_name=_('kind'))
@@ -355,6 +359,7 @@ It is recommended to always provide explicit
relying on the fallback English-centric and somewhat naïve determination of
verbose names Django performs by looking at the model's class name::
+ from django.db import models
from django.utils.translation import ugettext_lazy as _
class MyThing(models.Model):
@@ -370,6 +375,7 @@ Model methods ``short_description`` attribute values
For model methods, you can provide translations to Django and the admin site
with the ``short_description`` attribute::
+ from django.db import models
from django.utils.translation import ugettext_lazy as _
class MyThing(models.Model):
@@ -404,6 +410,7 @@ If you ever see output that looks like ``"hello
If you don't like the long ``ugettext_lazy`` name, you can just alias it as
``_`` (underscore), like so::
+ from django.db import models
from django.utils.translation import ugettext_lazy as _
class MyThing(models.Model):
@@ -429,6 +436,9 @@ definition. Therefore, you are authorized to pass a key name instead of an
integer as the ``number`` argument. Then ``number`` will be looked up in the
dictionary under that key during string interpolation. Here's example::
+ from django import forms
+ from django.utils.translation import ugettext_lazy
+
class MyForm(forms.Form):
error_message = ungettext_lazy("You only provided %(num)d argument",
"You only provided %(num)d arguments", 'num')
@@ -461,6 +471,7 @@ that concatenates its contents *and* converts them to strings only when the
result is included in a string. For example::
from django.utils.translation import string_concat
+ from django.utils.translation import ugettext_lazy
...
name = ugettext_lazy('John Lennon')
instrument = ugettext_lazy('guitar')
@@ -1663,6 +1674,8 @@ preference available as ``request.LANGUAGE_CODE`` for each
:class:`~django.http.HttpRequest`. Feel free to read this value in your view
code. Here's a simple example::
+ from django.http import HttpResponse
+
def hello_world(request, count):
if request.LANGUAGE_CODE == 'de-at':
return HttpResponse("You prefer to read Austrian German.")
Please sign in to comment.
Something went wrong with that request. Please try again.