diff --git a/forms/login.py b/forms/login.py
index a3844cc..56cf477 100644
--- a/forms/login.py
+++ b/forms/login.py
@@ -2,6 +2,7 @@ from wtforms import Form, BooleanField, StringField, PasswordField, TextAreaFiel
from wtforms.fields.html5 import DateField, DecimalField, IntegerField
from wtforms.widgets import TextArea
from flask_login import UserMixin
+from flask_babel import gettext as _
from objects import glob
@@ -10,56 +11,56 @@ FORM_RENDER_KW = {
}
class BillForm(Form):
- payment_to = StringField("Payment to", [validators.DataRequired()])
- description = TextAreaField("Description", render_kw = {
+ payment_to = StringField(_("Payment to"), [validators.DataRequired()])
+ description = TextAreaField(_("Description"), render_kw = {
"cols": 55,
"rows": 8
})
- sum = DecimalField("Sum")
- kid = IntegerField("KID")
- date_due = DateField("Date due")
+ sum = DecimalField(_("Sum"))
+ kid = IntegerField(_("KID"))
+ date_due = DateField(_("Date due"))
class LoginForm(Form):
- email = StringField("Email", [
+ email = StringField(_("Email"), [
validators.DataRequired(),
validators.Length(min=6, max=254)
],
render_kw = FORM_RENDER_KW)
- password = PasswordField("Password", [
+ password = PasswordField(_("Password"), [
validators.DataRequired(),
validators.Length(min=4, max=127)
],
render_kw = FORM_RENDER_KW)
class RegisterForm(Form):
- email = StringField("Email", [
+ email = StringField(_("Email"), [
validators.DataRequired(),
validators.Length(min=6, max=254)
],
render_kw = FORM_RENDER_KW)
- password = PasswordField("Password", [
+ password = PasswordField(_("Password"), [
validators.DataRequired(),
validators.Length(min=4, max=127),
- validators.EqualTo("confirm_password", message = "Passwords must match")
+ validators.EqualTo("confirm_password", message = _("Passwords must match"))
],
render_kw = FORM_RENDER_KW)
- confirm_password = PasswordField("Repeat Password", render_kw = FORM_RENDER_KW)
+ confirm_password = PasswordField(_("Repeat Password"), render_kw = FORM_RENDER_KW)
- firstname = StringField("Firstname", [
+ firstname = StringField(_("Firstname"), [
validators.DataRequired(),
validators.Length(min=2, max=30)
],
render_kw = FORM_RENDER_KW)
- surname = StringField("Surname", [
+ surname = StringField(_("Surname"), [
validators.DataRequired(),
validators.Length(min=2, max=30)
],
render_kw = FORM_RENDER_KW)
- accept_tos = BooleanField("I accept the TOS", [validators.DataRequired()])
+ accept_tos = BooleanField(_("I accept the TOS"), [validators.DataRequired()])
class User(UserMixin):
id = -1
@@ -86,10 +87,10 @@ class User(UserMixin):
cur.close()
if user is None:
- raise Exception("Invalid login")
+ raise Exception(_("Invalid login"))
if not glob.check_password(login[1], user[2]):
- raise Exception("Incorrect password")
+ raise Exception(_("Incorrect password"))
self.id, self.email, self.password, self.firstname, self.surname = user
diff --git a/templates/login.html b/templates/login.html
index d83413c..e936625 100644
--- a/templates/login.html
+++ b/templates/login.html
@@ -154,8 +154,8 @@ function toggleform(caller) {
-
Husstanden
Login Page
-
Login is required to use this service.
+
Husstanden
{{ _("Login Page") }}
+
{{ _("Login is required to use this service.") }}
@@ -205,7 +205,7 @@ function toggleform(caller) {
diff --git a/templates/pages/bills.html b/templates/pages/bills.html
index 568cf05..47c4dd0 100644
--- a/templates/pages/bills.html
+++ b/templates/pages/bills.html
@@ -23,7 +23,9 @@
{% macro render_field(field) %}
-
+
+
+
{{ field(**kwargs)|safe }}
{% if field.errors %}
diff --git a/translations/nb/LC_MESSAGES/messages.po b/translations/nb/LC_MESSAGES/messages.po
index 0b1fc02..515b3a3 100644
--- a/translations/nb/LC_MESSAGES/messages.po
+++ b/translations/nb/LC_MESSAGES/messages.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.4\n"
"Report-Msgid-Bugs-To: noreply@osufx.com\n"
-"POT-Creation-Date: 2019-05-12 15:57+0200\n"
+"POT-Creation-Date: 2019-05-12 20:59+0200\n"
"PO-Revision-Date: 2015-05-12 09:47+1000\n"
"Last-Translator: Emily Steinsvik \n"
"Language: no\n"
@@ -15,26 +15,110 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.6.0\n"
-#: routes.py:70 routes.py:91
+#: routes.py:70
msgid "Already logged in"
-msgstr ""
+msgstr "Allerede logget inn"
-#: routes.py:84
-msgid "Logged in"
-msgstr "Logget inn"
-
-#: routes.py:102
+#: routes.py:80
msgid "User registered"
msgstr "Bruker registrert"
-#: routes.py:110
+#: routes.py:89
+msgid "Logged in"
+msgstr "Logget inn"
+
+#: routes.py:103
msgid "Logged out"
msgstr "Logget ut"
-#: routes.py:115
+#: routes.py:108
msgid "Login is required"
msgstr "Innlogging kreves"
+#: forms/login.py:14 templates/pages/bills.html:60
+msgid "Payment to"
+msgstr "Betaling til"
+
+#: forms/login.py:15 templates/pages/bills.html:61
+msgid "Description"
+msgstr "Tekst"
+
+#: forms/login.py:19 templates/pages/bills.html:62
+msgid "Sum"
+msgstr "Sum"
+
+#: forms/login.py:20 templates/pages/bills.html:63
+msgid "KID"
+msgstr "KID"
+
+#: forms/login.py:21 templates/pages/bills.html:64
+msgid "Date due"
+msgstr "Forfallsdato"
+
+#: forms/login.py:24 forms/login.py:37
+msgid "Email"
+msgstr "Epost"
+
+#: forms/login.py:30 forms/login.py:43
+msgid "Password"
+msgstr "Passord"
+
+#: forms/login.py:46
+msgid "Passwords must match"
+msgstr "Passordene må være like"
+
+#: forms/login.py:49
+msgid "Repeat Password"
+msgstr "Gjenta passord"
+
+#: forms/login.py:51
+msgid "Firstname"
+msgstr "Fornavn"
+
+#: forms/login.py:57
+msgid "Surname"
+msgstr "Etternavn"
+
+#: forms/login.py:63
+msgid "I accept the TOS"
+msgstr "Jeg aksepterer TOS"
+
+#: forms/login.py:90
+msgid "Invalid login"
+msgstr "Ugyldig innlogging"
+
+#: forms/login.py:93
+msgid "Incorrect password"
+msgstr "Feil passord"
+
+#: templates/login.html:157
+msgid "Login Page"
+msgstr "Innlogging"
+
+#: templates/login.html:158
+msgid "Login is required to use this service."
+msgstr "Innlogging kreves for å bruke denne tjenesten."
+
+#: templates/login.html:165
+msgid "Language"
+msgstr "Språk"
+
+#: templates/layout/includes/top_nav.html:72 templates/login.html:174
+msgid "english"
+msgstr "engelsk"
+
+#: templates/layout/includes/top_nav.html:80 templates/login.html:182
+msgid "norwegian"
+msgstr "norsk"
+
+#: templates/login.html:223 templates/login.html:233
+msgid "Login"
+msgstr "Login"
+
+#: templates/login.html:224 templates/login.html:234
+msgid "Register"
+msgstr "Registrer"
+
#: templates/layout/includes/side_nav.html:108
msgid "Dashboard"
msgstr "Dashbord"
@@ -56,47 +140,23 @@ msgstr "Kvitteringer"
msgid "Warranties"
msgstr "Garantier"
-#: templates/layout/includes/top_nav.html:72
-msgid "english"
-msgstr "engelsk"
-
-#: templates/layout/includes/top_nav.html:78
-msgid "norwegian"
-msgstr "norsk"
-
-#: templates/layout/includes/top_nav.html:98
+#: templates/layout/includes/top_nav.html:100
msgid "Sign out"
msgstr "Logg ut"
-#: templates/pages/bills.html:15 templates/pages/bills.html:45
+#: templates/pages/bills.html:15 templates/pages/bills.html:47
msgid "Add"
msgstr "Legg til"
-#: templates/pages/bills.html:49
+#: templates/pages/bills.html:21
+msgid "Add bill"
+msgstr "Legg til regning"
+
+#: templates/pages/bills.html:51
msgid "Close"
msgstr "Lukk"
-#: templates/pages/bills.html:58
-msgid "Payment to"
-msgstr "Betaling til"
-
-#: templates/pages/bills.html:59
-msgid "Description"
-msgstr "Tekst"
-
-#: templates/pages/bills.html:60
-msgid "Sum"
-msgstr "Sum"
-
-#: templates/pages/bills.html:61
-msgid "KID"
-msgstr "KID"
-
-#: templates/pages/bills.html:62
-msgid "Date due"
-msgstr "Forfallsdato"
-
-#: templates/pages/bills.html:63
+#: templates/pages/bills.html:65
msgid "Payment status"
msgstr "Betalingsstatus"