Översättning av django-program

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Översättning av django-program - Presentation Transcript

    1. Översättning i Django Mikael Moutakis mikaelmoutakis@gmail.com
    2. Internationalization i18n
    3. Localization L10n
    4. Vad?
    5. Varför?
    6. Det minst viktiga först ...
    7. . . . mjukvaran!
    8. Hur funkar tekniken? 1. Märk ut pythonkod och templatekod 2. Extrahera 3. Översätt 4. Kompilera och installera 5. Starta om server
    9. ... Steg 0. use_I18N=True MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', ) TEMPLATE_CONTEXT_PROCESSORS += ( “django.core.context_processors.i18n”, ) LANGUAGE_COOKIE_NAME=\"django_language\" LANGUAGE_CODE = 'sv'
    10. 1.a Märk ut pythonkod from django.utils.translation import ugettext_lazy as _ class Calendar(models.Model): color = models.CharField(_(\"color\"))
    11. 1.a Märk ut pythonkod • ugettext_noop • ugettext • ugettext_lazy • ungettext • ungettext_lazy
    12. Vara lat? • ugettext_lazy för model.py • När textvärdet hämtas • ugettext för resten • När funktionen anropas
    13. ungettext och ungettext_lazy from django.utils.translation import ungettext def hello_world(request, count): page = ungettext('there is %(count)d object', 'there are %(count)d objects', count) % { 'count': count, } return HttpResponse(page)
    14. 1.b templatekod {% load i18n %} ... <h1>{% trans “Kanelbulle” %}</h1> <p>{% blocktrans %}Hej, tomtegubbar slå i glasen, \\n och låt oss lustiga vara. {% endblocktrans %}</p>
    15. 1.b templatekod <h1>{% trans “Kanelbulle” %}</h1> <h1>{% trans “Kanelbulle” noop %}</h1>
    16. 1.b templatekod <p>{% blocktrans with publ_date|date as local_date %} Idag är det {{local_date}}. Mac rular fett. {% endblocktrans%}</p>
    17. 1.b templatekod <p>{% blocktrans with publ_date|date as local_date and spam as skinka%} Idag är det den {{local_date}}. Mac rular fett. {{skinka}}, {{skinka}}, {{skinka}} {% endblocktrans%}</p>
    18. 1.b templatekod {% blocktrans count list|length as counter %} There is only one {{ name }} object. {% plural %} There are {{ counter }} {{ name }} objects. {% endblocktrans %}
    19. 2. Extrahera texten cd /path/to/myproject (cd /path/to/myapp) django-admin.py makemessages -l sv django-admin.py makemessages -l en django-admin.py makemessages -l de
    20. Mappstruktur
    21. 2. Extrahera texten cd /path/to/myproject (cd /path/to/myapp) mkdir -p locale/sv/LC_MESSAGES django-admin.py makemessages -l sv
    22. django.po msgid \"\" msgstr \"\" \"Project-Id-Version: \\n\" \"Report-Msgid-Bugs-To: \\n\" \"POT-Creation-Date: 2008-10-12 19:21+0200\\n\" \"PO-Revision-Date: 2009-04-18 19:25+0100\\n\" \"Last-Translator: Mikael Moutakis <mikaelmoutakis@gmail.com>\\n\" \"Language-Team: \\n\" \"MIME-Version: 1.0\\n\" \"Content-Type: text/plain; charset=UTF-8\\n\" \"Content-Transfer-Encoding: 8bit\\n\" #: django_admin_overrides/admin/base.html:25 msgid \"Welcome,\" msgstr \"Välkommen,\"
    23. poEdit
    24. Vilket språk? 1. Nyckeln django_language i user session 2. Cookie django_language 3. Accept-Language HTTP header 4. LANGUAGE_CODE i settings.py
    25. Vilket språk? (2) ugettext = lambda s: s LANGUAGES = ( ('sv', ugettext('Swedish')), ('en', ugettext('English')), )
    26. Vad har jag missat? • olika sajter för olika länder ! M • string_concat F • @allow_lazy T R • set_language redirect view • översättning av javascript • Windows
    27. Nu den svåra biten . . .
    28. ga lli pi Nu den svåra biten . . .
    29. Tänk på sammanhanget!
    30. Kom ihåg denna bild!
    31. Vad fan menar han?
    32. Tillbaka till Google Docs
    33. Men vad ser översättaren? New Upload All items Owned by me Opened by me Starred Hidden Trash
    34. Men vad ser översättaren? New Ny/Nytt/Nya/Färsk/Färska? Upload Ladda upp/Uppladdning? All items Alla saker/punkter/nummer Owned by me Ägd/ägda av mig Opened by me Öppnad/öppnade av mig Starred Stjärnad? Framträdde? Hidden Gömd/Gömda Trash Smörja/struntprat/slödder
    35. Lösning? Ge tips! New [document] Upload [a document] All items [ie documents] [documents] Owned by me [documents] Opened by me Starred [documents] Hidden [documents] Trash [trashcan]
    36. Datum, typografi, mm • Idag är det 2009-04-20. Känner ni till “Django”? • Today is 20/04/09. Do you know “Django”? • Today is 04/20/09. Do you know “Django”?
    37. Datum, typografi, mm • Heute ist 20.04.09. Kennt ihr „Django”? • Σήμερα είναι 20.04.09. Γνωρίζετε το «Django»; •
    38. Datum, typografi, mm {% blocktrans with publ_date.year as year and publ_date.month as month and publ_date.day as day %} Idag är det {{year}}-{{month}}-{{day}}. {% endblocktrans %}
    39. Skrivriktning?
    40. Sammanfattning • Tänk på sammanhanget • Tänk på typografin • Olika sätt att skriva datum • Olika längd på texten • Skrivriktning
    41. Länkar • http://www.norstedtsord.se/oversattning/ engelska/ • http://docs.djangoproject.com/en/dev/topics/i18n/ #topics-i18n • http://en.wikipedia.org/wiki/ Internationalization_and_localization • http://en.wikipedia.org/wiki/Calendar_date
    42. Fler länkar • http://www.onemanga.com/Bakuman/ • http://www.mangakailund.org/
    43. Tack för uppmärksamheten

    + mikaelmoutakismikaelmoutakis, 6 months ago

    custom

    231 views, 0 favs, 0 embeds more stats

    Presentation om hur man förbereder ett djangoproje more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 231
      • 231 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories