title: Website localization, Title Capitalization and avoiding duplicates
body: <p>I'm working on i18n/l10n for a Python/Django-based website.</p>
  
  <p>My wish is to minimize number of strings and avoid having the same text with only case differences, if possible. I.e. I don't want to keep "Your followers", "your followers" and "Your Followers" - this violates DRY and I fear things will run out of sync <em>very</em> quickly.</p>
  
  <p>Given that Django loves lowercase in model field titles, a lot of strings I have are all-lowercase, <em>except</em> for proper nouns. I.e.:</p>
  
  <pre><code>class User(models.Model):
      ...
      # In my understanding, Django wants me to use "registration date",
      # not "Registration date" or "Registration Date" here.
      registration_date = models.DateField(_("registration date"), ...)
  
      # But "Skype" is a proper noun and we want it capitalized.
      # Note, in some languages it won't be the first word,
      # e.g. "nome de usuário Skype" in Portuguese.
      skype_username = models.CharField(_("Skype username"), ...)
      ...
  </code></pre>
  
  <p>However, the designer's wish is to have Each Word's First Letter Capitalized in most page and table titles/headers. So, I thought, I'd keep non-capitalized texts, but use <code>{{ ...|title }}</code> template filter.</p>
  
  <p>But translators' say it's bad to capitalize pronouns in some languages. Even in English they don't look good. So, the site should say "Terms of Service" and "Política de Privacidade" not "Terms Of Service" or "Política De Privacidade". And in French - which we don't target right now, but I'm sure we will someday - the capitalization rules look even more complicated than just a list of "don't touch those" words (those "l'"s etc etc).</p>
  
  <p>So I wonder what's the suggested approach for this kind of stuff, that'd keep the amount of headaches as small as possible.</p>
  
  <p>It seems that my options are:</p>
  
  <ol>
  <li>Find a solution for language-aware string capitalization that'd not capitalize prepositions. Is there anything readily available out there? I'm not sure I want to write one myself, given that I'm not proficient in some languages we target.</li>
  <li>Ignore Django's rules and store Capitalized Versions of Strings in translation database, then lowercase them as necessary. This would have issues with proper nouns and given names, though.</li>
  <li>Store multiple versions of the same text (with varying capitalization) in translation files. I really wish to avoid this.</li>
  <li>Something else I haven't thought of?</li>
  </ol>
  
  <p>I suppose this should be reasonably common case and there are a lot of fellow programmers who had already encountered something like this. Would appreciate any advices on how to deal with the matter.</p>