Extending catalogue.
authorRadek Czajka <rczajka@rczajka.pl>
Mon, 2 Nov 2020 12:17:52 +0000 (13:17 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Mon, 2 Nov 2020 12:17:52 +0000 (13:17 +0100)
19 files changed:
requirements/requirements.txt
src/catalogue/admin.py
src/catalogue/locale/pl/LC_MESSAGES/django.mo
src/catalogue/locale/pl/LC_MESSAGES/django.po
src/catalogue/migrations/0028_auto_20201102_1109.py [new file with mode: 0644]
src/catalogue/migrations/0029_auto_20201102_1315.py [new file with mode: 0644]
src/catalogue/models.py
src/cover/locale/pl/LC_MESSAGES/django.po
src/documents/locale/pl/LC_MESSAGES/django.po
src/dvcs/locale/pl/LC_MESSAGES/django.po
src/email_mangler/locale/pl/LC_MESSAGES/django.po
src/fileupload/locale/pl/LC_MESSAGES/django.po
src/redakcja/locale-contrib/pl/LC_MESSAGES/django.mo [new file with mode: 0644]
src/redakcja/locale-contrib/pl/LC_MESSAGES/django.po [new file with mode: 0644]
src/redakcja/locale/pl/LC_MESSAGES/django.po
src/redakcja/settings/__init__.py
src/toolbar/locale/pl/LC_MESSAGES/django.po
src/wiki/locale/pl/LC_MESSAGES/django.po
src/wiki_img/locale/pl/LC_MESSAGES/django.po

index 6f5cf03..031670a 100644 (file)
@@ -25,5 +25,6 @@ django-extensions==2.1.6
 django-bootstrap4==1.1.1    # +
 libsasscompiler==0.1.5
 django-debug-toolbar==2.2   # +
 django-bootstrap4==1.1.1    # +
 libsasscompiler==0.1.5
 django-debug-toolbar==2.2   # +
+django-admin-numeric-filter==0.1.6
 
 sentry-sdk==0.12.2
 
 sentry-sdk==0.12.2
index a8fc82a..1bb7f83 100644 (file)
@@ -1,9 +1,9 @@
 # This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 # This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
-from collections import Counter
 from django.contrib import admin
 from django.utils.translation import gettext_lazy as _
 from django.contrib import admin
 from django.utils.translation import gettext_lazy as _
+from admin_numeric_filter.admin import RangeNumericFilter, NumericFilterModelAdmin
 from fnpdjango.actions import export_as_csv_action
 from . import models
 from .wikidata import WikidataAdminMixin
 from fnpdjango.actions import export_as_csv_action
 from . import models
 from .wikidata import WikidataAdminMixin
@@ -30,7 +30,7 @@ class AuthorAdmin(WikidataAdminMixin, admin.ModelAdmin):
 admin.site.register(models.Author, AuthorAdmin)
 
 
 admin.site.register(models.Author, AuthorAdmin)
 
 
-class BookAdmin(WikidataAdminMixin, admin.ModelAdmin):
+class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
     list_display = [
         "title",
         "authors_str",
     list_display = [
         "title",
         "authors_str",
@@ -40,10 +40,20 @@ class BookAdmin(WikidataAdminMixin, admin.ModelAdmin):
         "priority",
         "wikidata_link",
     ]
         "priority",
         "wikidata_link",
     ]
-    search_fields = ["title", "wikidata"]
+    search_fields = ["title", "wikidata", "authors__first_name", "authors__last_name", "translators__first_name", "translators__last_name"]
     autocomplete_fields = ["authors", "translators", "based_on", "collections", "epochs", "genres", "kinds"]
     prepopulated_fields = {"slug": ("title",)}
     autocomplete_fields = ["authors", "translators", "based_on", "collections", "epochs", "genres", "kinds"]
     prepopulated_fields = {"slug": ("title",)}
-    list_filter = ["language", "pd_year", "collections"]
+    list_filter = [
+            "language",
+            "based_on__language",
+            ("pd_year", RangeNumericFilter),
+            "collections",
+            "collections__category",
+            "epochs", "kinds", "genres",
+            "priority",
+            "authors__gender", "authors__nationality",
+            "translators__gender", "translators__nationality",
+        ]
     readonly_fields = ["wikidata_link", "estimated_costs"]
     actions = [export_as_csv_action()]
     fieldsets = [
     readonly_fields = ["wikidata_link", "estimated_costs"]
     actions = [export_as_csv_action()]
     fieldsets = [
@@ -107,6 +117,9 @@ class BookAdmin(WikidataAdminMixin, admin.ModelAdmin):
 admin.site.register(models.Book, BookAdmin)
 
 
 admin.site.register(models.Book, BookAdmin)
 
 
+admin.site.register(models.CollectionCategory)
+
+
 class AuthorInline(admin.TabularInline):
     model = models.Author.collections.through
     autocomplete_fields = ["author"]
 class AuthorInline(admin.TabularInline):
     model = models.Author.collections.through
     autocomplete_fields = ["author"]
@@ -122,36 +135,24 @@ class CollectionAdmin(admin.ModelAdmin):
     autocomplete_fields = []
     prepopulated_fields = {"slug": ("name",)}
     search_fields = ["name"]
     autocomplete_fields = []
     prepopulated_fields = {"slug": ("name",)}
     search_fields = ["name"]
-    fields = ['name', 'slug', 'estimated_costs']
+    fields = ['name', 'slug', 'category', 'estimated_costs']
     readonly_fields = ['estimated_costs']
     inlines = [AuthorInline, BookInline]
 
     def estimated_costs(self, obj):
     readonly_fields = ['estimated_costs']
     inlines = [AuthorInline, BookInline]
 
     def estimated_costs(self, obj):
-        costs = Counter()
-        for book in obj.book_set.all():
-            for k, v in book.get_estimated_costs().items():
-                costs[k] += v or 0
-
-        for author in obj.author_set.all():
-            for book in author.book_set.all():
-                for k, v in book.get_estimated_costs().items():
-                    costs[k] += v or 0
-            for book in author.translated_book_set.all():
-                for k, v in book.get_estimated_costs().items():
-                    costs[k] += v or 0
-
         return "\n".join(
             "{}: {} zł".format(
                 work_type.name,
                 cost or '—'
             )
         return "\n".join(
             "{}: {} zł".format(
                 work_type.name,
                 cost or '—'
             )
-            for work_type, cost in costs.items()
+            for work_type, cost in obj.get_estimated_costs().items()
         )
 
 
 admin.site.register(models.Collection, CollectionAdmin)
 
 
         )
 
 
 admin.site.register(models.Collection, CollectionAdmin)
 
 
+
 class CategoryAdmin(admin.ModelAdmin):
     search_fields = ["name"]
 
 class CategoryAdmin(admin.ModelAdmin):
     search_fields = ["name"]
 
index da3bb29..3c0c51d 100644 (file)
Binary files a/src/catalogue/locale/pl/LC_MESSAGES/django.mo and b/src/catalogue/locale/pl/LC_MESSAGES/django.mo differ
index 2bf5056..bdb2276 100644 (file)
@@ -7,8 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-10-27 14:25+0100\n"
-"PO-Revision-Date: 2020-10-27 14:25+0100\n"
+"PO-Revision-Date: 2020-11-02 12:54+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: pl\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: pl\n"
@@ -20,93 +19,239 @@ msgstr ""
 "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
 "X-Generator: Poedit 2.3\n"
 
 "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
 "X-Generator: Poedit 2.3\n"
 
-#: catalogue/admin.py:49
+#: catalogue/admin.py:62
 msgid "Identification"
 msgstr "Identyfikacja"
 
 msgid "Identification"
 msgstr "Identyfikacja"
 
-#: catalogue/admin.py:63
+#: catalogue/admin.py:76
 msgid "Features"
 msgstr "Cechy"
 
 msgid "Features"
 msgstr "Cechy"
 
-#: catalogue/admin.py:73
+#: catalogue/admin.py:86
 msgid "Plan"
 msgstr "Plan"
 
 msgid "Plan"
 msgstr "Plan"
 
-#: catalogue/models.py:26
+#: catalogue/models.py:15
+msgid "first name"
+msgstr "imię"
+
+#: catalogue/models.py:16
+msgid "last name"
+msgstr "nazwisko"
+
+#: catalogue/models.py:18
+msgid "name (de)"
+msgstr "nazwa (de)"
+
+#: catalogue/models.py:19
+msgid "name (lt)"
+msgstr "nazwa (lt)"
+
+#: catalogue/models.py:21
+msgid "gender"
+msgstr "płeć"
+
+#: catalogue/models.py:22
+msgid "nationality"
+msgstr "narodowość"
+
+#: catalogue/models.py:23
+msgid "year of death"
+msgstr "rok śmierci"
+
+#: catalogue/models.py:25
+msgid "status"
+msgstr "status"
+
+#: catalogue/models.py:29
 msgid "Alive"
 msgstr "Żyje"
 
 msgid "Alive"
 msgstr "Żyje"
 
-#: catalogue/models.py:27
+#: catalogue/models.py:30
 msgid "Dead"
 msgstr "Zmarły"
 
 msgid "Dead"
 msgstr "Zmarły"
 
-#: catalogue/models.py:28
+#: catalogue/models.py:31
 msgid "Long dead"
 msgstr "Dawno zmarły"
 
 msgid "Long dead"
 msgstr "Dawno zmarły"
 
-#: catalogue/models.py:29
+#: catalogue/models.py:32
 msgid "Unknown"
 msgstr "Nieznany"
 
 msgid "Unknown"
 msgstr "Nieznany"
 
-#: catalogue/models.py:41 catalogue/models.py:120
+#: catalogue/models.py:35 catalogue/models.py:126
+msgid "notes"
+msgstr "notatki"
+
+#: catalogue/models.py:36 catalogue/models.py:132
+msgid "gazeta link"
+msgstr "link do bazy gazety"
+
+#: catalogue/models.py:37
+msgid "culture.pl link"
+msgstr "link do bazy culture.pl"
+
+#: catalogue/models.py:39
+msgid "description"
+msgstr "opis"
+
+#: catalogue/models.py:40
+msgid "description (de)"
+msgstr "opis (de)"
+
+#: catalogue/models.py:41
+msgid "description (lt)"
+msgstr "opis (lt)"
+
+#: catalogue/models.py:44 catalogue/models.py:128 catalogue/models.py:253
+msgid "priority"
+msgstr "priorytet"
+
+#: catalogue/models.py:45 catalogue/models.py:129
 msgid "Low"
 msgstr "Niski"
 
 msgid "Low"
 msgstr "Niski"
 
-#: catalogue/models.py:41 catalogue/models.py:120
+#: catalogue/models.py:45 catalogue/models.py:129
 msgid "Medium"
 msgstr "Średni"
 
 msgid "Medium"
 msgstr "Średni"
 
-#: catalogue/models.py:41 catalogue/models.py:120
+#: catalogue/models.py:45 catalogue/models.py:129
 msgid "High"
 msgstr "Wysoki"
 
 msgid "High"
 msgstr "Wysoki"
 
-#: catalogue/models.py:46
+#: catalogue/models.py:47 catalogue/models.py:133 catalogue/models.py:208
+#: catalogue/models.py:260
+msgid "collections"
+msgstr "kolekcje"
+
+#: catalogue/models.py:50
 msgid "author"
 msgstr "autor"
 
 msgid "author"
 msgstr "autor"
 
-#: catalogue/models.py:47
+#: catalogue/models.py:51 catalogue/models.py:107
 msgid "authors"
 msgstr "autorzy"
 
 msgid "authors"
 msgstr "autorzy"
 
-#: catalogue/models.py:83
+#: catalogue/models.py:78 catalogue/models.py:185 catalogue/models.py:201
+#: catalogue/models.py:233
+msgid "name"
+msgstr "nazwa"
+
+#: catalogue/models.py:89
 msgid "epoch"
 msgstr "epoka"
 
 msgid "epoch"
 msgstr "epoka"
 
-#: catalogue/models.py:84
+#: catalogue/models.py:90 catalogue/models.py:115 catalogue/models.py:257
 msgid "epochs"
 msgstr "epoki"
 
 msgid "epochs"
 msgstr "epoki"
 
-#: catalogue/models.py:89
+#: catalogue/models.py:95
 msgid "genre"
 msgstr "gatunek"
 
 msgid "genre"
 msgstr "gatunek"
 
-#: catalogue/models.py:90
+#: catalogue/models.py:96 catalogue/models.py:117 catalogue/models.py:259
 msgid "genres"
 msgstr "gatunki"
 
 msgid "genres"
 msgstr "gatunki"
 
-#: catalogue/models.py:95
+#: catalogue/models.py:101
 msgid "kind"
 msgstr "rodzaj"
 
 msgid "kind"
 msgstr "rodzaj"
 
-#: catalogue/models.py:96
+#: catalogue/models.py:102 catalogue/models.py:116 catalogue/models.py:258
 msgid "kinds"
 msgstr "rodzaje"
 
 msgid "kinds"
 msgstr "rodzaje"
 
-#: catalogue/models.py:130
+#: catalogue/models.py:113
+msgid "translators"
+msgstr "tłumacze"
+
+#: catalogue/models.py:118
+msgid "title"
+msgstr "tytuł"
+
+#: catalogue/models.py:119
+msgid "language"
+msgstr "język"
+
+#: catalogue/models.py:122
+msgid "based on"
+msgstr "oparte na"
+
+#: catalogue/models.py:124
+msgid "scans source"
+msgstr "źródło skanów"
+
+#: catalogue/models.py:125
+msgid "text source"
+msgstr "źródło tekstu"
+
+#: catalogue/models.py:131
+msgid "year of entry into PD"
+msgstr "rok wstąpienia do DP"
+
+#: catalogue/models.py:135
+msgid "estimated number of characters"
+msgstr "szacowana liczba znaków"
+
+#: catalogue/models.py:136
+msgid "estimated number of verses"
+msgstr "szacowana liczba wersów"
+
+#: catalogue/models.py:137
+msgid "source of estimates"
+msgstr "źródło szacunków"
+
+#: catalogue/models.py:143
 msgid "book"
 msgstr "książka"
 
 msgid "book"
 msgstr "książka"
 
-#: catalogue/models.py:131
+#: catalogue/models.py:144
 msgid "books"
 msgstr "książki"
 
 msgid "books"
 msgstr "książki"
 
-#: catalogue/models.py:170
+#: catalogue/models.py:186
+msgid "parent"
+msgstr "rodzic"
+
+#: catalogue/models.py:190
+msgid "collection category"
+msgstr "kategoria kolekcji"
+
+#: catalogue/models.py:191
+msgid "collection categories"
+msgstr "kategorie kolekcji"
+
+#: catalogue/models.py:203
+msgid "category"
+msgstr "kategoria"
+
+#: catalogue/models.py:207
 msgid "collection"
 msgstr "kolekcja"
 
 msgid "collection"
 msgstr "kolekcja"
 
-#: catalogue/models.py:171
-msgid "collections"
-msgstr "kolekcje"
+#: catalogue/models.py:237 catalogue/models.py:256
+msgid "work type"
+msgstr "rodzaj pracy"
+
+#: catalogue/models.py:238
+msgid "work types"
+msgstr "rodzaje prac"
+
+#: catalogue/models.py:254
+msgid "per normalized page"
+msgstr "za stronę maszynopisu"
+
+#: catalogue/models.py:255
+msgid "per verse"
+msgstr "za wers"
+
+#: catalogue/models.py:264
+msgid "work rate"
+msgstr "stawka"
+
+#: catalogue/models.py:265
+msgid "work rates"
+msgstr "stawki"
 
 #: catalogue/templates/catalogue/author_detail.html:7
 #: catalogue/templates/catalogue/author_detail.html:13
 
 #: catalogue/templates/catalogue/author_detail.html:7
 #: catalogue/templates/catalogue/author_detail.html:13
diff --git a/src/catalogue/migrations/0028_auto_20201102_1109.py b/src/catalogue/migrations/0028_auto_20201102_1109.py
new file mode 100644 (file)
index 0000000..e852877
--- /dev/null
@@ -0,0 +1,31 @@
+# Generated by Django 3.0.4 on 2020-11-02 11:09
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('catalogue', '0027_auto_20201027_1501'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='CollectionCategory',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=255)),
+                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='catalogue.CollectionCategory')),
+            ],
+            options={
+                'verbose_name': 'collection category',
+                'verbose_name_plural': 'collection categories',
+            },
+        ),
+        migrations.AddField(
+            model_name='collection',
+            name='category',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='catalogue.CollectionCategory'),
+        ),
+    ]
diff --git a/src/catalogue/migrations/0029_auto_20201102_1315.py b/src/catalogue/migrations/0029_auto_20201102_1315.py
new file mode 100644 (file)
index 0000000..eb8b024
--- /dev/null
@@ -0,0 +1,280 @@
+# Generated by Django 3.0.4 on 2020-11-02 13:15
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('catalogue', '0028_auto_20201102_1109'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='collection',
+            options={'ordering': ('category', 'name'), 'verbose_name': 'collection', 'verbose_name_plural': 'collections'},
+        ),
+        migrations.AlterModelOptions(
+            name='collectioncategory',
+            options={'ordering': ('parent__name', 'name'), 'verbose_name': 'collection category', 'verbose_name_plural': 'collection categories'},
+        ),
+        migrations.AlterModelOptions(
+            name='workrate',
+            options={'ordering': ('priority',), 'verbose_name': 'work rate', 'verbose_name_plural': 'work rates'},
+        ),
+        migrations.AlterModelOptions(
+            name='worktype',
+            options={'ordering': ('name',), 'verbose_name': 'work type', 'verbose_name_plural': 'work types'},
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='collections',
+            field=models.ManyToManyField(blank=True, to='catalogue.Collection', verbose_name='collections'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='culturepl_link',
+            field=models.CharField(blank=True, max_length=255, verbose_name='culture.pl link'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='description',
+            field=models.TextField(blank=True, verbose_name='description'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='description_de',
+            field=models.TextField(blank=True, verbose_name='description (de)'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='description_lt',
+            field=models.TextField(blank=True, verbose_name='description (lt)'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='first_name',
+            field=models.CharField(blank=True, max_length=255, verbose_name='first name'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='gazeta_link',
+            field=models.CharField(blank=True, max_length=255, verbose_name='gazeta link'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='gender',
+            field=models.CharField(blank=True, max_length=255, verbose_name='gender'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='last_name',
+            field=models.CharField(blank=True, max_length=255, verbose_name='last name'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='name_de',
+            field=models.CharField(blank=True, max_length=255, verbose_name='name (de)'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='name_lt',
+            field=models.CharField(blank=True, max_length=255, verbose_name='name (lt)'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='nationality',
+            field=models.CharField(blank=True, max_length=255, verbose_name='nationality'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='notes',
+            field=models.TextField(blank=True, verbose_name='notes'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='priority',
+            field=models.PositiveSmallIntegerField(choices=[(0, 'Low'), (1, 'Medium'), (2, 'High')], default=0, verbose_name='priority'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='status',
+            field=models.PositiveSmallIntegerField(blank=True, choices=[(1, 'Alive'), (2, 'Dead'), (3, 'Long dead'), (4, 'Unknown')], null=True, verbose_name='status'),
+        ),
+        migrations.AlterField(
+            model_name='author',
+            name='year_of_death',
+            field=models.SmallIntegerField(blank=True, null=True, verbose_name='year of death'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='authors',
+            field=models.ManyToManyField(blank=True, to='catalogue.Author', verbose_name='authors'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='based_on',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='translation', to='catalogue.Book', verbose_name='based on'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='collections',
+            field=models.ManyToManyField(blank=True, to='catalogue.Collection', verbose_name='collections'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='epochs',
+            field=models.ManyToManyField(blank=True, to='catalogue.Epoch', verbose_name='epochs'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='estimate_source',
+            field=models.CharField(blank=True, max_length=2048, verbose_name='source of estimates'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='estimated_chars',
+            field=models.IntegerField(blank=True, null=True, verbose_name='estimated number of characters'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='estimated_verses',
+            field=models.IntegerField(blank=True, null=True, verbose_name='estimated number of verses'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='gazeta_link',
+            field=models.CharField(blank=True, max_length=255, verbose_name='gazeta link'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='genres',
+            field=models.ManyToManyField(blank=True, to='catalogue.Genre', verbose_name='genres'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='kinds',
+            field=models.ManyToManyField(blank=True, to='catalogue.Kind', verbose_name='kinds'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='language',
+            field=models.CharField(blank=True, max_length=255, verbose_name='language'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='notes',
+            field=models.TextField(blank=True, verbose_name='notes'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='pd_year',
+            field=models.IntegerField(blank=True, null=True, verbose_name='year of entry into PD'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='priority',
+            field=models.PositiveSmallIntegerField(choices=[(0, 'Low'), (1, 'Medium'), (2, 'High')], default=0, verbose_name='priority'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='scans_source',
+            field=models.CharField(blank=True, max_length=255, verbose_name='scans source'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='text_source',
+            field=models.CharField(blank=True, max_length=255, verbose_name='text source'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='title',
+            field=models.CharField(blank=True, max_length=255, verbose_name='title'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='translators',
+            field=models.ManyToManyField(blank=True, related_name='translated_book_set', related_query_name='translated_book', to='catalogue.Author', verbose_name='translators'),
+        ),
+        migrations.AlterField(
+            model_name='collection',
+            name='category',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='catalogue.CollectionCategory', verbose_name='category'),
+        ),
+        migrations.AlterField(
+            model_name='collection',
+            name='name',
+            field=models.CharField(max_length=255, verbose_name='name'),
+        ),
+        migrations.AlterField(
+            model_name='collectioncategory',
+            name='name',
+            field=models.CharField(max_length=255, verbose_name='name'),
+        ),
+        migrations.AlterField(
+            model_name='collectioncategory',
+            name='parent',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='catalogue.CollectionCategory', verbose_name='parent'),
+        ),
+        migrations.AlterField(
+            model_name='epoch',
+            name='name',
+            field=models.CharField(max_length=255, verbose_name='name'),
+        ),
+        migrations.AlterField(
+            model_name='genre',
+            name='name',
+            field=models.CharField(max_length=255, verbose_name='name'),
+        ),
+        migrations.AlterField(
+            model_name='kind',
+            name='name',
+            field=models.CharField(max_length=255, verbose_name='name'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='collections',
+            field=models.ManyToManyField(blank=True, to='catalogue.Collection', verbose_name='collections'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='epochs',
+            field=models.ManyToManyField(blank=True, to='catalogue.Epoch', verbose_name='epochs'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='genres',
+            field=models.ManyToManyField(blank=True, to='catalogue.Genre', verbose_name='genres'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='kinds',
+            field=models.ManyToManyField(blank=True, to='catalogue.Kind', verbose_name='kinds'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='per_normpage',
+            field=models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True, verbose_name='per normalized page'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='per_verse',
+            field=models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True, verbose_name='per verse'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='priority',
+            field=models.IntegerField(default=1, verbose_name='priority'),
+        ),
+        migrations.AlterField(
+            model_name='workrate',
+            name='work_type',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='catalogue.WorkType', verbose_name='work type'),
+        ),
+        migrations.AlterField(
+            model_name='worktype',
+            name='name',
+            field=models.CharField(max_length=255, verbose_name='name'),
+        ),
+    ]
index ce7a572..cd64f84 100644 (file)
@@ -1,3 +1,4 @@
+from collections import Counter
 import decimal
 from django.apps import apps
 from django.db import models
 import decimal
 from django.apps import apps
 from django.db import models
@@ -11,16 +12,17 @@ from .wikidata import WikidataMixin
 
 class Author(WikidataMixin, models.Model):
     slug = models.SlugField(max_length=255, null=True, blank=True, unique=True)
 
 class Author(WikidataMixin, models.Model):
     slug = models.SlugField(max_length=255, null=True, blank=True, unique=True)
-    first_name = models.CharField(max_length=255, blank=True)
-    last_name = models.CharField(max_length=255, blank=True)
+    first_name = models.CharField(_("first name"), max_length=255, blank=True)
+    last_name = models.CharField(_("last name"), max_length=255, blank=True)
 
 
-    name_de = models.CharField(max_length=255, blank=True)
-    name_lt = models.CharField(max_length=255, blank=True)
+    name_de = models.CharField(_("name (de)"), max_length=255, blank=True)
+    name_lt = models.CharField(_("name (lt)"), max_length=255, blank=True)
 
 
-    gender = models.CharField(max_length=255, blank=True)
-    nationality = models.CharField(max_length=255, blank=True)
-    year_of_death = models.SmallIntegerField(null=True, blank=True)
+    gender = models.CharField(_("gender"), max_length=255, blank=True)
+    nationality = models.CharField(_("nationality"), max_length=255, blank=True)
+    year_of_death = models.SmallIntegerField(_("year of death"), null=True, blank=True)
     status = models.PositiveSmallIntegerField(
     status = models.PositiveSmallIntegerField(
+        _("status"), 
         null=True,
         blank=True,
         choices=[
         null=True,
         blank=True,
         choices=[
@@ -30,18 +32,19 @@ class Author(WikidataMixin, models.Model):
             (4, _("Unknown")),
         ],
     )
             (4, _("Unknown")),
         ],
     )
-    notes = models.TextField(blank=True)
-    gazeta_link = models.CharField(max_length=255, blank=True)
-    culturepl_link = models.CharField(max_length=255, blank=True)
+    notes = models.TextField(_("notes"), blank=True)
+    gazeta_link = models.CharField(_("gazeta link"), max_length=255, blank=True)
+    culturepl_link = models.CharField(_("culture.pl link"), max_length=255, blank=True)
 
 
-    description = models.TextField(blank=True)
-    description_de = models.TextField(blank=True)
-    description_lt = models.TextField(blank=True)
+    description = models.TextField(_("description"), blank=True)
+    description_de = models.TextField(_("description (de)"), blank=True)
+    description_lt = models.TextField(_("description (lt)"), blank=True)
 
     priority = models.PositiveSmallIntegerField(
 
     priority = models.PositiveSmallIntegerField(
+        _("priority"), 
         default=0, choices=[(0, _("Low")), (1, _("Medium")), (2, _("High"))]
     )
         default=0, choices=[(0, _("Low")), (1, _("Medium")), (2, _("High"))]
     )
-    collections = models.ManyToManyField("Collection", blank=True)
+    collections = models.ManyToManyField("Collection", blank=True, verbose_name=_("collections"))
 
     class Meta:
         verbose_name = _('author')
 
     class Meta:
         verbose_name = _('author')
@@ -72,7 +75,7 @@ class Author(WikidataMixin, models.Model):
 
 
 class Category(WikidataMixin, models.Model):
 
 
 class Category(WikidataMixin, models.Model):
-    name = models.CharField(max_length=255)
+    name = models.CharField(_("name"), max_length=255)
     slug = models.SlugField(max_length=255, unique=True)
 
     class Meta:
     slug = models.SlugField(max_length=255, unique=True)
 
     class Meta:
@@ -101,34 +104,37 @@ class Kind(Category):
 
 class Book(WikidataMixin, models.Model):
     slug = models.SlugField(max_length=255, blank=True, null=True, unique=True)
 
 class Book(WikidataMixin, models.Model):
     slug = models.SlugField(max_length=255, blank=True, null=True, unique=True)
-    authors = models.ManyToManyField(Author, blank=True)
+    authors = models.ManyToManyField(Author, blank=True, verbose_name=_("authors"))
     translators = models.ManyToManyField(
         Author,
         related_name="translated_book_set",
         related_query_name="translated_book",
         blank=True,
     translators = models.ManyToManyField(
         Author,
         related_name="translated_book_set",
         related_query_name="translated_book",
         blank=True,
+        verbose_name=_("translators")
     )
     )
-    epochs = models.ManyToManyField(Epoch, blank=True)
-    kinds = models.ManyToManyField(Kind, blank=True)
-    genres = models.ManyToManyField(Genre, blank=True)
-    title = models.CharField(max_length=255, blank=True)
-    language = models.CharField(max_length=255, blank=True)
+    epochs = models.ManyToManyField(Epoch, blank=True, verbose_name=_("epochs"))
+    kinds = models.ManyToManyField(Kind, blank=True, verbose_name=_("kinds"))
+    genres = models.ManyToManyField(Genre, blank=True, verbose_name=_("genres"))
+    title = models.CharField(_("title"), max_length=255, blank=True)
+    language = models.CharField(_("language"), max_length=255, blank=True)
     based_on = models.ForeignKey(
     based_on = models.ForeignKey(
-        "self", models.PROTECT, related_name="translation", null=True, blank=True
+        "self", models.PROTECT, related_name="translation", null=True, blank=True,
+        verbose_name=_("based on")
     )
     )
-    scans_source = models.CharField(max_length=255, blank=True)
-    text_source = models.CharField(max_length=255, blank=True)
-    notes = models.TextField(blank=True)
+    scans_source = models.CharField(_("scans source"), max_length=255, blank=True)
+    text_source = models.CharField(_("text source"), max_length=255, blank=True)
+    notes = models.TextField(_("notes"), blank=True)
     priority = models.PositiveSmallIntegerField(
     priority = models.PositiveSmallIntegerField(
+        _("priority"),
         default=0, choices=[(0, _("Low")), (1, _("Medium")), (2, _("High"))]
     )
         default=0, choices=[(0, _("Low")), (1, _("Medium")), (2, _("High"))]
     )
-    pd_year = models.IntegerField(null=True, blank=True)
-    gazeta_link = models.CharField(max_length=255, blank=True)
-    collections = models.ManyToManyField("Collection", blank=True)
+    pd_year = models.IntegerField(_('year of entry into PD'), null=True, blank=True)
+    gazeta_link = models.CharField(_("gazeta link"), max_length=255, blank=True)
+    collections = models.ManyToManyField("Collection", blank=True, verbose_name=_("collections"))
 
 
-    estimated_chars = models.IntegerField(null=True, blank=True)
-    estimated_verses = models.IntegerField(null=True, blank=True)
-    estimate_source = models.CharField(max_length=2048, blank=True)
+    estimated_chars = models.IntegerField(_("estimated number of characters"), null=True, blank=True)
+    estimated_verses = models.IntegerField(_("estimated number of verses"), null=True, blank=True)
+    estimate_source = models.CharField(_("source of estimates"), max_length=2048, blank=True)
 
     objects = UnrelatedManager()
 
 
     objects = UnrelatedManager()
 
@@ -175,21 +181,62 @@ class Book(WikidataMixin, models.Model):
         }
 
 
         }
 
 
+class CollectionCategory(models.Model):
+    name = models.CharField(_("name"), max_length=255)
+    parent = models.ForeignKey('self', models.SET_NULL, related_name='children', null=True, blank=True, verbose_name=_("parent"))
+
+    class Meta:
+        ordering = ('parent__name', 'name')
+        verbose_name = _('collection category')
+        verbose_name_plural = _('collection categories')
+
+    def __str__(self):
+        if self.parent:
+            return f"{self.parent} / {self.name}"
+        else:
+            return self.name
+
+
 class Collection(models.Model):
 class Collection(models.Model):
-    name = models.CharField(max_length=255)
+    name = models.CharField(_("name"), max_length=255)
     slug = models.SlugField(max_length=255, unique=True)
     slug = models.SlugField(max_length=255, unique=True)
+    category = models.ForeignKey(CollectionCategory, models.SET_NULL, null=True, blank=True, verbose_name=_("category"))
 
     class Meta:
 
     class Meta:
+        ordering = ('category', 'name')
         verbose_name = _('collection')
         verbose_name_plural = _('collections')
 
     def __str__(self):
         verbose_name = _('collection')
         verbose_name_plural = _('collections')
 
     def __str__(self):
-        return self.name
+        if self.category:
+            return f"{self.category} / {self.name}"
+        else:
+            return self.name
+
+    def get_estimated_costs(self):
+        costs = Counter()
+        for book in self.book_set.all():
+            for k, v in book.get_estimated_costs().items():
+                costs[k] += v or 0
+
+        for author in self.author_set.all():
+            for book in author.book_set.all():
+                for k, v in book.get_estimated_costs().items():
+                    costs[k] += v or 0
+            for book in author.translated_book_set.all():
+                for k, v in book.get_estimated_costs().items():
+                    costs[k] += v or 0
+        return costs
 
 
 class WorkType(models.Model):
 
 
 class WorkType(models.Model):
-    name = models.CharField(max_length=255)
+    name = models.CharField(_("name"), max_length=255)
 
 
+    class Meta:
+        ordering = ('name',)
+        verbose_name = _('work type')
+        verbose_name_plural = _('work types')
+    
     def get_rate_for(self, book):
         for workrate in self.workrate_set.all():
             if workrate.matches(book):
     def get_rate_for(self, book):
         for workrate in self.workrate_set.all():
             if workrate.matches(book):
@@ -203,17 +250,19 @@ class WorkType(models.Model):
 
 
 class WorkRate(models.Model):
 
 
 class WorkRate(models.Model):
-    priority = models.IntegerField(default=1)
-    per_normpage = models.DecimalField(decimal_places=2, max_digits=6, null=True, blank=True)
-    per_verse = models.DecimalField(decimal_places=2, max_digits=6, null=True, blank=True)
-    work_type = models.ForeignKey(WorkType, models.CASCADE)
-    epochs = models.ManyToManyField(Epoch, blank=True)
-    kinds = models.ManyToManyField(Kind, blank=True)
-    genres = models.ManyToManyField(Genre, blank=True)
-    collections = models.ManyToManyField(Collection, blank=True)
+    priority = models.IntegerField(_("priority"), default=1)
+    per_normpage = models.DecimalField(_("per normalized page"), decimal_places=2, max_digits=6, null=True, blank=True)
+    per_verse = models.DecimalField(_("per verse"), decimal_places=2, max_digits=6, null=True, blank=True)
+    work_type = models.ForeignKey(WorkType, models.CASCADE, verbose_name=_("work type"))
+    epochs = models.ManyToManyField(Epoch, blank=True, verbose_name=_("epochs"))
+    kinds = models.ManyToManyField(Kind, blank=True, verbose_name=_("kinds"))
+    genres = models.ManyToManyField(Genre, blank=True, verbose_name=_("genres"))
+    collections = models.ManyToManyField(Collection, blank=True, verbose_name=_("collections"))
 
     class Meta:
         ordering = ('priority',)
 
     class Meta:
         ordering = ('priority',)
+        verbose_name = _('work rate')
+        verbose_name_plural = _('work rates')
 
     def matches(self, book):
         for category in 'epochs', 'kinds', 'genres', 'collections':
 
     def matches(self, book):
         for category in 'epochs', 'kinds', 'genres', 'collections':
index 67547ce..d40bd54 100644 (file)
@@ -7,10 +7,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-02-25 13:29+0100\n"
 "PO-Revision-Date: 2014-02-25 13:30+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: 2014-02-25 13:30+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\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"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -18,83 +18,102 @@ msgstr ""
 "|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.5.4\n"
 
 "|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: forms.py:29
+#: cover/forms.py:34
 #, python-format
 msgid "Image <a href=\"%(url)s\">already in repository</a>."
 msgstr "Obraz <a href=\"%(url)s\">jest już w repozytorium</a>."
 
 #, python-format
 msgid "Image <a href=\"%(url)s\">already in repository</a>."
 msgstr "Obraz <a href=\"%(url)s\">jest już w repozytorium</a>."
 
-#: forms.py:60
+#: cover/forms.py:44
+#, fuzzy, python-format
+#| msgid "Image <a href=\"%(url)s\">already in repository</a>."
+msgid "Image <a href=\"%s\">already in repository</a>"
+msgstr "Obraz <a href=\"%(url)s\">jest już w repozytorium</a>."
+
+#: cover/forms.py:53
+msgid "No image specified"
+msgstr ""
+
+#: cover/forms.py:61 cover/forms.py:78
+#, python-format
+msgid "Image too small: %sx%s, minimal dimensions %sx%s"
+msgstr ""
+
+#: cover/forms.py:95
 msgid "Flickr URL"
 msgstr "URL z Flickra"
 
 msgid "Flickr URL"
 msgstr "URL z Flickra"
 
-#: models.py:19
+#: cover/models.py:23
 msgid "title"
 msgstr "tytuł"
 
 msgid "title"
 msgstr "tytuł"
 
-#: models.py:20
+#: cover/models.py:24
 msgid "author"
 msgstr "autor"
 
 msgid "author"
 msgstr "autor"
 
-#: models.py:21
+#: cover/models.py:25
 msgid "license name"
 msgstr "nazwa licencji"
 
 msgid "license name"
 msgstr "nazwa licencji"
 
-#: models.py:22
+#: cover/models.py:26
 msgid "license URL"
 msgstr "URL licencji"
 
 msgid "license URL"
 msgstr "URL licencji"
 
-#: models.py:23
+#: cover/models.py:27
 msgid "source URL"
 msgstr "URL źródła"
 
 msgid "source URL"
 msgstr "URL źródła"
 
-#: models.py:24
+#: cover/models.py:28
 msgid "image download URL"
 msgstr "URL pliku do pobrania"
 
 msgid "image download URL"
 msgstr "URL pliku do pobrania"
 
-#: models.py:25
+#: cover/models.py:30
 msgid "file"
 msgstr "plik"
 
 msgid "file"
 msgstr "plik"
 
-#: models.py:28
+#: cover/models.py:33
 msgid "cover image"
 msgstr "obrazek na okładkę"
 
 msgid "cover image"
 msgstr "obrazek na okładkę"
 
-#: models.py:29
+#: cover/models.py:34
 msgid "cover images"
 msgstr "obrazki na okładki"
 
 msgid "cover images"
 msgstr "obrazki na okładki"
 
-#: templates/cover/add_image.html:33 templates/cover/add_image.html.py:62
+#: cover/templates/cover/add_image.html:5
+#: cover/templates/cover/add_image.html:10
+#: cover/templates/cover/add_image.html:27
 msgid "Add image"
 msgstr "Dodaj obrazek"
 
 msgid "Add image"
 msgstr "Dodaj obrazek"
 
-#: templates/cover/add_image.html:40
+#: cover/templates/cover/add_image.html:19
 msgid "Load from Flickr"
 msgstr "Pobierz z Flickra"
 
 msgid "Load from Flickr"
 msgstr "Pobierz z Flickra"
 
-#: templates/cover/image_detail.html:7
+#: cover/templates/cover/image_detail.html:6
+#: cover/templates/cover/image_detail.html:9
 msgid "Cover image"
 msgstr "Obrazek na okładkę"
 
 msgid "Cover image"
 msgstr "Obrazek na okładkę"
 
-#: templates/cover/image_detail.html:23
+#: cover/templates/cover/image_detail.html:25
 msgid "source"
 msgstr "źródło"
 
 msgid "source"
 msgstr "źródło"
 
-#: templates/cover/image_detail.html:35
+#: cover/templates/cover/image_detail.html:36
 msgid "Change"
 msgstr "Zmień"
 
 msgid "Change"
 msgstr "Zmień"
 
-#: templates/cover/image_detail.html:41
+#: cover/templates/cover/image_detail.html:42
 msgid "Used in:"
 msgstr "Użyte w:"
 
 msgid "Used in:"
 msgstr "Użyte w:"
 
-#: templates/cover/image_detail.html:49
+#: cover/templates/cover/image_detail.html:50
 msgid "None"
 msgstr "Brak"
 
 msgid "None"
 msgstr "Brak"
 
-#: templates/cover/image_list.html:7
+#: cover/templates/cover/image_list.html:5
+#: cover/templates/cover/image_list.html:10
 msgid "Cover images"
 msgstr "Obrazki na okładki"
 
 msgid "Cover images"
 msgstr "Obrazki na okładki"
 
-#: templates/cover/image_list.html:10
+#: cover/templates/cover/image_list.html:15
 msgid "Add new"
 msgstr "Dodaj nowy"
 msgid "Add new"
 msgstr "Dodaj nowy"
index 3a6596d..f1b4912 100644 (file)
@@ -7,7 +7,6 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Platforma Redakcyjna\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: Platforma Redakcyjna\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-04-20 16:53+0200\n"
 "PO-Revision-Date: 2020-04-20 16:54+0200\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org."
 "PO-Revision-Date: 2020-04-20 16:54+0200\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org."
@@ -20,352 +19,365 @@ msgstr ""
 "|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 2.2.4\n"
 
 "|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 2.2.4\n"
 
-#: forms.py:41
+#: documents/forms.py:41
 msgid "Text file must be UTF-8 encoded."
 msgstr "Plik powinien mieć kodowanie UTF-8."
 
 msgid "Text file must be UTF-8 encoded."
 msgstr "Plik powinien mieć kodowanie UTF-8."
 
-#: forms.py:57
+#: documents/forms.py:57
 msgid "Title not set"
 msgstr "Brak tytułu"
 
 msgid "Title not set"
 msgstr "Brak tytułu"
 
-#: forms.py:60
+#: documents/forms.py:60
 msgid "Slug not set"
 msgstr "Brak slugu"
 
 msgid "Slug not set"
 msgstr "Brak slugu"
 
-#: forms.py:63
+#: documents/forms.py:63
 msgid "You must either enter text or upload a file"
 msgstr "Proszę wpisać tekst albo wybrać plik do załadowania"
 
 msgid "You must either enter text or upload a file"
 msgstr "Proszę wpisać tekst albo wybrać plik do załadowania"
 
-#: forms.py:72
+#: documents/forms.py:72
 msgid "ZIP file"
 msgstr "Plik ZIP"
 
 msgid "ZIP file"
 msgstr "Plik ZIP"
 
-#: forms.py:73
+#: documents/forms.py:73
 msgid "Directories are documents in chunks"
 msgstr "Katalogi zawierają dokumenty w częściach"
 
 msgid "Directories are documents in chunks"
 msgstr "Katalogi zawierają dokumenty w częściach"
 
-#: forms.py:97 forms.py:198
+#: documents/forms.py:97 documents/forms.py:198
 msgid "Assigned to"
 msgstr "Przypisane do"
 
 msgid "Assigned to"
 msgstr "Przypisane do"
 
-#: forms.py:118 forms.py:132
+#: documents/forms.py:118 documents/forms.py:132
 msgid "Chunk with this slug already exists"
 msgstr "Część z tym slugiem już istnieje"
 
 msgid "Chunk with this slug already exists"
 msgstr "Część z tym slugiem już istnieje"
 
-#: forms.py:141
+#: documents/forms.py:141
 msgid "Append to"
 msgstr "Dołącz do"
 
 msgid "Append to"
 msgstr "Dołącz do"
 
-#: models/book.py:27 models/chunk.py:21 models/image.py:20
+#: documents/models/book.py:27 documents/models/chunk.py:21
+#: documents/models/image.py:20
 msgid "title"
 msgstr "tytuł"
 
 msgid "title"
 msgstr "tytuł"
 
-#: models/book.py:28 models/chunk.py:22 models/image.py:21
+#: documents/models/book.py:28 documents/models/chunk.py:22
+#: documents/models/image.py:21
 msgid "slug"
 msgstr "slug"
 
 msgid "slug"
 msgstr "slug"
 
-#: models/book.py:29 models/image.py:22
+#: documents/models/book.py:29 documents/models/image.py:22
 msgid "public"
 msgstr "publiczna"
 
 msgid "public"
 msgstr "publiczna"
 
-#: models/book.py:30
+#: documents/models/book.py:30
 msgid "scan gallery name"
 msgstr "nazwa galerii skanów"
 
 msgid "scan gallery name"
 msgstr "nazwa galerii skanów"
 
-#: models/book.py:34
+#: documents/models/book.py:34
 msgid "parent"
 msgstr "rodzic"
 
 msgid "parent"
 msgstr "rodzic"
 
-#: models/book.py:35
+#: documents/models/book.py:35
 msgid "parent number"
 msgstr "numeracja rodzica"
 
 msgid "parent number"
 msgstr "numeracja rodzica"
 
-#: models/book.py:53 models/chunk.py:19 models/publish_log.py:15
+#: documents/models/book.py:53 documents/models/chunk.py:19
+#: documents/models/publish_log.py:15
 msgid "book"
 msgstr "książka"
 
 msgid "book"
 msgstr "książka"
 
-#: models/book.py:54 views.py:619
+#: documents/models/book.py:54 documents/views.py:619
 msgid "books"
 msgstr "książki"
 
 msgid "books"
 msgstr "książki"
 
-#: models/book.py:263
+#: documents/models/book.py:263
 msgid "No chunks in the book."
 msgstr "Książka nie ma części."
 
 msgid "No chunks in the book."
 msgstr "Książka nie ma części."
 
-#: models/book.py:267
+#: documents/models/book.py:267
 msgid "Not all chunks have publishable revisions."
 msgstr "Niektóre części nie są gotowe do publikacji."
 
 msgid "Not all chunks have publishable revisions."
 msgstr "Niektóre części nie są gotowe do publikacji."
 
-#: models/book.py:274 models/image.py:83
+#: documents/models/book.py:274 documents/models/image.py:83
 msgid "Invalid XML"
 msgstr "Nieprawidłowy XML"
 
 msgid "Invalid XML"
 msgstr "Nieprawidłowy XML"
 
-#: models/book.py:276 models/image.py:85
+#: documents/models/book.py:276 documents/models/image.py:85
 msgid "No Dublin Core found."
 msgstr "Brak sekcji Dublin Core."
 
 msgid "No Dublin Core found."
 msgstr "Brak sekcji Dublin Core."
 
-#: models/book.py:278 models/image.py:87
+#: documents/models/book.py:278 documents/models/image.py:87
 msgid "Invalid Dublin Core"
 msgstr "Nieprawidłowy Dublin Core"
 
 msgid "Invalid Dublin Core"
 msgstr "Nieprawidłowy Dublin Core"
 
-#: models/book.py:281 models/image.py:91
+#: documents/models/book.py:281 documents/models/image.py:91
 msgid "rdf:about is not"
 msgstr "rdf:about jest różny od"
 
 msgid "rdf:about is not"
 msgstr "rdf:about jest różny od"
 
-#: models/chunk.py:20
+#: documents/models/chunk.py:20
 msgid "number"
 msgstr "numer"
 
 msgid "number"
 msgstr "numer"
 
-#: models/chunk.py:23
+#: documents/models/chunk.py:23
 msgid "gallery start"
 msgstr "początek galerii"
 
 msgid "gallery start"
 msgstr "początek galerii"
 
-#: models/chunk.py:38
+#: documents/models/chunk.py:38
 msgid "chunk"
 msgstr "część"
 
 msgid "chunk"
 msgstr "część"
 
-#: models/chunk.py:39
+#: documents/models/chunk.py:39
 msgid "chunks"
 msgstr "części"
 
 msgid "chunks"
 msgstr "części"
 
-#: models/image.py:19 models/image.py:33 models/publish_log.py:43
+#: documents/models/image.py:19 documents/models/image.py:33
+#: documents/models/publish_log.py:43
 msgid "image"
 msgstr "obraz"
 
 msgid "image"
 msgstr "obraz"
 
-#: models/image.py:34
+#: documents/models/image.py:34
 msgid "images"
 msgstr "obrazy"
 
 msgid "images"
 msgstr "obrazy"
 
-#: models/image.py:75
+#: documents/models/image.py:75
 msgid "There is no publishable revision"
 msgstr "Żadna wersja nie została oznaczona do publikacji."
 
 msgid "There is no publishable revision"
 msgstr "Żadna wersja nie została oznaczona do publikacji."
 
-#: models/project.py:11
+#: documents/models/project.py:11
 msgid "name"
 msgstr "nazwa"
 
 msgid "name"
 msgstr "nazwa"
 
-#: models/project.py:12
+#: documents/models/project.py:12
 msgid "notes"
 msgstr "notatki"
 
 msgid "notes"
 msgstr "notatki"
 
-#: models/project.py:17 templates/documents/book_list/book_list.html:66
-#: templates/documents/image_table.html:60
+#: documents/models/project.py:17
+#: documents/templates/documents/book_list/book_list.html:66
+#: documents/templates/documents/image_table.html:60
 msgid "project"
 msgstr "projekt"
 
 msgid "project"
 msgstr "projekt"
 
-#: models/project.py:18
+#: documents/models/project.py:18
 msgid "projects"
 msgstr "projekty"
 
 msgid "projects"
 msgstr "projekty"
 
-#: models/publish_log.py:16 models/publish_log.py:44
+#: documents/models/publish_log.py:16 documents/models/publish_log.py:44
 msgid "time"
 msgstr "czas"
 
 msgid "time"
 msgstr "czas"
 
-#: models/publish_log.py:17 models/publish_log.py:45
-#: templates/documents/wall.html:20
+#: documents/models/publish_log.py:17 documents/models/publish_log.py:45
+#: documents/templates/documents/wall.html:20
 msgid "user"
 msgstr "użytkownik"
 
 msgid "user"
 msgstr "użytkownik"
 
-#: models/publish_log.py:22 models/publish_log.py:31
+#: documents/models/publish_log.py:22 documents/models/publish_log.py:31
 msgid "book publish record"
 msgstr "zapis publikacji książki"
 
 msgid "book publish record"
 msgstr "zapis publikacji książki"
 
-#: models/publish_log.py:23
+#: documents/models/publish_log.py:23
 msgid "book publish records"
 msgstr "zapisy publikacji książek"
 
 msgid "book publish records"
 msgstr "zapisy publikacji książek"
 
-#: models/publish_log.py:32 models/publish_log.py:46
+#: documents/models/publish_log.py:32 documents/models/publish_log.py:46
 msgid "change"
 msgstr "zmiana"
 
 msgid "change"
 msgstr "zmiana"
 
-#: models/publish_log.py:36
+#: documents/models/publish_log.py:36
 msgid "chunk publish record"
 msgstr "zapis publikacji części"
 
 msgid "chunk publish record"
 msgstr "zapis publikacji części"
 
-#: models/publish_log.py:37
+#: documents/models/publish_log.py:37
 msgid "chunk publish records"
 msgstr "zapisy publikacji części"
 
 msgid "chunk publish records"
 msgstr "zapisy publikacji części"
 
-#: models/publish_log.py:51
+#: documents/models/publish_log.py:51
 msgid "image publish record"
 msgstr "zapis publikacji obrazu"
 
 msgid "image publish record"
 msgstr "zapis publikacji obrazu"
 
-#: models/publish_log.py:52
+#: documents/models/publish_log.py:52
 msgid "image publish records"
 msgstr "zapisy publikacji obrazów"
 
 msgid "image publish records"
 msgstr "zapisy publikacji obrazów"
 
-#: templates/documents/active_users_list.html:5
+#: documents/templates/documents/active_users_list.html:5
 msgid "Active users"
 msgstr "Aktywni użytkownicy"
 
 msgid "Active users"
 msgstr "Aktywni użytkownicy"
 
-#: templates/documents/active_users_list.html:11
+#: documents/templates/documents/active_users_list.html:11
 msgid "Users active in the year"
 msgstr "Użytkownicy aktywni w roku"
 
 msgid "Users active in the year"
 msgstr "Użytkownicy aktywni w roku"
 
-#: templates/documents/activity.html:6 templates/documents/activity.html:15
-#: templatetags/documents.py:30
+#: documents/templates/documents/activity.html:6
+#: documents/templates/documents/activity.html:15
+#: documents/templatetags/documents.py:30
 msgid "Activity"
 msgstr "Aktywność"
 
 msgid "Activity"
 msgstr "Aktywność"
 
-#: templates/documents/base.html:13
+#: documents/templates/documents/base.html:13
 msgid "Platforma Redakcyjna"
 msgstr "Platforma Redakcyjna"
 
 msgid "Platforma Redakcyjna"
 msgstr "Platforma Redakcyjna"
 
-#: templates/documents/book_append_to.html:5
-#: templates/documents/book_append_to.html:14
+#: documents/templates/documents/book_append_to.html:5
+#: documents/templates/documents/book_append_to.html:14
 msgid "Append book"
 msgstr "Dołącz książkę"
 
 msgid "Append book"
 msgstr "Dołącz książkę"
 
-#: templates/documents/book_detail.html:24
-#: templates/documents/book_edit.html:13 templates/documents/chunk_edit.html:22
-#: templates/documents/image_detail.html:22
+#: documents/templates/documents/book_detail.html:24
+#: documents/templates/documents/book_edit.html:13
+#: documents/templates/documents/chunk_edit.html:22
+#: documents/templates/documents/image_detail.html:22
 msgid "Save"
 msgstr "Zapisz"
 
 msgid "Save"
 msgstr "Zapisz"
 
-#: templates/documents/book_detail.html:31
+#: documents/templates/documents/book_detail.html:31
 msgid "Edit gallery"
 msgstr "Edytuj galerię"
 
 msgid "Edit gallery"
 msgstr "Edytuj galerię"
 
-#: templates/documents/book_detail.html:34
+#: documents/templates/documents/book_detail.html:34
 msgid "Append to other book"
 msgstr "Dołącz do innej książki"
 
 msgid "Append to other book"
 msgstr "Dołącz do innej książki"
 
-#: templates/documents/book_detail.html:49
+#: documents/templates/documents/book_detail.html:53
 msgid "Chunks"
 msgstr "Części"
 
 msgid "Chunks"
 msgstr "Części"
 
-#: templates/documents/book_detail.html:67
-#: templates/documents/image_detail.html:47 templatetags/wall.py:108
-#: templatetags/wall.py:129
+#: documents/templates/documents/book_detail.html:71
+#: documents/templates/documents/image_detail.html:47
+#: documents/templatetags/wall.py:108 documents/templatetags/wall.py:129
 msgid "Publication"
 msgstr "Publikacja"
 
 msgid "Publication"
 msgstr "Publikacja"
 
-#: templates/documents/book_detail.html:85
-#: templates/documents/image_detail.html:51
+#: documents/templates/documents/book_detail.html:89
+#: documents/templates/documents/image_detail.html:51
 msgid "Last published"
 msgstr "Ostatnio opublikowano"
 
 msgid "Last published"
 msgstr "Ostatnio opublikowano"
 
-#: templates/documents/book_detail.html:95
+#: documents/templates/documents/book_detail.html:99
 msgid "Full XML"
 msgstr "Pełny XML"
 
 msgid "Full XML"
 msgstr "Pełny XML"
 
-#: templates/documents/book_detail.html:96
+#: documents/templates/documents/book_detail.html:100
 msgid "HTML version"
 msgstr "Wersja HTML"
 
 msgid "HTML version"
 msgstr "Wersja HTML"
 
-#: templates/documents/book_detail.html:97
+#: documents/templates/documents/book_detail.html:101
 msgid "TXT version"
 msgstr "Wersja TXT"
 
 msgid "TXT version"
 msgstr "Wersja TXT"
 
-#: templates/documents/book_detail.html:98
+#: documents/templates/documents/book_detail.html:102
 msgid "PDF version"
 msgstr "Wersja PDF"
 
 msgid "PDF version"
 msgstr "Wersja PDF"
 
-#: templates/documents/book_detail.html:99
+#: documents/templates/documents/book_detail.html:103
 msgid "PDF version for mobiles"
 msgstr "Wersja PDF na telefony"
 
 msgid "PDF version for mobiles"
 msgstr "Wersja PDF na telefony"
 
-#: templates/documents/book_detail.html:100
+#: documents/templates/documents/book_detail.html:104
 msgid "EPUB version"
 msgstr "Wersja EPUB"
 
 msgid "EPUB version"
 msgstr "Wersja EPUB"
 
-#: templates/documents/book_detail.html:101
+#: documents/templates/documents/book_detail.html:105
 msgid "MOBI version"
 msgstr "Wersja MOBI"
 
 msgid "MOBI version"
 msgstr "Wersja MOBI"
 
-#: templates/documents/book_detail.html:115
-#: templates/documents/image_detail.html:70
+#: documents/templates/documents/book_detail.html:119
+#: documents/templates/documents/image_detail.html:70
 msgid "Publish"
 msgstr "Opublikuj"
 
 msgid "Publish"
 msgstr "Opublikuj"
 
-#: templates/documents/book_detail.html:119
-#: templates/documents/image_detail.html:74
+#: documents/templates/documents/book_detail.html:123
+#: documents/templates/documents/image_detail.html:74
 msgid "Log in to publish."
 msgstr "Zaloguj się, aby opublikować."
 
 msgid "Log in to publish."
 msgstr "Zaloguj się, aby opublikować."
 
-#: templates/documents/book_detail.html:122
-#: templates/documents/image_detail.html:77
+#: documents/templates/documents/book_detail.html:126
+#: documents/templates/documents/image_detail.html:77
 msgid "This book can't be published yet, because:"
 msgstr "Ta książka nie może jeszcze zostać opublikowana. Powód:"
 
 msgid "This book can't be published yet, because:"
 msgstr "Ta książka nie może jeszcze zostać opublikowana. Powód:"
 
-#: templates/documents/book_edit.html:5
+#: documents/templates/documents/book_edit.html:5
 msgid "Edit book"
 msgstr "Edytuj książkę"
 
 msgid "Edit book"
 msgstr "Edytuj książkę"
 
-#: templates/documents/book_html.html:12 templates/documents/book_text.html:15
+#: documents/templates/documents/book_html.html:12
+#: documents/templates/documents/book_text.html:15
 msgid "Table of contents"
 msgstr "Spis treści"
 
 msgid "Table of contents"
 msgstr "Spis treści"
 
-#: templates/documents/book_html.html:13 templates/documents/book_text.html:17
+#: documents/templates/documents/book_html.html:13
+#: documents/templates/documents/book_text.html:17
 msgid "Edit. note"
 msgstr "Nota red."
 
 msgid "Edit. note"
 msgstr "Nota red."
 
-#: templates/documents/book_html.html:14
+#: documents/templates/documents/book_html.html:14
 msgid "Infobox"
 msgstr "Informacje"
 
 msgid "Infobox"
 msgstr "Informacje"
 
-#: templates/documents/book_list/book.html:8
-#: templates/documents/book_list/book.html:35
+#: documents/templates/documents/book_list/book.html:8
+#: documents/templates/documents/book_list/book.html:35
 msgid "Book settings"
 msgstr "Ustawienia książki"
 
 msgid "Book settings"
 msgstr "Ustawienia książki"
 
-#: templates/documents/book_list/book.html:9
-#: templates/documents/book_list/chunk.html:7
-#: templates/documents/chunk_edit.html:6 templates/documents/chunk_edit.html:12
+#: documents/templates/documents/book_list/book.html:9
+#: documents/templates/documents/book_list/chunk.html:7
+#: documents/templates/documents/chunk_edit.html:6
+#: documents/templates/documents/chunk_edit.html:12
 msgid "Chunk settings"
 msgstr "Ustawienia części"
 
 msgid "Chunk settings"
 msgstr "Ustawienia części"
 
-#: templates/documents/book_list/book.html:20
-#: templates/documents/book_list/book.html:42
-#: templates/documents/image_short.html:17 templatetags/book_list.py:82
-#: templatetags/book_list.py:150
+#: documents/templates/documents/book_list/book.html:20
+#: documents/templates/documents/book_list/book.html:42
+#: documents/templates/documents/image_short.html:17
+#: documents/templatetags/book_list.py:82
+#: documents/templatetags/book_list.py:150
 msgid "published"
 msgstr "opublikowane"
 
 msgid "published"
 msgstr "opublikowane"
 
-#: templates/documents/book_list/book.html:23
-#: templates/documents/book_list/book.html:45
-#: templates/documents/image_short.html:20 templatetags/book_list.py:80
-#: templatetags/book_list.py:148
+#: documents/templates/documents/book_list/book.html:23
+#: documents/templates/documents/book_list/book.html:45
+#: documents/templates/documents/image_short.html:20
+#: documents/templatetags/book_list.py:80
+#: documents/templatetags/book_list.py:148
 msgid "publishable"
 msgstr "do publikacji"
 
 msgid "publishable"
 msgstr "do publikacji"
 
-#: templates/documents/book_list/book.html:26
-#: templates/documents/book_list/chunk.html:26
-#: templates/documents/image_short.html:23 templatetags/book_list.py:81
-#: templatetags/book_list.py:149
+#: documents/templates/documents/book_list/book.html:26
+#: documents/templates/documents/book_list/chunk.html:26
+#: documents/templates/documents/image_short.html:23
+#: documents/templatetags/book_list.py:81
+#: documents/templatetags/book_list.py:149
 msgid "changed"
 msgstr "zmienione"
 
 msgid "changed"
 msgstr "zmienione"
 
-#: templates/documents/book_list/book_list.html:29
-#: templates/documents/image_table.html:25
+#: documents/templates/documents/book_list/book_list.html:29
+#: documents/templates/documents/image_table.html:25
 msgid "Search in book titles"
 msgstr "Szukaj w tytułach książek"
 
 msgid "Search in book titles"
 msgstr "Szukaj w tytułach książek"
 
-#: templates/documents/book_list/book_list.html:34
-#: templates/documents/image_table.html:30
+#: documents/templates/documents/book_list/book_list.html:34
+#: documents/templates/documents/image_table.html:30
 msgid "stage"
 msgstr "etap"
 
 msgid "stage"
 msgstr "etap"
 
-#: templates/documents/book_list/book_list.html:36
-#: templates/documents/book_list/book_list.html:47
-#: templates/documents/book_list/book_list.html:68
-#: templates/documents/image_table.html:32
-#: templates/documents/image_table.html:43
-#: templates/documents/image_table.html:62
+#: documents/templates/documents/book_list/book_list.html:36
+#: documents/templates/documents/book_list/book_list.html:47
+#: documents/templates/documents/book_list/book_list.html:68
+#: documents/templates/documents/image_table.html:32
+#: documents/templates/documents/image_table.html:43
+#: documents/templates/documents/image_table.html:62
 msgid "none"
 msgstr "brak"
 
 msgid "none"
 msgstr "brak"
 
-#: templates/documents/book_list/book_list.html:45
-#: templates/documents/image_table.html:41
+#: documents/templates/documents/book_list/book_list.html:45
+#: documents/templates/documents/image_table.html:41
 msgid "editor"
 msgstr "redaktor"
 
 msgid "editor"
 msgstr "redaktor"
 
-#: templates/documents/book_list/book_list.html:58
-#: templates/documents/image_table.html:52
+#: documents/templates/documents/book_list/book_list.html:58
+#: documents/templates/documents/image_table.html:52
 msgid "status"
 msgstr "status"
 
 msgid "status"
 msgstr "status"
 
-#: templates/documents/book_list/book_list.html:92
+#: documents/templates/documents/book_list/book_list.html:92
 #, python-format
 msgid "%(c)s book"
 msgid_plural "%(c)s books"
 #, python-format
 msgid "%(c)s book"
 msgid_plural "%(c)s books"
@@ -373,73 +385,74 @@ msgstr[0] "%(c)s książka"
 msgstr[1] "%(c)s książki"
 msgstr[2] "%(c)s książek"
 
 msgstr[1] "%(c)s książki"
 msgstr[2] "%(c)s książek"
 
-#: templates/documents/book_list/book_list.html:96
+#: documents/templates/documents/book_list/book_list.html:96
 msgid "No books found."
 msgstr "Nie znaleziono książek."
 
 msgid "No books found."
 msgstr "Nie znaleziono książek."
 
-#: templates/documents/book_list/book_list.html:105
-#: templates/documents/image_table.html:87
+#: documents/templates/documents/book_list/book_list.html:105
+#: documents/templates/documents/image_table.html:87
 msgid "Set stage"
 msgstr "Ustaw etap"
 
 msgid "Set stage"
 msgstr "Ustaw etap"
 
-#: templates/documents/book_list/book_list.html:106
-#: templates/documents/image_table.html:88
+#: documents/templates/documents/book_list/book_list.html:106
+#: documents/templates/documents/image_table.html:88
 msgid "Set user"
 msgstr "Przypisz redaktora"
 
 msgid "Set user"
 msgstr "Przypisz redaktora"
 
-#: templates/documents/book_list/book_list.html:108
-#: templates/documents/image_table.html:90
+#: documents/templates/documents/book_list/book_list.html:108
+#: documents/templates/documents/image_table.html:90
 msgid "Project"
 msgstr "Projekt"
 
 msgid "Project"
 msgstr "Projekt"
 
-#: templates/documents/book_list/book_list.html:109
-#: templates/documents/image_table.html:91
+#: documents/templates/documents/book_list/book_list.html:109
+#: documents/templates/documents/image_table.html:91
 msgid "More users"
 msgstr "Więcej użytkowników"
 
 msgid "More users"
 msgstr "Więcej użytkowników"
 
-#: templates/documents/book_text.html:7
+#: documents/templates/documents/book_text.html:7
 msgid "Redakcja"
 msgstr ""
 
 msgid "Redakcja"
 msgstr ""
 
-#: templates/documents/chunk_add.html:6 templates/documents/chunk_add.html:12
-#: templates/documents/chunk_edit.html:29
+#: documents/templates/documents/chunk_add.html:6
+#: documents/templates/documents/chunk_add.html:12
+#: documents/templates/documents/chunk_edit.html:29
 msgid "Split chunk"
 msgstr "Podziel część"
 
 msgid "Split chunk"
 msgstr "Podziel część"
 
-#: templates/documents/chunk_add.html:19
+#: documents/templates/documents/chunk_add.html:19
 msgid "Insert empty chunk after"
 msgstr "Wstaw pustą część po"
 
 msgid "Insert empty chunk after"
 msgstr "Wstaw pustą część po"
 
-#: templates/documents/chunk_add.html:23
+#: documents/templates/documents/chunk_add.html:23
 msgid "Add chunk"
 msgstr "Dodaj część"
 
 msgid "Add chunk"
 msgstr "Dodaj część"
 
-#: templates/documents/chunk_edit.html:19
+#: documents/templates/documents/chunk_edit.html:19
 msgid "Book"
 msgstr "Książka"
 
 msgid "Book"
 msgstr "Książka"
 
-#: templates/documents/document_create_missing.html:6
-#: templates/documents/document_create_missing.html:12
+#: documents/templates/documents/document_create_missing.html:6
+#: documents/templates/documents/document_create_missing.html:12
 msgid "Create a new book"
 msgstr "Utwórz nową książkę"
 
 msgid "Create a new book"
 msgstr "Utwórz nową książkę"
 
-#: templates/documents/document_create_missing.html:21
+#: documents/templates/documents/document_create_missing.html:21
 msgid "Create book"
 msgstr "Utwórz książkę"
 
 msgid "Create book"
 msgstr "Utwórz książkę"
 
-#: templates/documents/document_list.html:7
+#: documents/templates/documents/document_list.html:7
 msgid "Book list"
 msgstr "Lista książek"
 
 msgid "Book list"
 msgstr "Lista książek"
 
-#: templates/documents/document_upload.html:6
+#: documents/templates/documents/document_upload.html:6
 msgid "Bulk document upload"
 msgstr "Hurtowe dodawanie dokumentów"
 
 msgid "Bulk document upload"
 msgstr "Hurtowe dodawanie dokumentów"
 
-#: templates/documents/document_upload.html:14
+#: documents/templates/documents/document_upload.html:14
 msgid "Bulk documents upload"
 msgstr "Hurtowe dodawanie dokumentów"
 
 msgid "Bulk documents upload"
 msgstr "Hurtowe dodawanie dokumentów"
 
-#: templates/documents/document_upload.html:19
+#: documents/templates/documents/document_upload.html:19
 msgid ""
 "Please submit a ZIP with UTF-8 encoded XML files. Files not ending with "
 "<code>.xml</code> will be ignored."
 msgid ""
 "Please submit a ZIP with UTF-8 encoded XML files. Files not ending with "
 "<code>.xml</code> will be ignored."
@@ -447,57 +460,58 @@ msgstr ""
 "Proszę wskazać archiwum ZIP z plikami XML w kodowaniu UTF-8. Pliki nie "
 "kończące się na <code>.xml</code> zostaną zignorowane."
 
 "Proszę wskazać archiwum ZIP z plikami XML w kodowaniu UTF-8. Pliki nie "
 "kończące się na <code>.xml</code> zostaną zignorowane."
 
-#: templates/documents/document_upload.html:26
-#: templates/documents/upload_pdf.html:16 templatetags/documents.py:37
+#: documents/templates/documents/document_upload.html:26
+#: documents/templates/documents/upload_pdf.html:16
+#: documents/templatetags/documents.py:37
 msgid "Upload"
 msgstr "Załaduj"
 
 msgid "Upload"
 msgstr "Załaduj"
 
-#: templates/documents/document_upload.html:34
+#: documents/templates/documents/document_upload.html:34
 msgid ""
 "There have been some errors. No files have been added to the repository."
 msgstr "Wystąpiły błędy. Żadne pliki nie zostały dodane do repozytorium."
 
 msgid ""
 "There have been some errors. No files have been added to the repository."
 msgstr "Wystąpiły błędy. Żadne pliki nie zostały dodane do repozytorium."
 
-#: templates/documents/document_upload.html:35
+#: documents/templates/documents/document_upload.html:35
 msgid "Offending files"
 msgstr "Błędne pliki"
 
 msgid "Offending files"
 msgstr "Błędne pliki"
 
-#: templates/documents/document_upload.html:43
+#: documents/templates/documents/document_upload.html:43
 msgid "Correct files"
 msgstr "Poprawne pliki"
 
 msgid "Correct files"
 msgstr "Poprawne pliki"
 
-#: templates/documents/document_upload.html:54
+#: documents/templates/documents/document_upload.html:54
 msgid "Files have been successfully uploaded to the repository."
 msgstr "Pliki zostały dodane do repozytorium."
 
 msgid "Files have been successfully uploaded to the repository."
 msgstr "Pliki zostały dodane do repozytorium."
 
-#: templates/documents/document_upload.html:55
+#: documents/templates/documents/document_upload.html:55
 msgid "Uploaded files"
 msgstr "Dodane pliki"
 
 msgid "Uploaded files"
 msgstr "Dodane pliki"
 
-#: templates/documents/document_upload.html:65
+#: documents/templates/documents/document_upload.html:65
 msgid "Skipped files"
 msgstr "Pominięte pliki"
 
 msgid "Skipped files"
 msgstr "Pominięte pliki"
 
-#: templates/documents/document_upload.html:66
+#: documents/templates/documents/document_upload.html:66
 msgid "Files skipped due to no <code>.xml</code> extension"
 msgstr "Pliki pominięte z powodu braku rozszerzenia <code>.xml</code>."
 
 msgid "Files skipped due to no <code>.xml</code> extension"
 msgstr "Pliki pominięte z powodu braku rozszerzenia <code>.xml</code>."
 
-#: templates/documents/image_detail.html:34
+#: documents/templates/documents/image_detail.html:34
 msgid "Editor"
 msgstr "Edytor"
 
 msgid "Editor"
 msgstr "Edytor"
 
-#: templates/documents/image_detail.html:38
+#: documents/templates/documents/image_detail.html:38
 msgid "Proceed to the editor."
 msgstr "Przejdź do edytora."
 
 msgid "Proceed to the editor."
 msgstr "Przejdź do edytora."
 
-#: templates/documents/image_list.html:8
+#: documents/templates/documents/image_list.html:8
 msgid "Image list"
 msgstr "Lista obrazów"
 
 msgid "Image list"
 msgstr "Lista obrazów"
 
-#: templates/documents/image_short.html:6
+#: documents/templates/documents/image_short.html:6
 msgid "Image settings"
 msgstr "Ustawienia obrazu"
 
 msgid "Image settings"
 msgstr "Ustawienia obrazu"
 
-#: templates/documents/image_table.html:79
+#: documents/templates/documents/image_table.html:79
 #, python-format
 msgid "%(c)s image"
 msgid_plural "%(c)s images"
 #, python-format
 msgid "%(c)s image"
 msgid_plural "%(c)s images"
@@ -505,85 +519,91 @@ msgstr[0] "%(c)s obraz"
 msgstr[1] "%(c)s obrazy"
 msgstr[2] "%(c)s obrazów"
 
 msgstr[1] "%(c)s obrazy"
 msgstr[2] "%(c)s obrazów"
 
-#: templates/documents/image_table.html:81
+#: documents/templates/documents/image_table.html:81
 msgid "No images found."
 msgstr "Nie znaleziono obrazów."
 
 msgid "No images found."
 msgstr "Nie znaleziono obrazów."
 
-#: templates/documents/my_page.html:17 templatetags/documents.py:28
+#: documents/templates/documents/my_page.html:17
+#: documents/templatetags/documents.py:28
 msgid "My page"
 msgstr "Moja strona"
 
 msgid "My page"
 msgstr "Moja strona"
 
-#: templates/documents/my_page.html:27
+#: documents/templates/documents/my_page.html:27
 msgid "Your last edited documents"
 msgstr "Twoje ostatnie edycje"
 
 msgid "Your last edited documents"
 msgstr "Twoje ostatnie edycje"
 
-#: templates/documents/my_page.html:47 templates/documents/user_page.html:18
+#: documents/templates/documents/my_page.html:47
+#: documents/templates/documents/user_page.html:18
 msgid "Recent activity for"
 msgstr "Ostatnia aktywność dla:"
 
 msgid "Recent activity for"
 msgstr "Ostatnia aktywność dla:"
 
-#: templates/documents/upload_pdf.html:5 templates/documents/upload_pdf.html:11
+#: documents/templates/documents/upload_pdf.html:5
+#: documents/templates/documents/upload_pdf.html:11
 msgid "PDF file upload"
 msgstr "Ładowanie pliku PDF"
 
 msgid "PDF file upload"
 msgstr "Ładowanie pliku PDF"
 
-#: templates/documents/user_list.html:7 templates/documents/user_list.html:14
-#: templatetags/documents.py:33
+#: documents/templates/documents/user_list.html:7
+#: documents/templates/documents/user_list.html:14
+#: documents/templatetags/documents.py:33
 msgid "Users"
 msgstr "Użytkownicy"
 
 msgid "Users"
 msgstr "Użytkownicy"
 
-#: templates/documents/wall.html:30
+#: documents/templates/documents/wall.html:30
 msgid "not logged in"
 msgstr "nie zalogowany"
 
 msgid "not logged in"
 msgstr "nie zalogowany"
 
-#: templates/documents/wall.html:35
+#: documents/templates/documents/wall.html:35
 msgid "No activity recorded."
 msgstr "Nie zanotowano aktywności."
 
 msgid "No activity recorded."
 msgstr "Nie zanotowano aktywności."
 
-#: templatetags/book_list.py:83 templatetags/book_list.py:151
+#: documents/templatetags/book_list.py:83
+#: documents/templatetags/book_list.py:151
 msgid "unpublished"
 msgstr "nie opublikowane"
 
 msgid "unpublished"
 msgstr "nie opublikowane"
 
-#: templatetags/book_list.py:84 templatetags/book_list.py:152
+#: documents/templatetags/book_list.py:84
+#: documents/templatetags/book_list.py:152
 msgid "empty"
 msgstr "puste"
 
 msgid "empty"
 msgstr "puste"
 
-#: templatetags/documents.py:31
+#: documents/templatetags/documents.py:31
 msgid "All"
 msgstr "Wszystkie"
 
 msgid "All"
 msgstr "Wszystkie"
 
-#: templatetags/documents.py:32
+#: documents/templatetags/documents.py:32
 msgid "Images"
 msgstr "Obrazy"
 
 msgid "Images"
 msgstr "Obrazy"
 
-#: templatetags/documents.py:36
+#: documents/templatetags/documents.py:36
 msgid "Add"
 msgstr "Dodaj"
 
 msgid "Add"
 msgstr "Dodaj"
 
-#: templatetags/documents.py:39
+#: documents/templatetags/documents.py:39
 msgid "Covers"
 msgstr "Okładki"
 
 msgid "Covers"
 msgstr "Okładki"
 
-#: templatetags/wall.py:49 templatetags/wall.py:78
+#: documents/templatetags/wall.py:49 documents/templatetags/wall.py:78
 msgid "Related edit"
 msgstr "Powiązana zmiana"
 
 msgid "Related edit"
 msgstr "Powiązana zmiana"
 
-#: templatetags/wall.py:51 templatetags/wall.py:80
+#: documents/templatetags/wall.py:51 documents/templatetags/wall.py:80
 msgid "Edit"
 msgstr "Zmiana"
 
 msgid "Edit"
 msgstr "Zmiana"
 
-#: views.py:172
+#: documents/views.py:172
 #, python-format
 msgid "Slug already used for %s"
 msgstr "Slug taki sam jak dla pliku %s"
 
 #, python-format
 msgid "Slug already used for %s"
 msgstr "Slug taki sam jak dla pliku %s"
 
-#: views.py:174
+#: documents/views.py:174
 msgid "Slug already used in repository."
 msgstr "Dokument o tym slugu już istnieje w repozytorium."
 
 msgid "Slug already used in repository."
 msgstr "Dokument o tym slugu już istnieje w repozytorium."
 
-#: views.py:180
+#: documents/views.py:180
 msgid "File should be UTF-8 encoded."
 msgstr "Plik powinien mieć kodowanie UTF-8."
 
 msgid "File should be UTF-8 encoded."
 msgstr "Plik powinien mieć kodowanie UTF-8."
 
-#: views.py:621
+#: documents/views.py:621
 msgid "scan gallery"
 msgstr "galeria skanów"
 
 msgid "scan gallery"
 msgstr "galeria skanów"
 
index c0365d5..79bba13 100644 (file)
@@ -7,7 +7,6 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-14 15:25+0100\n"
 "PO-Revision-Date: 2011-12-14 15:27+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: 2011-12-14 15:27+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,110 +14,105 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2)\n"
 
 
-#: models.py:19
+#: dvcs/models.py:23
 msgid "name"
 msgstr "nazwa"
 
 msgid "name"
 msgstr "nazwa"
 
-#: models.py:20
+#: dvcs/models.py:24
 msgid "slug"
 msgstr "slug"
 
 msgid "slug"
 msgstr "slug"
 
-#: models.py:22
+#: dvcs/models.py:25
 msgid "ordering"
 msgstr "kolejność"
 
 msgid "ordering"
 msgstr "kolejność"
 
-#: models.py:70
+#: dvcs/models.py:74
 msgid "author"
 msgstr "autor"
 
 msgid "author"
 msgstr "autor"
 
-#: models.py:71
+#: dvcs/models.py:76
 msgid "author name"
 msgstr "imię i nazwisko autora"
 
 msgid "author name"
 msgstr "imię i nazwisko autora"
 
-#: models.py:73
-#: models.py:77
+#: dvcs/models.py:76 dvcs/models.py:78
 msgid "Used if author is not set."
 msgstr "Używane, gdy nie jest ustawiony autor."
 
 msgid "Used if author is not set."
 msgstr "Używane, gdy nie jest ustawiony autor."
 
-#: models.py:75
+#: dvcs/models.py:78
 msgid "author email"
 msgstr "e-mail autora"
 
 msgid "author email"
 msgstr "e-mail autora"
 
-#: models.py:79
+#: dvcs/models.py:79
 msgid "revision"
 msgstr "rewizja"
 
 msgid "revision"
 msgstr "rewizja"
 
-#: models.py:83
+#: dvcs/models.py:82
 msgid "parent"
 msgstr "rodzic"
 
 msgid "parent"
 msgstr "rodzic"
 
-#: models.py:88
+#: dvcs/models.py:85
 msgid "merge parent"
 msgstr "drugi rodzic"
 
 msgid "merge parent"
 msgstr "drugi rodzic"
 
-#: models.py:91
+#: dvcs/models.py:87
 msgid "description"
 msgstr "opis"
 
 msgid "description"
 msgstr "opis"
 
-#: models.py:94
+#: dvcs/models.py:89
 msgid "publishable"
 msgstr "do publikacji"
 
 msgid "publishable"
 msgstr "do publikacji"
 
-#: models.py:176
+#: dvcs/models.py:175
 msgid "tag"
 msgstr "tag"
 
 msgid "tag"
 msgstr "tag"
 
-#: models.py:176
-#: models.py:178
-#: models.py:194
-#: models.py:196
+#: dvcs/models.py:175 dvcs/models.py:177 dvcs/models.py:193 dvcs/models.py:195
 msgid "for:"
 msgstr "dla:"
 
 msgid "for:"
 msgstr "dla:"
 
-#: models.py:178
-#: models.py:202
+#: dvcs/models.py:177 dvcs/models.py:200
 msgid "tags"
 msgstr "tagi"
 
 msgid "tags"
 msgstr "tagi"
 
-#: models.py:194
+#: dvcs/models.py:193
 msgid "change"
 msgstr "zmiana"
 
 msgid "change"
 msgstr "zmiana"
 
-#: models.py:196
+#: dvcs/models.py:195
 msgid "changes"
 msgstr "zmiany"
 
 msgid "changes"
 msgstr "zmiany"
 
-#: models.py:201
+#: dvcs/models.py:199
 msgid "document"
 msgstr "dokument"
 
 msgid "document"
 msgstr "dokument"
 
-#: models.py:203
+#: dvcs/models.py:201
 msgid "data"
 msgstr "dane"
 
 msgid "data"
 msgstr "dane"
 
-#: models.py:217
+#: dvcs/models.py:215
 msgid "stage"
 msgstr "etap"
 
 msgid "stage"
 msgstr "etap"
 
-#: models.py:225
+#: dvcs/models.py:223
 msgid "head"
 msgstr "głowica"
 
 msgid "head"
 msgstr "głowica"
 
-#: models.py:226
+#: dvcs/models.py:223
 msgid "This document's current head."
 msgstr "Aktualna wersja dokumentu."
 
 msgid "This document's current head."
 msgstr "Aktualna wersja dokumentu."
 
-#: models.py:230
+#: dvcs/models.py:228
 msgid "creator"
 msgstr "utworzył"
 
 msgid "creator"
 msgstr "utworzył"
 
-#: models.py:245
+#: dvcs/models.py:240
 msgid "user"
 msgstr "użytkownik"
 
 msgid "user"
 msgstr "użytkownik"
 
-#: models.py:245
+#: dvcs/models.py:240
 msgid "Work assignment."
 msgstr "Przypisanie pracy użytkownikowi."
 msgid "Work assignment."
 msgstr "Przypisanie pracy użytkownikowi."
-
index 046b883..f15a5c1 100644 (file)
@@ -7,7 +7,6 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-11-30 14:27+0100\n"
 "PO-Revision-Date: 2011-11-30 14:27+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: 2011-11-30 14:27+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,13 +14,13 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2)\n"
 
 
-#: templatetags/email.py:17
+#: email_mangler/templatetags/email.py:21
 msgid "at"
 msgstr "na"
 
 msgid "at"
 msgstr "na"
 
-#: templatetags/email.py:18
+#: email_mangler/templatetags/email.py:22
 msgid "dot"
 msgstr "kropka"
 msgid "dot"
 msgstr "kropka"
-
index a4b6099..4fc6bd4 100644 (file)
@@ -7,7 +7,6 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 16:27+0100\n"
 "PO-Revision-Date: 2013-03-07 16:27+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: 2013-03-07 16:27+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,25 +14,25 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
 
 
-#: templates/fileupload/picture_form.html:18
+#: fileupload/templates/fileupload/picture_form.html:18
 msgid "Browse:"
 msgstr "Przeglądanie:"
 
 msgid "Browse:"
 msgstr "Przeglądanie:"
 
-#: templates/fileupload/picture_form.html:35
+#: fileupload/templates/fileupload/picture_form.html:35
 msgid "Add files..."
 msgstr "Dodaj pliki..."
 
 msgid "Add files..."
 msgstr "Dodaj pliki..."
 
-#: templates/fileupload/picture_form.html:40
+#: fileupload/templates/fileupload/picture_form.html:40
 msgid "Start upload"
 msgstr "Zacznij wysyłać"
 
 msgid "Start upload"
 msgstr "Zacznij wysyłać"
 
-#: templates/fileupload/picture_form.html:44
+#: fileupload/templates/fileupload/picture_form.html:44
 msgid "Cancel upload"
 msgstr "Anuluj wysyłanie"
 
 msgid "Cancel upload"
 msgstr "Anuluj wysyłanie"
 
-#: templates/fileupload/picture_form.html:48
+#: fileupload/templates/fileupload/picture_form.html:48
 msgid "Delete"
 msgstr "Usuń"
 msgid "Delete"
 msgstr "Usuń"
-
diff --git a/src/redakcja/locale-contrib/pl/LC_MESSAGES/django.mo b/src/redakcja/locale-contrib/pl/LC_MESSAGES/django.mo
new file mode 100644 (file)
index 0000000..1f0e131
Binary files /dev/null and b/src/redakcja/locale-contrib/pl/LC_MESSAGES/django.mo differ
diff --git a/src/redakcja/locale-contrib/pl/LC_MESSAGES/django.po b/src/redakcja/locale-contrib/pl/LC_MESSAGES/django.po
new file mode 100644 (file)
index 0000000..7241283
--- /dev/null
@@ -0,0 +1,48 @@
+# This file is distributed under the same license as the django-admin-numeric-filter package.
+#
+# Translators: 
+# Radek Czajka <radekczajka@mdrn.pl>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: django-admin-numeric-filter\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2020-11-02 12:08+0100\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
+"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
+"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
+"Last-Translator: Radek Czajka <radekczajka@mdrn.pl>\n"
+"Language-Team: \n"
+"X-Generator: Poedit 2.3\n"
+
+#: forms.py:11
+msgid "Value"
+msgstr "Wartość"
+
+#: forms.py:29
+msgid "From"
+msgstr "Od"
+
+#: forms.py:31
+msgid "To"
+msgstr "Do"
+
+#: templates/admin/filter_numeric_range.html:11
+#: templates/admin/filter_numeric_single.html:11
+#: templates/admin/filter_numeric_slider.html:11
+#, python-format
+msgid "By %(filter_title)s"
+msgstr "Według pola %(filter_title)s"
+
+#: templates/admin/filter_numeric_range.html:17
+#: templates/admin/filter_numeric_single.html:15
+#: templates/admin/filter_numeric_slider.html:26
+msgid "Apply"
+msgstr "Zastosuj"
+
+#: templates/admin/filter_numeric_slider.html:30
+msgid "No enough data."
+msgstr "Brak danych."
index 916f4db..5d60c07 100644 (file)
@@ -7,7 +7,6 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-10-18 11:18+0200\n"
 "PO-Revision-Date: 2011-10-18 11:19+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: 2011-10-18 11:19+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,27 +15,31 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: templates/404.html:8
+#: redakcja/templates/404.html:4 redakcja/templates/404.html:8
 msgid "Page not found"
 msgstr "Strona nie została znaleziona"
 
 msgid "Page not found"
 msgstr "Strona nie została znaleziona"
 
-#: templates/404.html:10
+#: redakcja/templates/404.html:10
 #, python-format
 msgid ""
 "The page you're trying\n"
 "to reach (<tt>%(p)s</tt>) could not be found. If it's a document, try\n"
 "looking for it on the <a href=\"/\">document list</a>."
 #, python-format
 msgid ""
 "The page you're trying\n"
 "to reach (<tt>%(p)s</tt>) could not be found. If it's a document, try\n"
 "looking for it on the <a href=\"/\">document list</a>."
-msgstr "Strona, do której próbujesz dotrzeć (<tt>%(p)s</tt>), nie istnieje. Spróbuj poszukać jej na <a href=\"/\">liście dokumentów</a>."
+msgstr ""
+"Strona, do której próbujesz dotrzeć (<tt>%(p)s</tt>), nie istnieje. Spróbuj "
+"poszukać jej na <a href=\"/\">liście dokumentów</a>."
 
 
-#: templates/404.html:15
+#: redakcja/templates/404.html:15
 #, python-format
 msgid ""
 "If you\n"
 "still can't find what you're looking for, please\n"
 "<a href=\"%(m)s\">contact the administrator</a>."
 #, python-format
 msgid ""
 "If you\n"
 "still can't find what you're looking for, please\n"
 "<a href=\"%(m)s\">contact the administrator</a>."
-msgstr "Jeśli nadal nie możesz znaleźć tego, czego szukasz, <a href=\"%(m)s\">skontaktuj się z administratorem</a>."
+msgstr ""
+"Jeśli nadal nie możesz znaleźć tego, czego szukasz, <a href=\"%(m)s"
+"\">skontaktuj się z administratorem</a>."
 
 
-#: templates/404.html:22
+#: redakcja/templates/404.html:22
 #, python-format
 msgid ""
 "If you're coming from Redmine, please note that\n"
 #, python-format
 msgid ""
 "If you're coming from Redmine, please note that\n"
@@ -44,70 +47,42 @@ msgid ""
 "Go to the <a href=\"/\">document list</a>\n"
 "or to <a href=\"%(m)s\">your page</a> instead."
 msgstr ""
 "Go to the <a href=\"/\">document list</a>\n"
 "or to <a href=\"%(m)s\">your page</a> instead."
 msgstr ""
-"Jeśli skierował Cię tu Redmine, zwróć uwagę, że nie służy on już do koordynowania prac redakcyjnych. Możesz za to przejść do <a href=\"/\">listy dokumentów</a>\n"
+"Jeśli skierował Cię tu Redmine, zwróć uwagę, że nie służy on już do "
+"koordynowania prac redakcyjnych. Możesz za to przejść do <a href=\"/\">listy "
+"dokumentów</a>\n"
 "albo do <a href=\"%(m)s\">swojej strony</a>."
 
 "albo do <a href=\"%(m)s\">swojej strony</a>."
 
-#: templates/base.html:7
+#: redakcja/templates/base.html:8
 msgid "Platforma Redakcyjna"
 msgstr ""
 
 msgid "Platforma Redakcyjna"
 msgstr ""
 
-#: templates/base.html:16
+#: redakcja/templates/base.html:18
 msgid "Loading"
 msgstr "Ładowanie"
 
 msgid "Loading"
 msgstr "Ładowanie"
 
-#: templates/admin/index.html:21
-#, python-format
-msgid "Models available in the %(name)s application."
-msgstr ""
-
-#: templates/admin/index.html:22
-#, python-format
-msgid "%(name)s"
-msgstr ""
-
-#: templates/admin/index.html:32
-msgid "Add"
-msgstr ""
-
-#: templates/admin/index.html:38
-msgid "Change"
-msgstr ""
-
-#: templates/admin/index.html:48
-msgid "You don't have permission to edit anything."
-msgstr ""
-
-#: templates/admin/index.html:56
-msgid "Recent Actions"
+#: redakcja/templates/pagination/pagination.html:3
+msgid "Pagination"
 msgstr ""
 
 msgstr ""
 
-#: templates/admin/index.html:57
-msgid "My Actions"
-msgstr ""
-
-#: templates/admin/index.html:61
-msgid "None available"
-msgstr ""
-
-#: templates/admin/index.html:75
-msgid "Unknown content"
-msgstr ""
-
-#: templates/pagination/pagination.html:5
-#: templates/pagination/pagination.html:7
+#: redakcja/templates/pagination/pagination.html:8
+#: redakcja/templates/pagination/pagination.html:14
 msgid "previous"
 msgstr "poprzednie"
 
 msgid "previous"
 msgstr "poprzednie"
 
-#: templates/pagination/pagination.html:21
-#: templates/pagination/pagination.html:23
+#: redakcja/templates/pagination/pagination.html:40
+#: redakcja/templates/pagination/pagination.html:46
 msgid "next"
 msgstr "następne"
 
 msgid "next"
 msgstr "następne"
 
-#: templates/registration/head_login.html:5
+#: redakcja/templates/registration/head_login.html:10
+msgid "Admin"
+msgstr ""
+
+#: redakcja/templates/registration/head_login.html:12
 msgid "Log Out"
 msgstr "Wyloguj"
 
 msgid "Log Out"
 msgstr "Wyloguj"
 
-#: templates/registration/head_login.html:9
+#: redakcja/templates/registration/head_login.html:18
 msgid "Log In"
 msgstr "Logowanie"
 
 msgid "Log In"
 msgstr "Logowanie"
 
index 8b7b9c4..4859abb 100644 (file)
@@ -76,6 +76,7 @@ INSTALLED_APPS = (
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'django.contrib.sites',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'django.contrib.sites',
+    'admin_numeric_filter',
     'django.contrib.admin',
     'django.contrib.admindocs',
 
     'django.contrib.admin',
     'django.contrib.admindocs',
 
@@ -102,6 +103,10 @@ INSTALLED_APPS = (
 if DEBUG:
     INSTALLED_APPS += ('debug_toolbar',)
 
 if DEBUG:
     INSTALLED_APPS += ('debug_toolbar',)
 
+LOCALE_PATHS = [
+    PROJECT_ROOT + "/locale-contrib",
+]
+
 LOGIN_REDIRECT_URL = '/documents/user'
 
 MIN_COVER_SIZE = (915, 1270)
 LOGIN_REDIRECT_URL = '/documents/user'
 
 MIN_COVER_SIZE = (915, 1270)
index 8c7cfb1..00c0092 100644 (file)
@@ -8,30 +8,30 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-08-03 12:14+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"
 "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"
 
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: models.py:17
+#: toolbar/models.py:15
 msgid "button group"
 msgstr "grupa przycisków"
 
 msgid "button group"
 msgstr "grupa przycisków"
 
-#: models.py:17
+#: toolbar/models.py:15
 msgid "button groups"
 msgstr "grupy przycisków"
 
 msgid "button groups"
 msgstr "grupy przycisków"
 
-#: models.py:51
+#: toolbar/models.py:49
 msgid "button"
 msgstr "przycisk"
 
 msgid "button"
 msgstr "przycisk"
 
-#: models.py:51
+#: toolbar/models.py:49
 msgid "buttons"
 msgstr "przyciski"
 
 msgid "buttons"
 msgstr "przyciski"
 
-#: models.py:75
+#: toolbar/models.py:73
 msgid "javascript"
 msgstr ""
 msgid "javascript"
 msgstr ""
index a679724..22fbe4f 100644 (file)
@@ -7,277 +7,287 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Platforma Redakcyjna\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: Platforma Redakcyjna\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-07-10 16:58+0200\n"
 "PO-Revision-Date: 2013-07-10 16:58+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org."
 "pl>\n"
 "PO-Revision-Date: 2013-07-10 16:58+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org."
 "pl>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.4\n"
 
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: forms.py:19 forms.py:63 views.py:279
+#: wiki/forms.py:17 wiki/forms.py:61 wiki/views.py:284
 msgid "Publishable"
 msgstr "Gotowe do publikacji"
 
 msgid "Publishable"
 msgstr "Gotowe do publikacji"
 
-#: forms.py:38 forms.py:89
+#: wiki/forms.py:36 wiki/forms.py:87
 msgid "Author"
 msgstr "Autor"
 
 msgid "Author"
 msgstr "Autor"
 
-#: forms.py:39 forms.py:90
+#: wiki/forms.py:37 wiki/forms.py:88
 msgid "Your name"
 msgstr "Imię i nazwisko"
 
 msgid "Your name"
 msgstr "Imię i nazwisko"
 
-#: forms.py:44 forms.py:95
+#: wiki/forms.py:42 wiki/forms.py:93
 msgid "Author's email"
 msgstr "E-mail autora"
 
 msgid "Author's email"
 msgstr "E-mail autora"
 
-#: forms.py:45 forms.py:96
+#: wiki/forms.py:43 wiki/forms.py:94
 msgid "Your email address, so we can show a gravatar :)"
 msgstr "Adres e-mail, żebyśmy mogli pokazać gravatar :)"
 
 msgid "Your email address, so we can show a gravatar :)"
 msgstr "Adres e-mail, żebyśmy mogli pokazać gravatar :)"
 
-#: forms.py:51 forms.py:102
+#: wiki/forms.py:49 wiki/forms.py:100
 msgid "Your comments"
 msgstr "Twój komentarz"
 
 msgid "Your comments"
 msgstr "Twój komentarz"
 
-#: forms.py:52
+#: wiki/forms.py:50
 msgid "Describe changes you made."
 msgstr "Opisz swoje zmiany"
 
 msgid "Describe changes you made."
 msgstr "Opisz swoje zmiany"
 
-#: forms.py:58
+#: wiki/forms.py:56
 msgid "Completed"
 msgstr "Ukończono"
 
 msgid "Completed"
 msgstr "Ukończono"
 
-#: forms.py:59
+#: wiki/forms.py:57
 msgid "If you completed a life cycle stage, select it."
 msgstr "Jeśli został ukończony etap prac, wskaż go."
 
 msgid "If you completed a life cycle stage, select it."
 msgstr "Jeśli został ukończony etap prac, wskaż go."
 
-#: forms.py:64
+#: wiki/forms.py:62
 msgid "Mark this revision as publishable."
 msgstr "Oznacz tę wersję jako gotową do publikacji."
 
 msgid "Mark this revision as publishable."
 msgstr "Oznacz tę wersję jako gotową do publikacji."
 
-#: forms.py:103
+#: wiki/forms.py:101
 msgid "Describe the reason for reverting."
 msgstr "Opisz powód przywrócenia."
 
 msgid "Describe the reason for reverting."
 msgstr "Opisz powód przywrócenia."
 
-#: models.py:14
+#: wiki/models.py:12
 msgid "name"
 msgstr "nazwa"
 
 msgid "name"
 msgstr "nazwa"
 
-#: models.py:18
+#: wiki/models.py:16
 msgid "theme"
 msgstr "motyw"
 
 msgid "theme"
 msgstr "motyw"
 
-#: models.py:19
+#: wiki/models.py:17
 msgid "themes"
 msgstr "motywy"
 
 msgid "themes"
 msgstr "motywy"
 
-#: views.py:281
-msgid "Published"
-msgstr "Opublikowano"
-
-#: views.py:302
-msgid "Revision marked"
-msgstr "Wersja oznaczona"
-
-#: views.py:304
-msgid "Nothing changed"
-msgstr "Nic nie uległo zmianie"
-
-#: templates/admin/wiki/theme/change_list.html:22
+#: wiki/templates/admin/wiki/theme/change_list.html:22
 msgid "Table for Redmine wiki"
 msgstr "Tabela do wiki na Redmine"
 
 msgid "Table for Redmine wiki"
 msgstr "Tabela do wiki na Redmine"
 
-#: templates/wiki/diff_table.html:5
+#: wiki/templates/wiki/diff_table.html:5
 msgid "Old version"
 msgstr "Stara wersja"
 
 msgid "Old version"
 msgstr "Stara wersja"
 
-#: templates/wiki/diff_table.html:6
+#: wiki/templates/wiki/diff_table.html:6
 msgid "New version"
 msgstr "Nowa wersja"
 
 msgid "New version"
 msgstr "Nowa wersja"
 
-#: templates/wiki/document_details.html:32
+#: wiki/templates/wiki/document_details.html:37
 msgid "Click to open/close gallery"
 msgstr "Kliknij, aby (ro)zwinąć galerię"
 
 msgid "Click to open/close gallery"
 msgstr "Kliknij, aby (ro)zwinąć galerię"
 
-#: templates/wiki/document_details_base.html:33
+#: wiki/templates/wiki/document_details_base.html:50
 msgid "Help"
 msgstr "Pomoc"
 
 msgid "Help"
 msgstr "Pomoc"
 
-#: templates/wiki/document_details_base.html:35
+#: wiki/templates/wiki/document_details_base.html:52
 msgid "Version"
 msgstr "Wersja"
 
 msgid "Version"
 msgstr "Wersja"
 
-#: templates/wiki/document_details_base.html:35
+#: wiki/templates/wiki/document_details_base.html:52
 msgid "Unknown"
 msgstr "nieznana"
 
 msgid "Unknown"
 msgstr "nieznana"
 
-#: templates/wiki/document_details_base.html:37
-#: templates/wiki/pubmark_dialog.html:16
+#: wiki/templates/wiki/document_details_base.html:54
+#: wiki/templates/wiki/pubmark_dialog.html:16
 msgid "Save"
 msgstr "Zapisz"
 
 msgid "Save"
 msgstr "Zapisz"
 
-#: templates/wiki/document_details_base.html:38
+#: wiki/templates/wiki/document_details_base.html:55
 msgid "Save attempt in progress"
 msgstr "Trwa zapisywanie"
 
 msgid "Save attempt in progress"
 msgstr "Trwa zapisywanie"
 
-#: templates/wiki/document_details_base.html:39
+#: wiki/templates/wiki/document_details_base.html:56
 msgid "There is a newer version of this document!"
 msgstr "Istnieje nowsza wersja tego dokumentu!"
 
 msgid "There is a newer version of this document!"
 msgstr "Istnieje nowsza wersja tego dokumentu!"
 
-#: templates/wiki/pubmark_dialog.html:17 templates/wiki/revert_dialog.html:40
+#: wiki/templates/wiki/pubmark_dialog.html:17
+#: wiki/templates/wiki/revert_dialog.html:40
 msgid "Cancel"
 msgstr "Anuluj"
 
 msgid "Cancel"
 msgstr "Anuluj"
 
-#: templates/wiki/revert_dialog.html:39
+#: wiki/templates/wiki/revert_dialog.html:39
 msgid "Revert"
 msgstr "Przywróć"
 
 msgid "Revert"
 msgstr "Przywróć"
 
-#: templates/wiki/tabs/annotations_view.html:9
+#: wiki/templates/wiki/tabs/annotations_view.html:18
 msgid "all"
 msgstr "wszystkie"
 
 msgid "all"
 msgstr "wszystkie"
 
-#: templates/wiki/tabs/annotations_view_item.html:3
+#: wiki/templates/wiki/tabs/annotations_view_item.html:3
 msgid "Annotations"
 msgstr "Przypisy"
 
 msgid "Annotations"
 msgstr "Przypisy"
 
-#: templates/wiki/tabs/gallery_view.html:5
+#: wiki/templates/wiki/tabs/gallery_view.html:6
 msgid "Go to first image of this part"
 msgstr "Przejdź na początek"
 
 msgid "Go to first image of this part"
 msgstr "Przejdź na początek"
 
-#: templates/wiki/tabs/gallery_view.html:8
+#: wiki/templates/wiki/tabs/gallery_view.html:9
 msgid "Previous"
 msgstr "Poprzednie"
 
 msgid "Previous"
 msgstr "Poprzednie"
 
-#: templates/wiki/tabs/gallery_view.html:13
+#: wiki/templates/wiki/tabs/gallery_view.html:14
 msgid "Next"
 msgstr "Następne"
 
 msgid "Next"
 msgstr "Następne"
 
-#: templates/wiki/tabs/gallery_view.html:16
-msgid "Zoom in"
-msgstr "Powiększ"
-
-#: templates/wiki/tabs/gallery_view.html:17
-msgid "Zoom out"
-msgstr "Zmniejsz"
-
-#: templates/wiki/tabs/gallery_view_item.html:3
+#: wiki/templates/wiki/tabs/gallery_view_item.html:3
 msgid "Gallery"
 msgstr "Galeria"
 
 msgid "Gallery"
 msgstr "Galeria"
 
-#: templates/wiki/tabs/history_view.html:5
+#: wiki/templates/wiki/tabs/history_view.html:6
 msgid "Compare versions"
 msgstr "Porównaj wersje"
 
 msgid "Compare versions"
 msgstr "Porównaj wersje"
 
-#: templates/wiki/tabs/history_view.html:8
+#: wiki/templates/wiki/tabs/history_view.html:9
 msgid "Mark for publishing"
 msgstr "Oznacz do publikacji"
 
 msgid "Mark for publishing"
 msgstr "Oznacz do publikacji"
 
-#: templates/wiki/tabs/history_view.html:11
+#: wiki/templates/wiki/tabs/history_view.html:12
 msgid "Revert document"
 msgstr "Przywróć wersję"
 
 msgid "Revert document"
 msgstr "Przywróć wersję"
 
-#: templates/wiki/tabs/history_view.html:14
+#: wiki/templates/wiki/tabs/history_view.html:15
 msgid "View version"
 msgstr "Zobacz wersję"
 
 msgid "View version"
 msgstr "Zobacz wersję"
 
-#: templates/wiki/tabs/history_view_item.html:3
+#: wiki/templates/wiki/tabs/history_view_item.html:3
 msgid "History"
 msgstr "Historia"
 
 msgid "History"
 msgstr "Historia"
 
-#: templates/wiki/tabs/search_view.html:3
-#: templates/wiki/tabs/search_view.html:5
+#: wiki/templates/wiki/tabs/search_view.html:4
+#: wiki/templates/wiki/tabs/search_view.html:8
 msgid "Search"
 msgstr "Szukaj"
 
 msgid "Search"
 msgstr "Szukaj"
 
-#: templates/wiki/tabs/search_view.html:8
+#: wiki/templates/wiki/tabs/search_view.html:11
 msgid "Replace with"
 msgstr "Zamień na"
 
 msgid "Replace with"
 msgstr "Zamień na"
 
-#: templates/wiki/tabs/search_view.html:10
+#: wiki/templates/wiki/tabs/search_view.html:15
 msgid "Replace"
 msgstr "Zamień"
 
 msgid "Replace"
 msgstr "Zamień"
 
-#: templates/wiki/tabs/search_view.html:12
+#: wiki/templates/wiki/tabs/search_view.html:19
 msgid "Replace all"
 msgstr "Zamień wszystko"
 
 msgid "Replace all"
 msgstr "Zamień wszystko"
 
+#: wiki/templates/wiki/tabs/search_view.html:21
 msgid "Options"
 msgstr "Opcje"
 
 msgid "Options"
 msgstr "Opcje"
 
-#: templates/wiki/tabs/search_view.html:15
+#: wiki/templates/wiki/tabs/search_view.html:24
 msgid "Case sensitive"
 msgstr "Rozróżniaj wielkość liter"
 
 msgid "Case sensitive"
 msgstr "Rozróżniaj wielkość liter"
 
-#: templates/wiki/tabs/search_view.html:17
+#: wiki/templates/wiki/tabs/search_view.html:28
 msgid "From cursor"
 msgstr "Zacznij od kursora"
 
 msgid "From cursor"
 msgstr "Zacznij od kursora"
 
-#: templates/wiki/tabs/search_view_item.html:3
+#: wiki/templates/wiki/tabs/search_view_item.html:4
 msgid "Search and replace"
 msgstr "Znajdź i zamień"
 
 msgid "Search and replace"
 msgstr "Znajdź i zamień"
 
-#: templates/wiki/tabs/source_editor_item.html:5
+#: wiki/templates/wiki/tabs/source_editor_item.html:5
 msgid "Source code"
 msgstr "Kod źródłowy"
 
 msgid "Source code"
 msgstr "Kod źródłowy"
 
-#: templates/wiki/tabs/summary_view.html:13
+#: wiki/templates/wiki/tabs/summary_view.html:11
 msgid "Refresh from working copy"
 msgstr "Odśwież z edytowanej wersji"
 
 msgid "Refresh from working copy"
 msgstr "Odśwież z edytowanej wersji"
 
-#: templates/wiki/tabs/summary_view.html:17
+#: wiki/templates/wiki/tabs/summary_view.html:15
 msgid "Title"
 msgstr "Tytuł"
 
 msgid "Title"
 msgstr "Tytuł"
 
-#: templates/wiki/tabs/summary_view.html:21
+#: wiki/templates/wiki/tabs/summary_view.html:19
 msgid "Go to the book's page"
 msgstr "Przejdź do strony książki"
 
 msgid "Go to the book's page"
 msgstr "Przejdź do strony książki"
 
-#: templates/wiki/tabs/summary_view.html:24
+#: wiki/templates/wiki/tabs/summary_view.html:22
 msgid "Document ID"
 msgstr "ID dokumentu"
 
 msgid "Document ID"
 msgstr "ID dokumentu"
 
-#: templates/wiki/tabs/summary_view.html:28
+#: wiki/templates/wiki/tabs/summary_view.html:26
 msgid "Current version"
 msgstr "Aktualna wersja"
 
 msgid "Current version"
 msgstr "Aktualna wersja"
 
-#: templates/wiki/tabs/summary_view.html:31
+#: wiki/templates/wiki/tabs/summary_view.html:30
 msgid "Last edited by"
 msgstr "Ostatnio edytowane przez"
 
 msgid "Last edited by"
 msgstr "Ostatnio edytowane przez"
 
-#: templates/wiki/tabs/summary_view.html:35
+#: wiki/templates/wiki/tabs/summary_view.html:34
 msgid "Link to gallery"
 msgstr "Link do galerii"
 
 msgid "Link to gallery"
 msgstr "Link do galerii"
 
-#: templates/wiki/tabs/summary_view.html:40
+#: wiki/templates/wiki/tabs/summary_view.html:39
 msgid "Characters in document"
 msgstr "Znaków w dokumencie"
 
 msgid "Characters in document"
 msgstr "Znaków w dokumencie"
 
-#: templates/wiki/tabs/summary_view.html:41
+#: wiki/templates/wiki/tabs/summary_view.html:41
+#: wiki/templates/wiki/tabs/summary_view.html:42
+#: wiki/templates/wiki/tabs/summary_view.html:45
 msgid "pages"
 msgstr "stron maszynopisu"
 
 msgid "pages"
 msgstr "stron maszynopisu"
 
-#: templates/wiki/tabs/summary_view.html:41
+#: wiki/templates/wiki/tabs/summary_view.html:41
+msgid "without footnotes and themes"
+msgstr ""
+
+#: wiki/templates/wiki/tabs/summary_view.html:42
+msgid "with footnotes and themes"
+msgstr ""
+
+#: wiki/templates/wiki/tabs/summary_view.html:45
 msgid "untagged"
 msgstr "nieotagowane"
 
 msgid "untagged"
 msgstr "nieotagowane"
 
-#: templates/wiki/tabs/summary_view_item.html:3
+#: wiki/templates/wiki/tabs/summary_view_item.html:3
 msgid "Summary"
 msgstr "Podsumowanie"
 
 msgid "Summary"
 msgstr "Podsumowanie"
 
-#: templates/wiki/tabs/wysiwyg_editor.html:9
+#: wiki/templates/wiki/tabs/wysiwyg_editor.html:7
 msgid "Insert theme"
 msgstr "Wstaw motyw"
 
 msgid "Insert theme"
 msgstr "Wstaw motyw"
 
-#: templates/wiki/tabs/wysiwyg_editor.html:12
+#: wiki/templates/wiki/tabs/wysiwyg_editor.html:10
 msgid "Insert annotation"
 msgstr "Wstaw przypis"
 
 msgid "Insert annotation"
 msgstr "Wstaw przypis"
 
-#: templates/wiki/tabs/wysiwyg_editor_item.html:3
+#: wiki/templates/wiki/tabs/wysiwyg_editor_item.html:3
 msgid "Visual editor"
 msgstr "Edytor wizualny"
 
 msgid "Visual editor"
 msgstr "Edytor wizualny"
 
+#: wiki/views.py:286
+msgid "Published"
+msgstr "Opublikowano"
+
+#: wiki/views.py:307
+msgid "Revision marked"
+msgstr "Wersja oznaczona"
+
+#: wiki/views.py:309
+msgid "Nothing changed"
+msgstr "Nic nie uległo zmianie"
+
+#~ msgid "Zoom in"
+#~ msgstr "Powiększ"
+
+#~ msgid "Zoom out"
+#~ msgstr "Zmniejsz"
+
 #~ msgid "ZIP file"
 #~ msgstr "Plik ZIP"
 
 #~ msgid "ZIP file"
 #~ msgstr "Plik ZIP"
 
index 432d289..a3db7be 100644 (file)
@@ -7,125 +7,122 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Platforma Redakcyjna\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: Platforma Redakcyjna\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-14 15:25+0100\n"
 "PO-Revision-Date: 2011-12-14 15:26+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "PO-Revision-Date: 2011-12-14 15:26+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
-"Language-Team: Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org.pl>\n"
+"Language-Team: Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org."
+"pl>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: forms.py:18
+#: wiki_img/forms.py:16
 msgid "Completed"
 msgstr "Ukończono"
 
 msgid "Completed"
 msgstr "Ukończono"
 
-#: forms.py:19
+#: wiki_img/forms.py:17
 msgid "If you completed a life cycle stage, select it."
 msgstr "Jeśli został ukończony etap prac, wskaż go."
 
 msgid "If you completed a life cycle stage, select it."
 msgstr "Jeśli został ukończony etap prac, wskaż go."
 
-#: views.py:126
-msgid "Publishable"
-msgstr "Gotowe do publikacji"
-
-#: templates/wiki_img/base.html:15
-msgid "Platforma Redakcyjna"
-msgstr ""
-
-#: templates/wiki_img/diff_table.html:5
+#: wiki_img/templates/wiki_img/diff_table.html:5
 msgid "Old version"
 msgstr "Stara wersja"
 
 msgid "Old version"
 msgstr "Stara wersja"
 
-#: templates/wiki_img/diff_table.html:6
+#: wiki_img/templates/wiki_img/diff_table.html:6
 msgid "New version"
 msgstr "Nowa wersja"
 
 msgid "New version"
 msgstr "Nowa wersja"
 
-#: templates/wiki_img/document_details_base.html:31
+#: wiki_img/templates/wiki_img/document_details_base.html:48
 msgid "Help"
 msgstr "Pomoc"
 
 msgid "Help"
 msgstr "Pomoc"
 
-#: templates/wiki_img/document_details_base.html:33
+#: wiki_img/templates/wiki_img/document_details_base.html:50
 msgid "Version"
 msgstr "Wersja"
 
 msgid "Version"
 msgstr "Wersja"
 
-#: templates/wiki_img/document_details_base.html:33
+#: wiki_img/templates/wiki_img/document_details_base.html:50
 msgid "Unknown"
 msgstr "nieznana"
 
 msgid "Unknown"
 msgstr "nieznana"
 
-#: templates/wiki_img/document_details_base.html:35
-#: templates/wiki_img/tag_dialog.html:15
+#: wiki_img/templates/wiki_img/document_details_base.html:52
 msgid "Save"
 msgstr "Zapisz"
 
 msgid "Save"
 msgstr "Zapisz"
 
-#: templates/wiki_img/document_details_base.html:36
+#: wiki_img/templates/wiki_img/document_details_base.html:53
 msgid "Save attempt in progress"
 msgstr "Trwa zapisywanie"
 
 msgid "Save attempt in progress"
 msgstr "Trwa zapisywanie"
 
-#: templates/wiki_img/document_details_base.html:37
+#: wiki_img/templates/wiki_img/document_details_base.html:54
 msgid "There is a newer version of this document!"
 msgstr "Istnieje nowsza wersja tego dokumentu!"
 
 msgid "There is a newer version of this document!"
 msgstr "Istnieje nowsza wersja tego dokumentu!"
 
-#: templates/wiki_img/tag_dialog.html:16
-msgid "Cancel"
-msgstr "Anuluj"
-
-#: templates/wiki_img/tabs/history_view.html:5
+#: wiki_img/templates/wiki_img/tabs/history_view.html:6
 msgid "Compare versions"
 msgstr "Porównaj wersje"
 
 msgid "Compare versions"
 msgstr "Porównaj wersje"
 
-#: templates/wiki_img/tabs/history_view.html:8
+#: wiki_img/templates/wiki_img/tabs/history_view.html:9
 msgid "Mark for publishing"
 msgstr "Oznacz do publikacji"
 
 msgid "Mark for publishing"
 msgstr "Oznacz do publikacji"
 
-#: templates/wiki_img/tabs/history_view.html:11
+#: wiki_img/templates/wiki_img/tabs/history_view.html:12
 msgid "Revert document"
 msgstr "Przywróć wersję"
 
 msgid "Revert document"
 msgstr "Przywróć wersję"
 
-#: templates/wiki_img/tabs/history_view.html:14
+#: wiki_img/templates/wiki_img/tabs/history_view.html:15
 msgid "View version"
 msgstr "Zobacz wersję"
 
 msgid "View version"
 msgstr "Zobacz wersję"
 
-#: templates/wiki_img/tabs/motifs_editor.html:4
-#: templates/wiki_img/tabs/motifs_editor_item.html:3
+#: wiki_img/templates/wiki_img/tabs/motifs_editor.html:5
+#: wiki_img/templates/wiki_img/tabs/motifs_editor_item.html:3
 msgid "Motifs"
 msgstr "Motywy"
 
 msgid "Motifs"
 msgstr "Motywy"
 
-#: templates/wiki_img/tabs/motifs_editor.html:5
-#: templates/wiki_img/tabs/objects_editor.html:5
+#: wiki_img/templates/wiki_img/tabs/motifs_editor.html:6
+#: wiki_img/templates/wiki_img/tabs/objects_editor.html:6
 msgid "Add"
 msgstr "Dodaj"
 
 msgid "Add"
 msgstr "Dodaj"
 
-#: templates/wiki_img/tabs/objects_editor.html:4
+#: wiki_img/templates/wiki_img/tabs/objects_editor.html:5
 msgid "Object name"
 msgstr "Nazwa obiektu"
 
 msgid "Object name"
 msgstr "Nazwa obiektu"
 
-#: templates/wiki_img/tabs/objects_editor_item.html:3
+#: wiki_img/templates/wiki_img/tabs/objects_editor_item.html:3
 msgid "Objects"
 msgstr "Obiekty"
 
 msgid "Objects"
 msgstr "Obiekty"
 
-#: templates/wiki_img/tabs/source_editor_item.html:5
+#: wiki_img/templates/wiki_img/tabs/source_editor_item.html:5
 msgid "Source code"
 msgstr "Kod źródłowy"
 
 msgid "Source code"
 msgstr "Kod źródłowy"
 
-#: templates/wiki_img/tabs/summary_view.html:8
-msgid "Title"
-msgstr "Tytuł"
+#: wiki_img/views.py:134
+msgid "Publishable"
+msgstr "Gotowe do publikacji"
+
+#: wiki_img/views.py:212
+msgid "Revision marked"
+msgstr ""
+
+#: wiki_img/views.py:214
+msgid "Nothing changed"
+msgstr ""
+
+#~ msgid "Cancel"
+#~ msgstr "Anuluj"
+
+#~ msgid "Title"
+#~ msgstr "Tytuł"
 
 
-#: templates/wiki_img/tabs/summary_view.html:13
-msgid "Document ID"
-msgstr "ID dokumentu"
+#~ msgid "Document ID"
+#~ msgstr "ID dokumentu"
 
 
-#: templates/wiki_img/tabs/summary_view.html:17
-msgid "Current version"
-msgstr "Aktualna wersja"
+#~ msgid "Current version"
+#~ msgstr "Aktualna wersja"
 
 
-#: templates/wiki_img/tabs/summary_view.html:20
-msgid "Last edited by"
-msgstr "Ostatnio edytowane przez"
+#~ msgid "Last edited by"
+#~ msgstr "Ostatnio edytowane przez"
 
 
-#: templates/wiki_img/tabs/summary_view_item.html:4
-msgid "Summary"
-msgstr "Podsumowanie"
+#~ msgid "Summary"
+#~ msgstr "Podsumowanie"
 
 #~ msgid "First correction"
 #~ msgstr "Autokorekta"
 
 #~ msgid "First correction"
 #~ msgstr "Autokorekta"