title: What's the correct way to set up Django translation?
body: <p>I've got an issue with translations not working on Django 1.6. I've added this to my settings.py:</p>
  
  <pre><code>LANGUAGE_CODE = 'en-us'
  ugettext = lambda s: s
  LANGUAGES = (
      ('en', ugettext('English')),
      ('de', ugettext('German')),
  )
  </code></pre>
  
  <p>Also added middlewares: </p>
  
  <pre><code>MIDDLEWARE_CLASSES = (
      'django.middleware.common.CommonMiddleware',
      'django.contrib.sessions.middleware.SessionMiddleware',
      'django.middleware.csrf.CsrfViewMiddleware',
      'django.contrib.auth.middleware.AuthenticationMiddleware',
      'django.contrib.messages.middleware.MessageMiddleware',
      'django.middleware.locale.LocaleMiddleware',
      'django.middleware.clickjacking.XFrameOptionsMiddleware',
  )
  </code></pre>
  
  <p>as well as to my *.py files whenever I'm using a string which shall be l10nd:</p>
  
  <pre><code>from django.utils.translation import ugettext_lazy as _
  </code></pre>
  
  <p>My templates start with:</p>
  
  <pre><code>{% extends "base.html" %}
  {% load i18n %}
  </code></pre>
  
  <p>and inside the template I used the <code>trans</code> placeholder. E.g.</p>
  
  <pre><code>&lt;h1&gt;{% trans "Register a tank" %}&lt;/h1&gt;
  </code></pre>
  
  <p>I have provided translations in locale/de/LC_MESSAGES/django.po:</p>
  
  <pre><code>msgid "Register a tank"
  msgstr "Einen neuen Tank anmelden"
  </code></pre>
  
  <p>My browser is set to request German content first:
  <a href="https://i.stack.imgur.com/roM5Y.png" rel="noreferrer">Browser settings</a></p>
  
  <p>What did I miss?</p>
  
  <p>P.S. The project I'm currently fuzzy around is hosted on GitHub: <a href="https://github.com/frlan/blankspot" rel="noreferrer">https://github.com/frlan/blankspot</a></p>