Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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
@sspross sspross authored
Showing with 15 additions and 2 deletions.
  1. +15 −2 docs/topics/i18n/translation.txt
View
17 docs/topics/i18n/translation.txt
@@ -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.