Add some translations for i18n

This commit is contained in:
Jan Tuomi
2017-02-05 23:02:04 +02:00
parent d0185a708f
commit c34e31c0e5
8 changed files with 387 additions and 82 deletions
Binary file not shown.
+140
View File
@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\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"
#: 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 ""
Binary file not shown.
+141
View File
@@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\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=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"
+24 -22
View File
@@ -1,6 +1,7 @@
{% extends "members_base.html" %}
{% load static %}
{% load i18n %}
{% block content %}
<link rel="stylesheet" href="{% static "css/jasenlista.css" %}">
<div ng-controller="getController">
@@ -9,40 +10,41 @@
<div class="row content-area">
<div class="form-inline col-md-12 first-filter">
<div class="form-group filters">
<label for="addedBeforeDatePicker"><h4>Lisätty</h4></label>
<md-datepicker class="filter-field" id="addedAfterDatePicker" ng-model="addedAfterDatePicker" md-placeholder="Lisätty jälkeen"></md-datepicker>
<md-datepicker class="filter-field" id="addedBeforeDatePicker" ng-model="addedBeforeDatePicker" md-placeholder="Lisätty ennen"></md-datepicker>
<label for="addedBeforeDatePicker"><h4>{% trans "Added" %}</h4></label>
<md-datepicker class="filter-field" id="addedAfterDatePicker" ng-model="addedAfterDatePicker" md-placeholder="{% trans "Added after" %}"></md-datepicker>
<md-datepicker class="filter-field" id="addedBeforeDatePicker" ng-model="addedBeforeDatePicker" md-placeholder="{% trans "Added before" %}"></md-datepicker>
</div>
</div>
<div class="form-inline col-md-12">
<div class="form-group filters">
<label for="paidBeforeDatePicker"><h4>Maksettu</h4></label>
<md-datepicker class="filter-field" id="paidAfterDatePicker" ng-model="paidAfterDatePicker" md-placeholder="Maksettu jälkeen"></md-datepicker>
<md-datepicker class="filter-field" id="paidBeforeDatePicker" ng-model="paidBeforeDatePicker" md-placeholder="Maksettu ennen"></md-datepicker>
<label for="paidBeforeDatePicker"><h4>{% trans "Paid" %}</h4></label>
<md-datepicker class="filter-field" id="paidAfterDatePicker" ng-model="paidAfterDatePicker" md-placeholder="{% trans "Paid after" %}"></md-datepicker>
<md-datepicker class="filter-field" id="paidBeforeDatePicker" ng-model="paidBeforeDatePicker" md-placeholder="{% trans "Paid before" %}"></md-datepicker>
</div>
</div>
<div class="form-inline col-md-12 last-filter">
<div class="form-group filters">
<input class="filter-field form-control" type="text" id="searchFilter" placeholder="Haku" ng-keypress="pressKeyOnSearch($event)" ng-model="searchFilter"></input>
<input type="button" value="Suodata" class="filter-field btn btn-success" ng-click="doFilter()" />
<input type="button" value="Nollaa" class="filter-field btn btn-warning" ng-click="clearFilter()" />
<input class="filter-field form-control" type="text" id="searchFilter" placeholder="{% trans "Search" %}" ng-keypress="pressKeyOnSearch($event)" ng-model="searchFilter"></input>
<input type="button" value="{% trans "Filter" %}" class="filter-field btn btn-success" ng-click="doFilter()" />
<input type="button" value="{% trans "Reset" %}" class="filter-field btn btn-warning" ng-click="clearFilter()" />
</div>
<div class="content-area-title form-group">
<h3 class="inline-title">Jäsenlista (jäseniä: {$ members.length $})</h3>
<input type="button" value="Lataa CSV" id="download-csv" class="btn btn-info" ng-click="loadCSV()"/>
<h3 class="inline-title">{% trans "Member register" %}</h3>
<input type="button" value="{% trans "Download CSV" %}" id="download-csv" class="btn btn-info" ng-click="loadCSV()"/>
</div>
</div>
<table id="choose-address-table" class="table table-striped">
<thead>
<tr class="ui-widget-header">
<th>Sukunimi</th>
<th>Etunimi</th>
<th>Sähköposti</th>
<th>AYY-jäsen</th>
<th>JAS-listalla</th>
<th>Asuinpaikka</th>
<th>Lisätty</th>
<th>Maksanut</th>
<th>{% trans "Last name" %}</th>
<th>{% trans "First name" %}</th>
<th>{% trans "Email" %}</th>
<th>{% trans "AYY member" %}</th>
<th>{% trans "JAS recipient" %}</th>
<th>{% trans "Residence" %}</th>
<th>{% trans "Added" %}</th>
<th>{% trans "Paid" %}</th>
<th class="table-button-column">{% trans "Member count" %}: {$ members.length $}</th>
</tr>
</thead>
<tbody>
@@ -56,9 +58,9 @@
<td>{$ x.created $}</td>
<td>{$ x.paid $}</td>
<td class="table-button-column">
<input type="button" value="Päivitä maksu" class="table-button btn btn-success" ng-click="updatePayment(x.id)" />
<a href="/members/edit/{$ x.id $}"<input type="button" value="Edit" class="table-button btn btn-info">Muokkaa</input></a>
<input type="button" value="Poista" class="table-button btn btn-danger" confirmed-click="deleteMember(x.id)" ng-confirm-click="Are you sure?"/>
<input type="button" value="{% trans "Update payment" %}" class="table-button btn btn-success" ng-click="updatePayment(x.id)" />
<a href="/members/edit/{$ x.id $}"<input type="button" value="{% trans "Edit" %}" class="table-button btn btn-info">{% trans "Edit" %}</input></a>
<input type="button" value="{% trans "Delete" %}" class="table-button btn btn-danger" confirmed-click="deleteMember(x.id)" ng-confirm-click="{% trans "Are you sure?" %}"/>
</td>
</tr>
</tbody>
+65 -59
View File
@@ -3,75 +3,81 @@
{% load i18n %}
<!DOCTYPE html>
<html lang="en" ng-app="memberApp">
<head>
<base href="/">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="uli uli">
<meta name="author" content="veedeeämkoo">
<head>
<base href="/">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="uli uli">
<meta name="author" content="veedeeämkoo">
<title>Jäsenrekisteri</title>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" rel = "stylesheet">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.js"></script>
<title>{% trans "Member register" %}</title>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" rel = "stylesheet">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.js"></script>
<!-- Angular -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.6/angular.js"></script>
<!-- Angular -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.6/angular.js"></script>
<!-- Angular routing -->
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-route.js"></script>
<!-- Angular routing -->
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-route.js"></script>
<!-- Underscore.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<!-- Underscore.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<!-- DatePicker -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-aria.min.js"></script>
<!-- DatePicker -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-aria.min.js"></script>
<!-- reCaptcha -->
<script src="/static/js/angular-recaptcha.js"></script>
<script src="https://www.google.com/recaptcha/api.js?onload=vcRecaptchaApiLoaded&render=explicit" async defer></script>
<script src="/static/js/jquery.noty.packaged.js"></script>
<script src="/static/js/appconfig.js"></script>
<script src="/static/js/jquery.noty.packaged.js"></script>
<script src="/static/js/appconfig.js"></script>
<script src="/static/js/members_controllers.js"></script>
<script src="/static/js/moment.js"></script>
<link href="/static/css/simple-sidebar.css" rel="stylesheet">
<script src="/static/js/members_controllers.js"></script>
<script src="/static/js/moment.js"></script>
<link href="/static/css/simple-sidebar.css" rel="stylesheet">
</head>
<body>
<div id="wrapper">
</head>
<body>
<div id="wrapper">
<!-- Sidebar -->
<div id="sidebar-wrapper">
<ul class="sidebar-nav">
<li><a href="/members/list">Listaa jäsenet</a></li>
<li><a href="/members/add">Lisää jäsen</a></li>
<li><a href="/members/add_many">Lisää jäseniä</a></li>
<li><a href="/members/applications">Jäsenhakemukset</a></li>
</ul>
</div>
<!-- /#sidebar-wrapper -->
<!-- Sidebar -->
<div id="sidebar-wrapper">
<ul class="sidebar-nav">
<li><a href="/members/list">{% trans "Member list" %}</a></li>
<li><a href="/members/add">{% trans "Add member" %}</a></li>
<li><a href="/members/add_many">{% trans "Add multiple" %}</a></li>
<li><a href="/members/applications">{% trans "Member application" %}</a></li>
<form action="/i18n/setlang/" method="post"> {% csrf_token %}
<select name="language">
<option value="fi">{% trans "Finnish" %}</option>
<option value="en">{% trans "English" %}</option>
</select>
<input type="submit" value="{% trans "Change language" %}" />
<!-- Page Content -->
<div class="col-xs-12 col-sm-12 col-lg-12">
<div id="header" class="row">
<div class="col-xs-11 col-sm-11 col-lg-11">
<h1 style="text-align:center; margin-top:10px; margin-bottom: 10px;">Aalto-yliopiston Sähköinsinöörikilta RY:n jäsenrekisteri</h1>
</div>
<div class="col-xs-1 col-sm-1 col-lg-1">
<form action="/logout" method="post"> {% csrf_token %}
<input type="Submit" value="Logout" name="Logout" class="btn btn-danger" style="margin-top:12px;"/>
</form>
</div>
</ul>
</div>
{% block content %}
{% endblock content %}
</div>
</body>
<!-- /#sidebar-wrapper -->
<!-- Page Content -->
<div class="col-xs-12 col-sm-12 col-lg-12">
<div id="header" class="row">
<div class="col-xs-11 col-sm-11 col-lg-11">
<h1 style="text-align:center; margin-top:10px; margin-bottom: 10px;">
{% trans "Member register of SIK ry" %}
</h1>
</div>
<div class="col-xs-1 col-sm-1 col-lg-1">
<form action="/logout" method="post"> {% csrf_token %}
<input type="Submit" value="{% trans "Log out" %}" name="Logout" class="btn btn-danger" style="margin-top:12px;"/>
</form>
</div>
</div>
{% block content %}
{% endblock content %}
</div>
</body>
</html>
+12 -1
View File
@@ -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'
+5
View File
@@ -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')),
]