title: Using settings.LANGUAGES with properly translated names using gettext()
body: <p>From Django Documentation:</p>
  
  <blockquote>
    <p>If you define a custom <code>LANGUAGES</code>
    setting, it's OK to mark the languages
    as translation  strings (as in the
    default value displayed above) -- but
    use a "dummy" <code>gettext()</code> function, not
    the one in <code>django.utils.translation</code>.
    You should never import 
    <code>django.utils.translation</code> from within
    your settings file, because that
    module in  itself depends on the
    settings, and that would cause a
    circular import. The solution is to
    use a "dummy" <code>gettext()</code> function.
    Here's a sample settings file:</p>
    
    <p><code>gettext = lambda s: s LANGUAGES = (</code>
     <code>('de', gettext('German')),</code>
     <code>('en', gettext('English')),</code> 
    <code>)</code>  </p>
    
    <p>With this arrangement, <code>django-admin.py
    makemessages</code> will still find and mark
    these  strings for translation, but
    the translation won't happen at
    runtime -- so you'll  have to remember
    to wrap the languages in the real
    <code>gettext()</code> in any code that uses 
    <code>LANGUAGES</code> at runtime.</p>
  </blockquote>
  
  <p>What does it exactly mean to wrap languages in real <code>gettext()</code>? How it should be called in the code?</p>