Internationalize funding.
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 20 Jan 2021 13:08:13 +0000 (14:08 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 20 Jan 2021 13:08:13 +0000 (14:08 +0100)
24 files changed:
src/funding/admin.py
src/funding/locale/de/LC_MESSAGES/django.po
src/funding/locale/en/LC_MESSAGES/django.po
src/funding/locale/es/LC_MESSAGES/django.po
src/funding/locale/fr/LC_MESSAGES/django.po
src/funding/locale/it/LC_MESSAGES/django.po
src/funding/locale/lt/LC_MESSAGES/django.po
src/funding/locale/pl/LC_MESSAGES/django.po
src/funding/locale/ru/LC_MESSAGES/django.po
src/funding/locale/uk/LC_MESSAGES/django.po
src/funding/migrations/0005_auto_20210120_1358.py [new file with mode: 0644]
src/funding/models.py
src/funding/translation.py [new file with mode: 0644]
src/wolnelektury/locale/de/LC_MESSAGES/django.po
src/wolnelektury/locale/en/LC_MESSAGES/django.po
src/wolnelektury/locale/es/LC_MESSAGES/django.po
src/wolnelektury/locale/fr/LC_MESSAGES/django.po
src/wolnelektury/locale/it/LC_MESSAGES/django.po
src/wolnelektury/locale/lt/LC_MESSAGES/django.po
src/wolnelektury/locale/pl/LC_MESSAGES/django.mo
src/wolnelektury/locale/pl/LC_MESSAGES/django.po
src/wolnelektury/locale/ru/LC_MESSAGES/django.po
src/wolnelektury/locale/uk/LC_MESSAGES/django.po
src/wolnelektury/templates/base/superbase.html

index 244ac6a..3e981d8 100644 (file)
@@ -3,18 +3,20 @@
 #
 from django.utils.translation import ugettext_lazy as _
 from django.contrib import admin
+from modeltranslation.admin import TranslationAdmin
 from fnpdjango.actions import export_as_csv_action
 from .models import Offer, Perk, Funding, Spent
 
 
-class OfferAdmin(admin.ModelAdmin):
+class OfferAdmin(TranslationAdmin):
     model = Offer
     list_display = ['title', 'author', 'target', 'sum', 'is_win', 'start', 'end']
     search_fields = ['title', 'author']
     readonly_fields = ('cover_img_tag',)
+    autocomplete_fields = ['book']
 
 
-class PerkAdmin(admin.ModelAdmin):
+class PerkAdmin(TranslationAdmin):
     model = Perk
     search_fields = ['name', 'long_name']
     list_display = ['name', 'long_name', 'price', 'end_date', 'offer']
index 27333d3..475cf33 100644 (file)
@@ -17,19 +17,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -65,59 +65,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
index 87a9e47..7ce9bd3 100644 (file)
@@ -16,19 +16,19 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -64,59 +64,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
index 27333d3..475cf33 100644 (file)
@@ -17,19 +17,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -65,59 +65,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
index eb202fd..41a23c7 100644 (file)
@@ -17,19 +17,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -65,59 +65,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
index 27333d3..475cf33 100644 (file)
@@ -17,19 +17,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -65,59 +65,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
index a651373..10a3d20 100644 (file)
@@ -18,19 +18,19 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
 "%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -66,59 +66,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
index a5d8389..bf3a62e 100644 (file)
@@ -18,19 +18,19 @@ msgstr ""
 "|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr "płatność doszła do skutku"
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr "Tak"
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr "Nie"
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr "prezenty"
 
@@ -71,59 +71,59 @@ msgstr "Minimalna kwota wpłaty to %(amount)s zł."
 msgid "This offer is out of date."
 msgstr "Ta zbiórka jest już nieaktywna."
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr "autor"
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr "tytuł"
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr "slug"
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr "opis"
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr "kwota docelowa"
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr "początek"
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr "koniec"
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr "URL na Redakcji"
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr "Opublikowana książka."
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr "Okładka"
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr "Ankieta"
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr "Wysłano powiadomienia przed końcem"
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr "Wysłano powiadomienia o zakończeniu"
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr "Podgląd okładki"
 
index 89cc9d8..e29fcfb 100644 (file)
@@ -18,19 +18,19 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -66,59 +66,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
index 89cc9d8..e29fcfb 100644 (file)
@@ -18,19 +18,19 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: funding/admin.py:24
+#: funding/admin.py:27
 msgid "payment complete"
 msgstr ""
 
-#: funding/admin.py:29 funding/admin.py:46
+#: funding/admin.py:32 funding/admin.py:49
 msgid "Yes"
 msgstr ""
 
-#: funding/admin.py:30 funding/admin.py:47
+#: funding/admin.py:33 funding/admin.py:50
 msgid "No"
 msgstr ""
 
-#: funding/admin.py:41 funding/models.py:257 funding/models.py:275
+#: funding/admin.py:44 funding/models.py:257 funding/models.py:275
 msgid "perks"
 msgstr ""
 
@@ -66,59 +66,59 @@ msgstr ""
 msgid "This offer is out of date."
 msgstr ""
 
-#: funding/models.py:25
+#: funding/models.py:26
 msgid "author"
 msgstr ""
 
-#: funding/models.py:26
+#: funding/models.py:27
 msgid "title"
 msgstr ""
 
-#: funding/models.py:27
+#: funding/models.py:28
 msgid "slug"
 msgstr ""
 
-#: funding/models.py:28
+#: funding/models.py:29
 msgid "description"
 msgstr ""
 
-#: funding/models.py:29
+#: funding/models.py:30
 msgid "target"
 msgstr ""
 
-#: funding/models.py:30
+#: funding/models.py:31
 msgid "start"
 msgstr ""
 
-#: funding/models.py:31
+#: funding/models.py:32
 msgid "end"
 msgstr ""
 
-#: funding/models.py:32
+#: funding/models.py:33
 msgid "redakcja URL"
 msgstr ""
 
-#: funding/models.py:33
+#: funding/models.py:34
 msgid "Published book."
 msgstr ""
 
-#: funding/models.py:34
+#: funding/models.py:35
 msgid "Cover"
 msgstr ""
 
-#: funding/models.py:35
+#: funding/models.py:36
 msgid "Poll"
 msgstr ""
 
-#: funding/models.py:37
+#: funding/models.py:38
 msgid "Near-end notifications sent"
 msgstr ""
 
-#: funding/models.py:38
+#: funding/models.py:39
 msgid "End notifications sent"
 msgstr ""
 
-#: funding/models.py:42
+#: funding/models.py:43
 msgid "Cover preview"
 msgstr ""
 
diff --git a/src/funding/migrations/0005_auto_20210120_1358.py b/src/funding/migrations/0005_auto_20210120_1358.py
new file mode 100644 (file)
index 0000000..9f9ece1
--- /dev/null
@@ -0,0 +1,148 @@
+# Generated by Django 2.2.16 on 2021-01-20 12:58
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('funding', '0004_auto_20190729_1450'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='offer',
+            name='description_de',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_en',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_es',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_fr',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_it',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_lt',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_pl',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_ru',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='offer',
+            name='description_uk',
+            field=models.TextField(blank=True, null=True, verbose_name='description'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_de',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_en',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_es',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_fr',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_it',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_lt',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_pl',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_ru',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='long_name_uk',
+            field=models.CharField(max_length=255, null=True, verbose_name='long name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_de',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_en',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_es',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_fr',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_it',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_lt',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_pl',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_ru',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+        migrations.AddField(
+            model_name='perk',
+            name='name_uk',
+            field=models.CharField(max_length=255, null=True, verbose_name='name'),
+        ),
+    ]
index 79385a2..9907cd0 100644 (file)
@@ -10,6 +10,7 @@ from django.db import models
 from django.dispatch import receiver
 from django.template.loader import render_to_string
 from django.urls import reverse
+from django.utils.html import mark_safe
 from django.utils.timezone import utc
 from django.utils.translation import ugettext_lazy as _, override
 import getpaid
@@ -38,9 +39,8 @@ class Offer(models.Model):
     notified_end = models.DateTimeField(_('End notifications sent'), blank=True, null=True)
 
     def cover_img_tag(self):
-        return '<img src="%s" />' % self.cover.url
+        return mark_safe('<img src="%s" />' % self.cover.url)
     cover_img_tag.short_description = _('Cover preview')
-    cover_img_tag.allow_tags = True
 
     class Meta:
         verbose_name = _('offer')
diff --git a/src/funding/translation.py b/src/funding/translation.py
new file mode 100644 (file)
index 0000000..f8d6c0f
--- /dev/null
@@ -0,0 +1,20 @@
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+
+from modeltranslation.translator import translator, TranslationOptions
+from . import models
+
+
+class OfferTranslationOptions(TranslationOptions):
+    fields = ('description',)
+
+
+translator.register(models.Offer, OfferTranslationOptions)
+
+
+class PerkTranslationOptions(TranslationOptions):
+    fields = ('name', 'long_name')
+
+
+translator.register(models.Perk, PerkTranslationOptions)
index 07cf97e..e59c216 100644 (file)
@@ -168,7 +168,7 @@ msgid "Register"
 msgstr "Registrieren"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index aef2bb6..9256ca6 100644 (file)
@@ -166,7 +166,7 @@ msgid "Register"
 msgstr "Register"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index 5d054b5..08f5b01 100644 (file)
@@ -165,7 +165,7 @@ msgid "Register"
 msgstr "Registrarse"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index 53d8e6b..09eeb7d 100644 (file)
@@ -167,7 +167,7 @@ msgid "Register"
 msgstr "Inscrivez-vous"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index 9b4ad70..32034f0 100644 (file)
@@ -167,7 +167,7 @@ msgid "Register"
 msgstr "Registrati"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index c58248e..72a7618 100644 (file)
@@ -173,7 +173,7 @@ msgid "Register"
 msgstr "Registruotis "
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index 5179fff..97a7258 100644 (file)
Binary files a/src/wolnelektury/locale/pl/LC_MESSAGES/django.mo and b/src/wolnelektury/locale/pl/LC_MESSAGES/django.mo differ
index 6835c74..cbf96fe 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: WolneLektury\n"
 "Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2020-02-12 10:05+0100\n"
+"PO-Revision-Date: 2021-01-20 13:47+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: \n"
 "Language: pl\n"
@@ -17,7 +17,7 @@ msgstr ""
 "X-Translated-Using: django-rosetta 0.5.6\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: Poedit 2.2.4\n"
+"X-Generator: Poedit 2.3\n"
 
 #: wolnelektury/templates/404.html:4
 msgid "Page does not exist"
@@ -33,7 +33,7 @@ msgid ""
 "correct address or go to "
 msgstr ""
 "Przepraszamy, ale ta strona nie istnieje. Sprawdź czy podałeś dobry adres, "
-"lub przejdź do"
+"lub przejdź do "
 
 #: wolnelektury/templates/404.html:12
 msgid "main page"
@@ -115,7 +115,17 @@ msgid "Logout"
 msgstr "Wyloguj"
 
 #: wolnelektury/templates/base/superbase.html:60
-#, python-format
+#, fuzzy, python-format
+#| msgid ""
+#| "\n"
+#| "                    <a href='%(b)s'>%(c)s</a> free reading you have <a "
+#| "href='%(r)s'>right to</a>\n"
+#| "                    "
+#| msgid_plural ""
+#| "\n"
+#| "                    <a href='%(b)s'>%(c)s</a> free readings you have <a "
+#| "href='%(r)s'>right to</a>\n"
+#| "                  "
 msgid ""
 "\n"
 "                  <a href='%(b)s'>%(c)s</a> free reading you have <a "
@@ -162,8 +172,8 @@ msgid "Register"
 msgstr "Załóż konto"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
-msgstr ""
+msgid "Support us"
+msgstr "Wesprzyj nas"
 
 #: wolnelektury/templates/base/superbase.html:115
 msgid "Literature"
@@ -201,10 +211,8 @@ msgid "Loading"
 msgstr "Ładowanie"
 
 #: wolnelektury/templates/board_base.html:31
-#, fuzzy
-#| msgid "advanced"
 msgid "Advanced search"
-msgstr "zaawansowane"
+msgstr "Wyszukiwanie zaawansowane"
 
 #: wolnelektury/templates/info/join_us.html:6
 #, python-format
@@ -411,15 +419,11 @@ msgstr ""
 "błąd, przejdź do <a href=\"%(login_url)s\">strony logowania</a>."
 
 #: wolnelektury/templates/socialaccount/signup.html:6
-#, fuzzy
-#| msgid "Sign in"
 msgid "Signup"
 msgstr "Zaloguj się"
 
 #: wolnelektury/templates/socialaccount/signup.html:9
 #: wolnelektury/templates/socialaccount/signup.html:25
-#, fuzzy
-#| msgid "Sign in"
 msgid "Sign Up"
 msgstr "Zaloguj się"
 
@@ -429,6 +433,8 @@ msgid ""
 "You are about to use your %(provider_name)s account to login to\n"
 "%(site_name)s. As a final step, please complete the following form:"
 msgstr ""
+"Używasz konta %(provider_name)s do zalogowania się w \n"
+"%(site_name)s. Jako ostatni krok, proszę wypełnij formularz:"
 
 #: wolnelektury/templates/user.html:5 wolnelektury/templates/user.html:9
 msgid "User"
@@ -452,11 +458,11 @@ msgstr "Wiadomość wysłana automatycznie. Prosimy nie odpowiadać."
 
 #: wolnelektury/utils.py:205
 msgid "Yes"
-msgstr ""
+msgstr "Tak"
 
 #: wolnelektury/utils.py:206
 msgid "No"
-msgstr ""
+msgstr "Nie"
 
 #: wolnelektury/views.py:86 wolnelektury/views.py:107
 #, python-format
index 204e078..c794939 100644 (file)
@@ -174,7 +174,7 @@ msgid "Register"
 msgstr "Зарегистроваться"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index 461a9f2..be5fc29 100644 (file)
@@ -171,7 +171,7 @@ msgid "Register"
 msgstr "Зареєструватися"
 
 #: wolnelektury/templates/base/superbase.html:112
-msgid "Wesprzyj nas"
+msgid "Support us"
 msgstr ""
 
 #: wolnelektury/templates/base/superbase.html:115
index b47f3a3..e079a8e 100644 (file)
 
                 <ul id="main-menu">
                   <li{% if active_menu_item == 'club' %} class="active"{% endif %}>
-                    <a href="{% url 'club_join' %}">{% trans "Wesprzyj nas" %}</a>
+                    <a href="{% url 'club_join' %}">{% trans "Support us" %}</a>
                   </li>
                   <li{% if active_menu_item == 'books' %} class="active"{% endif %}>
                     <a href="{% url 'book_list' %}">{% trans "Literature" %}</a>