# Python garbage
 *.pyc
 *.egg-info
+/build
+/dist
 
 # Mac OS X garbage
 .DS_Store
 
 recursive-include cas_provider/templates *.html
 recursive-include cas_provider/fixtures *
+recursive-include cas_provider/locale *.po *.mo
 include AUTHORS.txt
 include README.rst
-include LICENSE
\ No newline at end of file
+include LICENSE
 
 from django import forms
+from django.utils.translation import ugettext_lazy as _
 
 
 class LoginForm(forms.Form):
     username = forms.CharField(widget=forms.TextInput(attrs={'autofocus': 'autofocus',
-                                                          'max_length': '255'}))
-    password = forms.CharField(widget=forms.PasswordInput())
+                                                          'max_length': '255'}),
+                               label=_('Username'))
+    password = forms.CharField(widget=forms.PasswordInput(), label=_('Password'))
     service = forms.CharField(widget=forms.HiddenInput, required=False)
 
     def __init__(self, *args, **kwargs):
 
 
 class MergeLoginForm(LoginForm):
-    username = forms.CharField(max_length=255, widget=forms.HiddenInput)
+    username = forms.CharField(max_length=255, widget=forms.HiddenInput,
+                               label=_('Username'))
 
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-04-15 10:51+0200\n"
+"PO-Revision-Date: 2013-04-15 10:52+0100\n"
+"Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: forms.py:8
+#: forms.py:22
+msgid "Username"
+msgstr "Użytkownik"
+
+#: forms.py:9
+msgid "Password"
+msgstr "Hasło"
+
+#: models.py:18
+msgid "ticket"
+msgstr ""
+
+#: models.py:19
+msgid "created"
+msgstr ""
+
+#: models.py:38
+msgid "user"
+msgstr ""
+
+#: models.py:39
+msgid "service"
+msgstr ""
+
+#: models.py:44
+msgid "Service Ticket"
+msgstr ""
+
+#: models.py:45
+msgid "Service Tickets"
+msgstr ""
+
+#: models.py:62
+msgid "Login Ticket"
+msgstr ""
+
+#: models.py:63
+msgid "Login Tickets"
+msgstr ""
+
+#: models.py:68
+msgid "PGTiou"
+msgstr ""
+
+#: models.py:77
+#: models.py:82
+#: models.py:92
+msgid "Proxy Granting Ticket"
+msgstr ""
+
+#: models.py:78
+msgid "Proxy Granting Tickets"
+msgstr ""
+
+#: models.py:87
+msgid "Proxy Ticket"
+msgstr ""
+
+#: models.py:88
+msgid "Proxy Tickets"
+msgstr ""
+
+#: models.py:97
+msgid "Proxy Granting Ticket IOU"
+msgstr ""
+
+#: models.py:98
+msgid "Proxy Granting Tickets IOU"
+msgstr ""
+
+#: views.py:128
+msgid "Incorrect username and/or password."
+msgstr "Błędny użytkownik i/lub hasło."
+
+#: views.py:142
+msgid "This account is disabled. Please contact us if you feel it should be enabled again."
+msgstr "To konto jest nieaktywne. Prosimy o kontakt, jeśli uważasz że powinno zostać aktywowane."
+
 
 from django.contrib.auth import login as auth_login, logout as auth_logout
 from django.core.urlresolvers import get_callable
 from django.shortcuts import render_to_response
+from django.utils.translation import ugettext as _
 from django.template import RequestContext
 from django.contrib.auth import authenticate
 from django.core.urlresolvers import reverse
                     return HttpResponseRedirect(url)
 
             if user is None:
-                errors.append('Incorrect username and/or password.')
+                errors.append(_('Incorrect username and/or password.'))
             else:
                 if user.is_active:
                     auth_login(request, user)
     if user is not None and user.is_authenticated():
         # We have an authenticated user.
         if not user.is_active:
-            errors.append('This account is disabled. Please contact us if you feel it should be enabled again.')
+            errors.append(_('This account is disabled. Please contact us if you feel it should be enabled again.'))
         else:
             # Send the on_cas_login signal. If we get an HttpResponse, return that.
             for receiver, response in signals.on_cas_login.send(sender=login, request=request, **kwargs):