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
# 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 admin_numeric_filter.admin import RangeNumericFilter, NumericFilterModelAdmin
from fnpdjango.actions import export_as_csv_action
from . import models
from .wikidata import WikidataAdminMixin
admin.site.register(models.Author, AuthorAdmin)
-class BookAdmin(WikidataAdminMixin, admin.ModelAdmin):
+class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
list_display = [
"title",
"authors_str",
"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",)}
- 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 = [
admin.site.register(models.Book, BookAdmin)
+admin.site.register(models.CollectionCategory)
+
+
class AuthorInline(admin.TabularInline):
model = models.Author.collections.through
autocomplete_fields = ["author"]
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):
- 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 '—'
)
- for work_type, cost in costs.items()
+ for work_type, cost in obj.get_estimated_costs().items()
)
admin.site.register(models.Collection, CollectionAdmin)
+
class CategoryAdmin(admin.ModelAdmin):
search_fields = ["name"]
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"
"%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"
-#: catalogue/admin.py:63
+#: catalogue/admin.py:76
msgid "Features"
msgstr "Cechy"
-#: catalogue/admin.py:73
+#: catalogue/admin.py:86
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"
-#: catalogue/models.py:27
+#: catalogue/models.py:30
msgid "Dead"
msgstr "Zmarły"
-#: catalogue/models.py:28
+#: catalogue/models.py:31
msgid "Long dead"
msgstr "Dawno zmarły"
-#: catalogue/models.py:29
+#: catalogue/models.py:32
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"
-#: catalogue/models.py:41 catalogue/models.py:120
+#: catalogue/models.py:45 catalogue/models.py:129
msgid "Medium"
msgstr "Średni"
-#: catalogue/models.py:41 catalogue/models.py:120
+#: catalogue/models.py:45 catalogue/models.py:129
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"
-#: catalogue/models.py:47
+#: catalogue/models.py:51 catalogue/models.py:107
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"
-#: catalogue/models.py:84
+#: catalogue/models.py:90 catalogue/models.py:115 catalogue/models.py:257
msgid "epochs"
msgstr "epoki"
-#: catalogue/models.py:89
+#: catalogue/models.py:95
msgid "genre"
msgstr "gatunek"
-#: catalogue/models.py:90
+#: catalogue/models.py:96 catalogue/models.py:117 catalogue/models.py:259
msgid "genres"
msgstr "gatunki"
-#: catalogue/models.py:95
+#: catalogue/models.py:101
msgid "kind"
msgstr "rodzaj"
-#: catalogue/models.py:96
+#: catalogue/models.py:102 catalogue/models.py:116 catalogue/models.py:258
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"
-#: catalogue/models.py:131
+#: catalogue/models.py:144
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"
-#: 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
--- /dev/null
+# 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'),
+ ),
+ ]
--- /dev/null
+# 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'),
+ ),
+ ]
+from collections import Counter
import decimal
from django.apps import apps
from django.db import models
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"),
null=True,
blank=True,
choices=[
(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"),
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 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:
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,
+ 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(
- "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"),
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()
}
+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):
- name = models.CharField(max_length=255)
+ name = models.CharField(_("name"), max_length=255)
slug = models.SlugField(max_length=255, unique=True)
+ category = models.ForeignKey(CollectionCategory, models.SET_NULL, null=True, blank=True, verbose_name=_("category"))
class Meta:
+ ordering = ('category', 'name')
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):
- 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):
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',)
+ verbose_name = _('work rate')
+ verbose_name_plural = _('work rates')
def matches(self, book):
for category in 'epochs', 'kinds', 'genres', 'collections':
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"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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>."
-#: 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"
-#: models.py:19
+#: cover/models.py:23
msgid "title"
msgstr "tytuł"
-#: models.py:20
+#: cover/models.py:24
msgid "author"
msgstr "autor"
-#: models.py:21
+#: cover/models.py:25
msgid "license name"
msgstr "nazwa licencji"
-#: models.py:22
+#: cover/models.py:26
msgid "license URL"
msgstr "URL licencji"
-#: models.py:23
+#: cover/models.py:27
msgid "source URL"
msgstr "URL źródła"
-#: models.py:24
+#: cover/models.py:28
msgid "image download URL"
msgstr "URL pliku do pobrania"
-#: models.py:25
+#: cover/models.py:30
msgid "file"
msgstr "plik"
-#: models.py:28
+#: cover/models.py:33
msgid "cover image"
msgstr "obrazek na okładkę"
-#: models.py:29
+#: cover/models.py:34
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"
-#: templates/cover/add_image.html:40
+#: cover/templates/cover/add_image.html:19
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ę"
-#: templates/cover/image_detail.html:23
+#: cover/templates/cover/image_detail.html:25
msgid "source"
msgstr "źródło"
-#: templates/cover/image_detail.html:35
+#: cover/templates/cover/image_detail.html:36
msgid "Change"
msgstr "Zmień"
-#: templates/cover/image_detail.html:41
+#: cover/templates/cover/image_detail.html:42
msgid "Used in:"
msgstr "Użyte w:"
-#: templates/cover/image_detail.html:49
+#: cover/templates/cover/image_detail.html:50
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"
-#: templates/cover/image_list.html:10
+#: cover/templates/cover/image_list.html:15
msgid "Add new"
msgstr "Dodaj nowy"
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."
"|| 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."
-#: forms.py:57
+#: documents/forms.py:57
msgid "Title not set"
msgstr "Brak tytułu"
-#: forms.py:60
+#: documents/forms.py:60
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"
-#: forms.py:72
+#: documents/forms.py:72
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"
-#: forms.py:97 forms.py:198
+#: documents/forms.py:97 documents/forms.py:198
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"
-#: forms.py:141
+#: documents/forms.py:141
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ł"
-#: 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"
-#: models/book.py:29 models/image.py:22
+#: documents/models/book.py:29 documents/models/image.py:22
msgid "public"
msgstr "publiczna"
-#: models/book.py:30
+#: documents/models/book.py:30
msgid "scan gallery name"
msgstr "nazwa galerii skanów"
-#: models/book.py:34
+#: documents/models/book.py:34
msgid "parent"
msgstr "rodzic"
-#: models/book.py:35
+#: documents/models/book.py:35
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"
-#: models/book.py:54 views.py:619
+#: documents/models/book.py:54 documents/views.py:619
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."
-#: 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."
-#: 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"
-#: 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."
-#: 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"
-#: 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"
-#: models/chunk.py:20
+#: documents/models/chunk.py:20
msgid "number"
msgstr "numer"
-#: models/chunk.py:23
+#: documents/models/chunk.py:23
msgid "gallery start"
msgstr "początek galerii"
-#: models/chunk.py:38
+#: documents/models/chunk.py:38
msgid "chunk"
msgstr "część"
-#: models/chunk.py:39
+#: documents/models/chunk.py:39
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"
-#: models/image.py:34
+#: documents/models/image.py:34
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."
-#: models/project.py:11
+#: documents/models/project.py:11
msgid "name"
msgstr "nazwa"
-#: models/project.py:12
+#: documents/models/project.py:12
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"
-#: models/project.py:18
+#: documents/models/project.py:18
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"
-#: 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"
-#: 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"
-#: models/publish_log.py:23
+#: documents/models/publish_log.py:23
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"
-#: models/publish_log.py:36
+#: documents/models/publish_log.py:36
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"
-#: models/publish_log.py:51
+#: documents/models/publish_log.py:51
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"
-#: templates/documents/active_users_list.html:5
+#: documents/templates/documents/active_users_list.html:5
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"
-#: 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ść"
-#: templates/documents/base.html:13
+#: documents/templates/documents/base.html:13
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ę"
-#: 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"
-#: templates/documents/book_detail.html:31
+#: documents/templates/documents/book_detail.html:31
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"
-#: templates/documents/book_detail.html:49
+#: documents/templates/documents/book_detail.html:53
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"
-#: 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"
-#: templates/documents/book_detail.html:95
+#: documents/templates/documents/book_detail.html:99
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"
-#: templates/documents/book_detail.html:97
+#: documents/templates/documents/book_detail.html:101
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"
-#: templates/documents/book_detail.html:99
+#: documents/templates/documents/book_detail.html:103
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"
-#: templates/documents/book_detail.html:101
+#: documents/templates/documents/book_detail.html:105
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"
-#: 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ć."
-#: 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:"
-#: templates/documents/book_edit.html:5
+#: documents/templates/documents/book_edit.html:5
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"
-#: 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."
-#: templates/documents/book_html.html:14
+#: documents/templates/documents/book_html.html:14
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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: 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"
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."
-#: 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"
-#: 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"
-#: 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"
-#: 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"
-#: templates/documents/book_text.html:7
+#: documents/templates/documents/book_text.html:7
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ęść"
-#: templates/documents/chunk_add.html:19
+#: documents/templates/documents/chunk_add.html:19
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ęść"
-#: templates/documents/chunk_edit.html:19
+#: documents/templates/documents/chunk_edit.html:19
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ę"
-#: templates/documents/document_create_missing.html:21
+#: documents/templates/documents/document_create_missing.html:21
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"
-#: templates/documents/document_upload.html:6
+#: documents/templates/documents/document_upload.html:6
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"
-#: 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."
"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"
-#: 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."
-#: templates/documents/document_upload.html:35
+#: documents/templates/documents/document_upload.html:35
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"
-#: 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."
-#: templates/documents/document_upload.html:55
+#: documents/templates/documents/document_upload.html:55
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"
-#: 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>."
-#: templates/documents/image_detail.html:34
+#: documents/templates/documents/image_detail.html:34
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."
-#: templates/documents/image_list.html:8
+#: documents/templates/documents/image_list.html:8
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"
-#: templates/documents/image_table.html:79
+#: documents/templates/documents/image_table.html:79
#, python-format
msgid "%(c)s image"
msgid_plural "%(c)s images"
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."
-#: 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"
-#: templates/documents/my_page.html:27
+#: documents/templates/documents/my_page.html:27
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:"
-#: 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"
-#: 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"
-#: templates/documents/wall.html:30
+#: documents/templates/documents/wall.html:30
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."
-#: 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"
-#: 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"
-#: templatetags/documents.py:31
+#: documents/templatetags/documents.py:31
msgid "All"
msgstr "Wszystkie"
-#: templatetags/documents.py:32
+#: documents/templatetags/documents.py:32
msgid "Images"
msgstr "Obrazy"
-#: templatetags/documents.py:36
+#: documents/templatetags/documents.py:36
msgid "Add"
msgstr "Dodaj"
-#: templatetags/documents.py:39
+#: documents/templatetags/documents.py:39
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"
-#: templatetags/wall.py:51 templatetags/wall.py:80
+#: documents/templatetags/wall.py:51 documents/templatetags/wall.py:80
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"
-#: views.py:174
+#: documents/views.py:174
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."
-#: views.py:621
+#: documents/views.py:621
msgid "scan gallery"
msgstr "galeria skanów"
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"
"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"
-#: models.py:20
+#: dvcs/models.py:24
msgid "slug"
msgstr "slug"
-#: models.py:22
+#: dvcs/models.py:25
msgid "ordering"
msgstr "kolejność"
-#: models.py:70
+#: dvcs/models.py:74
msgid "author"
msgstr "autor"
-#: models.py:71
+#: dvcs/models.py:76
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."
-#: models.py:75
+#: dvcs/models.py:78
msgid "author email"
msgstr "e-mail autora"
-#: models.py:79
+#: dvcs/models.py:79
msgid "revision"
msgstr "rewizja"
-#: models.py:83
+#: dvcs/models.py:82
msgid "parent"
msgstr "rodzic"
-#: models.py:88
+#: dvcs/models.py:85
msgid "merge parent"
msgstr "drugi rodzic"
-#: models.py:91
+#: dvcs/models.py:87
msgid "description"
msgstr "opis"
-#: models.py:94
+#: dvcs/models.py:89
msgid "publishable"
msgstr "do publikacji"
-#: models.py:176
+#: dvcs/models.py:175
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:"
-#: models.py:178
-#: models.py:202
+#: dvcs/models.py:177 dvcs/models.py:200
msgid "tags"
msgstr "tagi"
-#: models.py:194
+#: dvcs/models.py:193
msgid "change"
msgstr "zmiana"
-#: models.py:196
+#: dvcs/models.py:195
msgid "changes"
msgstr "zmiany"
-#: models.py:201
+#: dvcs/models.py:199
msgid "document"
msgstr "dokument"
-#: models.py:203
+#: dvcs/models.py:201
msgid "data"
msgstr "dane"
-#: models.py:217
+#: dvcs/models.py:215
msgid "stage"
msgstr "etap"
-#: models.py:225
+#: dvcs/models.py:223
msgid "head"
msgstr "głowica"
-#: models.py:226
+#: dvcs/models.py:223
msgid "This document's current head."
msgstr "Aktualna wersja dokumentu."
-#: models.py:230
+#: dvcs/models.py:228
msgid "creator"
msgstr "utworzył"
-#: models.py:245
+#: dvcs/models.py:240
msgid "user"
msgstr "użytkownik"
-#: models.py:245
+#: dvcs/models.py:240
msgid "Work assignment."
msgstr "Przypisanie pracy użytkownikowi."
-
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"
"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"
-#: templatetags/email.py:18
+#: email_mangler/templatetags/email.py:22
msgid "dot"
msgstr "kropka"
-
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"
"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:"
-#: templates/fileupload/picture_form.html:35
+#: fileupload/templates/fileupload/picture_form.html:35
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ć"
-#: templates/fileupload/picture_form.html:44
+#: fileupload/templates/fileupload/picture_form.html:44
msgid "Cancel upload"
msgstr "Anuluj wysyłanie"
-#: templates/fileupload/picture_form.html:48
+#: fileupload/templates/fileupload/picture_form.html:48
msgid "Delete"
msgstr "Usuń"
-
--- /dev/null
+# 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."
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"
"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"
-#: 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>."
-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>."
-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"
"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>."
-#: templates/base.html:7
+#: redakcja/templates/base.html:8
msgid "Platforma Redakcyjna"
msgstr ""
-#: templates/base.html:16
+#: redakcja/templates/base.html:18
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 ""
-#: 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"
-#: 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"
-#: 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"
-#: templates/registration/head_login.html:9
+#: redakcja/templates/registration/head_login.html:18
msgid "Log In"
msgstr "Logowanie"
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
+ 'admin_numeric_filter',
'django.contrib.admin',
'django.contrib.admindocs',
if DEBUG:
INSTALLED_APPS += ('debug_toolbar',)
+LOCALE_PATHS = [
+ PROJECT_ROOT + "/locale-contrib",
+]
+
LOGIN_REDIRECT_URL = '/documents/user'
MIN_COVER_SIZE = (915, 1270)
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"
+"Language: \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"
-#: models.py:17
+#: toolbar/models.py:15
msgid "button groups"
msgstr "grupy przycisków"
-#: models.py:51
+#: toolbar/models.py:49
msgid "button"
msgstr "przycisk"
-#: models.py:51
+#: toolbar/models.py:49
msgid "buttons"
msgstr "przyciski"
-#: models.py:75
+#: toolbar/models.py:73
msgid "javascript"
msgstr ""
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"
+"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"
-#: 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"
-#: forms.py:38 forms.py:89
+#: wiki/forms.py:36 wiki/forms.py:87
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"
-#: forms.py:44 forms.py:95
+#: wiki/forms.py:42 wiki/forms.py:93
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 :)"
-#: forms.py:51 forms.py:102
+#: wiki/forms.py:49 wiki/forms.py:100
msgid "Your comments"
msgstr "Twój komentarz"
-#: forms.py:52
+#: wiki/forms.py:50
msgid "Describe changes you made."
msgstr "Opisz swoje zmiany"
-#: forms.py:58
+#: wiki/forms.py:56
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."
-#: forms.py:64
+#: wiki/forms.py:62
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."
-#: models.py:14
+#: wiki/models.py:12
msgid "name"
msgstr "nazwa"
-#: models.py:18
+#: wiki/models.py:16
msgid "theme"
msgstr "motyw"
-#: models.py:19
+#: wiki/models.py:17
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"
-#: templates/wiki/diff_table.html:5
+#: wiki/templates/wiki/diff_table.html:5
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"
-#: 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ę"
-#: templates/wiki/document_details_base.html:33
+#: wiki/templates/wiki/document_details_base.html:50
msgid "Help"
msgstr "Pomoc"
-#: templates/wiki/document_details_base.html:35
+#: wiki/templates/wiki/document_details_base.html:52
msgid "Version"
msgstr "Wersja"
-#: templates/wiki/document_details_base.html:35
+#: wiki/templates/wiki/document_details_base.html:52
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"
-#: templates/wiki/document_details_base.html:38
+#: wiki/templates/wiki/document_details_base.html:55
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!"
-#: 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"
-#: templates/wiki/revert_dialog.html:39
+#: wiki/templates/wiki/revert_dialog.html:39
msgid "Revert"
msgstr "Przywróć"
-#: templates/wiki/tabs/annotations_view.html:9
+#: wiki/templates/wiki/tabs/annotations_view.html:18
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"
-#: 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"
-#: templates/wiki/tabs/gallery_view.html:8
+#: wiki/templates/wiki/tabs/gallery_view.html:9
msgid "Previous"
msgstr "Poprzednie"
-#: templates/wiki/tabs/gallery_view.html:13
+#: wiki/templates/wiki/tabs/gallery_view.html:14
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"
-#: templates/wiki/tabs/history_view.html:5
+#: wiki/templates/wiki/tabs/history_view.html:6
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"
-#: templates/wiki/tabs/history_view.html:11
+#: wiki/templates/wiki/tabs/history_view.html:12
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ę"
-#: templates/wiki/tabs/history_view_item.html:3
+#: wiki/templates/wiki/tabs/history_view_item.html:3
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"
-#: templates/wiki/tabs/search_view.html:8
+#: wiki/templates/wiki/tabs/search_view.html:11
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ń"
-#: templates/wiki/tabs/search_view.html:12
+#: wiki/templates/wiki/tabs/search_view.html:19
msgid "Replace all"
msgstr "Zamień wszystko"
+#: wiki/templates/wiki/tabs/search_view.html:21
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"
-#: templates/wiki/tabs/search_view.html:17
+#: wiki/templates/wiki/tabs/search_view.html:28
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ń"
-#: 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"
-#: 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"
-#: templates/wiki/tabs/summary_view.html:17
+#: wiki/templates/wiki/tabs/summary_view.html:15
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"
-#: templates/wiki/tabs/summary_view.html:24
+#: wiki/templates/wiki/tabs/summary_view.html:22
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"
-#: templates/wiki/tabs/summary_view.html:31
+#: wiki/templates/wiki/tabs/summary_view.html:30
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"
-#: templates/wiki/tabs/summary_view.html:40
+#: wiki/templates/wiki/tabs/summary_view.html:39
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"
-#: 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"
-#: templates/wiki/tabs/summary_view_item.html:3
+#: wiki/templates/wiki/tabs/summary_view_item.html:3
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"
-#: templates/wiki/tabs/wysiwyg_editor.html:12
+#: wiki/templates/wiki/tabs/wysiwyg_editor.html:10
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"
+#: 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"
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"
-"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"
-#: forms.py:18
+#: wiki_img/forms.py:16
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."
-#: 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"
-#: templates/wiki_img/diff_table.html:6
+#: wiki_img/templates/wiki_img/diff_table.html:6
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"
-#: templates/wiki_img/document_details_base.html:33
+#: wiki_img/templates/wiki_img/document_details_base.html:50
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"
-#: 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"
-#: 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"
-#: 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!"
-#: 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"
-#: 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"
-#: templates/wiki_img/tabs/history_view.html:11
+#: wiki_img/templates/wiki_img/tabs/history_view.html:12
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ę"
-#: 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"
-#: 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"
-#: templates/wiki_img/tabs/objects_editor.html:4
+#: wiki_img/templates/wiki_img/tabs/objects_editor.html:5
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"
-#: 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"
-#: 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"