From 990d6b853fdfc3c90e466f2e3874b01254b405d4 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 5 Feb 2017 16:39:49 +0200 Subject: [PATCH 1/5] Move templates in members app to templates dir This is kind of a huge, monolithic commit. Templates were being served as static files, so Django template tags could not be used for, e.g. internationalization. Now all html files are served as Django templates. --- members/admin.py | 3 + members/static/html/jasenhakemukset.html | 31 ----- members/static/html/jasenlista.html | 66 --------- members/static/html/lisaa_jasen.html | 31 ----- members/static/html/lisaa_jasenia.html | 24 ---- members/static/html/muokkaa_hakemusta.html | 32 ----- members/static/html/muokkaa_jasenta.html | 32 ----- members/static/js/appconfig.js | 9 +- members/static/js/members_controllers.js | 22 +-- members/static/js/members_routers.js | 37 ----- members/templates/add_many_members.html | 28 ++++ members/templates/add_member.html | 39 ++++++ members/templates/application_base.html | 43 ++++++ members/templates/application_index.html | 151 +++++++++------------ members/templates/application_success.html | 21 +-- members/templates/edit_application.html | 41 ++++++ members/templates/edit_member.html | 41 ++++++ members/templates/list_applications.html | 40 ++++++ members/templates/member_list.html | 73 ++++++++++ members/templates/members_base.html | 77 +++++++++++ members/templates/members_index.html | 91 ++++--------- members/templates/tommy_blooper.html | 8 ++ members/views.py | 51 ++++++- sikweb/urls.py | 17 ++- 24 files changed, 572 insertions(+), 436 deletions(-) delete mode 100644 members/static/html/jasenhakemukset.html delete mode 100644 members/static/html/jasenlista.html delete mode 100644 members/static/html/lisaa_jasen.html delete mode 100644 members/static/html/lisaa_jasenia.html delete mode 100644 members/static/html/muokkaa_hakemusta.html delete mode 100644 members/static/html/muokkaa_jasenta.html delete mode 100644 members/static/js/members_routers.js create mode 100644 members/templates/add_many_members.html create mode 100644 members/templates/add_member.html create mode 100644 members/templates/application_base.html create mode 100644 members/templates/edit_application.html create mode 100644 members/templates/edit_member.html create mode 100644 members/templates/list_applications.html create mode 100644 members/templates/member_list.html create mode 100644 members/templates/members_base.html create mode 100644 members/templates/tommy_blooper.html diff --git a/members/admin.py b/members/admin.py index 8c38f3f..bacee5d 100644 --- a/members/admin.py +++ b/members/admin.py @@ -1,3 +1,6 @@ from django.contrib import admin +from members.models import Member, MemberRequest # Register your models here. +admin.site.register(Member) +admin.site.register(MemberRequest) diff --git a/members/static/html/jasenhakemukset.html b/members/static/html/jasenhakemukset.html deleted file mode 100644 index 337b6b8..0000000 --- a/members/static/html/jasenhakemukset.html +++ /dev/null @@ -1,31 +0,0 @@ -

Jäsenhakemukset

- -
-
-
{{ x.member.first_name }} {{ x.member.last_name}}
-
-
-
Sähköposti: {{ x.member.email }}
-
-
-
AYY-jäsen: {{ x.member.AYY }}
-
-
-
JAS-listaan: {{ x.member.jas }}
-
-
-
Asuinpaikka: {{ x.member.POR }}
-
-
-
Lisätty: {{ x.member.created }}
-
-
-
- - - Muokkaa -
-
-
-
-
diff --git a/members/static/html/jasenlista.html b/members/static/html/jasenlista.html deleted file mode 100644 index 956ff34..0000000 --- a/members/static/html/jasenlista.html +++ /dev/null @@ -1,66 +0,0 @@ - -
-
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-

Jäsenlista (jäseniä: {{members.length}})

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SukunimiEtunimiSähköpostiAYY-jäsenJAS-listallaAsuinpaikkaLisättyMaksanut
{{ x.last_name }}{{ x.first_name }}{{ x.email }}{{ x.AYY }}{{ x.jas }}{{ x.POR }}{{ x.created }}{{ x.paid }} - - Muokkaa - -
-
-
- Tommy -
-
-
diff --git a/members/static/html/lisaa_jasen.html b/members/static/html/lisaa_jasen.html deleted file mode 100644 index be3d3f8..0000000 --- a/members/static/html/lisaa_jasen.html +++ /dev/null @@ -1,31 +0,0 @@ -

Lisää jäsen

- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- -
-
diff --git a/members/static/html/lisaa_jasenia.html b/members/static/html/lisaa_jasenia.html deleted file mode 100644 index d81e62e..0000000 --- a/members/static/html/lisaa_jasenia.html +++ /dev/null @@ -1,24 +0,0 @@ -
-
-

Lisää useampi jäsen

-
- Syötä jäsentiedot pilkuilla erotettuina formaatissa Etunimi, Sukunimi, Sähköposti, Asuinkunta, AYY-jäsen(0 tai 1), JAS-listaan(0 tai 1) -
-
- Erota jäsenet rivinvaihdoilla toisistaan. -
- -
-
-
-
- -
-
-
-
- -
-
-
-
diff --git a/members/static/html/muokkaa_hakemusta.html b/members/static/html/muokkaa_hakemusta.html deleted file mode 100644 index 07b1614..0000000 --- a/members/static/html/muokkaa_hakemusta.html +++ /dev/null @@ -1,32 +0,0 @@ -

Muokkaa hakemuksen jäsentietoja

- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- - -
-
\ No newline at end of file diff --git a/members/static/html/muokkaa_jasenta.html b/members/static/html/muokkaa_jasenta.html deleted file mode 100644 index 9bd7202..0000000 --- a/members/static/html/muokkaa_jasenta.html +++ /dev/null @@ -1,32 +0,0 @@ -

Muokkaa jäsentietoja

- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- - -
-
diff --git a/members/static/js/appconfig.js b/members/static/js/appconfig.js index 9a4841c..a1c15f1 100644 --- a/members/static/js/appconfig.js +++ b/members/static/js/appconfig.js @@ -1,6 +1,11 @@ var app = angular.module('memberApp', ['ngRoute','ngMaterial','ngMessages']); -app.config(['$httpProvider', function ($httpProvider) { +app.config(['$httpProvider', '$locationProvider', function ($httpProvider, $locationProvider) { $httpProvider.defaults.xsrfCookieName = 'csrftoken'; $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken'; -}]); \ No newline at end of file +}]); + +app.config(function($interpolateProvider) { + $interpolateProvider.startSymbol('{$'); + $interpolateProvider.endSymbol('$}'); +}); diff --git a/members/static/js/members_controllers.js b/members/static/js/members_controllers.js index eb5dbb4..30825e1 100644 --- a/members/static/js/members_controllers.js +++ b/members/static/js/members_controllers.js @@ -19,21 +19,22 @@ function notyfication(type, timeout) { var notyError = notyfication('error', 2500); var notySuccess = notyfication('success', 2500); -function memberDataEditor(returnpath) { - return function($scope, $http, $route, $routeParams, $window, $location) { - $scope.member = {"id": $routeParams.id}; - $http.get("/members/api/member/" + $scope.member.id).then(function(response) { +function memberDataEditor(returnPath) { + return function($scope, $http, $window, $location) { + var id = memberId; + console.log("id: " + id); + $http.get("/members/api/member/" + id).then(function(response) { $scope.member = response.data; }); $scope.send = function() { - $http.put("/members/api/member/" + $scope.member.id, $scope.member).then(function(response){ + $http.put("/members/api/member/" + id, $scope.member).then(function(response){ notySuccess("Jäsentiedot tallennettu"); - $location.path(returnpath); + $window.location = returnPath; }); } $scope.cancel = function() { //user canceled. return to list - $location.path(returnpath); + $window.location = returnPath; } } } @@ -47,7 +48,7 @@ app.directive('ngConfirmClick', [ function() { return { buttons: [ { addClass: 'btn btn-danger', text: 'Kyllä', onClick: function($noty) { $noty.close(); - scope.$eval(clickAction) + scope.$eval(clickAction); } }, { @@ -214,7 +215,6 @@ app.controller("postController", function($scope, $http, $location) { $scope.send = function() { $http.post("/members/api/member/", $scope.member).then(function(response){ notySuccess("Jäsen lisätty!"); - $location.path("/list"); }); } }); @@ -258,8 +258,8 @@ app.controller("applController", function($scope, $http){ }; }); -app.controller("editController", memberDataEditor("/list")); -app.controller("applEditController", memberDataEditor("/applications")); +app.controller("editController", memberDataEditor("/members/list")); +app.controller("applEditController", memberDataEditor("/members/applications")); app.controller("addManyController", function($scope, $http, $window) { $scope.memberData = ''; diff --git a/members/static/js/members_routers.js b/members/static/js/members_routers.js deleted file mode 100644 index d569d8e..0000000 --- a/members/static/js/members_routers.js +++ /dev/null @@ -1,37 +0,0 @@ -app.config(['$routeProvider', function($routeProvider){ - $routeProvider - .when('/',{ - templateUrl:"/static/html/jasenlista.html", - controller:'getController', - }) - .when('/list/',{ - templateUrl:"/static/html/jasenlista.html", - controller:'getController', - }) - .when('/add/',{ - templateUrl:"/static/html/lisaa_jasen.html", - controller:'postController', - }) - .when('/edit/:id',{ - templateUrl:"/static/html/muokkaa_jasenta.html", - controller:'editController', - }) - .when('/applications/',{ - templateUrl:"/static/html/jasenhakemukset.html", - controller:'applController', - }) - .when('/applications/edit/:id',{ - templateUrl:"/static/html/muokkaa_jasenta.html", - controller:'applEditController', - }) - .when('/addmany/',{ - templateUrl:"/static/html/lisaa_jasenia.html", - controller:'addManyController', - }) - .when('/tommy/',{ - templateUrl:"/static/html/tommy.html" - }) - .otherwise({ - 'redirectTo':"/" - }) -}]); diff --git a/members/templates/add_many_members.html b/members/templates/add_many_members.html new file mode 100644 index 0000000..510d42d --- /dev/null +++ b/members/templates/add_many_members.html @@ -0,0 +1,28 @@ +{% extends "members_base.html" %} + +{% block content %} +
+
+

Lisää useampi jäsen

+
+ Syötä jäsentiedot pilkuilla erotettuina formaatissa Etunimi, Sukunimi, Sähköposti, Asuinkunta, AYY-jäsen(0 tai 1), JAS-listaan(0 tai 1) +
+
+ Erota jäsenet rivinvaihdoilla toisistaan. +
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+{% endblock content %} diff --git a/members/templates/add_member.html b/members/templates/add_member.html new file mode 100644 index 0000000..72ac254 --- /dev/null +++ b/members/templates/add_member.html @@ -0,0 +1,39 @@ +{% extends "members_base.html" %} + +{% block content %} +
+

Lisää jäsen

+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + + +
+
+
+{% endblock content %} diff --git a/members/templates/application_base.html b/members/templates/application_base.html new file mode 100644 index 0000000..386f66e --- /dev/null +++ b/members/templates/application_base.html @@ -0,0 +1,43 @@ +{% load staticfiles %} +{% load i18n %} + + + + + + + + + Jäsenhakemus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% block content %} + {% endblock content %} + + diff --git a/members/templates/application_index.html b/members/templates/application_index.html index 47a44e4..c86535a 100644 --- a/members/templates/application_index.html +++ b/members/templates/application_index.html @@ -1,88 +1,67 @@ - - - - - - - +{% extends "application_base.html" %} +{% load static %} - - - - - - - - {%load staticfiles %} - - - - - - - - - -
+{% block content %} + -
- Jäseneksi Aalto-yliopiston Sähköinsinöörikiltaan -

Killan jäseneksi liittyminen on helppoa ja hauskaa!

-

Täytä vain alla oleva lomake

-

Muista myös maksaa jäsenmaksusi!

-
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - - -
-
-
-
- - -
-
-
-
-
-
- -
-
-
- +
+
+
+

Killan jäseneksi liittyminen on helppoa ja hauskaa!

+

Täytä vain alla oleva lomake

+

Muista myös maksaa jäsenmaksusi!

+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + +
+
+
+
+ + +
+
+
+
+
+
+ +
+
+
+{% endblock content %} diff --git a/members/templates/application_success.html b/members/templates/application_success.html index 370a897..ec8e994 100644 --- a/members/templates/application_success.html +++ b/members/templates/application_success.html @@ -1,15 +1,6 @@ - - - - - - - - - Hienoa! Jäsenhakemuksesi on nyt lähetetty. - - -

Hienoa! Jäsenhakemuksesi on nyt lähetetty.

- Takaisin Sähköinsinöörikillan web-sivuille - - +{% extends "application_base.html" %} + +{% block content %} +

Hienoa! Jäsenhakemuksesi on nyt lähetetty.

+Takaisin Sähköinsinöörikillan web-sivuille +{% endblock content %} diff --git a/members/templates/edit_application.html b/members/templates/edit_application.html new file mode 100644 index 0000000..14a5dda --- /dev/null +++ b/members/templates/edit_application.html @@ -0,0 +1,41 @@ +{% extends "members_base.html" %} + +{% block content %} + +
+

Muokkaa hakemuksen jäsentietoja

+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+{% endblock content %} diff --git a/members/templates/edit_member.html b/members/templates/edit_member.html new file mode 100644 index 0000000..d756f93 --- /dev/null +++ b/members/templates/edit_member.html @@ -0,0 +1,41 @@ +{% extends "members_base.html" %} + +{% block content %} + +
+

Muokkaa jäsentietoja

+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+{% endblock content %} diff --git a/members/templates/list_applications.html b/members/templates/list_applications.html new file mode 100644 index 0000000..44dfbe9 --- /dev/null +++ b/members/templates/list_applications.html @@ -0,0 +1,40 @@ +{% extends "members_base.html" %} + +{% block content %} +
+

Jäsenhakemukset

+ +
+
+
{$ x.member.first_name $} {$ x.member.last_name$}
+
+
+
Sähköposti: {$ x.member.email $}
+
+
+
AYY-jäsen: {$ x.member.AYY $}
+
+
+
JAS-listaan: {$ x.member.jas $}
+
+
+
Asuinpaikka: {$ x.member.POR $}
+
+
+
Lisätty: {$ x.member.created $}
+
+
+
+ + + Muokkaa +
+
+
+
+
+
+

Ei jäsenhakemuksia :(

+
+
+{% endblock content %} diff --git a/members/templates/member_list.html b/members/templates/member_list.html new file mode 100644 index 0000000..78a4393 --- /dev/null +++ b/members/templates/member_list.html @@ -0,0 +1,73 @@ +{% extends "members_base.html" %} + +{% load static %} +{% block content %} + +
+
+
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+

Jäsenlista (jäseniä: {$ members.length $})

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
SukunimiEtunimiSähköpostiAYY-jäsenJAS-listallaAsuinpaikkaLisättyMaksanut
{$ x.last_name $}{$ x.first_name $}{$ x.email $}{$ x.AYY $}{$ x.jas $}{$ x.POR $}{$ x.created $}{$ x.paid $} + + Muokkaa + +
+
+
+ Tommy +
+
+
+
+{% endblock content %} diff --git a/members/templates/members_base.html b/members/templates/members_base.html new file mode 100644 index 0000000..cd2af83 --- /dev/null +++ b/members/templates/members_base.html @@ -0,0 +1,77 @@ +{% load staticfiles %} +{% load static %} +{% load i18n %} + + + + + + + + + + Jäsenrekisteri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + {% block content %} + {% endblock content %} +
+ + diff --git a/members/templates/members_index.html b/members/templates/members_index.html index a666be0..6cac673 100644 --- a/members/templates/members_index.html +++ b/members/templates/members_index.html @@ -1,66 +1,31 @@ - - - - - - - +{% extends "members_base.html" %} - Jäsenrekisteri +{% block content %} +
- - - - + + + - - - - - - - - - - - - {%load staticfiles %} - - - - - - - - - - -
- - - - - - -
- -
-
- - + +
+ +
+
+{% endblock content %} diff --git a/members/templates/tommy_blooper.html b/members/templates/tommy_blooper.html new file mode 100644 index 0000000..ef0528b --- /dev/null +++ b/members/templates/tommy_blooper.html @@ -0,0 +1,8 @@ +{% extends "members_base.html" %} + +{% block content %} +

Tommyn jäsenlista

+
+ +
+{% endblock content %} diff --git a/members/views.py b/members/views.py index 7444e59..418a431 100644 --- a/members/views.py +++ b/members/views.py @@ -45,15 +45,58 @@ def send_mail_wrapper(subject, message): @ensure_csrf_cookie @require_http_methods(["GET"]) @permission_required('members.change_member', login_url='/login') -def index(request, *args, **kwargs): - return render(request, 'members_index.html', {}) +def member_list(request, *args, **kwargs): + context = {} + return render(request, 'member_list.html', context) +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def add_member(request, *args, **kwargs): + return render(request, 'add_member.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def add_many_members(request, *args, **kwargs): + return render(request, 'add_many_members.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def list_applications(request, *args, **kwargs): + return render(request, 'list_applications.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def tommy_blooper(request, *args, **kwargs): + return render(request, 'tommy_blooper.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def edit_member(request, *args, **kwargs): + i = kwargs.pop('index', None); + if i is None: + return HttpResponse(status=500, error="{'error': 'No member id specified'}") + else: + return render(request, 'edit_member.html', {'member_id' : i}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def edit_application(request, *args, **kwargs): + i = kwargs.pop('index', None); + if i is None: + return HttpResponse(status=500, error="{'error': 'No member id specified'}") + else: + return render(request, 'edit_application.html', {'member_id' : i}) @ensure_csrf_cookie def application_index(request, *args, **kwargs): return render(request, 'application_index.html', {}) - @ensure_csrf_cookie def application_success_index(request, *args, **kwargs): return render(request, 'application_success.html', {}) @@ -210,4 +253,4 @@ def export_csv(request, *args, **kwargs): writer.writerow(field_list) - return response \ No newline at end of file + return response diff --git a/sikweb/urls.py b/sikweb/urls.py index a63cf05..e563a20 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -23,7 +23,10 @@ from webapp.views import main_index from webapp.views import login_view from webapp.views import logout_view # members -from members.views import index as mindex +from members.views import member_list +from members.views import add_member +from members.views import add_many_members +from members.views import edit_member from members.views import members as mems from members.views import member as mem from members.views import handle_mem_request @@ -31,6 +34,7 @@ from members.views import csv_import as mem_csv_import from members.views import new_member_request from members.views import member_requests from members.views import export_csv as mem_csv_export +from members.views import tommy_blooper #infoscreen from infoscreen.views import index as infoindex from infoscreen.views import default as infodefault @@ -54,6 +58,8 @@ from infoscreen.views import admin as infoscreen_admin from infoscreen.views import hsl_timetable_settings #application from members.views import application_index +from members.views import list_applications +from members.views import edit_application from members.views import application_success_index favicon_view = RedirectView.as_view(url='static/img/favicon.ico', permanent=True) @@ -67,7 +73,13 @@ urlpatterns = [ url(r'^login$', login_view), url(r'^logout$', logout_view), # members - url(r'^members/$', mindex), + url(r'^members/$', member_list), + url(r'^members/list$', member_list), + url(r'^members/add$', add_member), + url(r'^members/add_many$', add_many_members), + url(r'^members/edit/(?P\d+)$', edit_member), + url(r'^members/applications$', list_applications), + url(r'^members/edit_application/(?P\d+)$', edit_application), url(r'^members/api/members$', mems), url(r'^members/api/member/(?P\d+)$', mem), url(r'^members/api/member/$', mem), @@ -76,6 +88,7 @@ urlpatterns = [ url(r'^members/api/request$', new_member_request), url(r'^members/api/request/(?P\d+)$', handle_mem_request), url(r'^members/api/getCSV$', mem_csv_export), + url(r'^members/tommy$', tommy_blooper), #infoscreen url(r'^infoscreen/$', infodefault), url(r'^infoscreen/(?P\d+)$', infoindex), From d0185a708f4890304f4d73f3d45152f71c16e3e1 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 5 Feb 2017 17:20:05 +0200 Subject: [PATCH 2/5] Fix application page errors --- members/templates/application_base.html | 6 +++--- members/templates/application_index.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/members/templates/application_base.html b/members/templates/application_base.html index 386f66e..2f00c86 100644 --- a/members/templates/application_base.html +++ b/members/templates/application_base.html @@ -1,7 +1,7 @@ {% load staticfiles %} {% load i18n %} - + @@ -27,11 +27,11 @@ - + - + diff --git a/members/templates/application_index.html b/members/templates/application_index.html index c86535a..5cdf71c 100644 --- a/members/templates/application_index.html +++ b/members/templates/application_index.html @@ -4,7 +4,7 @@ {% block content %} -
+

Killan jäseneksi liittyminen on helppoa ja hauskaa!

From c34e31c0e59736bcb62ab2d7e9a3cd7fadb1a91a Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 5 Feb 2017 23:02:04 +0200 Subject: [PATCH 3/5] Add some translations for i18n --- locale/en/LC_MESSAGES/django.mo | Bin 0 -> 378 bytes locale/en/LC_MESSAGES/django.po | 140 +++++++++++++++++++++++++++ locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 1798 bytes locale/fi/LC_MESSAGES/django.po | 141 ++++++++++++++++++++++++++++ members/templates/member_list.html | 46 ++++----- members/templates/members_base.html | 124 ++++++++++++------------ sikweb/settings-sample.py | 13 ++- sikweb/urls.py | 5 + 8 files changed, 387 insertions(+), 82 deletions(-) create mode 100644 locale/en/LC_MESSAGES/django.mo create mode 100644 locale/en/LC_MESSAGES/django.po create mode 100644 locale/fi/LC_MESSAGES/django.mo create mode 100644 locale/fi/LC_MESSAGES/django.po diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..c971c7b6c83359afe2436adab8e0ff60e3e9976d GIT binary patch literal 378 zcmYL^K~KUk7=|%=+R?Lz9=zd)g~T{38Y(Ne*luJD61`QZa|T<|6{A1Izvpl9TVmu* zp0r7yetr9MeDvMH93UsiDRPLMA#Gx0gojtSw$6WM-o2SsfOHK@_`2eb^>NVW$ss>8ONHoh!7<;1wUV=mi!^nX4FM$q#Uf`DX<1QUgiXs%| zqi%=)d5?k@pmIn!xzCwOyH9y0BB`4IrPsFE=-@mflZBKd<4TaBP&}0*o+O2s&u>w+ z)lOFiN~7Nykvy9&+R8&IN1M9me6@G5s!EmE|F7Sp(b(BwEI#+O#oobuhV$)4*Y=vM gUbSybxLK4Fi1%Jw>&18wcIDQ!tr&@)>kxH*0aICKK>z>% literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..b36a4c5 --- /dev/null +++ b/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,140 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-05 20:18+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: members/templates/member_list.html:13 members/templates/member_list.html:48 +msgid "Added" +msgstr "" + +#: members/templates/member_list.html:14 +msgid "Added after" +msgstr "" + +#: members/templates/member_list.html:15 +msgid "Added before" +msgstr "" + +#: members/templates/member_list.html:20 members/templates/member_list.html:49 +msgid "Paid" +msgstr "" + +#: members/templates/member_list.html:21 +msgid "Paid after" +msgstr "" + +#: members/templates/member_list.html:22 +msgid "Paid before" +msgstr "" + +#: members/templates/member_list.html:27 +msgid "Search" +msgstr "" + +#: members/templates/member_list.html:28 +msgid "Filter" +msgstr "" + +#: members/templates/member_list.html:29 +msgid "Reset" +msgstr "" + +#: members/templates/member_list.html:32 members/templates/members_base.html:13 +msgid "Member register" +msgstr "" + +#: members/templates/member_list.html:37 +msgid "Member count" +msgstr "" + +#: members/templates/member_list.html:42 +msgid "Last name" +msgstr "" + +#: members/templates/member_list.html:43 +msgid "First name" +msgstr "" + +#: members/templates/member_list.html:44 +msgid "Email" +msgstr "" + +#: members/templates/member_list.html:45 +msgid "AYY member" +msgstr "" + +#: members/templates/member_list.html:46 +msgid "JAS recipient" +msgstr "" + +#: members/templates/member_list.html:47 +msgid "Residence" +msgstr "" + +#: members/templates/member_list.html:63 +msgid "Update payment" +msgstr "" + +#: members/templates/member_list.html:64 +msgid "Edit" +msgstr "" + +#: members/templates/member_list.html:65 +msgid "Delete" +msgstr "" + +#: members/templates/member_list.html:65 +msgid "Are you sure?" +msgstr "" + +#: members/templates/members_base.html:49 +msgid "Member list" +msgstr "" + +#: members/templates/members_base.html:50 +msgid "Add member" +msgstr "" + +#: members/templates/members_base.html:51 +msgid "Add multiple" +msgstr "" + +#: members/templates/members_base.html:52 +msgid "Member application" +msgstr "" + +#: members/templates/members_base.html:55 sikweb/settings-sample.py:140 +#: sikweb/settings.py:146 +msgid "Finnish" +msgstr "" + +#: members/templates/members_base.html:56 sikweb/settings-sample.py:139 +#: sikweb/settings.py:145 +msgid "English" +msgstr "" + +#: members/templates/members_base.html:58 +msgid "Change language" +msgstr "" + +#: members/templates/members_base.html:70 +msgid "Member register of SIK ry" +msgstr "" + +#: members/templates/members_base.html:75 +msgid "Log out" +msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..7ebb96b125c8a0d954f0f958672541b0181398cf GIT binary patch literal 1798 zcmZ9L&u<$=6vwAf3YhStB|!O67=(nVqHUc>h{&mFmt@nrv17}2DuTpe;+@!&-JMy@ z&RX>!&_4hPjvSDD2PBjWKZN812avcRAu3UE;l~LHA-I9~K6{;rj{N2`Z|2RL_uf9= zIdk$ohVcUAImqG(#?FHa_h7>K2rPjg7yJxdfc_PDANU>k5O}-T{{?&)`k&yV;E8(~ zI|ZHwPl9Jbx_1t|AAG4eUn=w!klw3+Z@! zr1w4r$={bC*?kSt``?4)_eYT8`xSfy{2h!?gMUEsuV763!-BWK2cW+To(A79_CEwE z-Y-D9_YFvXe*h`ZpNjq8K)U}|vHvfKA3FtOvReSj?;=QcFN5UwV!m?GphHK5E{=wo`6t| z>Hghg-beHXT(Yx}Mac6Iw8V5gj+t_$`p*Z&O!1zB(D$N&PcY4$@_h{QEQI;HyF8J} zp0vyl!~ZSw*r_y@v@gTi%*DQ&S;~;_$$evSY$YF=oM*X}m)ZJ2=)UAJ=3Mk8+mNwz zk_Dl1EJ%ckS)lu|$_8vx#pG*KX+2YI=C~G#WY_%;x3Z^FCADL9G2gG7J~z2zjcL4G zq-m^r!YQNYTRoHGMsbc;j@DN8q2amWY_4;&&pWj(Zbz&oR5+cABuSs=*p``e46_QQ z?n%~>!uAGiCk=&@JQbsaB5hf7AbZZMh29NmGsIQlEq{H>zZ&oxLAz6HZkO6JHP(5J ztgk}vjl7?ET~pzuR`q^_!}GTpwoFB zrn7J5b)`ruyzXyb-Jy^#)$3Pcb-~#Fu?<3P)EdEYe#;lirFEkn^7p!<6mdIw(_Kts zq4XN>4TMGIsyp3HZ}r%Y!rGVC3v|zfO7|;#bx*lcE6%Nmy-j12tip9VRkP~K8lNqz zuW0^al`o%PD^cH8G(VV(GpSi!Ws~t_e7BlsQaLd@b#8RDAiFq{^NTp*QfsJ9^lD`I zP}oFVW;cWygn~y(#)`EJ`bV%vZlXvC)|re4(c~~SnNv)nqlLzzlN&UIU|DVw#R8XW z1)`n3AwGu?+Bhc;a66A?M_bAsh&;@B9-E9^pJp=B-^b(5eXkHi0%jD%$bwhKTTuT+Zf;4D`)=!_K&uW literal 0 HcmV?d00001 diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 0000000..4d33998 --- /dev/null +++ b/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,141 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-05 20:18+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: members/templates/member_list.html:13 members/templates/member_list.html:48 +msgid "Added" +msgstr "Lisätty" + +#: members/templates/member_list.html:14 +msgid "Added after" +msgstr "Lisätty jälkeen" + +#: members/templates/member_list.html:15 +msgid "Added before" +msgstr "Lisätty ennen" + +#: members/templates/member_list.html:20 members/templates/member_list.html:49 +msgid "Paid" +msgstr "Maksettu" + +#: members/templates/member_list.html:21 +msgid "Paid after" +msgstr "Maksettu jälkeen" + +#: members/templates/member_list.html:22 +msgid "Paid before" +msgstr "Maksettu ennen" + +#: members/templates/member_list.html:27 +msgid "Search" +msgstr "Haku" + +#: members/templates/member_list.html:28 +msgid "Filter" +msgstr "Suodata" + +#: members/templates/member_list.html:29 +msgid "Reset" +msgstr "Nollaa" + +#: members/templates/member_list.html:32 members/templates/members_base.html:13 +msgid "Member register" +msgstr "Jäsenrekisteri" + +#: members/templates/member_list.html:37 +msgid "Member count" +msgstr "Lukumäärä" + +#: members/templates/member_list.html:42 +msgid "Last name" +msgstr "Sukunimi" + +#: members/templates/member_list.html:43 +msgid "First name" +msgstr "Etunimi" + +#: members/templates/member_list.html:44 +msgid "Email" +msgstr "Sähköposti" + +#: members/templates/member_list.html:45 +msgid "AYY member" +msgstr "AYY:n jäsen" + +#: members/templates/member_list.html:46 +msgid "JAS recipient" +msgstr "JAS-vastaanottaja" + +#: members/templates/member_list.html:47 +msgid "Residence" +msgstr "Asuinpaikka" + +#: members/templates/member_list.html:63 +msgid "Update payment" +msgstr "Päivitä maksu" + +#: members/templates/member_list.html:64 +msgid "Edit" +msgstr "Muokkaa" + +#: members/templates/member_list.html:65 +msgid "Delete" +msgstr "Poista" + +#: members/templates/member_list.html:65 +msgid "Are you sure?" +msgstr "Oletko varma?" + +#: members/templates/members_base.html:49 +msgid "Member list" +msgstr "Jäsenlistaus" + +#: members/templates/members_base.html:50 +msgid "Add member" +msgstr "Lisää jäsen" + +#: members/templates/members_base.html:51 +msgid "Add multiple" +msgstr "Lisää useita" + +#: members/templates/members_base.html:52 +msgid "Member application" +msgstr "Jäsenhakemus" + +#: members/templates/members_base.html:55 sikweb/settings-sample.py:140 +#: sikweb/settings.py:146 +msgid "Finnish" +msgstr "suomi" + +#: members/templates/members_base.html:56 sikweb/settings-sample.py:139 +#: sikweb/settings.py:145 +msgid "English" +msgstr "englanti" + +#: members/templates/members_base.html:58 +msgid "Change language" +msgstr "Vaihda kieli" + +#: members/templates/members_base.html:70 +msgid "Member register of SIK ry" +msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" + +#: members/templates/members_base.html:75 +msgid "Log out" +msgstr "Kirjaudu ulos" diff --git a/members/templates/member_list.html b/members/templates/member_list.html index 78a4393..bbd76ab 100644 --- a/members/templates/member_list.html +++ b/members/templates/member_list.html @@ -1,6 +1,7 @@ {% extends "members_base.html" %} {% load static %} +{% load i18n %} {% block content %}
@@ -9,40 +10,41 @@
- - - + + +
- - - + + +
- - - + + +
-

Jäsenlista (jäseniä: {$ members.length $})

- +

{% trans "Member register" %}

+
- - - - - - - - + + + + + + + + + @@ -56,9 +58,9 @@ diff --git a/members/templates/members_base.html b/members/templates/members_base.html index cd2af83..d23f96f 100644 --- a/members/templates/members_base.html +++ b/members/templates/members_base.html @@ -3,75 +3,81 @@ {% load i18n %} - - - - - - + + + + + + - Jäsenrekisteri - - - - + {% trans "Member register" %} + + + + - - + + - - + + - - + + - - - - - - + + + + + + - - - - - - + + - - - + + + - - -
+ + +
- - - + + - {% block content %} - {% endblock content %} -
- + + + +
+ + {% block content %} + {% endblock content %} +
+ diff --git a/sikweb/settings-sample.py b/sikweb/settings-sample.py index 6dfd78f..7a6c0e8 100644 --- a/sikweb/settings-sample.py +++ b/sikweb/settings-sample.py @@ -135,7 +135,18 @@ LOGPATH = "logs/debug.log" # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ -LANGUAGE_CODE = 'en-us' +LANGUAGES = ( + ('en', _('English')), + ('fi', _('Finnish')), +) + +LANGUAGE_CODE = 'fi' + +LOCALE_PATHS = ( + os.path.join(BASE_DIR, 'locale'), +) + +print("LOCALE_PATHS: {}".format(LOCALE_PATHS)) TIME_ZONE = 'Europe/Helsinki' diff --git a/sikweb/urls.py b/sikweb/urls.py index e563a20..b9b7d06 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -17,6 +17,7 @@ Including another URLconf from django.conf.urls import url from django.contrib import admin from django.views.generic.base import RedirectView +from django.conf.urls import include # main from webapp.views import main_index # login @@ -114,4 +115,8 @@ urlpatterns = [ url(r'^application/$', application_index), url(r'^application/success$', application_success_index), url(r'^favicon\.ico$', favicon_view), + + # i18n default view for changing the active language + url(r'^i18n/', include('django.conf.urls.i18n')), + ] From 7ee3f697404b9077cb2e2f7f27ba8bfe49a91b2b Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 6 Feb 2017 01:10:25 +0200 Subject: [PATCH 4/5] Add footer with language controls Also add a project wide global_static directory at the root for storing project wide static files. Add some translations for the member register app. --- .gitignore | 2 + global_static/css/footer.css | 20 +++++ global_static/img/en.png | Bin 0 -> 1418 bytes global_static/img/favicon.ico | Bin 0 -> 1150 bytes global_static/img/fi.png | Bin 0 -> 267 bytes locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes locale/en/LC_MESSAGES/django.po | 64 ++++++++-------- locale/fi/LC_MESSAGES/django.mo | Bin 1798 -> 1753 bytes locale/fi/LC_MESSAGES/django.po | 69 +++++++++-------- members/templates/members_base.html | 9 +-- sikweb/settings-sample.py | 13 +++- sikweb/urls.py | 111 +++++++++++++++------------- templates/footer.html | 13 ++++ 13 files changed, 176 insertions(+), 125 deletions(-) create mode 100644 global_static/css/footer.css create mode 100644 global_static/img/en.png create mode 100644 global_static/img/favicon.ico create mode 100644 global_static/img/fi.png create mode 100644 templates/footer.html diff --git a/.gitignore b/.gitignore index 47ca469..03098ab 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ webapp/migrations/* .idea/ logs/ logs/* +static/ +static/* diff --git a/global_static/css/footer.css b/global_static/css/footer.css new file mode 100644 index 0000000..fb85dda --- /dev/null +++ b/global_static/css/footer.css @@ -0,0 +1,20 @@ +.footer { + text-align: center; +} + +#fi-button { + background: url("/static/img/fi.png") no-repeat; + background-size: cover; +} + +#en-button { + background: url("/static/img/en.png") no-repeat; + background-size: cover; +} + +.lang-button { + height: 20px; + width: 30px; + margin-left: 10px; + margin-right: 10px; +} diff --git a/global_static/img/en.png b/global_static/img/en.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd938af7f464d92785e0137a8b5a93c41f15582 GIT binary patch literal 1418 zcmV;51$Fv~P)Px)L`g(JR7efYRtroNM;QKgZ;_L`6R7w&?5T)QO?)JZoY-n(8e<}AN>8-a+G;Uv zZ0n0^tT7Zz1!Jo=fR7l(T5Gk4CK{!R(3cHW4A#a{u|!2J_Kt@=IF7sHZg;0UbME$t z4?>#QPBJ_H{PRC%{@MAzpPPe}oH4kv-iQt!N^|EI(E-JKfZu9b7#;e_$&X=E zwx;*Nihpz>A_Tm@DXNQ{s^^A5zJf8ie5mtK$+P8iVX>G(Sv{h4Iu3^p&wiv1Juvmn zZ376ET0C(Sxc&oS$jXI~l*|;Jts>^ly9rmDq!}tNPlU;&L*vMiklWfApO1{hfZAHL zw@a8dt&Z^u3N4tBWB|u;kei#}*_Z|K;!m2L&o0yibybcm6G#p_T<>PUQ?LcZ??-f$ zfTJbx7(2GND%S0&*YnuFe<+eC7@2ebcjaiCp9cShN>Cp%rvsn9P_x73lz;0F&?HY4H0iR%#5)n0F{gfPC=yp z%F1@)^-8R_|L`MeOq)UMV-r}v_vULvbl6ECAQL5wtT{%EAb*<8tT!en2bs#ED}M{I zj~l`C9M6s;twno@*X3h&>+5}_u&|L>tyh((Z)Tl6y|S`;WM=+>UAvmm&=7!-JPCci zI1YX0dJuyN-t(1cvZW$WQL5Z4JH$gjQcE*jdv`$=C4|kg!F1#d!sjmr!opBm+J=mb zTR3>|UKd^MAIMt%Mwf-|CZVrDXR)AvRaJK?UDiJ;*vIB90$o;~@I=c4FPqIz)b&?( z`~M>X|M?YYd4Q(Vo;2CzQj$2!VNj9-cvBB?sAL^T0~~2sw!AFu%FOuHYmCIY35wXw{UD&hdWCaf{%4I^NIYGEJ~L9$vU@w~Z8H#1Fd-$yfE_!AC}R*eRC!P|q@Ch`>-uf- z>(u8-RkV>@OHU&Kr<3J)QIg5mXPjiplv?6)i4S7I`0YR1`V`vJxFTKFqeG zv-AF6uWdg_kd6*UP@r7A=oV-pLkp4E%+*LZd{lv688;Tpfqi4Pa-|Yx&WuEH@oe<# z7Xd93T1~y7Ga4{_cM^qoQre9!&Q;m&Mvq6vs+A4c zxw8qPC__Iq4x=l+M_*eyTne&YojOr7!R5dpsTDEhE(=J=-cX6W-1C}HDAALunCc}Z z4McgxJQRNZB{QQ|#dP9^N#bc~+@X}nY*qO@H~G*bovSiE8LO)u7#6qt0Tt@}3P$Dq Y4L_lg`51u-T>t<807*qoM6N<$g0&Z)2LJ#7 literal 0 HcmV?d00001 diff --git a/global_static/img/favicon.ico b/global_static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0799dd35a6bd7f1830ec3a14c8897c0549476ffc GIT binary patch literal 1150 zcmZQzU<5(|0R|vYV8~!$U=RbcG=LZ+qyWT>V3L8s0VszK{{R2ah>m+>4A)K!5PvMp z%`7j*!=gMnQ2b?*5yxtDb;x|6(W0!34E(&T46>bGLibn3O8uW5Ch;AF*Ct5+@AeXS zZf&eBzjfm}-t8OLh$8FVv1zSztpn%H8du@NWsXAITRcV2=GzKxj5gxyj{@Qn2chi? zBPD-N3ljZUZO?hN(1hXUrqxSjVP@>wwn@0&k@Noi2+8k7_Cg!`{l)JaNH7P(`Kf^-ZyP;CPDdEY&1vTJ9vgv(BFV_M@Y#GST&e_$He2 z>T^Owes*~9-;LE{T@DIcQ1}$u32kLzVr2E#;i>L%=X!m6@8Wc9`axpZmONY60rkub zmG~;f$D#@J_up^>zHX45iZHABqF~(>-x zvtJMd)W2_WHZJ@9H6i*X`B>C@{lxFDiHEo!q#mf>aej!v@4E+AV1yscyetcz%^*Jm z)7aA~*|@olPt={Vk$l`ara_Acyk2aEb4e z{Dq(Q#TlQ-dX5DhRO}tB9~!P7M-&9dE$C943!UGcf%BPYDJ9!gLil literal 0 HcmV?d00001 diff --git a/global_static/img/fi.png b/global_static/img/fi.png new file mode 100644 index 0000000000000000000000000000000000000000..264b919f8ba4c723f2310d0d1ef24ff04ba19632 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Eu!3HE}2mdz#QjEnx?oJHr&dIz4a*lesIEHxe zCg;pCIX?ZP{o@=qHnu{AW1LlHcCHh(KTdahIQd}Z&-owgwS*0)O-{5hj5^|2wwWQc zsWxt=XnXkOEw7&kKGELH6Zm6E(XHjWOqqh|N}({H)F2sdhjvD>vhxV#hG9|2?Z?-D|~+lbsSxo zYqDYW2EqGz3%7OMUheqG&}^$phix*GX|JS&WcYV803 literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index c971c7b6c83359afe2436adab8e0ff60e3e9976d..00de228de2fd08a7998d0360fd99d56c94c835fc 100644 GIT binary patch delta 16 Ycmeyx^owc21U54T14Ao=iPN3{05!n|O8@`> delta 16 Ycmeyx^owc21U6FzBLgeLiPN3{05!x0OaK4? diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index b36a4c5..9ee7f2c 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-05 20:18+0200\n" +"POT-Creation-Date: 2017-02-06 01:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: members/templates/member_list.html:13 members/templates/member_list.html:48 +#: members/templates/member_list.html:13 members/templates/member_list.html:45 msgid "Added" msgstr "" @@ -29,7 +29,7 @@ msgstr "" msgid "Added before" msgstr "" -#: members/templates/member_list.html:20 members/templates/member_list.html:49 +#: members/templates/member_list.html:20 members/templates/member_list.html:46 msgid "Paid" msgstr "" @@ -57,47 +57,51 @@ msgstr "" msgid "Member register" msgstr "" -#: members/templates/member_list.html:37 -msgid "Member count" +#: members/templates/member_list.html:33 +msgid "Download CSV" msgstr "" -#: members/templates/member_list.html:42 +#: members/templates/member_list.html:39 msgid "Last name" msgstr "" -#: members/templates/member_list.html:43 +#: members/templates/member_list.html:40 msgid "First name" msgstr "" -#: members/templates/member_list.html:44 +#: members/templates/member_list.html:41 msgid "Email" msgstr "" -#: members/templates/member_list.html:45 +#: members/templates/member_list.html:42 msgid "AYY member" msgstr "" -#: members/templates/member_list.html:46 +#: members/templates/member_list.html:43 msgid "JAS recipient" msgstr "" -#: members/templates/member_list.html:47 +#: members/templates/member_list.html:44 msgid "Residence" msgstr "" -#: members/templates/member_list.html:63 +#: members/templates/member_list.html:47 +msgid "Member count" +msgstr "" + +#: members/templates/member_list.html:61 msgid "Update payment" msgstr "" -#: members/templates/member_list.html:64 +#: members/templates/member_list.html:62 msgid "Edit" msgstr "" -#: members/templates/member_list.html:65 +#: members/templates/member_list.html:63 msgid "Delete" msgstr "" -#: members/templates/member_list.html:65 +#: members/templates/member_list.html:63 msgid "Are you sure?" msgstr "" @@ -117,24 +121,22 @@ msgstr "" msgid "Member application" msgstr "" -#: members/templates/members_base.html:55 sikweb/settings-sample.py:140 -#: sikweb/settings.py:146 -msgid "Finnish" -msgstr "" - -#: members/templates/members_base.html:56 sikweb/settings-sample.py:139 -#: sikweb/settings.py:145 -msgid "English" -msgstr "" - -#: members/templates/members_base.html:58 -msgid "Change language" -msgstr "" - -#: members/templates/members_base.html:70 +#: members/templates/members_base.html:62 msgid "Member register of SIK ry" msgstr "" -#: members/templates/members_base.html:75 +#: members/templates/members_base.html:67 msgid "Log out" msgstr "" + +#: sikweb/settings-sample.py:141 sikweb/settings.py:146 +msgid "English" +msgstr "" + +#: sikweb/settings-sample.py:142 sikweb/settings.py:147 +msgid "Finnish" +msgstr "" + +#: templates/footer.html:11 +msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" +msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 7ebb96b125c8a0d954f0f958672541b0181398cf..25341dfc80c1e806ed3450a1e435cfd7b4b3e30a 100644 GIT binary patch delta 705 zcmZ9~IY_NlBCTUl(hR1hmcqOGxzEh30r zz@rdsgcNFFVQr_N;Qw33#vw1io!OZ;*Y0FmY5yf3J2Xm>7$#Dl*#v&0N-bj6i6_oF zrl>bCj!jJBy=#BMH1#)3;0MO=6V?9*+b|jp-}{#2K@EA-LWioa zte_^YVi&ICAa0{3JVNEGq57Sn7SKTDy~c$3W;Z-!Xn4RicKwW+ph9o8FFUK)PJI(| zxaHdSPzydr?YNHGP=LyFg&KG3+8>dhwNz(*d*wk1-%%aEPzfVslUY=vqN`7$c07k= ztf0p2qVnvc7JiES?1Dd?z$NNrnyB%2=LpZ0h#q2qP=fzO-_8)B z<0hx|6WxRg*BusJolZqp^jBE)m}RNy!_%FpaQfkHwPLNZaBv=33Ubi}FEKk>nw~EO MtFa9)XvL?zU-o!4F#rGn delta 750 zcmZ9~J1j#{9LMoK~5R1noMA(S$?>ZJI_kTb4oO>SsbMCzktyCB8YP}nV(m}KmQOB5W40^axcCixo ztcMt+eu_T4#45b8?T;9u{*GaE%8c=21ictTjcdblV+y9zcIf$SFbULxNz_Cm7{D?6 zehO=;XHbbOqY@~h7F@+9+(IpQfST_F)$a_Iz!e5q-`w(`44<$XUvQ37_(Cm^qqo}g z)*@C=U&jb;+V&k(!pEp_=cswFk)4`*+y0Ci|Dkr)H{U#P89%+%F^HNtit5;fnz+xJ zLMyxOR&tMAksB!zKd5%yUxIiv*$4w{kfCU}V8xNY`6WO?%j0UJQ5_+d2Zy;2f ziF!iEtnvTL-@l|qn9{_EDA7*vTezi;JDW|o-`2LdSu5i\n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: members/templates/member_list.html:13 members/templates/member_list.html:48 +#: members/templates/member_list.html:13 members/templates/member_list.html:45 msgid "Added" msgstr "Lisätty" @@ -30,7 +30,7 @@ msgstr "Lisätty jälkeen" msgid "Added before" msgstr "Lisätty ennen" -#: members/templates/member_list.html:20 members/templates/member_list.html:49 +#: members/templates/member_list.html:20 members/templates/member_list.html:46 msgid "Paid" msgstr "Maksettu" @@ -58,47 +58,51 @@ msgstr "Nollaa" msgid "Member register" msgstr "Jäsenrekisteri" -#: members/templates/member_list.html:37 -msgid "Member count" -msgstr "Lukumäärä" +#: members/templates/member_list.html:33 +msgid "Download CSV" +msgstr "" -#: members/templates/member_list.html:42 +#: members/templates/member_list.html:39 msgid "Last name" msgstr "Sukunimi" -#: members/templates/member_list.html:43 +#: members/templates/member_list.html:40 msgid "First name" msgstr "Etunimi" -#: members/templates/member_list.html:44 +#: members/templates/member_list.html:41 msgid "Email" msgstr "Sähköposti" -#: members/templates/member_list.html:45 +#: members/templates/member_list.html:42 msgid "AYY member" msgstr "AYY:n jäsen" -#: members/templates/member_list.html:46 +#: members/templates/member_list.html:43 msgid "JAS recipient" msgstr "JAS-vastaanottaja" -#: members/templates/member_list.html:47 +#: members/templates/member_list.html:44 msgid "Residence" msgstr "Asuinpaikka" -#: members/templates/member_list.html:63 +#: members/templates/member_list.html:47 +msgid "Member count" +msgstr "Lukumäärä" + +#: members/templates/member_list.html:61 msgid "Update payment" msgstr "Päivitä maksu" -#: members/templates/member_list.html:64 +#: members/templates/member_list.html:62 msgid "Edit" msgstr "Muokkaa" -#: members/templates/member_list.html:65 +#: members/templates/member_list.html:63 msgid "Delete" msgstr "Poista" -#: members/templates/member_list.html:65 +#: members/templates/member_list.html:63 msgid "Are you sure?" msgstr "Oletko varma?" @@ -118,24 +122,25 @@ msgstr "Lisää useita" msgid "Member application" msgstr "Jäsenhakemus" -#: members/templates/members_base.html:55 sikweb/settings-sample.py:140 -#: sikweb/settings.py:146 -msgid "Finnish" -msgstr "suomi" - -#: members/templates/members_base.html:56 sikweb/settings-sample.py:139 -#: sikweb/settings.py:145 -msgid "English" -msgstr "englanti" - -#: members/templates/members_base.html:58 -msgid "Change language" -msgstr "Vaihda kieli" - -#: members/templates/members_base.html:70 +#: members/templates/members_base.html:62 msgid "Member register of SIK ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" -#: members/templates/members_base.html:75 +#: members/templates/members_base.html:67 msgid "Log out" msgstr "Kirjaudu ulos" + +#: sikweb/settings-sample.py:141 sikweb/settings.py:146 +msgid "English" +msgstr "englanti" + +#: sikweb/settings-sample.py:142 sikweb/settings.py:147 +msgid "Finnish" +msgstr "suomi" + +#: templates/footer.html:11 +msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" +msgstr "" + +#~ msgid "Change language" +#~ msgstr "Vaihda kieli" diff --git a/members/templates/members_base.html b/members/templates/members_base.html index d23f96f..e4ac434 100644 --- a/members/templates/members_base.html +++ b/members/templates/members_base.html @@ -50,14 +50,6 @@
  • {% trans "Add member" %}
  • {% trans "Add multiple" %}
  • {% trans "Member application" %}
  • -
    {% csrf_token %} - - - -
    @@ -79,5 +71,6 @@ {% block content %} {% endblock content %} + {% include "footer.html" %} diff --git a/sikweb/settings-sample.py b/sikweb/settings-sample.py index 7a6c0e8..f8278e7 100644 --- a/sikweb/settings-sample.py +++ b/sikweb/settings-sample.py @@ -60,14 +60,16 @@ ROOT_URLCONF = 'sikweb.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': ['templates'], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', + 'django.template.context_processors.i18n', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'django.core.context_processors.static', ], }, }, @@ -159,8 +161,15 @@ USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.9/howto/static-files/ -STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.AppDirectoriesFinder'] +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + 'django.contrib.staticfiles.finders.FileSystemFinder', +) STATIC_URL = '/static/' +STATIC_ROOT = os.path.join(BASE_DIR, 'static') +STATICFILES_DIRS = ( + os.path.join(BASE_DIR, 'global_static'), +) HSL_USERHASH = 'YOUR HSL USERHASH HERE' HSL_DEPARTURE_THRESHOLD = 8 diff --git a/sikweb/urls.py b/sikweb/urls.py index b9b7d06..3f956cc 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -18,6 +18,10 @@ from django.conf.urls import url from django.contrib import admin from django.views.generic.base import RedirectView from django.conf.urls import include +from django.conf.urls.static import static +from django.conf import settings +from django.contrib.staticfiles import views as static_views + # main from webapp.views import main_index # login @@ -66,57 +70,60 @@ from members.views import application_success_index favicon_view = RedirectView.as_view(url='static/img/favicon.ico', permanent=True) urlpatterns = [ - # main - url(r'^$', main_index), - # admin - url(r'^admin/', admin.site.urls), - # login stuff - url(r'^login$', login_view), - url(r'^logout$', logout_view), - # members - url(r'^members/$', member_list), - url(r'^members/list$', member_list), - url(r'^members/add$', add_member), - url(r'^members/add_many$', add_many_members), - url(r'^members/edit/(?P\d+)$', edit_member), - url(r'^members/applications$', list_applications), - url(r'^members/edit_application/(?P\d+)$', edit_application), - url(r'^members/api/members$', mems), - url(r'^members/api/member/(?P\d+)$', mem), - url(r'^members/api/member/$', mem), - url(r'^members/api/csvimport$', mem_csv_import), - url(r'^members/api/requests$', member_requests), - url(r'^members/api/request$', new_member_request), - url(r'^members/api/request/(?P\d+)$', handle_mem_request), - url(r'^members/api/getCSV$', mem_csv_export), - url(r'^members/tommy$', tommy_blooper), - #infoscreen - url(r'^infoscreen/$', infodefault), - url(r'^infoscreen/(?P\d+)$', infoindex), - url(r'^infoscreen/items$', info_items), - url(r'^infoscreen/rotation/(?P\d+)$', rotation), - url(r'^infoscreen/rotations$', rotations), - url(r'^infoscreen/instance$', createInfoInstance), - url(r'^infoscreen/instance/(?P\d+)$', deleteInfoInstance), - url(r'^infoscreen/types$', info_types), - url(r'^infoscreen/delete_item/(?P\d+)/(?P\d+)$', delete_info_item), - url(r'^infoscreen/create_external_image$', createExternalImageInfoItem), - url(r'^infoscreen/create_image$', create_image_item), - url(r'^infoscreen/create_abbitem$', createABBItem), - url(r'^infoscreen/create_sossoitem$', createSossoItem), - url(r'^infoscreen/create_hslitem$', createHslItem), - url(r'^infoscreen/create_coffeeitem$', createCoffeeItem), - url(r'^infoscreen/admin$', infoscreen_admin), - url(r'^infoscreen/create_rotation$', create_rotation), - url(r'^infoscreen/delete_rotation/(?P\d+)$', delete_rotation), - url(r'^infoscreen/hsl_data$', CurrentHSLView), - url(r'^infoscreen/hsl_data/settings$', hsl_timetable_settings), - #application - url(r'^application/$', application_index), - url(r'^application/success$', application_success_index), - url(r'^favicon\.ico$', favicon_view), + # main + url(r'^$', main_index), + # admin + url(r'^admin/', admin.site.urls), + # login stuff + url(r'^login$', login_view), + url(r'^logout$', logout_view), + # members + url(r'^members/$', member_list), + url(r'^members/list$', member_list), + url(r'^members/add$', add_member), + url(r'^members/add_many$', add_many_members), + url(r'^members/edit/(?P\d+)$', edit_member), + url(r'^members/applications$', list_applications), + url(r'^members/edit_application/(?P\d+)$', edit_application), + url(r'^members/api/members$', mems), + url(r'^members/api/member/(?P\d+)$', mem), + url(r'^members/api/member/$', mem), + url(r'^members/api/csvimport$', mem_csv_import), + url(r'^members/api/requests$', member_requests), + url(r'^members/api/request$', new_member_request), + url(r'^members/api/request/(?P\d+)$', handle_mem_request), + url(r'^members/api/getCSV$', mem_csv_export), + url(r'^members/tommy$', tommy_blooper), + #infoscreen + url(r'^infoscreen/$', infodefault), + url(r'^infoscreen/(?P\d+)$', infoindex), + url(r'^infoscreen/items$', info_items), + url(r'^infoscreen/rotation/(?P\d+)$', rotation), + url(r'^infoscreen/rotations$', rotations), + url(r'^infoscreen/instance$', createInfoInstance), + url(r'^infoscreen/instance/(?P\d+)$', deleteInfoInstance), + url(r'^infoscreen/types$', info_types), + url(r'^infoscreen/delete_item/(?P\d+)/(?P\d+)$', delete_info_item), + url(r'^infoscreen/create_external_image$', createExternalImageInfoItem), + url(r'^infoscreen/create_image$', create_image_item), + url(r'^infoscreen/create_abbitem$', createABBItem), + url(r'^infoscreen/create_sossoitem$', createSossoItem), + url(r'^infoscreen/create_hslitem$', createHslItem), + url(r'^infoscreen/create_coffeeitem$', createCoffeeItem), + url(r'^infoscreen/admin$', infoscreen_admin), + url(r'^infoscreen/create_rotation$', create_rotation), + url(r'^infoscreen/delete_rotation/(?P\d+)$', delete_rotation), + url(r'^infoscreen/hsl_data$', CurrentHSLView), + url(r'^infoscreen/hsl_data/settings$', hsl_timetable_settings), + #application + url(r'^application/$', application_index), + url(r'^application/success$', application_success_index), + url(r'^favicon\.ico$', favicon_view), - # i18n default view for changing the active language - url(r'^i18n/', include('django.conf.urls.i18n')), + # i18n default view for changing the active language + url(r'^i18n/', include('django.conf.urls.i18n')), -] + # staticfiles default view for static files in development + url(r'^static/(?P.*)$', static_views.serve), + +] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) diff --git a/templates/footer.html b/templates/footer.html new file mode 100644 index 0000000..67453c2 --- /dev/null +++ b/templates/footer.html @@ -0,0 +1,13 @@ +{% load i18n %} +{% load static %} +{% load staticfiles %} + + From 236d080b538bc7b1018569fc3156950e4e4c1a8e Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 10 Feb 2017 18:50:54 +0200 Subject: [PATCH 5/5] Translate infoscreen admin page --- infoscreen/static/html/infoscreen_admin.html | 55 ---------- infoscreen/static/js/infoadmin_controllers.js | 7 ++ infoscreen/templates/infoscreen_admin.html | 91 ++++++++++++++-- locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes locale/en/LC_MESSAGES/django.po | 94 +++++++++++++++-- locale/fi/LC_MESSAGES/django.mo | Bin 1753 -> 2772 bytes locale/fi/LC_MESSAGES/django.po | 98 ++++++++++++++++-- 7 files changed, 264 insertions(+), 81 deletions(-) delete mode 100644 infoscreen/static/html/infoscreen_admin.html diff --git a/infoscreen/static/html/infoscreen_admin.html b/infoscreen/static/html/infoscreen_admin.html deleted file mode 100644 index 083df35..0000000 --- a/infoscreen/static/html/infoscreen_admin.html +++ /dev/null @@ -1,55 +0,0 @@ -
    -
    -

    Info items

    -
    Infoitems available for rotations:
    -
    SukunimiEtunimiSähköpostiAYY-jäsenJAS-listallaAsuinpaikkaLisättyMaksanut{% trans "Last name" %}{% trans "First name" %}{% trans "Email" %}{% trans "AYY member" %}{% trans "JAS recipient" %}{% trans "Residence" %}{% trans "Added" %}{% trans "Paid" %}{% trans "Member count" %}: {$ members.length $}
    {$ x.created $} {$ x.paid $} - - Muokkaa - + + {% trans "Edit" %} +
    - - - - - - - -
    ItemSet durationAdd to rotationDelete
    {{i.name}}
    -

    Create new item

    - - - - -
    Item type
    -
    -
    -
    -

    Rotations

    -
    - Select rotation to edit: -
    - - - - - - - - - - - - - - -
    RotationSelectDelete
    {{r.name}}
    - -

    Rotation: {{selected_rot.name}}

    -
    Instances in currently selected rotation:
    - - - - - - - - - @@ -13,13 +15,90 @@ +
    +
    +
    +

    {% trans "Infoscreen Admin Pane" %}

    +
    +
    +
    +
    +

    {% trans "Info items" %}

    +
    {% trans "Infoitems available for rotations" %}
    +
    InstanceDurationDelete
    {{i.item.name}}{{i.duration}}s
    + + + + + + + + + + + + +
    {% trans "Item" %}{% trans "Set duration" %}{% trans "Add to rotation" %}{% trans "Delete" %}
    {$ i.name $}
    +

    {% trans "Create new item" %}

    + + + + + +
    {% trans "Item type" %} + +
    +
    +
    +
    +

    {% trans "Rotations" %}

    +
    + {% trans "Select rotation to edit" %}: +
    + + + + + + + + + + + + + + + + +
    {% trans "Rotation" %}{% trans "Select" %}{% trans "Delete" %}
    {$ r.name $}
    -
    +

    {% trans "Rotation" %}: {$ selected_rot.name $}

    +
    {% trans "Instances in currently selected rotation" %}:
    + + + + + + + + + + +
    {% trans "Instance" %}{% trans "Duration" %}{% trans "Delete" %}
    {$ i.item.name $}{$ i.duration $} s
    +
    +
    +
    + {% include "footer.html" %} +
    +
    diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 00de228de2fd08a7998d0360fd99d56c94c835fc..56dcd95e949904fa3dae0ab4215221d61fff172c 100644 GIT binary patch delta 15 Xcmeyx^owc2BvwO9D^tUX(;ou>F|YF>?kk diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 9ee7f2c..888e114 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 01:08+0200\n" +"POT-Creation-Date: 2017-02-06 19:51+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,90 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: infoscreen/templates/infoscreen_admin.html:20 +#: members/templates/members_base.html:67 +msgid "Log out" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:27 +msgid "Infoscreen Admin Pane" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:32 +msgid "Info items" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:33 +msgid "Infoitems available for rotations" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:36 +msgid "Item" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:37 +msgid "Set duration" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:38 +msgid "Add to rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:39 +#: infoscreen/templates/infoscreen_admin.html:70 +#: infoscreen/templates/infoscreen_admin.html:75 +#: infoscreen/templates/infoscreen_admin.html:90 +#: infoscreen/templates/infoscreen_admin.html:94 +#: members/templates/member_list.html:63 +msgid "Delete" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:48 +msgid "Create new item" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:51 +msgid "Item type" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:62 +msgid "Rotations" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:64 +msgid "Select rotation to edit" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:68 +#: infoscreen/templates/infoscreen_admin.html:84 +msgid "Rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:69 +#: infoscreen/templates/infoscreen_admin.html:74 +msgid "Select" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:78 +msgid "Name" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:79 +msgid "Create new" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:85 +msgid "Instances in currently selected rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:88 +msgid "Instance" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:89 +msgid "Duration" +msgstr "" + #: members/templates/member_list.html:13 members/templates/member_list.html:45 msgid "Added" msgstr "" @@ -97,10 +181,6 @@ msgstr "" msgid "Edit" msgstr "" -#: members/templates/member_list.html:63 -msgid "Delete" -msgstr "" - #: members/templates/member_list.html:63 msgid "Are you sure?" msgstr "" @@ -125,10 +205,6 @@ msgstr "" msgid "Member register of SIK ry" msgstr "" -#: members/templates/members_base.html:67 -msgid "Log out" -msgstr "" - #: sikweb/settings-sample.py:141 sikweb/settings.py:146 msgid "English" msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 25341dfc80c1e806ed3450a1e435cfd7b4b3e30a..5459a1777f6765bd730135d8f95745a9759e177c 100644 GIT binary patch literal 2772 zcmbW1O>7%Q6vwAfD1=g=6bj{|Q=rh&Zt4UIsoT(+*lFGPOK}pZ6#`AX6MN$I%xZQv zWhI1qK|%rv4uA^cXbwn-6GXimaY6zPNQgrZ-1xX4E+8Sq|E<>!aD&ml`OVv%dGkJI z_S)|4Z!@$h$o-K1Hpb?_qt~NDo7v9T1b8B25!?yA4&DYn2i^b%;4PrdzP}9K3jHO{RWcX+u_8$;2x0dO=f%o zB!6Z=nm-3(39Ey&-!e%4ypZV~5D&8%6L2r|%OLH01>6OG0CrK6PqOzMM(Dkl@f1k@ zE`WI0^XTpX+aS$LK#KEKkm~Rbh=+ZFj`sNmglYCYNPhkRlHb3Al#ky*nzs!fF=V?y zdcPN>dHXZ{AV~S}zz4u-a6i}p=_rLD#pg2pbr27G6CL^c9!T~-0?FS`GY&x7|LaV@ z22ve<24}%PK-xEt49X?tx4~$X_~hbblyzYPS!O_H-^EgybOP8#T%u?Q2C{ArC{SJpwtFj)v!E3S-JIHOkYd z9l?O|LOI}&MGM^&W-O*#$rBUvD7Nx6n=@fzRlDPOK?KftNuW%qB4;#j4*H$$U{mQx>A~h;)2glt zoZvQLb5;r`xt5pyHss359xKW~I?0OWk`9dU`CM~_6=OSet>i1mNRRQOioHdBN`~%^O0KiO31v z+8RV0pIWiCQoA7G5u9x~J3!qLj} zMqzHDaJIx(N{h{My*9BZLt~v+joQlho{ig)w`B5sqETP+(ldfZUJ*v~d^$Jvw3nOq za!>K86Zzv)M{?7-942~;azl~vY~F=ZVbQDBy<&l%tLLlbBNywn(gbDRTe3n&fpEs= z`TTOF!fS`;eCqJY3A*Na&DRJ0NNQG5(V#!* z|67eCshk*pr6Wrx4mUns;9N2u(9)ob%dquEY7MoH%h@%2L)f19zn8xf8y?4zVxs}~ zm0%5nQw{F~yh<{`HlzzrJV?I>t&FdV6~*1DC9Fe_37Olu7&w@ zizEp{MK|2r!08e~8|TD2T#dU!KNgf-7qK7nI4}`ApBAShy0RBXh`k&4s7iLw&py#5 z7x*-sXk|CO=8FA?AM5xGY^|{ zkW{kiA`S|rlY+K`Ac&B`Iyg9YOQC|_UwAHFa`JiizI)I8_s&xFMCDI1{KY8!L?6-7 zV)hdMqe?Yo){fr;x3Poz9!BsGScU{AA|OF)PgrqJKjcZXcv{|2Ws4L(0+>itgbrq+a(W5c#Z1# z50x-PHra_v)F0Gep>{lmS)4|VTSMjfj9U06^0OWObOQURlQ~3<|AiG@GxIek0((Me zuo9&RmFGkk(M>49{i1KDm(X#O)1DHK2^FrpS#)(e6W&!Ij9v@3+02_z+$erykfUN&rPrZ diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 5afa4b9..dff19d9 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 01:08+0200\n" +"POT-Creation-Date: 2017-02-06 19:51+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,6 +18,90 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: infoscreen/templates/infoscreen_admin.html:20 +#: members/templates/members_base.html:67 +msgid "Log out" +msgstr "Kirjaudu ulos" + +#: infoscreen/templates/infoscreen_admin.html:27 +msgid "Infoscreen Admin Pane" +msgstr "Infonäyttöjen hallintapaneeli" + +#: infoscreen/templates/infoscreen_admin.html:32 +msgid "Info items" +msgstr "Diat" + +#: infoscreen/templates/infoscreen_admin.html:33 +msgid "Infoitems available for rotations" +msgstr "Rotaatioon lisättävät diat" + +#: infoscreen/templates/infoscreen_admin.html:36 +msgid "Item" +msgstr "Dia" + +#: infoscreen/templates/infoscreen_admin.html:37 +msgid "Set duration" +msgstr "Aseta kesto" + +#: infoscreen/templates/infoscreen_admin.html:38 +msgid "Add to rotation" +msgstr "Lisää rotaatioon" + +#: infoscreen/templates/infoscreen_admin.html:39 +#: infoscreen/templates/infoscreen_admin.html:70 +#: infoscreen/templates/infoscreen_admin.html:75 +#: infoscreen/templates/infoscreen_admin.html:90 +#: infoscreen/templates/infoscreen_admin.html:94 +#: members/templates/member_list.html:63 +msgid "Delete" +msgstr "Poista" + +#: infoscreen/templates/infoscreen_admin.html:48 +msgid "Create new item" +msgstr "Luo uusi dia" + +#: infoscreen/templates/infoscreen_admin.html:51 +msgid "Item type" +msgstr "Diatyyppi" + +#: infoscreen/templates/infoscreen_admin.html:62 +msgid "Rotations" +msgstr "Rotaatiot" + +#: infoscreen/templates/infoscreen_admin.html:64 +msgid "Select rotation to edit" +msgstr "Valitse muokattava rotaatio" + +#: infoscreen/templates/infoscreen_admin.html:68 +#: infoscreen/templates/infoscreen_admin.html:84 +msgid "Rotation" +msgstr "Rotaatio" + +#: infoscreen/templates/infoscreen_admin.html:69 +#: infoscreen/templates/infoscreen_admin.html:74 +msgid "Select" +msgstr "Valitse" + +#: infoscreen/templates/infoscreen_admin.html:78 +msgid "Name" +msgstr "Nimi" + +#: infoscreen/templates/infoscreen_admin.html:79 +msgid "Create new" +msgstr "Luo uusi" + +#: infoscreen/templates/infoscreen_admin.html:85 +msgid "Instances in currently selected rotation" +msgstr "Nykyisen rotaation diat" + +#: infoscreen/templates/infoscreen_admin.html:88 +msgid "Instance" +msgstr "Dia" + +#: infoscreen/templates/infoscreen_admin.html:89 +msgid "Duration" +msgstr "Kesto" + #: members/templates/member_list.html:13 members/templates/member_list.html:45 msgid "Added" msgstr "Lisätty" @@ -60,7 +144,7 @@ msgstr "Jäsenrekisteri" #: members/templates/member_list.html:33 msgid "Download CSV" -msgstr "" +msgstr "Lataa CSV" #: members/templates/member_list.html:39 msgid "Last name" @@ -98,10 +182,6 @@ msgstr "Päivitä maksu" msgid "Edit" msgstr "Muokkaa" -#: members/templates/member_list.html:63 -msgid "Delete" -msgstr "Poista" - #: members/templates/member_list.html:63 msgid "Are you sure?" msgstr "Oletko varma?" @@ -126,10 +206,6 @@ msgstr "Jäsenhakemus" msgid "Member register of SIK ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" -#: members/templates/members_base.html:67 -msgid "Log out" -msgstr "Kirjaudu ulos" - #: sikweb/settings-sample.py:141 sikweb/settings.py:146 msgid "English" msgstr "englanti" @@ -140,7 +216,7 @@ msgstr "suomi" #: templates/footer.html:11 msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" -msgstr "" +msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" #~ msgid "Change language" #~ msgstr "Vaihda kieli"