Kaydet (Commit) 1d543949 authored tarafından Silvan Spross's avatar Silvan Spross

Add missing imports and models to the examples in internationalization and…

Add missing imports and models to the examples in internationalization and localization documentation
üst 6a479955
......@@ -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.")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment