Merge branch 'staging'
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 5 Jan 2011 12:29:52 +0000 (13:29 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 5 Jan 2011 12:29:52 +0000 (13:29 +0100)
50 files changed:
.gitignore
apps/catalogue/admin.py
apps/catalogue/forms.py
apps/catalogue/management/commands/importbooks.py
apps/catalogue/migrations/0003_auto__chg_field_book_created_at.py [new file with mode: 0644]
apps/catalogue/migrations/0004_auto__chg_field_tag_sort_key.py [new file with mode: 0644]
apps/catalogue/migrations/0005_many2many_files_for_books.py [new file with mode: 0644]
apps/catalogue/migrations/0006_auto__del_bookstub__del_field_tag_death.py
apps/catalogue/models.py
apps/catalogue/urls.py
apps/catalogue/views.py
apps/lesmianator/management/__init__.py [new file with mode: 0644]
apps/lesmianator/management/commands/__init__.py [new file with mode: 0644]
apps/lesmianator/management/commands/lesmianator.py [new file with mode: 0644]
apps/lesmianator/views.py
wolnelektury/locale/de/LC_MESSAGES/django.mo
wolnelektury/locale/de/LC_MESSAGES/django.po
wolnelektury/locale/en/LC_MESSAGES/django.mo
wolnelektury/locale/en/LC_MESSAGES/django.po
wolnelektury/locale/es/LC_MESSAGES/django.mo
wolnelektury/locale/es/LC_MESSAGES/django.po
wolnelektury/locale/fr/LC_MESSAGES/django.mo
wolnelektury/locale/fr/LC_MESSAGES/django.po
wolnelektury/locale/lt/LC_MESSAGES/django.mo
wolnelektury/locale/lt/LC_MESSAGES/django.po
wolnelektury/locale/pl/LC_MESSAGES/django.mo
wolnelektury/locale/pl/LC_MESSAGES/django.po
wolnelektury/locale/ru/LC_MESSAGES/django.mo
wolnelektury/locale/ru/LC_MESSAGES/django.po
wolnelektury/locale/uk/LC_MESSAGES/django.mo
wolnelektury/locale/uk/LC_MESSAGES/django.po
wolnelektury/settings.py
wolnelektury/static/css/master.book.css
wolnelektury/static/css/master.css
wolnelektury/static/img/epub.png [new file with mode: 0644]
wolnelektury/static/img/odt.png [new file with mode: 0644]
wolnelektury/static/img/pdf.png [new file with mode: 0644]
wolnelektury/static/img/speaker.png [new file with mode: 0644]
wolnelektury/static/img/txt.png [new file with mode: 0644]
wolnelektury/static/js/book.js
wolnelektury/static/js/catalogue.js
wolnelektury/templates/base.html
wolnelektury/templates/catalogue/audiobook_list.html [new file with mode: 0644]
wolnelektury/templates/catalogue/book_detail.html
wolnelektury/templates/catalogue/book_list.html
wolnelektury/templates/catalogue/book_sets.html
wolnelektury/templates/catalogue/book_text.html
wolnelektury/templates/catalogue/daisy_list.html [new file with mode: 0644]
wolnelektury/templates/catalogue/main_page.html
wolnelektury/templates/lessons/document_list.html

index a3f95c0..1befb63 100644 (file)
@@ -1,6 +1,7 @@
 localsettings.py
 dev.sqlite
 *.db
+*.db-journal
 *~
 *.orig
 
index f812eeb..5739cdc 100644 (file)
@@ -5,7 +5,7 @@
 from django.contrib import admin
 
 from newtagging.admin import TaggableModelAdmin
-from catalogue.models import Tag, Book, Fragment
+from catalogue.models import Tag, Book, Fragment, BookMedia
 
 
 class TagAdmin(admin.ModelAdmin):
@@ -21,7 +21,7 @@ class TagAdmin(admin.ModelAdmin):
 class BookAdmin(TaggableModelAdmin):
     tag_model = Tag
 
-    list_display = ('title', 'slug', 'has_pdf_file', 'has_epub_file', 'has_odt_file', 'has_html_file', 'has_description',)
+    list_display = ('title', 'slug', 'created_at', 'has_pdf_file', 'has_epub_file', 'has_html_file', 'has_description',)
     search_fields = ('title',)
     ordering = ('title',)
 
@@ -35,7 +35,15 @@ class FragmentAdmin(TaggableModelAdmin):
     ordering = ('book', 'anchor',)
 
 
+class MediaAdmin(admin.ModelAdmin):
+    #tag_model = BookMedia
+
+    list_display = ('type', 'name')
+    ordering = ('type', 'name')
+
+
+
 admin.site.register(Tag, TagAdmin)
 admin.site.register(Book, BookAdmin)
 admin.site.register(Fragment, FragmentAdmin)
-
+admin.site.register(BookMedia, MediaAdmin)
index 3ce88f4..6ed6d62 100644 (file)
@@ -59,7 +59,7 @@ class NewSetForm(forms.Form):
 
     def save(self, user, commit=True):
         name = self.cleaned_data['name']
-        new_set = Tag(name=name, slug=utils.get_random_hash(name), sort_key=slughifi(name),
+        new_set = Tag(name=name, slug=utils.get_random_hash(name), sort_key=name.lower(),
             category='set', user=user)
 
         new_set.save()
index 467dc14..3daca8a 100644 (file)
@@ -56,7 +56,11 @@ class Command(BaseCommand):
             if not os.path.isdir(dir_name):
                 print self.style.ERROR("%s: Not a directory. Skipping." % dir_name)
             else:
-                for file_name in sorted(os.listdir(dir_name)):
+                # files queue
+                files = sorted(os.listdir(dir_name))
+                postponed = {}
+                while files:
+                    file_name = files.pop(0)
                     file_path = os.path.join(dir_name, file_name)
                     file_base, ext = os.path.splitext(file_path)
 
@@ -111,6 +115,17 @@ class Command(BaseCommand):
                             file_path)
                         files_skipped += 1
 
+                    except Book.DoesNotExist, e:
+                        if file_name not in postponed or postponed[file_name] < files_imported:
+                            # push it back into the queue, maybe the missing child will show up
+                            if verbose:
+                                print self.style.NOTICE('Waiting for missing children')
+                            files.append(file_name)
+                            postponed[file_name] = files_imported
+                        else:
+                            # we're in a loop, nothing's being imported - some child is really missing
+                            raise e
+
         # Print results
         print
         print "Results: %d files imported, %d skipped, %d total." % (
diff --git a/apps/catalogue/migrations/0003_auto__chg_field_book_created_at.py b/apps/catalogue/migrations/0003_auto__chg_field_book_created_at.py
new file mode 100644 (file)
index 0000000..dc53778
--- /dev/null
@@ -0,0 +1,150 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        
+        # Changing field 'Book.created_at'
+        db.alter_column('catalogue_book', 'created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True))
+
+
+    def backwards(self, orm):
+        
+        # Changing field 'Book.created_at'
+        db.alter_column('catalogue_book', 'created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True))
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'catalogue.book': {
+            'Meta': {'ordering': "('title',)", 'object_name': 'Book'},
+            '_short_html': ('django.db.models.fields.TextField', [], {}),
+            '_short_html_de': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_en': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_es': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_fr': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_lt': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_pl': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_ru': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_uk': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_tag_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            '_theme_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'daisy_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'epub_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'extra_info': ('catalogue.fields.JSONField', [], {}),
+            'gazeta_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mp3_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'odt_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'ogg_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'children'", 'blank': 'True', 'null': 'True', 'to': "orm['catalogue.Book']"}),
+            'parent_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'pdf_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'unique': 'True', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'txt_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'wiki_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'})
+        },
+        'catalogue.bookstub': {
+            'Meta': {'ordering': "('title',)", 'object_name': 'BookStub'},
+            'author': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'pd': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'unique': 'True', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'translator': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'translator_death': ('django.db.models.fields.TextField', [], {'blank': 'True'})
+        },
+        'catalogue.filerecord': {
+            'Meta': {'ordering': "('-time', '-slug', '-type')", 'object_name': 'FileRecord'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'sha1': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'db_index': 'True'}),
+            'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '20', 'db_index': 'True'})
+        },
+        'catalogue.fragment': {
+            'Meta': {'ordering': "('book', 'anchor')", 'object_name': 'Fragment'},
+            '_short_html': ('django.db.models.fields.TextField', [], {}),
+            '_short_html_de': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_en': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_es': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_fr': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_lt': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_pl': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_ru': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_uk': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            'anchor': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'book': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'fragments'", 'to': "orm['catalogue.Book']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'short_text': ('django.db.models.fields.TextField', [], {}),
+            'text': ('django.db.models.fields.TextField', [], {})
+        },
+        'catalogue.tag': {
+            'Meta': {'ordering': "('sort_key',)", 'unique_together': "(('slug', 'category'),)", 'object_name': 'Tag'},
+            'book_count': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'category': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+            'death': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'gazeta_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'main_page': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'db_index': 'True'}),
+            'sort_key': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'db_index': 'True'}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
+            'wiki_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'})
+        },
+        'catalogue.tagrelation': {
+            'Meta': {'unique_together': "(('tag', 'content_type', 'object_id'),)", 'object_name': 'TagRelation', 'db_table': "'catalogue_tag_relation'"},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'to': "orm['catalogue.Tag']"})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        }
+    }
+
+    complete_apps = ['catalogue']
diff --git a/apps/catalogue/migrations/0004_auto__chg_field_tag_sort_key.py b/apps/catalogue/migrations/0004_auto__chg_field_tag_sort_key.py
new file mode 100644 (file)
index 0000000..b4eac04
--- /dev/null
@@ -0,0 +1,168 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        
+        # Changing field 'Tag.sort_key'
+        db.alter_column('catalogue_tag', 'sort_key', self.gf('django.db.models.fields.CharField')(max_length=120))
+
+        if not db.dry_run:
+            for tag in orm.Tag.objects.exclude(category=('set', 'author')):
+                tag.sort_key = tag.name.lower()
+                tag.save()
+            for tag in orm.Tag.objects.filter(category='author'):
+                tag.sort_key = tag.name[-len(tag.sort_key):].lower()
+                tag.save()
+
+
+
+    def backwards(self, orm):
+        # slugify all sort_keys
+        if not db.dry_run:
+            try:
+                from slughifi import slughifi as slugify
+            except ImportError:
+                from django.template.defaultfilters import slugify
+            for tag in orm.Tag.objects.all():
+                tag.sort_key = slugify(tag.sort_key)
+                tag.save()
+
+        # Changing field 'Tag.sort_key'
+        db.alter_column('catalogue_tag', 'sort_key', self.gf('django.db.models.fields.SlugField')(max_length=120))
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'catalogue.book': {
+            'Meta': {'ordering': "('title',)", 'object_name': 'Book'},
+            '_short_html': ('django.db.models.fields.TextField', [], {}),
+            '_short_html_de': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_en': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_es': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_fr': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_lt': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_pl': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_ru': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_uk': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_tag_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            '_theme_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'daisy_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'epub_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'extra_info': ('catalogue.fields.JSONField', [], {}),
+            'gazeta_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mp3_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'odt_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'ogg_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'children'", 'blank': 'True', 'null': 'True', 'to': "orm['catalogue.Book']"}),
+            'parent_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'pdf_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'unique': 'True', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'txt_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'wiki_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'})
+        },
+        'catalogue.bookstub': {
+            'Meta': {'ordering': "('title',)", 'object_name': 'BookStub'},
+            'author': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'pd': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'unique': 'True', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'translator': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'translator_death': ('django.db.models.fields.TextField', [], {'blank': 'True'})
+        },
+        'catalogue.filerecord': {
+            'Meta': {'ordering': "('-time', '-slug', '-type')", 'object_name': 'FileRecord'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'sha1': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'db_index': 'True'}),
+            'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '20', 'db_index': 'True'})
+        },
+        'catalogue.fragment': {
+            'Meta': {'ordering': "('book', 'anchor')", 'object_name': 'Fragment'},
+            '_short_html': ('django.db.models.fields.TextField', [], {}),
+            '_short_html_de': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_en': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_es': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_fr': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_lt': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_pl': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_ru': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_uk': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            'anchor': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'book': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'fragments'", 'to': "orm['catalogue.Book']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'short_text': ('django.db.models.fields.TextField', [], {}),
+            'text': ('django.db.models.fields.TextField', [], {})
+        },
+        'catalogue.tag': {
+            'Meta': {'ordering': "('sort_key',)", 'unique_together': "(('slug', 'category'),)", 'object_name': 'Tag'},
+            'book_count': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'category': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+            'death': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'gazeta_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'main_page': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'db_index': 'True'}),
+            'sort_key': ('django.db.models.fields.CharField', [], {'max_length': '120', 'db_index': 'True'}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
+            'wiki_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'})
+        },
+        'catalogue.tagrelation': {
+            'Meta': {'unique_together': "(('tag', 'content_type', 'object_id'),)", 'object_name': 'TagRelation', 'db_table': "'catalogue_tag_relation'"},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'to': "orm['catalogue.Tag']"})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        }
+    }
+
+    complete_apps = ['catalogue']
diff --git a/apps/catalogue/migrations/0005_many2many_files_for_books.py b/apps/catalogue/migrations/0005_many2many_files_for_books.py
new file mode 100644 (file)
index 0000000..0af3cba
--- /dev/null
@@ -0,0 +1,272 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+from django.utils import simplejson as json
+from mutagen import id3
+
+
+def get_mp3_info(file):
+    """Retrieves artist and director names from audio ID3 tags."""
+    try:
+        audio = id3.ID3(file.path)
+        artist_name = ', '.join(', '.join(tag.text) for tag in audio.getall('TPE1'))
+        director_name = ', '.join(', '.join(tag.text) for tag in audio.getall('TPE3'))
+    except:
+        artist_name = director_name = ''
+    return {'artist_name': artist_name, 'director_name': director_name}
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding model 'BookMedia'
+        db.create_table('catalogue_bookmedia', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('type', self.gf('django.db.models.fields.CharField')(max_length='100')),
+            ('name', self.gf('django.db.models.fields.CharField')(max_length='100', blank=True)),
+            ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100, blank=True)),
+            ('uploaded_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+            ('extra_info', self.gf('catalogue.fields.JSONField')(default='{}')),
+        ))
+        db.send_create_signal('catalogue', ['BookMedia'])
+
+        # Adding M2M table for field medias on 'Book'
+        db.create_table('catalogue_book_medias', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('book', models.ForeignKey(orm['catalogue.book'], null=False)),
+            ('bookmedia', models.ForeignKey(orm['catalogue.bookmedia'], null=False))
+        ))
+        db.create_unique('catalogue_book_medias', ['book_id', 'bookmedia_id'])
+
+        # Data migration
+        if not db.dry_run:
+            jsonencoder = json.JSONEncoder()
+            for book in orm['old.book'].objects.all():
+                medias = []
+                if book.odt_file:
+                    medias.append({"file": book.odt_file, "type": "odt"})
+                if book.daisy_file:
+                    medias.append({"file": book.daisy_file, "type": "daisy"})
+                if book.ogg_file:
+                    medias.append({"file": book.ogg_file, "type": "ogg"})
+                if book.mp3_file:
+                    medias.append({"file": book.mp3_file, "type": "mp3"})
+                newbook = orm.Book.objects.get(pk=book.pk)
+                for media in medias:
+                    name = book.title
+                    bookMedia = orm.BookMedia.objects.create(file=media['file'], type=media['type'], name=name)
+                    if bookMedia.type == 'mp3':
+                        bookMedia.extra_info = jsonencoder.encode(get_mp3_info(bookMedia.file))
+                        bookMedia.save()
+                    newbook.medias.add(bookMedia)
+
+        # Deleting field 'Book.odt_file'
+        db.delete_column('catalogue_book', 'odt_file')
+
+        # Deleting field 'Book.daisy_file'
+        db.delete_column('catalogue_book', 'daisy_file')
+
+        # Deleting field 'Book.ogg_file'
+        db.delete_column('catalogue_book', 'ogg_file')
+
+        # Deleting field 'Book.mp3_file'
+        db.delete_column('catalogue_book', 'mp3_file')
+
+        # Changing field 'Tag.main_page'
+        db.alter_column('catalogue_tag', 'main_page', self.gf('django.db.models.fields.BooleanField')(blank=True))
+
+
+    def backwards(self, orm):
+        # Deleting model 'BookMedia'
+        db.delete_table('catalogue_bookmedia')
+
+        # Adding field 'Book.odt_file'
+        db.add_column('catalogue_book', 'odt_file', self.gf('django.db.models.fields.files.FileField')(default='', max_length=100, blank=True), keep_default=False)
+
+        # Adding field 'Book.daisy_file'
+        db.add_column('catalogue_book', 'daisy_file', self.gf('django.db.models.fields.files.FileField')(default='', max_length=100, blank=True), keep_default=False)
+
+        # Adding field 'Book.ogg_file'
+        db.add_column('catalogue_book', 'ogg_file', self.gf('django.db.models.fields.files.FileField')(default='', max_length=100, blank=True), keep_default=False)
+
+        # Adding field 'Book.mp3_file'
+        db.add_column('catalogue_book', 'mp3_file', self.gf('django.db.models.fields.files.FileField')(default='', max_length=100, blank=True), keep_default=False)
+
+        # Removing M2M table for field medias on 'Book'
+        db.delete_table('catalogue_book_medias')
+
+        # Changing field 'Tag.main_page'
+        db.alter_column('catalogue_tag', 'main_page', self.gf('django.db.models.fields.BooleanField')())
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'catalogue.book': {
+            'Meta': {'object_name': 'Book'},
+            '_short_html': ('django.db.models.fields.TextField', [], {}),
+            '_short_html_de': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_en': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_es': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_fr': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_lt': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_pl': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_ru': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_uk': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_tag_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            '_theme_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'epub_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'extra_info': ('catalogue.fields.JSONField', [], {}),
+            'gazeta_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'medias': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['catalogue.BookMedia']", 'symmetrical': 'False'}),
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'children'", 'blank': 'True', 'null': 'True', 'to': "orm['catalogue.Book']"}),
+            'parent_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'pdf_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'unique': 'True', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'txt_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),            
+            'wiki_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'})
+        },
+        'catalogue.bookmedia': {
+            'Meta': {'object_name': 'BookMedia'},
+            'extra_info': ('catalogue.fields.JSONField', [], {'default': "'{}'"}),
+            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': "'100'"}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': "'100'"}),
+            'uploaded_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
+        },
+        'catalogue.bookstub': {
+            'Meta': {'object_name': 'BookStub'},
+            'author': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'pd': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'unique': 'True', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'translator': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'translator_death': ('django.db.models.fields.TextField', [], {'blank': 'True'})
+        },
+        'catalogue.filerecord': {
+            'Meta': {'object_name': 'FileRecord'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'sha1': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'db_index': 'True'}),
+            'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '20', 'db_index': 'True'})
+        },
+        'catalogue.fragment': {
+            'Meta': {'object_name': 'Fragment'},
+            '_short_html': ('django.db.models.fields.TextField', [], {}),
+            '_short_html_de': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_en': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_es': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_fr': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_lt': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_pl': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_ru': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_uk': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            'anchor': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'book': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'fragments'", 'to': "orm['catalogue.Book']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'short_text': ('django.db.models.fields.TextField', [], {}),
+            'text': ('django.db.models.fields.TextField', [], {})
+        },
+        'catalogue.tag': {
+            'Meta': {'unique_together': "(('slug', 'category'),)", 'object_name': 'Tag'},
+            'book_count': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'category': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+            'death': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'gazeta_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'main_page': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True', 'blank': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'db_index': 'True'}),
+            'sort_key': ('django.db.models.fields.CharField', [], {'max_length': '120', 'db_index': 'True'}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
+            'wiki_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'})
+        },
+        'catalogue.tagrelation': {
+            'Meta': {'unique_together': "(('tag', 'content_type', 'object_id'),)", 'object_name': 'TagRelation', 'db_table': "'catalogue_tag_relation'"},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'to': "orm['catalogue.Tag']"})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'old.book': {
+            'Meta': {'ordering': "('title',)", 'object_name': 'Book', 'db_table': "'catalogue_book'"},
+            '_short_html': ('django.db.models.fields.TextField', [], {}),
+            '_short_html_de': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_en': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_es': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_fr': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_lt': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_pl': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_ru': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_short_html_uk': ('django.db.models.fields.TextField', [], {'null': True, 'blank': True}),
+            '_tag_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            '_theme_counter': ('catalogue.fields.JSONField', [], {'null': 'True'}),
+            'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'daisy_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'epub_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'extra_info': ('catalogue.fields.JSONField', [], {}),
+            'gazeta_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'html_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mp3_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'odt_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'ogg_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'children'", 'blank': 'True', 'null': 'True', 'to': "orm['catalogue.Book']"}),
+            'parent_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'pdf_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '120', 'unique': 'True', 'db_index': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'txt_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
+            'wiki_link': ('django.db.models.fields.CharField', [], {'max_length': '240', 'blank': 'True'}),
+            'xml_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'})
+        }
+    }
+
+    complete_apps = ['catalogue']
index c251770..5abf27e 100644 (file)
@@ -95,6 +95,7 @@ class Migration(SchemaMigration):
         },
         'catalogue.bookmedia': {
             'Meta': {'ordering': "('type', 'name')", 'object_name': 'BookMedia'},
+            'extra_info': ('catalogue.fields.JSONField', [], {'default': "'{}'"}),
             'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}),
             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
             'name': ('django.db.models.fields.CharField', [], {'max_length': "'100'", 'blank': 'True'}),
index 5f7eb17..baf00a1 100644 (file)
@@ -8,10 +8,13 @@ from django.utils.translation import ugettext_lazy as _
 from django.contrib.auth.models import User
 from django.core.files import File
 from django.template.loader import render_to_string
+from django.template.defaultfilters import slugify
 from django.utils.safestring import mark_safe
 from django.utils.translation import get_language
 from django.core.urlresolvers import reverse
 
+from django.conf import settings
+
 from newtagging.models import TagBase, tags_updated
 from newtagging import managers
 from catalogue.fields import JSONField
@@ -30,6 +33,12 @@ TAG_CATEGORIES = (
     ('book', _('book')),
 )
 
+MEDIA_FORMATS = (
+    ('odt', _('ODT file')),
+    ('mp3', _('MP3 file')),
+    ('ogg', _('OGG file')),
+    ('daisy', _('DAISY file')), 
+)
 
 class TagSubcategoryManager(models.Manager):
     def __init__(self, subcategory):
@@ -43,7 +52,7 @@ class TagSubcategoryManager(models.Manager):
 class Tag(TagBase):
     name = models.CharField(_('name'), max_length=50, db_index=True)
     slug = models.SlugField(_('slug'), max_length=120, db_index=True)
-    sort_key = models.SlugField(_('sort key'), max_length=120, db_index=True)
+    sort_key = models.CharField(_('sort key'), max_length=120, db_index=True)
     category = models.CharField(_('category'), max_length=50, blank=False, null=False,
         db_index=True, choices=TAG_CATEGORIES)
     description = models.TextField(_('description'), blank=True)
@@ -146,40 +155,78 @@ class Tag(TagBase):
 
 
 # TODO: why is this hard-coded ?
-def book_upload_path(ext):
-    def get_dynamic_path(book, filename):
-        return 'lektura/%s.%s' % (book.slug, ext)
+def book_upload_path(ext=None):
+    def get_dynamic_path(media, filename, ext=ext):
+        # how to put related book's slug here?
+        if not ext:
+            ext = media.type
+        if not media.name:
+            name = slugify(filename.split(".")[0])
+        else:
+            name = slugify(media.name)
+        return 'lektura/%s.%s' % (name, ext)
     return get_dynamic_path
 
 
-class Book(models.Model):
-    title = models.CharField(_('title'), max_length=120)
-    slug = models.SlugField(_('slug'), max_length=120, unique=True, db_index=True)
-    description = models.TextField(_('description'), blank=True)
-    created_at = models.DateTimeField(_('creation date'), auto_now=True)
-    _short_html = models.TextField(_('short HTML'), editable=False)
-    parent_number = models.IntegerField(_('parent number'), default=0)
-    extra_info = JSONField(_('extra information'))
-    gazeta_link = models.CharField(blank=True, max_length=240)
-    wiki_link = models.CharField(blank=True, max_length=240)
+class BookMedia(models.Model):
+    type        = models.CharField(_('type'), choices=MEDIA_FORMATS, max_length="100")
+    name        = models.CharField(_('name'), max_length="100", blank=True)
+    file        = models.FileField(_('file'), upload_to=book_upload_path(), blank=True)
+    uploaded_at = models.DateTimeField(_('creation date'), auto_now_add=True, editable=False)
+    extra_info  = JSONField(_('extra information'), default='{}')
 
+    def __unicode__(self):
+        return "%s (%s)" % (self.name, self.file.name.split("/")[-1])
 
-    # Formats
-    xml_file = models.FileField(_('XML file'), upload_to=book_upload_path('xml'), blank=True)
-    html_file = models.FileField(_('HTML file'), upload_to=book_upload_path('html'), blank=True)
-    pdf_file = models.FileField(_('PDF file'), upload_to=book_upload_path('pdf'), blank=True)
-    epub_file = models.FileField(_('EPUB file'), upload_to=book_upload_path('epub'), blank=True)
-    odt_file = models.FileField(_('ODT file'), upload_to=book_upload_path('odt'), blank=True)
-    txt_file = models.FileField(_('TXT file'), upload_to=book_upload_path('txt'), blank=True)
-    mp3_file = models.FileField(_('MP3 file'), upload_to=book_upload_path('mp3'), blank=True)
-    ogg_file = models.FileField(_('OGG file'), upload_to=book_upload_path('ogg'), blank=True)
-    daisy_file = models.FileField(_('DAISY file'), upload_to=book_upload_path('daisy.zip'), blank=True)
+    class Meta:
+        ordering            = ('type', 'name')
+        verbose_name        = _('book media')
+        verbose_name_plural = _('book media')
+
+    def save(self, force_insert=False, force_update=False):
+        media = super(BookMedia, self).save(force_insert, force_update)
+        if self.type == 'mp3':
+            file = self.file
+            extra_info = self.get_extra_info_value()
+            extra_info.update(self.get_mp3_info())
+            self.set_extra_info_value(extra_info)
+            media = super(BookMedia, self).save(force_insert, force_update)
+        return media
 
-    parent = models.ForeignKey('self', blank=True, null=True, related_name='children')
+    def get_mp3_info(self):
+        """Retrieves artist and director names from audio ID3 tags."""
+        try:
+            audio = id3.ID3(self.file.path)
+            artist_name = ', '.join(', '.join(tag.text) for tag in audio.getall('TPE1'))
+            director_name = ', '.join(', '.join(tag.text) for tag in audio.getall('TPE3'))
+        except:
+            artist_name = director_name = ''
+        return {'artist_name': artist_name, 'director_name': director_name}
 
-    objects = models.Manager()
-    tagged = managers.ModelTaggedItemManager(Tag)
-    tags = managers.TagDescriptor(Tag)
+
+class Book(models.Model):
+    title         = models.CharField(_('title'), max_length=120)
+    slug          = models.SlugField(_('slug'), max_length=120, unique=True, db_index=True)
+    description   = models.TextField(_('description'), blank=True)
+    created_at    = models.DateTimeField(_('creation date'), auto_now_add=True)
+    _short_html   = models.TextField(_('short HTML'), editable=False)
+    parent_number = models.IntegerField(_('parent number'), default=0)
+    extra_info    = JSONField(_('extra information'))
+    gazeta_link   = models.CharField(blank=True, max_length=240)
+    wiki_link     = models.CharField(blank=True, max_length=240)
+    # files generated during publication
+    xml_file      = models.FileField(_('XML file'), upload_to=book_upload_path('xml'), blank=True)
+    html_file     = models.FileField(_('HTML file'), upload_to=book_upload_path('html'), blank=True)
+    pdf_file      = models.FileField(_('PDF file'), upload_to=book_upload_path('pdf'), blank=True)
+    epub_file     = models.FileField(_('EPUB file'), upload_to=book_upload_path('epub'), blank=True)    
+    txt_file      = models.FileField(_('TXT file'), upload_to=book_upload_path('txt'), blank=True)        
+    # other files
+    medias        = models.ManyToManyField(BookMedia, blank=True)
+    
+    parent        = models.ForeignKey('self', blank=True, null=True, related_name='children')
+    objects  = models.Manager()
+    tagged   = managers.ModelTaggedItemManager(Tag)
+    tags     = managers.TagDescriptor(Tag)
 
     _tag_counter = JSONField(null=True, editable=False)
     _theme_counter = JSONField(null=True, editable=False)
@@ -195,7 +242,7 @@ class Book(models.Model):
     def __unicode__(self):
         return self.title
 
-    def save(self, force_insert=False, force_update=False, reset_short_html=True, refresh_mp3=True, **kwargs):
+    def save(self, force_insert=False, force_update=False, reset_short_html=True, **kwargs):
         if reset_short_html:
             # Reset _short_html during save
             update = {}
@@ -205,16 +252,7 @@ class Book(models.Model):
             # Fragment.short_html relies on book's tags, so reset it here too
             self.fragments.all().update(**update)
 
-        book = super(Book, self).save(force_insert, force_update)
-
-        if refresh_mp3 and self.mp3_file:
-            print self.mp3_file, self.mp3_file.path
-            extra_info = self.get_extra_info_value()
-            extra_info.update(self.get_mp3_info())
-            self.set_extra_info_value(extra_info)
-            book = super(Book, self).save(force_insert, force_update)
-
-        return book
+        return super(Book, self).save(force_insert, force_update)
 
     @permalink
     def get_absolute_url(self):
@@ -232,10 +270,68 @@ class Book(models.Model):
         book_tag, created = Tag.objects.get_or_create(slug=slug, category='book')
         if created:
             book_tag.name = self.title[:50]
-            book_tag.sort_key = slug
+            book_tag.sort_key = self.title.lower()
             book_tag.save()
         return book_tag
 
+    def has_media(self, type):
+        if   type == 'xml':
+            if self.xml_file:
+                return True
+            else:
+                return False
+        elif type == 'html':
+            if self.html_file:
+                return True
+            else:
+                return False        
+        elif type == 'txt':
+            if self.txt_file:
+                return True
+            else:
+                return False        
+        elif type == 'pdf':
+            if self.pdf_file:
+                return True
+            else:
+                return False  
+        elif type == 'epub':
+            if self.epub_file:
+                return True
+            else:
+                return False                          
+        else:
+            if self.medias.filter(book=self, type=type).count() > 0:
+                return True
+            else:
+                return False
+
+    def get_media(self, type):
+        if self.has_media(type):
+            if   type == "xml":
+                return self.xml_file
+            elif type == "html":
+                return self.html_file
+            elif type == "epub":
+                return self.html_file                
+            elif type == "txt":
+                return self.txt_file
+            elif type == "pdf":
+                return self.pdf_file
+            else:                                             
+                return self.medias.filter(book=self, type=type)
+        else:
+            return None
+
+    def get_mp3(self):
+        return self.get_media("mp3")
+    def get_odt(self):
+        return self.get_media("odt")
+    def get_ogg(self):
+        return self.get_media("ogg")
+    def get_daisy(self):
+        return self.get_media("daisy")                       
+
     def short_html(self):
         key = '_short_html_%s' % get_language()
         short_html = getattr(self, key)
@@ -247,22 +343,18 @@ class Book(models.Model):
             tags = [mark_safe(u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name)) for tag in tags]
 
             formats = []
-            if self.html_file:
+            # files generated during publication               
+            if self.has_media("html"):
                 formats.append(u'<a href="%s">%s</a>' % (reverse('book_text', kwargs={'slug': self.slug}), _('Read online')))
-            if self.pdf_file:
-                formats.append(u'<a href="%s">PDF</a>' % self.pdf_file.url)
-            if self.root_ancestor.epub_file:
-                formats.append(u'<a href="%s">EPUB</a>' % self.root_ancestor.epub_file.url)
-            if self.odt_file:
-                formats.append(u'<a href="%s">ODT</a>' % self.odt_file.url)
-            if self.txt_file:
-                formats.append(u'<a href="%s">TXT</a>' % self.txt_file.url)
-            if self.mp3_file:
-                formats.append(u'<a href="%s">MP3</a>' % self.mp3_file.url)
-            if self.ogg_file:
-                formats.append(u'<a href="%s">OGG</a>' % self.ogg_file.url)
-            if self.daisy_file:
-                formats.append(u'<a href="%s">DAISY</a>' % self.daisy_file.url)
+            if self.has_media("pdf"):
+                formats.append(u'<a href="%s">PDF</a>' % self.get_media('pdf').url)
+            if self.root_ancestor.has_media("epub"):
+                formats.append(u'<a href="%s">EPUB</a>' % self.root_ancestor.get_media('epub').url)
+            if self.has_media("txt"):
+                formats.append(u'<a href="%s">TXT</a>' % self.get_media('txt').url)
+            # other files
+            for m in self.medias.order_by('type'):
+                formats.append(u'<a href="%s">%s</a>' % (m.file.url, m.type.upper()))
 
             formats = [mark_safe(format) for format in formats]
 
@@ -284,18 +376,12 @@ class Book(models.Model):
         return self._root_ancestor
 
 
-    def get_mp3_info(self):
-        """Retrieves artist and director names from audio ID3 tags."""
-        audio = id3.ID3(self.mp3_file.path)
-        artist_name = ', '.join(', '.join(tag.text) for tag in audio.getall('TPE1'))
-        director_name = ', '.join(', '.join(tag.text) for tag in audio.getall('TPE3'))
-        return {'artist_name': artist_name, 'director_name': director_name}
-
     def has_description(self):
         return len(self.description) > 0
     has_description.short_description = _('description')
     has_description.boolean = True
 
+    # ugly ugly ugly
     def has_pdf_file(self):
         return bool(self.pdf_file)
     has_pdf_file.short_description = 'PDF'
@@ -306,16 +392,36 @@ class Book(models.Model):
     has_epub_file.short_description = 'EPUB'
     has_epub_file.boolean = True
 
-    def has_odt_file(self):
-        return bool(self.odt_file)
-    has_odt_file.short_description = 'ODT'
-    has_odt_file.boolean = True
+    def has_txt_file(self):
+        return bool(self.txt_file)
+    has_txt_file.short_description = 'HTML'
+    has_txt_file.boolean = True
 
     def has_html_file(self):
         return bool(self.html_file)
     has_html_file.short_description = 'HTML'
     has_html_file.boolean = True
 
+    def has_odt_file(self):
+        return bool(self.has_media("odt"))
+    has_odt_file.short_description = 'ODT'
+    has_odt_file.boolean = True
+
+    def has_mp3_file(self):
+        return bool(self.has_media("mp3"))
+    has_mp3_file.short_description = 'MP3'
+    has_mp3_file.boolean = True
+
+    def has_ogg_file(self):
+        return bool(self.has_media("ogg"))
+    has_ogg_file.short_description = 'OGG'
+    has_ogg_file.boolean = True
+    
+    def has_daisy_file(self):
+        return bool(self.has_media("daisy"))
+    has_daisy_file.short_description = 'DAISY'
+    has_daisy_file.boolean = True    
+    
     def build_epub(self, remove_descendants=True):
         """ (Re)builds the epub file.
             If book has a parent, does nothing.
@@ -382,6 +488,17 @@ class Book(models.Model):
         from markupstring import MarkupString
         from django.core.files.storage import default_storage
 
+        # check for parts before we do anything
+        children = []
+        if hasattr(book_info, 'parts'):
+            for part_url in book_info.parts:
+                base, slug = part_url.rsplit('/', 1)
+                try:
+                    children.append(Book.objects.get(slug=slug))
+                except Book.DoesNotExist, e:
+                    raise Book.DoesNotExist(_('Book with slug = "%s" does not exist.') % slug)
+
+
         # Read book metadata
         book_base, book_slug = book_info.url.rsplit('/', 1)
         book, created = Book.objects.get_or_create(slug=book_slug)
@@ -414,7 +531,7 @@ class Book(models.Model):
                 tag, created = Tag.objects.get_or_create(slug=slughifi(tag_name), category=category)
                 if created:
                     tag.name = tag_name
-                    tag.sort_key = slughifi(tag_sort_key)
+                    tag.sort_key = tag_sort_key.lower()
                     tag.save()
                 book_tags.append(tag)
 
@@ -422,16 +539,10 @@ class Book(models.Model):
 
         book_tag = book.book_tag()
 
-        if hasattr(book_info, 'parts'):
-            for n, part_url in enumerate(book_info.parts):
-                base, slug = part_url.rsplit('/', 1)
-                try:
-                    child_book = Book.objects.get(slug=slug)
-                    child_book.parent = book
-                    child_book.parent_number = n
-                    child_book.save()
-                except Book.DoesNotExist, e:
-                    raise Book.DoesNotExist(_('Book with slug = "%s" does not exist.') % slug)
+        for n, child_book in enumerate(children):
+            child_book.parent = book
+            child_book.parent_number = n
+            child_book.save()
 
         # Save XML and HTML files
         book.xml_file.save('%s.xml' % book.slug, raw_file, save=False)
@@ -464,7 +575,7 @@ class Book(models.Model):
                     tag, created = Tag.objects.get_or_create(slug=slughifi(theme_name), category='theme')
                     if created:
                         tag.name = theme_name
-                        tag.sort_key = slughifi(theme_name)
+                        tag.sort_key = theme_name.lower()
                         tag.save()
                     themes.append(tag)
                 if not themes:
@@ -480,9 +591,8 @@ class Book(models.Model):
                 new_fragment.save()
                 new_fragment.tags = set(book_tags + themes + [book_tag] + ancestor_tags)
 
-        if build_epub and not book.parent:
-            print 'epub'
-            book.build_epub(remove_descendants=False)
+        if not settings.NO_BUILD_EPUB and build_epub:
+            book.root_ancestor.build_epub()
 
         book_descendants = list(book.children.all())
         # add l-tag to descendants and their fragments
@@ -490,8 +600,6 @@ class Book(models.Model):
         while len(book_descendants) > 0:
             child_book = book_descendants.pop(0)
             child_book.tags = list(child_book.tags) + [book_tag]
-            if child_book.has_epub_file():
-                child_book.epub_file.delete()
             child_book.save()
             for fragment in child_book.fragments.all():
                 fragment.tags = set(list(fragment.tags) + [book_tag])
@@ -513,12 +621,12 @@ class Book(models.Model):
         for tag in self.tags.exclude(category__in=('book', 'theme', 'set')).order_by():
             tags[tag.pk] = 1
         self.set__tag_counter_value(tags)
-        self.save(reset_short_html=False, refresh_mp3=False)
+        self.save(reset_short_html=False)
         return tags
 
     def reset_tag_counter(self):
         self._tag_counter = None
-        self.save(reset_short_html=False, refresh_mp3=False)
+        self.save(reset_short_html=False)
         if self.parent:
             self.parent.reset_tag_counter()
 
@@ -534,12 +642,12 @@ class Book(models.Model):
             for tag in fragment.tags.filter(category='theme').order_by():
                 tags[tag.pk] = tags.get(tag.pk, 0) + 1
         self.set__theme_counter_value(tags)
-        self.save(reset_short_html=False, refresh_mp3=False)
+        self.save(reset_short_html=False)
         return tags
 
     def reset_theme_counter(self):
         self._theme_counter = None
-        self.save(reset_short_html=False, refresh_mp3=False)
+        self.save(reset_short_html=False)
         if self.parent:
             self.parent.reset_theme_counter()
 
index 70d5fd8..2325137 100644 (file)
@@ -13,6 +13,8 @@ urlpatterns = patterns('catalogue.views',
     url(r'^polki/(?P<slug>[a-zA-Z0-9-]+)/usun/$', 'delete_shelf', name='delete_shelf'),
     url(r'^polki/(?P<slug>[a-zA-Z0-9-]+)\.zip$', 'download_shelf', name='download_shelf'),
     url(r'^lektury/', 'book_list', name='book_list'),
+    url(r'^audiobooki/', 'audiobook_list', name='audiobook_list'),
+    url(r'^daisy/', 'daisy_list', name='daisy_list'),
     url(r'^lektura/(?P<slug>[a-zA-Z0-9-]+)/polki/', 'book_sets', name='book_shelves'),
     url(r'^polki/nowa/$', 'new_set', name='new_set'),
     url(r'^tags/$', 'tags_starting_with', name='hint'),
@@ -20,7 +22,9 @@ urlpatterns = patterns('catalogue.views',
     url(r'^szukaj/$', 'search', name='search'),
 
     # tools
-    url(r'^zegar', 'clock', name='clock'),
+    url(r'^zegar/$', 'clock', name='clock'),
+    url(r'^xmls.zip$', 'xmls', name='xmls'),
+    url(r'^epubs.tar$', 'epubs', name='epubs'),
 
     # Public interface. Do not change this URLs.
     url(r'^lektura/(?P<slug>[a-zA-Z0-9-]+)\.html$', 'book_text', name='book_text'),
index 29bf805..124cd93 100644 (file)
@@ -4,12 +4,14 @@
 #
 import tempfile
 import zipfile
+import tarfile
 import sys
 import pprint
 import traceback
 import re
 import itertools
 from operator import itemgetter
+from datetime import datetime
 
 from django.conf import settings
 from django.template import RequestContext
@@ -29,13 +31,14 @@ from django.utils.http import urlquote_plus
 from django.views.decorators import cache
 from django.utils.translation import ugettext as _
 from django.views.generic.list_detail import object_list
-
+from django.template.defaultfilters import slugify
 from catalogue import models
 from catalogue import forms
 from catalogue.utils import split_tags
 from newtagging import views as newtagging_views
 from pdcounter import models as pdcounter_models
 from pdcounter import views as pdcounter_views
+from slughifi import slughifi
 
 
 staff_required = user_passes_test(lambda user: user.is_staff)
@@ -74,24 +77,32 @@ def main_page(request):
         context_instance=RequestContext(request))
 
 
-def book_list(request):
+def book_list(request, filter=None, template_name='catalogue/book_list.html'):
+    """ generates a listing of all books, optionally filtered with a test function """
+
     form = forms.SearchForm()
 
     books_by_parent = {}
-    for book in models.Book.objects.all().order_by('parent_number'):
-        books_by_parent.setdefault(book.parent, []).append(book)
+    books = models.Book.objects.all().order_by('parent_number', 'title').only('title', 'parent', 'slug')
+    if filter:
+        books = books.filter(filter).distinct()
+        book_ids = set((book.pk for book in books))
+        for book in books:
+            parent = book.parent_id
+            if parent not in book_ids:
+                parent = None
+            books_by_parent.setdefault(parent, []).append(book)
+    else:
+        for book in books:
+            books_by_parent.setdefault(book.parent_id, []).append(book)
 
     orphans = []
     books_by_author = SortedDict()
     books_nav = SortedDict()
     for tag in models.Tag.objects.filter(category='author'):
         books_by_author[tag] = []
-        if books_nav.has_key(tag.sort_key[0]):
-            books_nav[tag.sort_key[0]].append(tag)
-        else:
-            books_nav[tag.sort_key[0]] = [tag]
 
-    for book in books_by_parent[None]:
+    for book in books_by_parent.get(None,()):
         authors = list(book.tags.filter(category='author'))
         if authors:
             for author in authors:
@@ -99,10 +110,24 @@ def book_list(request):
         else:
             orphans.append(book)
 
-    return render_to_response('catalogue/book_list.html', locals(),
+    for tag in books_by_author:
+        if books_by_author[tag]:
+            books_nav.setdefault(tag.sort_key[0], []).append(tag)
+
+    return render_to_response(template_name, locals(),
         context_instance=RequestContext(request))
 
 
+def audiobook_list(request):
+    return book_list(request, Q(medias__type='mp3') | Q(medias__type='ogg'),
+                     template_name='catalogue/audiobook_list.html')
+
+
+def daisy_list(request):
+    return book_list(request, Q(medias__type='daisy'),
+                     template_name='catalogue/daisy_list.html')
+
+
 def differentiate_tags(request, tags, ambiguous_slugs):
     beginning = '/'.join(tag.url_chunk for tag in tags)
     unparsed = '/'.join(ambiguous_slugs[1:])
@@ -234,7 +259,7 @@ def book_detail(request, slug):
     book_tag = book.book_tag()
     tags = list(book.tags.filter(~Q(category='set')))
     categories = split_tags(tags)
-    book_children = book.children.all().order_by('parent_number')
+    book_children = book.children.all().order_by('parent_number', 'title')
     
     _book = book
     parents = []
@@ -310,21 +335,42 @@ def _word_starts_with(name, prefix):
     return Q(**kwargs)
 
 
+def _word_starts_with_regexp(prefix):
+    prefix = _no_diacritics_regexp(unicode_re_escape(prefix))
+    return ur"(^|(?<=[^\wąćęłńóśźżĄĆĘŁŃÓŚŹŻ]))%s" % prefix
+
+
 def _sqlite_word_starts_with(name, prefix):
     """ version of _word_starts_with for SQLite
 
     SQLite in Django uses Python re module
     """
     kwargs = {}
-    prefix = _no_diacritics_regexp(unicode_re_escape(prefix))
-    kwargs['%s__iregex' % name] = ur"(^|(?<=[^\wąćęłńóśźżĄĆĘŁŃÓŚŹŻ]))%s" % prefix
+    kwargs['%s__iregex' % name] = _word_starts_with_regexp(prefix)
     return Q(**kwargs)
 
 
-if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.sqlite3':
+if hasattr(settings, 'DATABASES'):
+    if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.sqlite3':
+        _word_starts_with = _sqlite_word_starts_with
+elif settings.DATABASE_ENGINE == 'sqlite3':
     _word_starts_with = _sqlite_word_starts_with
 
 
+class App():
+    def __init__(self, name, view):
+        self.name = name
+        self._view = view
+        self.lower = name.lower()
+        self.category = 'application'
+    def view(self):
+        return reverse(*self._view)
+
+_apps = (
+    App(u'Leśmianator', (u'lesmianator', )),
+    )
+
+
 def _tags_starting_with(prefix, user=None):
     prefix = prefix.lower()
     # PD counter
@@ -337,7 +383,9 @@ def _tags_starting_with(prefix, user=None):
         tags = tags.filter(~Q(category='book') & (~Q(category='set') | Q(user=user)))
     else:
         tags = tags.filter(~Q(category='book') & ~Q(category='set'))
-    return list(books) + list(tags) + list(book_stubs) + list(authors)
+
+    prefix_regexp = re.compile(_word_starts_with_regexp(prefix))
+    return list(books) + list(tags) + [app for app in _apps if prefix_regexp.search(app.lower)] + list(book_stubs) + list(authors)
 
 
 def _get_result_link(match, tag_list):
@@ -345,6 +393,8 @@ def _get_result_link(match, tag_list):
         return reverse('catalogue.views.tagged_object_list',
             kwargs={'tags': '/'.join(tag.url_chunk for tag in tag_list + [match])}
         )
+    elif isinstance(match, App):
+        return match.view()
     else:
         return match.get_absolute_url()
 
@@ -486,7 +536,7 @@ def book_sets(request, slug):
 
             book.tags = new_shelves + list(book.tags.filter(~Q(category='set') | ~Q(user=request.user)))
             if request.is_ajax():
-                return HttpResponse(_('<p>Shelves were sucessfully saved.</p>'))
+                return JSONResponse('{"msg":"'+_("<p>Shelves were sucessfully saved.</p>")+'", "after":"close"}')
             else:
                 return HttpResponseRedirect('/')
     else:
@@ -557,25 +607,29 @@ def download_shelf(request, slug):
             filename = book.root_ancestor.epub_file.path
             archive.write(filename, str('%s.epub' % book.root_ancestor.slug))
             already.add(book.root_ancestor)
-        if 'odt' in formats and book.odt_file:
-            filename = book.odt_file.path
-            archive.write(filename, str('%s.odt' % book.slug))
+        if 'odt' in formats and book.has_media("odt"):
+            for file in book.get_media("odt"):
+                filename = file.file.path
+                archive.write(filename, str('%s.odt' % slugify(file.name)))
         if 'txt' in formats and book.txt_file:
             filename = book.txt_file.path
             archive.write(filename, str('%s.txt' % book.slug))
-        if 'mp3' in formats and book.mp3_file:
-            filename = book.mp3_file.path
-            archive.write(filename, str('%s.mp3' % book.slug))
-        if 'ogg' in formats and book.ogg_file:
-            filename = book.ogg_file.path
-            archive.write(filename, str('%s.ogg' % book.slug))
-        if 'daisy' in formats and book.daisy_file:
-            filename = book.daisy_file.path
-            archive.write(filename, str('%s.daisy.zip' % book.slug))
+        if 'mp3' in formats and book.has_media("mp3"):
+            for file in book.get_media("mp3"):
+                filename = file.file.path
+                archive.write(filename, str('%s.mp3' % slugify(file.name)))
+        if 'ogg' in formats and book.has_media("ogg"):
+            for file in book.get_media("ogg"):
+                filename = file.file.path
+                archive.write(filename, str('%s.ogg' % slugify(file.name)))
+        if 'daisy' in formats and book.has_media("daisy"):
+            for file in book.get_media("daisy"):
+                filename = file.file.path
+                archive.write(filename, str('%s.daisy' % slugify(file.name)))                                
     archive.close()
 
     response = HttpResponse(content_type='application/zip', mimetype='application/x-zip-compressed')
-    response['Content-Disposition'] = 'attachment; filename=%s.zip' % shelf.sort_key
+    response['Content-Disposition'] = 'attachment; filename=%s.zip' % slughifi(shelf.name)
     response['Content-Length'] = temp.tell()
 
     temp.seek(0)
@@ -620,7 +674,7 @@ def new_set(request):
         new_set = new_set_form.save(request.user)
 
         if request.is_ajax():
-            return HttpResponse(_('<p>Shelf <strong>%s</strong> was successfully created</p>') % new_set)
+            return JSONResponse('{"id":"%d", "name":"%s", "msg":"<p>Shelf <strong>%s</strong> was successfully created</p>"}' % (new_set.id, new_set.name, new_set))
         else:
             return HttpResponseRedirect('/')
 
@@ -705,5 +759,47 @@ def clock(request):
     """ Provides server time for jquery.countdown,
     in a format suitable for Date.parse()
     """
-    from datetime import datetime
     return HttpResponse(datetime.now().strftime('%Y/%m/%d %H:%M:%S'))
+
+
+@cache.never_cache
+def xmls(request):
+    """"
+    Create a zip archive with all XML files.
+    """
+    temp = tempfile.TemporaryFile()
+    archive = zipfile.ZipFile(temp, 'w')
+
+    for book in models.Book.objects.all():
+        archive.write(book.xml_file.path, str('%s.xml' % book.slug))
+    archive.close()
+
+    response = HttpResponse(content_type='application/zip', mimetype='application/x-zip-compressed')
+    response['Content-Disposition'] = 'attachment; filename=xmls.zip'
+    response['Content-Length'] = temp.tell()
+
+    temp.seek(0)
+    response.write(temp.read())
+    return response
+
+
+@cache.never_cache
+def epubs(request):
+    """"
+    Create a tar archive with all EPUB files, segregated to directories.
+    """
+
+    temp = tempfile.TemporaryFile()
+    archive = tarfile.TarFile(fileobj=temp, mode='w')
+
+    for book in models.Book.objects.exclude(epub_file=''):
+        archive.add(book.epub_file.path, (u'%s/%s.epub' % (book.get_extra_info_value()['author'], book.slug)).encode('utf-8'))
+    archive.close()
+
+    response = HttpResponse(content_type='application/tar', mimetype='application/x-tar')
+    response['Content-Disposition'] = 'attachment; filename=epubs.tar'
+    response['Content-Length'] = temp.tell()
+
+    temp.seek(0)
+    response.write(temp.read())
+    return response
diff --git a/apps/lesmianator/management/__init__.py b/apps/lesmianator/management/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/apps/lesmianator/management/commands/__init__.py b/apps/lesmianator/management/commands/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/apps/lesmianator/management/commands/lesmianator.py b/apps/lesmianator/management/commands/lesmianator.py
new file mode 100644 (file)
index 0000000..36d7144
--- /dev/null
@@ -0,0 +1,93 @@
+# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+import sys
+from cPickle import load, dump
+from optparse import make_option
+
+from django.core.management.base import BaseCommand
+from django.core.management.color import color_style
+from django.conf import settings
+
+from catalogue.models import Book, Tag
+
+
+class Command(BaseCommand):
+    option_list = BaseCommand.option_list + (
+        make_option('-t', '--tags', dest='tags', metavar='SLUG,...',
+            help='Use only books tagged with this tags'),
+        make_option('-i', '--include', dest='include', metavar='SLUG,...',
+            help='Include specific books by slug'),
+        make_option('-e', '--exclude', dest='exclude', metavar='SLUG,...',
+            help='Exclude specific books by slug')
+    )
+    help = 'Prepare data for Lesmianator.'
+
+    def handle(self, *args, **options):
+        self.style = color_style()
+        verbose = int(options.get('verbosity'))
+        tags = options.get('tags')
+        include = options.get('include')
+        exclude = options.get('exclude')
+
+        try:
+            path = settings.LESMIANATOR_PICKLE
+        except:
+            print self.style.ERROR('LESMIANATOR_PICKLE not set in the settings.')
+            return
+
+        books = []
+
+        if include:
+            books += list(Book.objects.filter(slug__in=include.split(',')).only('slug', 'txt_file'))
+
+        if tags:
+            books += list(Book.tagged.with_all(Tag.objects.filter(slug__in=tags.split(','))).only('slug', 'txt_file'))
+        elif not include:
+            books = list(Book.objects.all().only('slug', 'txt_file'))
+
+        if exclude:
+            books = [book for book in books if book.slug not in exclude.split(',')]
+
+        books = set(books)
+
+        lesmianator = {}
+        processed = skipped = 0
+        for book in books:
+            if verbose >= 2:
+                print 'Parsing', book.slug
+            if not book.txt_file:
+                if verbose >= 1:
+                    print self.style.NOTICE('%s has no TXT file' % book.slug)
+                skipped += 1
+                continue
+            processed += 1
+            last_word = ''
+            for number, line in enumerate(book.txt_file):
+                if number < 17:
+                    continue
+                line = unicode(line, 'utf-8').lower()
+                for letter in line:
+                    mydict = lesmianator.setdefault(last_word, {})
+                    myval = mydict.setdefault(letter, 0)
+                    mydict[letter] += 1
+                    last_word = last_word[-2:] + letter
+
+        if not processed:
+            if skipped:
+                print self.style.ERROR("No books with TXT files found")
+            else:
+                print self.style.ERROR("No books found")
+            return
+
+        try:
+            dump(lesmianator, open(path, 'w'))
+        except:
+            print self.style.ERROR("Counldn't write to $s" % path)
+            return
+
+        dump(lesmianator, open(path, 'w'))
+        if verbose >= 1:
+            print "%d processed, %d skipped" % (processed, skipped)
+            print "Results dumped do %s" % path 
index 8936772..2d6d53f 100644 (file)
@@ -5,8 +5,6 @@ from django.shortcuts import render_to_response
 from django.template import RequestContext
 from random import randint
 
-import os.path
-
 
 def _choose_word(word):
     try:
@@ -21,8 +19,10 @@ def _choose_word(word):
         return ''
 
 # load dictionary on start, it won't change
+from django.conf import settings
+
 try:
-    f = open(os.path.join(os.path.dirname(__file__), 'dictionary.p'))
+    f = open(settings.LESMIANATOR_PICKLE)
     _dictionary = cPickle.load(f)
 except:
     _dictionary = {}
index 33731f1..0884595 100644 (file)
Binary files a/wolnelektury/locale/de/LC_MESSAGES/django.mo and b/wolnelektury/locale/de/LC_MESSAGES/django.mo differ
index 81947cc..6d616e5 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\n"
 "PO-Revision-Date: 2010-08-25 10:43\n"
 "Last-Translator: <radek.czajka@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -58,7 +58,7 @@ msgstr "Service nicht verfügbar"
 msgid "The Wolnelektury.pl site is currently unavailable due to maintainance."
 msgstr "Wolnelektury.pl wegen Wartungsarbeiten momentan nicht verfügbar."
 
-#: templates/base.html:19
+#: templates/base.html:20
 msgid ""
 "Internet Explorer cannot display this site properly. Click here to read "
 "more..."
@@ -66,40 +66,40 @@ msgstr ""
 "Diese Seite kann nicht richtig im Internet Explorer angezeigt werden. "
 "Klicken Sie hier, um mehr zu lesen..."
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr "Willkommen"
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr "Deine Bücherregale"
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr "Administration"
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38 templates/base.html.py:42
 msgid "Report a bug"
 msgstr ""
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr "Abmelden"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:93
+#: templates/base.html.py:97 templates/auth/login.html:4
 #: templates/auth/login.html.py:7 templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr "Anmelden"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:97
+#: templates/base.html.py:101 templates/auth/login.html:7
 #: templates/auth/login.html.py:21 templates/auth/login.html:23
 msgid "Register"
 msgstr "Registrieren"
 
-#: templates/base.html:69
+#: templates/base.html:70
 msgid ""
 "\n"
 "\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska."
@@ -117,7 +117,7 @@ msgstr ""
 "\t\t\t\tHosting <a href=\"http://eo.pl/\">EO Networks</a>.\n"
 "\t\t\t\t"
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
@@ -133,8 +133,8 @@ msgstr ""
 "\">fundacja@nowoczesnapolska.org.pl</a>\n"
 "\t\t\t\t"
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86 templates/base.html.py:107 templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -146,8 +146,8 @@ msgstr ""
 msgid "Close"
 msgstr "Schliessen"
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109 templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -181,7 +181,7 @@ msgstr "Registrieren"
 #: templates/catalogue/breadcrumbs.html:21
 #: templates/catalogue/main_page.html:13 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
@@ -189,10 +189,10 @@ msgstr "Suchen"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
+#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:14
 #: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
@@ -200,12 +200,22 @@ msgstr "oder"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr "Zur Startseite wechseln"
 
+#: templates/catalogue/audiobook_list.html:6
+#, fuzzy
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr "Werkverzeichnis unter WolneLektury.pl"
+
+#: templates/catalogue/audiobook_list.html:8
+#, fuzzy
+msgid "Listing of all audiobooks"
+msgstr "Werkverzeichnis"
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr "auf  WolneLektury.pl"
@@ -230,83 +240,115 @@ msgstr "aufs Regal!"
 msgid "Read online"
 msgstr "Online lesen"
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr "PDF-Datei herunterladen"
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr "zum Lesen"
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr "drucken mit"
+
+#: templates/catalogue/book_detail.html:51
 msgid "Download EPUB"
 msgstr "EPUB-Datei herunterladen"
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
-msgstr "ODT-Datei herunterladen"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
+msgstr ""
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr "TXT-Datei herunterladen"
 
-#: templates/catalogue/book_detail.html:61
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
+msgstr "auf kleines Display, z. B. Handy"
+
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
+msgstr "ODT-Datei herunterladen"
+
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
+msgstr "bearbeiten mit"
+
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:76
 msgid "Artist"
 msgstr "Liest"
 
-#: templates/catalogue/book_detail.html:63
+#: templates/catalogue/book_detail.html:77
 msgid "Director"
 msgstr "Führt Regie"
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
-msgstr "MP3-Datei herunterladen"
-
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
-msgstr "Ogg Vorbis-Datei herunterladen"
-
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
-msgstr "DAISY10-Datei herunterladen"
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr ""
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr "Details"
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr "Autor"
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr "Epoche"
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr "Art"
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr "Gattung"
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr "Andere Ressourcen"
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr "Schullektüre auf  WikiProjekt"
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr "Buchquelle"
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr "Buchbeschreibung unter Lektury.Gazeta.pl"
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr "Buchbeschreibung auf Wikipedia"
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr "Werkmotive"
 
@@ -389,6 +431,20 @@ msgstr "Inhalt"
 msgid "Themes"
 msgstr "Motive"
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:6
+#, fuzzy
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr "Werkverzeichnis unter WolneLektury.pl"
+
+#: templates/catalogue/daisy_list.html:8
+#, fuzzy
+msgid "Listing of all DAISY files"
+msgstr "Werkverzeichnis"
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
 msgstr ""
@@ -398,16 +454,16 @@ msgid "Show full category"
 msgstr "Alle Kategorien anzeigen"
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45 templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr "mehr"
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr "weniger"
 
@@ -416,7 +472,7 @@ msgid "Shelves containing fragment"
 msgstr "Regale mit Buchauszügen"
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
 msgstr ""
 "Keine neue Bücherregale vorhanden. Wenn du willst, kannst du ein neues "
@@ -438,57 +494,82 @@ msgstr "Buchauszug zuklappen"
 msgid "See in a book"
 msgstr "Werk ansehen"
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
-msgstr "Siehe Bücherliste"
+#: templates/catalogue/main_page.html:14
+msgid "see"
+msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
-msgstr "in unserer Sammlung"
+#: templates/catalogue/main_page.html:16
+#, fuzzy
+msgid "all books"
+msgstr "Buch ablegen"
 
 #: templates/catalogue/main_page.html:17
+msgid "audiobooks"
+msgstr ""
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
+msgstr ""
+
+#: templates/catalogue/main_page.html:23
 msgid "Browse books by categories"
 msgstr "Bücher nach ausgewählten Kategorien ansehen"
 
-#: templates/catalogue/main_page.html:23
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr ""
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr ""
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37 templates/catalogue/main_page.html:45
 #, fuzzy
 msgid "Wolne Lektury Widget"
 msgstr "auf  WolneLektury.pl"
 
-#: templates/catalogue/main_page.html:26
+#: templates/catalogue/main_page.html:38
 msgid ""
 "Place our widget - search engine for Wolne Lektury which gives access to "
 "free books and audiobooks - on your homepage! Just copy the HTML code below "
 "onto your page:"
 msgstr ""
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr ""
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr "Deine Bücherregale"
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr "löschen"
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr "Bücherregal erstellen"
 
-#: templates/catalogue/main_page.html:52
+#: templates/catalogue/main_page.html:64
 msgid ""
 "Create your own book set. You can share it with friends by sending them link "
 "to your shelf."
@@ -496,31 +577,31 @@ msgstr ""
 "Erstelle dein eigenes Bücherregal. Du kannst es später mal mit deinen "
 "Freunden teilen, indem du den Link an sie verschickst."
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr "Um deine Bücherregale zu verwalten "
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr "musst du angemeldet  sein"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr "Bücherregale verwalten"
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68 templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr "Lehrmaterialien"
 
-#: templates/catalogue/main_page.html:57
+#: templates/catalogue/main_page.html:69
 msgid ""
 "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
 msgstr ""
 "Unterrichtsszenarien und andere Ideen für die Verwendung von Wolnelektury.pl "
 "für das Unterricht"
 
-#: templates/catalogue/main_page.html:62
+#: templates/catalogue/main_page.html:74
 msgid ""
 "are professional recordings of literary texts from our repository, available "
 "on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
@@ -529,47 +610,49 @@ msgstr ""
 "unter freier Lizenz in folgenden Formaten verfügbar sind: MP3-und Ogg-Vorbis-"
 "Formate sowie im DAISY-System."
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr "Autoren"
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr "Arten"
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr "Gattungen"
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr "Epochen"
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr "Motive und Themen"
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr "Motivketten"
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr "News"
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr "Siehe unseren Blog"
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr "Du kannst uns helfen!"
 
-#: templates/catalogue/main_page.html:283
+#: templates/catalogue/main_page.html:295
 msgid ""
 "We try our best to elaborate works appended to our library. It is possible "
 "only due to support of our volunteers."
@@ -577,7 +660,7 @@ msgstr ""
 "Wir sind stets bemüht, unseren Bibliothekbestand ständig um neue Werke zu "
 "erweitern. Dies ist nur dank der Hilfe unserer Volontäre möglich."
 
-#: templates/catalogue/main_page.html:284
+#: templates/catalogue/main_page.html:296
 msgid ""
 "We invite people who want to take part in developing Internet school library "
 "Wolne Lektury."
@@ -585,11 +668,12 @@ msgstr ""
 "Wir laden herzlich alle Personen ein, die sich an der Mitgestaltung unserer "
 "Internet-Schulbibliothek beteiligen wollen."
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr "Über das Projekt"
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
 "\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
@@ -664,29 +748,6 @@ msgstr "Alle Bücher aus diesem Regal herunterladen"
 msgid "Choose books' formats which you want to download:"
 msgstr "Wähle Buchformate aus, die du herunterladen möchtest:"
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr "zum Lesen"
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr "drucken mit"
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr "bearbeiten mit"
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr "auf kleines Display, z. B. Handy"
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -798,6 +859,7 @@ msgid "return to the main page"
 msgstr "zur Startseite wechseln"
 
 #: templates/info/join_us.html:2
+#, python-format
 msgid ""
 "We have over 1200 works published in Wolne Lektury!\n"
 "Help us expand the library and set new readings free by\n"
@@ -908,24 +970,24 @@ msgid "This work is copyrighted."
 msgstr "Dieses Werk ist urheberrechtlich geschützt."
 
 #, fuzzy
-#~ msgid "Listing of all audiobooks on WolneLektury.pl"
-#~ msgstr "Werkverzeichnis unter WolneLektury.pl"
+#~ msgid ""
+#~ "Download TXT - for reading on small displays, for example mobile phones"
+#~ msgstr "auf kleines Display, z. B. Handy"
 
-#, fuzzy
-#~ msgid "Listing of all audiobooks"
-#~ msgstr "Werkverzeichnis"
+#~ msgid "Download MP3"
+#~ msgstr "MP3-Datei herunterladen"
 
-#, fuzzy
-#~ msgid "Listing of all DAISY files on WolneLektury.pl"
-#~ msgstr "Werkverzeichnis unter WolneLektury.pl"
+#~ msgid "Download Ogg Vorbis"
+#~ msgstr "Ogg Vorbis-Datei herunterladen"
 
-#, fuzzy
-#~ msgid "Listing of all DAISY files"
-#~ msgstr "Werkverzeichnis"
+#~ msgid "Download DAISY"
+#~ msgstr "DAISY10-Datei herunterladen"
 
-#, fuzzy
-#~ msgid "all books"
-#~ msgstr "Buch ablegen"
+#~ msgid "check list of books"
+#~ msgstr "Siehe Bücherliste"
+
+#~ msgid "in our repository"
+#~ msgstr "in unserer Sammlung"
 
 #~ msgid "Polish"
 #~ msgstr "Polnisch"
index 4e8e9aa..496b3a3 100644 (file)
Binary files a/wolnelektury/locale/en/LC_MESSAGES/django.mo and b/wolnelektury/locale/en/LC_MESSAGES/django.mo differ
index 996432b..79af8fd 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\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"
@@ -51,46 +51,46 @@ msgstr ""
 msgid "The Wolnelektury.pl site is currently unavailable due to maintainance."
 msgstr ""
 
-#: templates/base.html:19
+#: templates/base.html:20
 msgid ""
 "Internet Explorer cannot display this site properly. Click here to read "
 "more..."
 msgstr ""
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr ""
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr ""
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr ""
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38 templates/base.html.py:42
 msgid "Report a bug"
 msgstr ""
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr ""
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:93
+#: templates/base.html.py:97 templates/auth/login.html:4
 #: templates/auth/login.html.py:7 templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr ""
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:97
+#: templates/base.html.py:101 templates/auth/login.html:7
 #: templates/auth/login.html.py:21 templates/auth/login.html:23
 msgid "Register"
 msgstr ""
 
-#: templates/base.html:69
+#: templates/base.html:70
 msgid ""
 "\n"
 "\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska."
@@ -101,7 +101,7 @@ msgid ""
 "\t\t\t\t"
 msgstr ""
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
@@ -111,8 +111,8 @@ msgid ""
 "\t\t\t\t"
 msgstr ""
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86 templates/base.html.py:107 templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -124,8 +124,8 @@ msgstr ""
 msgid "Close"
 msgstr ""
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109 templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -159,7 +159,7 @@ msgstr ""
 #: templates/catalogue/breadcrumbs.html:21
 #: templates/catalogue/main_page.html:13 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
@@ -167,10 +167,10 @@ msgstr ""
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
+#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:14
 #: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
@@ -178,12 +178,20 @@ msgstr ""
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr ""
 
+#: templates/catalogue/audiobook_list.html:6
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr ""
+
+#: templates/catalogue/audiobook_list.html:8
+msgid "Listing of all audiobooks"
+msgstr ""
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr ""
@@ -208,83 +216,115 @@ msgstr ""
 msgid "Read online"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:51
 msgid "Download EPUB"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:61
-msgid "Artist"
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:63
-msgid "Director"
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
+#: templates/catalogue/book_detail.html:76
+msgid "Artist"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:77
+msgid "Director"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr ""
+
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr ""
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr ""
 
@@ -364,6 +404,18 @@ msgstr ""
 msgid "Themes"
 msgstr ""
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:6
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:8
+msgid "Listing of all DAISY files"
+msgstr ""
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
 msgstr ""
@@ -373,16 +425,16 @@ msgid "Show full category"
 msgstr ""
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45 templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr ""
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr ""
 
@@ -391,7 +443,7 @@ msgid "Shelves containing fragment"
 msgstr ""
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
 msgstr ""
 
@@ -411,146 +463,173 @@ msgstr ""
 msgid "See in a book"
 msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
+#: templates/catalogue/main_page.html:14
+msgid "see"
 msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
+#: templates/catalogue/main_page.html:16
+msgid "all books"
 msgstr ""
 
 #: templates/catalogue/main_page.html:17
-msgid "Browse books by categories"
+msgid "audiobooks"
+msgstr ""
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
 msgstr ""
 
 #: templates/catalogue/main_page.html:23
+msgid "Browse books by categories"
+msgstr ""
+
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr ""
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr ""
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37 templates/catalogue/main_page.html:45
 msgid "Wolne Lektury Widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:26
+#: templates/catalogue/main_page.html:38
 msgid ""
 "Place our widget - search engine for Wolne Lektury which gives access to "
 "free books and audiobooks - on your homepage! Just copy the HTML code below "
 "onto your page:"
 msgstr ""
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr ""
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr ""
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr ""
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr ""
 
-#: templates/catalogue/main_page.html:52
+#: templates/catalogue/main_page.html:64
 msgid ""
 "Create your own book set. You can share it with friends by sending them link "
 "to your shelf."
 msgstr ""
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr ""
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr ""
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr ""
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68 templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr ""
 
-#: templates/catalogue/main_page.html:57
+#: templates/catalogue/main_page.html:69
 msgid ""
 "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
 msgstr ""
 
-#: templates/catalogue/main_page.html:62
+#: templates/catalogue/main_page.html:74
 msgid ""
 "are professional recordings of literary texts from our repository, available "
 "on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
 msgstr ""
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr ""
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr ""
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr ""
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr ""
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr ""
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr ""
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr ""
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr ""
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:283
+#: templates/catalogue/main_page.html:295
 msgid ""
 "We try our best to elaborate works appended to our library. It is possible "
 "only due to support of our volunteers."
 msgstr ""
 
-#: templates/catalogue/main_page.html:284
+#: templates/catalogue/main_page.html:296
 msgid ""
 "We invite people who want to take part in developing Internet school library "
 "Wolne Lektury."
 msgstr ""
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr ""
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
 "\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
@@ -612,29 +691,6 @@ msgstr ""
 msgid "Choose books' formats which you want to download:"
 msgstr ""
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr ""
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -740,6 +796,7 @@ msgid "return to the main page"
 msgstr ""
 
 #: templates/info/join_us.html:2
+#, python-format
 msgid ""
 "We have over 1200 works published in Wolne Lektury!\n"
 "Help us expand the library and set new readings free by\n"
index dfe3484..a0fb6c1 100644 (file)
Binary files a/wolnelektury/locale/es/LC_MESSAGES/django.mo and b/wolnelektury/locale/es/LC_MESSAGES/django.mo differ
index ef5796d..1ca5722 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\n"
 "PO-Revision-Date: 2010-08-25 10:49\n"
 "Last-Translator: <radek.czajka@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -57,7 +57,7 @@ msgstr "Servicio no está disponible"
 msgid "The Wolnelektury.pl site is currently unavailable due to maintainance."
 msgstr "La página Wolnelektury.pl no está disponible debido al mantenimiento."
 
-#: templates/base.html:19
+#: templates/base.html:20
 msgid ""
 "Internet Explorer cannot display this site properly. Click here to read "
 "more..."
@@ -65,40 +65,40 @@ msgstr ""
 "Internet Explorer no puede mostrar esta página correctamente. Haz clic aquí "
 "para saber más..."
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr "Bienvenido(a)"
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr "Tus estantes"
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr "Administración"
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38 templates/base.html.py:42
 msgid "Report a bug"
 msgstr ""
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr "Cerrar sesión"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:93
+#: templates/base.html.py:97 templates/auth/login.html:4
 #: templates/auth/login.html.py:7 templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr "Iniciar sesión"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:97
+#: templates/base.html.py:101 templates/auth/login.html:7
 #: templates/auth/login.html.py:21 templates/auth/login.html:23
 msgid "Register"
 msgstr "Registrarse"
 
-#: templates/base.html:69
+#: templates/base.html:70
 msgid ""
 "\n"
 "\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska."
@@ -116,7 +116,7 @@ msgstr ""
 "\t\t\t\tHosting <a href=\"http://eo.pl/\">EO Networks</a>.\n"
 "\t\t\t\t "
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
@@ -132,8 +132,8 @@ msgstr ""
 "\">fundacja@nowoczesnapolska.org.pl</a>\n"
 "\t\t\t\t"
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86 templates/base.html.py:107 templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -145,8 +145,8 @@ msgstr ""
 msgid "Close"
 msgstr "Cerrar"
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109 templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -180,7 +180,7 @@ msgstr "Registrarse en"
 #: templates/catalogue/breadcrumbs.html:21
 #: templates/catalogue/main_page.html:13 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
@@ -188,10 +188,10 @@ msgstr "Buscar"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
+#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:14
 #: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
@@ -199,12 +199,22 @@ msgstr "o"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr "volver a la página principal"
 
+#: templates/catalogue/audiobook_list.html:6
+#, fuzzy
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr "Lista de las obras en WolneLektury.pl"
+
+#: templates/catalogue/audiobook_list.html:8
+#, fuzzy
+msgid "Listing of all audiobooks"
+msgstr "Lista de las obras"
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr "en WolneLektury.pl"
@@ -229,83 +239,115 @@ msgstr "en el estante!"
 msgid "Read online"
 msgstr "Leer online"
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr "Descargar PDF"
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr "para leer"
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr "e imprimir"
+
+#: templates/catalogue/book_detail.html:51
 msgid "Download EPUB"
 msgstr "Descargar EPUB"
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
-msgstr "Descargar ODT"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
+msgstr ""
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr "Descargar TXT"
 
-#: templates/catalogue/book_detail.html:61
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
+msgstr "en pantallas pequeñas como las de teléfonos móviles"
+
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
+msgstr "Descargar ODT"
+
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
+msgstr "y editar"
+
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:76
 msgid "Artist"
 msgstr "Artista"
 
-#: templates/catalogue/book_detail.html:63
+#: templates/catalogue/book_detail.html:77
 msgid "Director"
 msgstr "Director"
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
-msgstr "Descargar MP3"
-
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
-msgstr "Descargar Ogg Vorbis"
-
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
-msgstr "Descargar DAISY"
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr ""
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr "Detalles"
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr "Autor"
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr "Época"
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr "Género"
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr "Subgénero"
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr "Otros recursos"
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr "Libro en wiki del proyecto"
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr "Fuente del libro"
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr "Descripción del libro en Lektury.Gazeta.pl"
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr "Descripción del libro en Wikipedia"
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr "Temas de la obra"
 
@@ -386,6 +428,20 @@ msgstr "Índice"
 msgid "Themes"
 msgstr "Temas"
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:6
+#, fuzzy
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr "Lista de las obras en WolneLektury.pl"
+
+#: templates/catalogue/daisy_list.html:8
+#, fuzzy
+msgid "Listing of all DAISY files"
+msgstr "Lista de las obras"
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
 msgstr ""
@@ -395,16 +451,16 @@ msgid "Show full category"
 msgstr "Mostrar toda la categoría"
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45 templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr "Ver más"
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr "Esconder"
 
@@ -413,7 +469,7 @@ msgid "Shelves containing fragment"
 msgstr "Estentes que contienen este fragmento"
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
 msgstr "No tienes ningún estante. Puedes crear uno abajo si quieres."
 
@@ -433,57 +489,82 @@ msgstr "Esconder este fragmento"
 msgid "See in a book"
 msgstr "Ver en el libro"
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
-msgstr "Verificar la lista de libros"
+#: templates/catalogue/main_page.html:14
+msgid "see"
+msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
-msgstr "en nuestra colección"
+#: templates/catalogue/main_page.html:16
+#, fuzzy
+msgid "all books"
+msgstr "¡Poner un libro"
 
 #: templates/catalogue/main_page.html:17
+msgid "audiobooks"
+msgstr ""
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
+msgstr ""
+
+#: templates/catalogue/main_page.html:23
 msgid "Browse books by categories"
 msgstr "Mirar los libros según categoría"
 
-#: templates/catalogue/main_page.html:23
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr ""
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr ""
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37 templates/catalogue/main_page.html:45
 #, fuzzy
 msgid "Wolne Lektury Widget"
 msgstr "en WolneLektury.pl"
 
-#: templates/catalogue/main_page.html:26
+#: templates/catalogue/main_page.html:38
 msgid ""
 "Place our widget - search engine for Wolne Lektury which gives access to "
 "free books and audiobooks - on your homepage! Just copy the HTML code below "
 "onto your page:"
 msgstr ""
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr ""
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr "Tus estantes con libros"
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr "borrar"
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr "Crear un estante"
 
-#: templates/catalogue/main_page.html:52
+#: templates/catalogue/main_page.html:64
 msgid ""
 "Create your own book set. You can share it with friends by sending them link "
 "to your shelf."
@@ -491,30 +572,30 @@ msgstr ""
 "Crea tu propia colección de libros. Puedes compartirla con tus amigos "
 "enviándoles el enlace a tu estante."
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr "Tienes que"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr "iniciar la sesión"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr "para organizar tus estantes."
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68 templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr "Materiales para los profesores"
 
-#: templates/catalogue/main_page.html:57
+#: templates/catalogue/main_page.html:69
 msgid ""
 "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
 msgstr ""
 "Esquemas de clases y otras ideas para usar WolneLektury.pl en la enseñanza."
 
-#: templates/catalogue/main_page.html:62
+#: templates/catalogue/main_page.html:74
 msgid ""
 "are professional recordings of literary texts from our repository, available "
 "on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
@@ -522,47 +603,49 @@ msgstr ""
 "son grabaciones profesionales de textos literarios de nuestro depósito. "
 "Están disponibles gratis en formatos MP3, Ogg Vorbis y en el sistema DAISY. "
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr "Autores"
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr "Géneros"
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr "Subgéneros"
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr "Épocas"
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr "Temas y motivos"
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr "Grupos de temas"
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr "Noticias"
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr "Ver nuestro blog"
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr "¡Puedes ayudarnos!"
 
-#: templates/catalogue/main_page.html:283
+#: templates/catalogue/main_page.html:295
 msgid ""
 "We try our best to elaborate works appended to our library. It is possible "
 "only due to support of our volunteers."
@@ -571,7 +654,7 @@ msgstr ""
 "mayor perfección. Esto es posible sólo gracias al apoyo de nuestros "
 "voluntarios."
 
-#: templates/catalogue/main_page.html:284
+#: templates/catalogue/main_page.html:296
 msgid ""
 "We invite people who want to take part in developing Internet school library "
 "Wolne Lektury."
@@ -579,11 +662,12 @@ msgstr ""
 "Invitamos a todos quienes quieren formar parte en el desarrollo de la "
 "biblioteca virtual de Wolne Lektury."
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr "Sobre nosotros"
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
 "\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
@@ -659,29 +743,6 @@ msgstr "Descargar todos los libros de este estante"
 msgid "Choose books' formats which you want to download:"
 msgstr "Elige formatos de los libros que quieres descargar:"
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr "para leer"
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr "e imprimir"
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr "y editar"
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr "en pantallas pequeñas como las de teléfonos móviles"
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -790,6 +851,7 @@ msgid "return to the main page"
 msgstr "volver a la página principal"
 
 #: templates/info/join_us.html:2
+#, python-format
 msgid ""
 "We have over 1200 works published in Wolne Lektury!\n"
 "Help us expand the library and set new readings free by\n"
@@ -898,24 +960,24 @@ msgid "This work is copyrighted."
 msgstr "Esta obra está protegida por los derechos de autor."
 
 #, fuzzy
-#~ msgid "Listing of all audiobooks on WolneLektury.pl"
-#~ msgstr "Lista de las obras en WolneLektury.pl"
+#~ msgid ""
+#~ "Download TXT - for reading on small displays, for example mobile phones"
+#~ msgstr "en pantallas pequeñas como las de teléfonos móviles"
 
-#, fuzzy
-#~ msgid "Listing of all audiobooks"
-#~ msgstr "Lista de las obras"
+#~ msgid "Download MP3"
+#~ msgstr "Descargar MP3"
 
-#, fuzzy
-#~ msgid "Listing of all DAISY files on WolneLektury.pl"
-#~ msgstr "Lista de las obras en WolneLektury.pl"
+#~ msgid "Download Ogg Vorbis"
+#~ msgstr "Descargar Ogg Vorbis"
 
-#, fuzzy
-#~ msgid "Listing of all DAISY files"
-#~ msgstr "Lista de las obras"
+#~ msgid "Download DAISY"
+#~ msgstr "Descargar DAISY"
 
-#, fuzzy
-#~ msgid "all books"
-#~ msgstr "¡Poner un libro"
+#~ msgid "check list of books"
+#~ msgstr "Verificar la lista de libros"
+
+#~ msgid "in our repository"
+#~ msgstr "en nuestra colección"
 
 #~ msgid "Polish"
 #~ msgstr "polaco"
index 8b9e196..17cb8b7 100644 (file)
Binary files a/wolnelektury/locale/fr/LC_MESSAGES/django.mo and b/wolnelektury/locale/fr/LC_MESSAGES/django.mo differ
index 6091db5..83c8375 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\n"
 "PO-Revision-Date: 2010-08-07 20:23+0100\n"
 "Last-Translator: Natalia Kertyczak <natalczyk@o2.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -58,7 +58,7 @@ msgstr ""
 "Le site Wolnelektury.pl est temporairement inaccessible en raison "
 "d'opérations de maintenance."
 
-#: templates/base.html:19
+#: templates/base.html:20
 msgid ""
 "Internet Explorer cannot display this site properly. Click here to read "
 "more..."
@@ -66,40 +66,40 @@ msgstr ""
 "Internet Explorer ne peut pas afficher ce site correctement. Cliquer ici "
 "pour en savoir plus..."
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr "Bienvenue"
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr "Vos étagères"
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr "Administration"
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38 templates/base.html.py:42
 msgid "Report a bug"
 msgstr ""
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr "Déconnexion"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:93
+#: templates/base.html.py:97 templates/auth/login.html:4
 #: templates/auth/login.html.py:7 templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr "Connexion"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:97
+#: templates/base.html.py:101 templates/auth/login.html:7
 #: templates/auth/login.html.py:21 templates/auth/login.html:23
 msgid "Register"
 msgstr "Créer un compte"
 
-#: templates/base.html:69
+#: templates/base.html:70
 #, fuzzy
 msgid ""
 "\n"
@@ -118,7 +118,7 @@ msgstr ""
 "\t\t\t\tHosting <a href=\"http://eo.pl/\">EO Networks</a>.\n"
 "\t\t\t\t"
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
@@ -134,8 +134,8 @@ msgstr ""
 "\">fundacja@nowoczesnapolska.org.pl</a>\n"
 "\t\t\t\t"
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86 templates/base.html.py:107 templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -147,8 +147,8 @@ msgstr ""
 msgid "Close"
 msgstr "Fermer"
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109 templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -182,7 +182,7 @@ msgstr "Régistrer sur"
 #: templates/catalogue/breadcrumbs.html:21
 #: templates/catalogue/main_page.html:13 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
@@ -190,10 +190,10 @@ msgstr "Chercher"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
+#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:14
 #: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
@@ -201,12 +201,21 @@ msgstr "ou"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr "retour à l'accueil"
 
+#: templates/catalogue/audiobook_list.html:6
+#, fuzzy
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr "Liste alphabétique des oeuvres sur WolneLektury.pl"
+
+#: templates/catalogue/audiobook_list.html:8
+msgid "Listing of all audiobooks"
+msgstr ""
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr "sur WolneLektury.pl"
@@ -231,84 +240,116 @@ msgstr "sur l'étagère"
 msgid "Read online"
 msgstr "Lire en ligne"
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr "Télécharger un fichier PDF"
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr "pour lire"
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr "et imprimer avec"
+
+#: templates/catalogue/book_detail.html:51
 #, fuzzy
 msgid "Download EPUB"
 msgstr "Télécharger un fichier PDF"
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
-msgstr "Télécharger un fichier ODT"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
+msgstr ""
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr "Télécharger un fichier TXT"
 
-#: templates/catalogue/book_detail.html:61
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
+msgstr "sur petits écrans, par exemple téléphones portables"
+
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
+msgstr "Télécharger un fichier ODT"
+
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
+msgstr "et rédiger avec"
+
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:76
 msgid "Artist"
 msgstr "Artiste"
 
-#: templates/catalogue/book_detail.html:63
+#: templates/catalogue/book_detail.html:77
 msgid "Director"
 msgstr "Metteur en scène"
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
-msgstr "Télécharger un fichier MP3"
-
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
-msgstr "Télécharger un fichier Ogg Vorbis"
-
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
-msgstr "Télécharger un fichier DAISY"
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr ""
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr "Détails"
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr "Auteur"
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr "Epoque"
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr "Type"
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr "Genre"
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr "Autres ressources"
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr "Le livre sur le wiki du projet"
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr "Source du livre"
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr "Description du livre sur Lektury.Gazeta.pl"
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr "Description du livre sur Wikipédia"
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr "Les thèmes de l'oeuvre"
 
@@ -393,6 +434,19 @@ msgstr "Tables des matières"
 msgid "Themes"
 msgstr "Thèmes"
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:6
+#, fuzzy
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr "Liste alphabétique des oeuvres sur WolneLektury.pl"
+
+#: templates/catalogue/daisy_list.html:8
+msgid "Listing of all DAISY files"
+msgstr ""
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
 msgstr ""
@@ -402,16 +456,16 @@ msgid "Show full category"
 msgstr "Montrer la catégorie entière"
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45 templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr "Voir plus"
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr "Cacher"
 
@@ -420,7 +474,7 @@ msgid "Shelves containing fragment"
 msgstr "Etagères qui contiennent l'extrait"
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
 msgstr ""
 "Vous ne possédez aucune étagère. Vous pouvez en créer une au-dessous, si "
@@ -442,57 +496,82 @@ msgstr "Cacher l'extrait"
 msgid "See in a book"
 msgstr "Voir dans le livre"
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
-msgstr "consultation de la liste des livres"
+#: templates/catalogue/main_page.html:14
+msgid "see"
+msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
-msgstr "dans notre répertoire"
+#: templates/catalogue/main_page.html:16
+#, fuzzy
+msgid "all books"
+msgstr "Mettre le livre"
 
 #: templates/catalogue/main_page.html:17
+msgid "audiobooks"
+msgstr ""
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
+msgstr ""
+
+#: templates/catalogue/main_page.html:23
 msgid "Browse books by categories"
 msgstr "Regarder les livres selon catégories"
 
-#: templates/catalogue/main_page.html:23
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr ""
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr ""
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37 templates/catalogue/main_page.html:45
 #, fuzzy
 msgid "Wolne Lektury Widget"
 msgstr "sur WolneLektury.pl"
 
-#: templates/catalogue/main_page.html:26
+#: templates/catalogue/main_page.html:38
 msgid ""
 "Place our widget - search engine for Wolne Lektury which gives access to "
 "free books and audiobooks - on your homepage! Just copy the HTML code below "
 "onto your page:"
 msgstr ""
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr ""
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr "Vos étagères avec les livres"
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr "supprimer"
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr "Créer une étagère"
 
-#: templates/catalogue/main_page.html:52
+#: templates/catalogue/main_page.html:64
 msgid ""
 "Create your own book set. You can share it with friends by sending them link "
 "to your shelf."
@@ -500,30 +579,30 @@ msgstr ""
 "Créer votre propre choix des livres. Vous pouvez les partager avec les amis "
 "en leur envoyant le lien à votre étagère."
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr "Vous devez "
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr "vous connecter"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr "pour gérer vos étagères."
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68 templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr "Fiches pour les enseignants"
 
-#: templates/catalogue/main_page.html:57
+#: templates/catalogue/main_page.html:69
 msgid ""
 "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
 msgstr ""
 "Plans des leçons et autres idées pour utiliser Wolnelektury.pl à enseigner."
 
-#: templates/catalogue/main_page.html:62
+#: templates/catalogue/main_page.html:74
 msgid ""
 "are professional recordings of literary texts from our repository, available "
 "on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
@@ -532,47 +611,49 @@ msgstr ""
 "répertoire, accessibles gratuitment au format MP3 et Ogg Vorbis ainsi que "
 "dans le système DAISY."
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr "Auteurs"
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr "Types"
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr "Genres"
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr "Epoques"
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr "Thèmes et sujets"
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr "Groupes des thèmes"
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr "Actualités"
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr "Voir notre blog"
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr "Vous pouvez nous aider"
 
-#: templates/catalogue/main_page.html:283
+#: templates/catalogue/main_page.html:295
 msgid ""
 "We try our best to elaborate works appended to our library. It is possible "
 "only due to support of our volunteers."
@@ -580,7 +661,7 @@ msgstr ""
 "Nous essayons de rédiger les oeuvres ajoutées à notre bibliothèque le mieux "
 "possible. C'est possible grâce à l'aide des nos bénévoles."
 
-#: templates/catalogue/main_page.html:284
+#: templates/catalogue/main_page.html:296
 msgid ""
 "We invite people who want to take part in developing Internet school library "
 "Wolne Lektury."
@@ -588,11 +669,12 @@ msgstr ""
 "Nous invitons ceux qui veulent participer au développement du bibliothèque "
 "en ligne Lectures Libres."
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr "Qui sommes-nous?"
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
 "\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
@@ -669,29 +751,6 @@ msgstr "Télécharger tous les livres de cette étagère"
 msgid "Choose books' formats which you want to download:"
 msgstr "Choisir le format du livre à télécharger:"
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr "pour lire"
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr "et imprimer avec"
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr "et rédiger avec"
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr "sur petits écrans, par exemple téléphones portables"
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -803,6 +862,7 @@ msgid "return to the main page"
 msgstr "retour à l'accueil"
 
 #: templates/info/join_us.html:2
+#, python-format
 msgid ""
 "We have over 1200 works published in Wolne Lektury!\n"
 "Help us expand the library and set new readings free by\n"
@@ -913,16 +973,9 @@ msgid "This work is copyrighted."
 msgstr "Cette oeuvre est protégée par le droit d'auteur"
 
 #, fuzzy
-#~ msgid "Listing of all audiobooks on WolneLektury.pl"
-#~ msgstr "Liste alphabétique des oeuvres sur WolneLektury.pl"
-
-#, fuzzy
-#~ msgid "Listing of all DAISY files on WolneLektury.pl"
-#~ msgstr "Liste alphabétique des oeuvres sur WolneLektury.pl"
-
-#, fuzzy
-#~ msgid "all books"
-#~ msgstr "Mettre le livre"
+#~ msgid ""
+#~ "Download TXT - for reading on small displays, for example mobile phones"
+#~ msgstr "sur petits écrans, par exemple téléphones portables"
 
 #~ msgid "Polish"
 #~ msgstr "polonais"
@@ -957,6 +1010,21 @@ msgstr "Cette oeuvre est protégée par le droit d'auteur"
 #~ msgid "Hide description"
 #~ msgstr "Cacher la description"
 
+#~ msgid "Download MP3"
+#~ msgstr "Télécharger un fichier MP3"
+
+#~ msgid "Download Ogg Vorbis"
+#~ msgstr "Télécharger un fichier Ogg Vorbis"
+
+#~ msgid "Download DAISY"
+#~ msgstr "Télécharger un fichier DAISY"
+
+#~ msgid "check list of books"
+#~ msgstr "consultation de la liste des livres"
+
+#~ msgid "in our repository"
+#~ msgstr "dans notre répertoire"
+
 #~ msgid "Read study of epoch"
 #~ msgstr "Lire l'étude de l'époque"
 
index 809dee6..4c7c03e 100644 (file)
Binary files a/wolnelektury/locale/lt/LC_MESSAGES/django.mo and b/wolnelektury/locale/lt/LC_MESSAGES/django.mo differ
index 24cdc9b..b57c1c5 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\n"
 "PO-Revision-Date: 2010-09-16 22:39+0100\n"
 "Last-Translator: Alicja Sinkiewicz <alicja.sinkiewicz@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -57,7 +57,7 @@ msgstr ""
 "Servisas Laisvojiliteratura.lt pastaruoju metu yra neprieinamas del "
 "konservavimo darbų"
 
-#: templates/base.html:19
+#: templates/base.html:20
 msgid ""
 "Internet Explorer cannot display this site properly. Click here to read "
 "more..."
@@ -65,40 +65,40 @@ msgstr ""
 "Internet Explorer nie sugeba teisingai parodyti šio tinklapio. Paspausti "
 "čia, kad sužinoti daugiau..."
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr "Sveikiname"
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr "Tavo lentynos"
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr "Administracija "
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38 templates/base.html.py:42
 msgid "Report a bug"
 msgstr ""
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr "Atsijungti"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:93
+#: templates/base.html.py:97 templates/auth/login.html:4
 #: templates/auth/login.html.py:7 templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr "Prisijungti  "
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:97
+#: templates/base.html.py:101 templates/auth/login.html:7
 #: templates/auth/login.html.py:21 templates/auth/login.html:23
 msgid "Register"
 msgstr "Registruotis "
 
-#: templates/base.html:69
+#: templates/base.html:70
 #, fuzzy
 msgid ""
 "\n"
@@ -117,7 +117,7 @@ msgstr ""
 "Tautinės Bibliotekos.\n"
 "Hosting <a href=\"http://eo.pl/\">EO Networks</a>."
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
@@ -134,8 +134,8 @@ msgstr ""
 "125, tel/fax: (22) 621-30-17, e-mail: <a href=\"mailto:"
 "fundacja@nowoczesnapolska.org.pl\">fundacja@nowoczesnapolska.org.pl</a>"
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86 templates/base.html.py:107 templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -147,8 +147,8 @@ msgstr ""
 msgid "Close"
 msgstr "Uždaryk "
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109 templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -182,7 +182,7 @@ msgstr "Registruotis į"
 #: templates/catalogue/breadcrumbs.html:21
 #: templates/catalogue/main_page.html:13 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
@@ -190,10 +190,10 @@ msgstr "ieškojimas"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
+#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:14
 #: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
@@ -201,12 +201,22 @@ msgstr "arba"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr "gryžk į pagrindinį puslapį"
 
+#: templates/catalogue/audiobook_list.html:6
+#, fuzzy
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr "Kūriniu sąrašas LaisvojiLiteratura.lt"
+
+#: templates/catalogue/audiobook_list.html:8
+#, fuzzy
+msgid "Listing of all audiobooks"
+msgstr "Kūriniu sąrašas"
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr "LaisvojiLiteratura.lt"
@@ -231,83 +241,115 @@ msgstr "į lentyną!"
 msgid "Read online"
 msgstr "Skaityk online"
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr "atsisiųsk PDF failą"
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr "į skaitimą"
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr "ir spausdinti su pagalbą"
+
+#: templates/catalogue/book_detail.html:51
 msgid "Download EPUB"
 msgstr "atsisiųsk EPUB failą"
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
-msgstr "atsisiųsk ODT failą"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
+msgstr ""
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr "atsisiųsk TXT failą"
 
-#: templates/catalogue/book_detail.html:61
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
+msgstr "ant displėjaus, pvz. mobilaus telefono "
+
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
+msgstr "atsisiųsk ODT failą"
+
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
+msgstr "ir edituoti su pagalbą "
+
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:76
 msgid "Artist"
 msgstr "artistas"
 
-#: templates/catalogue/book_detail.html:63
+#: templates/catalogue/book_detail.html:77
 msgid "Director"
 msgstr "vadovas"
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
-msgstr "atsisiųsk MP3 failą"
-
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
-msgstr "atsisiųsk Ogg Vorbis failą"
-
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
-msgstr "atsisiųsk DAISY failą"
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr ""
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr "detalės "
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr "Autorius"
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr "Gadynė"
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr "Rūšis  "
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr "Padermė "
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr "Kitose vietose"
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr "Sukurk straipsnį apie knygą vikiprojekte"
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr "Literaturos šaltinis"
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr "Literaturos aprašymas Lektury.Gazeta.pl"
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr "Literaturos aprašymas Vikipedijoje"
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr "Kūrinio motyvai"
 
@@ -391,6 +433,19 @@ msgstr "Turinys"
 msgid "Themes"
 msgstr "Motyai"
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:6
+#, fuzzy
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr "Kūriniu sąrašas LaisvojiLiteratura.lt"
+
+#: templates/catalogue/daisy_list.html:8
+msgid "Listing of all DAISY files"
+msgstr ""
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
 msgstr ""
@@ -400,16 +455,16 @@ msgid "Show full category"
 msgstr "Apžiūrek visą kategoriją"
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45 templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr "Apžiūrėk daugiau"
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr "Suvyniok"
 
@@ -418,7 +473,7 @@ msgid "Shelves containing fragment"
 msgstr "Lentynos turinčios fragmentus "
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
 msgstr ""
 "Neturi nei vienos lentynos. Jeigu nori gali žemiau sukurti naują lentyną."
@@ -439,57 +494,82 @@ msgstr "Suvyniok fragmentą"
 msgid "See in a book"
 msgstr "Surask knygoje"
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
-msgstr "patikrink knygų sąrašą"
+#: templates/catalogue/main_page.html:14
+msgid "see"
+msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
-msgstr "mūsų knygų rinkiny"
+#: templates/catalogue/main_page.html:16
+#, fuzzy
+msgid "all books"
+msgstr "Prijung literatūrą"
 
 #: templates/catalogue/main_page.html:17
+msgid "audiobooks"
+msgstr ""
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
+msgstr ""
+
+#: templates/catalogue/main_page.html:23
 msgid "Browse books by categories"
 msgstr "Peržiurinek literaturą pagal išrinktą kategoriją"
 
-#: templates/catalogue/main_page.html:23
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr ""
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr ""
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37 templates/catalogue/main_page.html:45
 #, fuzzy
 msgid "Wolne Lektury Widget"
 msgstr "LaisvojiLiteratura.lt"
 
-#: templates/catalogue/main_page.html:26
+#: templates/catalogue/main_page.html:38
 msgid ""
 "Place our widget - search engine for Wolne Lektury which gives access to "
 "free books and audiobooks - on your homepage! Just copy the HTML code below "
 "onto your page:"
 msgstr ""
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr ""
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr "Tavo lentynos su literatura"
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr "pašalink"
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr "Sukurk lentyną"
 
-#: templates/catalogue/main_page.html:52
+#: templates/catalogue/main_page.html:64
 msgid ""
 "Create your own book set. You can share it with friends by sending them link "
 "to your shelf."
@@ -497,31 +577,31 @@ msgstr ""
 "Sukurk savo knygų rinkiny. Gali juo veliau pasidalinti su kitais, persiūsk "
 "jiems nuorodą i tavo lentyną."
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr "Gali"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr "Prisijungti  "
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr "Kad valdti savo lentynom."
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68 templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr "Pagalbinės medžiagos mokytojams"
 
-#: templates/catalogue/main_page.html:57
+#: templates/catalogue/main_page.html:69
 msgid ""
 "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
 msgstr ""
 "Pamokų scenarijai ir kiti sumanymai kaip panaudoti servisą "
 "LaisvojiLiteratura.lt mokslui."
 
-#: templates/catalogue/main_page.html:62
+#: templates/catalogue/main_page.html:74
 msgid ""
 "are professional recordings of literary texts from our repository, available "
 "on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
@@ -529,47 +609,49 @@ msgstr ""
 "Tai profesjonalus literaturinių tekstų garso įrašai, mūsų rinkinių laisvai "
 "prieinami šiuose įrašymo formatouse: MP3, Ogg Vorbis ir sistema DAISY."
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr "Autoriai"
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr "Rušys"
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr "Padermės "
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr "Gadynės"
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr "Motyvai ir temos"
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr "Motyvų grupė"
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr "žinios"
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr "Aplankyk mūsų blogą"
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr "Gali mums padėti!"
 
-#: templates/catalogue/main_page.html:283
+#: templates/catalogue/main_page.html:295
 msgid ""
 "We try our best to elaborate works appended to our library. It is possible "
 "only due to support of our volunteers."
@@ -577,7 +659,7 @@ msgstr ""
 "Dėka savanorių apršymai kūriniu, kurie yra prijungemi i mūsų biblioteką yra "
 "kiekvieną kartą kruopščiai paruošti"
 
-#: templates/catalogue/main_page.html:284
+#: templates/catalogue/main_page.html:296
 msgid ""
 "We invite people who want to take part in developing Internet school library "
 "Wolne Lektury."
@@ -585,11 +667,12 @@ msgstr ""
 "Kviečiame visus, kurie nori kartu su mumi kurti mokykline internetine "
 "biblioteką Laisvoji Literatura."
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr "Apie projektą"
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
 "\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
@@ -663,29 +746,6 @@ msgstr "Persisiųsk visas knygas iš šios lentynos"
 msgid "Choose books' formats which you want to download:"
 msgstr "Pasirink knygos persiuntimo formatą:"
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr "į skaitimą"
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr "ir spausdinti su pagalbą"
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr "ir edituoti su pagalbą "
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr "ant displėjaus, pvz. mobilaus telefono "
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -796,6 +856,7 @@ msgid "return to the main page"
 msgstr "sugryžk į pagrindinį puslapį "
 
 #: templates/info/join_us.html:2
+#, fuzzy, python-format
 msgid ""
 "We have over 1200 works published in Wolne Lektury!\n"
 "Help us expand the library and set new readings free by\n"
@@ -903,20 +964,9 @@ msgid "This work is copyrighted."
 msgstr "Šis kūrinis apimtas autoriaus teisę."
 
 #, fuzzy
-#~ msgid "Listing of all audiobooks on WolneLektury.pl"
-#~ msgstr "Kūriniu sąrašas LaisvojiLiteratura.lt"
-
-#, fuzzy
-#~ msgid "Listing of all audiobooks"
-#~ msgstr "Kūriniu sąrašas"
-
-#, fuzzy
-#~ msgid "Listing of all DAISY files on WolneLektury.pl"
-#~ msgstr "Kūriniu sąrašas LaisvojiLiteratura.lt"
-
-#, fuzzy
-#~ msgid "all books"
-#~ msgstr "Prijung literatūrą"
+#~ msgid ""
+#~ "Download TXT - for reading on small displays, for example mobile phones"
+#~ msgstr "ant displėjaus, pvz. mobilaus telefono "
 
 #~ msgid "Polish"
 #~ msgstr "Lenkų"
@@ -951,6 +1001,21 @@ msgstr "Šis kūrinis apimtas autoriaus teisę."
 #~ msgid "Hide description"
 #~ msgstr "Suvyniok aprašymą "
 
+#~ msgid "Download MP3"
+#~ msgstr "atsisiųsk MP3 failą"
+
+#~ msgid "Download Ogg Vorbis"
+#~ msgstr "atsisiųsk Ogg Vorbis failą"
+
+#~ msgid "Download DAISY"
+#~ msgstr "atsisiųsk DAISY failą"
+
+#~ msgid "check list of books"
+#~ msgstr "patikrink knygų sąrašą"
+
+#~ msgid "in our repository"
+#~ msgstr "mūsų knygų rinkiny"
+
 #~ msgid "Read study of epoch"
 #~ msgstr "Perskaityk gadynės aprašymą"
 
index b13270a..5a0659b 100644 (file)
Binary files a/wolnelektury/locale/pl/LC_MESSAGES/django.mo and b/wolnelektury/locale/pl/LC_MESSAGES/django.mo differ
index be5fb40..815f546 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
-"PO-Revision-Date: 2010-10-01 15:33+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\n"
+"PO-Revision-Date: 2011-01-05 13:02+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -17,122 +17,112 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Translated-Using: django-rosetta 0.5.6\n"
 
-#: templates/404.html:6 templates/404.html.py:15
+#: templates/404.html:6
+#: templates/404.html.py:15
 msgid "Page does not exist"
 msgstr "Podana strona nie istnieje"
 
 #: templates/404.html:17
-msgid ""
-"We are sorry, but this page does not exist. Please check if you entered "
-"correct address or go to "
-msgstr ""
-"Przepraszamy, ale ta strona nie istnieje. Sprawdź czy podałeś dobry adres, "
-"lub przejdź do"
+msgid "We are sorry, but this page does not exist. Please check if you entered correct address or go to "
+msgstr "Przepraszamy, ale ta strona nie istnieje. Sprawdź czy podałeś dobry adres, lub przejdź do"
 
 #: templates/404.html:17
 msgid "main page"
 msgstr "strony głównej"
 
-#: templates/500.html:6 templates/500.html.py:54
+#: templates/500.html:6
+#: templates/500.html.py:54
 msgid "Server error"
 msgstr "Błąd serwera"
 
 #: templates/500.html:55
-msgid ""
-"<p>The Wolnelektury.pl site is currently unavailable. Meanwhile, visit our "
-"<a href='http://nowoczesnapolska.org.pl'>blog</a>.</p> <p>Inform our <a "
-"href='mailto:fundacja@nowoczesnapolska.org.pl'>administrators</a> about the "
-"error.</p>"
+msgid "<p>The Wolnelektury.pl site is currently unavailable. Meanwhile, visit our <a href='http://nowoczesnapolska.org.pl'>blog</a>.</p> <p>Inform our <a href='mailto:fundacja@nowoczesnapolska.org.pl'>administrators</a> about the error.</p>"
 msgstr ""
-"<p>Serwis Wolnelektury.pl jest chwilowo niedostępny. Odwiedź naszego <a "
-"href='http://nowoczesnapolska.org.pl'>bloga</a></p>\n"
-"<p>Powiadom <a href='mailto:fundacja@nowoczesnapolska.org."
-"pl'>administratorów</a> o błędzie.</p>"
+"<p>Serwis Wolnelektury.pl jest chwilowo niedostępny. Odwiedź naszego <a href='http://nowoczesnapolska.org.pl'>bloga</a></p>\n"
+"<p>Powiadom <a href='mailto:fundacja@nowoczesnapolska.org.pl'>administratorów</a> o błędzie.</p>"
 
-#: templates/503.html:6 templates/503.html.py:54
+#: templates/503.html:6
+#: templates/503.html.py:54
 msgid "Service unavailable"
 msgstr "Serwis niedostępny"
 
 #: templates/503.html:56
 msgid "The Wolnelektury.pl site is currently unavailable due to maintainance."
-msgstr ""
-"Serwis Wolnelektury.pl jest obecnie niedostępny z powodu prac "
-"konserwacyjnych."
+msgstr "Serwis Wolnelektury.pl jest obecnie niedostępny z powodu prac konserwacyjnych."
 
-#: templates/base.html:19
-msgid ""
-"Internet Explorer cannot display this site properly. Click here to read "
-"more..."
-msgstr ""
-"Internet Explorer nie potrafi poprawnie wyświetlić tej strony. Kliknij "
-"tutaj, aby dowiedzieć się więcej..."
+#: templates/base.html:20
+msgid "Internet Explorer cannot display this site properly. Click here to read more..."
+msgstr "Internet Explorer nie potrafi poprawnie wyświetlić tej strony. Kliknij tutaj, aby dowiedzieć się więcej..."
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr "Witaj"
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr "Twoje półki"
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr "Administracja"
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38
+#: templates/base.html.py:42
 msgid "Report a bug"
 msgstr "Zgłoś błąd"
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr "Wyloguj"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
-#: templates/auth/login.html.py:7 templates/auth/login.html:12
+#: templates/base.html:43
+#: templates/base.html.py:89
+#: templates/base.html:93
+#: templates/base.html.py:97
+#: templates/auth/login.html:4
+#: templates/auth/login.html.py:7
+#: templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr "Zaloguj się"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
-#: templates/auth/login.html.py:21 templates/auth/login.html:23
+#: templates/base.html:43
+#: templates/base.html.py:89
+#: templates/base.html:97
+#: templates/base.html.py:101
+#: templates/auth/login.html:7
+#: templates/auth/login.html.py:21
+#: templates/auth/login.html:23
 msgid "Register"
 msgstr "Załóż konto"
 
-#: templates/base.html:69
+#: templates/base.html:70
 msgid ""
 "\n"
-"\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska."
-"org.pl/\">Modern Poland Foundation</a>.\n"
-"\t\t\t\tDigital reproductions are made by <a href=\"http://www.bn.org.pl/"
-"\">The National Library</a>, based on TNL resources.\n"
+"\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska.org.pl/\">Modern Poland Foundation</a>.\n"
+"\t\t\t\tDigital reproductions are made by <a href=\"http://www.bn.org.pl/\">The National Library</a>, based on TNL resources.\n"
 "\t\t\t\tHosting <a href=\"http://eo.pl/\">EO Networks</a>.\n"
 "\t\t\t\t"
 msgstr ""
 "\n"
-"Wolne Lektury to projekt prowadzony przez <a href=\"http://nowoczesnapolska."
-"org.pl/\">Fundację Nowoczesna Polska</a>. \n"
-"Reprodukcje cyfrowe wykonane przez <a href=\"http://www.bn.org.pl/"
-"\">Bibliotekę Narodową</a> z egzemplarzy pochodzących ze zbiorów BN.\n"
+"Wolne Lektury to projekt prowadzony przez <a href=\"http://nowoczesnapolska.org.pl/\">Fundację Nowoczesna Polska</a>. \n"
+"Reprodukcje cyfrowe wykonane przez <a href=\"http://www.bn.org.pl/\">Bibliotekę Narodową</a> z egzemplarzy pochodzących ze zbiorów BN.\n"
 "Hosting <a href=\"http://eo.pl/\">EO Networks</a>. "
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
-"\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
-"lok. 125, tel/fax: (22) 621-30-17\n"
-"                e-mail: <a href=\"mailto:fundacja@nowoczesnapolska.org.pl"
-"\">fundacja@nowoczesnapolska.org.pl</a>\n"
+"\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 lok. 125, tel/fax: (22) 621-30-17\n"
+"                e-mail: <a href=\"mailto:fundacja@nowoczesnapolska.org.pl\">fundacja@nowoczesnapolska.org.pl</a>\n"
 "\t\t\t\t"
 msgstr ""
 "\n"
-"Fundacja Nowoczesna Polska, 00-514 Warszawa, ul. Marszałkowska 84/92 lok. "
-"125, tel/fax: (22) 621-30-17, e-mail: <a href=\"mailto:"
-"fundacja@nowoczesnapolska.org.pl\">fundacja@nowoczesnapolska.org.pl</a>"
+"Fundacja Nowoczesna Polska, 00-514 Warszawa, ul. Marszałkowska 84/92 lok. 125, tel/fax: (22) 621-30-17, e-mail: <a href=\"mailto:fundacja@nowoczesnapolska.org.pl\">fundacja@nowoczesnapolska.org.pl</a>"
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86
+#: templates/base.html.py:107
+#: templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -144,8 +134,9 @@ msgstr ""
 msgid "Close"
 msgstr "Zamknij"
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109
+#: templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -157,7 +148,8 @@ msgstr "Zamknij"
 msgid "Loading"
 msgstr "Ładowanie"
 
-#: templates/admin/base_site.html:4 templates/admin/base_site.html.py:7
+#: templates/admin/base_site.html:4
+#: templates/admin/base_site.html.py:7
 msgid "Site administration"
 msgstr "Administracja stroną"
 
@@ -173,37 +165,51 @@ msgstr "Importuj książkę"
 msgid "Register on"
 msgstr "Zarejestruj się w"
 
-#: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
+#: templates/auth/login.html:9
+#: templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
 #: templates/catalogue/book_list.html:12
 #: templates/catalogue/breadcrumbs.html:21
-#: templates/catalogue/main_page.html:13 templates/info/base.html:10
+#: templates/catalogue/main_page.html:13
+#: templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
 msgstr "Szukaj"
 
-#: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
+#: templates/auth/login.html:9
+#: templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
-#: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
+#: templates/catalogue/book_list.html:12
+#: templates/catalogue/main_page.html:14
+#: templates/catalogue/tagged_object_list.html:44
+#: templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
 msgstr "lub"
 
-#: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
+#: templates/auth/login.html:9
+#: templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr "wróć do strony głównej"
 
+#: templates/catalogue/audiobook_list.html:6
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr "Spis wszystkich audiobooków w WolneLektury.pl"
+
+#: templates/catalogue/audiobook_list.html:8
+msgid "Listing of all audiobooks"
+msgstr "Spis wszystkich audiobooków"
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr "w WolneLektury.pl"
@@ -228,83 +234,115 @@ msgstr "na półkę!"
 msgid "Read online"
 msgstr "Czytaj online"
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr "Pobierz plik PDF"
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr "do czytania"
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr "i drukowania przy pomocy"
+
+#: templates/catalogue/book_detail.html:51
 msgid "Download EPUB"
 msgstr "Pobierz plik EPUB"
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
-msgstr "Pobierz plik ODT"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
+msgstr "na urządzeniach mobilnych"
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr "Pobierz plik TXT"
 
-#: templates/catalogue/book_detail.html:61
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
+msgstr "na małych ekranach, np. na komórce"
+
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
+msgstr "Pobierz plik ODT"
+
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
+msgstr "i edytowania przy pomocy"
+
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
+msgstr "Audiobooki"
+
+#: templates/catalogue/book_detail.html:76
 msgid "Artist"
 msgstr "Czyta"
 
-#: templates/catalogue/book_detail.html:63
+#: templates/catalogue/book_detail.html:77
 msgid "Director"
 msgstr "Reżyseruje"
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
-msgstr "Pobierz plik MP3"
-
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
-msgstr "Pobierz plik Ogg Vorbis"
-
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
-msgstr "Pobierz plik DAISY"
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr "Audiobooki przygotowane w ramach projektu %(cs)s."
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr "O utworze"
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr "Autor"
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr "Epoka"
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr "Rodzaj"
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr "Gatunek"
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr "W innych miejscach"
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr "Lektura na wiki projektu"
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr "Źródło lektury"
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr "Opis lektury w Lektury.Gazeta.pl"
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr "Opis lektury w Wikipedii"
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr "Źródłowy plik XML"
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr "Motywy w utworze"
 
@@ -354,18 +392,18 @@ msgstr "↑ góra ↑"
 msgid "Put a book on the shelf!"
 msgstr "Wrzuć lekturę na półkę!"
 
-#: templates/catalogue/book_sets.html:3 templates/catalogue/book_sets.html:6
+#: templates/catalogue/book_sets.html:3
+#: templates/catalogue/book_sets.html:6
 #: templates/catalogue/fragment_sets.html:16
 msgid "Create new shelf"
 msgstr "Utwórz nową półkę"
 
 #: templates/catalogue/book_sets.html:10
 msgid "You do not have any shelves. You can create one below, if you want to."
-msgstr ""
-"Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć nową półkę "
-"poniżej."
+msgstr "Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć nową półkę poniżej."
 
-#: templates/catalogue/book_sets.html:15 templates/catalogue/book_short.html:4
+#: templates/catalogue/book_sets.html:15
+#: templates/catalogue/book_short.html:4
 msgid "Put on the shelf!"
 msgstr "Wrzuć na półkę"
 
@@ -386,27 +424,38 @@ msgstr "Spis treści"
 msgid "Themes"
 msgstr "Motywy"
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr "Nota red."
+
+#: templates/catalogue/daisy_list.html:6
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr "Spis wszystkich plików DAISY w WolneLektury.pl"
+
+#: templates/catalogue/daisy_list.html:8
+msgid "Listing of all DAISY files"
+msgstr "Spis wszystkich plików DAISY"
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
-msgstr ""
-"Podane kryteria są niejednoznaczne. Proszę wybrać jedną z następujących "
-"możliwości:"
+msgstr "Podane kryteria są niejednoznaczne. Proszę wybrać jedną z następujących możliwości:"
 
 #: templates/catalogue/folded_tag_list.html:4
 msgid "Show full category"
 msgstr "Zobacz całą kategorię"
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45
+#: templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr "Zobacz więcej"
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr "Zwiń"
 
@@ -415,11 +464,9 @@ msgid "Shelves containing fragment"
 msgstr "Półki zawierające fragment"
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
-msgstr ""
-"Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć nową półkę "
-"poniżej."
+msgstr "Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć nową półkę poniżej."
 
 #: templates/catalogue/fragment_sets.html:9
 msgid "Save all shelves"
@@ -437,175 +484,170 @@ msgstr "Zwiń fragment"
 msgid "See in a book"
 msgstr "Zobacz w utworze"
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
-msgstr "zobacz spis utworów"
+#: templates/catalogue/main_page.html:14
+msgid "see"
+msgstr "zobacz"
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
-msgstr "w naszym zbiorze"
+#: templates/catalogue/main_page.html:16
+msgid "all books"
+msgstr "wszystkie utwory"
 
 #: templates/catalogue/main_page.html:17
+msgid "audiobooks"
+msgstr "audiobooki"
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
+msgstr "daisy"
+
+#: templates/catalogue/main_page.html:23
 msgid "Browse books by categories"
 msgstr "Przeglądaj lektury według wybranych kategorii"
 
-#: templates/catalogue/main_page.html:23
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr "Lektury na każdy poziom edukacji"
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr "szkoła podstawowa"
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr "gimnazjum"
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr "szkoła średnia"
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37
+#: templates/catalogue/main_page.html:45
 msgid "Wolne Lektury Widget"
 msgstr "Widżet Wolne Lektury"
 
-#: templates/catalogue/main_page.html:26
-msgid ""
-"Place our widget - search engine for Wolne Lektury which gives access to "
-"free books and audiobooks - on your homepage! Just copy the HTML code below "
-"onto your page:"
-msgstr ""
-"Umieść widżet – wyszukiwarkę Wolnych Lektur umożliwiającą dostęp do "
-"darmowych lektur i audiobooków – na swojej stronie WWW! Po prostu skopiuj "
-"poniższy kod HTML na swoją stronę:"
+#: templates/catalogue/main_page.html:38
+msgid "Place our widget - search engine for Wolne Lektury which gives access to free books and audiobooks - on your homepage! Just copy the HTML code below onto your page:"
+msgstr "Umieść widżet – wyszukiwarkę Wolnych Lektur umożliwiającą dostęp do darmowych lektur i audiobooków – na swojej stronie WWW! Po prostu skopiuj poniższy kod HTML na swoją stronę:"
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr "Umieść ten element w miejscu gdzie chcesz wyświetlić widżet"
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr "Umieść ten element tuż przed zamknięciem taga body: &lt;/body&gt;"
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr "Twoje półki z lekturami"
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr "usuń"
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr "Utwórz półkę"
 
-#: templates/catalogue/main_page.html:52
-msgid ""
-"Create your own book set. You can share it with friends by sending them link "
-"to your shelf."
-msgstr ""
-"Stwórz własny zestaw lektur. Możesz się nim później podzielić z innymi, "
-"przesyłając im link do Twojej półki."
+#: templates/catalogue/main_page.html:64
+msgid "Create your own book set. You can share it with friends by sending them link to your shelf."
+msgstr "Stwórz własny zestaw lektur. Możesz się nim później podzielić z innymi, przesyłając im link do Twojej półki."
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr "Aby zarządzać swoimi półkami, musisz się"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr "zalogować"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr "."
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68
+#: templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr "Materiały pomocnicze dla nauczycieli"
 
-#: templates/catalogue/main_page.html:57
-msgid ""
-"Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
-msgstr ""
-"Scenariusze lekcji i inne pomysły na wykorzytanie serwisu WolneLektury.pl "
-"podczas nauczania."
+#: templates/catalogue/main_page.html:69
+msgid "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
+msgstr "Scenariusze lekcji i inne pomysły na wykorzytanie serwisu WolneLektury.pl podczas nauczania."
 
-#: templates/catalogue/main_page.html:62
-msgid ""
-"are professional recordings of literary texts from our repository, available "
-"on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
-msgstr ""
-"to profesjonalne nagrania tekstów literackich z naszego zbioru dostępne na "
-"wolnej licencji w formatach MP3, Ogg Vorbis oraz w systemie DAISY."
+#: templates/catalogue/main_page.html:74
+msgid "are professional recordings of literary texts from our repository, available on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
+msgstr "to profesjonalne nagrania tekstów literackich z naszego zbioru dostępne na wolnej licencji w formatach MP3, Ogg Vorbis oraz w systemie DAISY."
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr "Autorzy"
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr "Rodzaje"
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr "Gatunki"
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr "Epoki"
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr "Motywy i tematy"
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr "Rodziny motywów"
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr "Aktualności"
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr "Zobacz nasz blog"
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr "Możesz nam pomóc!"
 
-#: templates/catalogue/main_page.html:283
-msgid ""
-"We try our best to elaborate works appended to our library. It is possible "
-"only due to support of our volunteers."
-msgstr ""
-"Utwory włączane sukcesywnie do naszej biblioteki staramy się opracowywać jak "
-"najdokładniej. Jest to możliwe tylko dzięki współpracującym z nami "
-"wolontariuszom."
+#: templates/catalogue/main_page.html:295
+msgid "We try our best to elaborate works appended to our library. It is possible only due to support of our volunteers."
+msgstr "Utwory włączane sukcesywnie do naszej biblioteki staramy się opracowywać jak najdokładniej. Jest to możliwe tylko dzięki współpracującym z nami wolontariuszom."
 
-#: templates/catalogue/main_page.html:284
-msgid ""
-"We invite people who want to take part in developing Internet school library "
-"Wolne Lektury."
-msgstr ""
-"Zapraszamy wszystkie osoby, które chcą współtworzyć szkolną bibliotekę "
-"internetową Wolne Lektury."
+#: templates/catalogue/main_page.html:296
+msgid "We invite people who want to take part in developing Internet school library Wolne Lektury."
+msgstr "Zapraszamy wszystkie osoby, które chcą współtworzyć szkolną bibliotekę internetową Wolne Lektury."
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr "O projekcie"
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
-"\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
-"\"http://wolnelektury.pl\">www.wolnelektury.pl</a>) is a project made by "
-"Modern Poland Foundation. It started in 2007 and shares school readings, "
-"which are recommended by Ministry of National Education and are in public "
-"domain.\n"
+"\t\t\tInternet library with school readings “Wolne Lektury” (<a href=\"http://wolnelektury.pl\">www.wolnelektury.pl</a>) is a project made by Modern Poland Foundation. It started in 2007 and shares school readings, which are recommended by Ministry of National Education and are in public domain.\n"
 "\t\t\t"
 msgstr ""
 "\n"
-"Biblioteka internetowa z lekturami szkolnymi „Wolne Lektury” (<a href="
-"\"http://wolnelektury.pl\">www.wolnelektury.pl</a>) to projekt realizowany "
-"przez Fundację Nowoczesna Polska. Działa od 2007 roku i udostępnia w swoich "
-"zbiorach lektury szkolne, które są zalecane do użytku przez Ministerstwo "
-"Edukacji Narodowej i które trafiły już do domeny publicznej."
+"Biblioteka internetowa z lekturami szkolnymi „Wolne Lektury” (<a href=\"http://wolnelektury.pl\">www.wolnelektury.pl</a>) to projekt realizowany przez Fundację Nowoczesna Polska. Działa od 2007 roku i udostępnia w swoich zbiorach lektury szkolne, które są zalecane do użytku przez Ministerstwo Edukacji Narodowej i które trafiły już do domeny publicznej."
 
 #: templates/catalogue/search_multiple_hits.html:5
 #: templates/catalogue/search_too_short.html:5
@@ -627,13 +669,9 @@ msgstr "Przepraszamy! Brak wyników spełniających kryteria podane w zapytaniu.
 
 #: templates/catalogue/search_no_hits.html:16
 msgid ""
-"Search engine supports following criteria: title, author, theme/topic, "
-"epoch, kind and genre.\n"
+"Search engine supports following criteria: title, author, theme/topic, epoch, kind and genre.\n"
 "\t\tAs for now we do not support full text search."
-msgstr ""
-"Wyszukiwarka obsługuje takie kryteria jak tytuł, autor, motyw/temat, epoka, "
-"rodzaj i gatunek utworu. Obecnie nie obsługujemy wyszukiwania fraz w "
-"tekstach utworów."
+msgstr "Wyszukiwarka obsługuje takie kryteria jak tytuł, autor, motyw/temat, epoka, rodzaj i gatunek utworu. Obecnie nie obsługujemy wyszukiwania fraz w tekstach utworów."
 
 #: templates/catalogue/search_too_short.html:14
 msgid "Sorry! Search query must have at least two characters."
@@ -648,12 +686,8 @@ msgid "Your shelf is empty"
 msgstr "Twoja półka jest pusta"
 
 #: templates/catalogue/tagged_object_list.html:16
-msgid ""
-"You can put a book on a shelf by entering page of the reading and clicking "
-"'Put on the shelf'."
-msgstr ""
-"Możesz wrzucić książkę na półkę, wchodząc na stronę danej lektury i klikając "
-"na przycisk „Na półkę!”."
+msgid "You can put a book on a shelf by entering page of the reading and clicking 'Put on the shelf'."
+msgstr "Możesz wrzucić książkę na półkę, wchodząc na stronę danej lektury i klikając na przycisk „Na półkę!”."
 
 #: templates/catalogue/tagged_object_list.html:32
 msgid "Download all books from this shelf"
@@ -663,29 +697,6 @@ msgstr "Pobierz wszystkie książki z tej półki"
 msgid "Choose books' formats which you want to download:"
 msgstr "Wybierz formaty książek, które chcesz pobrać:"
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr "do czytania"
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr "i drukowania przy pomocy"
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr "na urządzeniach mobilnych"
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr "i edytowania przy pomocy"
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr "na małych ekranach, np. na komórce"
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -722,11 +733,8 @@ msgid "Share this shelf"
 msgstr "Podziel się tą półką"
 
 #: templates/catalogue/tagged_object_list.html:51
-msgid ""
-"Copy this link and share it with other people to let them see your shelf."
-msgstr ""
-"Skopiuj ten link i przekaż go osobom, z którymi chcesz się podzielić tą "
-"półką."
+msgid "Copy this link and share it with other people to let them see your shelf."
+msgstr "Skopiuj ten link i przekaż go osobom, z którymi chcesz się podzielić tą półką."
 
 #: templates/catalogue/tagged_object_list.html:61
 #: templates/pdcounter/author_detail.html:25
@@ -741,14 +749,12 @@ msgstr "Przeczytaj omówienia z epoki %(last_tag)s w serwisie Lektury.Gazeta.pl"
 #: templates/catalogue/tagged_object_list.html:65
 #, python-format
 msgid "Read study of kind %(last_tag)s on Lektury.Gazeta.pl"
-msgstr ""
-"Przeczytaj omówienia z rodzaju %(last_tag)s w serwisie Lektury.Gazeta.pl"
+msgstr "Przeczytaj omówienia z rodzaju %(last_tag)s w serwisie Lektury.Gazeta.pl"
 
 #: templates/catalogue/tagged_object_list.html:67
 #, python-format
 msgid "Read study of genre %(last_tag)s on Lektury.Gazeta.pl"
-msgstr ""
-"Przeczytaj omówienia z gatunku %(last_tag)s w serwisie Lektury.Gazeta.pl"
+msgstr "Przeczytaj omówienia z gatunku %(last_tag)s w serwisie Lektury.Gazeta.pl"
 
 #: templates/catalogue/tagged_object_list.html:69
 msgid "Read related study on Lektury.Gazeta.pl"
@@ -788,8 +794,7 @@ msgstr "usuń"
 
 #: templates/catalogue/user_shelves.html:10
 msgid "You do not own any shelves. You can create one below if you want to"
-msgstr ""
-"Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć półkę poniżej."
+msgstr "Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć półkę poniżej."
 
 #: templates/info/base.html:10
 msgid "return to the main page"
@@ -801,13 +806,10 @@ msgid ""
 "Help us expand the library and set new readings free by\n"
 "<a href=\"http://nowoczesnapolska.org.pl/wesprzyj_nas/\">making a donation\n"
 "or transferring 1% of your income tax</a>."
-msgstr ""
-"W serwisie Wolne Lektury już teraz opublikowanych jest ponad 1200 utworów! "
-"Pomóż w rozwijaniu biblioteki i uwalnianiu nowych lektur <a href=\"http://"
-"nowoczesnapolska.org.pl/wesprzyj_nas/\">przekazując nam darowiznę lub 1% "
-"podatku</a>."
+msgstr "W serwisie Wolne Lektury już teraz opublikowanych jest ponad 1200 utworów! Pomóż w rozwijaniu biblioteki i uwalnianiu nowych lektur <a href=\"http://nowoczesnapolska.org.pl/wesprzyj_nas/\">przekazując nam darowiznę lub 1% podatku</a>."
 
-#: templates/info/join_us.html:6 templates/info/join_us.html.py:11
+#: templates/info/join_us.html:6
+#: templates/info/join_us.html.py:11
 msgid "More..."
 msgstr "Więcej..."
 
@@ -816,10 +818,7 @@ msgid ""
 "Become an editor of Wolne Lektury! Find out if\n"
 "we're currently working on a reading you're looking for and prepare\n"
 "a publication by yourself by logging into the Editorial Platform."
-msgstr ""
-"Zostań redaktorem lub redaktorką Wolnych Lektur! Sprawdź, czy obecnie "
-"pracujemy nad publikacją wyszukiwanej przez ciebie lektury i samodzielnie "
-"przygotuj publikację logując się na Platformie Redakcyjnej."
+msgstr "Zostań redaktorem lub redaktorką Wolnych Lektur! Sprawdź, czy obecnie pracujemy nad publikacją wyszukiwanej przez ciebie lektury i samodzielnie przygotuj publikację logując się na Platformie Redakcyjnej."
 
 #: templates/lessons/ajax_document_detail.html:3
 #: templates/lessons/document_detail.html:13
@@ -850,112 +849,64 @@ msgstr "Dzieła tego autora objęte są prawem autorskim."
 
 #: templates/pdcounter/author_detail.html:36
 #: templates/pdcounter/author_detail.html:44
-msgid ""
-"<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Find out</"
-"a> why Internet libraries can't publish this author's works."
-msgstr ""
-"<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Dowiedz "
-"się</a>, dlaczego biblioteki internetowe nie mogą udostępniać dzieł tego "
-"autora."
+msgid "<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Find out</a> why Internet libraries can't publish this author's works."
+msgstr "<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Dowiedz się</a>, dlaczego biblioteki internetowe nie mogą udostępniać dzieł tego autora."
 
 #: templates/pdcounter/author_detail.html:39
-msgid ""
-"This author's works are in public domain and will be published on Internet "
-"school library of Wolne Lektury soon."
-msgstr ""
-"Dzieła tego autora znajdują się w domenie publicznej i niedługo zostaną "
-"opublikowane w szkolnej bibliotece internetowej Wolne Lektury."
+msgid "This author's works are in public domain and will be published on Internet school library of Wolne Lektury soon."
+msgstr "Dzieła tego autora znajdują się w domenie publicznej i niedługo zostaną opublikowane w szkolnej bibliotece internetowej Wolne Lektury."
 
 #: templates/pdcounter/author_detail.html:42
-msgid ""
-"This author's works will become part of public domain and will be allowed to "
-"be published without restrictions in"
-msgstr ""
-"Dzieła tego autora przejdą do zasobów domeny publicznej i będą mogły być "
-"publikowane bez żadnych ograniczeń za"
+msgid "This author's works will become part of public domain and will be allowed to be published without restrictions in"
+msgstr "Dzieła tego autora przejdą do zasobów domeny publicznej i będą mogły być publikowane bez żadnych ograniczeń za"
 
 #: templates/pdcounter/book_stub_detail.html:16
-msgid ""
-"This work is in public domain and will be published on Internet school "
-"library of Wolne Lektury soon."
-msgstr ""
-"To dzieło znajduje się w domenie publicznej i niedługo zostanie opublikowane "
-"w szkolnej bibliotece internetowej Wolne Lektury."
+msgid "This work is in public domain and will be published on Internet school library of Wolne Lektury soon."
+msgstr "To dzieło znajduje się w domenie publicznej i niedługo zostanie opublikowane w szkolnej bibliotece internetowej Wolne Lektury."
 
 #: templates/pdcounter/book_stub_detail.html:19
-msgid ""
-"This work will become part of public domain and will be allowed to be "
-"published without restrictions in"
-msgstr ""
-"To dzieło przejdzie do zasobów domeny publicznej i będzie mogło być "
-"publikowane bez żadnych ograniczeń za"
+msgid "This work will become part of public domain and will be allowed to be published without restrictions in"
+msgstr "To dzieło przejdzie do zasobów domeny publicznej i będzie mogło być publikowane bez żadnych ograniczeń za"
 
 #: templates/pdcounter/book_stub_detail.html:21
 #: templates/pdcounter/book_stub_detail.html:24
-msgid ""
-"<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Find out</"
-"a> why Internet libraries can't publish this work."
-msgstr ""
-"<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Dowiedz "
-"się</a>, dlaczego biblioteki internetowe nie mogą udostępniać tego dzieła."
+msgid "<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Find out</a> why Internet libraries can't publish this work."
+msgstr "<a href='http://domenapubliczna.org/co-to-jest-domena-publiczna/'>Dowiedz się</a>, dlaczego biblioteki internetowe nie mogą udostępniać tego dzieła."
 
 #: templates/pdcounter/book_stub_detail.html:23
 msgid "This work is copyrighted."
 msgstr "To dzieło objęte jest prawem autorskim."
 
-#~ msgid "Listing of all audiobooks on WolneLektury.pl"
-#~ msgstr "Spis wszystkich audiobooków w WolneLektury.pl"
-
-#~ msgid "Listing of all audiobooks"
-#~ msgstr "Spis wszystkich audiobooków"
-
-#~ msgid "Listing of all DAISY files on WolneLektury.pl"
-#~ msgstr "Spis wszystkich plików DAISY w WolneLektury.pl"
-
-#~ msgid "Listing of all DAISY files"
-#~ msgstr "Spis wszystkich plików DAISY"
-
-#~ msgid "see"
-#~ msgstr "zobacz"
-
-#~ msgid "all books"
-#~ msgstr "wszystkie utwory"
-
-#~ msgid "audiobooks"
-#~ msgstr "audiobooki"
-
-#~ msgid "daisy"
-#~ msgstr "daisy"
-
+#~ msgid "Download MP3"
+#~ msgstr "Pobierz plik MP3"
+#~ msgid "Download Ogg Vorbis"
+#~ msgstr "Pobierz plik Ogg Vorbis"
+#~ msgid "Download DAISY"
+#~ msgstr "Pobierz plik DAISY"
+#~ msgid "check list of books"
+#~ msgstr "zobacz spis utworów"
+#~ msgid "in our repository"
+#~ msgstr "w naszym zbiorze"
 #~ msgid "Polish"
 #~ msgstr "polski"
-
 #~ msgid "German"
 #~ msgstr "niemiecki"
-
 #~ msgid "English"
 #~ msgstr "angielski"
-
 #~ msgid "Lithuanian"
 #~ msgstr "litewski"
-
 #~ msgid "French"
 #~ msgstr "francuski"
-
 #~ msgid "Russian"
 #~ msgstr "rosyjski"
-
 #~ msgid "Spanish"
 #~ msgstr "hiszpański"
-
 #~ msgid "Ukrainian"
 #~ msgstr "ukraiński"
-
 #~ msgid "Choose your interface language: "
 #~ msgstr "Wybierz język interfejsu:"
-
 #~ msgid "Choose language"
 #~ msgstr "Wybierz język"
-
 #~ msgid "Hide description"
 #~ msgstr "Zwiń opis"
+
index e602932..279647a 100644 (file)
Binary files a/wolnelektury/locale/ru/LC_MESSAGES/django.mo and b/wolnelektury/locale/ru/LC_MESSAGES/django.mo differ
index e649302..ee9f0e2 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\n"
 "PO-Revision-Date: 2010-08-25 11:05\n"
 "Last-Translator: <radek.czajka@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -59,7 +59,7 @@ msgstr ""
 "По поводу технической поддрежки сайт The Wolnelektury.pl временно не "
 "работает."
 
-#: templates/base.html:19
+#: templates/base.html:20
 msgid ""
 "Internet Explorer cannot display this site properly. Click here to read "
 "more..."
@@ -67,40 +67,40 @@ msgstr ""
 "Internet Explorer не может хорошо показать сайта. Щелкните здесь, чтобы "
 "прочитать больше..."
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr "Добро пожаловать"
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr "Ваши полки"
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr "Администрация"
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38 templates/base.html.py:42
 msgid "Report a bug"
 msgstr ""
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr "Выход"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:93
+#: templates/base.html.py:97 templates/auth/login.html:4
 #: templates/auth/login.html.py:7 templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr "Вход"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:97
+#: templates/base.html.py:101 templates/auth/login.html:7
 #: templates/auth/login.html.py:21 templates/auth/login.html:23
 msgid "Register"
 msgstr "Зарегистроваться"
 
-#: templates/base.html:69
+#: templates/base.html:70
 msgid ""
 "\n"
 "\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska."
@@ -118,7 +118,7 @@ msgstr ""
 "\t\t\t\tHosting <a href=\"http://eo.pl/\">EO Networks</a>.\n"
 "\t\t\t\t"
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
@@ -134,8 +134,8 @@ msgstr ""
 "\">fundacja@nowoczesnapolska.org.pl</a>\n"
 "\t\t\t\t"
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86 templates/base.html.py:107 templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -147,8 +147,8 @@ msgstr ""
 msgid "Close"
 msgstr "Закройте"
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109 templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -182,7 +182,7 @@ msgstr "Регистрация на"
 #: templates/catalogue/breadcrumbs.html:21
 #: templates/catalogue/main_page.html:13 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
@@ -190,10 +190,10 @@ msgstr "Поиск"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
+#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:14
 #: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
@@ -201,12 +201,22 @@ msgstr "или"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr "возврат на главную страницу"
 
+#: templates/catalogue/audiobook_list.html:6
+#, fuzzy
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr "Список работ на WolneLektury.pl"
+
+#: templates/catalogue/audiobook_list.html:8
+#, fuzzy
+msgid "Listing of all audiobooks"
+msgstr "Список работ"
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr "на WolneLektury.pl"
@@ -231,83 +241,115 @@ msgstr "на полку"
 msgid "Read online"
 msgstr "Читать онлайн"
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr "Скачать PDF"
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr "для чтения"
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr "и для печатки"
+
+#: templates/catalogue/book_detail.html:51
 msgid "Download EPUB"
 msgstr "Скачать EPUB"
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
-msgstr "Скачать ODT"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
+msgstr ""
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr "Скачать TXT"
 
-#: templates/catalogue/book_detail.html:61
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
+msgstr "на маленьких дисплеях, напр. мобильных телефонов"
+
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
+msgstr "Скачать ODT"
+
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
+msgstr "и для редактирования"
+
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:76
 msgid "Artist"
 msgstr "Артист"
 
-#: templates/catalogue/book_detail.html:63
+#: templates/catalogue/book_detail.html:77
 msgid "Director"
 msgstr "режиссер"
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
-msgstr "скачать MP3"
-
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
-msgstr "Скачать Ogg Vorbis"
-
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
-msgstr "Скачать DAISY"
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr ""
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr "Подробнее"
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr "Автор"
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr "эпоха"
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr "форма"
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr "жанр"
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr "другие ресурсы"
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr "Книга по проекту вики"
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr "Источник книги"
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr "Описание книги на Lektury.Gazeta.pl"
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr "Описание книги на Wikipedia"
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr "Темы труда"
 
@@ -388,6 +430,20 @@ msgstr "Оглавление"
 msgid "Themes"
 msgstr "Мотивы"
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:6
+#, fuzzy
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr "Список работ на WolneLektury.pl"
+
+#: templates/catalogue/daisy_list.html:8
+#, fuzzy
+msgid "Listing of all DAISY files"
+msgstr "Список работ"
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
 msgstr ""
@@ -397,16 +453,16 @@ msgid "Show full category"
 msgstr "Показать всю категорию"
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45 templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr "Подробнее"
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr "Скрыть"
 
@@ -415,7 +471,7 @@ msgid "Shelves containing fragment"
 msgstr "Полки с фрагментом"
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
 msgstr "У вас нет никакой полки. Если вы хотите, вы можете создать одну ниже."
 
@@ -435,57 +491,82 @@ msgstr "Скрыть фрагмент"
 msgid "See in a book"
 msgstr "Посмотрите в книге"
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
-msgstr "проверить список книг"
+#: templates/catalogue/main_page.html:14
+msgid "see"
+msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
-msgstr "в нашем хранилище"
+#: templates/catalogue/main_page.html:16
+#, fuzzy
+msgid "all books"
+msgstr "Поставьте книгу"
 
 #: templates/catalogue/main_page.html:17
+msgid "audiobooks"
+msgstr ""
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
+msgstr ""
+
+#: templates/catalogue/main_page.html:23
 msgid "Browse books by categories"
 msgstr "Просматривать книги по категориям"
 
-#: templates/catalogue/main_page.html:23
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr ""
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr ""
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37 templates/catalogue/main_page.html:45
 #, fuzzy
 msgid "Wolne Lektury Widget"
 msgstr "на WolneLektury.pl"
 
-#: templates/catalogue/main_page.html:26
+#: templates/catalogue/main_page.html:38
 msgid ""
 "Place our widget - search engine for Wolne Lektury which gives access to "
 "free books and audiobooks - on your homepage! Just copy the HTML code below "
 "onto your page:"
 msgstr ""
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr ""
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr "Ваши книжные полки"
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr "удалить"
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr "Создать полку"
 
-#: templates/catalogue/main_page.html:52
+#: templates/catalogue/main_page.html:64
 msgid ""
 "Create your own book set. You can share it with friends by sending them link "
 "to your shelf."
@@ -493,30 +574,30 @@ msgstr ""
 "Создать собственный набор книг. Вы можете делиться ими со своими друзьями, "
 "посылая ссылку на свою полку."
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr "Вам необходимо"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr "Войти в систему,"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr "чтобы управлять своими полками"
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68 templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr "Хендауты для учителей"
 
-#: templates/catalogue/main_page.html:57
+#: templates/catalogue/main_page.html:69
 msgid ""
 "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
 msgstr ""
 "Конспекты уроков и другие идеи использования Wolnelektury.pl учителями."
 
-#: templates/catalogue/main_page.html:62
+#: templates/catalogue/main_page.html:74
 msgid ""
 "are professional recordings of literary texts from our repository, available "
 "on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
@@ -525,47 +606,49 @@ msgstr ""
 "доступны по бесплатному разрешению ? в форматах MP3 и Ogg Vorbis, а также в "
 "системе DAISY."
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr "Авторы"
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr "Формы"
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr "Жанры"
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr "Эпохи"
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr "Мотивы и темы"
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr "Тематические группы"
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr "Новости"
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr "Посмотрите наш блог"
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr "Вы можете нам помочь!"
 
-#: templates/catalogue/main_page.html:283
+#: templates/catalogue/main_page.html:295
 msgid ""
 "We try our best to elaborate works appended to our library. It is possible "
 "only due to support of our volunteers."
@@ -573,7 +656,7 @@ msgstr ""
 "Мы стремимся тщательно разрабатывать труды, прибавляемые в нашу библиотеку. "
 "Это является возможным только благодаря помощи наших волонтеров."
 
-#: templates/catalogue/main_page.html:284
+#: templates/catalogue/main_page.html:296
 msgid ""
 "We invite people who want to take part in developing Internet school library "
 "Wolne Lektury."
@@ -581,11 +664,12 @@ msgstr ""
 "Мы приглашаем людей, которые хотят принять участие в развитии школьной "
 "библиотеки Интернета Wolne Lektury."
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr "О нас"
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
 "\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
@@ -660,29 +744,6 @@ msgstr "Скачать все книги с этой полки"
 msgid "Choose books' formats which you want to download:"
 msgstr "Выбрать формат книг, которые вы хотите скачать:"
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr "для чтения"
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr "и для печатки"
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr "и для редактирования"
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr "на маленьких дисплеях, напр. мобильных телефонов"
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -792,6 +853,7 @@ msgid "return to the main page"
 msgstr "возвратитесь на главную страницу"
 
 #: templates/info/join_us.html:2
+#, fuzzy, python-format
 msgid ""
 "We have over 1200 works published in Wolne Lektury!\n"
 "Help us expand the library and set new readings free by\n"
@@ -899,24 +961,24 @@ msgid "This work is copyrighted."
 msgstr "На эту работу распространяется авторское право."
 
 #, fuzzy
-#~ msgid "Listing of all audiobooks on WolneLektury.pl"
-#~ msgstr "Список работ на WolneLektury.pl"
+#~ msgid ""
+#~ "Download TXT - for reading on small displays, for example mobile phones"
+#~ msgstr "на маленьких дисплеях, напр. мобильных телефонов"
 
-#, fuzzy
-#~ msgid "Listing of all audiobooks"
-#~ msgstr "Список работ"
+#~ msgid "Download MP3"
+#~ msgstr "скачать MP3"
 
-#, fuzzy
-#~ msgid "Listing of all DAISY files on WolneLektury.pl"
-#~ msgstr "Список работ на WolneLektury.pl"
+#~ msgid "Download Ogg Vorbis"
+#~ msgstr "Скачать Ogg Vorbis"
 
-#, fuzzy
-#~ msgid "Listing of all DAISY files"
-#~ msgstr "Список работ"
+#~ msgid "Download DAISY"
+#~ msgstr "Скачать DAISY"
 
-#, fuzzy
-#~ msgid "all books"
-#~ msgstr "Поставьте книгу"
+#~ msgid "check list of books"
+#~ msgstr "проверить список книг"
+
+#~ msgid "in our repository"
+#~ msgstr "в нашем хранилище"
 
 #~ msgid "Polish"
 #~ msgstr "польский"
index 44581d1..c588c39 100644 (file)
Binary files a/wolnelektury/locale/uk/LC_MESSAGES/django.mo and b/wolnelektury/locale/uk/LC_MESSAGES/django.mo differ
index de16f34..2f37ee5 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 20:59+0100\n"
+"POT-Creation-Date: 2011-01-05 12:44+0100\n"
 "PO-Revision-Date: 2010-08-26 14:09+0100\n"
 "Last-Translator: Natalia Kertyczak <natalczyk@o2.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -57,7 +57,7 @@ msgid "The Wolnelektury.pl site is currently unavailable due to maintainance."
 msgstr ""
 "В зв'язку з технічними роботами сервіс Wolnelektury.pl тимчасово недоступний."
 
-#: templates/base.html:19
+#: templates/base.html:20
 msgid ""
 "Internet Explorer cannot display this site properly. Click here to read "
 "more..."
@@ -65,40 +65,40 @@ msgstr ""
 "Інтернет Експолорер не може правильно відобразити цієї сторінки. Натисніть, "
 "щоб дізнатися більше..."
 
-#: templates/base.html:32
+#: templates/base.html:33
 msgid "Welcome"
 msgstr "Ласкаво просимо"
 
-#: templates/base.html:33
+#: templates/base.html:34
 msgid "Your shelves"
 msgstr "Ваші полиці"
 
-#: templates/base.html:35
+#: templates/base.html:36
 msgid "Administration"
 msgstr "Адміністрація"
 
-#: templates/base.html:37 templates/base.html.py:41
+#: templates/base.html:38 templates/base.html.py:42
 msgid "Report a bug"
 msgstr ""
 
-#: templates/base.html:38
+#: templates/base.html:39
 msgid "Logout"
 msgstr "Вийти "
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:92
-#: templates/base.html.py:96 templates/auth/login.html:4
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:93
+#: templates/base.html.py:97 templates/auth/login.html:4
 #: templates/auth/login.html.py:7 templates/auth/login.html:12
 #: templates/auth/login.html.py:15
 msgid "Sign in"
 msgstr "Увійти"
 
-#: templates/base.html:42 templates/base.html.py:88 templates/base.html:96
-#: templates/base.html.py:100 templates/auth/login.html:7
+#: templates/base.html:43 templates/base.html.py:89 templates/base.html:97
+#: templates/base.html.py:101 templates/auth/login.html:7
 #: templates/auth/login.html.py:21 templates/auth/login.html:23
 msgid "Register"
 msgstr "Зареєструватися"
 
-#: templates/base.html:69
+#: templates/base.html:70
 msgid ""
 "\n"
 "\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska."
@@ -116,7 +116,7 @@ msgstr ""
 "\t\t\t\tГостинг <a href=\"http://eo.pl/\">EO Networks</a>.\n"
 "\t\t\t\t"
 
-#: templates/base.html:76
+#: templates/base.html:77
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 "
@@ -132,8 +132,8 @@ msgstr ""
 "org.pl\">fundacja@nowoczesnapolska.org.pl</a>\n"
 "\t\t\t\t"
 
-#: templates/base.html:85 templates/base.html.py:106 templates/base.html:112
-#: templates/catalogue/book_detail.html:149
+#: templates/base.html:86 templates/base.html.py:107 templates/base.html:113
+#: templates/catalogue/book_detail.html:179
 #: templates/catalogue/book_fragments.html:33
 #: templates/catalogue/differentiate_tags.html:23
 #: templates/catalogue/search_multiple_hits.html:29
@@ -145,8 +145,8 @@ msgstr ""
 msgid "Close"
 msgstr "Зачинити"
 
-#: templates/base.html:108 templates/base.html.py:114
-#: templates/catalogue/book_detail.html:151
+#: templates/base.html:109 templates/base.html.py:115
+#: templates/catalogue/book_detail.html:181
 #: templates/catalogue/book_fragments.html:35
 #: templates/catalogue/differentiate_tags.html:25
 #: templates/catalogue/search_multiple_hits.html:31
@@ -180,7 +180,7 @@ msgstr "Реєстрація на"
 #: templates/catalogue/breadcrumbs.html:21
 #: templates/catalogue/main_page.html:13 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "Search"
@@ -188,10 +188,10 @@ msgstr "Пошук"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_fragments.html:12
-#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:13
+#: templates/catalogue/book_list.html:12 templates/catalogue/main_page.html:14
 #: templates/catalogue/tagged_object_list.html:44 templates/info/base.html:10
 #: templates/lessons/document_detail.html:9
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "or"
@@ -199,12 +199,21 @@ msgstr "або"
 
 #: templates/auth/login.html:9 templates/catalogue/book_detail.html:12
 #: templates/catalogue/book_list.html:12
-#: templates/lessons/document_list.html:51
+#: templates/lessons/document_list.html:53
 #: templates/pdcounter/author_detail.html:11
 #: templates/pdcounter/book_stub_detail.html:11
 msgid "return to main page"
 msgstr "повернення на головну сторінку"
 
+#: templates/catalogue/audiobook_list.html:6
+#, fuzzy
+msgid "Listing of all audiobooks on WolneLektury.pl"
+msgstr "Алфавітний список творів на WolneLektury.pl"
+
+#: templates/catalogue/audiobook_list.html:8
+msgid "Listing of all audiobooks"
+msgstr ""
+
 #: templates/catalogue/book_detail.html:5
 msgid "on WolneLektury.pl"
 msgstr "на WolneLektury.pl"
@@ -229,83 +238,115 @@ msgstr "на полицю!"
 msgid "Read online"
 msgstr "Читати онлайн"
 
-#: templates/catalogue/book_detail.html:47
+#: templates/catalogue/book_detail.html:48
 msgid "Download PDF"
 msgstr "Завантажити PDF"
 
-#: templates/catalogue/book_detail.html:50
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:37
+#: templates/catalogue/tagged_object_list.html:38
+#: templates/catalogue/tagged_object_list.html:39
+#: templates/catalogue/tagged_object_list.html:40
+msgid "for reading"
+msgstr "для читання"
+
+#: templates/catalogue/book_detail.html:48
+#: templates/catalogue/tagged_object_list.html:37
+msgid "and printing using"
+msgstr "та друку з використанням"
+
+#: templates/catalogue/book_detail.html:51
 msgid "Download EPUB"
 msgstr "Завантажити EPUB"
 
-#: templates/catalogue/book_detail.html:53
-msgid "Download ODT"
-msgstr "Завантажити ODT"
+#: templates/catalogue/book_detail.html:51
+#: templates/catalogue/tagged_object_list.html:38
+msgid "on mobile devices"
+msgstr ""
 
-#: templates/catalogue/book_detail.html:56
+#: templates/catalogue/book_detail.html:54
 msgid "Download TXT"
 msgstr "Завантажити TXT"
 
-#: templates/catalogue/book_detail.html:61
+#: templates/catalogue/book_detail.html:54
+#: templates/catalogue/tagged_object_list.html:40
+msgid "on small displays, for example mobile phones"
+msgstr "на невеликих екранах, на приклад на мобільному телефоні"
+
+#: templates/catalogue/book_detail.html:57
+msgid "Download ODT"
+msgstr "Завантажити ODT"
+
+#: templates/catalogue/book_detail.html:57
+#: templates/catalogue/tagged_object_list.html:39
+msgid "and editing using"
+msgstr "та едиції з використанням"
+
+#: templates/catalogue/book_detail.html:62
+msgid "Audiobooks"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:76
 msgid "Artist"
 msgstr "Артист"
 
-#: templates/catalogue/book_detail.html:63
+#: templates/catalogue/book_detail.html:77
 msgid "Director"
 msgstr "Режисер"
 
-#: templates/catalogue/book_detail.html:67
-msgid "Download MP3"
-msgstr "Завантажити MP3"
-
-#: templates/catalogue/book_detail.html:68
-msgid "Download Ogg Vorbis"
-msgstr "Завантажити Ogg Vorbis"
-
-#: templates/catalogue/book_detail.html:69
-msgid "Download DAISY"
-msgstr "Завантажити DAISY"
+#: templates/catalogue/book_detail.html:104
+#, python-format
+msgid "Audiobooks were prepared as a part of the %(cs)s project."
+msgstr ""
 
-#: templates/catalogue/book_detail.html:96
+#: templates/catalogue/book_detail.html:126
 msgid "Details"
 msgstr "Подробиці"
 
-#: templates/catalogue/book_detail.html:100
+#: templates/catalogue/book_detail.html:129
 msgid "Author"
 msgstr "Автор"
 
-#: templates/catalogue/book_detail.html:106
+#: templates/catalogue/book_detail.html:135
 msgid "Epoch"
 msgstr "Епоха"
 
-#: templates/catalogue/book_detail.html:112
+#: templates/catalogue/book_detail.html:141
 msgid "Kind"
 msgstr "Рід"
 
-#: templates/catalogue/book_detail.html:118
+#: templates/catalogue/book_detail.html:147
 msgid "Genre"
 msgstr "Жанр"
 
-#: templates/catalogue/book_detail.html:124
+#: templates/catalogue/book_detail.html:153
 msgid "Other resources"
 msgstr "Інші засоби"
 
-#: templates/catalogue/book_detail.html:126
+#: templates/catalogue/book_detail.html:155
 msgid "Book on project's wiki"
 msgstr "Книжка на вікі проекту"
 
-#: templates/catalogue/book_detail.html:128
+#: templates/catalogue/book_detail.html:157
 msgid "Source of the book"
 msgstr "Джерело книжки"
 
-#: templates/catalogue/book_detail.html:131
+#: templates/catalogue/book_detail.html:160
 msgid "Book description on Lektury.Gazeta.pl"
 msgstr "Опис книжки на Lektury.Gazeta.pl"
 
-#: templates/catalogue/book_detail.html:134
+#: templates/catalogue/book_detail.html:163
 msgid "Book description on Wikipedia"
 msgstr "Опис книжки на Вікіпедії"
 
-#: templates/catalogue/book_detail.html:139
+#: templates/catalogue/book_detail.html:166
+msgid "View XML source"
+msgstr ""
+
+#: templates/catalogue/book_detail.html:169
 msgid "Work's themes "
 msgstr "Теми твору"
 
@@ -387,6 +428,19 @@ msgstr "Зміст"
 msgid "Themes"
 msgstr "Теми"
 
+#: templates/catalogue/book_text.html:19
+msgid "Edit. note"
+msgstr ""
+
+#: templates/catalogue/daisy_list.html:6
+#, fuzzy
+msgid "Listing of all DAISY files on WolneLektury.pl"
+msgstr "Алфавітний список творів на WolneLektury.pl"
+
+#: templates/catalogue/daisy_list.html:8
+msgid "Listing of all DAISY files"
+msgstr ""
+
 #: templates/catalogue/differentiate_tags.html:13
 msgid "The criteria are ambiguous. Please select one of the following options:"
 msgstr ""
@@ -396,16 +450,16 @@ msgid "Show full category"
 msgstr "Показати всю категорію"
 
 #: templates/catalogue/folded_tag_list.html:13
-#: templates/catalogue/main_page.html:33 templates/catalogue/main_page.html:58
-#: templates/catalogue/main_page.html:63
-#: templates/catalogue/main_page.html:102
-#: templates/catalogue/main_page.html:285
-#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:45 templates/catalogue/main_page.html:70
+#: templates/catalogue/main_page.html:75
+#: templates/catalogue/main_page.html:114
+#: templates/catalogue/main_page.html:297
+#: templates/catalogue/main_page.html:306
 msgid "See more"
 msgstr "Більше"
 
 #: templates/catalogue/folded_tag_list.html:22
-#: templates/catalogue/main_page.html:265
+#: templates/catalogue/main_page.html:277
 msgid "Hide"
 msgstr "Сховати"
 
@@ -414,7 +468,7 @@ msgid "Shelves containing fragment"
 msgstr "Полиці, які містять фрагмент"
 
 #: templates/catalogue/fragment_sets.html:4
-#: templates/catalogue/main_page.html:43
+#: templates/catalogue/main_page.html:55
 msgid "You do not own any shelves. You can create one below, if you want to."
 msgstr ""
 "В вас немає жодних полиць. В можете створити полицю нижче, якщо бажаєте."
@@ -435,57 +489,82 @@ msgstr "Сховати фрагмент"
 msgid "See in a book"
 msgstr "Дивитись у книжці"
 
-#: templates/catalogue/main_page.html:13
-msgid "check list of books"
-msgstr "перевірити список книжок"
+#: templates/catalogue/main_page.html:14
+msgid "see"
+msgstr ""
 
-#: templates/catalogue/main_page.html:13
-msgid "in our repository"
-msgstr "в нашій базі"
+#: templates/catalogue/main_page.html:16
+#, fuzzy
+msgid "all books"
+msgstr "Покласти книжку"
 
 #: templates/catalogue/main_page.html:17
+msgid "audiobooks"
+msgstr ""
+
+#: templates/catalogue/main_page.html:18
+msgid "daisy"
+msgstr ""
+
+#: templates/catalogue/main_page.html:23
 msgid "Browse books by categories"
 msgstr "Переглядати книжки за категоріями"
 
-#: templates/catalogue/main_page.html:23
+#: templates/catalogue/main_page.html:26
+msgid "Books for every school level"
+msgstr ""
+
+#: templates/catalogue/main_page.html:28
+msgid "primary school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:29
+msgid "gymnasium"
+msgstr ""
+
+#: templates/catalogue/main_page.html:30
+msgid "high school"
+msgstr ""
+
+#: templates/catalogue/main_page.html:35
 msgid "Twórzże się!"
 msgstr ""
 
-#: templates/catalogue/main_page.html:25
+#: templates/catalogue/main_page.html:37 templates/catalogue/main_page.html:45
 #, fuzzy
 msgid "Wolne Lektury Widget"
 msgstr "на WolneLektury.pl"
 
-#: templates/catalogue/main_page.html:26
+#: templates/catalogue/main_page.html:38
 msgid ""
 "Place our widget - search engine for Wolne Lektury which gives access to "
 "free books and audiobooks - on your homepage! Just copy the HTML code below "
 "onto your page:"
 msgstr ""
 
-#: templates/catalogue/main_page.html:27
+#: templates/catalogue/main_page.html:39
 msgid "Insert this element in place where you want display the widget"
 msgstr ""
 
-#: templates/catalogue/main_page.html:30
+#: templates/catalogue/main_page.html:42
 msgid "Place this element just before closing body tag: &lt;/body&gt;"
 msgstr ""
 
-#: templates/catalogue/main_page.html:34
+#: templates/catalogue/main_page.html:46
 #: templates/catalogue/user_shelves.html:2
 msgid "Your shelves with books"
 msgstr "Ваші полиці з книжками"
 
-#: templates/catalogue/main_page.html:39
+#: templates/catalogue/main_page.html:51
 msgid "delete"
 msgstr "видалити"
 
-#: templates/catalogue/main_page.html:48
+#: templates/catalogue/main_page.html:60
 #: templates/catalogue/user_shelves.html:15
 msgid "Create shelf"
 msgstr "Створити полицю"
 
-#: templates/catalogue/main_page.html:52
+#: templates/catalogue/main_page.html:64
 msgid ""
 "Create your own book set. You can share it with friends by sending them link "
 "to your shelf."
@@ -493,29 +572,29 @@ msgstr ""
 "Створити свій вибір книжок. Ви можете поділитися ним з друзями висилаючи їм "
 "посилання на вашу полицю."
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "You need to "
 msgstr "Вам треба"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "sign in"
 msgstr "увійти в акаунт"
 
-#: templates/catalogue/main_page.html:53
+#: templates/catalogue/main_page.html:65
 msgid "to manage your shelves."
 msgstr "щоб управляти своїми полицями"
 
-#: templates/catalogue/main_page.html:56
-#: templates/lessons/document_list.html:49
+#: templates/catalogue/main_page.html:68 templates/catalogue/main_page.html:70
+#: templates/lessons/document_list.html:51
 msgid "Hand-outs for teachers"
 msgstr "Матеріали для вчителів"
 
-#: templates/catalogue/main_page.html:57
+#: templates/catalogue/main_page.html:69
 msgid ""
 "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching."
 msgstr "Плани уроків та інші ідеї як користуватися Wolnelektury.pl в навчанні"
 
-#: templates/catalogue/main_page.html:62
+#: templates/catalogue/main_page.html:74
 msgid ""
 "are professional recordings of literary texts from our repository, available "
 "on free license in MP3 and Ogg Vorbis formats as well as in DAISY system."
@@ -523,47 +602,49 @@ msgstr ""
 "це професійні записи текстів літератури з нашої бази, доступні на вільній "
 "ліцензії у форматах MP3 та Ogg Vorbis, а також в системі DAISY."
 
-#: templates/catalogue/main_page.html:69
+#: templates/catalogue/main_page.html:81
 #: templates/catalogue/tagged_object_list.html:112
 msgid "Authors"
 msgstr "Автори"
 
-#: templates/catalogue/main_page.html:73
+#: templates/catalogue/main_page.html:85
 #: templates/catalogue/tagged_object_list.html:116
 msgid "Kinds"
 msgstr "Роди"
 
-#: templates/catalogue/main_page.html:77
+#: templates/catalogue/main_page.html:89
 #: templates/catalogue/tagged_object_list.html:120
 msgid "Genres"
 msgstr "Жанри"
 
-#: templates/catalogue/main_page.html:81
+#: templates/catalogue/main_page.html:93
 #: templates/catalogue/tagged_object_list.html:124
 msgid "Epochs"
 msgstr "Епохи"
 
-#: templates/catalogue/main_page.html:87
+#: templates/catalogue/main_page.html:99
+#: templates/catalogue/main_page.html:114
 msgid "Themes and topics"
 msgstr "Теми та мотиви"
 
-#: templates/catalogue/main_page.html:90
+#: templates/catalogue/main_page.html:102
 msgid "Themes groups"
 msgstr "Групи мотивів"
 
-#: templates/catalogue/main_page.html:275
+#: templates/catalogue/main_page.html:287
 msgid "News"
 msgstr "Новості"
 
-#: templates/catalogue/main_page.html:279
+#: templates/catalogue/main_page.html:291
 msgid "See our blog"
 msgstr "Дивитись наш блог"
 
-#: templates/catalogue/main_page.html:282
+#: templates/catalogue/main_page.html:294
+#: templates/catalogue/main_page.html:297
 msgid "You can help us!"
 msgstr "Можете нам допомогти!"
 
-#: templates/catalogue/main_page.html:283
+#: templates/catalogue/main_page.html:295
 msgid ""
 "We try our best to elaborate works appended to our library. It is possible "
 "only due to support of our volunteers."
@@ -571,7 +652,7 @@ msgstr ""
 "Ми намагаємося якомога краще підготувати твори, які додаються до нашої "
 "бібліотеки. Це можливо тільки завдяки нашим волонтерам."
 
-#: templates/catalogue/main_page.html:284
+#: templates/catalogue/main_page.html:296
 msgid ""
 "We invite people who want to take part in developing Internet school library "
 "Wolne Lektury."
@@ -579,11 +660,12 @@ msgstr ""
 "Запрошуємо всіх, хто хоче брати участь у творенні шкільної  інтернет-"
 "бібліотеки Wolne Lektury."
 
-#: templates/catalogue/main_page.html:288
+#: templates/catalogue/main_page.html:300
+#: templates/catalogue/main_page.html:306
 msgid "About us"
 msgstr "Про нас"
 
-#: templates/catalogue/main_page.html:290
+#: templates/catalogue/main_page.html:302
 msgid ""
 "\n"
 "\t\t\tInternet library with school readings “Wolne Lektury” (<a href="
@@ -657,29 +739,6 @@ msgstr "Завантажити всі книжки з цієї полиці"
 msgid "Choose books' formats which you want to download:"
 msgstr "Вибрати формат, в якому хочете завантажити книжку:"
 
-#: templates/catalogue/tagged_object_list.html:37
-#: templates/catalogue/tagged_object_list.html:38
-#: templates/catalogue/tagged_object_list.html:39
-#: templates/catalogue/tagged_object_list.html:40
-msgid "for reading"
-msgstr "для читання"
-
-#: templates/catalogue/tagged_object_list.html:37
-msgid "and printing using"
-msgstr "та друку з використанням"
-
-#: templates/catalogue/tagged_object_list.html:38
-msgid "on mobile devices"
-msgstr ""
-
-#: templates/catalogue/tagged_object_list.html:39
-msgid "and editing using"
-msgstr "та едиції з використанням"
-
-#: templates/catalogue/tagged_object_list.html:40
-msgid "on small displays, for example mobile phones"
-msgstr "на невеликих екранах, на приклад на мобільному телефоні"
-
 #: templates/catalogue/tagged_object_list.html:41
 #: templates/catalogue/tagged_object_list.html:42
 msgid "for listening"
@@ -787,6 +846,7 @@ msgid "return to the main page"
 msgstr "повернення на головну"
 
 #: templates/info/join_us.html:2
+#, fuzzy, python-format
 msgid ""
 "We have over 1200 works published in Wolne Lektury!\n"
 "Help us expand the library and set new readings free by\n"
@@ -894,16 +954,9 @@ msgid "This work is copyrighted."
 msgstr "Цей твір охороняється авторстким правом"
 
 #, fuzzy
-#~ msgid "Listing of all audiobooks on WolneLektury.pl"
-#~ msgstr "Алфавітний список творів на WolneLektury.pl"
-
-#, fuzzy
-#~ msgid "Listing of all DAISY files on WolneLektury.pl"
-#~ msgstr "Алфавітний список творів на WolneLektury.pl"
-
-#, fuzzy
-#~ msgid "all books"
-#~ msgstr "Покласти книжку"
+#~ msgid ""
+#~ "Download TXT - for reading on small displays, for example mobile phones"
+#~ msgstr "на невеликих екранах, на приклад на мобільному телефоні"
 
 #~ msgid "Choose your interface language: "
 #~ msgstr "Вибрати мову інтерфейсу"
@@ -914,9 +967,24 @@ msgstr "Цей твір охороняється авторстким право
 #~ msgid "Hide description"
 #~ msgstr "Сховати опис"
 
+#~ msgid "Download MP3"
+#~ msgstr "Завантажити MP3"
+
+#~ msgid "Download Ogg Vorbis"
+#~ msgstr "Завантажити Ogg Vorbis"
+
+#~ msgid "Download DAISY"
+#~ msgstr "Завантажити DAISY"
+
 #~ msgid "Alphabetical listing of works"
 #~ msgstr "Алфавітний список творів"
 
+#~ msgid "check list of books"
+#~ msgstr "перевірити список книжок"
+
+#~ msgid "in our repository"
+#~ msgstr "в нашій базі"
+
 #~ msgid "Read study of epoch"
 #~ msgstr "Прочитати обговорення епохи"
 
index 3c3bd48..186f4b6 100644 (file)
@@ -198,6 +198,8 @@ TRANSLATION_REGISTRY = "wolnelektury.translation"
 # limit number of filtering tags
 MAX_TAG_LIST = 6
 
+NO_BUILD_EPUB = False
+
 # Load localsettings, if they exist
 try:
     from localsettings import *
index aac5d58..cbd6bbc 100644 (file)
@@ -80,7 +80,7 @@ img {
 }
 
 
-#toc, #themes {
+#toc, #themes, #nota_red {
     position: fixed;
     left: 0em;
     top: 1.5em;
index adc1708..15e48c7 100644 (file)
@@ -228,6 +228,17 @@ p .ac_input {
     text-transform: uppercase;
 }
 
+/* ============== */
+/* = Search bar = */
+/* ============== */
+
+.collections a {
+    color: white;
+    margin: 0 0.5em;
+}
+
+
+
 /* ============= */
 /* = Tags list = */
 /* ============= */
@@ -281,18 +292,95 @@ p .ac_input {
 #book-detail #formats .change-sets {
     margin-right: 0.5em;
 }
+/*
+#formats .wrap ul {
+    margin: 0;
+    padding: 0;
+}
 
-#formats .wrap a {
+#formats .wrap li {
     display: block;
     width: 100%;
-    height: 1.5em;
+    height: 1.9em;
+    background-color: #F2F2F2;
+    border: 1px solid #EEE;
+    text-align: center;    
+}
+*/
+#formats .wrap .header {
+    display: block;
+    width: 100%;
+    height: 1.9em;
     background-color: #EEE;
-    margin-top: 0.5em;
-    padding: 0.5em 0;
+    border-bottom: 1px solid #EEE;
+    margin: 0;
+    padding-bottom: 2px;
     -moz-border-radius: 4px;
     -webkit-border-radius: 4px;
     border-radius: 4px;
-    text-align: center;    
+    color:#2F4110;
+    margin-top: 40px;
+}
+
+.audiotabs span.active {
+    background-color:#FFF;
+}
+
+.audiotabs span {
+    display: block;
+    height: 1.6em;
+    background-color:#EEE;
+    width: 80px;
+    text-align: center;
+    padding: 2px 0;
+    -moz-border-radius: 4px;
+    -webkit-border-radius: 4px;
+    border-radius: 4px;
+    color: #2F4110;
+    font-weight: bold;
+    float:left;
+    cursor: pointer;
+    border: 1px solid #DDD;
+}
+
+#formats .wrap .header span.desc {
+    display: block;
+    height: 1.6em;
+    background-color: #EEE;
+    width: 100px;
+    text-align: center;
+    padding: 2px 0;
+    color: #2F4110;
+    font-weight: bold;
+    float:left;
+    border: solid #eee;
+    border-width: 1px;
+}
+
+.audiotabs {
+    float: right;
+}
+
+
+#formats .wrap .online {
+    display: block;
+    width: 100%;
+    background-color: #EEE;
+    margin: 0.5em 0 1em 0;
+    padding: 1em 0;
+    -moz-border-radius: 4px;
+    -webkit-border-radius: 4px;
+    border-radius: 4px;
+    text-align: center;
+    font-size: 1.6em;
+}
+
+#formats .wrap div.download {
+    text-align: center;   
+    margin-bottom: 10px; 
+}
+#formats .wrap div.download img {
+    padding: 0 10px 0 10px;    
 }
 
 #czytamysluchajac {
@@ -309,6 +397,29 @@ p .ac_input {
     padding-top: 1em;
     padding-bottom: 0em;
 }
+div.audiobooks li {
+    list-style-type: none;
+}
+
+div.audiobooks li.mp3Player {
+    margin-bottom: 1em;
+}
+
+div.audiobooks {
+    padding: 15px;
+    float: left;
+}
+
+.audiobook-list {
+    float: left; width: 270px;
+    position: relative;
+    left: 10px;
+}
+
+#speaker {
+    float: left; 
+    padding:5px 10px;
+}
 
 #formats #czytamysluchajac-logo {
     background: white;
@@ -319,6 +430,7 @@ p .ac_input {
     -moz-border-radius: 0px;
     -webkit-border-radius: 0px;
     border-radius: 0px;
+    margin: 0px 20px 10px 10px;
 }
 
 #tagged-object-list #themes-list, #book-detail #themes-list {
diff --git a/wolnelektury/static/img/epub.png b/wolnelektury/static/img/epub.png
new file mode 100644 (file)
index 0000000..32510fd
Binary files /dev/null and b/wolnelektury/static/img/epub.png differ
diff --git a/wolnelektury/static/img/odt.png b/wolnelektury/static/img/odt.png
new file mode 100644 (file)
index 0000000..c0c2602
Binary files /dev/null and b/wolnelektury/static/img/odt.png differ
diff --git a/wolnelektury/static/img/pdf.png b/wolnelektury/static/img/pdf.png
new file mode 100644 (file)
index 0000000..5fe5bbe
Binary files /dev/null and b/wolnelektury/static/img/pdf.png differ
diff --git a/wolnelektury/static/img/speaker.png b/wolnelektury/static/img/speaker.png
new file mode 100644 (file)
index 0000000..5831f17
Binary files /dev/null and b/wolnelektury/static/img/speaker.png differ
diff --git a/wolnelektury/static/img/txt.png b/wolnelektury/static/img/txt.png
new file mode 100644 (file)
index 0000000..de699ea
Binary files /dev/null and b/wolnelektury/static/img/txt.png differ
index 9960bfa..b9ab6b1 100644 (file)
@@ -19,6 +19,9 @@ $(function() {
     if ($('#toc li').length == 0) {
         $('#menu li a[href="#toc"]').remove();
     }
+    if ($('#nota_red').length == 0) {
+        $('#menu li a[href="#nota_red"]').remove();
+    }
 
     // On page load, scroll to anchor
     scrollToAnchor(window.location.hash)
index 9fd03d3..510c543 100644 (file)
@@ -1,3 +1,4 @@
+var STATIC = '/static/';
 var LOCALE_TEXTS = {
     "pl": {
         "DELETE_SHELF": "Czy na pewno usunąć półkę",
@@ -74,7 +75,6 @@ var BANNER_TEXTS = [
     'Pomóż uwolnić 286 utworów z listy lektur szkolnych. Przekaż swój 1% na Wolne Lektury.'
 ]
 
-
 function changeBannerText() {
     var index = Math.floor(Math.random() * BANNER_TEXTS.length);
     if (BANNER_TEXTS[index] == $('#onepercent-text').html()) {
@@ -267,6 +267,7 @@ function serverTime() {
             return false;
         });
 
+        var serverResponse;
         $('#user-shelves-window').jqm({
             ajax: '@href',
             target: $('#user-shelves-window div.target')[0],
@@ -280,8 +281,12 @@ function serverTime() {
             },
             onLoad: function(hash) {
                 $('form', hash.w).ajaxForm({
-                    target: $('#user-shelves-window div.target'),
-                    success: function() { setTimeout(function() { $('#user-shelves-window').jqmHide() }, 1000) }
+                    target: serverResponse,
+                    success: function(serverResponse) {
+                        var newShelf = $.parseJSON(serverResponse);
+                        $('#user-shelves-window div.target').html(newShelf.msg);
+                        setTimeout(function() { $('#user-shelves-window').jqmHide() }, 1000);
+                    }
                 });
 
                 $('input', hash.w).labelify({labelledClass: 'blur'});
@@ -378,19 +383,31 @@ function serverTime() {
                 target.html('<p><img src="/static/img/indicator.gif" />'+LOCALE_TEXTS[LANGUAGE_CODE]['DELETE_SHELF']+'</p>');
                 hash.w.css({position: 'absolute', left: offset.left, top: offset.top}).show() },
             onLoad: function(hash) {
-        try {
-            $('#createShelfTrigger').click(function(){
-                $('#createNewShelf').show();
-            });
-        } catch (e){}
-
+                try {
+                        $('#createShelfTrigger').click(function(){
+                            // who cares it's not needed, but I was looking for it
+                            // that's why I want it to stay.. :) 
+                            // var slug = $(hash.t).attr('href').split("/")[3];
+                            $('#createNewShelf').show();
+                        });
+                } catch (e){}
+                $("#putOnShelf input[type=checkbox]").attr("checked",false);
+                var serverResponse;
                 $('form', hash.w).ajaxForm({
-                    target: target,
-                    success: function() {
-            setTimeout(function() {
-                    $('#set-window').jqmHide();
-                       }, 1000)}
-                });
+                    target: serverResponse,
+                    success: function(serverResponse) {
+                        var newShelf = $.parseJSON(serverResponse);
+                        // for live shelf adding
+                        if(newShelf.name){
+                            var noIds = $("#putOnShelf ol ul").children('li').length;
+                            $("#putOnShelf ol ul").prepend('<li><label for="id_set_ids_'+ noIds +'"><input name="set_ids" value="'+ newShelf.id +'" id="id_set_ids_'+ noIds +'" type="checkbox" checked="checked"> '+ newShelf.name +' (0)</label></li>');
+                            $("#createNewShelf ol input[name=name]").val("");
+                        }
+                        if(newShelf.after == "close"){
+                            setTimeout(function() {$('#set-window').jqmHide();}, 1000);
+                        }
+                    }
+                });    
             }
         });
 
@@ -475,5 +492,41 @@ function serverTime() {
             return false;
         });
 
+        // player for audiobooks
+        // event handlers for playing different formats
+        $('.audiotabs span').click(function(){
+            $('.audiobook-list').hide();
+            $('.audiotabs .active').removeClass('active');
+            // we don't want to interact with "audiobook" label, just 'format' tabs
+            var $this = $(this);
+            $this.addClass("active");
+            $("#"+$this.html().toLowerCase()+"-files").show();
+        });
+
+        $('.audiobook-list').hide();
+        $("#"+$(".audiotabs .active").html().toLowerCase()+"-files").show();
+        
+        /* this will be useful for javascript html player
+        var medias = $('.audiobook-list a');
+        var mp3List = [];
+        var oggList = [];
+        var daisyList = [];
+        var tmpExt;
+        if (medias.length > 0) {
+            // creating sources list for player
+            medias.each(function(index, item) {
+                tmpExt = item.href.split(".").pop();    
+                if(tmpExt == "mp3") {
+                    mp3List.push(item.href);
+                } else if (tmpExt == "ogg") {
+                    oggList.push(item.href);
+                } else if(tmpExt == "daisy") {
+                    daisyList.push(item.href);
+                }
+            }); 
+        }*/       
+
     });
 })(jQuery)
+
index 297b4d6..563787a 100644 (file)
@@ -4,6 +4,7 @@
        {% load i18n chunks compressed catalogue_tags sponsor_tags %}
     <head>
         <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+        <meta http-equiv="Content-Style-Type" content="text/css">
         <title>{% block title %}WolneLektury.pl{% endblock %}</title>
         <link rel="icon" href="{{ STATIC_URL }}img/favicon.png" type="image/x-icon" />
         {% compressed_css "all" %}
diff --git a/wolnelektury/templates/catalogue/audiobook_list.html b/wolnelektury/templates/catalogue/audiobook_list.html
new file mode 100644 (file)
index 0000000..0a9e01e
--- /dev/null
@@ -0,0 +1,8 @@
+{% extends "catalogue/book_list.html" %}
+{% load i18n %}
+
+{% block bodyid %}book-a-list{% endblock %}
+
+{% block title %}{% trans "Listing of all audiobooks on WolneLektury.pl" %}{% endblock %}
+
+{% block book_list_header %}{% trans "Listing of all audiobooks" %}{% endblock %}
index f4e77f8..f3a7b53 100644 (file)
             <p class="change-sets">{% trans "Put a book" %} <span><a href="{% url catalogue.views.book_sets book.slug %}" class="jqm-trigger">{% trans "on the shelf!" %}</a></span></p>
             <div class="clearboth"></div>
             <div class="wrap">
-            {% if book.html_file %}
-                <a href="{% url book_text book.slug %}">{% trans "Read online" %}</a>
-            {% endif %}
-            {% if book.pdf_file %}
-                <a href="{{ book.pdf_file.url }}">{% trans "Download PDF" %}</a>
-            {% endif %}
-            {% if book.root_ancestor.epub_file %}
-                <a href="{{ book.root_ancestor.epub_file.url }}">{% trans "Download EPUB" %}</a>
-            {% endif %}
-            {% if book.odt_file %}
-                <a href="{{ book.odt_file.url }}">{% trans "Download ODT" %}</a>
-            {% endif %}
-            {% if book.txt_file %}
-                <a href="{{ book.txt_file.url }}">{% trans "Download TXT" %}</a>
-            {% endif %}
-            {% if book.mp3_file %}
-                <div id="czytamy-sluchajac-info">
-                    <a href="http://czytamysluchajac.pl/" id="czytamysluchajac-logo"><img src="{{ STATIC_URL }}img/czytamysluchajac-logo-small.png" /></a>
-                    <p>{% trans "Artist" %}: {{ book.get_extra_info_value.artist_name }}</p>
-                                       {% if book.get_extra_info_value.director_name %}
-                        <p>{% trans "Director" %}: {{ book.get_extra_info_value.director_name }}</p>
-                                       {% endif %}
+                {% if book.has_html_file %}
+                    <a class="online" href="{% url book_text book.slug %}">{% trans "Read online" %}</a>
+                {% endif %}
+                <div class="download">
+                    {% if book.has_pdf_file %}
+                        <a href="{{ book.pdf_file.url }}"><img src="{{ STATIC_URL }}img/pdf.png" title="{% trans "Download PDF" %} &ndash; {% trans "for reading" %} {% trans "and printing using" %} Adobe Reader" %}" alt="{% trans "Download PDF" %}" /></a>
+                    {% endif %}
+                    {% if book.root_ancestor.epub_file %}
+                        <a href="{{ book.root_ancestor.epub_file.url }}"><img src="{{ STATIC_URL }}img/epub.png" title="{% trans "Download EPUB" %} &ndash; {% trans "for reading" %} {% trans "on mobile devices" %}" alt="{% trans "Download EPUB" %}" /></a>
+                    {% endif %}
+                    {% if book.has_txt_file %}
+                        <a href="{{ book.txt_file.url }}"><img src="{{ STATIC_URL }}img/txt.png" title="{% trans "Download TXT" %} &ndash; {% trans "for reading" %} {% trans "on small displays, for example mobile phones" %}" alt="{% trans "Download TXT" %}" /></a>
+                    {% endif %}
+                    {% for media in book.get_odt %}
+                        <a href="{{ media.file.url }}"><img src="{{ STATIC_URL }}img/odt.png" title="{% trans "Download ODT" %} &ndash; {% trans "for reading" %} {% trans "and editing using" %} OpenOffice.org: {{ media.name }}" alt="{% trans "Download ODT" %}" /></a>
+                    {% endfor %}
                 </div>
-            {% endif %}
-            {% if book.mp3_file %}<a href="{{ book.mp3_file.url }}">{% trans "Download MP3" %}</a>{% endif %}
-            {% if book.ogg_file %}<a href="{{ book.ogg_file.url }}">{% trans "Download Ogg Vorbis" %}</a>{% endif %}
-            {% if book.daisy_file %}<a href="{{ book.daisy_file.url }}">{% trans "Download DAISY" %}</a>{% endif %}
-            {% if book.mp3_file %}
-            <object type="application/x-shockwave-flash" style="margin-top: 0.5em" data="{{ STATIC_URL }}player.swf" width="426" height="20">
-                <param name="movie" value="{{ STATIC_URL }}player.swf" />
-                <param name="bgcolor" value="#ffffff" />
-                <param name="FlashVars" value="mp3={{ book.mp3_file.url }}&amp;width=426&amp;showvolume=1&amp;bgcolor1=eeeeee&amp;bgcolor2=eeeeee&amp;buttoncolor=666666" />
-            </object>
-            {% endif %}
+                {% if book.has_mp3_file or book.has_ogg_file or book.has_daisy_file %}
+                    <p class="header">
+                        <span class="desc">{% trans "Audiobooks" %}:</span>
+                        <span class="audiotabs">
+                            {% if book.has_mp3_file %}<span class="active">MP3</span>{% endif %}
+                            {% if book.has_ogg_file %}<span>OGG</span>{% endif %}
+                            {% if book.has_daisy_file %}<span>DAISY</span>{% endif %}
+                        </span>
+                    </p>
+                    <div class="audiobooks">
+                        <img src="{{ STATIC_URL }}img/speaker.png" id="speaker" alt="Speaker icon"/>
+                        {% if book.has_mp3_file %}
+                            <ul class="audiobook-list" id="mp3-files">
+                            {% for media in book.get_mp3 %}
+                                <li class="mp3Player">
+                                  <a href="{{ media.file.url }}">{{ media.name }}</a><br/>
+                                  {% trans "Artist" %}: {{ media.get_extra_info_value.artist_name }}<br/>
+                                  {% trans "Director"%}: {{ media.get_extra_info_value.director_name }}<br/>
+                                  <object type="application/x-shockwave-flash" style="margin-top: 0.5em" data="{{ STATIC_URL }}player.swf" width="226" height="20">
+                                        <param name="movie" value="{{ STATIC_URL }}player.swf" />
+                                        <param name="bgcolor" value="#ffffff" />
+                                        <param name="FlashVars" value="mp3={{ media.file.url }}&amp;width=226&amp;showvolume=1&amp;bgcolor1=eeeeee&amp;bgcolor2=eeeeee&amp;buttoncolor=666666" />
+                                    </object>
+                                    
+                                </li>
+                            {% endfor %}
+                            </ul>     
+                        {% endif %}
+
+                        {% if book.has_ogg_file %}
+                            <ul class="audiobook-list" id="ogg-files">
+                            {% for media in book.get_ogg %}
+                                <li><a href="{{ media.file.url }}">{{ media.name }}</a></li>
+                            {% endfor %}
+                            </ul>
+                        {% endif %}
+                        {% if book.has_daisy_file %}
+                            <ul class="audiobook-list" id="daisy-files">
+                            {% for media in book.get_daisy %}
+                                <li><a href="{{ media.file.url }}">{{ media.name }}</a></li>
+                            {% endfor %}
+                            </ul>
+                        {% endif %}
+                    </div> <!-- /audiobooks -->
+                    <p>{% blocktrans with '<a href="http://czytamysluchajac.pl">CzytamySłuchając</a>' as cs %}Audiobooks were prepared as a part of the {{ cs }} project.{% endblocktrans %}
+                    </p>
+                {% endif %}
             </div>
         </div>
 
             <h2>{% trans "Details" %}</h2>
             <ul>
                 <li>
-                       
                     {% trans "Author" %}:
                     {% for tag in categories.author %}
                     <a href="{{ tag.get_absolute_url }}">{{ tag }}</a>{% if not forloop.last %}, {% endif %}
                     {% for tag in categories.genre %}
                     <a href="{{ tag.get_absolute_url }}">{{ tag }}</a>{% if not forloop.last %}, {% endif %}
                     {% endfor %}
-                </li>
+                </li>              
             </ul>
             <h2>{% trans "Other resources" %}</h2>
             <ul>
                 <li><a href="{{ book.wiki_link }}">{% trans "Book description on Wikipedia" %}</a></li>
                 {% endif %}
             </ul>
+            <p><a href="{{ book.xml_file.url }}">{% trans "View XML source" %}</a></p>
         </div>
         <div id="themes-list">
             <h2>{% trans "Work's themes " %}</h2>
             <p><img src="{{ STATIC_URL }}img/indicator.gif" alt="*"/> {% trans "Loading" %}</p>
         </div>
     </div>
-{% endblock %}
\ No newline at end of file
+{% endblock %}
index be7045b..2791ef2 100644 (file)
@@ -7,7 +7,7 @@
 {% block title %}{% trans "Listing of all works on WolneLektury.pl" %}{% endblock %}
 
 {% block body %}
-    <h1>{% trans "Listing of all works" %}</h1>
+    <h1>{% block book_list_header %}{% trans "Listing of all works" %}{% endblock %}</h1>
     <form action="{% url search %}" method="GET" accept-charset="utf-8" id="search-form">
         <p>{{ form.q }} <input type="submit" value="{% trans "Search" %}" /> <strong>{% trans "or" %}</strong> <a href="{% url main_page %}">{% trans "return to main page" %}</a></p>
     </form>
index 2b713b4..1eee61d 100644 (file)
@@ -9,7 +9,7 @@
 {% if not user.tag_set.count %}
     <p>{% trans "You do not have any shelves. You can create one below, if you want to."%}</p>
 {% else %}
-    <form action="{% url catalogue.views.book_sets book.slug %}" method="POST" accept-charset="utf-8" class="cuteform">
+    <form action="{% url catalogue.views.book_sets book.slug %}" method="POST" id="putOnShelf" accept-charset="utf-8" class="cuteform">
     <ol>
         <li>{{ form.set_ids }}</li>
         <li><input type="submit" value="{% trans "Put on the shelf!" %}"/></li>
index d828265..a4a319b 100644 (file)
@@ -16,6 +16,7 @@
             <ul>
                 <li><a href="#toc">{% trans "Table of contents" %}</a></li>
                 <li><a href="#themes">{% trans "Themes" %}</a></li>
+                <li><a href="#nota_red">{% trans "Edit. note" %}</a></li>
             </ul>
         </div>
         <div id="header">
diff --git a/wolnelektury/templates/catalogue/daisy_list.html b/wolnelektury/templates/catalogue/daisy_list.html
new file mode 100644 (file)
index 0000000..1523578
--- /dev/null
@@ -0,0 +1,8 @@
+{% extends "catalogue/book_list.html" %}
+{% load i18n %}
+
+{% block bodyid %}book-a-list{% endblock %}
+
+{% block title %}{% trans "Listing of all DAISY files on WolneLektury.pl" %}{% endblock %}
+
+{% block book_list_header %}{% trans "Listing of all DAISY files" %}{% endblock %}
index c18f890..d86085a 100644 (file)
     </div>
     <div class="clearboth"></div>
     <form action="{% url search %}" method="get" accept-charset="utf-8" id="search-form">
-        <p>{{ form.q }} {{ form.tags }} <input type="submit" value="{% trans "Search" %}" /> <strong>{% trans "or" %}</strong> <a href="{% url catalogue.views.book_list %}">{% trans "check list of books" %}</a> {% trans "in our repository" %}</p>
+        <p>{{ form.q }} {{ form.tags }} <input type="submit" value="{% trans "Search" %}" />
+            <strong>{% trans "or" %}</strong> {% trans "see" %}: 
+            <span class='collections'>
+                <a href="{% url catalogue.views.book_list %}">{% trans "all books" %}</a>
+                <a href="{% url catalogue.views.audiobook_list %}">{% trans "audiobooks" %}</a>
+                <a href="{% url catalogue.views.daisy_list %}">{% trans "daisy" %}</a>
+            </span></p>
     </form>
 
     <div id="intro">
         <p id="tags-description">↓ {% trans "Browse books by categories" %} ↓</p>
         <div id="propaganda">
             <p><a href="{% url epub %}"><img src="/static/img/epub-www.jpg" alt="epub: lektury w kieszeni" /></a></p>
-
+            <h2>{% trans "Books for every school level" %}</h2>
+            <ul>
+                <li><a href="">{% trans "primary school" %}</a></li>
+                <li><a href="">{% trans "gymnasium" %}</a></li>
+                <li><a href="">{% trans "high school" %}</a></li>
+            </ul>
+            
             <h2>Leśmianator — poeta automagiczny</h2>
             <p>Poezja z Wolnych Lektur przepuszczona przez mikser. Stwórz własny wiersz klikając w <a href="{% url lesmianator %}" rel="nofollow">link</a>.</p>
             <p class="see-more"><a href="{% url lesmianator %}">{% trans "Twórzże się!" %} ⇒</a></p>
 
             <h2>{% trans "Wolne Lektury Widget" %}</h2>
             <p>{% trans "Place our widget - search engine for Wolne Lektury which gives access to free books and audiobooks - on your homepage! Just copy the HTML code below onto your page:" %}</p>
-            <textarea rows="1" cols="35" class='widget-code'><!-- START {% trans "Insert this element in place where you want display the widget" %} -->
+            <textarea rows="1" cols="35" class='widget-code' title='widget'><!-- START {% trans "Insert this element in place where you want display the widget" %} -->
 &lt;div id="wl" /&gt;
 &lt;!-- END --&gt;
 &lt;!-- START {% trans "Place this element just before closing body tag: &lt;/body&gt;" %} --&gt;
 &lt;script type="text/javascript" src="http://www.wolnelektury.pl/static/js/widget.js"&gt;&lt;/script&gt;
 &lt;!-- END --&gt;</textarea>
-                <p class="see-more"><a href="{% url widget %}">{% trans "See more" %} ⇒</a></p>
+                <p class="see-more"><a href="{% url widget %}" title="{% trans "Wolne Lektury Widget" %}">{% trans "See more" %} ⇒</a></p>
             <h2>{% trans "Your shelves with books" %}</h2>
             {% if user.is_authenticated %}
                 {% if shelves %}
             <div id="lessons">
                 <h2><a href="{% url lessons_document_list %}">{% trans "Hand-outs for teachers" %}</a></h2>
                 <p>{% trans "Lessons' prospects and other ideas for using Wolnelektury.pl for teaching." %}</p>
-                <p class="see-more"><a href="{% url lessons_document_list %}">{% trans "See more" %} ⇒</a></p>
+                <p class="see-more"><a href="{% url lessons_document_list %}" title="{% trans "Hand-outs for teachers" %}">{% trans "See more" %} ⇒</a></p>
             </div>
             <div id="czytamysluchajac">
                 <a href="http://czytamysluchajac.pl/"><img src="{{ STATIC_URL }}img/czytamysluchajac-logo-small.png" alt="CzytamySluchajac - logo" style="float:left; padding: 10px;" /></a>
                 <p style="padding-top:10px;"><a href="http://czytamysluchajac.pl/">Czytamy Słuchając</a> {% trans "are professional recordings of literary texts from our repository, available on free license in MP3 and Ogg Vorbis formats as well as in DAISY system." %}</p>
-                <p class="see-more"><a href="http://czytamysluchajac.pl/index.php/o-projekcie/">{% trans "See more" %} ⇒</a></p>
+                <p class="see-more"><a href="http://czytamysluchajac.pl/index.php/o-projekcie/" title="Czytamy Słuchając">{% trans "See more" %} ⇒</a></p>
             </div>
         </div>
         <div id="tags-list">
                         <li>przyroda
                         <span class="subcategories"><a href="/katalog/natura/">Natura</a>, <a href="/katalog/zywioly/">Żywioły</a>, <a href="/katalog/ogien/">Ogień</a>, <a href="/katalog/ziemia/">Ziemia</a>, <a href="/katalog/wiatr/">Wiatr</a>, <a href="/katalog/woda/">Woda</a>, <a href="/katalog/wiosna/">Wiosna</a>, <a href="/katalog/lato/">Lato</a>, <a href="/katalog/jesien/">Jesień</a>, <a href="/katalog/zima/">Zima</a>, <a href="/katalog/przemijanie/">Przemijanie</a>, <a href="/katalog/slonce/">Słońce</a>, <a href="/katalog/ksiezyc/">Księżyc</a>, <a href="/katalog/gwiazda/">Gwiazda</a>, <a href="/katalog/oblok/">Obłok</a>, <a href="/katalog/noc/">Noc</a>, <a href="/katalog/swiatlo/">Światło</a>, <a href="/katalog/gora/">Góra</a>, <a href="/katalog/rzeka/">Rzeka</a>, <a href="/katalog/morze/">Morze</a>, <a href="/katalog/burza/">Burza</a>, <a href="/katalog/deszcz/">Deszcz</a>, <a href="/katalog/bloto/">Błoto</a>, <a href="/katalog/przyroda-nieozywiona/">Przyroda nieożywiona</a>, <a href="/katalog/rosliny/">Rośliny</a>, <a href="/katalog/kwiaty/">Kwiaty</a>, <a href="/katalog/ogrod/">Ogród</a>, <a href="/katalog/sielanka/">Sielanka</a>, <a href="/katalog/raj/">Raj</a>, <a href="/katalog/jablko/">Jabłko</a>, <a href="/katalog/drzewo/">Drzewo</a>, <a href="/katalog/zwierzeta/">Zwierzęta</a>, <a href="/katalog/ptak/">Ptak</a>, <a href="/katalog/motyl/">Motyl</a>, <a href="/katalog/kot/">Kot</a>, <a href="/katalog/kon/">Koń</a>, <a href="/katalog/pies/">Pies</a>, <a href="/katalog/waz/">Wąż</a>, <a href="/katalog/potwor/">Potwór</a></span></li>
                     </ol>
-                    <p><a href="#" class="show-all-tags">{% trans "See more" %}</a></p>
+                    <p><a href="#" class="show-all-tags" title="{% trans "Themes and topics" %}">{% trans "See more" %}</a></p>
                 </div>
                 <div class="all-tags">
                     <ol>
             <h2>{% trans "You can help us!" %}</h2>
             <p>{% trans "We try our best to elaborate works appended to our library. It is possible only due to support of our volunteers." %}</p>
             <p>{% trans "We invite people who want to take part in developing Internet school library Wolne Lektury." %}</p>
-            <p class="see-more"><a href="{% url help_us %}">{% trans "See more" %} ⇒</a></p>
+            <p class="see-more"><a href="{% url help_us %}" title="{% trans "You can help us!" %}">{% trans "See more" %} ⇒</a></p>
         </div>
         <div id="about-us">
             <h2>{% trans "About us" %}</h2>
                        Internet library with school readings “Wolne Lektury” (<a href="http://wolnelektury.pl">www.wolnelektury.pl</a>) is a project made by Modern Poland Foundation. It started in 2007 and shares school readings, which are recommended by Ministry of National Education and are in public domain.
                        {% endblocktrans %}
             </p>
-            <p class="see-more"><a href="{% url about_us %}">{% trans "See more" %} ⇒</a></p>
+            <p class="see-more"><a href="{% url about_us %}" title="{% trans "About us" %}">{% trans "See more" %} ⇒</a></p>
         </div>
     </div>
 {% endblock %}
index 2f1c848..00d161f 100644 (file)
@@ -35,7 +35,9 @@
                             .load(documentLink.attr('href'));
                     };
                 } else if (!document.location.hash) {
-                    $('#document-list a:first').click();
+                    $first = $('#document-list a:first');
+                    $first.addClass('active');
+                    location.replace($first.attr('data-hash'));
                 }
 
                 setTimeout(checkHash, 500);