# Translations template for PROJECT.
# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2014-12-05 18:49+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"

#: application.py:78
msgid "Update"
msgstr ""

#: models.py:14
msgid "enter.username"
msgstr ""

#: models.py:15 models.py:33 models.py:34
msgid "enter.password"
msgstr ""

#: models.py:33 models.py:63
msgid "username"
msgstr ""

#: models.py:34
msgid "password"
msgstr ""

#: models.py:35
msgid "password.match"
msgstr ""

#: models.py:36 models.py:38
msgid "confirm"
msgstr ""

#: models.py:38
msgid "enter.email"
msgstr ""

#: models.py:39
msgid "enter.valid.email"
msgstr ""

#: models.py:40 models.py:66
msgid "firstName"
msgstr ""

#: models.py:40
msgid "enter.firstName"
msgstr ""

#: models.py:41 models.py:67
msgid "lastName"
msgstr ""

#: models.py:41
msgid "enter.lastName"
msgstr ""

#: models.py:43 models.py:69
msgid "address"
msgstr ""

#: models.py:44 models.py:70
msgid "phone"
msgstr ""

#: models.py:45 models.py:71
msgid "institution"
msgstr ""

#: models.py:65
msgid "email"
msgstr ""

#: templates/base.html:28
msgid "korap.title"
msgstr ""

#: templates/base.html:31
msgid "logged in as"
msgstr ""

