Changeset 465:e90af9681b03
- Timestamp:
- 08/28/08 22:47:40 (4 years ago)
- Branch:
- default
- Children:
- 466:9f0c0ed645b0, 467:2a64ffa4acf0
- Files:
-
- 1 deleted
- 22 edited
- 230 moved
-
.hgignore (modified) (1 diff)
-
AUTHORS (modified) (1 diff)
-
INSTALL (modified) (2 diffs)
-
artwork/README (modified) (1 diff)
-
artwork/logo.png (deleted)
-
artwork/logo.svg (modified) (4 diffs)
-
scripts/_init_zine.py (moved) (moved from scripts/_init_textpress.py) (3 diffs)
-
scripts/add-translation (modified) (4 diffs)
-
scripts/build-documentation (modified) (3 diffs)
-
scripts/build-event-map (modified) (4 diffs)
-
scripts/bundle-plugin (modified) (4 diffs)
-
scripts/compile-translations (modified) (1 diff)
-
scripts/extract-messages (modified) (2 diffs)
-
scripts/install-posix (modified) (2 diffs)
-
scripts/new-plugin (modified) (2 diffs)
-
scripts/reset-instance (modified) (4 diffs)
-
scripts/run-tests (modified) (1 diff)
-
scripts/server (modified) (3 diffs)
-
scripts/shell (modified) (4 diffs)
-
scripts/uninstall-posix (modified) (2 diffs)
-
scripts/update-translations (modified) (1 diff)
-
servers/README (modified) (1 diff)
-
servers/zine.cgi (moved) (moved from servers/textpress.cgi) (3 diffs)
-
servers/zine.fcgi (moved) (moved from servers/textpress.fcgi) (3 diffs)
-
servers/zine.wsgi (moved) (moved from servers/textpress.wsgi) (2 diffs)
-
tests/__init__.py (modified) (8 diffs)
-
tests/config.txt (modified) (7 diffs)
-
tests/instance/zine.ini (moved) (moved from tests/instance/textpress.ini) (1 diff)
-
zine/__init__.py (moved) (moved from textpress/__init__.py) (6 diffs)
-
zine/_dynamic/__init__.py (moved) (moved from textpress/_dynamic/__init__.py) (2 diffs)
-
zine/_dynamic/_helper.py (moved) (moved from textpress/_dynamic/_helper.py) (1 diff)
-
zine/_ext/__init__.py (moved) (moved from textpress/_ext/__init__.py) (1 diff)
-
zine/_ext/beautifulsoup.py (moved) (moved from textpress/_ext/beautifulsoup.py)
-
zine/api.py (moved) (moved from textpress/api.py) (3 diffs)
-
zine/application.py (moved) (moved from textpress/application.py) (31 diffs)
-
zine/cache.py (moved) (moved from textpress/cache.py) (4 diffs)
-
zine/config.py (moved) (moved from textpress/config.py) (16 diffs)
-
zine/database.py (moved) (moved from textpress/database.py) (5 diffs)
-
zine/docs/__init__.py (moved) (moved from textpress/docs/__init__.py) (2 diffs)
-
zine/docs/builder.py (moved) (moved from textpress/docs/builder.py) (1 diff)
-
zine/docs/de/index.rst (moved) (moved from textpress/docs/de/index.rst)
-
zine/docs/de/plugins/index.rst (moved) (moved from textpress/docs/de/plugins/index.rst)
-
zine/docs/en/basic-options.png (moved) (moved from textpress/docs/en/basic-options.png)
-
zine/docs/en/index.rst (moved) (moved from textpress/docs/en/index.rst)
-
zine/docs/en/introduction.rst (moved) (moved from textpress/docs/en/introduction.rst)
-
zine/docs/en/plugins/index.rst (moved) (moved from textpress/docs/en/plugins/index.rst)
-
zine/docs/en/select-theme.png (moved) (moved from textpress/docs/en/select-theme.png)
-
zine/docs/en/welcome.png (moved) (moved from textpress/docs/en/welcome.png)
-
zine/environment.py (moved) (moved from textpress/environment.py) (6 diffs)
-
zine/experimental_plugins/hyphenation_en/__init__.py (moved) (moved from textpress/experimental_plugins/hyphenation_en/__init__.py)
-
zine/experimental_plugins/hyphenation_en/hyphenate.py (moved) (moved from textpress/experimental_plugins/hyphenation_en/hyphenate.py)
-
zine/experimental_plugins/hyphenation_en/metadata.txt (moved) (moved from textpress/experimental_plugins/hyphenation_en/metadata.txt)
-
zine/experimental_plugins/notification/__init__.py (moved) (moved from textpress/experimental_plugins/notification/__init__.py)
-
zine/experimental_plugins/notification/metadata.txt (moved) (moved from textpress/experimental_plugins/notification/metadata.txt)
-
zine/fragment.py (moved) (moved from textpress/fragment.py) (2 diffs)
-
zine/htmlhelpers.py (moved) (moved from textpress/htmlhelpers.py) (1 diff)
-
zine/i18n/__init__.py (moved) (moved from textpress/i18n/__init__.py) (15 diffs)
-
zine/i18n/de/messages.po (moved) (moved from textpress/i18n/de/messages.po) (115 diffs)
-
zine/importers/__init__.py (moved) (moved from textpress/importers/__init__.py) (7 diffs)
-
zine/importers/blogger.py (moved) (moved from textpress/importers/blogger.py) (7 diffs)
-
zine/importers/wordpress.py (moved) (moved from textpress/importers/wordpress.py) (2 diffs)
-
zine/models.py (moved) (moved from textpress/models.py) (13 diffs)
-
zine/parsers/__init__.py (moved) (moved from textpress/parsers/__init__.py) (3 diffs)
-
zine/parsers/comments.py (moved) (moved from textpress/parsers/comments.py) (3 diffs)
-
zine/parsers/simplehtml.py (moved) (moved from textpress/parsers/simplehtml.py) (5 diffs)
-
zine/pingback.py (moved) (moved from textpress/pingback.py) (5 diffs)
-
zine/plugins/akismet_spam_filter/__init__.py (moved) (moved from textpress/plugins/akismet_spam_filter/__init__.py) (2 diffs)
-
zine/plugins/akismet_spam_filter/metadata.txt (moved) (moved from textpress/plugins/akismet_spam_filter/metadata.txt)
-
zine/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html (moved) (moved from textpress/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html)
-
zine/plugins/akismet_spam_filter/templates/admin/akismet_widget.html (moved) (moved from textpress/plugins/akismet_spam_filter/templates/admin/akismet_widget.html) (1 diff)
-
zine/plugins/akismet_spam_filter/templates/akismet_widget.html (moved) (moved from textpress/plugins/akismet_spam_filter/templates/akismet_widget.html)
-
zine/plugins/creole_parser/__init__.py (moved) (moved from textpress/plugins/creole_parser/__init__.py) (2 diffs)
-
zine/plugins/creole_parser/metadata.txt (moved) (moved from textpress/plugins/creole_parser/metadata.txt)
-
zine/plugins/eric_the_fish/__init__.py (moved) (moved from textpress/plugins/eric_the_fish/__init__.py) (6 diffs)
-
zine/plugins/eric_the_fish/fortunes.py (moved) (moved from textpress/plugins/eric_the_fish/fortunes.py) (1 diff)
-
zine/plugins/eric_the_fish/metadata.txt (moved) (moved from textpress/plugins/eric_the_fish/metadata.txt)
-
zine/plugins/eric_the_fish/shared/bubble.png (moved) (moved from textpress/plugins/eric_the_fish/shared/bubble.png)
-
zine/plugins/eric_the_fish/shared/eric-blue.png (moved) (moved from textpress/plugins/eric_the_fish/shared/eric-blue.png)
-
zine/plugins/eric_the_fish/shared/eric-green.png (moved) (moved from textpress/plugins/eric_the_fish/shared/eric-green.png)
-
zine/plugins/eric_the_fish/shared/eric-pink.png (moved) (moved from textpress/plugins/eric_the_fish/shared/eric-pink.png)
-
zine/plugins/eric_the_fish/shared/eric-red.png (moved) (moved from textpress/plugins/eric_the_fish/shared/eric-red.png)
-
zine/plugins/eric_the_fish/shared/eric-yellow.png (moved) (moved from textpress/plugins/eric_the_fish/shared/eric-yellow.png)
-
zine/plugins/eric_the_fish/shared/fish.css (moved) (moved from textpress/plugins/eric_the_fish/shared/fish.css)
-
zine/plugins/eric_the_fish/shared/fish.js (moved) (moved from textpress/plugins/eric_the_fish/shared/fish.js) (1 diff)
-
zine/plugins/eric_the_fish/templates/admin/eric_the_fish.html (moved) (moved from textpress/plugins/eric_the_fish/templates/admin/eric_the_fish.html)
-
zine/plugins/markdown_parser/__init__.py (moved) (moved from textpress/plugins/markdown_parser/__init__.py) (2 diffs)
-
zine/plugins/markdown_parser/markdown.py (moved) (moved from textpress/plugins/markdown_parser/markdown.py)
-
zine/plugins/markdown_parser/metadata.txt (moved) (moved from textpress/plugins/markdown_parser/metadata.txt)
-
zine/plugins/miniblog_theme/__init__.py (moved) (moved from textpress/plugins/miniblog_theme/__init__.py) (1 diff)
-
zine/plugins/miniblog_theme/metadata.txt (moved) (moved from textpress/plugins/miniblog_theme/metadata.txt)
-
zine/plugins/miniblog_theme/shared/preview.png (moved) (moved from textpress/plugins/miniblog_theme/shared/preview.png)
-
zine/plugins/miniblog_theme/shared/style.css (moved) (moved from textpress/plugins/miniblog_theme/shared/style.css)
-
zine/plugins/miniblog_theme/templates/_post.html (moved) (moved from textpress/plugins/miniblog_theme/templates/_post.html)
-
zine/plugins/miniblog_theme/templates/_widgets.html (moved) (moved from textpress/plugins/miniblog_theme/templates/_widgets.html)
-
zine/plugins/miniblog_theme/templates/layout.html (moved) (moved from textpress/plugins/miniblog_theme/templates/layout.html) (1 diff)
-
zine/plugins/myrtle_theme/__init__.py (moved) (moved from textpress/plugins/myrtle_theme/__init__.py) (1 diff)
-
zine/plugins/myrtle_theme/metadata.txt (moved) (moved from textpress/plugins/myrtle_theme/metadata.txt)
-
zine/plugins/myrtle_theme/shared/img/code.png (moved) (moved from textpress/plugins/myrtle_theme/shared/img/code.png)
-
zine/plugins/myrtle_theme/shared/img/header.png (moved) (moved from textpress/plugins/myrtle_theme/shared/img/header.png)
-
zine/plugins/myrtle_theme/shared/img/metabg.png (moved) (moved from textpress/plugins/myrtle_theme/shared/img/metabg.png)
-
zine/plugins/myrtle_theme/shared/img/pagebg.png (moved) (moved from textpress/plugins/myrtle_theme/shared/img/pagebg.png)
-
zine/plugins/myrtle_theme/shared/img/quote.png (moved) (moved from textpress/plugins/myrtle_theme/shared/img/quote.png)
-
zine/plugins/myrtle_theme/shared/img/relatedbg.png (moved) (moved from textpress/plugins/myrtle_theme/shared/img/relatedbg.png)
-
zine/plugins/myrtle_theme/shared/img/sidebarbg.png (moved) (moved from textpress/plugins/myrtle_theme/shared/img/sidebarbg.png)
-
zine/plugins/myrtle_theme/shared/preview.png (moved) (moved from textpress/plugins/myrtle_theme/shared/preview.png)
-
zine/plugins/myrtle_theme/shared/style.css (moved) (moved from textpress/plugins/myrtle_theme/shared/style.css)
-
zine/plugins/myrtle_theme/templates/_widgets.html (moved) (moved from textpress/plugins/myrtle_theme/templates/_widgets.html)
-
zine/plugins/myrtle_theme/templates/layout.html (moved) (moved from textpress/plugins/myrtle_theme/templates/layout.html) (1 diff)
-
zine/plugins/pygments_support/__init__.py (moved) (moved from textpress/plugins/pygments_support/__init__.py) (2 diffs)
-
zine/plugins/pygments_support/metadata.txt (moved) (moved from textpress/plugins/pygments_support/metadata.txt)
-
zine/plugins/pygments_support/templates/admin/pygments_support.html (moved) (moved from textpress/plugins/pygments_support/templates/admin/pygments_support.html)
-
zine/plugins/typography/__init__.py (moved) (moved from textpress/plugins/typography/__init__.py) (2 diffs)
-
zine/plugins/typography/metadata.txt (moved) (moved from textpress/plugins/typography/metadata.txt)
-
zine/plugins/typography/shared/script.js (moved) (moved from textpress/plugins/typography/shared/script.js)
-
zine/plugins/typography/shared/style.css (moved) (moved from textpress/plugins/typography/shared/style.css)
-
zine/plugins/typography/templates/admin/typography.html (moved) (moved from textpress/plugins/typography/templates/admin/typography.html)
-
zine/plugins/vessel_theme/__init__.py (moved) (moved from textpress/plugins/vessel_theme/__init__.py) (2 diffs)
-
zine/plugins/vessel_theme/metadata.txt (moved) (moved from textpress/plugins/vessel_theme/metadata.txt)
-
zine/plugins/vessel_theme/shared/gray.css (moved) (moved from textpress/plugins/vessel_theme/shared/gray.css)
-
zine/plugins/vessel_theme/shared/green.css (moved) (moved from textpress/plugins/vessel_theme/shared/green.css)
-
zine/plugins/vessel_theme/shared/preview.png (moved) (moved from textpress/plugins/vessel_theme/shared/preview.png)
-
zine/plugins/vessel_theme/shared/style.css (moved) (moved from textpress/plugins/vessel_theme/shared/style.css)
-
zine/plugins/vessel_theme/templates/_widgets.html (moved) (moved from textpress/plugins/vessel_theme/templates/_widgets.html)
-
zine/plugins/vessel_theme/templates/admin/configure_vessel_theme.html (moved) (moved from textpress/plugins/vessel_theme/templates/admin/configure_vessel_theme.html)
-
zine/plugins/vessel_theme/templates/layout.html (moved) (moved from textpress/plugins/vessel_theme/templates/layout.html) (1 diff)
-
zine/plugins/xapian_search/__init__.py (moved) (moved from textpress/plugins/xapian_search/__init__.py) (3 diffs)
-
zine/plugins/xapian_search/metadata.txt (moved) (moved from textpress/plugins/xapian_search/metadata.txt) (1 diff)
-
zine/plugins/xapian_search/templates/admin/configure_xapian_search.html (moved) (moved from textpress/plugins/xapian_search/templates/admin/configure_xapian_search.html)
-
zine/plugins/xapian_search/templates/search_results.html (moved) (moved from textpress/plugins/xapian_search/templates/search_results.html)
-
zine/plugins/xapian_search/templates/widgets/quicksearch.html (moved) (moved from textpress/plugins/xapian_search/templates/widgets/quicksearch.html)
-
zine/pluginsystem.py (moved) (moved from textpress/pluginsystem.py) (12 diffs)
-
zine/services.py (moved) (moved from textpress/services.py) (1 diff)
-
zine/shared/admin/img/add.png (moved) (moved from textpress/shared/admin/img/add.png)
-
zine/shared/admin/img/banner.png (moved) (moved from textpress/shared/admin/img/banner.png)
-
zine/shared/admin/img/bodybg.png (moved) (moved from textpress/shared/admin/img/bodybg.png)
-
zine/shared/admin/img/border-bl.png (moved) (moved from textpress/shared/admin/img/border-bl.png)
-
zine/shared/admin/img/border-br.png (moved) (moved from textpress/shared/admin/img/border-br.png)
-
zine/shared/admin/img/border-tl.png (moved) (moved from textpress/shared/admin/img/border-tl.png)
-
zine/shared/admin/img/border-tr.png (moved) (moved from textpress/shared/admin/img/border-tr.png)
-
zine/shared/admin/img/configure.png (moved) (moved from textpress/shared/admin/img/configure.png)
-
zine/shared/admin/img/dialogbg.png (moved) (moved from textpress/shared/admin/img/dialogbg.png)
-
zine/shared/admin/img/error.png (moved) (moved from textpress/shared/admin/img/error.png)
-
zine/shared/admin/img/footerbg.png (moved) (moved from textpress/shared/admin/img/footerbg.png)
-
zine/shared/admin/img/info.png (moved) (moved from textpress/shared/admin/img/info.png)
-
zine/shared/admin/img/ok.png (moved) (moved from textpress/shared/admin/img/ok.png)
-
zine/shared/admin/img/remove.png (moved) (moved from textpress/shared/admin/img/remove.png)
-
zine/shared/admin/style.css (moved) (moved from textpress/shared/admin/style.css)
-
zine/shared/default_preview.png (moved) (moved from textpress/shared/default_preview.png)
-
zine/shared/js/Admin.js (moved) (moved from textpress/shared/js/Admin.js) (3 diffs)
-
zine/shared/js/Form.js (moved) (moved from textpress/shared/js/Form.js)
-
zine/shared/js/JSON.js (moved) (moved from textpress/shared/js/JSON.js)
-
zine/shared/js/TextPress.js (moved) (moved from textpress/shared/js/TextPress.js) (6 diffs)
-
zine/shared/js/WidgetManager.js (moved) (moved from textpress/shared/js/WidgetManager.js) (2 diffs)
-
zine/shared/js/jQuery.js (moved) (moved from textpress/shared/js/jQuery.js)
-
zine/templates/403.html (moved) (moved from textpress/templates/403.html)
-
zine/templates/404.html (moved) (moved from textpress/templates/404.html)
-
zine/templates/_comment.html (moved) (moved from textpress/templates/_comment.html) (1 diff)
-
zine/templates/_post.html (moved) (moved from textpress/templates/_post.html)
-
zine/templates/_widgets.html (moved) (moved from textpress/templates/_widgets.html)
-
zine/templates/admin/_comment.html (moved) (moved from textpress/templates/admin/_comment.html)
-
zine/templates/admin/about_zine.html (moved) (moved from textpress/templates/admin/about_textpress.html) (1 diff)
-
zine/templates/admin/approve_comment.html (moved) (moved from textpress/templates/admin/approve_comment.html)
-
zine/templates/admin/basic_options.html (moved) (moved from textpress/templates/admin/basic_options.html)
-
zine/templates/admin/block_comment.html (moved) (moved from textpress/templates/admin/block_comment.html)
-
zine/templates/admin/blogger_perform_import.html (moved) (moved from textpress/templates/admin/blogger_perform_import.html)
-
zine/templates/admin/cache.html (moved) (moved from textpress/templates/admin/cache.html) (3 diffs)
-
zine/templates/admin/change_password.html (moved) (moved from textpress/templates/admin/change_password.html)
-
zine/templates/admin/configuration.html (moved) (moved from textpress/templates/admin/configuration.html)
-
zine/templates/admin/delete_comment.html (moved) (moved from textpress/templates/admin/delete_comment.html)
-
zine/templates/admin/delete_comments.html (moved) (moved from textpress/templates/admin/delete_comments.html)
-
zine/templates/admin/delete_import.html (moved) (moved from textpress/templates/admin/delete_import.html)
-
zine/templates/admin/delete_page.html (moved) (moved from textpress/templates/admin/delete_page.html)
-
zine/templates/admin/delete_post.html (moved) (moved from textpress/templates/admin/delete_post.html)
-
zine/templates/admin/delete_tag.html (moved) (moved from textpress/templates/admin/delete_tag.html)
-
zine/templates/admin/delete_user.html (moved) (moved from textpress/templates/admin/delete_user.html)
-
zine/templates/admin/edit_comment.html (moved) (moved from textpress/templates/admin/edit_comment.html)
-
zine/templates/admin/edit_post.html (moved) (moved from textpress/templates/admin/edit_post.html)
-
zine/templates/admin/edit_tag.html (moved) (moved from textpress/templates/admin/edit_tag.html)
-
zine/templates/admin/edit_user.html (moved) (moved from textpress/templates/admin/edit_user.html)
-
zine/templates/admin/export.html (moved) (moved from textpress/templates/admin/export.html) (2 diffs)
-
zine/templates/admin/file_uploads/browse.html (moved) (moved from textpress/templates/admin/file_uploads/browse.html)
-
zine/templates/admin/file_uploads/config.html (moved) (moved from textpress/templates/admin/file_uploads/config.html) (1 diff)
-
zine/templates/admin/file_uploads/delete.html (moved) (moved from textpress/templates/admin/file_uploads/delete.html)
-
zine/templates/admin/file_uploads/thumbnailer.html (moved) (moved from textpress/templates/admin/file_uploads/thumbnailer.html)
-
zine/templates/admin/file_uploads/upload.html (moved) (moved from textpress/templates/admin/file_uploads/upload.html)
-
zine/templates/admin/help.html (moved) (moved from textpress/templates/admin/help.html)
-
zine/templates/admin/import.html (moved) (moved from textpress/templates/admin/import.html) (1 diff)
-
zine/templates/admin/import_blogger.html (moved) (moved from textpress/templates/admin/import_blogger.html)
-
zine/templates/admin/import_wordpress.html (moved) (moved from textpress/templates/admin/import_wordpress.html) (1 diff)
-
zine/templates/admin/index.html (moved) (moved from textpress/templates/admin/index.html) (3 diffs)
-
zine/templates/admin/information.html (moved) (moved from textpress/templates/admin/information.html) (1 diff)
-
zine/templates/admin/inspect_import.html (moved) (moved from textpress/templates/admin/inspect_import.html)
-
zine/templates/admin/layout.html (moved) (moved from textpress/templates/admin/layout.html) (1 diff)
-
zine/templates/admin/login.html (moved) (moved from textpress/templates/admin/login.html)
-
zine/templates/admin/maintenance.html (moved) (moved from textpress/templates/admin/maintenance.html)
-
zine/templates/admin/pages_config.html (moved) (moved from textpress/templates/admin/pages_config.html)
-
zine/templates/admin/perform_import.html (moved) (moved from textpress/templates/admin/perform_import.html) (1 diff)
-
zine/templates/admin/plugins.html (moved) (moved from textpress/templates/admin/plugins.html) (2 diffs)
-
zine/templates/admin/remove_plugin.html (moved) (moved from textpress/templates/admin/remove_plugin.html)
-
zine/templates/admin/show_comments.html (moved) (moved from textpress/templates/admin/show_comments.html)
-
zine/templates/admin/show_pages.html (moved) (moved from textpress/templates/admin/show_pages.html)
-
zine/templates/admin/show_posts.html (moved) (moved from textpress/templates/admin/show_posts.html)
-
zine/templates/admin/show_tags.html (moved) (moved from textpress/templates/admin/show_tags.html)
-
zine/templates/admin/show_users.html (moved) (moved from textpress/templates/admin/show_users.html)
-
zine/templates/admin/theme.html (moved) (moved from textpress/templates/admin/theme.html)
-
zine/templates/admin/unblock_comment.html (moved) (moved from textpress/templates/admin/unblock_comment.html)
-
zine/templates/admin/url_options.html (moved) (moved from textpress/templates/admin/url_options.html)
-
zine/templates/admin/urls.html (moved) (moved from textpress/templates/admin/urls.html)
-
zine/templates/admin/widgets/html.html (moved) (moved from textpress/templates/admin/widgets/html.html)
-
zine/templates/admin/widgets/latest_comments.html (moved) (moved from textpress/templates/admin/widgets/latest_comments.html)
-
zine/templates/admin/widgets/latest_posts.html (moved) (moved from textpress/templates/admin/widgets/latest_posts.html)
-
zine/templates/admin/widgets/post_archive_summary.html (moved) (moved from textpress/templates/admin/widgets/post_archive_summary.html)
-
zine/templates/admin/widgets/tagcloud.html (moved) (moved from textpress/templates/admin/widgets/tagcloud.html)
-
zine/templates/admin/write_page.html (moved) (moved from textpress/templates/admin/write_page.html)
-
zine/templates/archive.html (moved) (moved from textpress/templates/archive.html)
-
zine/templates/authors.html (moved) (moved from textpress/templates/authors.html)
-
zine/templates/index.html (moved) (moved from textpress/templates/index.html)
-
zine/templates/layout.html (moved) (moved from textpress/templates/layout.html) (1 diff)
-
zine/templates/maintenance.html (moved) (moved from textpress/templates/maintenance.html) (2 diffs)
-
zine/templates/page_base.html (moved) (moved from textpress/templates/page_base.html)
-
zine/templates/show_author.html (moved) (moved from textpress/templates/show_author.html)
-
zine/templates/show_post.html (moved) (moved from textpress/templates/show_post.html)
-
zine/templates/show_tag.html (moved) (moved from textpress/templates/show_tag.html)
-
zine/templates/tag_cloud.html (moved) (moved from textpress/templates/tag_cloud.html)
-
zine/templates/widgets/base.html (moved) (moved from textpress/templates/widgets/base.html)
-
zine/templates/widgets/latest_comments.html (moved) (moved from textpress/templates/widgets/latest_comments.html)
-
zine/templates/widgets/latest_posts.html (moved) (moved from textpress/templates/widgets/latest_posts.html)
-
zine/templates/widgets/pages_navigation.html (moved) (moved from textpress/templates/widgets/pages_navigation.html)
-
zine/templates/widgets/post_archive_summary.html (moved) (moved from textpress/templates/widgets/post_archive_summary.html)
-
zine/templates/widgets/tagcloud.html (moved) (moved from textpress/templates/widgets/tagcloud.html)
-
zine/urls.py (moved) (moved from textpress/urls.py) (3 diffs)
-
zine/utils/__init__.py (moved) (moved from textpress/utils/__init__.py) (2 diffs)
-
zine/utils/admin.py (moved) (moved from textpress/utils/admin.py) (3 diffs)
-
zine/utils/crypto.py (moved) (moved from textpress/utils/crypto.py) (1 diff)
-
zine/utils/dates.py (moved) (moved from textpress/utils/dates.py) (1 diff)
-
zine/utils/mail.py (moved) (moved from textpress/utils/mail.py) (2 diffs)
-
zine/utils/uploads.py (moved) (moved from textpress/utils/uploads.py) (2 diffs)
-
zine/utils/validators.py (moved) (moved from textpress/utils/validators.py) (2 diffs)
-
zine/utils/xml.py (moved) (moved from textpress/utils/xml.py) (5 diffs)
-
zine/utils/xxx.py (moved) (moved from textpress/utils/xxx.py) (7 diffs)
-
zine/views/__init__.py (moved) (moved from textpress/views/__init__.py) (3 diffs)
-
zine/views/admin.py (moved) (moved from textpress/views/admin.py) (16 diffs)
-
zine/views/blog.py (moved) (moved from textpress/views/blog.py) (3 diffs)
-
zine/websetup/__init__.py (moved) (moved from textpress/websetup/__init__.py) (8 diffs)
-
zine/websetup/templates/admin_account.html (moved) (moved from textpress/websetup/templates/admin_account.html) (1 diff)
-
zine/websetup/templates/database.html (moved) (moved from textpress/websetup/templates/database.html) (1 diff)
-
zine/websetup/templates/error.html (moved) (moved from textpress/websetup/templates/error.html) (1 diff)
-
zine/websetup/templates/finished.html (moved) (moved from textpress/websetup/templates/finished.html)
-
zine/websetup/templates/layout.html (moved) (moved from textpress/websetup/templates/layout.html) (2 diffs)
-
zine/websetup/templates/start.html (moved) (moved from textpress/websetup/templates/start.html) (1 diff)
-
zine/websetup/templates/summary.html (moved) (moved from textpress/websetup/templates/summary.html) (1 diff)
-
zine/widgets.py (moved) (moved from textpress/widgets.py) (2 diffs)
-
zine/zxa.py (moved) (moved from textpress/tpxa.py) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
.hgignore
r452 r465 5 5 ^dumps/ 6 6 ^.*\.egg-info/ 7 ^ textpress/i18n/messages\.pot$8 ^ textpress/i18n/.*?/messages.catalog$9 ^ textpress/docs/.*?\.page$7 ^zine/i18n/messages\.pot$ 8 ^zine/i18n/.*?/messages.catalog$ 9 ^zine/docs/.*?\.page$ 10 10 .coverage 11 11 ^docs/_build/ -
AUTHORS
r339 r465 1 TextPressis written and maintained by Armin Ronacher <armin.ronacher@active-4.com>.1 Zine is written and maintained by Armin Ronacher <armin.ronacher@active-4.com>. 2 2 3 3 Other contributors (as mentionend in :copyright:s) are: -
INSTALL
r450 r465 1 TextPress0.1 Alpha Installation Instructions2 ======================================== =====1 Zine 0.1 Alpha Installation Instructions 2 ======================================== 3 3 4 For a working TextPressinstance you need to have the following libraries4 For a working Zine instance you need to have the following libraries 5 5 installed: 6 6 … … 25 25 helps you to create the database tables and an administrator account. 26 26 27 To get access to a python console with the textpressinstance context do this:27 To get access to a python console with the zine instance context do this: 28 28 29 29 $ ./scripts/shell -
artwork/README
r150 r465 1 1 The files in this directory represent the current and not final 2 artwork for TextPress!2 artwork for Zine! -
artwork/logo.svg
r11 r465 3 3 <svg 4 4 xmlns:dc="http://purl.org/dc/elements/1.1/" 5 xmlns:cc="http:// web.resource.org/cc/"5 xmlns:cc="http://creativecommons.org/ns#" 6 6 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 7 7 xmlns:svg="http://www.w3.org/2000/svg" … … 9 9 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 10 10 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 11 width=" 630"12 height="2 10"11 width="700" 12 height="260" 13 13 id="svg2" 14 14 sodipodi:version="0.32" 15 inkscape:version="0.44" 15 inkscape:version="0.46" 16 sodipodi:docname="zine.svg" 17 inkscape:output_extension="org.inkscape.output.svg.inkscape" 16 18 version="1.0" 17 sodipodi:docbase="/home/blackbird/Development/textpress" 18 sodipodi:docname="logo.svg"> 19 inkscape:export-filename="/Users/mitsuhiko/Desktop/zine.png" 20 inkscape:export-xdpi="105.43" 21 inkscape:export-ydpi="105.43"> 19 22 <defs 20 id="defs4" /> 23 id="defs4"> 24 <inkscape:perspective 25 sodipodi:type="inkscape:persp3d" 26 inkscape:vp_x="0 : 526.18109 : 1" 27 inkscape:vp_y="0 : 1000 : 0" 28 inkscape:vp_z="744.09448 : 526.18109 : 1" 29 inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 30 id="perspective10" /> 31 <inkscape:perspective 32 id="perspective3311" 33 inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 34 inkscape:vp_z="744.09448 : 526.18109 : 1" 35 inkscape:vp_y="0 : 1000 : 0" 36 inkscape:vp_x="0 : 526.18109 : 1" 37 sodipodi:type="inkscape:persp3d" /> 38 </defs> 21 39 <sodipodi:namedview 22 40 id="base" … … 30 48 inkscape:pageshadow="2" 31 49 inkscape:zoom="1.4" 32 inkscape:cx="35 1.98687"33 inkscape:cy=" 30.494969"50 inkscape:cx="352.05213" 51 inkscape:cy="102.17884" 34 52 inkscape:document-units="px" 35 53 inkscape:current-layer="layer1" 54 showgrid="false" 55 inkscape:window-width="1440" 56 inkscape:window-height="852" 57 inkscape:window-x="0" 58 inkscape:window-y="22" 36 59 showguides="true" 37 inkscape:guide-bbox="true" 38 width="630px" 39 height="210px" 40 units="px" 41 inkscape:window-width="1400" 42 inkscape:window-height="968" 43 inkscape:window-x="0" 44 inkscape:window-y="33" /> 60 inkscape:guide-bbox="true" /> 45 61 <metadata 46 62 id="metadata7"> … … 57 73 inkscape:label="Layer 1" 58 74 inkscape:groupmode="layer" 59 id="layer1" 60 transform="translate(-22.69223,-16.51978)"> 75 id="layer1"> 61 76 <path 62 transform="scale(0.950754,1.051797)" 63 style="font-size:209.93206787px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#e3e3e3;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Exmouth" 64 d="M 31.380449,167.81234 C 31.380433,165.21555 32.200479,163.06293 33.84059,161.35447 C 35.480664,159.57773 37.564949,158.68935 40.09345,158.68932 C 41.870192,158.68935 43.37361,159.40689 44.603709,160.84194 C 45.902086,162.27705 46.551289,163.88298 46.551321,165.65972 C 46.551289,167.16316 46.004592,168.70075 44.911226,170.27249 C 43.886139,171.84426 42.621901,172.63014 41.118508,172.63012 C 38.863355,172.63014 36.779071,171.94677 34.865649,170.58 C 36.984082,180.48891 47.849696,185.44336 67.462523,185.44336 C 82.633328,185.44336 95.48072,181.61648 106.00474,173.9627 C 113.52174,168.56407 122.71309,158.48434 133.57882,143.72346 L 157.15518,111.63912 C 162.9637,103.78042 173.04343,92.880633 187.39442,78.939736 C 202.22342,64.384023 213.29404,54.850985 220.60633,50.340592 L 221.9389,50.033074 L 222.75895,50.955627 L 222.45143,52.083192 C 220.12776,54.748479 216.54006,58.165339 211.68831,62.333781 C 206.42615,66.844162 202.77011,70.158516 200.72018,72.276853 C 192.92956,80.614107 181.14139,97.185876 165.35565,121.99221 C 151.61972,143.58683 139.21652,158.86019 128.14601,167.81234 C 111.47162,181.20646 91.141308,187.9035 67.155005,187.9035 C 58.134444,187.9035 50.583184,186.7076 44.501203,184.31579 C 35.754013,180.89894 31.380433,175.39779 31.380449,167.81234 M 161.46043,42.960167 C 144.85434,42.960313 129.23929,46.137993 114.61523,52.493215 C 95.754069,60.625478 86.323536,71.901115 86.323607,86.32016 C 86.323536,91.99225 89.193698,96.229156 94.934102,99.030891 C 99.37594,101.28611 104.70624,102.41367 110.92502,102.41359 C 120.28712,102.41367 130.87939,99.611847 142.70185,94.008102 C 156.57417,87.447826 163.5104,80.067409 163.51054,71.866829 C 163.5104,68.176738 162.04115,65.306576 159.10279,63.256334 C 156.50583,61.411356 153.29399,60.488803 149.46724,60.488675 C 133.54454,60.488803 117.96366,67.322523 102.72455,80.989854 C 100.60601,83.381763 97.223318,86.730286 92.576467,91.035431 L 91.653913,91.240443 L 90.936372,90.420396 L 91.24389,89.292831 C 94.729011,82.185862 103.23699,75.112963 116.76786,68.074111 C 129.75182,61.377187 140.44659,58.028665 148.8522,58.028534 C 153.22565,58.028665 157.01836,59.019554 160.23036,61.001204 C 164.05709,63.393134 165.97053,66.673319 165.97069,70.84177 C 165.97053,80.409095 158.9318,88.746233 144.85447,95.853208 C 132.89533,102.00365 121.58553,105.07882 110.92502,105.07874 C 103.88619,105.07882 97.872522,103.64374 92.883984,100.77349 C 86.870234,97.288382 83.863397,92.23143 83.863466,85.602619 C 83.863397,79.794061 85.366815,74.737108 88.373725,70.431747 C 99.102591,55.192671 116.87026,45.454621 141.67679,41.217567 C 152.81563,39.304274 173.96599,38.347553 205.12794,38.347402 C 212.91819,38.347553 224.56968,38.41589 240.08245,38.552414 C 255.6631,38.620902 267.34876,38.65507 275.13946,38.65492 C 281.35789,38.65507 286.07315,38.005867 289.28527,36.707308 C 291.54013,35.750739 295.46952,33.188095 301.07345,29.019366 L 301.996,28.609342 L 303.22608,30.044425 L 302.81605,31.069484 C 291.54013,43.165325 272.88407,49.213167 246.84783,49.213027 C 237.21206,49.213167 222.92959,48.188109 204.00037,46.13785 C 185.07078,44.01954 170.89081,42.960313 161.46043,42.960167 M 198.97758,166.37726 L 200.00264,168.01736 L 199.59261,169.04242 C 180.93654,182.50486 168.05498,189.23608 160.94789,189.23608 C 151.99573,189.23608 147.51965,185.78505 147.51962,178.88298 C 147.51965,171.50257 152.20075,164.05382 161.56293,156.5367 C 170.51511,149.36132 178.74975,145.77362 186.26685,145.77358 C 190.57208,145.77362 192.7247,147.55039 192.72472,151.10388 C 192.7247,155.20415 189.44452,158.82602 182.88415,161.96951 C 176.80214,164.56635 170.72013,167.19733 164.63811,169.86246 C 158.07774,173.27934 154.79756,177.44791 154.79754,182.36818 C 154.79756,184.82833 156.33515,186.0584 159.41031,186.05839 C 165.90235,186.0584 174.06865,182.77821 183.90921,176.21783 C 193.8181,169.65747 198.84088,166.37728 198.97758,166.37726 M 166.58572,164.94218 C 181.96159,159.88525 189.64953,155.30666 189.64954,151.20639 C 189.64953,149.63467 188.89782,148.84879 187.39441,148.84875 C 182.13244,148.84879 175.19621,154.21326 166.58572,164.94218 M 264.06883,153.0515 C 264.06878,157.97181 261.84782,160.43195 257.40594,160.43192 C 254.67242,160.43195 253.30567,159.0652 253.30571,156.33168 C 253.30567,152.70985 255.15078,150.89891 258.84102,150.89887 C 259.31935,150.89891 259.79771,150.96725 260.27611,151.10388 C 259.31935,150.1472 258.26012,149.66884 257.09842,149.6688 C 253.20317,149.66884 246.43779,154.45244 236.80226,164.01963 C 227.1667,173.51852 222.34893,180.1814 222.34893,184.00828 C 222.34893,185.78505 224.70656,186.67343 229.42183,186.67343 C 234.06875,186.67343 240.32161,184.21329 248.18041,179.293 C 254.19406,175.46613 259.76354,171.22923 264.88887,166.58227 L 266.11894,168.11986 C 265.77721,171.60508 260.48108,176.11533 250.23053,181.65064 C 240.45828,186.98095 233.45372,189.6461 229.21682,189.6461 C 221.2897,189.6461 217.32614,186.33175 217.32614,179.70303 C 207.55392,185.85338 200.75437,188.92856 196.92747,188.92856 C 191.52885,188.92856 188.82953,186.84427 188.8295,182.6757 C 188.82953,177.00372 191.28967,174.16772 196.20992,174.16771 C 199.01177,174.16772 200.41269,175.73948 200.41267,178.88298 C 200.41269,183.25657 197.57669,184.965 191.90468,184.00828 C 192.9981,185.23835 194.36485,185.85338 196.00491,185.85338 C 200.85688,185.85338 208.51064,181.20646 218.96623,171.91258 C 229.35349,162.61874 234.54711,155.64835 234.54713,151.00138 C 234.54711,149.83968 233.6929,149.25882 231.98448,149.25878 C 225.01408,149.25882 214.14846,155.92169 199.38761,169.24743 L 197.95252,167.81234 C 197.95255,165.01054 202.97533,160.67113 213.02089,154.7941 C 222.72478,149.12214 229.28515,146.28615 232.70202,146.28611 C 234.75213,146.28615 236.52889,147.1062 238.03233,148.74625 C 239.53573,150.38638 240.28744,152.19732 240.28746,154.17906 C 246.91615,149.46383 252.17811,147.1062 256.07337,147.10615 C 261.40363,147.1062 264.06878,149.08797 264.06883,153.0515 M 264.17132,169.24743 L 263.24877,167.81234 L 263.86381,166.58227 C 283.27159,153.46156 297.34905,142.01508 306.09623,132.2428 L 300.76593,132.2428 L 299.02333,130.91022 C 299.57001,129.68021 302.74769,129.16768 308.55638,129.37263 L 326.3924,109.38399 L 338.38559,109.38399 L 320.34455,129.37263 L 333.2603,129.37263 L 334.59287,130.80772 C 334.38781,132.03784 328.98917,132.51621 318.39694,132.2428 C 310.19645,141.3317 301.99598,150.42055 293.79553,159.50937 C 280.26476,174.74859 273.39687,183.08573 273.19184,184.5208 L 274.72943,185.44336 C 282.65656,185.85338 294.61557,179.56636 310.60649,166.58227 L 311.52905,168.01736 C 311.46068,170.88754 305.8912,175.19278 294.82059,180.9331 C 284.22831,186.40008 277.05291,189.13357 273.29435,189.13357 C 269.05746,189.13357 266.939,186.98095 266.93898,182.6757 C 266.939,177.82376 269.29664,172.66431 274.01189,167.19731 C 278.18047,163.02876 282.34904,158.86019 286.51761,154.69159 C 279.82056,159.33855 272.37181,164.19049 264.17132,169.24743 M 353.35144,169.65745 C 353.35142,167.19733 354.10313,164.90803 355.60657,162.78956 C 357.1783,160.67113 359.16008,159.6119 361.55191,159.61187 C 363.39699,159.6119 365.00291,160.32944 366.36969,161.7645 C 367.7364,163.19961 368.41977,164.8397 368.41981,166.68478 C 368.41977,171.33173 366.36965,173.6552 362.26945,173.65518 C 361.24437,173.6552 360.1168,173.45018 358.88676,173.04015 C 361.27853,181.99233 371.35827,186.46842 389.126,186.46842 C 405.66354,186.46842 423.15786,178.02878 441.60901,161.14946 C 448.78431,154.65746 464.70688,137.02646 489.37676,108.25642 C 508.98938,85.431879 525.3903,70.090179 538.57959,62.231275 C 532.77072,55.124334 524.91194,49.657358 515.00323,45.830332 C 505.98254,42.276941 496.51784,40.500174 486.6091,40.500026 C 473.89823,40.500174 459.61576,43.233662 443.76164,48.700497 C 426.2672,54.782648 412.0189,62.573088 401.01668,72.071841 C 388.10088,83.279257 381.64302,95.477446 381.64307,108.66644 C 381.64302,116.25195 384.88903,122.26563 391.38113,126.70748 C 397.05305,130.53443 403.81844,132.44787 411.67729,132.44781 C 425.27632,132.44787 440.13966,127.56176 456.26736,117.78947 C 474.17158,106.85559 483.12375,95.067423 483.1239,82.424936 C 483.12375,77.231416 481.07363,73.267859 476.97355,70.534252 C 473.48821,68.210906 469.04629,67.049174 463.64778,67.049052 C 444.23989,67.049174 422.91868,81.092467 399.6841,109.17897 C 397.63392,111.8442 395.31046,114.64603 392.7137,117.58446 L 391.68864,116.35439 C 395.5838,105.55718 405.56104,94.281546 421.62036,82.527442 C 437.95286,70.568539 451.82532,64.589035 463.23776,64.588911 C 469.52465,64.589035 474.71827,65.955779 478.81865,68.689146 C 483.53377,71.901115 485.89141,76.513875 485.89156,82.527442 C 485.89141,97.288382 477.28092,110.06744 460.06007,120.86465 C 444.82075,130.43192 429.37655,135.21552 413.72741,135.21547 C 404.50181,135.21552 396.6772,133.30208 390.25356,129.47514 C 382.5314,124.82827 378.67035,118.13123 378.6704,109.38399 C 378.67035,88.746233 391.9961,71.183574 418.64769,56.695957 C 441.40389,44.25872 464.05767,38.040035 486.6091,38.039885 C 509.50191,38.040035 527.50876,45.557127 540.62971,60.591181 C 543.97802,58.541193 549.23998,55.568526 556.41561,51.673168 C 565.02588,47.026376 570.01449,44.702912 571.38147,44.702768 C 572.26962,44.702912 572.81632,45.215441 573.02157,46.240356 L 572.50904,47.162909 C 560.48145,52.698363 550.36755,57.926159 542.16729,62.846311 C 546.74568,70.910225 549.03497,78.051462 549.03519,84.270042 C 549.03497,93.017307 545.9598,100.91025 539.80966,107.9489 C 533.38576,115.26106 525.90283,118.9171 517.36087,118.91703 C 514.90054,118.9171 512.71375,118.13123 510.80049,116.5594 C 508.88687,114.91938 507.93015,112.86926 507.93033,110.40904 C 507.93015,106.85559 510.73198,102.61868 516.33581,97.698314 C 521.93928,92.778127 526.55204,90.352157 530.1741,90.420396 L 530.99415,91.752972 L 530.1741,93.085549 C 517.53153,98.210934 511.21034,104.05376 511.21051,110.61406 C 511.21034,113.14261 512.30373,114.40685 514.4907,114.40677 C 521.39258,114.40685 528.15796,109.89659 534.78687,100.876 C 541.07369,92.333936 544.2172,84.475158 544.21741,77.299641 C 544.2172,73.062847 542.81629,68.757604 540.01467,64.383899 C 534.13746,68.210906 528.3288,73.677882 522.58867,80.784842 C 521.90511,81.604996 517.15567,88.09703 508.34035,100.26096 C 492.89597,121.58225 482.50871,135.38637 477.17856,141.67334 C 464.60437,156.5709 452.167,167.74403 439.86641,175.19277 C 424.62711,184.34997 408.12368,188.92856 390.35607,188.92856 C 381.81386,188.92856 374.19426,187.69849 367.49725,185.23835 C 358.06669,181.82149 353.35142,176.62786 353.35144,169.65745 M 480.66378,166.78729 C 489.27429,159.6119 495.59548,153.93992 499.62737,149.77131 C 497.0989,148.9513 495.83466,147.34538 495.83465,144.95353 C 495.83466,140.85334 497.95311,138.80323 502.19001,138.80318 C 504.9235,138.80323 506.29025,140.20414 506.29025,143.00592 C 506.29025,144.64606 505.64104,145.97863 504.34264,147.00365 C 508.44287,147.00369 512.13308,146.49116 515.41327,145.46606 L 519.411,153.56403 C 514.55905,158.75769 509.70711,163.95131 504.85517,169.14492 C 497.06473,177.68709 493.16951,182.60737 493.1695,183.90577 C 493.16951,184.8625 493.85288,185.34086 495.21961,185.34085 C 502.60004,185.34086 514.14903,179.088 529.86661,166.58227 L 531.09668,168.22237 C 531.02831,170.47752 525.32216,174.57775 513.97819,180.52308 C 502.97589,186.26341 495.86883,189.13357 492.65697,189.13357 C 488.35173,189.13357 486.19911,186.57093 486.1991,181.44563 C 486.19911,177.3454 489.5818,171.50257 496.34718,163.91712 C 500.99412,159.20188 505.64104,154.48661 510.28798,149.77131 C 507.89617,150.18137 505.67521,150.31804 503.6251,150.18133 C 491.11939,162.68708 483.70481,169.00827 481.38132,169.14492 L 480.25375,167.70984 L 480.66378,166.78729 M 576.60926,166.37726 L 577.63432,168.01736 L 577.2243,169.04242 C 558.56822,182.50486 545.68666,189.23608 538.57958,189.23608 C 529.62742,189.23608 525.15133,185.78505 525.1513,178.88298 C 525.15133,171.50257 529.83243,164.05382 539.19461,156.5367 C 548.1468,149.36132 556.38143,145.77362 563.89853,145.77358 C 568.20376,145.77362 570.35639,147.55039 570.3564,151.10388 C 570.35639,155.20415 567.0762,158.82602 560.51584,161.96951 C 554.43382,164.56635 548.35181,167.19733 542.26979,169.86246 C 535.70943,173.27934 532.42924,177.44791 532.42922,182.36818 C 532.42924,184.82833 533.96683,186.0584 537.04199,186.05839 C 543.53404,186.0584 551.70033,182.77821 561.5409,176.21783 C 571.44978,169.65747 576.47256,166.37728 576.60926,166.37726 M 544.2174,164.94218 C 559.59328,159.88525 567.28121,155.30666 567.28123,151.20639 C 567.28121,149.63467 566.5295,148.84879 565.0261,148.84875 C 559.76412,148.84879 552.8279,154.21326 544.2174,164.94218 M 611.46132,172.83513 C 614.12645,172.35679 618.80755,170.2725 625.50462,166.58227 L 626.63219,167.91485 C 626.63216,169.6233 624.10368,171.43424 619.04675,173.34766 C 614.67315,175.05611 611.32463,175.97866 609.00117,176.11532 C 598.81892,185.13584 589.62757,189.6461 581.42709,189.6461 C 574.86674,189.6461 571.58655,187.04929 571.58652,181.85565 C 571.58655,176.45702 573.84168,173.7577 578.35191,173.75769 C 581.29043,173.7577 582.75968,175.02194 582.75967,177.5504 C 582.75968,181.85566 580.23121,183.93994 575.17423,183.80326 C 575.31093,185.71671 576.84852,186.67343 579.787,186.67343 C 591.54101,186.67343 601.65492,173.31351 610.12874,146.59362 C 607.80526,148.23376 596.87131,155.78502 577.32685,169.24743 L 575.89177,167.40232 C 576.16514,166.85564 583.64807,161.3545 598.34056,150.89887 C 613.03306,140.44332 621.02851,135.04468 622.32694,134.70294 L 623.86453,136.44554 C 621.74605,138.15402 618.56837,140.71667 614.33148,144.13348 C 614.12645,145.29526 614.02395,146.79868 614.02396,148.64374 C 614.02395,149.87385 614.19479,151.68479 614.53649,154.07655 C 614.9465,156.46839 615.15151,158.27933 615.15153,159.50937 C 615.15151,164.36134 613.92144,168.80325 611.46132,172.83513 M 661.07417,172.83513 C 663.73931,172.35679 668.42041,170.2725 675.11748,166.58227 L 676.24504,167.91485 C 676.24501,169.6233 673.71654,171.43424 668.65961,173.34766 C 664.28601,175.05611 660.93748,175.97866 658.61403,176.11532 C 648.43178,185.13584 639.24042,189.6461 631.03994,189.6461 C 624.47959,189.6461 621.19941,187.04929 621.19938,181.85565 C 621.19941,176.45702 623.45453,173.7577 627.96477,173.75769 C 630.90329,173.7577 632.37254,175.02194 632.37252,177.5504 C 632.37254,181.85566 629.84406,183.93994 624.78708,183.80326 C 624.92378,185.71671 626.46137,186.67343 629.39985,186.67343 C 641.15387,186.67343 651.26777,173.31351 659.74159,146.59362 C 657.41812,148.23376 646.48417,155.78502 626.93971,169.24743 L 625.50463,167.40232 C 625.778,166.85564 633.26092,161.3545 647.95342,150.89887 C 662.64591,140.44332 670.64136,135.04468 671.93979,134.70294 L 673.47738,136.44554 C 671.35891,138.15402 668.18123,140.71667 663.94434,144.13348 C 663.73931,145.29526 663.6368,146.79868 663.63682,148.64374 C 663.6368,149.87385 663.80765,151.68479 664.14935,154.07655 C 664.55935,156.46839 664.76437,158.27933 664.76438,159.50937 C 664.76437,164.36134 663.5343,168.80325 661.07417,172.83513" 65 id="text2770" /> 77 style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" 78 d="M 495.24681,169.98288 C 493.82081,176.87409 491.44453,183.76529 488.11799,190.65646 C 485.02859,197.54766 481.10774,203.72598 476.35542,209.19142 C 471.60265,214.65681 466.25605,218.57767 460.31557,220.95397 C 454.37468,223.3302 447.83994,224.51835 440.71131,224.51838 C 429.06739,224.51835 416.11671,222.97377 401.85922,219.88464 C 387.83906,217.03309 373.10618,213.82513 357.66052,210.26072 C 342.21463,206.69631 326.1748,203.25071 309.54097,199.92393 C 293.14461,196.83478 276.74835,195.05256 260.35208,194.57732 C 259.16393,194.33969 258.33224,193.74563 257.857,192.79512 C 257.61935,191.60698 258.45105,191.01291 260.35208,191.01291 C 266.53037,191.01291 271.9958,188.99308 276.74838,184.95341 C 280.55039,181.86427 286.01581,177.23054 293.14468,171.05219 C 300.51108,164.87392 308.82803,157.86392 318.09555,150.02217 C 327.36295,141.9429 337.10566,133.38831 347.32373,124.35841 C 357.77922,115.32864 367.75957,106.41763 377.26479,97.62532 C 387.00738,88.595591 396.03719,80.041001 404.3543,71.961561 C 412.67111,63.6447 419.32468,56.397087 424.31502,50.218629 C 426.21585,47.842492 427.16637,46.17911 427.16656,45.228447 C 427.16637,43.327593 424.7901,42.377081 420.03772,42.376923 C 407.91856,42.377081 395.20551,42.733524 381.89851,43.446243 C 368.82889,43.921644 357.42278,44.753336 347.68016,45.941335 C 341.0265,46.654361 335.08583,47.842492 329.8581,49.505742 C 324.63022,51.169281 320.59057,53.307923 317.7391,55.921684 C 315.60039,58.060465 314.53106,57.822843 314.53114,55.208795 C 316.43209,51.169281 318.09548,48.080127 319.52132,45.941335 C 320.94701,43.802836 323.20446,42.495889 326.2937,42.020478 C 334.37294,41.307751 343.75921,40.8325 354.45255,40.594715 C 365.38329,40.119622 376.31415,39.763178 387.24514,39.525385 C 393.66092,39.525553 400.78975,39.406735 408.63161,39.16895 C 416.71076,38.931483 424.31483,38.812665 431.44384,38.812507 C 438.57248,38.57504 444.86959,38.456232 450.33522,38.456074 C 455.80044,38.218597 459.24604,38.099779 460.67202,38.09963 C 463.04808,38.099779 464.11739,38.693848 463.87999,39.881837 C 463.87977,41.070125 463.04808,41.783011 461.3849,42.020478 C 460.19654,42.258263 458.88961,42.97115 457.46404,44.15913 C 456.03807,45.10978 454.73112,46.17911 453.54319,47.367092 C 448.07756,51.882168 441.54282,57.58521 433.93892,64.476267 C 426.5723,71.129991 418.37416,78.496421 409.34449,86.575631 C 400.55211,94.41744 391.28465,102.7344 381.54209,111.52653 C 372.03684,120.31883 362.65058,129.22985 353.38322,138.25961 C 344.11567,147.05187 335.08583,155.60646 326.2937,163.92337 C 317.73904,172.24036 310.01616,179.96326 303.12503,187.09205 C 301.93682,188.75545 301.34276,189.9436 301.34281,190.65646 C 301.34276,192.08224 302.41208,193.15155 304.55077,193.86443 C 309.77853,195.29021 317.14498,197.07241 326.65014,199.21106 C 336.39278,201.58733 347.086,203.84478 358.72984,205.98344 C 370.6111,208.12207 382.84889,209.90428 395.44328,211.33005 C 408.03738,212.7558 419.91874,213.46868 431.0874,213.4687 C 449.62213,213.46868 463.64215,209.66665 473.14745,202.06258 C 482.88996,194.4585 489.30589,183.52764 492.39528,169.27 C 492.87028,167.84426 493.46435,167.13138 494.17749,167.13134 C 494.89012,167.13138 495.24656,168.08189 495.24681,169.98288 M 490.15638,68.753581 C 490.15628,71.605251 488.84935,74.456781 486.23553,77.308181 C 483.85918,80.159831 481.12646,81.585581 478.03738,81.585471 C 475.18578,81.585581 473.76003,80.159831 473.76009,77.308181 C 473.76003,74.219141 474.82934,71.248801 476.96806,68.397141 C 479.34425,65.545731 482.19578,64.119966 485.52266,64.119839 C 488.61171,64.119966 490.15628,65.664541 490.15638,68.753581 M 506.19624,148.23996 C 500.49308,155.60646 493.95834,162.61645 486.59197,169.27 C 479.22544,175.92358 472.45307,181.2702 466.27482,185.30985 C 461.52222,188.39901 456.65086,190.77529 451.66073,192.43867 C 446.67052,194.10207 442.1556,194.93376 438.11598,194.93376 C 436.69017,194.93376 435.02678,194.81494 433.1258,194.57732 C 431.22474,194.33969 429.44254,193.74563 427.77918,192.79512 C 426.3534,191.84462 425.04645,190.65648 423.85832,189.23071 C 422.9078,187.56733 422.43255,185.42867 422.43257,182.81476 C 422.43255,179.72562 423.62068,175.56714 425.99697,170.33933 C 428.37322,164.87392 431.10593,159.28969 434.19512,153.58659 C 437.52187,147.88358 440.72984,142.41815 443.81902,137.19029 C 447.14577,131.96255 449.75968,128.04171 451.66073,125.42773 C 452.84883,123.52678 454.86866,121.98221 457.72024,120.794 C 460.80934,119.36831 462.82917,118.65543 463.77974,118.65535 C 464.96781,118.65543 465.56188,119.01187 465.56195,119.72467 C 465.56188,120.20001 465.32426,120.9129 464.84906,121.86331 C 464.61138,122.8139 464.25492,123.52678 463.77974,124.00197 C 460.69052,128.75458 457.48255,133.98238 454.15583,139.68538 C 451.06661,145.38849 448.21509,150.97273 445.60124,156.43812 C 442.98731,161.66597 440.84864,166.5373 439.1853,171.05219 C 437.75949,175.56714 437.04662,179.13156 437.04665,181.74543 C 437.04662,184.59698 437.75949,186.73563 439.1853,188.16138 C 440.84864,189.34952 442.98731,189.9436 445.60124,189.94358 C 450.35374,189.9436 455.58154,188.39901 461.28465,185.30985 C 466.98764,181.98307 472.57188,178.06223 478.03738,173.5473 C 483.74037,169.0324 488.96816,164.27984 493.7208,159.28964 C 498.47325,154.29951 502.15647,150.02222 504.77048,146.45777 C 505.95852,145.26968 506.55257,145.03205 506.55267,145.74488 C 506.7902,146.22019 506.67139,147.05187 506.19624,148.23996 M 600.02938,148.95285 C 595.75195,154.89358 590.76178,160.95307 585.05884,167.13134 C 579.59331,173.07206 573.65261,178.41867 567.23679,183.17121 C 561.05839,187.92376 554.64243,191.84462 547.98897,194.93376 C 541.57294,198.02291 535.27582,199.56749 529.09758,199.56749 C 526.24599,199.56749 523.63209,199.09224 521.25588,198.14172 C 518.87956,197.42884 517.69142,195.40901 517.69147,192.08224 C 517.69142,188.75545 518.87956,184.59698 521.25588,179.60679 C 523.63209,174.379 526.36481,168.91358 529.45402,163.21049 C 532.78074,157.50748 536.10752,151.68562 539.43437,145.74488 C 542.99871,139.80425 545.85024,134.33882 547.98897,129.34859 C 548.46414,128.16051 548.46414,127.21 547.98897,126.49706 C 547.75125,125.54662 547.03837,125.4278 545.85032,126.14061 C 543.23634,127.80407 540.14719,130.06154 536.58285,132.91299 C 533.01837,135.76458 529.33514,138.85375 525.53318,142.18047 C 521.9687,145.26968 518.4043,148.47765 514.83994,151.80438 C 511.51311,155.1312 508.7804,158.10155 506.6418,160.7154 C 502.83971,166.65612 499.51293,172.12155 496.66144,177.1117 C 494.04751,182.10189 490.72073,187.68614 486.68109,193.86443 C 485.73057,195.29021 485.01768,196.00309 484.54243,196.00309 C 483.35428,196.00309 482.28495,194.69614 481.33447,192.08224 C 480.62157,189.46834 480.26514,187.80494 480.26514,187.09205 C 480.26514,184.95342 481.6909,182.10189 484.54243,178.53746 C 487.63158,174.73545 490.95835,170.57697 494.52279,166.06203 C 498.3248,158.45799 502.24564,150.49748 506.28535,142.18047 C 510.32498,133.62593 513.77056,126.02186 516.62214,119.36823 C 517.33497,118.18017 518.4043,117.5861 519.8301,117.58602 C 521.25583,117.5861 522.56278,118.18017 523.75096,119.36823 C 524.93904,120.55644 525.53311,121.8634 525.53318,123.28909 C 525.53311,124.23966 523.7509,127.56644 520.18655,133.26944 C 516.85972,138.73493 513.53294,145.15085 510.2062,152.51726 C 514.72107,148.47765 519.59244,144.20035 524.82029,139.68538 C 530.28567,135.17051 535.39464,131.01205 540.14726,127.20994 C 545.13736,123.40797 549.41466,120.31883 552.97914,117.94247 C 556.78109,115.32864 559.395,114.02169 560.82085,114.02161 C 561.77125,114.02169 562.60296,114.61576 563.31593,115.80381 C 564.26635,116.75441 564.7416,117.70492 564.7417,118.65535 C 564.7416,119.60594 564.14753,121.0317 562.95949,122.93264 C 560.34551,126.73476 557.13754,131.60613 553.33558,137.54673 C 549.53346,143.48746 545.85024,149.66578 542.28591,156.08167 C 538.95905,162.26002 536.10752,168.2007 533.73131,173.90373 C 531.35499,179.60681 530.16685,184.12172 530.16691,187.4485 C 530.16685,190.30003 530.76092,192.31986 531.94911,193.50799 C 533.13718,194.4585 535.03821,194.93376 537.65217,194.93376 C 541.69176,194.93376 546.44431,193.38919 551.90983,190.30002 C 557.37516,187.21087 562.95939,183.40884 568.66254,178.89391 C 574.60313,174.14138 580.18738,168.91358 585.41529,163.21049 C 590.64296,157.50748 594.92026,152.04206 598.24717,146.8142 C 598.7223,146.10137 599.43518,145.98256 600.38581,146.45777 C 601.33618,146.69543 601.21737,147.52713 600.02938,148.95285 M 670.93889,152.51726 C 666.89912,157.50748 662.02776,162.73527 656.3248,168.20067 C 650.85929,173.42849 644.79979,178.29986 638.14631,182.81476 C 631.73029,187.09206 624.95792,190.65648 617.82915,193.50799 C 610.93791,196.1219 604.04673,197.42884 597.15556,197.42884 C 585.98705,197.42884 580.40282,192.43867 580.40284,182.45832 C 580.40282,175.80477 582.0662,168.67595 585.39301,161.07185 C 588.9574,153.23019 593.47232,146.10137 598.93778,139.68538 C 604.40317,133.03187 610.34384,127.56644 616.75983,123.28909 C 623.41334,118.77424 629.71046,116.51679 635.65122,116.5167 C 638.97792,116.51679 641.23538,117.11086 642.42361,118.2989 C 643.84929,119.48712 644.56215,121.0317 644.56225,122.93264 C 644.56215,125.78424 643.61165,128.8734 641.71072,132.20011 C 640.04726,135.52695 637.43334,138.73493 633.86901,141.82403 C 630.30453,144.67561 625.78961,147.1707 620.32423,149.30928 C 614.85876,151.21035 608.324,152.16086 600.71997,152.16082 C 599.5318,154.29951 598.22485,157.74511 596.79913,162.49761 C 595.37333,167.01257 594.66045,171.6463 594.66047,176.39882 C 594.66045,186.14155 599.05654,191.01291 607.8488,191.01291 C 613.31419,191.01291 618.89841,189.70596 624.60154,187.09205 C 630.54215,184.47817 636.2452,181.2702 641.71072,177.46814 C 647.17606,173.42849 652.16624,169.15121 656.68124,164.63625 C 661.4337,159.88375 665.35455,155.48764 668.4438,151.44793 C 668.91894,150.97273 669.3942,150.85392 669.86957,151.09149 C 670.58234,151.32917 670.93878,151.80442 670.93889,152.51726 M 633.51256,124.71486 C 633.5125,121.62578 631.96792,120.08119 628.87883,120.08111 C 626.50249,120.08119 624.00742,121.0317 621.39357,122.93264 C 619.01723,124.59611 616.64095,126.85356 614.26474,129.70502 C 611.88842,132.55661 609.63096,135.64577 607.49236,138.97249 C 605.35367,142.29934 603.57147,145.5073 602.14575,148.5964 C 602.62096,148.83408 603.45266,149.07171 604.64083,149.30928 C 605.82892,149.30934 606.77942,149.30934 607.49236,149.30928 C 614.38351,149.30934 620.443,146.93307 625.67086,142.18047 C 630.89859,137.19035 633.5125,131.36848 633.51256,124.71486" 79 id="text2383" /> 80 <flowRoot 81 xml:space="preserve" 82 id="flowRoot2418" 83 style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"><flowRegion 84 id="flowRegion2420"><rect 85 id="rect2422" 86 width="119.198" 87 height="32.324883" 88 x="234.35539" 89 y="463.44324" /></flowRegion><flowPara 90 id="flowPara2424"></flowPara></flowRoot> <text 91 xml:space="preserve" 92 style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" 93 x="157.14285" 94 y="149.50504" 95 id="text2426"><tspan 96 sodipodi:role="line" 97 id="tspan2428" 98 x="157.14285" 99 y="149.50504" 100 style="font-size:144px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Zapfino;-inkscape-font-specification:Zapfino Bold Italic" /></text> 66 101 <path 67 style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Gill Sans MT"68 d="M 62.317375,64.823151 L 144.37206,64.823151 L 144.37206,77.338776 L 110.12988,77.338776 L 110.12988,163.19034 L 95.997063,163.19034 L 95.997063,77.338776 L 62.317375,77.338776 L 62.317375,64.823151 M 189.583,131.97159 L 144.09081,131.97159 C 144.41892,138.15911 146.48142,143.08098 150.27831,146.73721 C 154.12203,150.39348 159.06734,152.2216 165.11425,152.22159 C 173.5517,152.2216 181.33294,149.5966 188.458,144.34659 L 188.458,156.86221 C 184.52044,159.48722 180.60638,161.36221 176.71581,162.48721 C 172.87202,163.61221 168.34858,164.17471 163.1455,164.17471 C 156.02047,164.17471 150.25485,162.69815 145.84863,159.74503 C 141.44236,156.79191 137.9033,152.83097 135.23144,147.86221 C 132.60643,142.84661 131.29393,137.05755 131.29394,130.49503 C 131.29393,120.65132 134.08299,112.65914 139.66113,106.51846 C 145.23923,100.33103 152.48141,97.237279 161.38769,97.237213 C 169.96577,97.237279 176.80951,100.23728 181.91894,106.23721 C 187.02825,112.23726 189.58294,120.27632 189.583,130.3544 L 189.583,131.97159 M 144.37206,124.30753 L 176.92675,124.30753 C 176.59857,119.19819 175.07514,115.2607 172.35644,112.49503 C 169.63764,109.72945 165.9814,108.34664 161.38769,108.34659 C 156.79391,108.34664 153.02047,109.72945 150.06738,112.49503 C 147.1611,115.2607 145.26267,119.19819 144.37206,124.30753 M 248.01269,98.502838 L 264.3955,98.502838 L 237.74706,130.3544 L 266.29394,163.19034 L 249.91113,163.19034 L 229.59081,139.98721 L 210.3955,163.19034 L 194.29394,163.19034 L 221.50488,130.3544 L 194.29394,98.502838 L 210.3955,98.502838 L 229.59081,120.72159 L 248.01269,98.502838 M 266.29394,108.76846 L 290.34081,85.143463 L 290.34081,98.502838 L 310.80175,98.502838 L 310.80175,110.03409 L 290.34081,110.03409 L 290.34081,141.74503 C 290.34079,149.15129 293.4111,152.85441 299.55175,152.8544 C 304.14546,152.85441 308.99702,151.30754 314.10644,148.21378 L 314.10644,160.1669 C 309.18452,162.93253 303.81734,164.31534 298.00488,164.31534 C 292.14547,164.31534 287.27048,162.6044 283.37988,159.18253 C 282.16111,158.15128 281.1533,157.00284 280.35644,155.73721 C 279.55955,154.42472 278.87986,152.73722 278.31738,150.67471 C 277.80174,148.56535 277.54393,144.58098 277.54394,138.72159 L 277.54394,110.03409 L 266.29394,110.03409 L 266.29394,108.76846 M 324.44238,163.19034 L 324.44238,64.823151 L 355.59081,64.823151 C 364.96576,64.823249 372.44232,67.354496 378.0205,72.416901 C 383.59856,77.479486 386.38762,84.276355 386.38769,92.807526 C 386.38762,98.52634 384.95793,103.58884 382.09863,107.99503 C 379.23919,112.40133 375.32513,115.61226 370.35644,117.62784 C 365.38764,119.59663 358.26264,120.58101 348.98144,120.58096 L 338.57519,120.58096 L 338.57519,163.19034 L 324.44238,163.19034 M 353.12988,77.338776 L 338.57519,77.338776 L 338.57519,108.06534 L 353.97363,108.06534 C 359.69233,108.06539 364.09858,106.72946 367.19238,104.05753 C 370.28607,101.33884 371.83294,97.471654 371.833,92.455963 C 371.83294,82.377919 365.59857,77.338861 353.12988,77.338776 M 410.57519,98.502838 L 410.57519,113.33878 L 411.27831,112.21378 C 417.46578,102.22946 423.65328,97.237279 429.84081,97.237213 C 434.66889,97.237279 439.70795,99.674777 444.958,104.54971 L 438.208,115.79971 C 433.75483,111.58101 429.62983,109.47164 425.833,109.47159 C 421.70797,109.47164 418.12203,111.44039 415.07519,115.37784 C 412.07516,119.31538 410.57516,123.97944 410.57519,129.37003 L 410.57519,163.19034 L 397.708,163.19034 L 397.708,98.502838 L 410.57519,98.502838 M 506.2705,131.97159 L 460.77831,131.97159 C 461.10642,138.15911 463.16892,143.08098 466.96581,146.73721 C 470.80953,150.39348 475.75484,152.2216 481.80175,152.22159 C 490.2392,152.2216 498.02044,149.5966 505.1455,144.34659 L 505.1455,156.86221 C 501.20794,159.48722 497.29388,161.36221 493.40331,162.48721 C 489.55952,163.61221 485.03608,164.17471 479.833,164.17471 C 472.70797,164.17471 466.94235,162.69815 462.53613,159.74503 C 458.12986,156.79191 454.5908,152.83097 451.91894,147.86221 C 449.29393,142.84661 447.98143,137.05755 447.98144,130.49503 C 447.98143,120.65132 450.77049,112.65914 456.34863,106.51846 C 461.92673,100.33103 469.16891,97.237279 478.07519,97.237213 C 486.65327,97.237279 493.49701,100.23728 498.60644,106.23721 C 503.71575,112.23726 506.27044,120.27632 506.2705,130.3544 L 506.2705,131.97159 M 461.05956,124.30753 L 493.61425,124.30753 C 493.28607,119.19819 491.76264,115.2607 489.04394,112.49503 C 486.32514,109.72945 482.6689,108.34664 478.07519,108.34659 C 473.48141,108.34664 469.70797,109.72945 466.75488,112.49503 C 463.8486,115.2607 461.95017,119.19819 461.05956,124.30753 M 516.88769,158.54971 L 516.88769,144.76846 C 520.49705,147.29973 524.17674,149.36223 527.92675,150.95596 C 531.7236,152.50285 534.9111,153.27629 537.48925,153.27628 C 540.1611,153.27629 542.45797,152.62004 544.37988,151.30753 C 546.30171,149.99504 547.26265,148.42473 547.26269,146.59659 C 547.26265,144.72161 546.62984,143.17473 545.36425,141.95596 C 544.14547,140.69036 541.47359,138.88567 537.34863,136.5419 C 529.09861,131.94818 523.68455,128.03412 521.10644,124.79971 C 518.57518,121.5185 517.30956,117.95601 517.30956,114.11221 C 517.30956,109.14352 519.23143,105.08883 523.07519,101.94815 C 526.9658,98.80759 531.95798,97.237279 538.05175,97.237213 C 544.37984,97.237279 550.87202,99.018527 557.52831,102.58096 L 557.52831,115.23721 C 549.93452,110.64352 543.72359,108.34664 538.8955,108.34659 C 536.4111,108.34664 534.39548,108.8857 532.84863,109.96378 C 531.3486,110.99508 530.59861,112.37789 530.59863,114.11221 C 530.59861,115.61226 531.27829,117.04195 532.63769,118.40128 C 534.04391,119.76069 536.48141,121.40132 539.95019,123.32315 L 544.5205,125.92471 C 555.30171,132.01849 560.69233,138.76849 560.69238,146.17471 C 560.69233,151.4716 558.60639,155.83097 554.43456,159.25284 C 550.30952,162.62784 544.98922,164.31534 538.47363,164.31534 C 534.62985,164.31534 531.20798,163.9169 528.208,163.12003 C 525.20799,162.27628 521.43455,160.75284 516.88769,158.54971 M 572.01269,158.54971 L 572.01269,144.76846 C 575.62205,147.29973 579.30174,149.36223 583.05175,150.95596 C 586.8486,152.50285 590.0361,153.27629 592.61425,153.27628 C 595.2861,153.27629 597.58297,152.62004 599.50488,151.30753 C 601.42671,149.99504 602.38765,148.42473 602.38769,146.59659 C 602.38765,144.72161 601.75484,143.17473 600.48925,141.95596 C 599.27047,140.69036 596.59859,138.88567 592.47363,136.5419 C 584.22361,131.94818 578.80955,128.03412 576.23144,124.79971 C 573.70018,121.5185 572.43456,117.95601 572.43456,114.11221 C 572.43456,109.14352 574.35643,105.08883 578.20019,101.94815 C 582.0908,98.80759 587.08298,97.237279 593.17675,97.237213 C 599.50484,97.237279 605.99702,99.018527 612.65331,102.58096 L 612.65331,115.23721 C 605.05952,110.64352 598.84859,108.34664 594.0205,108.34659 C 591.5361,108.34664 589.52048,108.8857 587.97363,109.96378 C 586.4736,110.99508 585.72361,112.37789 585.72363,114.11221 C 585.72361,115.61226 586.40329,117.04195 587.76269,118.40128 C 589.16891,119.76069 591.60641,121.40132 595.07519,123.32315 L 599.6455,125.92471 C 610.42671,132.01849 615.81733,138.76849 615.81738,146.17471 C 615.81733,151.4716 613.73139,155.83097 609.55956,159.25284 C 605.43452,162.62784 600.11422,164.31534 593.59863,164.31534 C 589.75485,164.31534 586.33298,163.9169 583.333,163.12003 C 580.33299,162.27628 576.55955,160.75284 572.01269,158.54971"69 id="text1872" />102 id="path3394" 103 d="M 123.58177,44.294762 C 90.490614,43.861888 58.514797,65.195017 45.980177,95.789571 C 34.368375,122.66752 37.920524,155.43103 55.427102,178.96867 C 72.310987,202.69683 102.11242,216.40524 131.12229,213.47317 C 160.89386,211.11949 188.29617,191.41001 200.35757,164.14491 C 209.83764,143.54269 210.40847,119.11913 202.08536,98.043614 C 183.81301,114.43145 166.28873,131.64633 149.82372,149.85365 C 144.61286,156.23194 136.72603,160.50335 128.35217,159.91078 C 123.56975,159.94541 118.99476,159.24724 114.29963,159.1137 C 107.42449,160.27994 100.31884,160.31143 93.750337,162.96037 C 85.761976,165.47427 78.191155,169.15015 70.684591,172.74712 C 68.441269,171.80921 68.954878,170.41043 71.039956,171.80669 C 71.798542,170.44057 76.230069,166.48998 74.065954,169.76629 C 72.253215,171.47472 79.313826,168.08141 80.407621,167.50076 C 90.364351,162.16312 101.64374,160.39026 112.01041,156.13602 C 116.12467,153.99113 118.7367,149.30259 123.77377,148.8968 C 126.60727,148.49701 133.31113,147.03921 126.40658,147.68185 C 121.87622,147.88409 113.78126,149.25812 111.50804,149.25747 C 116.18339,148.56443 120.72008,147.30978 125.34692,146.60077 C 120.5464,144.6441 134.45414,146.04088 129.56063,145.04851 C 126.06449,145.5611 126.42812,142.31719 129.73009,143.8222 C 135.42624,143.71521 129.68893,143.33014 127.49056,142.71327 C 129.61644,143.48054 136.39629,141.81385 130.46967,141.97388 C 122.51933,142.10015 135.1461,140.21263 135.25824,139.44185 C 131.33932,139.31109 139.86441,138.66921 134.1684,138.4298 C 131.34329,138.5909 129.35406,138.54224 133.07828,137.40135 C 137.66574,133.11423 144.14656,133.84255 149.17109,131.12138 C 151.30713,129.59927 151.31026,126.59362 149.35009,129.93264 C 146.10758,134.73977 139.99966,131.46838 136.76767,131.15108 C 133.53949,134.84805 128.34535,137.71636 123.28578,138.13659 C 119.54609,138.2457 112.79207,140.90548 110.88006,138.91909 C 112.93106,136.84006 114.34358,135.84212 110.97904,137.89677 C 107.56692,139.63122 113.21439,141.65306 108.7116,140.55506 C 107.49273,142.59318 116.43367,148.29818 111.4541,144.45254 C 106.58217,138.23747 117.70554,144.43041 112.65344,147.51186 C 111.34882,148.97227 111.63549,145.67011 109.14754,145.13581 C 108.32396,144.19865 105.99771,139.96232 108.8697,142.55591 C 105.22449,140.46782 110.2164,135.65271 110.92157,131.98212 C 112.93951,127.19051 113.87515,121.82576 116.73003,117.45219 C 120.77779,114.52932 123.31746,110.49885 124.46611,105.7426 C 124.36155,105.3871 122.57459,113.47272 124.91007,112.46581 C 123.99111,109.88613 127.22303,103.86555 126.01414,109.66072 C 126.9076,113.00242 128.36806,112.67251 126.85875,109.53533 C 127.8781,102.81846 126.77707,112.89123 128.87469,111.63411 C 127.71412,108.71727 131.94846,102.69907 133.365,105.24637 C 134.22328,101.10665 135.47429,107.6993 134.59037,107.92796 C 135.50083,104.56757 135.5469,100.87878 140.18813,100.19507 C 145.56261,96.902791 149.53003,91.906326 155.3847,89.571023 C 161.6886,88.578371 163.86602,82.022596 168.74772,78.753378 C 173.40547,75.388685 178.0536,72.006601 182.73257,68.66866 C 178.06149,64.568284 174.12884,72.69904 169.69566,73.927463 C 159.9272,80.295174 150.28392,86.904443 140.15932,92.685495 C 135.36764,95.338924 130.91981,98.685509 126.0504,101.28304 C 122.62946,103.51866 118.24452,106.41975 115.87885,108.01246 C 114.06302,106.735 111.66035,111.50873 113.69873,106.9614 C 117.50761,103.62717 122.45722,101.36073 126.76207,98.319676 C 131.6739,95.347261 136.47103,92.351494 141.55668,89.699611 C 150.06449,84.602857 157.86932,78.435386 166.35758,73.300807 C 169.75269,70.317075 177.01495,67.430938 177.8534,64.188212 C 162.87366,51.427215 143.26808,44.201609 123.58177,44.294762 z M 182.45194,71.514955 C 178.21045,72.172859 186.28346,71.69209 182.45194,71.514955 z M 179.81611,71.685331 C 176.9528,72.049208 173.91917,78.651471 174.5853,78.519175 C 174.92317,75.331135 178.97467,74.4649 179.81611,71.685331 z M 184.88732,71.785548 C 185.22223,72.558736 186.39514,71.374876 184.88732,71.785548 z M 182.20139,72.256597 C 181.02119,74.525666 172.70949,79.150081 179.03901,75.835758 C 180.62998,75.211806 181.27832,73.574678 182.20139,72.256597 z M 162.38757,72.457033 C 161.91655,73.62346 161.43377,72.486745 162.38757,72.457033 z M 161.16486,72.657478 C 161.83735,73.226277 160.3973,73.357312 161.16486,72.657478 z M 160.79405,73.719827 C 160.25093,74.88436 159.88553,73.75126 160.79405,73.719827 z M 187.6334,73.9303 C 180.81111,73.96079 190.67006,76.081739 187.6334,73.9303 z M 159.41099,74.040534 C 160.05469,74.616696 158.6578,74.729092 159.41099,74.040534 z M 182.97309,74.381295 C 182.40226,76.345777 175.68095,79.913958 180.86513,77.119906 C 177.78969,79.300873 176.8809,81.960827 179.57984,79.996201 C 179.31023,81.683802 183.3997,80.253008 179.85857,81.975135 C 175.97691,81.426831 175.3681,85.386552 171.56413,87.120067 C 168.95118,83.692191 167.68894,90.014132 168.64648,89.469802 C 167.35023,91.19665 163.70923,91.575091 164.11541,91.299336 C 163.624,92.404117 159.11441,93.122038 162.42604,93.691431 C 158.92897,93.791239 159.8182,93.88186 161.68926,94.908054 C 158.48869,95.676233 157.16543,92.309461 156.53905,91.789793 C 152.1831,93.220064 156.1231,98.150397 156.62369,99.214466 C 154.22007,100.61917 147.67318,102.49635 148.26698,101.96796 C 150.25601,105.09127 142.52361,100.89451 142.8217,100.7649 C 145.88719,98.083824 139.53731,101.73648 142.21296,100.35874 C 142.0685,103.4629 140.08148,107.41073 138.5046,108.3872 C 139.60083,109.51887 143.65056,104.77907 144.89264,109.64369 C 148.59143,115.08321 141.96258,105.91136 141.76074,111.00837 C 142.54287,112.57263 146.10808,117.38208 142.62888,113.27973 C 142.09406,108.96836 134.50098,110.28272 135.11937,112.41547 C 139.40072,112.20602 131.04973,115.6645 129.84744,113.50285 C 132.49141,116.18356 123.37033,115.05207 129.65143,115.74026 C 133.97526,117.20593 124.15335,118.56259 126.05119,119.28847 C 125.49214,119.75908 133.73036,118.89149 127.77449,120.60519 C 126.44141,120.78431 121.7673,123.37277 125.55618,122.54067 C 120.75468,123.87393 130.22656,123.32915 125.25752,124.93435 C 122.10689,126.17032 121.87613,127.68308 121.66349,125.78609 C 118.83742,132.37731 125.00246,126.55467 127.20978,124.96315 C 123.87351,126.48942 120.97791,132.12453 125.2686,129.45813 C 119.30792,130.1531 129.00538,125.18576 128.38024,125.60252 C 130.63546,122.91757 124.053,133.08413 130.11007,129.76146 C 135.67982,130.33342 125.39949,131.01502 123.85359,130.88765 C 120.9858,130.43588 116.98197,132.9919 115.94688,133.96415 C 117.47471,132.22827 120.14288,129.71777 118.57052,130.77689 C 121.11362,127.00475 121.83664,119.67669 124.50334,117.59122 C 122.70653,119.73304 121.79266,125.37345 123.90273,119.91892 C 124.99143,117.68468 128.30412,114.25981 123.9115,117.01189 C 121.0792,120.944 120.78663,126.31749 117.07972,129.75603 C 115.26466,132.55441 108.00546,137.15348 109.7655,138.69552 C 115.05357,134.68913 120.93454,130.61708 127.91941,131.16195 C 129.79895,131.33683 136.1781,129.79792 135.20567,128.46622 C 132.02008,129.62099 132.06587,129.62467 135.05781,128.17751 C 137.5301,125.47153 130.75083,130.45461 133.70461,125.97839 C 135.08178,123.09889 136.8391,120.94576 136.24085,125.62901 C 136.78717,132.81752 136.87663,120.03417 138.39897,124.63773 C 138.32222,118.79203 140.06468,129.35364 144.02652,127.58667 C 146.55912,127.9685 149.20736,121.10803 147.78052,126.96305 C 147.24345,131.38409 136.84292,125.95617 142.95458,129.49552 C 148.76364,131.5203 152.40989,118.68383 146.22163,123.33945 C 143.50988,123.74181 142.30683,123.16086 144.68854,125.41407 C 140.17672,129.98549 136.90715,119.7726 141.58776,117.37944 C 140.55375,120.57422 143.035,119.11408 143.87385,117.04401 C 147.05914,118.84354 148.71261,114.73416 149.55271,113.01824 C 151.88704,117.59288 150.13932,109.90766 147.64085,112.06714 C 150.78675,111.28758 151.71376,111.10332 153.08382,109.56068 C 157.87477,111.94657 151.85392,104.32734 156.82447,103.37244 C 158.94079,101.08624 160.44122,100.09129 160.66054,103.97515 C 163.78936,104.36416 168.10343,99.392933 169.43854,96.209891 C 166.42976,92.050042 161.08297,103.84195 161.55633,99.954459 C 164.76465,96.090449 168.75777,92.901344 173.61892,91.579587 C 174.93381,89.246711 175.21193,88.656425 173.14302,89.724141 C 173.2228,85.45294 183.13125,88.991122 183.33952,89.918277 C 179.68839,93.347321 176.54836,97.681714 171.98253,99.902747 C 166.14537,101.53833 164.77301,108.22211 160.29326,111.68984 C 155.75734,115.63566 151.18198,121.49758 145.10056,121.37569 C 144.30618,123.70123 148.67819,119.37034 149.96251,122.55413 C 155.02329,122.75972 158.32445,115.69441 162.44095,112.72523 C 164.26406,111.10363 166.12141,107.7138 166.64335,108.50617 C 168.3415,107.02069 169.27361,108.49186 171.12594,104.7723 C 172.6663,103.93041 174.83073,101.09124 174.01775,101.28654 C 177.25775,104.75612 166.52463,112.84009 172.73445,107.71422 C 175.34515,103.82861 175.51585,98.59454 180.24335,96.227937 C 184.62142,92.113317 188.83512,87.801855 193.34766,83.818413 C 195.03989,80.252855 191.33536,83.291689 190.70319,81.064818 C 187.01299,78.072676 192.13627,82.785459 187.72407,83.527951 C 185.8509,85.022675 180.0345,88.429524 185.37022,86.952263 C 187.1036,84.039323 191.39202,83.256703 187.11532,86.349205 C 185.12932,89.192295 177.3696,89.060993 178.06696,85.877071 C 182.54751,87.197865 188.33042,81.571673 187.31745,79.076431 C 185.06454,79.366821 181.59903,83.041918 185.31777,79.373888 C 186.22631,78.581231 189.54973,76.105091 188.72685,78.907121 C 191.66933,72.916549 183.72186,77.756865 181.31726,78.317869 C 177.65217,78.161136 186.39412,75.300655 182.97309,74.381295 z M 157.67715,75.122937 C 158.35372,75.701055 156.73351,75.522056 157.67715,75.122937 z M 191.17123,78.38013 C 191.11462,80.200129 191.95972,78.769305 191.17123,78.38013 z M 155.91325,78.540489 C 156.9482,78.957603 155.04764,78.876415 155.91325,78.540489 z M 182.12121,78.610646 C 183.72339,78.168797 182.76117,79.48274 182.12121,78.610646 z M 181.72032,78.63069 C 183.32982,80.258119 178.23115,78.959232 181.72032,78.63069 z M 182.85283,79.151842 C 183.49323,79.685378 181.94529,79.60589 182.85283,79.151842 z M 186.96192,80.815518 C 187.7079,81.163663 186.11355,81.435465 186.96192,80.815518 z M 186.08999,81.136225 C 187.5813,81.560068 184.25298,81.627184 186.08999,81.136225 z M 190.44963,81.627317 C 191.44267,81.466324 190.25066,82.365395 190.44963,81.627317 z M 184.67686,81.737562 C 186.33844,82.76685 182.65746,81.858007 184.67686,81.737562 z M 191.22133,82.018182 C 190.92642,83.737369 190.13037,83.836747 191.22133,82.018182 z M 181.95084,82.479204 C 183.14963,86.011374 175.31535,85.440343 180.14689,83.6333 L 181.04428,83.046394 L 181.95084,82.479204 L 181.95084,82.479204 z M 184.44636,82.539334 C 184.29835,83.964935 182.0053,82.939079 184.44636,82.539334 z M 163.19937,82.649579 C 163.67327,83.576611 161.9522,82.871932 163.19937,82.649579 z M 169.38304,82.950242 C 166.5731,83.799968 165.15021,87.554153 168.84177,84.333247 C 169.14095,84.225593 170.02554,83.325744 169.38304,82.950242 z M 156.27406,82.980303 C 156.22286,83.636117 155.42105,82.931315 156.27406,82.980303 z M 174.92529,83.290993 C 174.83882,83.859043 175.55137,83.543007 174.92529,83.290993 z M 147.19397,83.591656 C 147.84333,83.74928 147.15658,84.336985 147.19397,83.591656 z M 182.56218,83.591656 C 183.88597,84.887071 180.50768,84.166272 182.56218,83.591656 L 182.56218,83.591656 z M 160.0023,83.822172 C 160.92608,84.257405 159.25977,84.373815 160.0023,83.822172 z M 161.62589,84.152896 C 162.66482,84.582434 160.71506,84.469342 161.62589,84.152896 z M 160.41321,84.603901 C 161.10428,85.359196 159.2212,85.163881 160.41321,84.603901 z M 171.59794,85.064913 C 170.87849,85.539639 172.47659,85.598049 171.59794,85.064913 z M 185.81938,85.365587 C 186.32735,86.072109 184.79581,85.799662 185.81938,85.365587 z M 189.3071,85.485848 C 188.96318,86.198372 188.57251,85.614405 189.3071,85.485848 z M 160.7239,85.726381 C 162.19193,86.331989 159.31258,86.260663 160.7239,85.726381 z M 169.94428,86.808773 C 171.04502,88.754246 166.35422,87.929839 169.94428,86.808773 z M 139.63727,87.229708 C 138.65231,88.582806 138.46758,87.549677 139.63727,87.229708 z M 139.7876,87.630589 C 139.07189,88.752126 138.85657,87.852 139.7876,87.630589 z M 156.55467,87.941279 C 156.45171,88.597902 155.80275,87.926961 156.55467,87.941279 z M 155.02129,88.62278 C 154.9706,89.274712 154.16882,88.586933 155.02129,88.62278 z M 137.80321,89.15396 C 136.65605,90.809411 135.78998,90.430734 137.80321,89.15396 z M 161.4956,89.21409 C 159.01127,89.653379 158.52917,94.032038 160.50652,90.199573 L 161.03768,89.744522 L 161.4956,89.21409 L 161.4956,89.21409 z M 161.73613,89.294264 C 163.19104,89.972898 162.87329,89.089876 161.73613,89.294264 z M 160.20274,89.324335 C 158.71022,90.198364 159.41514,91.276906 160.20274,89.324335 z M 198.19676,89.534797 C 197.04824,90.094767 198.37459,90.572493 198.19676,89.534797 z M 150.97233,89.705183 C 152.35618,90.99689 149.45035,91.394566 150.97233,89.705183 z M 157.61702,89.955732 C 156.92029,89.868962 157.48504,90.697589 157.61702,89.955732 z M 155.64266,90.386684 C 153.86475,91.280398 156.35683,91.606646 155.64266,90.386684 z M 172.74047,90.446814 C 174.3321,92.612131 168.78322,91.255172 172.74047,90.446814 z M 196.28252,91.338788 C 193.30355,93.856357 194.76668,94.224792 196.28252,91.338788 z M 199.33928,91.779766 C 197.89149,94.271761 194.93238,98.006272 197.4441,93.240179 C 194.38545,96.452083 192.71862,100.82631 188.86813,103.3919 C 192.02259,100.09794 201.56436,96.850404 199.33928,91.779766 z M 176.57895,91.79981 C 173.89719,91.227601 174.05368,97.165396 175.03183,93.313061 C 175.13896,93.026849 178.44031,92.163338 176.57895,91.79981 z M 154.79077,91.950141 C 152.58389,91.383422 155.36805,93.296551 154.79077,91.950141 z M 155.68274,92.761941 C 155.64797,93.432708 154.80812,92.719928 155.68274,92.761941 z M 177.69142,92.862158 C 174.19857,94.005613 177.9402,96.401068 177.69142,92.862158 z M 136.38007,92.872185 C 134.49378,94.654565 137.30123,93.929239 136.38007,92.872185 z M 198.94842,93.453469 C 198.88138,94.080749 198.1224,93.426952 198.94842,93.453469 z M 147.75521,93.54367 C 147.90959,94.645481 145.85174,94.234378 147.75521,93.54367 z M 135.43798,94.044779 C 134.01933,94.949637 134.93302,96.377511 135.43798,94.044779 z M 157.0658,94.054795 C 163.24239,94.869217 153.42091,100.38901 155.5704,95.232059 L 156.15357,94.54512 L 157.0658,94.054795 L 157.0658,94.054795 z M 193.67676,94.636079 C 192.65173,95.447335 193.55364,96.336584 193.67676,94.636079 z M 194.98967,94.906682 C 193.74243,97.9575 187.61063,100.73848 188.53744,103.01534 C 190.7187,99.826813 193.54325,99.97779 194.98967,94.906682 z M 192.95516,95.057014 C 192.31345,94.995941 192.76453,95.780097 192.95516,95.057014 z M 197.55533,95.31759 C 197.22915,96.033135 196.80528,95.438271 197.55533,95.31759 z M 199.64997,95.698427 C 198.86697,96.614275 200.48792,96.303042 199.64997,95.698427 z M 160.88424,95.768585 C 164.385,95.871619 158.90832,96.501552 160.88424,95.768585 z M 167.90979,96.109335 C 166.3138,98.18185 158.31277,105.50252 163.58029,99.948857 C 164.9423,98.581686 166.37197,97.277371 167.90979,96.109335 z M 199.28918,96.410009 C 197.43825,97.065372 198.25166,97.666382 199.28918,96.410009 z M 191.81264,96.47014 C 189.93112,98.033976 190.23455,99.998274 191.81264,96.47014 z M 169.12247,96.660558 C 167.34219,98.633654 161.78956,104.15474 162.43688,102.84058 C 164.53489,100.6549 166.59421,98.348456 169.12247,96.660558 z M 190.68013,97.101537 C 190.00729,97.052672 190.52387,97.830448 190.68013,97.101537 z M 122.79001,97.171684 C 119.80641,99.585728 115.03,104.71449 113.82761,106.06446 C 115.97697,102.43411 119.43393,99.639631 122.79001,97.171684 z M 146.58263,97.332043 C 145.9409,97.27096 146.39199,98.055126 146.58263,97.332043 z M 141.59159,97.512445 C 139.62823,100.25841 138.50221,98.676343 141.59159,97.512445 z M 195.18009,97.692837 C 194.65295,98.896883 194.25814,97.707391 195.18009,97.692837 z M 197.4952,97.913326 C 195.79691,98.326282 197.18977,99.098537 197.4952,97.913326 z M 146.63273,98.063658 C 145.99137,98.099095 146.33438,98.747781 146.63273,98.063658 z M 189.19686,98.434479 C 187.40842,99.560348 181.79661,106.84918 186.12099,101.89429 C 187.19,100.78337 188.37801,99.758602 189.19686,98.434479 z M 137.72303,98.845387 C 139.22382,101.16065 134.88177,102.14238 137.72303,98.845387 z M 196.18231,98.875457 C 195.30962,99.444624 196.98643,99.299086 196.18231,98.875457 z M 189.83827,99.316435 C 189.13292,99.264437 189.71033,100.03547 189.83827,99.316435 z M 118.00944,99.857632 C 117.95628,100.52849 117.16902,99.792677 118.00944,99.857632 z M 195.2302,99.977893 C 194.18002,100.24779 194.51257,101.17142 195.2302,99.977893 z M 193.92732,100.2485 C 193.25829,100.17696 193.76387,100.97126 193.92732,100.2485 z M 120.20429,100.35874 C 120.35784,101.75628 117.99106,101.59899 120.20429,100.35874 z M 116.71658,100.85984 C 116.36897,101.75984 115.99144,100.857 116.71658,100.85984 z M 171.22712,101.01018 C 171.10587,101.67037 170.49375,100.96628 171.22712,101.01018 z M 193.93734,101.26073 C 193.30019,101.30621 193.66385,101.95091 193.93734,101.26073 z M 188.00422,101.27076 C 187.31381,101.23024 187.88457,101.98073 188.00422,101.27076 z M 170.41532,101.32086 C 168.66725,103.32679 167.49244,103.46848 170.17761,101.50398 L 170.41532,101.32086 z M 192.53424,101.58144 C 191.72917,101.69243 191.79104,102.82521 192.53424,101.58144 z M 173.38188,101.64157 C 175.17688,102.12206 172.06417,102.41398 173.38188,101.64157 z M 187.57326,101.73177 C 184.79219,103.77266 180.61894,110.02911 181.24107,111.24928 C 183.43943,108.13588 185.48161,104.91674 187.57326,101.73177 z M 193.14559,101.95226 C 191.97018,102.16176 192.04961,103.30263 193.14559,101.95226 z M 142.84436,102.05249 C 144.4811,101.92233 148.62845,103.94326 144.94904,103.50853 C 143.74668,102.02668 147.20182,107.56722 143.20034,104.73245 C 142.09043,104.23749 140.90884,102.34004 142.84436,102.05249 z M 115.34354,102.19279 C 114.76339,103.13232 114.58015,102.30925 115.34354,102.19279 z M 119.2121,102.33311 C 119.65098,104.63238 116.00017,102.88568 119.09746,102.37409 L 119.2121,102.33311 z M 139.66733,102.49345 C 139.07076,102.47447 138.93143,103.64107 139.66733,102.49345 z M 191.06098,102.53354 C 188.50162,103.00321 191.04161,104.55879 191.06098,102.53354 z M 150.58146,102.80415 C 152.35047,103.61883 147.10606,104.32979 150.58146,102.80415 z M 112.57743,103.17497 C 107.3432,115.48939 103.9829,128.5593 98.109321,140.59906 C 97.402707,142.84348 96.185745,149.35006 96.464266,143.60207 C 98.298552,138.17574 101.54037,133.23777 103.00486,127.65797 C 100.5389,133.85205 96.691003,139.63965 95.215124,146.12099 C 93.319959,151.58285 87.601742,154.09952 83.740088,157.98724 C 79.875933,161.17956 75.914986,164.26511 72.265386,167.707 C 69.241493,171.05562 74.126095,163.48076 75.520485,162.15751 C 81.740764,154.8481 86.184704,146.32786 91.330343,138.28843 C 94.969747,133.11554 101.5829,130.37741 103.76948,124.08227 C 105.42672,120.37152 109.10548,112.86338 108.12069,111.09984 C 105.89232,113.52705 99.935342,117.85768 98.809463,117.46957 C 100.37596,110.92497 109.01612,110.65073 111.45842,104.6539 L 111.99084,103.89179 L 112.57743,103.17497 z M 138.85554,103.33531 C 136.51283,105.00622 136.84533,105.89923 138.85554,103.33531 z M 114.04066,103.42552 C 114.19857,104.77321 112.57075,103.95475 114.04066,103.42552 z M 191.45185,103.4656 C 189.91308,103.83349 191.40758,104.42046 191.45185,103.4656 z M 189.02647,103.73621 C 185.21851,104.68216 191.15786,105.63466 189.02647,103.73621 z M 148.07593,103.80636 C 148.49569,104.57145 147.20882,104.38622 148.07593,103.80636 z M 151.55361,104.30747 C 151.43237,104.96766 150.82023,104.26358 151.55361,104.30747 z M 187.002,104.75847 C 183.55201,105.98798 190.13932,106.81241 187.002,104.75847 z M 143.01473,104.87873 C 147.11632,107.29854 138.843,106.60265 143.01473,104.87873 z M 112.52732,104.94889 C 113.68636,105.90733 111.00055,106.25703 112.52732,104.94889 L 112.52732,104.94889 z M 154.19946,105.01904 C 154.47566,108.29526 148.98378,108.13606 154.19946,105.01904 z M 117.98939,105.0491 C 114.33035,105.28512 117.39619,107.36662 117.98939,105.0491 L 117.98939,105.0491 z M 147.04364,105.1393 C 147.43701,106.25122 146.03666,105.76547 147.04364,105.1393 z M 114.0106,105.31971 C 113.68291,106.02963 113.26362,105.47095 114.0106,105.31971 z M 136.51035,105.75066 C 135.67219,105.85352 136.06504,106.67476 136.51035,105.75066 z M 113.25893,106.05132 C 112.024,108.72311 110.01936,108.48392 113.25893,106.05132 z M 181.55997,106.27181 C 180.0654,107.17627 180.40345,108.1446 181.55997,106.27181 z M 185.34835,106.35199 C 182.40777,108.19312 188.83325,107.73926 185.34835,106.35199 z M 145.7608,106.50232 C 145.86549,108.51788 143.30673,108.67958 145.7608,106.50232 z M 111.64537,106.57247 C 112.19732,108.07444 109.77667,108.45145 111.64537,106.57247 z M 188.00422,106.65266 C 187.04674,106.77727 188.03233,107.23898 188.00422,106.65266 z M 132.20082,106.73283 C 128.68638,108.24073 132.71886,110.76536 132.20082,106.73283 z M 152.68612,106.75288 C 151.6042,107.0976 153.66923,107.34703 152.68612,106.75288 z M 181.58002,107.48449 C 179.9841,108.87766 178.23054,114.50721 178.80181,110.31767 C 177.45538,111.81607 176.75661,115.0433 175.53524,113.89485 C 174.87822,114.56934 174.27425,118.07212 174.05882,115.1473 C 171.63025,116.81268 173.0122,118.51388 173.12832,118.49505 C 171.76672,116.52178 168.77916,120.26765 171.48718,119.65221 C 169.7456,122.73879 169.24385,117.55918 168.03051,121.69882 C 170.71405,120.94919 166.32287,123.73753 169.27382,121.86262 C 171.08145,120.87159 170.35176,122.69435 172.24019,121.28128 C 172.02477,122.62465 172.31425,120.62081 171.3545,120.34605 C 175.47763,116.8717 180.79865,113.25376 181.58002,107.48449 z M 116.58629,107.60476 C 116.99723,108.17801 115.38231,107.47087 116.58629,107.60476 z M 112.48723,107.70498 C 113.42027,108.15038 111.77239,108.25431 112.48723,107.70498 z M 117.31791,107.94551 C 118.04104,109.11406 115.9559,109.81729 117.31791,107.94551 z M 184.03544,107.96556 C 181.59734,109.81102 187.03594,108.98996 184.03544,107.96556 z M 112.1565,108.23616 C 112.26557,109.57254 111.06408,108.6622 112.1565,108.23616 z M 152.15495,108.41655 C 154.55632,108.44954 151.9258,109.39441 152.15495,108.41655 z M 179.34507,108.45664 C 177.55708,109.56449 177.85722,110.84592 179.34507,108.45664 z M 116.02505,109.05798 C 116.27095,114.20671 114.87457,119.4253 111.73861,123.50098 C 111.17537,126.25363 103.28326,134.03532 108.18196,127.41645 C 111.85884,121.84303 115.6571,115.9142 116.02505,109.05798 z M 112.1565,109.18826 C 112.28826,112.19281 109.1444,110.09353 112.1565,109.18826 z M 133.13288,109.19828 C 132.41288,109.12332 133.02239,109.94648 133.13288,109.19828 z M 182.8428,109.63926 C 180.8491,111.19402 184.25225,111.15845 182.8428,109.63926 z M 116.88696,109.94995 C 117.12736,112.08108 116.09616,111.04885 116.88696,109.94995 z M 148.46679,110.59136 C 149.72811,111.09988 146.75067,110.68486 148.46679,110.59136 z M 177.08006,110.79181 C 175.33108,112.26232 175.7124,112.9979 177.08006,110.79181 z M 139.75753,110.86197 C 141.21596,113.2528 134.59552,113.62111 139.3822,112.14286 C 139.83201,111.96607 140.33051,111.26679 139.75753,110.86197 z M 112.07632,111.30294 C 111.55859,114.46544 110.63945,122.72452 109.12356,122.55011 C 110.57031,118.91674 110.83672,115.00117 112.07632,111.30294 z M 181.75039,111.36307 C 180.71629,112.49084 182.08735,111.86838 181.75039,111.36307 z M 144.82874,112.34524 C 149.04316,112.43416 147.7889,117.12352 144.61839,114.65755 C 144.10911,114.07585 143.44192,112.35001 144.82874,112.34524 z M 153.74847,112.35527 C 151.75958,114.54965 150.85693,118.68507 154.70711,115.73684 C 157.05995,112.54083 155.06142,113.47966 153.20556,115.1388 C 153.15337,114.23224 154.4061,113.30318 153.74847,112.35527 z M 147.12382,112.5056 C 148.11438,113.08691 147.13595,113.29723 147.12382,112.5056 z M 109.96164,112.60582 C 110.17649,113.93367 108.952,114.47936 109.96164,112.60582 z M 141.44125,112.92652 C 143.06884,114.28146 139.81945,114.80392 141.44125,112.92652 z M 174.50437,113.34746 C 172.53653,114.88771 173.34308,116.23983 174.50437,113.34746 z M 143.06485,114.74054 C 144.8002,115.84859 142.80475,116.04528 143.06485,114.74054 z M 176.65913,114.85079 C 176.31521,115.5633 175.92454,114.97934 176.65913,114.85079 z M 109.25007,115.09132 C 108.9619,117.38751 108.60315,117.18874 109.25007,115.09132 z M 177.94196,115.10134 C 175.74146,116.44191 178.27733,116.33557 177.94196,115.10134 z M 149.85987,115.20156 C 149.65765,116.04097 151.20223,115.10554 149.85987,115.20156 z M 139.57713,115.22161 C 138.87203,117.07391 136.8127,116.79131 139.57713,115.22161 z M 134.26538,115.6726 C 142.9381,116.55056 131.58517,127.87896 131.28232,119.01421 C 131.65863,117.52557 132.77496,116.14621 134.26538,115.6726 z M 175.66694,115.89309 C 175.34075,116.60864 174.91689,116.01377 175.66694,115.89309 z M 153.38767,115.94319 C 154.68945,116.04281 152.81914,116.52525 153.38767,115.94319 z M 172.1692,115.95322 C 169.82559,117.24785 170.36724,119.67521 172.1692,115.95322 z M 144.95903,116.07348 C 145.97968,116.10856 145.12925,117.19912 144.95903,116.07348 z M 139.20631,116.59464 C 139.10616,117.2433 138.44608,116.5875 139.20631,116.59464 z M 156.83529,116.65478 C 155.43678,118.5047 155.1614,117.67557 156.83529,116.65478 z M 176.9598,116.67482 C 176.27003,116.72616 176.3913,117.6666 176.9598,116.67482 z M 175.89745,116.8953 C 175.16218,117.38903 176.79067,117.39083 175.89745,116.8953 z M 111.8859,116.95544 C 112.01814,118.35303 111.47522,117.63606 111.8859,116.95544 z M 131.56942,117.42648 C 131.45429,118.06207 130.82694,117.41018 131.56942,117.42648 z M 175.48653,117.56679 C 174.4828,117.84579 174.79069,118.6247 175.48653,117.56679 z M 153.6282,117.9376 C 154.47825,119.84206 153.02808,119.53882 153.6282,117.9376 z M 108.60866,118.11801 C 108.26399,121.0686 107.76891,127.76941 106.02904,127.90095 C 106.88103,124.63802 107.93564,121.42614 108.60866,118.11801 z M 154.48009,118.3385 C 155.02498,119.16812 153.37689,119.18817 154.48009,118.3385 z M 141.89225,118.36857 C 142.2705,119.1332 140.95161,118.71745 141.89225,118.36857 z M 128.56278,118.45876 C 128.47304,119.33896 127.42753,118.251 128.56278,118.45876 z M 169.69372,118.69929 C 167.91327,119.97789 169.05951,120.19699 169.69372,118.69929 z M 157.9678,118.77947 C 155.75662,119.42223 159.29614,119.51872 157.9678,118.77947 z M 174.81505,118.87969 C 174.10976,118.8851 174.31317,119.9705 174.81505,118.87969 z M 174.21372,118.88972 C 171.16571,119.43866 173.06715,121.18154 174.21372,118.88972 z M 159.84194,119.87188 C 157.56528,121.17034 159.64309,121.65819 159.84194,119.87188 z M 156.82527,120.09237 C 156.77376,120.75349 157.73061,119.90365 156.82527,120.09237 z M 168.33071,120.37299 C 167.67627,120.26603 168.16609,121.19941 168.33071,120.37299 z M 156.37427,120.38302 C 154.16313,120.44459 157.01751,121.50059 156.37427,120.38302 z M 157.46669,120.75384 C 157.2951,121.94185 158.91846,121.03117 157.46669,120.75384 z M 161.35529,121.4153 C 159.86982,121.59617 160.63274,122.84903 161.35529,121.4153 z M 167.15812,121.45538 C 163.78533,123.14932 168.63377,123.15886 166.42038,122.68272 C 164.86578,123.27647 167.34203,122.02898 167.15812,121.45538 z M 145.851,121.5957 C 144.90937,123.26891 148.47516,121.14841 145.851,121.5957 z M 157.47671,121.6859 C 155.26399,121.9592 157.65741,123.31433 157.47671,121.6859 z M 130.82779,121.85628 C 130.51436,123.89462 128.69364,122.52693 130.82779,121.85628 z M 169.35297,122.3674 C 164.71007,124.47947 161.36272,128.17399 158.74788,132.17858 C 155.79206,137.22445 159.86814,131.45645 160.71221,130.81431 C 158.96551,135.25474 164.40062,127.04731 165.96549,126.04687 C 167.13694,124.86005 168.24889,123.61654 169.35297,122.3674 z M 171.26721,122.46763 C 170.62947,122.34916 171.08589,123.28307 171.26721,122.46763 z M 133.31328,122.64802 C 132.71525,123.8881 131.76148,131.20636 131.91684,126.57482 C 131.50465,131.92066 127.11481,127.69029 131.14088,125.1558 C 131.81095,124.27501 132.537,123.4368 133.31328,122.64802 z M 170.17479,122.75827 C 167.25479,123.60071 169.44201,124.79149 170.17479,122.75827 L 170.17479,122.75827 z M 159.34084,122.81841 C 156.97232,123.67259 158.31462,125.45325 159.34084,122.81841 z M 105.93274,123.37965 C 105.58503,125.28502 104.8689,132.84181 103.60023,130.17711 C 104.31166,127.88857 105.45986,125.74282 105.93274,123.37965 z M 112.21663,123.7204 C 112.52401,124.7691 111.2181,124.10968 112.21663,123.7204 z M 166.70712,124.24155 C 166.59198,124.87716 165.96464,124.22525 166.70712,124.24155 z M 168.29063,124.70257 C 166.38227,125.16276 166.86354,126.85085 168.29063,124.70257 z M 111.71552,124.71259 C 113.06998,128.50359 109.92513,126.17385 111.71552,124.71259 z M 163.96106,124.92306 C 162.73663,125.13304 164.06979,126.10258 163.96106,124.92306 z M 133.36339,124.95312 C 133.69756,125.62403 132.63175,125.43818 133.36339,124.95312 z M 165.12362,125.2137 C 164.77971,125.92622 164.38904,125.34225 165.12362,125.2137 z M 123.65191,125.91525 C 123.68003,126.50157 122.69445,126.03988 123.65191,125.91525 z M 149.63939,126.28607 C 148.59708,131.34171 141.56663,131.00794 139.3084,127.98121 C 139.55393,130.99168 135.81964,125.92091 138.18839,129.3371 C 140.89099,133.07081 149.43182,131.27097 149.63939,126.28607 L 149.63939,126.28607 z M 162.35751,126.39632 C 160.23209,127.49706 157.9855,132.88184 162.35751,126.39632 z M 163.82074,126.50656 C 163.75371,127.13383 162.99472,126.48005 163.82074,126.50656 z M 166.74721,126.51658 C 165.78265,127.58467 168.24653,126.32198 166.74721,126.51658 z M 111.31464,126.52661 C 110.76625,130.37372 109.76611,132.97492 108.64935,134.41399 C 108.09978,138.06641 104.30123,141.63482 101.14056,143.58488 C 97.682344,145.98702 99.112195,139.47174 99.896054,140.96907 C 98.953823,135.14456 107.4709,133.02436 109.40374,128.35747 C 110.60355,128.25036 109.6842,126.70089 111.31464,126.52661 z M 166.1058,126.77715 C 165.43297,126.72829 165.9495,127.50608 166.1058,126.77715 z M 110.39259,127.02771 C 110.30607,127.61465 111.02912,127.25143 110.39259,127.02771 z M 165.27395,127.40855 C 164.33121,127.82526 165.69497,128.13691 165.27395,127.40855 z M 143.86662,128.33059 C 143.75012,129.37254 146.37491,127.84238 143.86662,128.33059 z M 165.05346,128.34061 C 163.97022,128.06526 164.9758,129.21601 165.05346,128.34061 z M 169.33293,128.35064 C 167.51208,128.09183 169.13476,129.24389 169.33293,128.35064 z M 165.37417,128.63126 C 164.53601,128.73411 164.92888,129.55536 165.37417,128.63126 z M 168.24051,129.2827 C 167.14292,129.4689 168.4577,130.10765 168.24051,129.2827 z M 161.93658,129.48314 C 162.01585,130.07099 161.02824,129.5087 161.93658,129.48314 z M 137.76312,129.69361 C 138.73787,131.81088 140.51213,130.79259 137.76312,129.69361 L 137.76312,129.69361 z M 167.58907,129.95418 C 166.80874,130.27553 168.4055,130.29643 167.58907,129.95418 z M 158.76957,130.31498 C 156.6984,131.33029 153.32943,139.75367 157.00707,134.4768 C 157.77676,132.76927 157.3657,131.98141 158.76957,130.31498 z M 167.06792,130.31498 C 165.92888,130.89527 167.50749,131.15357 167.06792,130.31498 z M 123.34123,130.33502 C 120.82186,129.67973 123.71075,131.20441 123.34123,130.33502 z M 166.41648,131.4575 C 165.74747,131.38596 166.25302,132.18028 166.41648,131.4575 z M 162.46775,131.70806 C 161.83217,131.73711 162.1661,132.39812 162.46775,131.70806 z M 161.54571,132.1791 C 160.87668,132.10756 161.38226,132.90187 161.54571,132.1791 z M 164.95325,132.3595 C 164.59858,133.24887 165.98207,132.32495 164.95325,132.3595 z M 161.79626,132.49981 C 161.11369,132.43469 161.66481,133.20705 161.79626,132.49981 z M 111.44492,133.44189 C 110.30885,133.56589 111.47133,134.08105 111.44492,133.44189 z M 160.12257,134.04322 C 159.13694,134.49061 160.58784,134.74835 160.12257,134.04322 z M 158.87982,134.41404 C 157.60072,134.22507 159.31581,135.04438 158.87982,134.41404 z M 163.17933,134.49422 C 162.26162,134.93401 163.81025,135.04237 163.17933,134.49422 z M 161.52567,135.1657 C 161.4875,136.16172 162.68066,135.01383 161.52567,135.1657 z M 154.68053,135.22584 C 151.82634,137.54937 151.82711,139.21151 154.68053,135.22584 z M 157.97782,135.4363 C 156.89418,136.59249 158.11403,136.5221 157.97782,135.4363 z M 162.14704,135.81714 C 161.02229,135.73233 161.67466,137.13499 162.14704,135.81714 z M 157.00567,135.96748 C 154.44378,138.0629 148.47691,142.0738 148.19492,143.09673 C 151.59346,141.38909 154.65863,138.96872 157.00567,135.96748 z M 96.802548,136.41848 C 95.927197,137.01864 97.54462,136.78612 96.802548,136.41848 z M 108.17769,136.45856 C 109.21551,136.98694 107.33954,137.46236 108.17769,136.45856 z M 161.02456,136.68907 C 158.89418,137.28047 161.02776,138.13027 161.02456,136.68907 z M 107.12537,136.79932 C 106.255,137.70819 108.32656,137.59117 107.12537,136.79932 z M 153.85871,136.85945 C 152.15613,137.89166 153.54944,138.75575 153.85871,136.85945 z M 160.04238,137.89173 C 159.13277,138.05378 160.61562,138.68077 160.04238,137.89173 z M 100.4005,138.17235 C 100.25597,139.34882 102.28475,139.57077 100.4005,138.17235 z M 159.48114,138.41289 C 158.60579,139.01306 160.22323,138.78052 159.48114,138.41289 z M 127.29998,138.463 C 129.08707,138.59791 126.23706,138.64515 127.29998,138.463 z M 126.65857,138.54318 C 124.47411,139.58342 121.2434,138.5311 125.62721,138.59077 L 126.65857,138.54318 z M 137.90343,138.70352 C 138.51984,140.3867 140.29945,137.89818 137.90343,138.70352 z M 158.55911,138.79372 C 157.59291,139.93218 159.7332,140.28681 158.55911,138.79372 z M 140.74972,138.87391 C 139.94098,139.85279 142.10366,139.14686 140.74972,138.87391 z M 142.76417,138.95408 C 142.24307,139.92831 143.98021,139.03531 142.76417,138.95408 z M 121.94815,138.97413 C 119.28559,140.16042 111.94303,140.12668 118.72862,139.34447 C 119.80005,139.20633 120.8741,139.08971 121.94815,138.97413 z M 147.27416,138.97413 C 146.36428,139.40256 147.90885,139.51455 147.27416,138.97413 z M 145.10936,139.04428 L 145.14312,139.33465 L 145.10936,139.04428 z M 122.89023,139.64561 C 123.8403,139.92805 122.77715,140.77533 122.89023,139.64561 z M 154.8008,139.69573 C 154.03127,140.07318 155.20947,140.64931 154.8008,139.69573 z M 157.00567,139.73581 C 156.10875,139.99092 157.86823,140.18283 157.00567,139.73581 z M 128.87347,139.97635 C 126.13877,140.55018 120.48693,143.65805 119.64488,142.97251 C 122.48162,141.37563 125.63927,140.34855 128.87347,139.97635 z M 125.47595,140.00641 C 127.01763,139.61304 124.87885,140.61254 125.47595,140.00641 z M 114.19099,140.05652 C 113.70332,141.09574 112.23767,139.61495 114.19099,140.05652 z M 117.7188,140.06655 C 121.71183,139.71098 120.81217,141.91117 117.70161,142.08395 C 117.17817,143.47464 115.03356,142.67518 115.44425,144.42417 C 110.3988,143.25626 113.60091,140.0961 116.54237,140.89452 C 116.79331,140.97341 118.70354,140.65464 117.7188,140.06655 z M 157.82749,140.08659 C 154.83966,141.87998 157.1996,141.95136 157.82749,140.08659 z M 156.60479,140.20685 C 156.61027,140.96998 157.56074,140.23356 156.60479,140.20685 z M 156.08364,140.3171 C 155.61911,141.0039 156.81216,140.86288 156.08364,140.3171 z M 153.38767,140.34717 C 152.28841,140.46509 153.41021,140.98381 153.38767,140.34717 z M 91.621082,140.52756 C 90.913863,140.56913 91.066008,141.53401 91.621082,140.52756 z M 152.20505,141.31931 C 150.19145,141.78909 152.25753,143.35171 152.20505,141.31931 z M 105.65212,141.39949 C 106.65114,142.14569 104.55052,142.81281 105.65212,141.39949 z M 102.50516,141.4496 C 101.80618,141.93264 103.37207,141.96687 102.50516,141.4496 z M 153.61818,141.51976 C 152.95245,141.46324 153.4485,142.22745 153.61818,141.51976 z M 155.91325,141.77031 C 154.39901,144.24074 150.66609,146.08095 152.27436,146.24449 C 153.41434,144.78993 155.86115,143.84716 155.91325,141.77031 z M 106.24343,142.11106 C 108.31597,143.28543 112.99605,151.70782 108.61111,147.01322 C 105.55004,145.07448 106.33845,143.54402 106.24343,142.11106 z M 150.44116,142.45182 C 148.28273,143.56212 151.40125,145.19306 150.44116,142.45182 z M 98.085386,142.61217 C 102.22229,145.60887 95.919403,147.58171 98.085386,142.61217 z M 104.25903,142.8026 C 105.50623,144.58167 111.75345,151.66364 106.38336,147.88941 C 103.94781,146.89125 104.9558,141.71585 103.43788,145.14285 C 105.30565,147.55562 108.14148,151.18201 102.79875,150.06533 C 99.25717,149.10699 100.13804,147.59748 102.9987,149.9438 C 101.98681,149.84433 99.85314,145.98948 102.01982,147.91806 C 98.929683,146.01779 101.95285,144.04858 101.79088,147.55865 C 103.70839,149.83303 106.63523,149.87594 103.15117,147.46977 C 101.82862,144.38675 104.18584,147.44238 102.43692,144.85639 C 102.71578,143.93974 103.79668,143.5959 104.25903,142.8026 z M 122.04837,143.22352 C 123.61146,142.83465 121.4609,143.79955 122.04837,143.22352 z M 148.55699,143.63443 C 146.29344,145.38115 150.73772,145.31386 148.55699,143.63443 z M 121.82788,144.2057 C 126.51853,144.26355 120.96247,144.64306 121.82788,144.2057 z M 151.48346,144.21571 C 150.69109,144.32028 150.6962,145.47217 151.48346,144.21571 z M 127.89129,144.33598 C 126.86286,145.24747 129.27693,144.70673 127.89129,144.33598 z M 147.0236,144.35603 C 144.46314,145.38034 148.31737,146.46669 147.0236,144.35603 z M 121.08625,144.66672 C 121.39558,145.27281 119.20905,144.31353 121.08625,144.66672 z M 139.38671,145.08764 C 135.75342,145.26131 135.38976,147.17791 139.38671,145.08764 z M 97.534163,145.27806 C 99.152026,146.48206 97.034672,147.63661 97.534163,145.27806 z M 118.47046,145.41838 C 120.03753,145.76004 117.33761,145.69151 118.47046,145.41838 z M 151.99459,145.89944 C 150.38014,147.613 150.06426,148.9548 149.35968,148.3264 C 146.5026,152.27134 152.57517,147.18283 151.99459,145.89944 z M 106.85477,145.90946 C 107.65506,146.32998 106.79329,146.57196 106.85477,145.90946 z M 118.02948,145.93953 C 120.0046,145.32192 118.31192,146.78166 118.02948,145.93953 z M 117.43818,146.39052 C 121.36214,146.61241 113.83078,147.24178 117.43818,146.39052 z M 147.42449,146.63106 C 146.64263,146.74087 146.63448,147.85677 147.42449,146.63106 z M 146.60267,146.68117 C 145.48342,147.00065 146.47193,148.19876 146.60267,146.68117 z M 99.889366,146.7413 C 100.50701,148.74276 97.503652,146.78047 99.889366,146.7413 z M 107.70666,147.00188 C 108.35603,147.1595 107.66924,147.7472 107.70666,147.00188 z M 114.92262,147.18228 C 116.96168,147.30444 114.11376,147.87857 114.92262,147.18228 z M 145.65056,147.38272 C 145.0576,148.12543 146.00757,148.48943 145.65056,147.38272 z M 149.53916,147.50299 C 148.51561,147.68373 149.83744,148.55426 149.53916,147.50299 z M 96.892739,147.52303 C 97.818879,149.4212 103.69363,151.40044 102.71647,151.14471 C 100.75977,150.61413 96.746565,150.24213 96.892739,147.52303 z M 96.752434,148.26467 C 95.85198,150.48496 93.637092,150.28521 96.752434,148.26467 z M 120.87578,148.47514 C 116.11586,150.08895 111.04554,151.23757 107.48994,155.09668 C 103.06998,158.87779 97.093041,159.01261 92.068185,161.51086 C 88.433094,163.40521 86.624013,160.74615 89.741157,158.10989 C 93.525188,155.28722 95.654371,146.68863 101.15054,151.42637 C 106.54137,151.67319 111.63908,149.28933 117.00272,148.93088 C 118.28819,148.73633 119.57938,148.57607 120.87578,148.47514 z M 145.27975,148.78583 C 142.56615,148.92647 145.02971,150.97723 145.27975,148.78583 z M 145.51025,149.06645 C 145.04034,149.63734 146.41508,149.07705 145.51025,149.06645 z M 147.4345,149.37714 C 146.21473,151.59626 150.8629,150.02283 147.50456,149.4773 L 147.4345,149.37714 z M 108.70887,149.5876 C 109.45486,149.93574 107.86051,150.20754 108.70887,149.5876 z M 96.191194,149.60764 C 94.262743,151.35231 93.51131,151.42069 96.032485,149.71525 L 96.191194,149.60764 z M 143.48577,149.84817 C 140.11521,151.91683 145.47293,153.92905 143.48577,149.84817 z M 106.36369,150.38937 C 105.2583,151.32492 104.29821,150.14578 106.36369,150.38937 z M 143.68622,150.50963 C 143.15624,152.58906 142.29642,150.61394 143.68622,150.50963 z M 147.03362,150.74015 C 146.88759,151.78612 149.04242,150.22088 147.03362,150.74015 z M 146.68285,151.22121 C 145.17896,152.48951 148.23962,151.95103 146.68285,151.22121 z M 143.37553,151.52188 C 143.71348,152.22865 142.68052,151.87809 143.37553,151.52188 z M 145.87105,152.033 C 144.50121,152.50278 146.50142,153.08141 145.87105,152.033 z M 141.29092,152.50404 C 140.04758,153.11829 141.32455,153.56756 141.29092,152.50404 z M 141.56152,153.33588 C 139.8385,154.06613 141.58431,154.49767 141.56152,153.33588 z M 90.729119,153.86706 C 90.846768,154.45581 89.799967,153.89942 90.729119,153.86706 z M 113.9204,156.35255 C 112.78434,156.47654 113.94679,156.99172 113.9204,156.35255 z M 71.626873,170.94483 C 71.070731,172.78009 69.034061,170.39629 71.626873,170.94483 z" 104 style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.33300018;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 70 105 <path 71 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#6a6a6a;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:URW Palladio L" 72 d="M 263.08597,171.8306 C 255.78998,171.8306 250.92597,176.56661 250.92597,183.6066 C 250.92597,190.32659 255.59798,195.1586 262.06197,195.1586 C 269.22996,195.1586 274.66997,189.81459 274.66997,182.7746 C 274.66997,176.05461 270.18996,171.8306 263.08597,171.8306 M 262.54197,173.1746 C 268.01396,173.1746 271.24597,177.07861 271.24597,183.7346 C 271.24597,190.07059 268.30196,193.8146 263.34197,193.8146 C 257.96597,193.8146 254.34997,189.27059 254.34997,182.4226 C 254.34997,176.50261 257.29397,173.1746 262.54197,173.1746 M 275.16697,181.7186 L 276.35097,181.7186 C 277.63097,181.7186 277.75897,181.9426 277.75897,184.0546 L 277.75897,200.1506 C 277.75897,202.1666 277.66297,202.3906 276.57497,202.4546 L 275.10297,202.5506 L 275.10297,203.5106 C 278.30297,203.4146 278.30297,203.4146 279.10297,203.4146 C 279.90297,203.4146 279.90297,203.4146 283.10297,203.5106 L 283.10297,202.5506 L 281.63097,202.4546 C 280.54297,202.3906 280.44697,202.1666 280.44697,200.1506 L 280.44697,194.1026 C 281.40697,194.6786 282.43097,194.9026 283.87097,194.9026 C 284.79897,194.9026 285.63097,194.7106 286.14297,194.3906 L 289.79097,192.0226 C 291.07097,191.1906 292.57497,187.8946 292.57497,185.8466 C 292.57497,182.2946 289.63097,179.5106 285.91897,179.5106 C 284.73497,179.5106 283.58297,179.8306 283.07097,180.3106 L 280.44697,182.7106 L 280.44697,179.6386 L 280.15897,179.5106 C 278.52697,180.1826 276.86297,180.6306 275.16697,180.8226 L 275.16697,181.7186 M 280.44697,184.7266 C 280.44697,184.2786 280.60697,183.9266 281.02297,183.3826 C 281.95097,182.1986 283.26297,181.5906 284.86297,181.5906 C 287.87097,181.5906 289.79097,183.7026 289.79097,187.0306 C 289.79097,190.6146 287.64697,193.2706 284.76697,193.2706 C 283.00697,193.2706 281.69497,192.6946 280.44697,191.3826 L 280.44697,184.7266 M 307.70597,192.2786 L 307.28997,191.9586 C 305.24197,193.1746 304.50597,193.4626 303.12997,193.4626 C 301.04997,193.4626 299.32197,192.5346 298.42597,190.9666 C 297.81797,189.9106 297.59397,189.0146 297.52997,187.1586 L 302.20197,187.1586 C 304.40997,187.1586 305.78597,187.0626 307.99397,186.7106 C 308.02597,186.2626 308.05797,185.9746 308.05797,185.5906 C 308.05797,181.9106 305.68997,179.5106 302.10597,179.5106 C 300.92197,179.5106 299.54597,179.9266 298.23397,180.6946 C 295.60997,182.1986 294.55397,184.1826 294.55397,187.5106 C 294.55397,189.5266 295.03397,191.2546 295.89797,192.4706 C 297.17797,194.1666 299.32197,195.1586 301.72197,195.1586 C 302.90597,195.1586 304.08997,194.9026 305.40197,194.3266 C 306.26597,193.9746 306.93797,193.5586 307.06597,193.3666 L 307.70597,192.2786 M 305.20997,185.9746 C 303.54597,186.0386 302.77797,186.0706 301.62597,186.0706 C 300.15397,186.0706 299.32197,186.0386 297.59397,185.8786 C 297.59397,184.3746 297.72197,183.6706 298.13797,182.8386 C 298.80997,181.4306 300.18597,180.5666 301.72197,180.5666 C 302.77797,180.5666 303.60997,180.9826 304.18597,181.8466 C 304.88997,182.9026 305.11397,183.8306 305.20997,185.9746 M 321.90447,194.6146 C 323.85647,194.5186 323.88847,194.5186 324.43247,194.5186 C 324.88047,194.5186 324.88047,194.5186 327.08847,194.6146 L 327.08847,193.6546 L 325.77647,193.5586 C 324.68847,193.4946 324.59247,193.3026 324.59247,191.2546 L 324.59247,185.0786 C 324.59247,181.3346 322.83247,179.5106 319.24847,179.5106 C 318.06447,179.5106 317.39247,179.7346 316.72047,180.3106 L 314.28847,182.4226 L 314.28847,179.6386 L 314.00047,179.5106 C 312.36847,180.1826 310.70447,180.6306 309.00847,180.8226 L 309.00847,181.7186 L 310.19247,181.7186 C 311.47247,181.7186 311.60047,181.9426 311.60047,184.0546 L 311.60047,191.2546 C 311.60047,193.2706 311.50447,193.4946 310.41647,193.5586 L 308.97647,193.6546 L 308.97647,194.6146 C 311.15247,194.5506 312.01647,194.5186 312.94447,194.5186 C 313.87247,194.5186 314.73647,194.5506 316.91247,194.6146 L 316.91247,193.6546 L 315.47247,193.5586 C 314.38447,193.4946 314.28847,193.2706 314.28847,191.2546 L 314.28847,184.4706 C 314.28847,183.0306 316.40047,181.4626 318.35247,181.4626 C 320.49647,181.4626 321.90447,183.0626 321.90447,185.5266 L 321.90447,194.6146 M 341.69647,173.9746 C 342.81647,173.7186 343.74447,173.5906 344.83247,173.5906 C 348.28847,173.5906 350.14447,175.1906 350.14447,178.2306 C 350.14447,181.1106 348.19247,183.1266 345.40847,183.1266 C 344.73647,183.1266 344.25647,183.0626 343.42447,182.8066 L 343.74447,183.9586 C 344.51247,184.1186 344.96047,184.1506 345.60047,184.1506 C 349.98447,184.1506 353.34447,181.1746 353.34447,177.3346 C 353.34447,174.2626 350.84847,172.3746 346.78447,172.3746 C 346.62447,172.3746 346.30447,172.3746 345.88847,172.4066 C 344.70447,172.4386 342.27247,172.4706 341.34447,172.4706 C 340.64047,172.4706 340.64046,172.4706 335.52047,172.3746 L 335.52047,173.3346 L 336.96047,173.4306 C 338.40047,173.5266 338.65647,173.9426 338.65647,176.3106 L 338.65647,190.6786 C 338.65647,193.2066 338.49647,193.4626 337.02447,193.5586 L 335.48847,193.6546 L 335.48847,194.6146 C 337.37647,194.5506 338.49647,194.5186 340.16047,194.5186 C 341.82447,194.5186 342.97647,194.5506 344.86447,194.6146 L 344.86447,193.6546 L 343.32847,193.5586 C 341.85647,193.4626 341.69647,193.2066 341.69647,190.6786 L 341.69647,173.9746 M 369.81797,179.6386 L 369.52997,179.5106 C 367.89797,180.1826 366.23397,180.6306 364.53797,180.8226 L 364.53797,181.7186 L 365.72197,181.7186 C 367.00197,181.7186 367.12997,181.9426 367.12997,184.0546 L 367.12997,189.2706 C 367.12997,189.9746 366.68197,190.8706 365.94597,191.6066 C 365.04997,192.5026 364.02597,192.9506 362.77797,192.9506 C 361.65797,192.9506 360.76197,192.5986 360.24997,191.9906 C 359.80197,191.4786 359.57797,190.4866 359.57797,189.0786 L 359.57797,179.6386 L 359.28997,179.5106 C 357.65797,180.1826 355.99397,180.6306 354.29797,180.8226 L 354.29797,181.7186 L 355.48197,181.7186 C 356.76197,181.7186 356.88997,181.9426 356.88997,184.0546 L 356.88997,189.4306 C 356.88997,191.6706 357.08197,192.6626 357.65797,193.4626 C 358.36197,194.4226 359.57797,194.9026 361.40197,194.9026 C 362.84197,194.9026 364.12197,194.4546 364.98597,193.6546 L 367.12997,191.6706 C 367.12997,192.5986 367.09797,193.1106 367.00197,194.6146 C 369.14597,194.5186 369.17797,194.5186 369.65797,194.5186 C 370.10597,194.5186 370.10597,194.5186 372.31397,194.6146 L 372.31397,193.6546 L 371.00197,193.5586 C 369.91397,193.4946 369.81797,193.3026 369.81797,191.2546 L 369.81797,179.6386 M 377.45947,171.5426 L 377.17147,171.2866 C 375.76347,171.8306 374.70747,172.0866 372.17947,172.4706 L 372.17947,173.3666 L 373.97147,173.3666 C 374.54747,173.3666 374.77147,173.7186 374.77147,174.6786 L 374.77147,189.6226 C 374.77147,191.6066 374.73947,192.4706 374.51547,194.7106 L 375.02747,194.9026 L 376.30747,193.7506 C 377.58747,194.5826 378.73947,194.9026 380.43547,194.9026 C 381.68347,194.9026 382.51547,194.6786 383.18747,194.1986 L 386.38747,191.8946 C 387.79547,190.8706 388.91547,188.2146 388.91547,185.8786 C 388.91547,182.1666 386.51547,179.5106 383.12347,179.5106 C 381.61947,179.5106 380.05147,180.0866 379.21947,180.9186 L 377.45947,182.7106 L 377.45947,171.5426 M 377.45947,184.6626 C 377.45947,184.2146 377.77947,183.6386 378.29147,183.0626 C 379.18747,182.1346 380.43547,181.5906 381.74747,181.5906 C 384.43547,181.5906 386.13147,183.7666 386.13147,187.1906 C 386.13147,190.7746 384.21147,193.2706 381.49147,193.2706 C 379.82747,193.2706 377.45947,192.2466 377.45947,191.5426 L 377.45947,184.6626 M 390.77047,173.3666 L 392.56247,173.3666 C 393.13847,173.3666 393.36247,173.7186 393.36247,174.6786 L 393.36247,191.2546 C 393.36247,193.2706 393.26647,193.4946 392.17847,193.5586 L 390.70647,193.6546 L 390.70647,194.6146 C 393.90647,194.5186 393.90647,194.5186 394.70647,194.5186 C 395.50647,194.5186 395.50647,194.5186 398.70647,194.6146 L 398.70647,193.6546 L 397.23447,193.5586 C 396.14647,193.4946 396.05047,193.2706 396.05047,191.2546 L 396.05047,171.5426 L 395.76247,171.2866 C 394.35447,171.8306 393.29847,172.0866 390.77047,172.4706 L 390.77047,173.3666 M 405.17547,179.6386 L 404.88747,179.5106 C 403.25547,180.1826 401.59147,180.6306 399.89547,180.8226 L 399.89547,181.7186 L 401.07947,181.7186 C 402.35947,181.7186 402.48747,181.9426 402.48747,184.0546 L 402.48747,191.2546 C 402.48747,193.2706 402.39147,193.4946 401.30347,193.5586 L 399.83147,193.6546 L 399.83147,194.6146 C 403.03147,194.5186 403.03147,194.5186 403.83147,194.5186 C 404.63147,194.5186 404.63147,194.5186 407.83147,194.6146 L 407.83147,193.6546 L 406.35947,193.5586 C 405.27147,193.4946 405.17547,193.2706 405.17547,191.2546 L 405.17547,179.6386 M 403.70347,172.5346 C 402.74347,172.5346 401.91147,173.3666 401.91147,174.3266 C 401.91147,175.2546 402.74347,176.0866 403.67147,176.0866 C 404.59947,176.0866 405.46347,175.2546 405.46347,174.3266 C 405.46347,173.4306 404.59947,172.5346 403.70347,172.5346 M 409.59647,189.9426 C 409.59647,192.1506 409.50047,193.1106 409.24447,194.3906 C 410.90847,194.9346 412.15647,195.1586 413.62847,195.1586 C 417.82047,195.1586 420.79647,192.9186 420.79647,189.7826 C 420.79647,188.7906 420.50847,188.0546 419.90047,187.4146 C 419.06847,186.6146 418.01247,186.2306 415.19647,185.6866 C 412.57247,185.1746 411.70847,184.5346 411.70847,183.0626 C 411.70847,181.4626 412.82847,180.5666 414.78047,180.5666 C 416.92447,180.5666 418.55647,181.6866 418.55647,183.1906 L 418.55647,183.9266 L 419.45247,183.9266 C 419.48447,182.0706 419.51647,181.3026 419.61247,180.3106 C 417.91647,179.7346 416.76447,179.5106 415.45247,179.5106 C 411.74047,179.5106 409.46847,181.2706 409.46847,184.1506 C 409.46847,185.6866 410.17247,186.7746 411.64447,187.4466 C 412.50847,187.8306 414.20447,188.3426 416.38047,188.8226 C 417.82047,189.1426 418.42847,189.8146 418.42847,191.0306 C 418.42847,192.7586 416.82847,193.9746 414.55647,193.9746 C 412.22047,193.9746 410.55647,192.8546 410.55647,191.2546 L 410.55647,189.9426 L 409.59647,189.9426 M 421.88347,173.3666 L 423.67547,173.3666 C 424.25147,173.3666 424.47547,173.7186 424.47547,174.6786 L 424.47547,191.2546 C 424.47547,193.2706 424.37947,193.4946 423.29147,193.5586 L 421.85147,193.6546 L 421.85147,194.6146 C 424.02747,194.5506 424.89147,194.5186 425.81947,194.5186 C 426.74747,194.5186 427.61147,194.5506 429.78747,194.6146 L 429.78747,193.6546 L 428.34747,193.5586 C 427.25947,193.4946 427.16347,193.2706 427.16347,191.2546 L 427.16347,184.4706 C 427.16347,183.0306 429.27547,181.4626 431.22747,181.4626 C 433.37147,181.4626 434.77947,183.0626 434.77947,185.5266 L 434.77947,194.6146 C 436.73147,194.5186 436.76347,194.5186 437.30747,194.5186 C 437.75547,194.5186 437.75547,194.5186 439.96347,194.6146 L 439.96347,193.6546 L 438.65147,193.5586 C 437.56347,193.4946 437.46747,193.3026 437.46747,191.2546 L 437.46747,185.0786 C 437.46747,181.3346 435.70747,179.5106 432.12347,179.5106 C 430.93947,179.5106 430.26747,179.7346 429.59547,180.3106 L 427.16347,182.4226 L 427.16347,171.5426 L 426.87547,171.2866 C 425.46747,171.8306 424.41147,172.0866 421.88347,172.4706 L 421.88347,173.3666 M 445.92547,179.6386 L 445.63747,179.5106 C 444.00547,180.1826 442.34147,180.6306 440.64547,180.8226 L 440.64547,181.7186 L 441.82947,181.7186 C 443.10947,181.7186 443.23747,181.9426 443.23747,184.0546 L 443.23747,191.2546 C 443.23747,193.2706 443.14147,193.4946 442.05347,193.5586 L 440.58147,193.6546 L 440.58147,194.6146 C 443.78147,194.5186 443.78147,194.5186 444.58147,194.5186 C 445.38147,194.5186 445.38147,194.5186 448.58147,194.6146 L 448.58147,193.6546 L 447.10947,193.5586 C 446.02147,193.4946 445.92547,193.2706 445.92547,191.2546 L 445.92547,179.6386 M 444.45347,172.5346 C 443.49347,172.5346 442.66147,173.3666 442.66147,174.3266 C 442.66147,175.2546 443.49347,176.0866 444.42147,176.0866 C 445.34947,176.0866 446.21347,175.2546 446.21347,174.3266 C 446.21347,173.4306 445.34947,172.5346 444.45347,172.5346 M 462.15447,194.6146 C 464.10647,194.5186 464.13847,194.5186 464.68247,194.5186 C 465.13047,194.5186 465.13047,194.5186 467.33847,194.6146 L 467.33847,193.6546 L 466.02647,193.5586 C 464.93847,193.4946 464.84247,193.3026 464.84247,191.2546 L 464.84247,185.0786 C 464.84247,181.3346 463.08247,179.5106 459.49847,179.5106 C 458.31447,179.5106 457.64247,179.7346 456.97047,180.3106 L 454.53847,182.4226 L 454.53847,179.6386 L 454.25047,179.5106 C 452.61847,180.1826 450.95447,180.6306 449.25847,180.8226 L 449.25847,181.7186 L 450.44247,181.7186 C 451.72247,181.7186 451.85047,181.9426 451.85047,184.0546 L 451.85047,191.2546 C 451.85047,193.2706 451.75447,193.4946 450.66647,193.5586 L 449.22647,193.6546 L 449.22647,194.6146 C 451.40247,194.5506 452.26647,194.5186 453.19447,194.5186 C 454.12247,194.5186 454.98647,194.5506 457.16247,194.6146 L 457.16247,193.6546 L 455.72247,193.5586 C 454.63447,193.4946 454.53847,193.2706 454.53847,191.2546 L 454.53847,184.4706 C 454.53847,183.0306 456.65047,181.4626 458.60247,181.4626 C 460.74647,181.4626 462.15447,183.0626 462.15447,185.5266 L 462.15447,194.6146 M 483.82997,182.4226 L 484.62997,181.1106 L 484.50197,180.7266 L 479.95797,180.8546 C 478.77397,179.8946 477.62197,179.5106 476.05397,179.5106 C 474.64597,179.5106 473.01397,179.9586 471.70197,180.7266 C 469.90997,181.7506 468.98197,183.3186 468.98197,185.2706 C 468.98197,187.6386 470.45397,189.2706 472.82197,189.5266 L 470.29397,191.4786 C 469.97397,191.9586 469.81397,192.3746 469.81397,192.8546 C 469.81397,193.7506 470.38997,194.2626 471.92597,194.7106 L 469.14197,196.2146 C 468.69397,196.4706 468.24597,197.6546 468.24597,198.6466 C 468.24597,201.5586 471.09397,203.5746 475.15797,203.5746 C 479.98996,203.5746 483.79797,200.5346 483.79797,196.6306 C 483.79797,194.3266 482.26197,192.7266 480.02197,192.7266 L 474.90197,192.7266 C 473.23797,192.7266 472.46997,192.3426 472.46997,191.4786 C 472.46997,191.0626 472.72597,190.7106 473.55797,190.0066 C 473.74997,189.8466 473.81397,189.7826 473.94197,189.6546 C 474.26197,189.6866 474.45397,189.7186 474.70997,189.7186 C 476.08597,189.7186 477.78197,189.1106 479.09397,188.1826 C 480.53397,187.1266 481.23797,185.8466 481.23797,184.1506 C 481.23797,183.5106 481.14197,183.0946 480.88597,182.4226 L 483.82997,182.4226 M 474.90197,180.5986 C 477.07797,180.5986 478.54997,182.3906 478.54997,185.1106 C 478.54997,187.1906 477.20597,188.6306 475.25397,188.6306 C 473.10997,188.6306 471.66997,186.9666 471.66997,184.5026 C 471.66997,182.0386 472.85397,180.5986 474.90197,180.5986 M 476.40597,194.9666 C 480.02197,194.9666 481.26997,195.7026 481.26997,197.7826 C 481.26997,200.5346 478.74197,202.5826 475.38197,202.5826 C 472.59797,202.5826 470.67797,200.9506 470.67797,198.5826 C 470.67797,197.1426 471.50997,195.8306 472.78997,195.2866 C 473.30197,195.0306 474.19797,194.9666 476.40597,194.9666 M 499.38397,173.9746 C 500.50397,173.7186 501.43197,173.5906 502.51997,173.5906 C 505.97597,173.5906 507.83197,175.1906 507.83197,178.2306 C 507.83197,181.1106 505.87997,183.1266 503.09597,183.1266 C 502.42397,183.1266 501.94397,183.0626 501.11197,182.8066 L 501.43197,183.9586 C 502.19997,184.1186 502.64797,184.1506 503.28797,184.1506 C 507.67197,184.1506 511.03197,181.1746 511.03197,177.3346 C 511.03197,174.2626 508.53597,172.3746 504.47197,172.3746 C 504.31197,172.3746 503.99197,172.3746 503.57597,172.4066 C 502.39197,172.4386 499.95997,172.4706 499.03197,172.4706 C 498.32797,172.4706 498.32796,172.4706 493.20797,172.3746 L 493.20797,173.3346 L 494.64797,173.4306 C 496.08797,173.5266 496.34397,173.9426 496.34397,176.3106 L 496.34397,190.6786 C 496.34397,193.2066 496.18397,193.4626 494.71197,193.5586 L 493.17597,193.6546 L 493.17597,194.6146 C 495.06397,194.5506 496.18397,194.5186 497.84797,194.5186 C 499.51197,194.5186 500.66397,194.5506 502.55197,194.6146 L 502.55197,193.6546 L 501.01597,193.5586 C 499.54397,193.4626 499.38397,193.2066 499.38397,190.6786 L 499.38397,173.9746 M 512.14547,173.3666 L 513.93747,173.3666 C 514.51347,173.3666 514.73747,173.7186 514.73747,174.6786 L 514.73747,191.2546 C 514.73747,193.2706 514.64147,193.4946 513.55347,193.5586 L 512.08147,193.6546 L 512.08147,194.6146 C 515.28147,194.5186 515.28147,194.5186 516.08147,194.5186 C 516.88147,194.5186 516.88147,194.5186 520.08147,194.6146 L 520.08147,193.6546 L 518.60947,193.5586 C 517.52147,193.4946 517.42547,193.2706 517.42547,191.2546 L 517.42547,171.5426 L 517.13747,171.2866 C 515.72947,171.8306 514.67347,172.0866 512.14547,172.4706 L 512.14547,173.3666 M 530.90247,191.8946 L 530.74247,194.6146 C 532.82247,194.5186 532.82247,194.5186 533.23847,194.5186 C 533.39847,194.5186 534.19847,194.5506 535.60647,194.6146 L 535.60647,193.6546 L 534.35847,193.5906 C 533.59047,193.5586 533.46247,193.3026 533.46247,191.7346 L 533.46247,185.8786 C 533.46247,181.20661 532.11847,179.5106 528.40647,179.5106 C 527.03047,179.5106 525.75047,179.8626 524.53447,180.5986 L 522.83847,181.6226 L 522.83847,183.7026 L 523.67047,183.9266 L 524.08647,182.9346 C 524.75847,181.4306 525.07847,181.2066 526.55047,181.2066 C 529.55847,181.2066 530.80647,182.3906 530.90247,185.3026 L 527.73447,185.8786 C 523.38247,186.6786 521.55847,188.1826 521.55847,190.9666 C 521.55847,193.4626 523.06247,194.9026 525.59047,194.9026 C 526.16647,194.9026 526.71047,194.8066 526.93447,194.6466 L 530.90247,191.8946 M 530.90247,190.5506 C 529.97447,191.8626 527.95847,193.0786 526.71047,193.0786 C 525.43047,193.0786 524.31047,191.8946 524.31047,190.5186 C 524.31047,189.3346 524.95047,188.2146 525.91047,187.6066 C 526.71047,187.1266 528.47047,186.6786 530.90247,186.3266 L 530.90247,190.5506 M 539.35797,182.2946 L 539.35797,191.5106 C 539.35797,193.8786 540.41397,194.9026 542.87797,194.9026 C 543.61397,194.9026 544.38197,194.7426 544.57397,194.5186 L 546.10997,192.8226 L 545.69397,192.2786 C 544.89397,192.7266 544.41397,192.8866 543.80597,192.8866 C 542.55797,192.8866 542.04597,192.2466 542.04597,190.6786 L 542.04597,182.2946 L 546.14197,182.2946 L 546.42997,180.5666 L 542.04597,180.7586 L 542.04597,179.5426 C 542.04597,178.1986 542.14197,177.0466 542.39797,174.9986 L 542.01397,174.6466 C 541.24597,175.1266 540.28597,175.5426 539.29397,175.8626 C 539.38997,176.8226 539.42197,177.4306 539.42197,178.3906 L 539.42197,180.6306 L 536.92597,181.7506 L 536.92597,182.4226 L 539.35797,182.2946 M 557.32147,171.5746 C 556.64947,171.3186 556.26547,171.2226 555.84947,171.2226 C 554.82547,171.2226 553.70547,171.7666 553.00147,172.5666 L 551.14547,174.6786 C 550.21747,175.7346 549.80147,177.1746 549.80147,179.2866 L 549.80147,180.6306 L 547.59347,181.6226 L 547.59347,182.3266 L 549.80147,182.1986 L 549.80147,191.2546 C 549.80147,193.2706 549.70547,193.4946 548.61747,193.5586 L 547.14547,193.6546 L 547.14547,194.6146 C 550.34547,194.5186 550.34547,194.5186 551.14547,194.5186 C 551.94547,194.5186 551.94547,194.5186 555.14547,194.6146 L 555.14547,193.6546 L 553.67347,193.5586 C 552.58547,193.4946 552.48947,193.2706 552.48947,191.2546 L 552.48947,182.1986 L 556.45747,182.1986 L 556.68147,180.5026 L 552.48947,180.6306 L 552.48947,177.9106 C 552.48947,174.2306 552.90547,173.3346 554.72947,173.3346 C 555.59347,173.3346 556.16947,173.5586 556.93747,174.2306 L 557.32147,174.0386 L 557.32147,171.5746 M 565.83747,179.5106 C 561.16547,179.5106 557.93347,182.80661 557.93347,187.5746 C 557.93347,192.0866 560.78147,195.1586 564.90947,195.1586 C 569.83746,195.1586 573.35747,191.7346 573.35747,186.9346 C 573.35747,182.6146 570.22147,179.5106 565.83747,179.5106 M 565.26147,180.5666 C 568.20547,180.5666 570.38147,183.7666 570.38147,188.1186 C 570.38147,191.7986 568.74947,194.1026 566.15747,194.1026 C 563.02147,194.1026 560.90947,191.0306 560.90947,186.4866 C 560.90947,182.6466 562.44547,180.5666 565.26147,180.5666 M 574.77047,181.7186 L 575.95447,181.7186 C 577.23447,181.7186 577.36247,181.9426 577.36247,184.0546 L 577.36247,191.2546 C 577.36247,193.2706 577.26647,193.4946 576.17847,193.5586 L 574.70647,193.6546 L 574.70647,194.6146 C 577.01047,194.5506 577.84247,194.5186 578.64247,194.5186 C 579.28247,194.5186 579.28247,194.5186 583.21847,194.6146 L 583.21847,193.6546 L 581.55447,193.5586 C 580.11447,193.4626 580.05047,193.3666 580.05047,191.2546 L 580.05047,185.7506 C 580.05047,183.8306 581.33047,182.2306 582.89847,182.2306 C 583.85847,182.2306 584.53047,182.6786 585.04247,183.7026 L 585.71447,183.7026 L 586.00247,179.8626 C 585.65047,179.6386 585.07447,179.5106 584.49847,179.5106 C 583.53847,179.5106 582.51447,180.0226 581.84247,180.8226 L 580.05047,182.9346 L 580.05047,179.6386 L 579.76247,179.5106 C 578.13047,180.1826 576.46647,180.6306 574.77047,180.8226 L 574.77047,181.7186 M 587.04797,181.7186 L 588.23197,181.7186 C 589.51197,181.7186 589.63997,181.9426 589.63997,184.0546 L 589.63997,191.2546 C 589.63997,193.2706 589.54397,193.4946 588.45597,193.5586 L 586.98397,193.6546 L 586.98397,194.6146 C 590.05597,194.5186 590.15197,194.5186 591.04797,194.5186 C 591.94397,194.5186 592.77597,194.5506 594.85597,194.6146 L 594.85597,193.6546 L 593.51197,193.5586 C 592.42397,193.4946 592.32797,193.2706 592.32797,191.2546 L 592.32797,184.4706 C 592.32797,183.0306 594.43997,181.4626 596.35997,181.4626 C 598.08797,181.4626 599.27197,183.0946 599.27197,185.5266 L 599.27197,191.2546 C 599.27197,193.2706 599.17597,193.4946 598.08797,193.5586 L 596.61597,193.6546 L 596.61597,194.6146 C 599.81597,194.5186 599.81597,194.5186 600.61597,194.5186 C 601.41597,194.5186 601.41597,194.5186 604.61597,194.6146 L 604.61597,193.6546 L 603.14397,193.5586 C 602.05597,193.4946 601.95997,193.2706 601.95997,191.2546 L 601.95997,184.4706 C 601.95997,183.0306 604.07197,181.4626 605.99197,181.4626 C 607.71997,181.4626 608.90397,183.0946 608.90397,185.5266 L 608.90397,194.6146 C 610.85597,194.5186 610.88797,194.5186 611.43197,194.5186 C 611.84797,194.5186 611.84797,194.5186 614.27997,194.6146 L 614.27997,193.6546 L 612.77597,193.5586 C 611.68797,193.4946 611.59197,193.2706 611.59197,191.2546 L 611.59197,184.6626 C 611.59197,181.4946 609.73597,179.5106 606.79197,179.5106 C 605.67197,179.5106 604.74397,179.7986 604.16797,180.3106 L 601.73597,182.4866 C 600.71197,180.3746 599.39997,179.5106 597.19197,179.5106 C 596.00797,179.5106 595.11197,179.7986 594.53597,180.3106 L 592.32797,182.3586 L 592.32797,179.6386 L 592.03997,179.5106 C 590.40797,180.1826 588.74397,180.6306 587.04797,180.8226 L 587.04797,181.7186" 73 id="text1880" /> 74 <text 75 xml:space="preserve" 76 style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" 77 x="200.71429" 78 y="185.71429" 79 id="text6342" 80 transform="translate(22.69223,16.51978)"><tspan 81 sodipodi:role="line" 82 id="tspan6344" 83 x="200.71429" 84 y="185.71429"></tspan></text> 106 id="path3420" 107 d="M 124.08163,37.364042 C 90.427777,36.9851 57.670478,57.262018 42.761403,87.405099 C 28.300438,115.47558 29.66262,150.98067 46.684864,177.64797 C 62.94738,204.28174 93.585734,221.38381 124.8401,220.7847 C 156.31704,220.8521 186.88112,203.00701 202.60145,175.78884 C 218.95177,148.77122 219.53584,113.31164 204.46168,85.618036 C 189.1384,56.385175 157.11789,37.036465 124.08163,37.364042 z M 124.08163,40.765802 C 156.81633,40.384755 188.66471,60.317367 202.81884,89.815061 C 216.71264,117.5499 214.63907,152.53681 197.09483,178.1979 C 180.74954,203.18123 151.0127,218.65223 121.14473,217.32864 C 90.427104,216.62608 61.067737,198.22367 46.784254,171.06333 C 31.746618,143.85025 32.909199,108.7856 49.414832,82.48609 C 64.952578,56.930362 94.135615,40.486862 124.08163,40.765802 z" 108 style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10.91891861;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 85 109 </g> 86 110 </svg> -
scripts/_init_zine.py
r453 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 _init_ textpress4 ~~~~~~~~~~ ~~~~~3 _init_zine 4 ~~~~~~~~~~ 5 5 6 Helper to locate textpressand the instance folder.6 Helper to locate zine and the instance folder. 7 7 8 8 :copyright: 2008 by Armin Ronacher. … … 13 13 14 14 15 # make sure we load the correct textpress15 # make sure we load the correct zine 16 16 sys.path.insert(0, abspath(join(dirname(__file__), pardir))) 17 17 18 18 19 19 def find_instance(): 20 """Find the TextPressinstance."""20 """Find the Zine instance.""" 21 21 instance = None 22 if isfile(join('instance', ' textpress.ini')):22 if isfile(join('instance', 'zine.ini')): 23 23 instance = abspath('instance') 24 24 else: … … 27 27 while old_path != path: 28 28 path = abspath(join(path, pardir)) 29 if isfile(join(path, ' textpress.ini')):29 if isfile(join(path, 'zine.ini')): 30 30 instance = path 31 31 break -
scripts/add-translation
r444 r465 5 5 ~~~~~~~~~~~~~~~~~~~ 6 6 7 This script adds a new translation to TextPress or a TextPressplugin.7 This script adds a new translation to Zine or a Zine plugin. 8 8 9 9 :copyright: 2008 by Armin Ronacher. … … 20 20 21 21 22 textpress = realpath(join(pardir, 'textpress'))22 zine = realpath(join(pardir, 'zine')) 23 23 24 24 … … 70 70 71 71 def create_application_lang(locale): 72 catalog = create_from_pot(locale, join( textpress, 'i18n', 'messages.pot'))73 write_catalog(catalog, join( textpress, 'i18n'))72 catalog = create_from_pot(locale, join(zine, 'i18n', 'messages.pot')) 73 write_catalog(catalog, join(zine, 'i18n')) 74 74 print 'Created catalog for %s' % locale 75 75 … … 79 79 80 80 # incorporate existing translations from the application 81 path = join( textpress, 'i18n', str(locale), 'LC_MESSAGES', 'messages.po')81 path = join(zine, 'i18n', str(locale), 'LC_MESSAGES', 'messages.po') 82 82 if isfile(path): 83 83 f = file(path) -
scripts/build-documentation
r452 r465 5 5 ~~~~~~~~~~~~~~~~~~~~~~~ 6 6 7 This command builds the documentation for TextPressor a plugin.7 This command builds the documentation for Zine or a plugin. 8 8 9 9 :copyright: 2008 by Armin Ronacher. … … 16 16 17 17 sys.path.append(dirname(__file__)) 18 import _init_ textpress19 from textpress.docs.builder import walk18 import _init_zine 19 from zine.docs.builder import walk 20 20 21 21 … … 24 24 options, args = parser.parse_args() 25 25 if not args: 26 path = join(dirname(__file__), pardir, ' textpress', 'docs')26 path = join(dirname(__file__), pardir, 'zine', 'docs') 27 27 elif len(args) == 1: 28 28 path = join(args[0], 'docs') -
scripts/build-event-map
r463 r465 5 5 ~~~~~~~~~~~~~~~~~~~ 6 6 7 Lists all the events send in a given TextPressinstallation.7 Lists all the events send in a given Zine installation. 8 8 9 9 :copyright: 2008 by Armin Ronacher. … … 17 17 18 18 sys.path.append(os.path.dirname(__file__)) 19 from _init_ textpressimport find_instance20 import textpress19 from _init_zine import find_instance 20 import zine 21 21 22 22 … … 30 30 31 31 def build_eventmap(instance_folder): 32 app = textpress.make_textpress(instance_folder)33 textpress_root = os.path.realpath(os.path.dirname(textpress.__file__))34 searchpath = [( textpress_root, '__builtin__')]32 app = zine.make_zine(instance_folder) 33 zine_root = os.path.realpath(os.path.dirname(zine.__file__)) 34 searchpath = [(zine_root, '__builtin__')] 35 35 36 36 for plugin in app.plugins.itervalues(): 37 37 path = os.path.realpath(plugin.path) 38 if os.path.commonprefix([ textpress_root, path]) != textpress_root:38 if os.path.commonprefix([zine_root, path]) != zine_root: 39 39 searchpath.append((plugin.path, plugin.name)) 40 40 … … 95 95 parser = OptionParser(usage='%prog') 96 96 parser.add_option('--instance', '-I', dest='instance', 97 help='Use the path provided as TextPressinstance.')97 help='Use the path provided as Zine instance.') 98 98 options, args = parser.parse_args() 99 99 if args: -
scripts/bundle-plugin
r450 r465 6 6 7 7 This script creates a .plugin file from a plugin installed in 8 the given TextPressinstance (which usually is a development9 instance of TextPress).8 the given Zine instance (which usually is a development 9 instance of Zine). 10 10 11 11 The file created can be used to distribute the plugin. … … 20 20 21 21 sys.path.append(dirname(__file__)) 22 from _init_ textpressimport find_instance22 from _init_zine import find_instance 23 23 24 24 … … 26 26 parser = OptionParser(usage='%prog [options] plugin [output-file]') 27 27 parser.add_option('--instance', '-I', dest='instance', 28 help='Use the path provided as TextPressinstance.')28 help='Use the path provided as Zine instance.') 29 29 options, args = parser.parse_args() 30 30 if len(args) not in (1, 2): … … 34 34 parser.error('instance not found. Specify path to instance') 35 35 36 from textpress import make_textpress37 plugin = make_ textpress(instance, True).plugins[args[0]]36 from zine import make_zine 37 plugin = make_zine(instance, True).plugins[args[0]] 38 38 if plugin is None: 39 39 parser.error('Plugin not found') -
scripts/compile-translations
r461 r465 26 26 print 'Compiling builtin languages' 27 27 root = path.abspath(path.join(path.dirname(__file__), 28 path.pardir, ' textpress', 'i18n'))28 path.pardir, 'zine', 'i18n')) 29 29 elif len(args) == 1: 30 30 root = path.join(path.abspath(args[0]), 'i18n') -
scripts/extract-messages
r451 r465 24 24 'lazy_ngettext': (1, 2) 25 25 } 26 BUGS_ADDRESS = ' textpress-i18n@pocoo.org'26 BUGS_ADDRESS = 'zine-i18n@pocoo.org' 27 27 COPYRIGHT = 'The Pocoo Team' 28 28 METHODS = [ … … 47 47 print 'Extracting core strings' 48 48 root = path.abspath(path.join(path.dirname(__file__), 49 path.pardir, ' textpress'))49 path.pardir, 'zine')) 50 50 elif len(args) == 1: 51 51 root = path.join(path.abspath(args[0])) -
scripts/install-posix
r451 r465 1 1 #!/bin/bash 2 # This script copies textpressinto PREFIX and compiles the python2 # This script copies zine into PREFIX and compiles the python 3 3 # files with PYTHON. If PREFIX is not defined /usr is assumed. 4 4 5 SRC="`dirname $0`/../ textpress"5 SRC="`dirname $0`/../zine" 6 6 PACKAGES="_dynamic _ext importers parsers utils views websetup i18n" 7 7 … … 17 17 18 18 # make sure the target folders exist 19 mkdir -p $PREFIX/lib/ textpress/textpress20 mkdir -p $PREFIX/share/ textpress19 mkdir -p $PREFIX/lib/zine/zine 20 mkdir -p $PREFIX/share/zine 21 21 22 22 # the packages to copy 23 cp $SRC/*.py $PREFIX/lib/ textpress/textpress23 cp $SRC/*.py $PREFIX/lib/zine/zine 24 24 for package in $PACKAGES; do 25 mkdir -p $PREFIX/lib/ textpress/textpress/$package26 cp -R $SRC/$package $PREFIX/lib/ textpress/textpress/25 mkdir -p $PREFIX/lib/zine/zine/$package 26 cp -R $SRC/$package $PREFIX/lib/zine/zine/ 27 27 done 28 28 29 29 # all the plugins 30 cp -R $SRC/{experimental_,}plugins $PREFIX/lib/ textpress30 cp -R $SRC/{experimental_,}plugins $PREFIX/lib/zine 31 31 32 32 # compile all files 33 $PYTHON -O -mcompileall -qf $PREFIX/lib/ textpress/{textpress,plugins}33 $PYTHON -O -mcompileall -qf $PREFIX/lib/zine/{zine,plugins} 34 34 35 35 # templates and shared data 36 cp -R $SRC/shared $PREFIX/share/ textpress/htdocs37 cp -R $SRC/templates $PREFIX/share/ textpress/templates36 cp -R $SRC/shared $PREFIX/share/zine/htdocs 37 cp -R $SRC/templates $PREFIX/share/zine/templates 38 38 39 # copy the server files and adjust the TEXTPRESS_LIB path40 cp -R $SRC/../servers $PREFIX/share/ textpress41 sed -i'' -r "s|^ TEXTPRESS_LIB\s*=.*$|TEXTPRESS_LIB = '$PREFIX/lib/textpress'|g" $PREFIX/share/textpress/servers/*39 # copy the server files and adjust the ZINE_LIB path 40 cp -R $SRC/../servers $PREFIX/share/zine 41 sed -i'' -r "s|^ZINE_LIB\s*=.*$|ZINE_LIB = '$PREFIX/lib/zine'|g" $PREFIX/share/zine/servers/* 42 42 43 43 -
scripts/new-plugin
r454 r465 22 22 # -*- coding: utf-8 -*- 23 23 """ 24 textpress.plugins.{{ package }}25 ~~~~~~~~~~~~~ ~~~~~{{ '~' * package|length }}24 zine.plugins.{{ package }} 25 ~~~~~~~~~~~~~{{ '~' * package|length }} 26 26 27 27 Plugin implementation description goes here. … … 45 45 46 46 sys.path.append(os.path.dirname(__file__)) 47 import _init_ textpress47 import _init_zine 48 48 49 from textpress.utils.admin import gen_slug50 from textpress.utils.mail import split_email49 from zine.utils.admin import gen_slug 50 from zine.utils.mail import split_email 51 51 52 52 -
scripts/reset-instance
r445 r465 17 17 18 18 sys.path.append(path.dirname(__file__)) 19 from _init_ textpressimport find_instance19 from _init_zine import find_instance 20 20 21 21 … … 25 25 parser.add_option('--password', '-p', dest='password', default='default') 26 26 parser.add_option('--blog-url', dest='blog_url', default='http://localhost:4000/') 27 parser.add_option('--database', dest='database_uri', default='sqlite:/// textpress.db')27 parser.add_option('--database', dest='database_uri', default='sqlite:///zine.db') 28 28 parser.add_option('--language', dest='lang', default='en') 29 29 … … 43 43 mkdir(instance) 44 44 45 from textpress.application import make_textpress46 from textpress.database import users, init_database, db47 from textpress.utils.crypto import gen_pwhash, gen_secret_key48 from textpress.config import Configuration45 from zine.application import make_zine 46 from zine.database import users, init_database, db 47 from zine.utils.crypto import gen_pwhash, gen_secret_key 48 from zine.config import Configuration 49 49 e = db.create_engine(options.database_uri, instance) 50 50 init_database(e) 51 51 52 cfg = Configuration(path.join(instance, ' textpress.ini'))52 cfg = Configuration(path.join(instance, 'zine.ini')) 53 53 t = cfg.edit() 54 54 t.update( … … 63 63 t.commit() 64 64 65 from textpress.models import User, ROLE_ADMIN66 app = make_ textpress(instance, True)65 from zine.models import User, ROLE_ADMIN 66 app = make_zine(instance, True) 67 67 User(options.username, options.password, 'admin@localhost', role=ROLE_ADMIN) 68 68 db.commit() -
scripts/run-tests
r446 r465 4 4 ~~~~~~~~~~~ 5 5 6 This is a wrapper script for running the TextPressunittests.6 This is a wrapper script for running the Zine unittests. 7 7 Run it with the --help option for usage information. 8 8 -
scripts/server
r450 r465 2 2 # -*- coding: utf-8 -*- 3 3 """ 4 Open a TextPressServer5 ~~~~~~~~~~~~~~~~~~~ ~~~4 Start a Zine Server 5 ~~~~~~~~~~~~~~~~~~~ 6 6 7 This script opens a development server for TextPress.7 This script opens a development server for Zine. 8 8 9 9 :copyright: 2008 by Armin Ronacher. … … 17 17 18 18 sys.path.append(dirname(__file__)) 19 from _init_ textpressimport find_instance20 from textpressimport make_app19 from _init_zine import find_instance 20 from zine import make_app 21 21 22 22 … … 32 32 help='Enable the profiler') 33 33 parser.add_option('--instance', '-I', dest='instance', 34 help='Use the path provided as TextPressinstance.')34 help='Use the path provided as Zine instance.') 35 35 options, args = parser.parse_args() 36 36 if args: -
scripts/shell
r450 r465 2 2 # -*- coding: utf-8 -*- 3 3 """ 4 Open a TextPressShell5 ~~~~~~~~~~~~~~~~~ ~~~~~4 Open a Zine Shell 5 ~~~~~~~~~~~~~~~~~ 6 6 7 This script opens a shell for TextPress.7 This script opens a shell for Zine. 8 8 9 9 :copyright: 2008 by Armin Ronacher. … … 17 17 18 18 sys.path.append(dirname(__file__)) 19 from _init_ textpressimport find_instance19 from _init_zine import find_instance 20 20 21 21 22 22 def init_func(instance): 23 from textpress import make_textpress24 app = make_ textpress(instance, True)25 from textpressimport models26 from textpress.database import db27 del make_ textpress23 from zine import make_zine 24 app = make_zine(instance, True) 25 from zine import models 26 from zine.database import db 27 del make_zine 28 28 return locals() 29 29 … … 34 34 help='Do not launch ipython, even if present.') 35 35 parser.add_option('--instance', '-I', dest='instance', 36 help='Use the path provided as TextPressinstance.')36 help='Use the path provided as Zine instance.') 37 37 options, args = parser.parse_args() 38 38 if args: … … 42 42 parser.error('instance not found. Specify path to instance') 43 43 44 make_shell(lambda: init_func(instance), banner=' TextPressShell [%s]' %44 make_shell(lambda: init_func(instance), banner='Zine Shell [%s]' % 45 45 abspath(instance))(ipython=not options.no_ipython) 46 46 -
scripts/uninstall-posix
r451 r465 1 1 #!/bin/bash 2 # This script uninstalls textpressfrom PREFIX which defaults2 # This script uninstalls zine from PREFIX which defaults 3 3 # to /usr. 4 4 … … 7 7 fi 8 8 9 echo "Uninstalling TextPressfrom $PREFIX"10 rm -rf $PREFIX/lib/ textpress11 rm -rf $PREFIX/share/ textpress9 echo "Uninstalling Zine from $PREFIX" 10 rm -rf $PREFIX/lib/zine 11 rm -rf $PREFIX/share/zine 12 12 echo "All done." -
scripts/update-translations
r451 r465 27 27 print 'Updating core strings' 28 28 root = path.abspath(path.join(path.dirname(__file__), 29 path.pardir, ' textpress', 'i18n'))29 path.pardir, 'zine', 'i18n')) 30 30 elif len(args) == 1: 31 31 root = path.join(path.abspath(args[0]), 'i18n') -
servers/README
r450 r465 8 8 The following files exist currently: 9 9 10 ` textpress.cgi`11 This file implements can be used to use TextPressover CGI. This12 should *NOT* be used unless you have to. TextPressis not designed10 `zine.cgi` 11 This file implements can be used to use Zine over CGI. This 12 should *NOT* be used unless you have to. Zine is not designed 13 13 for the run-once nature of CGI and will perform poorly on it. 14 14 15 ` textpress.fcgi`16 This file serves TextPressover FastCGI. It requires the flup15 `zine.fcgi` 16 This file serves Zine over FastCGI. It requires the flup 17 17 module for Python. 18 18 19 ` textpress.wsgi`20 This file can be used to execute TextPressover mod_wsgi.19 `zine.wsgi` 20 This file can be used to execute Zine over mod_wsgi. 21 21 22 22 Just take the file of choice, copy it to where you want it to be and -
servers/zine.cgi
r450 r465 2 2 # -*- coding: utf-8 -*- 3 3 """ 4 TextPressCGI Runner5 ~~~~~~~~~~~~~~~ ~~~~~4 Zine CGI Runner 5 ~~~~~~~~~~~~~~~ 6 6 7 Run TextPressas CGI. Requires python 2.5 or python 2.4 with7 Run Zine as CGI. Requires python 2.5 or python 2.4 with 8 8 the wsgiref module installed. 9 9 … … 17 17 INSTANCE_FOLDER = '/path/to/instance/folder' 18 18 19 # path to the TextPressapplication code.20 TEXTPRESS_LIB = '/usr/lib/textpress'19 # path to the Zine application code. 20 ZINE_LIB = '/usr/lib/zine' 21 21 22 22 # enable this to enable an internal CGI debugging feature. … … 31 31 32 32 import sys 33 sys.path.insert(0, TEXTPRESS_LIB)33 sys.path.insert(0, ZINE_LIB) 34 34 35 from textpressimport make_app35 from zine import make_app 36 36 from wsgiref.handlers import CGIHandler 37 37 app = make_app(INSTANCE_FOLDER) -
servers/zine.fcgi
r450 r465 2 2 # -*- coding: utf-8 -*- 3 3 """ 4 TextPressFastCGI Runner5 ~~~~~~~~~~~~~~~~~~~ ~~~~~4 Zine FastCGI Runner 5 ~~~~~~~~~~~~~~~~~~~ 6 6 7 7 If FastCGI is your hosting environment this is the correct file. … … 17 17 INSTANCE_FOLDER = '/path/to/instance/folder' 18 18 19 # path to the TextPressapplication code.20 TEXTPRESS_LIB = '/usr/lib/textpress'19 # path to the Zine application code. 20 ZINE_LIB = '/usr/lib/zine' 21 21 22 22 … … 24 24 # but usually you don't have to touch them 25 25 import sys 26 sys.path.insert(0, TEXTPRESS_LIB)26 sys.path.insert(0, ZINE_LIB) 27 27 28 from textpressimport make_app28 from zine import make_app 29 29 from flup.server.fcgi import WSGIServer 30 30 app = make_app(INSTANCE_FOLDER) -
servers/zine.wsgi
r450 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 TextPressmod_wsgi Runner3 Zine mod_wsgi Runner 4 4 ~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 Run TextPressin mod_wsgi.6 Run Zine in mod_wsgi. 7 7 8 8 :copyright: 2008 by Armin Ronacher. … … 15 15 INSTANCE_FOLDER = '/path/to/instance/folder' 16 16 17 # path to the TextPressapplication code.18 TEXTPRESS_LIB = '/usr/lib/textpress'17 # path to the Zine application code. 18 ZINE_LIB = '/usr/lib/zine' 19 19 20 20 # here you can further configure the wsgi app settings but usually you don't 21 21 # have to touch them 22 22 import sys 23 sys.path.insert(0, TEXTPRESS_LIB)23 sys.path.insert(0, ZINE_LIB) 24 24 25 from textpressimport make_app25 from zine import make_app 26 26 application = make_app(INSTANCE_FOLDER) -
tests/__init__.py
r446 r465 1 1 """ 2 TextPressTest Suite3 ~~~~~~~~~~~~~~~ ~~~~~2 Zine Test Suite 3 ~~~~~~~~~~~~~~~ 4 4 5 This is the TextPress test suite. It collects all modules in the textpress5 This is the Zine test suite. It collects all modules in the zine 6 6 package, builds a TestSuite with their doctests and executes them. It also 7 7 collects the tests from the text files in this directory (which are too … … 24 24 25 25 #: the modules in this list are not tested in a full run 26 untested = [' textpress.experimental_plugins.hyphenation_en',27 ' textpress.experimental_plugins.hyphenation_en.hyphenate',28 ' textpress.experimental_plugins.notification']26 untested = ['zine.experimental_plugins.hyphenation_en', 27 'zine.experimental_plugins.hyphenation_en.hyphenate', 28 'zine.experimental_plugins.notification'] 29 29 30 30 try: … … 38 38 39 39 The first argument is a list of modules to be tested. If it is empty (which 40 it is by default), all sub-modules of the textpresspackage are tested.40 it is by default), all sub-modules of the zine package are tested. 41 41 If the second argument is True, this function returns two objects: a 42 42 TestSuite instance and a list of the names of the tested modules. Otherwise … … 51 51 # The instance directory of this object is located in the tests directory. 52 52 # 53 # make_ textpressisn't imported at module level because this way coverage54 # can track the whole textpressimports55 from textpress.application import make_textpress53 # make_zine isn't imported at module level because this way coverage 54 # can track the whole zine imports 55 from zine.application import make_zine 56 56 instance_path = join(dirname(__file__), 'instance') 57 app = make_ textpress(instance_path, True)57 app = make_zine(instance_path, True) 58 58 59 59 if return_covermods: … … 68 68 continue 69 69 70 # the fromlist must contain something, otherwise the textpress70 # the fromlist must contain something, otherwise the zine 71 71 # package is returned, not our module 72 72 try: … … 101 101 102 102 def find_tp_modules(): 103 """Find all sub-modules of the textpresspackage."""103 """Find all sub-modules of the zine package.""" 104 104 modules = [] 105 import textpress106 base = dirname( textpress.__file__)105 import zine 106 base = dirname(zine.__file__) 107 107 start = len(dirname(base)) 108 if base != ' textpress':108 if base != 'zine': 109 109 start += 1 110 110 … … 127 127 usage = ('Usage: %prog [option] [modules to be tested]\n' 128 128 'Modules names have to be given in the form utils.mail (without ' 129 ' textpress.)\nIf no module names are given, all tests are run')129 'zine.)\nIf no module names are given, all tests are run') 130 130 parser = OptionParser(usage=usage) 131 131 parser.add_option('-c', '--coverage', action='store_true', dest='coverage', … … 135 135 136 136 options, args = parser.parse_args(sys.argv[1:]) 137 modnames = [' textpress.' + modname for modname in args]137 modnames = ['zine.' + modname for modname in args] 138 138 if options.coverage: 139 139 if coverage is not None: -
tests/config.txt
r446 r465 9 9 <Configuration ...> 10 10 >>> app.cfg['blog_title'] 11 iu'My TextPressBlog'11 iu'My Zine Blog' 12 12 13 13 … … 26 26 >>> t['pings_enabled'] = True 27 27 >>> t['blog_title'] 28 iu'My TextPressBlog'28 iu'My Zine Blog' 29 29 >>> t['blog_title'] = 'Another Blog Title' 30 30 >>> t.commit() … … 40 40 >>> t.revert_to_default('blog_title') 41 41 >>> t['blog_title'] 42 iu'My TextPressBlog'42 iu'My Zine Blog' 43 43 >>> t.commit() 44 44 >>> app.cfg['blog_title'] 45 iu'My TextPressBlog'45 iu'My Zine Blog' 46 46 47 47 … … 58 58 59 59 >>> big_t = app.cfg.edit() 60 >>> big_t.update({' textpress/blog_tagline': '...and the test goes on',60 >>> big_t.update({'zine/blog_tagline': '...and the test goes on', 61 61 ... 'language': 'de'}) 62 62 >>> big_t['blog_tagline'] 63 63 u'...and the test goes on' 64 64 >>> app.cfg['blog_tagline'] 65 iu'just another TextPressblog'65 iu'just another Zine blog' 66 66 >>> app.cfg['language'] 67 67 u'en' 68 >>> big_t.set_from_string(' textpress/posts_per_page', '42')68 >>> big_t.set_from_string('zine/posts_per_page', '42') 69 69 >>> big_t.commit() 70 70 … … 72 72 Was the transaction commited correctly? 73 73 74 >>> app.cfg[' textpress/language']74 >>> app.cfg['zine/language'] 75 75 u'de' 76 76 >>> app.cfg['blog_tagline'] … … 94 94 __contains__ 95 95 96 >>> ' textpress/blog_title' in app.cfg96 >>> 'zine/blog_title' in app.cfg 97 97 True 98 98 >>> 'foobar' in app.cfg … … 103 103 104 104 >>> reset = app.cfg.edit() 105 >>> reset.revert_to_default(' textpress/blog_tagline')105 >>> reset.revert_to_default('zine/blog_tagline') 106 106 >>> reset.revert_to_default('posts_per_page') 107 107 >>> reset.revert_to_default('language') -
tests/instance/zine.ini
r448 r465 1 # TextPressconfiguration file2 # This file is also updated by the TextPressadmin interface which will strip1 # Zine configuration file 2 # This file is also updated by the Zine admin interface which will strip 3 3 # all comments due to a limitation in the current implementation. If you 4 4 # want to maintain the file with your text editor be warned that comments 5 5 # may disappear. The charset of this file must be utf-8! 6 6 7 [ textpress]7 [zine] 8 8 blog_url = http://localhost:4000 9 9 database_uri = sqlite:///database.db -
zine/__init__.py
r357 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress4 ~~~~ ~~~~~3 zine 4 ~~~~ 5 5 6 TextPressis a simple python weblog software.6 Zine is a simple python weblog software. 7 7 8 8 … … 10 10 ====================== 11 11 12 To get the WSGI application for TextPressyou can use the `make_app`12 To get the WSGI application for Zine you can use the `make_app` 13 13 function. This function can either create a dispatcher for one instance 14 14 or for multiple application instances where the current active instance … … 16 16 hosting via mod_wsgi or similar interfaces. 17 17 18 Here a small example ` textpress.wsgi` for mod_wsgi::18 Here a small example `zine.wsgi` for mod_wsgi:: 19 19 20 from textpressimport make_app20 from zine import make_app 21 21 application = make_app('/path/to/instance') 22 22 … … 24 24 an instance path:: 25 25 26 from textpressimport make_app26 from zine import make_app 27 27 application = make_app('/path/to/instance') 28 28 29 29 In that case it will create a new independent WSGI application when 30 requested. The path to the instance of the TextPressinstallation for a31 given request must be in the ` textpress.instance` key of the WSGI30 requested. The path to the instance of the Zine installation for a 31 given request must be in the `zine.instance` key of the WSGI 32 32 environ. Here an example mod_wsgi configuration for dynamic dispatching:: 33 33 … … 35 35 RewriteEngine On 36 36 RewriteCond %{REQUEST_URI} ^/([^/]+) 37 RewriteRule . - [E= textpress.instance:/var/textpress/%1]38 WSGIScriptAliasMatch ^/([^/]+) /var/ textpress.wsgi37 RewriteRule . - [E=zine.instance:/var/zine/%1] 38 WSGIScriptAliasMatch ^/([^/]+) /var/zine.wsgi 39 39 40 40 You can create WSGI applications for not yet existing instances too, in 41 that case TextPresswill display the web setup.41 that case Zine will display the web setup. 42 42 43 43 44 Getting the TextPressApplication44 Getting the Zine Application 45 45 ================================= 46 46 47 47 The object returned by `make_app` is a wrapper around the central 48 ` TextPress` application. If you want access to this object you can use49 the `make_ textpress` function and pass it the path to the instance you48 `Zine` application. If you want access to this object you can use 49 the `make_zine` function and pass it the path to the instance you 50 50 want control over. If that instance does not exist it will raise an 51 51 exception however. … … 56 56 """ 57 57 __version__ = '0.1 alpha' 58 __url__ = 'http:// textpress.pocoo.org/'58 __url__ = 'http://zine.pocoo.org/' 59 59 60 60 # init the import system by importing it. at the end of the module 61 61 # the import system is hooked into the python import system 62 import textpress.pluginsystem62 import zine.pluginsystem 63 63 64 from textpress.application import make_app, make_textpress64 from zine.application import make_app, make_zine -
zine/_dynamic/__init__.py
r48 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress._dynamic3 zine._dynamic 4 4 ~~~~~~~~~~~~~~~~~~ 5 5 … … 8 8 9 9 The module is nonpublic but all the important constants are imported 10 into the " textpress.utils" module.10 into the "zine.utils" module. 11 11 12 12 :copyright: 2007 by Armin Ronacher. -
zine/_dynamic/_helper.py
r11 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress._dynamic._helper3 zine._dynamic._helper 4 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 -
zine/_ext/__init__.py
r37 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress._ext4 ~~~~~~~~~ ~~~~~3 zine._ext 4 ~~~~~~~~~ 5 5 6 6 This module contains external dependencies that are not installable via -
zine/api.py
r441 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.api4 ~~~~~~~~ ~~~~~3 zine.api 4 ~~~~~~~~ 5 5 6 6 Module for plugins and core. Star import this to get … … 11 11 """ 12 12 13 from textpress.application import (13 from zine.application import ( 14 14 # Event handling 15 15 emit_event, iter_listeners, … … 30 30 31 31 # Database 32 from textpress.database import db32 from zine.database import db 33 33 34 34 # Cache 35 from textpressimport cache35 from zine import cache 36 36 37 37 # Gettext 38 from textpress.i18n import gettext, ngettext, lazy_gettext, lazy_ngettext, _38 from zine.i18n import gettext, ngettext, lazy_gettext, lazy_ngettext, _ 39 39 40 40 # Plugin syste 41 from textpress.pluginsystem import SetupError41 from zine.pluginsystem import SetupError 42 42 43 43 -
zine/application.py
r464 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.application4 ~~~~~~~~~~~~~~~~ ~~~~~5 6 This module implements the central application object :class:` TextPress`3 zine.application 4 ~~~~~~~~~~~~~~~~ 5 6 This module implements the central application object :class:`Zine` 7 7 and a couple of helper functions and classes. 8 8 … … 31 31 from werkzeug.contrib.securecookie import SecureCookie 32 32 33 from textpress.environment import SHARED_DATA, BUILTIN_TEMPLATE_PATH, \33 from zine.environment import SHARED_DATA, BUILTIN_TEMPLATE_PATH, \ 34 34 BUILTIN_PLUGIN_FOLDER 35 from textpress.database import db, cleanup_session36 from textpress.config import Configuration37 from textpress.cache import get_cache38 from textpress.utils import ClosingIterator, local, local_manager39 from textpress.utils.validators import check_external_url40 from textpress.utils.mail import split_email35 from zine.database import db, cleanup_session 36 from zine.config import Configuration 37 from zine.cache import get_cache 38 from zine.utils import ClosingIterator, local, local_manager 39 from zine.utils.validators import check_external_url 40 from zine.utils.mail import split_email 41 41 42 42 … … 207 207 208 208 # get the session and try to get the user object for this request. 209 from textpress.models import User209 from zine.models import User 210 210 user = None 211 211 cookie_name = app.cfg['session_cookie_name'] … … 224 224 a full blown user object. 225 225 """ 226 from textpress.models import User226 from zine.models import User 227 227 if isinstance(user, (int, long)): 228 228 user = User.objects.get(user) … … 240 240 def logout(self): 241 241 """Log the current user out.""" 242 from textpress.models import User242 from zine.models import User 243 243 user = self.user 244 244 self.user = User.objects.get_nobody() … … 519 519 520 520 521 class TextPress(object):521 class Zine(object): 522 522 """The central application object. 523 523 524 Even though the :class:` TextPress` class is a regular Python class, you524 Even though the :class:`Zine` class is a regular Python class, you 525 525 can't create instances by using the regular constructor. The only 526 documented way to create this class is the :func:`make_ textpress`526 documented way to create this class is the :func:`make_zine` 527 527 function or by using one of the dispatchers created by :func:`make_app`. 528 528 """ … … 539 539 540 540 def __init__(self, instance_folder): 541 # this check ensures that only make_app can create TextPressinstances541 # this check ensures that only make_app can create Zine instances 542 542 if get_application() is not self: 543 543 raise TypeError('cannot create %r instances. use the ' 544 'make_ textpressfactory function.' %544 'make_zine factory function.' % 545 545 self.__class__.__name__) 546 546 self.instance_folder = instance_folder … … 553 553 # and instanciate the configuration. this won't fail, 554 554 # even if the database is not connected. 555 self.cfg = Configuration(path.join(instance_folder, ' textpress.ini'))555 self.cfg = Configuration(path.join(instance_folder, 'zine.ini')) 556 556 if not self.cfg.exists: 557 557 raise InstanceNotInitialized() … … 565 565 566 566 # setup core package urls and shared stuff 567 import textpress568 from textpress.urls import make_urls, absolute_url_handlers569 from textpress.views import all_views570 from textpress.services import all_services571 from textpress.parsers import all_parsers572 from textpressimport i18n567 import zine 568 from zine.urls import make_urls, absolute_url_handlers 569 from zine.views import all_views 570 from zine.services import all_services 571 from zine.parsers import all_parsers 572 from zine import i18n 573 573 self.views = all_views.copy() 574 574 self.parsers = all_parsers.copy() … … 600 600 601 601 # register the pingback API. 602 from textpressimport pingback602 from zine import pingback 603 603 self.add_api('pingback', True, pingback.service) 604 604 self.pingback_endpoints = pingback.endpoints.copy() 605 605 606 606 # register our builtin importers 607 from textpress.importers import all_importers607 from zine.importers import all_importers 608 608 for importer in all_importers: 609 609 self.add_importer(importer) 610 610 611 611 # insert list of widgets 612 from textpress.widgets import all_widgets612 from zine.widgets import all_widgets 613 613 self.widgets = dict((x.NAME, x) for x in all_widgets) 614 614 615 615 # load plugins 616 from textpress.pluginsystem import find_plugins, \616 from zine.pluginsystem import find_plugins, \ 617 617 register_application 618 618 self.plugin_folder = path.join(instance_folder, 'plugins') … … 634 634 635 635 # init the template system with the core stuff 636 from textpressimport htmlhelpers, models636 from zine import htmlhelpers, models 637 637 env = Environment(loader=ThemeLoader(self), 638 638 extensions=['jinja2.ext.i18n']) … … 645 645 render_widgets=lambda: render_template('_widgets.html'), 646 646 get_page_metadata=self.get_page_metadata, 647 textpress={648 'version': textpress.__version__,647 zine={ 648 'version': zine.__version__, 649 649 'copyright': _('Copyright %(years)s by the Pocoo Team') 650 650 % {'years': '2007-2008'} … … 707 707 Multiple calls to :meth:`close` are safe and won't cause errors. 708 708 """ 709 from textpress.pluginsystem import unregister_application709 from zine.pluginsystem import unregister_application 710 710 unregister_application(self) 711 711 local.application = None … … 762 762 def add_importer(self, importer): 763 763 """Register an importer. For more informations about importers 764 see the :mod:` textpress.importers`.764 see the :mod:`zine.importers`. 765 765 """ 766 766 importer = importer(self) … … 798 798 creates an url rule for <name>/shared that takes a filename 799 799 parameter. A shared export is some sort of static data from a 800 plugin. Per default TextPresswill shared the data on it's own but800 plugin. Per default Zine will shared the data on it's own but 801 801 in the future it would be possible to generate an Apache/nginx 802 802 config on the fly for the static data. … … 828 828 variable should be named ``<plugin_name>/<variable_name>``. The 829 829 `variable_name` itself must not contain another slash. Variables 830 that are not prefixed are reserved for TextPress' internal usage.830 that are not prefixed are reserved for Zine' internal usage. 831 831 The `type` can be one of the following builtins: 832 832 … … 889 889 `NotFound` exception or return `None`. 890 890 891 This is for example used to implement the pages support in TextPress.891 This is for example used to implement the pages support in Zine. 892 892 """ 893 893 self._absolute_url_handlers.append(handler) … … 904 904 def add_parser(self, name, class_): 905 905 """Add a new parser class. This parser has to be a subclass of 906 :class:` textpress.parsers.BaseParser`.906 :class:`zine.parsers.BaseParser`. 907 907 """ 908 908 self.parsers[name] = class_ … … 972 972 called by the layout template to get the metadata for the head section. 973 973 """ 974 from textpress.models import ROLE_ADMIN975 from textpress.htmlhelpers import script, meta, link976 from textpress.utils import dump_json974 from zine.models import ROLE_ADMIN 975 from zine.htmlhelpers import script, meta, link 976 from zine.utils import dump_json 977 977 generators = {'script': script, 'meta': meta, 'link': link, 978 978 'snippet': lambda html: html} 979 979 result = [ 980 meta(name='generator', content=' TextPress'),980 meta(name='generator', content='Zine'), 981 981 link('EditURI', url_for('blog/service_rsd'), 982 982 type='application/rsd+xml', title='RSD'), 983 983 script(url_for('core/shared', filename='js/jQuery.js')), 984 script(url_for('core/shared', filename='js/ TextPress.js')),984 script(url_for('core/shared', filename='js/Zine.js')), 985 985 script(url_for('blog/serve_translations')) 986 986 ] … … 990 990 base_url = self.cfg['blog_url'].rstrip('/') 991 991 request = get_request() 992 javascript = [' TextPress.BLOG_URL = %s' % dump_json(base_url)]992 javascript = ['Zine.BLOG_URL = %s' % dump_json(base_url)] 993 993 if request is None or request.user.role >= ROLE_ADMIN: 994 javascript.append(' TextPress.ADMIN_URL = %s' %994 javascript.append('Zine.ADMIN_URL = %s' % 995 995 dump_json(base_url + self.cfg['admin_url_prefix'])) 996 996 result.append(u'<script type="text/javascript">%s;</script>' % … … 1049 1049 request.path != admin_prefix and not \ 1050 1050 request.path.startswith(admin_prefix + '/'): 1051 from textpress.models import ROLE_ADMIN1051 from zine.models import ROLE_ADMIN 1052 1052 if request.user.role < ROLE_ADMIN: 1053 1053 response = render_response('maintenance.html') … … 1109 1109 1110 1110 def __repr__(self): 1111 return '< TextPress%r [%s]>' % (1111 return '<Zine %r [%s]>' % ( 1112 1112 self.instance_folder, 1113 1113 self.iid … … 1119 1119 1120 1120 class StaticDispatcher(object): 1121 """Dispatches to textpressor the websetup and handles reloads. Instances1121 """Dispatches to zine or the websetup and handles reloads. Instances 1122 1122 of this class are created by :func:`make_app` when passed the path to an 1123 1123 instance folder. … … 1151 1151 # websetup in. 1152 1152 try: 1153 self.application = make_ textpress(self.instance_folder)1153 self.application = make_zine(self.instance_folder) 1154 1154 except InstanceNotInitialized: 1155 from textpress.websetup import WebSetup1155 from zine.websetup import WebSetup 1156 1156 return WebSetup(self.instance_folder) 1157 1157 finally: … … 1178 1178 1179 1179 def __call__(self, environ, start_response): 1180 instance_folder = path.realpath(environ[' textpress.instance_folder'])1180 instance_folder = path.realpath(environ['zine.instance_folder']) 1181 1181 self.init_lock.acquire() 1182 1182 try: … … 1192 1192 1193 1193 def make_app(instance_folder=None): 1194 """This function creates a WSGI application for TextPress. Even though1195 the central :class:` TextPress` object implements the WSGI protocol it's1194 """This function creates a WSGI application for Zine. Even though 1195 the central :class:`Zine` object implements the WSGI protocol it's 1196 1196 not forwarded to the webserver directly because the it's reloaded under 1197 1197 some circumstances by the :ref:`dispatchers <dispatchers>` that wrap it. … … 1204 1204 1205 1205 If the `instance_folder` is provided a simple dispatcher is returned that 1206 manages the TextPressapplication for this instance. If you don't provide1206 manages the Zine application for this instance. If you don't provide 1207 1207 one the return value will be a dynamic dispatcher that can handle multiple 1208 TextPress instances. The textpressinstance for one request is specified1209 in the WSGI environ in the ``' textpress.instance'`` key.1210 1211 If you need a :class:` TextPress` object for scripts or other situations1212 you should use the :func:`make_ textpress` function that returns a1213 :class:` TextPress` object instead.1208 Zine instances. The zine instance for one request is specified 1209 in the WSGI environ in the ``'zine.instance'`` key. 1210 1211 If you need a :class:`Zine` object for scripts or other situations 1212 you should use the :func:`make_zine` function that returns a 1213 :class:`Zine` object instead. 1214 1214 """ 1215 1215 if instance_folder is None: … … 1218 1218 1219 1219 1220 def make_ textpress(instance_folder, bind_to_thread=False):1220 def make_zine(instance_folder, bind_to_thread=False): 1221 1221 """Creates a new instance of the application. Always use this function 1222 1222 to create an application because the process of setting the application 1223 up requires locking which *only* happens in :func:`make_ textpress`.1223 up requires locking which *only* happens in :func:`make_zine`. 1224 1224 1225 1225 If `bind_to_thread` is `True` the application will be set for this thread. … … 1227 1227 scripting / testing or if you know what you're doing. 1228 1228 1229 The :class:` TextPress` object alone does not handle any reloading or1229 The :class:`Zine` object alone does not handle any reloading or 1230 1230 instance setup. 1231 1231 """ … … 1234 1234 # make sure this thread has access to the variable so just set 1235 1235 # up a partial class and call __init__ later. 1236 local.application = app = object.__new__( TextPress)1236 local.application = app = object.__new__(Zine) 1237 1237 1238 1238 # attach the iid … … 1242 1242 app.__init__(instance_folder) 1243 1243 finally: 1244 # if there was no error when setting up the TextPressinstance1244 # if there was no error when setting up the Zine instance 1245 1245 # we should now have an attribute here to delete 1246 1246 app = get_application() -
zine/cache.py
r359 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.cache4 ~~~~~~~~~~ ~~~~~3 zine.cache 4 ~~~~~~~~~~ 5 5 6 This module implements the TextPresscaching system. This is essentially6 This module implements the Zine caching system. This is essentially 7 7 a binding to memcached. 8 8 … … 27 27 have_memcache = False 28 28 from thread import allocate_lock 29 from textpress.utils import local29 from zine.utils import local 30 30 from werkzeug.contrib.cache import NullCache, SimpleCache, FileSystemCache, \ 31 31 MemcachedCache … … 78 78 if cache_key is None: 79 79 module = cls.__module__ 80 if module.startswith(' textpress.'):80 if module.startswith('zine.'): 81 81 module = module[10:] 82 82 key = 'instance/%s.%s' % (module, cls.__name__) … … 140 140 This method doesn't do anything if eager caching is disabled (by default). 141 141 """ 142 from textpress.application import Response142 from zine.application import Response 143 143 if not 'method' in vary: 144 144 vary = set(vary) -
zine/config.py
r446 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.config4 ~~~~~~~~~~~ ~~~~~3 zine.config 4 ~~~~~~~~~~~ 5 5 6 6 This module implements the configuration. The configuration is a more or … … 15 15 from os import path 16 16 from threading import Lock 17 from textpress.i18n import lazy_gettext18 19 20 #: variables the textpresscore uses17 from zine.i18n import lazy_gettext 18 19 20 #: variables the zine core uses 21 21 DEFAULT_VARS = { 22 22 # general settings 23 23 'database_uri': (unicode, u''), 24 'blog_title': (unicode, lazy_gettext(u'My TextPressBlog')),25 'blog_tagline': (unicode, lazy_gettext(u'just another TextPressblog')),24 'blog_title': (unicode, lazy_gettext(u'My Zine Blog')), 25 'blog_tagline': (unicode, lazy_gettext(u'just another Zine blog')), 26 26 'blog_url': (unicode, u''), 27 27 'blog_email': (unicode, u''), 28 28 'timezone': (unicode, u'UTC'), 29 29 'maintenance_mode': (bool, False), 30 'session_cookie_name': (unicode, u' textpress_session'),30 'session_cookie_name': (unicode, u'zine_session'), 31 31 'theme': (unicode, u'default'), 32 32 'secret_key': (unicode, u''), … … 50 50 # htmlprocessor module bypasses this test when falling back to 51 51 # the default parser. If there plans to change the default parser 52 # for future TextPressversions that code must be altered first.52 # for future Zine versions that code must be altered first. 53 53 'default_parser': (unicode, u'default'), 54 54 'comment_parser': (unicode, u'comment'), … … 70 70 'upload_folder': (unicode, u'uploads'), 71 71 'upload_mimetypes': (unicode, u'*.plugin:application/' 72 u'x- textpress-plugin'),72 u'x-zine-plugin'), 73 73 'im_path': (unicode, u''), 74 74 … … 90 90 #: header for the config file 91 91 CONFIG_HEADER = '''\ 92 # TextPressconfiguration file93 # This file is also updated by the TextPressadmin interface which will strip92 # Zine configuration file 93 # This file is also updated by the Zine admin interface which will strip 94 94 # all comments due to a limitation in the current implementation. If you 95 95 # want to maintain the file with your text editor be warned that comments … … 146 146 147 147 >>> app.cfg['blog_title'] 148 iu'My TextPressBlog'148 iu'My Zine Blog' 149 149 >>> app.cfg.change_single('blog_title', 'Test Blog') 150 150 True … … 174 174 self._load_time = path.getmtime(self.filename) 175 175 self.exists = True 176 section = ' textpress'176 section = 'zine' 177 177 f = file(self.filename) 178 178 try: … … 189 189 key, value = line.split('=', 1) 190 190 key = key.strip() 191 if section != ' textpress':191 if section != 'zine': 192 192 key = section + '/' + key 193 193 self._values[key] = unquote_value(value.strip()) … … 197 197 def __getitem__(self, key): 198 198 """Return the value for a key.""" 199 if key.startswith(' textpress/'):200 key = key[ 10:]199 if key.startswith('zine/'): 200 key = key[5:] 201 201 try: 202 202 return self._converted_values[key] … … 245 245 def __contains__(self, key): 246 246 """Check if a given key exists.""" 247 if key.startswith(' textpress/'):248 key = key[ 10:]247 if key.startswith('zine/'): 248 key = key[5:] 249 249 return key in self.config_vars 250 250 … … 287 287 category, name = key.split('/', 1) 288 288 else: 289 category = ' textpress'289 category = 'zine' 290 290 name = key 291 291 categories.setdefault(category, []).append({ … … 300 300 def sort_func(item): 301 301 """Sort by key, case insensitive, ignore leading underscores and 302 move the implicit " textpress" to the index.302 move the implicit "zine" to the index. 303 303 """ 304 if item[0] == ' textpress':304 if item[0] == 'zine': 305 305 return 1 306 306 return item[0].lower().lstrip('_') … … 343 343 """Set the value for a key by a python value.""" 344 344 self._assert_uncommitted() 345 if key.startswith(' textpress/'):346 key = key[ 10:]345 if key.startswith('zine/'): 346 key = key[5:] 347 347 if key not in self.cfg.config_vars: 348 348 raise KeyError(key) … … 362 362 """Set the value for a key from a string.""" 363 363 self._assert_uncommitted() 364 if key.startswith(' textpress/'):365 key = key[ 10:]364 if key.startswith('zine/'): 365 key = key[5:] 366 366 conv, default = self.cfg.config_vars[key] 367 367 new = from_string(value, conv, default) … … 373 373 """Revert a key to the default value.""" 374 374 self._assert_uncommitted() 375 if key.startswith(' textpress'):376 key = key[ 10:]375 if key.startswith('zine'): 376 key = key[5:] 377 377 self._remove.append(key) 378 378 … … 403 403 section, key = key.split('/', 1) 404 404 else: 405 section = ' textpress'405 section = 'zine' 406 406 sections.setdefault(section, []).append((key, value)) 407 407 sections = sorted(sections.items()) -
zine/database.py
r461 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.database4 ~~~~~~~~~~~~~ ~~~~~3 zine.database 4 ~~~~~~~~~~~~~ 5 5 6 6 This module is a rather complex layer on top of SQLAlchemy 0.4. 7 Basically you will never use the ` textpress.database` module except you7 Basically you will never use the `zine.database` module except you 8 8 are a core developer, but always the high level 9 :mod:`~ textpress.database.db` module which you can import from the10 :mod:` textpress.api` module.9 :mod:`~zine.database.db` module which you can import from the 10 :mod:`zine.api` module. 11 11 12 12 … … 25 25 from sqlalchemy.engine.url import make_url 26 26 27 from textpress.utils import local, local_manager27 from zine.utils import local, local_manager 28 28 29 29 … … 43 43 application). If no application is enabled this has an undefined behavior. 44 44 If you are not sure if the application is bound to the active thread, use 45 :func:`~ textpress.application.get_application` and check it for `None`.45 :func:`~zine.application.get_application` and check it for `None`. 46 46 The database engine is stored on the application object as `database_engine`. 47 47 """ … … 174 174 175 175 #: create a new module for all the database related functions and objects 176 sys.modules[' textpress.database.db'] = db = ModuleType('db')176 sys.modules['zine.database.db'] = db = ModuleType('db') 177 177 public_names = set(['mapper', 'get_engine', 'session', 'DatabaseManager']) 178 178 key = value = mod = None … … 290 290 def init_database(engine): 291 291 """This is called from the websetup which explains why it takes an engine 292 and not a textpressapplication.292 and not a zine application. 293 293 """ 294 294 metadata.create_all(engine) -
zine/docs/__init__.py
r452 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.docs3 zine.docs 4 4 ~~~~~~~~~~~~~~ 5 5 6 6 This module implements a simple multilingual documentation system on 7 7 top of docutils. The `build-docs` script builds pickled files for all 8 the documentation in TextPressor a plugin.8 the documentation in Zine or a plugin. 9 9 10 10 This is separate from the sphinx powered developer documentation. … … 20 20 from werkzeug import escape 21 21 22 from textpress.application import Response, url_for23 from textpress.i18n import _22 from zine.application import Response, url_for 23 from zine.i18n import _ 24 24 25 25 -
zine/docs/builder.py
r452 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.docs.builder3 zine.docs.builder 4 4 ~~~~~~~~~~~~~~~~~~~~~~ 5 5 -
zine/environment.py
r451 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.environment4 ~~~~~~~~~~~~~~~~ ~~~~~3 zine.environment 4 ~~~~~~~~~~~~~~~~ 5 5 6 This module can figure how TextPressis installed and where it has to look6 This module can figure how Zine is installed and where it has to look 7 7 for shared information. Currently it knows about two modes: development 8 8 environment and installation on a posix system. OS X should be special … … 15 15 16 16 development 17 in development mode all the files are relative to the textpress17 in development mode all the files are relative to the zine 18 18 package:: 19 19 20 textpress/ application code20 zine/ application code 21 21 plugins/ builtin plugins 22 22 shared/ core shared data … … 28 28 /usr in the following example:: 29 29 30 /usr/lib/ textpress/textpressapplication code31 /usr/lib/ textpress/plugins builtin plugins32 /usr/share/ textpress/htdocs core shared data33 /usr/share/ textpress/templates core templates30 /usr/lib/zine/zine application code 31 /usr/lib/zine/plugins builtin plugins 32 /usr/share/zine/htdocs core shared data 33 /usr/share/zine/templates core templates 34 34 35 35 windows … … 37 37 folder alone. % is the path to the program folder:: 38 38 39 %/ TextPress/textpressapplication code40 %/ TextPress/plugins builtin plugins41 %/ TextPress/htdocs core shared data42 %/ TextPress/templates core templates39 %/Zine/zine application code 40 %/Zine/plugins builtin plugins 41 %/Zine/htdocs core shared data 42 %/Zine/templates core templates 43 43 44 44 :copyright: 2008 by Armin Ronacher. … … 52 52 53 53 54 # the path to the contents of the textpresspackage54 # the path to the contents of the zine package 55 55 PACKAGE_CONTENTS = realpath(dirname(__file__)) 56 56 57 # the path to the folder where the " textpress" package is stored in.57 # the path to the folder where the "zine" package is stored in. 58 58 PACKAGE_LOCATION = realpath(join(PACKAGE_CONTENTS, pardir)) 59 59 … … 70 70 BUILTIN_TEMPLATE_PATH = join(PACKAGE_CONTENTS, 'templates') 71 71 72 # a TextPressinstallation on a posix system72 # a Zine installation on a posix system 73 73 elif PLATFORM == 'posix': 74 74 MODE = 'posix' 75 75 share = join(PACKAGE_LOCATION, pardir, pardir, 'share') 76 76 BUILTIN_PLUGIN_FOLDER = realpath(join(PACKAGE_LOCATION, 'plugins')) 77 BUILTIN_TEMPLATE_PATH = realpath(join(share, ' textpress', 'templates'))78 SHARED_DATA = realpath(join(share, ' textpress', 'htdocs'))77 BUILTIN_TEMPLATE_PATH = realpath(join(share, 'zine', 'templates')) 78 SHARED_DATA = realpath(join(share, 'zine', 'htdocs')) 79 79 del share 80 80 81 # a TextPressinstallation on windows81 # a Zine installation on windows 82 82 elif PLATFORM == 'nt': 83 83 raise NotImplementedError('installation in windows not possible') 84 84 85 85 else: 86 raise EnvironmentError('Could not determine TextPressenvironment')86 raise EnvironmentError('Could not determine Zine environment') 87 87 88 88 -
zine/fragment.py
r303 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.fragment4 ~~~~~~~~~~~~~ ~~~~~3 zine.fragment 4 ~~~~~~~~~~~~~ 5 5 6 6 This module implements the fragment system used by the parsers from 7 the ` textpress.parsers` module. All parsers have to return such7 the `zine.parsers` module. All parsers have to return such 8 8 fragments so that the caching system can work properly, and more 9 9 important, that plugins can modify the dom tree. Full plugin support … … 59 59 from xml.sax.saxutils import quoteattr, escape 60 60 61 from textpress.application import iter_listeners61 from zine.application import iter_listeners 62 62 63 63 -
zine/htmlhelpers.py
r164 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.htmlhelpers4 ~~~~~~~~~~~~~~~~ ~~~~~3 zine.htmlhelpers 4 ~~~~~~~~~~~~~~~~ 5 5 6 6 This module povides helpers for the templates but can be useful for 7 7 the views and modules too. In the template it's available as "h". 8 8 9 :copyright: 2007 by Armin Ronacher.9 :copyright: 2007-2008 by Armin Ronacher. 10 10 :license: GNU GPL. 11 11 """ 12 12 from xml.sax.saxutils import escape, quoteattr 13 from textpress.fragment import SELF_CLOSING_TAGS13 from zine.fragment import SELF_CLOSING_TAGS 14 14 15 16 jinja_allowed_attributes = __all__ = [17 'input_field', 'checkbox', 'radio_button', 'textarea'18 ]19 15 20 16 _binary = object() -
zine/i18n/__init__.py
r464 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.i18n3 zine.i18n 4 4 ~~~~~~~~~~~~~~ 5 5 6 i18n tools for TextPress. This module provides various helpers for6 i18n tools for Zine. This module provides various helpers for 7 7 internationalization. That is a translation system (with an API, 8 8 compatible to standard gettext), timezone helpers as well as date … … 22 22 Translations are handled in a gettext inspired way via babel. The 23 23 translatable strings are stored in POT and PO files but the files 24 TextPressloads afterwards are stored in pickles rather than MO files.24 Zine loads afterwards are stored in pickles rather than MO files. 25 25 26 26 The reason for that is that we have to put additional information into … … 35 35 -------------------- 36 36 37 The extracting of strings (either for TextPresscore or plugins) is done37 The extracting of strings (either for Zine core or plugins) is done 38 38 with the `extract-messages` script. If called without arguments it will 39 39 extract the strings of the core, otherwise the strings of the plugin which … … 66 66 from werkzeug.exceptions import NotFound 67 67 68 import textpress.application69 from textpress.environment import LOCALE_PATH68 import zine.application 69 from zine.environment import LOCALE_PATH 70 70 71 71 … … 86 86 a `UnknownLocaleError` is raised. 87 87 88 This only loads the translations for TextPressitself and not the88 This only loads the translations for Zine itself and not the 89 89 plugins. Plugins themselves have an attribute translations that is 90 90 the translations object pointing to the active translations of the … … 97 97 98 98 class Translations(object): 99 """A gettext like API for TextPress."""99 """A gettext like API for Zine.""" 100 100 101 101 def __init__(self, catalog=None, locale=None): … … 169 169 def gettext(string): 170 170 """Translate the given string to the language of the application.""" 171 app = textpress.application.get_application()171 app = zine.application.get_application() 172 172 if app is None: 173 173 return string … … 179 179 application. 180 180 """ 181 app = textpress.application.get_application()181 app = zine.application.get_application() 182 182 if app is None: 183 183 if n == 1: … … 304 304 """ 305 305 def lookup(): 306 app = textpress.application.get_application()306 app = zine.application.get_application() 307 307 lang = app and app.cfg['language'] or 'en' 308 308 if lang in languages: … … 380 380 """Return a list of all languages.""" 381 381 if not self_translated: 382 app = textpress.application.get_application()382 app = zine.application.get_application() 383 383 if app: 384 384 locale = app.locale … … 442 442 return to_utc(rv) 443 443 return rv 444 cfg = textpress.application.get_application().cfg444 cfg = zine.application.get_application().cfg 445 445 446 446 # first of all try the following format because this is the format … … 479 479 def _date_format(formatter, obj, format, rebase, **extra): 480 480 """Internal helper that formats the date.""" 481 app = textpress.application.get_application()481 app = zine.application.get_application() 482 482 if app is None: 483 483 locale = Locale('en') … … 495 495 """ 496 496 if name is None: 497 name = textpress.application.get_application().cfg['timezone']497 name = zine.application.get_application().cfg['timezone'] 498 498 return timezone(name) 499 499 … … 504 504 if code is None: 505 505 t = request.app.translations 506 code = ' TextPress.addTranslations(%s)' % simplejson.dumps(dict(506 code = 'Zine.addTranslations(%s)' % simplejson.dumps(dict( 507 507 messages=dict((k, t.messages[k]) for k in t.client_keys), 508 508 plural_expr=t.plural_expr, … … 510 510 )) 511 511 _js_translations[request.app] = code 512 response = textpress.application.Response(code, mimetype='application/javascript')512 response = zine.application.Response(code, mimetype='application/javascript') 513 513 response.add_etag() 514 514 response.make_conditional(request) -
zine/i18n/de/messages.po
r464 r465 8 8 "Report-Msgid-Bugs-To: armin.ronacher@active-4.com\n" 9 9 "POT-Creation-Date: 2008-06-29 17:22+0200\n" 10 "PO-Revision-Date: 2008-08-2 4 23:15+0200\n"10 "PO-Revision-Date: 2008-08-28 22:32+0200\n" 11 11 "Last-Translator: Armin Ronacher <armin.ronacher@active-4.com>\n" 12 12 "Language-Team: de <LL@li.org>\n" … … 17 17 "Generated-By: Babel 1.0dev-r444\n" 18 18 19 #: textpress/application.py:59119 #: zine/application.py:591 20 20 msgid "Default Theme" 21 21 msgstr "Standard Thema" 22 22 23 #: textpress/application.py:59223 #: zine/application.py:592 24 24 msgid "Simple default theme that doesn't contain any style information." 25 25 msgstr "Ein einfaches Standard Thema, dass keine Stilinformationen beinhaltet." 26 26 27 #: textpress/application.py:64927 #: zine/application.py:649 28 28 #, python-format 29 29 msgid "Copyright %(years)s by the Pocoo Team" 30 30 msgstr "Copyright %(years)s by the Pocoo Team" 31 31 32 #: textpress/config.py:2433 msgid "My TextPressBlog"34 msgstr "Mein TextPressBlog"35 36 #: textpress/config.py:2537 msgid "just another TextPressblog"38 msgstr "einfach nur ein weiteres TextPressBlog"39 40 #: textpress/models.py:97 textpress/views/admin.py:112232 #: zine/config.py:24 33 msgid "My Zine Blog" 34 msgstr "Mein Zine Blog" 35 36 #: zine/config.py:25 37 msgid "just another Zine blog" 38 msgstr "einfach nur ein weiteres Zine Blog" 39 40 #: zine/models.py:97 zine/views/admin.py:1124 41 41 msgid "Administrator" 42 42 msgstr "Administrator" 43 43 44 #: textpress/models.py:99 textpress/views/admin.py:112344 #: zine/models.py:99 zine/views/admin.py:1125 45 45 msgid "Editor" 46 46 msgstr "Editor" 47 47 48 #: textpress/models.py:101 textpress/templates/admin/edit_comment.html:1549 #: textpress/templates/admin/edit_comment.html:2850 #: textpress/templates/admin/edit_post.html:8751 #: textpress/templates/admin/information.html:8252 #: textpress/templates/admin/inspect_import.html:6153 #: textpress/templates/admin/show_posts.html:19 textpress/views/admin.py:112448 #: zine/models.py:101 zine/templates/admin/edit_comment.html:15 49 #: zine/templates/admin/edit_comment.html:28 50 #: zine/templates/admin/edit_post.html:87 51 #: zine/templates/admin/information.html:82 52 #: zine/templates/admin/inspect_import.html:61 53 #: zine/templates/admin/show_posts.html:19 zine/views/admin.py:1126 54 54 msgid "Author" 55 55 msgstr "Autor" 56 56 57 #: textpress/models.py:103 textpress/views/admin.py:112557 #: zine/models.py:103 zine/views/admin.py:1127 58 58 msgid "Subscriber" 59 59 msgstr "Abonent" 60 60 61 #: textpress/models.py:10461 #: zine/models.py:104 62 62 msgid "Nobody" 63 63 msgstr "Niemand" 64 64 65 #: textpress/pingback.py:6265 #: zine/pingback.py:62 66 66 msgid "source URL does not exist" 67 67 msgstr "Quell-URL existiert nicht." 68 68 69 #: textpress/pingback.py:6369 #: zine/pingback.py:63 70 70 msgid "The source URL does not contain a link to the target URL" 71 71 msgstr "Die Quell-URL verlint nicht auf die Ziel-URL" 72 72 73 #: textpress/pingback.py:6473 #: zine/pingback.py:64 74 74 msgid "The specified target URL does not exist" 75 75 msgstr "Die angebenene Ziel-URL existiert nicht." 76 76 77 #: textpress/pingback.py:6577 #: zine/pingback.py:65 78 78 msgid "The specified target URL cannot be used as a target" 79 79 msgstr "Die spezifizierte Ziel-URL kann nicht als Ziel verwendet werden." 80 80 81 #: textpress/pingback.py:6681 #: zine/pingback.py:66 82 82 msgid "The pingback has already been registered" 83 83 msgstr "Der Pingback wurde bereits registriert" 84 84 85 #: textpress/pingback.py:67 textpress/templates/403.html:2 86 #: textpress/templates/403.html:4 85 #: zine/pingback.py:67 zine/templates/403.html:2 zine/templates/403.html:4 87 86 msgid "Access Denied" 88 87 msgstr "Zugriff verweigert" 89 88 90 #: textpress/pingback.py:6889 #: zine/pingback.py:68 91 90 #, python-format 92 91 msgid "An unknown server error (%s) occoured" 93 92 msgstr "Ein unbekannter Fehler (%s) trat auf" 94 93 95 #: textpress/widgets.py:98 textpress/templates/tag_cloud.html:296 #: textpress/templates/tag_cloud.html:494 #: zine/widgets.py:98 zine/templates/tag_cloud.html:2 95 #: zine/templates/tag_cloud.html:4 97 96 msgid "Tag Cloud" 98 97 msgstr "Tag Wolke" 99 98 100 #: textpress/widgets.py:10999 #: zine/widgets.py:109 101 100 msgid "Maximum number of tags must be empty or a number." 102 101 msgstr "Die maximale Anazhl der Markierungen muss leer oder eine Nummer sein." 103 102 104 #: textpress/widgets.py:137103 #: zine/widgets.py:137 105 104 msgid "Post Archive Summary" 106 105 msgstr "Archiv-Zusammenfassung" 107 106 108 #: textpress/widgets.py:146107 #: zine/widgets.py:146 109 108 msgid "Detail must be years, months or days." 110 109 msgstr "Datail muss Jahre, Monate oder Tage sein." 111 110 112 #: textpress/widgets.py:151 textpress/widgets.py:189 textpress/widgets.py:227111 #: zine/widgets.py:151 zine/widgets.py:189 zine/widgets.py:227 113 112 msgid "Limit must be omited or a valid number." 114 113 msgstr "Beschränkung muss leergelassen werden oder eine gültige Nummer sein." 115 114 116 #: textpress/widgets.py:178 textpress/templates/widgets/latest_posts.html:2115 #: zine/widgets.py:178 zine/templates/widgets/latest_posts.html:2 117 116 msgid "Latest Posts" 118 117 msgstr "Letzte Einträge" 119 118 120 #: textpress/widgets.py:216 textpress/templates/widgets/latest_comments.html:2119 #: zine/widgets.py:216 zine/templates/widgets/latest_comments.html:2 121 120 msgid "Latest Comments" 122 121 msgstr "Letzte Kommentare" 123 122 124 #: textpress/widgets.py:255123 #: zine/widgets.py:255 125 124 msgid "Pages Navigation" 126 125 msgstr "Seiten-Navigation" 127 126 128 #: textpress/docs/__init__.py:67127 #: zine/docs/__init__.py:67 129 128 msgid "no documented plugins installed." 130 129 msgstr "Keine dokumentierten Plugins installiert." 131 130 132 #: textpress/experimental_plugins/notification/__init__.py:28131 #: zine/experimental_plugins/notification/__init__.py:28 133 132 #, python-format 134 133 msgid "New comment on your blog to \"%(title)s\" by %(author)s" 135 134 msgstr "Neuer Kommentar in deinem Blog zu \"%(title)s\" von %(author)s" 136 135 137 #: textpress/experimental_plugins/notification/__init__.py:33136 #: zine/experimental_plugins/notification/__init__.py:33 138 137 #, python-format 139 138 msgid "" … … 148 147 "%(signature)s" 149 148 150 #: textpress/experimental_plugins/notification/__init__.py:49149 #: zine/experimental_plugins/notification/__init__.py:49 151 150 msgid "Unmoderated Comments" 152 151 msgstr "Unmoderierte Kommentare" 153 152 154 #: textpress/experimental_plugins/notification/__init__.py:50153 #: zine/experimental_plugins/notification/__init__.py:50 155 154 #, python-format 156 155 msgid "" … … 165 164 "%(signature)s" 166 165 167 #: textpress/i18n/__init__.py:406 textpress/views/admin.py:332 168 #: textpress/views/admin.py:382 166 #: zine/i18n/__init__.py:435 zine/views/admin.py:334 zine/views/admin.py:384 169 167 msgid "now" 170 168 msgstr "jetzt" 171 169 172 #: textpress/importers/__init__.py:110170 #: zine/importers/__init__.py:110 173 171 msgid "set blog title from dump" 174 172 msgstr "Blog Titel von Dump setzen" 175 173 176 #: textpress/importers/__init__.py:113174 #: zine/importers/__init__.py:113 177 175 msgid "set blog tagline from dump" 178 176 msgstr "Blog Tagline von Dump setzen" 179 177 180 #: textpress/importers/__init__.py:144 textpress/importers/__init__.py:149178 #: zine/importers/__init__.py:144 zine/importers/__init__.py:149 181 179 msgid "done" 182 180 msgstr "erledigt" 183 181 184 #: textpress/importers/__init__.py:147182 #: zine/importers/__init__.py:147 185 183 msgid "Committing transaction..." 186 184 msgstr "Transaktion wird abgesendet..." 187 185 188 #: textpress/importers/blogger.py:310186 #: zine/importers/blogger.py:310 189 187 #, python-format 190 188 msgid "" … … 197 195 "%(download_link)s</p>" 198 196 199 #: textpress/importers/wordpress.py:157197 #: zine/importers/wordpress.py:157 200 198 msgid "Both dump uploaded and download URL given." 201 199 msgstr "Es wurde sowohl eine Datei hochgeladen als auch eine URL angegeben." 202 200 203 #: textpress/importers/wordpress.py:162201 #: zine/importers/wordpress.py:162 204 202 #, python-format 205 203 msgid "Error downloading from URL: %s" 206 204 msgstr "Fehler beim Herunterladen von URL: %s" 207 205 208 #: textpress/importers/wordpress.py:172206 #: zine/importers/wordpress.py:172 209 207 #, python-format 210 208 msgid "Error parsing uploaded file: %s" 211 209 msgstr "Fehler beim Analysieren der hochgeladenen Datei: %s" 212 210 213 #: textpress/parsers/comments.py:54211 #: zine/parsers/comments.py:54 214 212 msgid "Emphasized Text" 215 213 msgstr "Hervorgehobener Text" 216 214 217 #: textpress/parsers/simplehtml.py:37215 #: zine/parsers/simplehtml.py:37 218 216 msgid "Raw HTML" 219 217 msgstr "Rohes HTML" 220 218 221 #: textpress/parsers/simplehtml.py:118219 #: zine/parsers/simplehtml.py:118 222 220 msgid "Simplified HTML" 223 221 msgstr "Vereinfachtes HTML" 224 222 225 #: textpress/parsers/simplehtml.py:134223 #: zine/parsers/simplehtml.py:134 226 224 msgid "Automatic Paragraphs" 227 225 msgstr "Automatische Absätze" 228 226 229 #: textpress/plugins/akismet_spam_filter/__init__.py:74227 #: zine/plugins/akismet_spam_filter/__init__.py:74 230 228 msgid "No Akismet key provided." 231 229 msgstr "Es wurde kein Akismet Schlüssel angegeben." 232 230 233 #: textpress/plugins/akismet_spam_filter/__init__.py:81231 #: zine/plugins/akismet_spam_filter/__init__.py:81 234 232 msgid "Could not verify key because of a server to server connection error." 235 233 msgstr "" … … 237 235 "aufgebaut werden konnte." 238 236 239 #: textpress/plugins/akismet_spam_filter/__init__.py:84237 #: zine/plugins/akismet_spam_filter/__init__.py:84 240 238 msgid "The key you have entered is not valid." 241 239 msgstr "Der angebenene Schlüssel ist nicht gültig." 242 240 243 #: textpress/plugins/akismet_spam_filter/__init__.py:96241 #: zine/plugins/akismet_spam_filter/__init__.py:96 244 242 msgid "<strong>Akismet is not active!</strong>" 245 243 msgstr "<strong>Akisment nicht aktiv!</strong>" 246 244 247 #: textpress/plugins/akismet_spam_filter/__init__.py:101245 #: zine/plugins/akismet_spam_filter/__init__.py:101 248 246 msgid "Edit key" 249 247 msgstr "Schlüssel bearbeiten" 250 248 251 #: textpress/plugins/akismet_spam_filter/__init__.py:153249 #: zine/plugins/akismet_spam_filter/__init__.py:153 252 250 msgid "Akismet" 253 251 msgstr "Akismet" 254 252 255 #: textpress/plugins/akismet_spam_filter/__init__.py:165253 #: zine/plugins/akismet_spam_filter/__init__.py:165 256 254 msgid "Akismet could not be enabled." 257 255 msgstr "Akismet konnte nicht aktiviert werden." 258 256 259 #: textpress/plugins/akismet_spam_filter/__init__.py:175257 #: zine/plugins/akismet_spam_filter/__init__.py:175 260 258 msgid "Akismet enabled successfully. The API key provided is valid" 261 259 msgstr "Akismet wurde erfolgreich aktiveirt. Der Schlüssel ist gültig" 262 260 263 #: textpress/plugins/akismet_spam_filter/__init__.py:197261 #: zine/plugins/akismet_spam_filter/__init__.py:197 264 262 msgid "Akismet Blocked Comments" 265 263 msgstr "Von Akismet Geblockte Kommentare" 266 264 267 #: textpress/plugins/akismet_spam_filter/templates/akismet_widget.html:4265 #: zine/plugins/akismet_spam_filter/templates/akismet_widget.html:4 268 266 #, python-format 269 267 msgid "Akisment blocked <b>%(spam_comments)s</b> comments." 270 268 msgstr "Akismet blockte <b>%(spam_comments)s</b> Kommentare." 271 269 272 #: textpress/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:2273 #: textpress/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:4270 #: zine/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:2 271 #: zine/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:4 274 272 msgid "Akismet Configuration" 275 273 msgstr "Akismet Konfiguration" 276 274 277 #: textpress/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:5275 #: zine/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:5 278 276 #, python-format 279 277 msgid "" … … 293 291 " " 294 292 295 #: textpress/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:14293 #: zine/plugins/akismet_spam_filter/templates/admin/akismet_spam_filter.html:14 296 294 msgid "Update Key" 297 295 msgstr "Schlüssel aktivieren" 298 296 299 #: textpress/plugins/akismet_spam_filter/templates/admin/akismet_widget.html:4300 #: textpress/templates/admin/widgets/latest_comments.html:6301 #: textpress/templates/admin/widgets/latest_posts.html:6302 #: textpress/templates/admin/widgets/post_archive_summary.html:17303 #: textpress/templates/admin/widgets/tagcloud.html:6297 #: zine/plugins/akismet_spam_filter/templates/admin/akismet_widget.html:4 298 #: zine/templates/admin/widgets/latest_comments.html:6 299 #: zine/templates/admin/widgets/latest_posts.html:6 300 #: zine/templates/admin/widgets/post_archive_summary.html:17 301 #: zine/templates/admin/widgets/tagcloud.html:6 304 302 msgid "Show Title" 305 303 msgstr "Titel anzeigen" 306 304 307 #: textpress/plugins/akismet_spam_filter/templates/admin/akismet_widget.html:6 308 #: textpress/templates/admin/edit_post.html:22 309 #: textpress/templates/admin/import.html:25 310 #: textpress/templates/admin/inspect_import.html:60 311 #: textpress/templates/admin/show_pages.html:9 312 #: textpress/templates/admin/show_posts.html:18 313 #: textpress/templates/admin/write_page.html:7 305 #: zine/plugins/akismet_spam_filter/templates/admin/akismet_widget.html:6 306 #: zine/templates/admin/edit_post.html:22 zine/templates/admin/import.html:25 307 #: zine/templates/admin/inspect_import.html:60 308 #: zine/templates/admin/show_pages.html:9 309 #: zine/templates/admin/show_posts.html:18 310 #: zine/templates/admin/write_page.html:7 314 311 msgid "Title" 315 312 msgstr "Titel" 316 313 317 #: textpress/plugins/eric_the_fish/__init__.py:85318 #: textpress/plugins/eric_the_fish/templates/admin/eric_the_fish.html:2319 #: textpress/plugins/eric_the_fish/templates/admin/eric_the_fish.html:4314 #: zine/plugins/eric_the_fish/__init__.py:85 315 #: zine/plugins/eric_the_fish/templates/admin/eric_the_fish.html:2 316 #: zine/plugins/eric_the_fish/templates/admin/eric_the_fish.html:4 320 317 msgid "Eric The Fish" 321 318 msgstr "Erik der Fisch" 322 319 323 #: textpress/plugins/eric_the_fish/__init__.py:97320 #: zine/plugins/eric_the_fish/__init__.py:97 324 321 msgid "The skin could not be changed." 325 322 msgstr "Das Thema konnte nicht geändert werden." 326 323 327 #: textpress/plugins/eric_the_fish/templates/admin/eric_the_fish.html:5324 #: zine/plugins/eric_the_fish/templates/admin/eric_the_fish.html:5 328 325 msgid "" 329 326 "\n" … … 337 334 " " 338 335 339 #: textpress/plugins/miniblog_theme/templates/_post.html:8340 #: textpress/templates/_post.html:13336 #: zine/plugins/miniblog_theme/templates/_post.html:8 337 #: zine/templates/_post.html:13 341 338 msgid "Read on" 342 339 msgstr "Weiterlesen" 343 340 344 #: textpress/plugins/miniblog_theme/templates/_post.html:13345 #: textpress/templates/widgets/latest_comments.html:7341 #: zine/plugins/miniblog_theme/templates/_post.html:13 342 #: zine/templates/widgets/latest_comments.html:7 346 343 msgid "by" 347 344 msgstr "von" 348 345 349 #: textpress/plugins/miniblog_theme/templates/_post.html:15350 #: textpress/templates/_post.html:24346 #: zine/plugins/miniblog_theme/templates/_post.html:15 347 #: zine/templates/_post.html:24 351 348 #, python-format 352 349 msgid "%(comments)s comment" … … 355 352 msgstr[1] "%(comments)s Kommentare" 356 353 357 #: textpress/plugins/miniblog_theme/templates/_widgets.html:5 358 #: textpress/plugins/vessel_theme/templates/_widgets.html:5 359 #: textpress/templates/admin/layout.html:5 360 #: textpress/templates/admin/layout.html:12 361 #: textpress/templates/admin/login.html:5 354 #: zine/plugins/miniblog_theme/templates/_widgets.html:5 355 #: zine/plugins/vessel_theme/templates/_widgets.html:5 356 #: zine/templates/admin/layout.html:5 zine/templates/admin/layout.html:12 357 #: zine/templates/admin/login.html:5 362 358 msgid "Administration" 363 359 msgstr "Administration" 364 360 365 #: textpress/plugins/miniblog_theme/templates/_widgets.html:7366 #: textpress/plugins/vessel_theme/templates/_widgets.html:7361 #: zine/plugins/miniblog_theme/templates/_widgets.html:7 362 #: zine/plugins/vessel_theme/templates/_widgets.html:7 367 363 #, python-format 368 364 msgid "logged in as %(username)s." 369 365 msgstr "angemeldet als %(username)s" 370 366 371 #: textpress/plugins/miniblog_theme/templates/_widgets.html:8372 #: textpress/plugins/vessel_theme/templates/_widgets.html:8367 #: zine/plugins/miniblog_theme/templates/_widgets.html:8 368 #: zine/plugins/vessel_theme/templates/_widgets.html:8 373 369 msgid "go to admin panel" 374 370 msgstr "zur Administration" 375 371 376 #: textpress/plugins/miniblog_theme/templates/layout.html:26377 #: textpress/plugins/vessel_theme/templates/layout.html:30378 #: textpress/templates/layout.html:19379 #, python-format 380 msgid "Proudly powered by %( textpress)s."381 msgstr "%( textpress)s unter der Haube."382 383 #: textpress/plugins/myrtle_theme/templates/layout.html:27384 #, python-format 385 msgid "Proudly powered by %( textpress)s, %(theme)s designed by %(author)s."386 msgstr "%( textpress)s unter der Haube, %(theme)s designed von %(author)s."387 388 #: textpress/plugins/myrtle_theme/templates/layout.html:32372 #: zine/plugins/miniblog_theme/templates/layout.html:26 373 #: zine/plugins/vessel_theme/templates/layout.html:30 374 #: zine/templates/layout.html:19 375 #, python-format 376 msgid "Proudly powered by %(zine)s." 377 msgstr "%(zine)s unter der Haube." 378 379 #: zine/plugins/myrtle_theme/templates/layout.html:27 380 #, python-format 381 msgid "Proudly powered by %(zine)s, %(theme)s designed by %(author)s." 382 msgstr "%(zine)s unter der Haube, %(theme)s designed von %(author)s." 383 384 #: zine/plugins/myrtle_theme/templates/layout.html:32 389 385 msgid "Admin Panel" 390 386 msgstr "Administration" 391 387 392 #: textpress/plugins/myrtle_theme/templates/layout.html:33393 #: textpress/templates/admin/layout.html:16388 #: zine/plugins/myrtle_theme/templates/layout.html:33 389 #: zine/templates/admin/layout.html:16 394 390 msgid "Logout" 395 391 msgstr "Abmelden" 396 392 397 #: textpress/plugins/pygments_support/__init__.py:136393 #: zine/plugins/pygments_support/__init__.py:136 398 394 msgid "Pygments theme changed successfully." 399 395 msgstr "Pygments Thema wurde erfolgreich geändert." 400 396 401 #: textpress/plugins/pygments_support/__init__.py:138397 #: zine/plugins/pygments_support/__init__.py:138 402 398 msgid "Pygments theme could not be changed." 403 399 msgstr "Pygments Thema konnte nicht geändert werden." 404 400 405 #: textpress/plugins/pygments_support/templates/admin/pygments_support.html:2406 #: textpress/plugins/pygments_support/templates/admin/pygments_support.html:4401 #: zine/plugins/pygments_support/templates/admin/pygments_support.html:2 402 #: zine/plugins/pygments_support/templates/admin/pygments_support.html:4 407 403 msgid "Pygments" 408 404 msgstr "Pygments" 409 405 410 #: textpress/plugins/pygments_support/templates/admin/pygments_support.html:5406 #: zine/plugins/pygments_support/templates/admin/pygments_support.html:5 411 407 msgid "" 412 408 "\n" … … 420 416 " " 421 417 422 #: textpress/plugins/pygments_support/templates/admin/pygments_support.html:12423 #: textpress/views/admin.py:119418 #: zine/plugins/pygments_support/templates/admin/pygments_support.html:12 419 #: zine/views/admin.py:119 424 420 msgid "Theme" 425 421 msgstr "Thema" 426 422 427 #: textpress/plugins/pygments_support/templates/admin/pygments_support.html:19423 #: zine/plugins/pygments_support/templates/admin/pygments_support.html:19 428 424 msgid "Preview" 429 425 msgstr "Vorschau" 430 426 431 #: textpress/plugins/pygments_support/templates/admin/pygments_support.html:20427 #: zine/plugins/pygments_support/templates/admin/pygments_support.html:20 432 428 msgid "Select" 433 429 msgstr "Auswählen" 434 430 435 #: textpress/plugins/typography/__init__.py:81436 #: textpress/plugins/typography/templates/admin/typography.html:2437 #: textpress/plugins/typography/templates/admin/typography.html:4431 #: zine/plugins/typography/__init__.py:81 432 #: zine/plugins/typography/templates/admin/typography.html:2 433 #: zine/plugins/typography/templates/admin/typography.html:4 438 434 msgid "Typography" 439 435 msgstr "Typographie" 440 436 441 #: textpress/plugins/typography/__init__.py:101437 #: zine/plugins/typography/__init__.py:101 442 438 msgid "Typography settings could not be changed." 443 439 msgstr "Typographische Einstellungen wurden geändert." 444 440 445 #: textpress/plugins/typography/__init__.py:103441 #: zine/plugins/typography/__init__.py:103 446 442 msgid "Typography settings changed." 447 443 msgstr "Typographische Einstellungen wurden geändert." 448 444 449 #: textpress/plugins/typography/templates/admin/typography.html:5445 #: zine/plugins/typography/templates/admin/typography.html:5 450 446 msgid "" 451 447 "\n" … … 462 458 " " 463 459 464 #: textpress/plugins/typography/templates/admin/typography.html:12460 #: zine/plugins/typography/templates/admin/typography.html:12 465 461 msgid "Double Quote Pairs" 466 462 msgstr "Doppelte Anführungszeichen" 467 463 468 #: textpress/plugins/typography/templates/admin/typography.html:19464 #: zine/plugins/typography/templates/admin/typography.html:19 469 465 msgid "Single Quote Pairs" 470 466 msgstr "Einfache Anführungszeichen" 471 467 472 #: textpress/plugins/typography/templates/admin/typography.html:28468 #: zine/plugins/typography/templates/admin/typography.html:28 473 469 msgid "Use Common Character" 474 470 msgstr "Verwende häufige Zeichen" 475 471 476 #: textpress/plugins/typography/templates/admin/typography.html:35 477 #: textpress/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:20 478 #: textpress/plugins/xapian_search/templates/admin/configure_xapian_search.html:14 479 #: textpress/templates/admin/basic_options.html:70 480 #: textpress/templates/admin/cache.html:107 481 #: textpress/templates/admin/configuration.html:42 482 #: textpress/templates/admin/edit_comment.html:59 483 #: textpress/templates/admin/edit_post.html:99 484 #: textpress/templates/admin/edit_tag.html:20 485 #: textpress/templates/admin/edit_user.html:66 486 #: textpress/templates/admin/pages_config.html:23 487 #: textpress/templates/admin/url_options.html:24 488 #: textpress/templates/admin/write_page.html:51 489 #: textpress/templates/admin/file_uploads/config.html:48 472 #: zine/plugins/typography/templates/admin/typography.html:35 473 #: zine/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:20 474 #: zine/plugins/xapian_search/templates/admin/configure_xapian_search.html:14 475 #: zine/templates/admin/basic_options.html:70 476 #: zine/templates/admin/cache.html:107 477 #: zine/templates/admin/configuration.html:42 478 #: zine/templates/admin/edit_comment.html:59 479 #: zine/templates/admin/edit_post.html:99 zine/templates/admin/edit_tag.html:20 480 #: zine/templates/admin/edit_user.html:66 481 #: zine/templates/admin/pages_config.html:23 482 #: zine/templates/admin/url_options.html:24 483 #: zine/templates/admin/write_page.html:51 484 #: zine/templates/admin/file_uploads/config.html:48 490 485 msgid "Save" 491 486 msgstr "Speichern" 492 487 493 #: textpress/plugins/vessel_theme/__init__.py:21488 #: zine/plugins/vessel_theme/__init__.py:21 494 489 msgid "Blue" 495 490 msgstr "Blau" 496 491 497 #: textpress/plugins/vessel_theme/__init__.py:22492 #: zine/plugins/vessel_theme/__init__.py:22 498 493 msgid "Gray" 499 494 msgstr "Grau" 500 495 501 #: textpress/plugins/vessel_theme/__init__.py:23496 #: zine/plugins/vessel_theme/__init__.py:23 502 497 msgid "Green" 503 498 msgstr "Grün" 504 499 505 #: textpress/plugins/vessel_theme/__init__.py:39500 #: zine/plugins/vessel_theme/__init__.py:39 506 501 msgid "Color variation changed successfully." 507 502 msgstr "Farbvariation wurde erfolgreich geändert." 508 503 509 #: textpress/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:2510 #: textpress/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:4504 #: zine/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:2 505 #: zine/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:4 511 506 msgid "Configure Vessel Theme" 512 507 msgstr "Vessel Thema Konfigurieren" 513 508 514 #: textpress/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:5509 #: zine/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:5 515 510 msgid "" 516 511 "\n" … … 523 518 " " 524 519 525 #: textpress/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:10520 #: zine/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:10 526 521 msgid "Color Variation" 527 522 msgstr "Farbvariation" 528 523 529 #: textpress/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:21 530 #: textpress/plugins/xapian_search/templates/admin/configure_xapian_search.html:15 531 #: textpress/templates/admin/change_password.html:17 532 #: textpress/templates/admin/edit_comment.html:61 533 #: textpress/templates/admin/edit_post.html:104 534 #: textpress/templates/admin/edit_tag.html:22 535 #: textpress/templates/admin/edit_user.html:71 536 #: textpress/templates/admin/inspect_import.html:85 537 #: textpress/templates/admin/write_page.html:55 524 #: zine/plugins/vessel_theme/templates/admin/configure_vessel_theme.html:21 525 #: zine/plugins/xapian_search/templates/admin/configure_xapian_search.html:15 526 #: zine/templates/admin/change_password.html:17 527 #: zine/templates/admin/edit_comment.html:61 528 #: zine/templates/admin/edit_post.html:104 529 #: zine/templates/admin/edit_tag.html:22 zine/templates/admin/edit_user.html:71 530 #: zine/templates/admin/inspect_import.html:85 531 #: zine/templates/admin/write_page.html:55 538 532 msgid "Cancel" 539 533 msgstr "Abbrechen" 540 534 541 #: textpress/plugins/xapian_search/__init__.py:72535 #: zine/plugins/xapian_search/__init__.py:72 542 536 msgid "Search settings changed successfully." 543 537 msgstr "Sucheinstellungen wurden erfolgreich geändert." 544 538 545 #: textpress/plugins/xapian_search/__init__.py:93546 #: textpress/plugins/xapian_search/templates/widgets/quicksearch.html:5539 #: zine/plugins/xapian_search/__init__.py:93 540 #: zine/plugins/xapian_search/templates/widgets/quicksearch.html:5 547 541 msgid "Search" 548 542 msgstr "Suche" 549 543 550 #: textpress/plugins/xapian_search/__init__.py:112544 #: zine/plugins/xapian_search/__init__.py:112 551 545 msgid "Search index update failed. Please check the path in the settings menu." 552 546 msgstr "" … … 554 548 "die Einstellungen." 555 549 556 #: textpress/plugins/xapian_search/__init__.py:134550 #: zine/plugins/xapian_search/__init__.py:134 557 551 msgid "" 558 552 "Invalid stemming language. Stemming is disabled. Please check your " … … 562 556 " die Einstellungen." 563 557 564 #: textpress/plugins/xapian_search/templates/search_results.html:6558 #: zine/plugins/xapian_search/templates/search_results.html:6 565 559 msgid "Search Results for" 566 560 msgstr "Suchergebnisse für" 567 561 568 #: textpress/plugins/xapian_search/templates/admin/configure_xapian_search.html:2569 #: textpress/plugins/xapian_search/templates/admin/configure_xapian_search.html:4562 #: zine/plugins/xapian_search/templates/admin/configure_xapian_search.html:2 563 #: zine/plugins/xapian_search/templates/admin/configure_xapian_search.html:4 570 564 msgid "Configure Xapian Search" 571 565 msgstr "Xapian Suche Konfigurieren" 572 566 573 #: textpress/plugins/xapian_search/templates/admin/configure_xapian_search.html:7567 #: zine/plugins/xapian_search/templates/admin/configure_xapian_search.html:7 574 568 msgid "Database Path" 575 569 msgstr "Datenbank-Pfad" 576 570 577 #: textpress/plugins/xapian_search/templates/admin/configure_xapian_search.html:9571 #: zine/plugins/xapian_search/templates/admin/configure_xapian_search.html:9 578 572 msgid "Stemming Language" 579 573 msgstr "Stemming-Sprache" 580 574 581 #: textpress/shared/js/Admin.js:49575 #: zine/shared/js/Admin.js:49 582 576 msgid "Bookmarklet" 583 577 msgstr "Bookmarklet" 584 578 585 #: textpress/shared/js/Admin.js:51579 #: zine/shared/js/Admin.js:51 586 580 msgid "" 587 581 "Right click on the following link and choose \"Add to favorites\" or " … … 592 586 "das Erstellen von neuen Einträgen hinzuzufügen." 593 587 594 #: textpress/shared/js/Admin.js:55588 #: zine/shared/js/Admin.js:55 595 589 msgid "" 596 590 "Next time you visit an interesting page, just select some text and click " … … 601 595 "erstellten Bookmark." 602 596 603 #: textpress/shared/js/Admin.js:59597 #: zine/shared/js/Admin.js:59 604 598 msgid "Blog It!" 605 599 msgstr "Blogge Es!" 606 600 607 #: textpress/shared/js/Admin.js:61601 #: zine/shared/js/Admin.js:61 608 602 msgid "" 609 603 "Right click on this link and choose \"Add to favorites\" or \"Bookmark " … … 614 608 " von neuen Einträgen hinzuzufügen." 615 609 616 #: textpress/shared/js/Admin.js:79610 #: zine/shared/js/Admin.js:79 617 611 msgid "Finishing upload, stand by...." 618 612 msgstr "Daten wurden hochgeladen, bitte warten...." 619 613 620 #: textpress/shared/js/Admin.js:87614 #: zine/shared/js/Admin.js:87 621 615 msgid "Starting upload..." 622 616 msgstr "Upload wird gestartet..." 623 617 624 #: textpress/shared/js/TextPress.js:31618 #: zine/shared/js/TextPress.js:31 625 619 #, python-format 626 620 msgid "Replying to comment by %s." 627 621 msgstr "Antworte zu Kommentar von %s." 628 622 629 #: textpress/shared/js/TextPress.js:33623 #: zine/shared/js/TextPress.js:33 630 624 msgid "(Create as top level comment)" 631 625 msgstr "(Erstelle als top-level Kommentar)" 632 626 633 #: textpress/templates/403.html:5627 #: zine/templates/403.html:5 634 628 msgid "" 635 629 "\n" … … 641 635 " " 642 636 643 #: textpress/templates/404.html:2 textpress/templates/404.html:4637 #: zine/templates/404.html:2 zine/templates/404.html:4 644 638 msgid "Page Not Found" 645 639 msgstr "Seite nicht gefunden" 646 640 647 #: textpress/templates/404.html:5641 #: zine/templates/404.html:5 648 642 msgid "Sorry, the page you requested does not exist." 649 643 msgstr "Die gewünsche Seite wurde leider nicht gefunden." 650 644 651 #: textpress/templates/404.html:6645 #: zine/templates/404.html:6 652 646 msgid "" 653 647 "You may have followed a bad link or mis-typed a URL.\n" … … 658 652 " Das ist möglicherweise was passiert ist." 659 653 660 #: textpress/templates/404.html:8654 #: zine/templates/404.html:8 661 655 #, python-format 662 656 msgid "" … … 667 661 " in der <a href=\"%(index_link)s\">Übersicht</a> was du gesucht hast." 668 662 669 #: textpress/templates/_comment.html:6663 #: zine/templates/_comment.html:6 670 664 msgid "Pingback by" 671 665 msgstr "Pingback von" 672 666 673 #: textpress/templates/_comment.html:7667 #: zine/templates/_comment.html:7 674 668 msgid "Comment by" 675 669 msgstr "Kommentar von" 676 670 677 #: textpress/templates/_comment.html:14671 #: zine/templates/_comment.html:14 678 672 msgid "reply to this comment" 679 673 msgstr "antworte diesem Kommentar" 680 674 681 #: textpress/templates/_comment.html:28675 #: zine/templates/_comment.html:28 682 676 msgid "Name*" 683 677 msgstr "Name*" 684 678 685 #: textpress/templates/_comment.html:30679 #: zine/templates/_comment.html:30 686 680 msgid "Mail* (not published)" 687 681 msgstr "E-Mail* (nicht veröffentlicht)" 688 682 689 #: textpress/templates/_comment.html:32 690 #: textpress/templates/admin/edit_comment.html:23 691 #: textpress/templates/admin/edit_user.html:27 683 #: zine/templates/_comment.html:32 zine/templates/admin/edit_comment.html:23 684 #: zine/templates/admin/edit_user.html:27 692 685 msgid "Website" 693 686 msgstr "Webseite" 694 687 695 #: textpress/templates/_comment.html:41688 #: zine/templates/_comment.html:41 696 689 msgid "Could not Post Comment" 697 690 msgstr "Konnte Kommentar nicht absenden" 698 691 699 #: textpress/templates/_comment.html:49692 #: zine/templates/_comment.html:49 700 693 msgid "Submit Comment" 701 694 msgstr "Kommentar absenden" 702 695 703 #: textpress/templates/_comment.html:50696 #: zine/templates/_comment.html:50 704 697 msgid "Reset Form" 705 698 msgstr "Formular zurücksetzen" 706 699 707 #: textpress/templates/_post.html:5700 #: zine/templates/_post.html:5 708 701 #, python-format 709 702 msgid "written by %(author)s, on %(pub_date)s." 710 703 msgstr "geschrieben von %(author)s am %(pub_date)s." 711 704 712 #: textpress/templates/_post.html:17 textpress/templates/show_post.html:15705 #: zine/templates/_post.html:17 zine/templates/show_post.html:15 713 706 msgid "Tagged as" 714 707 msgstr "Markiert als" 715 708 716 #: textpress/templates/_post.html:22 textpress/templates/show_post.html:20709 #: zine/templates/_post.html:22 zine/templates/show_post.html:20 717 710 msgid "nothing" 718 711 msgstr "nichts" 719 712 720 #: textpress/templates/_post.html:27 textpress/templates/show_post.html:24 721 #: textpress/templates/admin/_comment.html:12 722 #: textpress/templates/admin/index.html:56 713 #: zine/templates/_post.html:27 zine/templates/show_post.html:24 714 #: zine/templates/admin/_comment.html:12 zine/templates/admin/index.html:56 723 715 msgid "Edit" 724 716 msgstr "Bearbeiten" 725 717 726 #: textpress/templates/archive.html:2 textpress/templates/archive.html:7727 #: textpress/templates/widgets/post_archive_summary.html:2718 #: zine/templates/archive.html:2 zine/templates/archive.html:7 719 #: zine/templates/widgets/post_archive_summary.html:2 728 720 msgid "Archive" 729 721 msgstr "Archiv" 730 722 731 #: textpress/templates/archive.html:13723 #: zine/templates/archive.html:13 732 724 msgid "empty archive" 733 725 msgstr "leeres Archiv" 734 726 735 #: textpress/templates/archive.html:18727 #: zine/templates/archive.html:18 736 728 #, python-format 737 729 msgid "Archive for %(year)s" 738 730 msgstr "Archiv für %(year)s" 739 731 740 #: textpress/templates/archive.html:20732 #: zine/templates/archive.html:20 741 733 #, python-format 742 734 msgid "Archive for %(month)s" 743 735 msgstr "Archiv für %(month)s" 744 736 745 #: textpress/templates/archive.html:22737 #: zine/templates/archive.html:22 746 738 #, python-format 747 739 msgid "Archive for %(day)s" 748 740 msgstr "Archiv für %(day)s" 749 741 750 #: textpress/templates/authors.html:2 textpress/templates/authors.html:4751 #: textpress/templates/admin/inspect_import.html:28742 #: zine/templates/authors.html:2 zine/templates/authors.html:4 743 #: zine/templates/admin/inspect_import.html:28 752 744 msgid "Authors" 753 745 msgstr "Authoren" 754 746 755 #: textpress/templates/index.html:2747 #: zine/templates/index.html:2 756 748 msgid "Index" 757 749 msgstr "Übersicht" 758 750 759 #: textpress/templates/index.html:8751 #: zine/templates/index.html:8 760 752 msgid "Welcome" 761 753 msgstr "Willkommen" 762 754 763 #: textpress/templates/index.html:10755 #: zine/templates/index.html:10 764 756 msgid "So far there are no posts in this blog." 765 757 msgstr "Bis jetzt gibt es keine Einträge in diesem Blog." 766 758 767 #: textpress/templates/page_base.html:7759 #: zine/templates/page_base.html:7 768 760 msgid "Children" 769 761 msgstr "Kinder" 770 762 771 #: textpress/templates/show_author.html:12763 #: zine/templates/show_author.html:12 772 764 msgid "Posts this user wrote" 773 765 msgstr "Einträge von diesem Benutzer" 774 766 775 #: textpress/templates/show_author.html:15767 #: zine/templates/show_author.html:15 776 768 #, python-format 777 769 msgid "%(post)s, on %(date)s" 778 770 msgstr "%(post)s, am %(date)s." 779 771 780 #: textpress/templates/show_post.html:7772 #: zine/templates/show_post.html:7 781 773 msgid "written by" 782 774 msgstr "geschrieben von" 783 775 784 #: textpress/templates/show_post.html:29 785 #: textpress/templates/admin/inspect_import.html:62 786 #: textpress/templates/admin/show_posts.html:21 textpress/views/admin.py:88 776 #: zine/templates/show_post.html:29 zine/templates/admin/inspect_import.html:62 777 #: zine/templates/admin/show_posts.html:21 zine/views/admin.py:88 787 778 msgid "Comments" 788 779 msgstr "Kommentare" 789 780 790 #: textpress/templates/show_post.html:48781 #: zine/templates/show_post.html:48 791 782 msgid "Leave a Reply" 792 783 msgstr "Hinterlasse eine Nachricht" 793 784 794 #: textpress/templates/show_tag.html:2785 #: zine/templates/show_tag.html:2 795 786 #, python-format 796 787 msgid "Show Tag \"%(tag)s\"" 797 788 msgstr "Zeige Markierung \"%(tag)s\"" 798 789 799 #: textpress/templates/show_tag.html:5790 #: zine/templates/show_tag.html:5 800 791 #, python-format 801 792 msgid "Entries tagged \"%(tag)s\"" 802 793 msgstr "Einträge als \"%(tag)s\" markiert" 803 794 804 #: textpress/templates/show_tag.html:12795 #: zine/templates/show_tag.html:12 805 796 msgid "No public posts found" 806 797 msgstr "Keine öffentlichen Beiträge gefunden" 807 798 808 #: textpress/templates/tag_cloud.html:8 809 #: textpress/templates/widgets/tagcloud.html:7 799 #: zine/templates/tag_cloud.html:8 zine/templates/widgets/tagcloud.html:7 810 800 #, python-format 811 801 msgid "%(count)s post tagged %(tag)s" … … 814 804 msgstr[1] "%(count)s Einträge markiert als %(tag)s" 815 805 816 #: textpress/templates/admin/_comment.html:14 817 #: textpress/templates/admin/edit_comment.html:60 818 #: textpress/templates/admin/edit_post.html:102 819 #: textpress/templates/admin/edit_tag.html:21 820 #: textpress/templates/admin/edit_user.html:69 821 #: textpress/templates/admin/index.html:58 822 #: textpress/templates/admin/inspect_import.html:84 823 #: textpress/templates/admin/show_comments.html:22 824 #: textpress/templates/admin/write_page.html:53 825 #: textpress/templates/admin/file_uploads/browse.html:19 806 #: zine/templates/admin/_comment.html:14 807 #: zine/templates/admin/edit_comment.html:60 808 #: zine/templates/admin/edit_post.html:102 809 #: zine/templates/admin/edit_tag.html:21 zine/templates/admin/edit_user.html:69 810 #: zine/templates/admin/index.html:58 811 #: zine/templates/admin/inspect_import.html:84 812 #: zine/templates/admin/show_comments.html:22 813 #: zine/templates/admin/write_page.html:53 814 #: zine/templates/admin/file_uploads/browse.html:19 826 815 msgid "Delete" 827 816 msgstr "Löschen" 828 817 829 #: textpress/templates/admin/_comment.html:16818 #: zine/templates/admin/_comment.html:16 830 819 msgid "Not Spam" 831 820 msgstr "Kein Spam" 832 821 833 #: textpress/templates/admin/_comment.html:19 834 #: textpress/templates/admin/index.html:60 835 #: textpress/templates/admin/show_comments.html:21 822 #: zine/templates/admin/_comment.html:19 zine/templates/admin/index.html:60 823 #: zine/templates/admin/show_comments.html:21 836 824 msgid "Approve" 837 825 msgstr "Bestätigen" 838 826 839 #: textpress/templates/admin/_comment.html:22827 #: zine/templates/admin/_comment.html:22 840 828 msgid "Block" 841 829 msgstr "Blocken" 842 830 843 #: textpress/templates/admin/about_textpress.html:2844 #: textpress/templates/admin/about_textpress.html:4845 msgid "About TextPress"846 msgstr "Über TextPress"847 848 #: textpress/templates/admin/about_textpress.html:6849 msgid "" 850 "\n" 851 " TextPress is an open source content publishing platform emphasizing"852 " ease\n"831 #: zine/templates/admin/about_textpress.html:2 832 #: zine/templates/admin/about_textpress.html:4 833 msgid "About Zine" 834 msgstr "Über Zine" 835 836 #: zine/templates/admin/about_textpress.html:6 837 msgid "" 838 "\n" 839 " Zine is an open source content publishing platform emphasizing ease" 840 "\n" 853 841 " of use and extensibility. It provides an powerful internal " 854 842 "infrastructure,\n" … … 857 845 msgstr "" 858 846 "\n" 859 " TextPressist eine Plattform für das Veröffentlichen von Inhalten\n"847 " Zine ist eine Plattform für das Veröffentlichen von Inhalten\n" 860 848 " mit Benutzerfreundlichkeit und Erweiterbarbeit als Schwerpunkten.\n" 861 849 " Es verfügt über eine umfangreiche interne Infrastruktur und einer\n" … … 863 851 " " 864 852 865 #: textpress/templates/admin/about_textpress.html:11 866 msgid "" 867 "\n" 868 " TextPress is distributed under the GNU GPL 2 or any later version. " 869 "The\n" 853 #: zine/templates/admin/about_textpress.html:11 854 msgid "" 855 "\n" 856 " Zine is distributed under the GNU GPL 2 or any later version. The\n" 870 857 " complete text of the license can be found online as well as in the " 871 858 "LICENSE\n" … … 874 861 msgstr "" 875 862 "\n" 876 " TextPresswird under der GNU GPL 2 oder einer späteren Version"863 " Zine wird under der GNU GPL 2 oder einer späteren Version" 877 864 " vertrieben. Der komplette Lizenztext kann online gefunden werden," 878 865 "\n" … … 881 868 " " 882 869 883 #: textpress/templates/admin/about_textpress.html:16870 #: zine/templates/admin/about_textpress.html:16 884 871 #, python-format 885 872 msgid "© Copyright %(years)s by the Pocoo Team. Some rights reserved." 886 873 msgstr "© Copyright %(years)s by the Pocoo Team. Some rights reserved." 887 874 888 #: textpress/templates/admin/approve_comment.html:2889 #: textpress/templates/admin/approve_comment.html:4875 #: zine/templates/admin/approve_comment.html:2 876 #: zine/templates/admin/approve_comment.html:4 890 877 msgid "Approve Comment" 891 878 msgstr "Kommentar akzeptieren" 892 879 893 #: textpress/templates/admin/approve_comment.html:8880 #: zine/templates/admin/approve_comment.html:8 894 881 #, python-format 895 882 msgid "" … … 902 889 "akzeptieren?" 903 890 904 #: textpress/templates/admin/approve_comment.html:12905 #: textpress/templates/admin/block_comment.html:14906 #: textpress/templates/admin/delete_comment.html:11907 #: textpress/templates/admin/delete_comments.html:11908 #: textpress/templates/admin/delete_import.html:11909 #: textpress/templates/admin/delete_page.html:10910 #: textpress/templates/admin/delete_post.html:18911 #: textpress/templates/admin/delete_tag.html:11912 #: textpress/templates/admin/delete_user.html:28913 #: textpress/templates/admin/remove_plugin.html:12914 #: textpress/templates/admin/unblock_comment.html:12915 #: textpress/templates/admin/file_uploads/delete.html:13891 #: zine/templates/admin/approve_comment.html:12 892 #: zine/templates/admin/block_comment.html:14 893 #: zine/templates/admin/delete_comment.html:11 894 #: zine/templates/admin/delete_comments.html:11 895 #: zine/templates/admin/delete_import.html:11 896 #: zine/templates/admin/delete_page.html:10 897 #: zine/templates/admin/delete_post.html:18 898 #: zine/templates/admin/delete_tag.html:11 899 #: zine/templates/admin/delete_user.html:28 900 #: zine/templates/admin/remove_plugin.html:12 901 #: zine/templates/admin/unblock_comment.html:12 902 #: zine/templates/admin/file_uploads/delete.html:13 916 903 msgid "No" 917 904 msgstr "Nein" 918 905 919 #: textpress/templates/admin/approve_comment.html:13920 #: textpress/templates/admin/block_comment.html:15921 #: textpress/templates/admin/delete_comment.html:12922 #: textpress/templates/admin/delete_comments.html:12923 #: textpress/templates/admin/delete_import.html:12924 #: textpress/templates/admin/delete_page.html:11925 #: textpress/templates/admin/delete_post.html:19926 #: textpress/templates/admin/delete_tag.html:12927 #: textpress/templates/admin/delete_user.html:29928 #: textpress/templates/admin/remove_plugin.html:13929 #: textpress/templates/admin/unblock_comment.html:13930 #: textpress/templates/admin/file_uploads/delete.html:14906 #: zine/templates/admin/approve_comment.html:13 907 #: zine/templates/admin/block_comment.html:15 908 #: zine/templates/admin/delete_comment.html:12 909 #: zine/templates/admin/delete_comments.html:12 910 #: zine/templates/admin/delete_import.html:12 911 #: zine/templates/admin/delete_page.html:11 912 #: zine/templates/admin/delete_post.html:19 913 #: zine/templates/admin/delete_tag.html:12 914 #: zine/templates/admin/delete_user.html:29 915 #: zine/templates/admin/remove_plugin.html:13 916 #: zine/templates/admin/unblock_comment.html:13 917 #: zine/templates/admin/file_uploads/delete.html:14 931 918 msgid "Yes" 932 919 msgstr "Ja" 933 920 934 #: textpress/templates/admin/basic_options.html:2935 #: textpress/templates/admin/basic_options.html:4921 #: zine/templates/admin/basic_options.html:2 922 #: zine/templates/admin/basic_options.html:4 936 923 msgid "Basic Options" 937 924 msgstr "Grundeinstellungen" 938 925 939 #: textpress/templates/admin/basic_options.html:5926 #: zine/templates/admin/basic_options.html:5 940 927 msgid "" 941 928 "\n" … … 949 936 " " 950 937 951 #: textpress/templates/admin/basic_options.html:11952 #: textpress/templates/admin/inspect_import.html:16938 #: zine/templates/admin/basic_options.html:11 939 #: zine/templates/admin/inspect_import.html:16 953 940 msgid "Blog Title" 954 941 msgstr "Blog Titel" 955 942 956 #: textpress/templates/admin/basic_options.html:13943 #: zine/templates/admin/basic_options.html:13 957 944 msgid "Blog Tagline" 958 945 msgstr "Blog Tagline" 959 946 960 #: textpress/templates/admin/basic_options.html:15947 #: zine/templates/admin/basic_options.html:15 961 948 msgid "Blog E-Mail" 962 949 msgstr "Blog E-Mail" 963 950 964 #: textpress/templates/admin/basic_options.html:17965 #: textpress/templates/admin/inspect_import.html:20951 #: zine/templates/admin/basic_options.html:17 952 #: zine/templates/admin/inspect_import.html:20 966 953 msgid "Language" 967 954 msgstr "Sprache" 968 955 969 #: textpress/templates/admin/basic_options.html:24956 #: zine/templates/admin/basic_options.html:24 970 957 msgid "Timezone" 971 958 msgstr "Zeitzone" 972 959 973 #: textpress/templates/admin/basic_options.html:31960 #: zine/templates/admin/basic_options.html:31 974 961 msgid "Cookie Name" 975 962 msgstr "Cookie Name" 976 963 977 #: textpress/templates/admin/basic_options.html:33964 #: zine/templates/admin/basic_options.html:33 978 965 msgid "Comments Enabled" 979 966 msgstr "Kommentare aktivieren" 980 967 981 #: textpress/templates/admin/basic_options.html:35968 #: zine/templates/admin/basic_options.html:35 982 969 msgid "enable comments per default" 983 970 msgstr "aktiviere Kommentare standardmäßig" 984 971 985 #: textpress/templates/admin/basic_options.html:36972 #: zine/templates/admin/basic_options.html:36 986 973 msgid "Comment Moderation" 987 974 msgstr "Kommentar Moderation" 988 975 989 #: textpress/templates/admin/basic_options.html:38976 #: zine/templates/admin/basic_options.html:38 990 977 msgid "Automatically approve all commments" 991 978 msgstr "Automatisch alle Kommentare bestätigen" 992 979 993 #: textpress/templates/admin/basic_options.html:39980 #: zine/templates/admin/basic_options.html:39 994 981 msgid "An administrator must always approve the comment" 995 982 msgstr "Ein Administrator muss Kommentare immer bestätigen" 996 983 997 #: textpress/templates/admin/basic_options.html:40984 #: zine/templates/admin/basic_options.html:40 998 985 msgid "Automatically approve comments by known comment authors" 999 986 msgstr "Automatisch Kommentare von bekannten Autoren bestätigen" 1000 987 1001 #: textpress/templates/admin/basic_options.html:46988 #: zine/templates/admin/basic_options.html:46 1002 989 msgid "Pingbacks Enabled" 1003 990 msgstr "Pingbacks aktivieren" 1004 991 1005 #: textpress/templates/admin/basic_options.html:48992 #: zine/templates/admin/basic_options.html:48 1006 993 msgid "enable pingbacks per default" 1007 994 msgstr "aktiviere Pingbacks standardmäßig" 1008 995 1009 #: textpress/templates/admin/basic_options.html:49996 #: zine/templates/admin/basic_options.html:49 1010 997 msgid "Use Flat Comments" 1011 998 msgstr "Flache Kommentare" 1012 999 1013 #: textpress/templates/admin/basic_options.html:511000 #: zine/templates/admin/basic_options.html:51 1014 1001 msgid "use flat comments" 1015 1002 msgstr "flache Kommentare verwenden" 1016 1003 1017 #: textpress/templates/admin/basic_options.html:521004 #: zine/templates/admin/basic_options.html:52 1018 1005 msgid "Default Parser" 1019 1006 msgstr "Standard Parser" 1020 1007 1021 #: textpress/templates/admin/basic_options.html:591008 #: zine/templates/admin/basic_options.html:59 1022 1009 msgid "Comment Parser" 1023 1010 msgstr "Kommentar-Parser" 1024 1011 1025 #: textpress/templates/admin/basic_options.html:661012 #: zine/templates/admin/basic_options.html:66 1026 1013 msgid "Posts Per Page" 1027 1014 msgstr "Einträge pro Seite" 1028 1015 1029 #: textpress/templates/admin/block_comment.html:21030 #: textpress/templates/admin/block_comment.html:41031 #: textpress/templates/admin/edit_comment.html:501016 #: zine/templates/admin/block_comment.html:2 1017 #: zine/templates/admin/block_comment.html:4 1018 #: zine/templates/admin/edit_comment.html:50 1032 1019 msgid "Block Comment" 1033 1020 msgstr "Kommentare blocken" 1034 1021 1035 #: textpress/templates/admin/block_comment.html:81022 #: zine/templates/admin/block_comment.html:8 1036 1023 #, python-format 1037 1024 msgid "" … … 1044 1031 " blocken? " 1045 1032 1046 #: textpress/templates/admin/blogger_perform_import.html:21047 #: textpress/templates/admin/blogger_perform_import.html:41048 #: textpress/templates/admin/perform_import.html:21049 #: textpress/templates/admin/perform_import.html:41033 #: zine/templates/admin/blogger_perform_import.html:2 1034 #: zine/templates/admin/blogger_perform_import.html:4 1035 #: zine/templates/admin/perform_import.html:2 1036 #: zine/templates/admin/perform_import.html:4 1050 1037 msgid "Importing..." 1051 1038 msgstr "Importieren..." 1052 1039 1053 #: textpress/templates/admin/blogger_perform_import.html:51040 #: zine/templates/admin/blogger_perform_import.html:5 1054 1041 msgid "" 1055 1042 "\n" … … 1065 1052 " " 1066 1053 1067 #: textpress/templates/admin/blogger_perform_import.html:111054 #: zine/templates/admin/blogger_perform_import.html:11 1068 1055 msgid "" 1069 1056 "\n" … … 1076 1063 " " 1077 1064 1078 #: textpress/templates/admin/blogger_perform_import.html:151065 #: zine/templates/admin/blogger_perform_import.html:15 1079 1066 msgid "Import review page" 1080 1067 msgstr "Import-Überprüfung" 1081 1068 1082 #: textpress/templates/admin/cache.html:2 1083 #: textpress/templates/admin/cache.html:4 1069 #: zine/templates/admin/cache.html:2 zine/templates/admin/cache.html:4 1084 1070 msgid "Cache Options" 1085 1071 msgstr "Cache Einstellungen" 1086 1072 1087 #: textpress/templates/admin/cache.html:5 1088 msgid "" 1089 "\n" 1090 " TextPress comes with a cache system that allows you to survive a " 1091 "sudden\n" 1073 #: zine/templates/admin/cache.html:5 1074 msgid "" 1075 "\n" 1076 " Zine comes with a cache system that allows you to survive a sudden\n" 1092 1077 " storm of visitors. The caching system has different backends you can" 1093 1078 "\n" … … 1098 1083 msgstr "" 1099 1084 "\n" 1100 " TextPress verfügt über ein Cache System, dass es dir erlaubt einen" 1101 " plötzlichen Besucherstrom zu bewältigen. Das Cache System hat " 1102 "mehrere Backends von denen du wählen kannst, je nach dem wie dein " 1103 "Server konfiguriert ist und wie viele Besucher du erwartest.\n" 1104 " " 1105 1106 #: textpress/templates/admin/cache.html:11 1085 " Zine bringt ein ausgeklügeltes Caching System mit, dass es dir\n" 1086 " erlaubt einen plötzlichen Besuchersturm zu bewältigen. Das Cache\n" 1087 " System hat verschiedene Backends von denen du wählen kannst." 1088 " " 1089 1090 #: zine/templates/admin/cache.html:11 1107 1091 msgid "" 1108 1092 "\n" … … 1120 1104 " " 1121 1105 1122 #: textpress/templates/admin/cache.html:281106 #: zine/templates/admin/cache.html:28 1123 1107 msgid "Cache System" 1124 1108 msgstr "Cache System" 1125 1109 1126 #: textpress/templates/admin/cache.html:291127 msgid "Current TextPresssupports three caching systems:"1128 msgstr "Momentan unterstützt TextPressdie folgenden drei Cache Systeme:"1129 1130 #: textpress/templates/admin/cache.html:311110 #: zine/templates/admin/cache.html:29 1111 msgid "Current Zine supports three caching systems:" 1112 msgstr "Momentan unterstützt Zine die folgenden drei Cache Systeme:" 1113 1114 #: zine/templates/admin/cache.html:31 1131 1115 msgid "" 1132 1116 "<strong>Simple Cache</strong>: The simple cache is a very\n" … … 1148 1132 " verwenden kannst solltest du den einfachen Cache nicht nutzen." 1149 1133 1150 #: textpress/templates/admin/cache.html:371134 #: zine/templates/admin/cache.html:37 1151 1135 msgid "" 1152 1136 "<strong>memcached</strong>: This cache system uses one\n" … … 1161 1145 " ist besonders für Seiten mit vielen Besuchern sinnvoll." 1162 1146 1163 #: textpress/templates/admin/cache.html:411147 #: zine/templates/admin/cache.html:41 1164 1148 msgid "" 1165 1149 "<strong>Filesystem</strong>: This cache system stores the\n" … … 1175 1159 "meisten Fällen sollte das Dateisystem jedoch schnell genug sein." 1176 1160 1177 #: textpress/templates/admin/cache.html:461161 #: zine/templates/admin/cache.html:46 1178 1162 msgid "Per default no cache system is active." 1179 1163 msgstr "Standardmäßig ist kein Cache System aktiv." 1180 1164 1181 #: textpress/templates/admin/cache.html:511165 #: zine/templates/admin/cache.html:51 1182 1166 msgid "Memcached Options" 1183 1167 msgstr "Memcached Einstellungen" 1184 1168 1185 #: textpress/templates/admin/cache.html:521169 #: zine/templates/admin/cache.html:52 1186 1170 msgid "" 1187 1171 "\n" … … 1212 1196 " " 1213 1197 1214 #: textpress/templates/admin/cache.html:611198 #: zine/templates/admin/cache.html:61 1215 1199 msgid "" 1216 1200 "\n" … … 1229 1213 " " 1230 1214 1231 #: textpress/templates/admin/cache.html:701215 #: zine/templates/admin/cache.html:70 1232 1216 msgid "Filesystem Options" 1233 1217 msgstr "Dateisystem Optionen" 1234 1218 1235 #: textpress/templates/admin/cache.html:71 1236 msgid "" 1237 "\n" 1238 " When using the filesystem cache you can control where TextPress " 1239 "puts\n" 1240 " all the cache data. This path is relative to your TextPress " 1241 "instance\n" 1242 " folder and will be created automatically by TextPress. Keep in " 1243 "mind\n" 1219 #: zine/templates/admin/cache.html:71 1220 msgid "" 1221 "\n" 1222 " When using the filesystem cache you can control where Zine puts\n" 1223 " all the cache data. This path is relative to your Zine instance\n" 1224 " folder and will be created automatically by Zine. Keep in mind\n" 1244 1225 " that if you change that path and old cache data is left in the " 1245 1226 "old\n" 1246 " folder, TextPresswon't clean up the data left for you.\n"1227 " folder, Zine won't clean up the data left for you.\n" 1247 1228 " " 1248 1229 msgstr "" 1249 1230 "\n" 1250 " Wenn du das Dateisystem für Caching nutz kannst du hier den\n" 1251 " Speicherort für die Cache Dateien angeben. Dieser Pfad ist realtiv\n" 1252 " zum Instanzordner deiner TextPress installation und wird automatisch\n" 1253 " von TextPress erstellt. Beachte bitte, dass bei Pfadänderungen weder" 1254 "\n" 1255 " der alte Cache Ordner noch die Dateien darin gelöscht werden.\n" 1256 " " 1257 1258 #: textpress/templates/admin/cache.html:78 1231 " Wenn der Dateisystem Cache verwendet ist kannst du einen Pfad\n" 1232 " angeben in dem Zine die die Daten ablegt. Beachte bitte, dass\n" 1233 " das Ändern des Pfades die alten Cache Dateien in diesem Ordner\n" 1234 " nicht automatisch löscht." 1235 " " 1236 1237 #: zine/templates/admin/cache.html:78 1259 1238 msgid "" 1260 1239 "\n" 1261 1240 " One thing you have to keep in mind is that the cache path " 1262 1241 "<em>must</em>\n" 1263 " be a directory that only TextPress uses for file management. The" 1264 "\n" 1265 " TextPress code cleans up there from time to time and it could " 1266 "delete\n" 1267 " files that are otherwise not tracked by TextPress. This is " 1268 "especially\n" 1242 " be a directory that only Zine uses for file management. The\n" 1243 " Zine code cleans up there from time to time and it could delete\n" 1244 " files that are otherwise not tracked by Zine. This is especially" 1245 "\n" 1269 1246 " the case if you try to cache into <code>/tmp</code> or a similar\n" 1270 1247 " folder where all kinds of applications put temporary files in.\n" … … 1273 1250 "\n" 1274 1251 " Außerdem muss beachtet werden, dass der Cache Pfad ausschließlich\n" 1275 " von TextPressfür Dateien verwendet wird. TextPress wird von Zeit\n"1252 " von Zine für Dateien verwendet wird. TextPress wird von Zeit\n" 1276 1253 " zu Zeit den Cache leeren und würde ohne Nachfrage alle Dateien in\n" 1277 1254 " diesem Ordner löschen. Nutze also nicht einfach nur " … … 1280 1257 " " 1281 1258 1282 #: textpress/templates/admin/cache.html:891259 #: zine/templates/admin/cache.html:89 1283 1260 msgid "General Cache Settings" 1284 1261 msgstr "Generelle Cache Einstellungen" 1285 1262 1286 #: textpress/templates/admin/cache.html:901263 #: zine/templates/admin/cache.html:90 1287 1264 msgid "" 1288 1265 "\n" … … 1313 1290 " " 1314 1291 1315 #: textpress/templates/admin/cache.html:1001292 #: zine/templates/admin/cache.html:100 1316 1293 msgid "Default cache timeout" 1317 1294 msgstr "Standardmäßiger Timeout" 1318 1295 1319 #: textpress/templates/admin/cache.html:1021296 #: zine/templates/admin/cache.html:102 1320 1297 msgid "Enable eager caching" 1321 1298 msgstr "Eager caching aktivieren" 1322 1299 1323 #: textpress/templates/admin/cache.html:1041300 #: zine/templates/admin/cache.html:104 1324 1301 msgid "enable" 1325 1302 msgstr "aktivieren" 1326 1303 1327 #: textpress/templates/admin/cache.html:1081304 #: zine/templates/admin/cache.html:108 1328 1305 msgid "Clear Cache" 1329 1306 msgstr "Cache leeren" 1330 1307 1331 #: textpress/templates/admin/change_password.html:21332 #: textpress/templates/admin/change_password.html:41333 #: textpress/templates/admin/change_password.html:161334 #: textpress/templates/admin/layout.html:151308 #: zine/templates/admin/change_password.html:2 1309 #: zine/templates/admin/change_password.html:4 1310 #: zine/templates/admin/change_password.html:16 1311 #: zine/templates/admin/layout.html:15 1335 1312 msgid "Change Password" 1336 1313 msgstr "Passwort ändern" 1337 1314 1338 #: textpress/templates/admin/change_password.html:71315 #: zine/templates/admin/change_password.html:7 1339 1316 msgid "Old Password" 1340 1317 msgstr "Altes Passwort" 1341 1318 1342 #: textpress/templates/admin/change_password.html:91319 #: zine/templates/admin/change_password.html:9 1343 1320 msgid "New Password" 1344 1321 msgstr "Neues Passwort" 1345 1322 1346 #: textpress/templates/admin/change_password.html:111323 #: zine/templates/admin/change_password.html:11 1347 1324 msgid "Repeat" 1348 1325 msgstr "Wiederholen" 1349 1326 1350 #: textpress/templates/admin/configuration.html:21351 #: textpress/templates/admin/configuration.html:4 textpress/views/admin.py:1251327 #: zine/templates/admin/configuration.html:2 1328 #: zine/templates/admin/configuration.html:4 zine/views/admin.py:140 1352 1329 msgid "Configuration Editor" 1353 1330 msgstr "Konfigurationseditor" 1354 1331 1355 #: textpress/templates/admin/configuration.html:51332 #: zine/templates/admin/configuration.html:5 1356 1333 msgid "" 1357 1334 "\n" … … 1383 1360 " " 1384 1361 1385 #: textpress/templates/admin/configuration.html:241362 #: zine/templates/admin/configuration.html:24 1386 1363 msgid "True" 1387 1364 msgstr "Wahr" 1388 1365 1389 #: textpress/templates/admin/configuration.html:251366 #: zine/templates/admin/configuration.html:25 1390 1367 msgid "False" 1391 1368 msgstr "Falsch" 1392 1369 1393 #: textpress/templates/admin/configuration.html:431370 #: zine/templates/admin/configuration.html:43 1394 1371 msgid "Disable Editor" 1395 1372 msgstr "Editor deaktivieren" 1396 1373 1397 #: textpress/templates/admin/configuration.html:461374 #: zine/templates/admin/configuration.html:46 1398 1375 msgid "" 1399 1376 "\n" … … 1409 1386 " " 1410 1387 1411 #: textpress/templates/admin/configuration.html:521388 #: zine/templates/admin/configuration.html:52 1412 1389 msgid "Enable Editor" 1413 1390 msgstr "Editor aktivieren" 1414 1391 1415 #: textpress/templates/admin/delete_comment.html:21416 #: textpress/templates/admin/delete_comment.html:41392 #: zine/templates/admin/delete_comment.html:2 1393 #: zine/templates/admin/delete_comment.html:4 1417 1394 msgid "Delete Comment" 1418 1395 msgstr "Kommentar löschen" 1419 1396 1420 #: textpress/templates/admin/delete_comment.html:81397 #: zine/templates/admin/delete_comment.html:8 1421 1398 #, python-format 1422 1399 msgid "" … … 1429 1406 " " 1430 1407 1431 #: textpress/templates/admin/delete_comments.html:21432 #: textpress/templates/admin/delete_comments.html:41408 #: zine/templates/admin/delete_comments.html:2 1409 #: zine/templates/admin/delete_comments.html:4 1433 1410 msgid "Delete Comments" 1434 1411 msgstr "Kommentare löschen" 1435 1412 1436 #: textpress/templates/admin/delete_comments.html:81413 #: zine/templates/admin/delete_comments.html:8 1437 1414 msgid "Do you really want to delete the selected comments?" 1438 1415 msgstr "Möchtest du wirklich die ausgewählten Kommentare löschen?" 1439 1416 1440 #: textpress/templates/admin/delete_import.html:21441 #: textpress/templates/admin/delete_import.html:41417 #: zine/templates/admin/delete_import.html:2 1418 #: zine/templates/admin/delete_import.html:4 1442 1419 msgid "Delete Import Dump" 1443 1420 msgstr "Import-Dump löschen" 1444 1421 1445 #: textpress/templates/admin/delete_import.html:71422 #: zine/templates/admin/delete_import.html:7 1446 1423 #, python-format 1447 1424 msgid "" … … 1455 1432 " " 1456 1433 1457 #: textpress/templates/admin/delete_page.html:21458 #: textpress/templates/admin/delete_page.html:41434 #: zine/templates/admin/delete_page.html:2 1435 #: zine/templates/admin/delete_page.html:4 1459 1436 msgid "Delete Page" 1460 1437 msgstr "Seite Löschen" 1461 1438 1462 #: textpress/templates/admin/delete_page.html:71439 #: zine/templates/admin/delete_page.html:7 1463 1440 #, python-format 1464 1441 msgid "" … … 1471 1448 " " 1472 1449 1473 #: textpress/templates/admin/delete_post.html:21474 #: textpress/templates/admin/delete_post.html:41450 #: zine/templates/admin/delete_post.html:2 1451 #: zine/templates/admin/delete_post.html:4 1475 1452 msgid "Delete Post" 1476 1453 msgstr "Eintrag löschen" 1477 1454 1478 #: textpress/templates/admin/delete_post.html:81455 #: zine/templates/admin/delete_post.html:8 1479 1456 #, python-format 1480 1457 msgid "" … … 1487 1464 " " 1488 1465 1489 #: textpress/templates/admin/delete_post.html:121466 #: zine/templates/admin/delete_post.html:12 1490 1467 #, python-format 1491 1468 msgid "" … … 1506 1483 " " 1507 1484 1508 #: textpress/templates/admin/delete_tag.html:21509 #: textpress/templates/admin/delete_tag.html:41485 #: zine/templates/admin/delete_tag.html:2 1486 #: zine/templates/admin/delete_tag.html:4 1510 1487 msgid "Delete Tag" 1511 1488 msgstr "Markierung löschen" 1512 1489 1513 #: textpress/templates/admin/delete_tag.html:81490 #: zine/templates/admin/delete_tag.html:8 1514 1491 #, python-format 1515 1492 msgid "" … … 1522 1499 " " 1523 1500 1524 #: textpress/templates/admin/delete_user.html:21525 #: textpress/templates/admin/delete_user.html:41501 #: zine/templates/admin/delete_user.html:2 1502 #: zine/templates/admin/delete_user.html:4 1526 1503 msgid "Delete User" 1527 1504 msgstr "Benutzer löschen" 1528 1505 1529 #: textpress/templates/admin/delete_user.html:71506 #: zine/templates/admin/delete_user.html:7 1530 1507 #, python-format 1531 1508 msgid "" … … 1538 1515 " " 1539 1516 1540 #: textpress/templates/admin/delete_user.html:111517 #: zine/templates/admin/delete_user.html:11 1541 1518 #, python-format 1542 1519 msgid "" … … 1558 1535 " " 1559 1536 1560 #: textpress/templates/admin/delete_user.html:181537 #: zine/templates/admin/delete_user.html:18 1561 1538 msgid "reassign to user" 1562 1539 msgstr "anderem Benutzer zuweisen" 1563 1540 1564 #: textpress/templates/admin/delete_user.html:251541 #: zine/templates/admin/delete_user.html:25 1565 1542 msgid "delete posts" 1566 1543 msgstr "Einträge löschen" 1567 1544 1568 #: textpress/templates/admin/edit_comment.html:21569 #: textpress/templates/admin/edit_comment.html:41545 #: zine/templates/admin/edit_comment.html:2 1546 #: zine/templates/admin/edit_comment.html:4 1570 1547 msgid "Edit Comment" 1571 1548 msgstr "Kommentar bearbeiten" 1572 1549 1573 #: textpress/templates/admin/edit_comment.html:191574 #: textpress/templates/admin/edit_user.html:231575 #: textpress/websetup/templates/admin_account.html:161550 #: zine/templates/admin/edit_comment.html:19 1551 #: zine/templates/admin/edit_user.html:23 1552 #: zine/websetup/templates/admin_account.html:16 1576 1553 msgid "E-Mail" 1577 1554 msgstr "E-Mail" 1578 1555 1579 #: textpress/templates/admin/edit_comment.html:331556 #: zine/templates/admin/edit_comment.html:33 1580 1557 msgid "Text" 1581 1558 msgstr "Text" 1582 1559 1583 #: textpress/templates/admin/edit_comment.html:371584 #: textpress/templates/admin/edit_post.html:581585 #: textpress/templates/admin/write_page.html:221560 #: zine/templates/admin/edit_comment.html:37 1561 #: zine/templates/admin/edit_post.html:58 1562 #: zine/templates/admin/write_page.html:22 1586 1563 msgid "Parser" 1587 1564 msgstr "Parser" 1588 1565 1589 #: textpress/templates/admin/edit_comment.html:461590 #: textpress/templates/admin/import.html:241591 #: textpress/templates/admin/inspect_import.html:591592 #: textpress/templates/admin/show_posts.html:221566 #: zine/templates/admin/edit_comment.html:46 1567 #: zine/templates/admin/import.html:24 1568 #: zine/templates/admin/inspect_import.html:59 1569 #: zine/templates/admin/show_posts.html:22 1593 1570 msgid "Date" 1594 1571 msgstr "Datum" 1595 1572 1596 #: textpress/templates/admin/edit_comment.html:521573 #: zine/templates/admin/edit_comment.html:52 1597 1574 msgid "block comment" 1598 1575 msgstr "Kommentar blocken" 1599 1576 1600 #: textpress/templates/admin/edit_comment.html:541577 #: zine/templates/admin/edit_comment.html:54 1601 1578 msgid "Block message" 1602 1579 msgstr "Nachricht blocken" 1603 1580 1604 #: textpress/templates/admin/edit_post.html:21605 #: textpress/templates/admin/edit_post.html:4 textpress/views/admin.py:851581 #: zine/templates/admin/edit_post.html:2 zine/templates/admin/edit_post.html:4 1582 #: zine/views/admin.py:85 1606 1583 msgid "Write Post" 1607 1584 msgstr "Eintrag schreiben" 1608 1585 1609 #: textpress/templates/admin/edit_post.html:81586 #: zine/templates/admin/edit_post.html:8 1610 1587 msgid "Your other draft:" 1611 1588 msgid_plural "Your other drafts:" … … 1613 1590 msgstr[1] "Deine anderen Entwürfe:" 1614 1591 1615 #: textpress/templates/admin/edit_post.html:111616 #: textpress/templates/admin/show_posts.html:71592 #: zine/templates/admin/edit_post.html:11 1593 #: zine/templates/admin/show_posts.html:7 1617 1594 msgid "Your draft:" 1618 1595 msgid_plural "Your drafts:" … … 1620 1597 msgstr[1] "Deine Entwürfe:" 1621 1598 1622 #: textpress/templates/admin/edit_post.html:261599 #: zine/templates/admin/edit_post.html:26 1623 1600 msgid "Post" 1624 1601 msgstr "Beitrag" 1625 1602 1626 #: textpress/templates/admin/edit_post.html:301603 #: zine/templates/admin/edit_post.html:30 1627 1604 msgid "Post Status" 1628 1605 msgstr "Status des Eintrages" 1629 1606 1630 #: textpress/templates/admin/edit_post.html:401607 #: zine/templates/admin/edit_post.html:40 1631 1608 msgid "Intro" 1632 1609 msgstr "Einleitung" 1633 1610 1634 #: textpress/templates/admin/edit_post.html:441635 #: textpress/templates/admin/show_posts.html:201636 #: textpress/templates/widgets/tagcloud.html:2 textpress/views/admin.py:861611 #: zine/templates/admin/edit_post.html:44 1612 #: zine/templates/admin/show_posts.html:20 1613 #: zine/templates/widgets/tagcloud.html:2 zine/views/admin.py:86 1637 1614 msgid "Tags" 1638 1615 msgstr "Markierungen" 1639 1616 1640 #: textpress/templates/admin/edit_post.html:461617 #: zine/templates/admin/edit_post.html:46 1641 1618 msgid "Add" 1642 1619 msgstr "Hinzufügen" 1643 1620 1644 #: textpress/templates/admin/edit_post.html:531621 #: zine/templates/admin/edit_post.html:53 1645 1622 msgid "no tags created yet" 1646 1623 msgstr "noch keine Markierungen vorhanden" 1647 1624 1648 #: textpress/templates/admin/edit_post.html:671625 #: zine/templates/admin/edit_post.html:67 1649 1626 msgid "Discussion" 1650 1627 msgstr "Diskussion" 1651 1628 1652 #: textpress/templates/admin/edit_post.html:701629 #: zine/templates/admin/edit_post.html:70 1653 1630 msgid "Allow comments" 1654 1631 msgstr "Kommentare erlauben" 1655 1632 1656 #: textpress/templates/admin/edit_post.html:721633 #: zine/templates/admin/edit_post.html:72 1657 1634 msgid "Allow pings" 1658 1635 msgstr "Pingbacks erlauben" 1659 1636 1660 #: textpress/templates/admin/edit_post.html:741637 #: zine/templates/admin/edit_post.html:74 1661 1638 msgid "Ping all URLs in the text" 1662 1639 msgstr "Alle URLs im Text pingen" 1663 1640 1664 #: textpress/templates/admin/edit_post.html:781641 #: zine/templates/admin/edit_post.html:78 1665 1642 msgid "Publication Date" 1666 1643 msgstr "Veröffentlichungsdatum" 1667 1644 1668 #: textpress/templates/admin/edit_post.html:821645 #: zine/templates/admin/edit_post.html:82 1669 1646 msgid "Post Slug" 1670 1647 msgstr "Eintrag URL-Bezeichner" 1671 1648 1672 #: textpress/templates/admin/edit_post.html:931649 #: zine/templates/admin/edit_post.html:93 1673 1650 msgid "View Post" 1674 1651 msgstr "Eintrag anzeigen" 1675 1652 1676 #: textpress/templates/admin/edit_post.html:1001677 #: textpress/templates/admin/edit_user.html:671653 #: zine/templates/admin/edit_post.html:100 1654 #: zine/templates/admin/edit_user.html:67 1678 1655 msgid "Save and continue editing" 1679 1656 msgstr "Speichern und bearbeiten forsetzen" 1680 1657 1681 #: textpress/templates/admin/edit_tag.html:2 1682 #: textpress/templates/admin/edit_tag.html:4 1658 #: zine/templates/admin/edit_tag.html:2 zine/templates/admin/edit_tag.html:4 1683 1659 msgid "Edit Tag" 1684 1660 msgstr "Tag bearbeiten" 1685 1661 1686 #: textpress/templates/admin/edit_tag.html:7 1687 #: textpress/templates/admin/show_tags.html:8 1662 #: zine/templates/admin/edit_tag.html:7 zine/templates/admin/show_tags.html:8 1688 1663 msgid "Slug" 1689 1664 msgstr "URL-Bezeichner" 1690 1665 1691 #: textpress/templates/admin/edit_tag.html:11 1692 #: textpress/templates/admin/information.html:80 1693 #: textpress/templates/admin/show_tags.html:9 1666 #: zine/templates/admin/edit_tag.html:11 zine/templates/admin/show_tags.html:9 1694 1667 msgid "Name" 1695 1668 msgstr "Name" 1696 1669 1697 #: textpress/templates/admin/edit_tag.html:15 1698 #: textpress/templates/admin/edit_user.html:50 1699 #: textpress/templates/admin/inspect_import.html:18 1700 #: textpress/templates/admin/plugins.html:17 1670 #: zine/templates/admin/edit_tag.html:15 zine/templates/admin/edit_user.html:50 1671 #: zine/templates/admin/inspect_import.html:18 1672 #: zine/templates/admin/plugins.html:17 1701 1673 msgid "Description" 1702 1674 msgstr "Beschreibung" 1703 1675 1704 #: textpress/templates/admin/edit_user.html:2 textpress/views/admin.py:1141676 #: zine/templates/admin/edit_user.html:2 zine/views/admin.py:114 1705 1677 msgid "Edit User" 1706 1678 msgstr "Benutzer bearbeiten" 1707 1679 1708 #: textpress/templates/admin/edit_user.html:21709 #: textpress/templates/admin/show_users.html:261680 #: zine/templates/admin/edit_user.html:2 1681 #: zine/templates/admin/show_users.html:26 1710 1682 msgid "New User" 1711 1683 msgstr "Neuer Benutzer" 1712 1684 1713 #: textpress/templates/admin/edit_user.html:71685 #: zine/templates/admin/edit_user.html:7 1714 1686 msgid "User created successfully" 1715 1687 msgstr "Benutzer wurde automatisch erstellt" 1716 1688 1717 #: textpress/templates/admin/edit_user.html:81689 #: zine/templates/admin/edit_user.html:8 1718 1690 #, python-format 1719 1691 msgid "" … … 1722 1694 msgstr "Der Benutzer %(username)s wurde erfolgreich erstellt." 1723 1695 1724 #: textpress/templates/admin/edit_user.html:101696 #: zine/templates/admin/edit_user.html:10 1725 1697 msgid "Hide message" 1726 1698 msgstr "Nachricht verstecken" 1727 1699 1728 #: textpress/templates/admin/edit_user.html:15 1729 #: textpress/templates/admin/login.html:19 1730 #: textpress/templates/admin/show_users.html:8 1731 #: textpress/websetup/templates/admin_account.html:10 1700 #: zine/templates/admin/edit_user.html:15 zine/templates/admin/login.html:19 1701 #: zine/templates/admin/show_users.html:8 1702 #: zine/websetup/templates/admin_account.html:10 1732 1703 msgid "Username" 1733 1704 msgstr "Benutzername" 1734 1705 1735 #: textpress/templates/admin/edit_user.html:19 1736 #: textpress/templates/admin/login.html:21 1737 #: textpress/websetup/templates/admin_account.html:12 1706 #: zine/templates/admin/edit_user.html:19 zine/templates/admin/login.html:21 1707 #: zine/websetup/templates/admin_account.html:12 1738 1708 msgid "Password" 1739 1709 msgstr "Passwort" 1740 1710 1741 #: textpress/templates/admin/edit_user.html:311711 #: zine/templates/admin/edit_user.html:31 1742 1712 msgid "First Name" 1743 1713 msgstr "Vorname" 1744 1714 1745 #: textpress/templates/admin/edit_user.html:351715 #: zine/templates/admin/edit_user.html:35 1746 1716 msgid "Last Name" 1747 1717 msgstr "Nachname" 1748 1718 1749 #: textpress/templates/admin/edit_user.html:401719 #: zine/templates/admin/edit_user.html:40 1750 1720 msgid "Display Name" 1751 1721 msgstr "Anzeigename" 1752 1722 1753 #: textpress/templates/admin/edit_user.html:551754 #: textpress/templates/admin/show_users.html:111723 #: zine/templates/admin/edit_user.html:55 1724 #: zine/templates/admin/show_users.html:11 1755 1725 msgid "Role" 1756 1726 msgstr "Rolle" 1757 1727 1758 #: textpress/templates/admin/export.html:2 1759 #: textpress/templates/admin/export.html:4 1760 #: textpress/templates/admin/export.html:17 textpress/views/admin.py:139 1728 #: zine/templates/admin/export.html:2 zine/templates/admin/export.html:4 1729 #: zine/templates/admin/export.html:17 zine/views/admin.py:138 1761 1730 msgid "Export" 1762 1731 msgstr "Exportieren" 1763 1732 1764 #: textpress/templates/admin/export.html:5 1765 msgid "" 1766 "\n" 1767 " Here you can dump your TextPress database information into an " 1768 "standardized\n" 1769 " format (Atom) with TextPress extensions which we call “TextPress " 1770 "eXtended\n" 1771 " Atom” (TPXA). You can use this file to import your posts into " 1733 #: zine/templates/admin/export.html:5 1734 msgid "" 1735 "\n" 1736 " Here you can dump your Zine database information into an standardized" 1737 "\n" 1738 " format (Atom) with Zine extensions which we call “Zine eXtended\n" 1739 " Atom” (ZineXA). You can use this file to import your posts into " 1772 1740 "another\n" 1773 1741 " weblog software that supports Atom. You should not use this file for" 1774 1742 "\n" 1775 " TextPress migrations as this file will not include attachments, the " 1776 "blog\n" 1743 " Zine migrations as this file will not include attachments, the blog\n" 1777 1744 " configuration and probably data stored by plugins.\n" 1778 1745 " " 1779 1746 msgstr "" 1780 1747 "\n" 1781 " Von hier aus kannst du deine TextPressDatenbank in ein "1748 " Von hier aus kannst du deine Zine Datenbank in ein " 1782 1749 "standardisiertes\n" 1783 " Format (Atom) mit TextPress Erweiterungen exportieren. Diese " 1784 "TextPress\n" 1785 " eXtended Atom (TPXA) Dateien kannst du nutzen um die Daten an andere\n" 1750 " Format (Atom) mit Zine Erweiterungen exportieren. Diese Zine\n" 1751 " eXtended Atom (ZineXA) Dateien kannst du nutzen um die Daten an andere\n" 1786 1752 " Weblog Anwendungen zu importieren. Du solltest diese Datei nicht " 1787 1753 "nutzen\n" … … 1789 1755 " " 1790 1756 1791 #: textpress/templates/admin/help.html:81757 #: zine/templates/admin/help.html:8 1792 1758 msgid "Table Of Contents" 1793 1759 msgstr "Inhaltsverzeichnis" 1794 1760 1795 #: textpress/templates/admin/import.html:2 1796 #: textpress/templates/admin/import.html:4 1797 #: textpress/templates/admin/import_blogger.html:41 1798 #: textpress/templates/admin/import_wordpress.html:22 1799 #: textpress/views/admin.py:138 1761 #: zine/templates/admin/import.html:2 zine/templates/admin/import.html:4 1762 #: zine/templates/admin/import_blogger.html:41 1763 #: zine/templates/admin/import_wordpress.html:22 zine/views/admin.py:137 1800 1764 msgid "Import" 1801 1765 msgstr "Importieren" 1802 1766 1803 #: textpress/templates/admin/import.html:51804 msgid "" 1805 "\n" 1806 " If you have posts or comments in another system, TextPress can import"1807 " those\n"1767 #: zine/templates/admin/import.html:5 1768 msgid "" 1769 "\n" 1770 " If you have posts or comments in another system, Zine can import " 1771 "those\n" 1808 1772 " into this blog. The data imported doesn't directly end up in the " 1809 1773 "blog but a\n" … … 1814 1778 msgstr "" 1815 1779 "\n" 1816 " Wenn du posts oder Kommentare in anderen Systemen hast kann TextPress\n"1780 " Wenn du posts oder Kommentare in anderen Systemen hast kann Zine\n" 1817 1781 " diese in dein Blog importieren. Die importierten Daten werden nicht\n" 1818 1782 " direkt in das Blog importiert, sondern in eine separate Datei von wo\n" … … 1821 1785 " " 1822 1786 1823 #: textpress/templates/admin/import.html:171787 #: zine/templates/admin/import.html:17 1824 1788 msgid "" 1825 1789 "\n" … … 1838 1802 " " 1839 1803 1840 #: textpress/templates/admin/import.html:261804 #: zine/templates/admin/import.html:26 1841 1805 msgid "Importer Used" 1842 1806 msgstr "Benutzter Importer" 1843 1807 1844 #: textpress/templates/admin/import_blogger.html:141845 #: textpress/templates/admin/import_blogger.html:161808 #: zine/templates/admin/import_blogger.html:14 1809 #: zine/templates/admin/import_blogger.html:16 1846 1810 msgid "Import from Blogger.com" 1847 1811 msgstr "Von Blogger.com importieren" 1848 1812 1849 #: textpress/templates/admin/import_blogger.html:171813 #: zine/templates/admin/import_blogger.html:17 1850 1814 msgid "" 1851 1815 "\n" … … 1858 1822 " " 1859 1823 1860 #: textpress/templates/admin/import_blogger.html:241824 #: zine/templates/admin/import_blogger.html:24 1861 1825 #, python-format 1862 1826 msgid "" … … 1869 1833 " " 1870 1834 1871 #: textpress/templates/admin/import_blogger.html:301835 #: zine/templates/admin/import_blogger.html:30 1872 1836 msgid "Select Blog To Import" 1873 1837 msgstr "Wähle das Blog zum Importieren aus" 1874 1838 1875 #: textpress/templates/admin/import_blogger.html:421839 #: zine/templates/admin/import_blogger.html:42 1876 1840 msgid "Log out of Google" 1877 1841 msgstr "Bei Google Ausloggen" 1878 1842 1879 #: textpress/templates/admin/import_blogger.html:501843 #: zine/templates/admin/import_blogger.html:50 1880 1844 #, python-format 1881 1845 msgid "" … … 1896 1860 " Seite führen.\n" 1897 1861 1898 #: textpress/templates/admin/import_blogger.html:571862 #: zine/templates/admin/import_blogger.html:57 1899 1863 #, python-format 1900 1864 msgid "" … … 1907 1871 " " 1908 1872 1909 #: textpress/templates/admin/import_wordpress.html:21910 #: textpress/templates/admin/import_wordpress.html:41873 #: zine/templates/admin/import_wordpress.html:2 1874 #: zine/templates/admin/import_wordpress.html:4 1911 1875 msgid "Import from WordPress" 1912 1876 msgstr "Von WordPress importieren" 1913 1877 1914 #: textpress/templates/admin/import_wordpress.html:51878 #: zine/templates/admin/import_wordpress.html:5 1915 1879 msgid "" 1916 1880 "\n" 1917 1881 " This importer allows you to import posts and comments from your " 1918 1882 "WordPress\n" 1919 " blog into your new TextPress blog. Either upload your WordPress " 1920 "eXtended\n" 1883 " blog into your new Zine blog. Either upload your WordPress eXtended\n" 1921 1884 " RSS (WXR) file created in the WordPress admin panel or give the " 1922 1885 "importer\n" … … 1927 1890 msgstr "" 1928 1891 "\n" 1929 " Dieser Importer erlaubt es dir Einträge und Kommentare von deinem\n" 1930 " WordPress blog zu importieren. Entweder kannst du eine WordPress " 1931 "eXtended RSS (WXR) Datei hochladen oder den Speicherort zu so einer\n" 1932 " Datei als URL angeben. WXR Dateien können im WordPress Admin Panel\n" 1933 " erstellt werden.\n" 1934 " " 1935 1936 #: textpress/templates/admin/import_wordpress.html:14 1892 " Dieser Importer erlaubt es dir Posts und Kommentare von einem WordPress\n" 1893 " Blog in dieses Blog zu importieren. Du kannst entweder eine WordPress\n" 1894 " eXtended RSS (WXR) Datei hochladen oder die URL zu einer angeben." 1895 " " 1896 1897 #: zine/templates/admin/import_wordpress.html:14 1937 1898 msgid "Dump Download URL" 1938 1899 msgstr "Dump Download URL" 1939 1900 1940 #: textpress/templates/admin/import_wordpress.html:161901 #: zine/templates/admin/import_wordpress.html:16 1941 1902 msgid "Upload Dump" 1942 1903 msgstr "Dump Hochladen" 1943 1904 1944 #: textpress/templates/admin/import_wordpress.html:291905 #: zine/templates/admin/import_wordpress.html:29 1945 1906 msgid "Finishing upload, performing import..." 1946 1907 msgstr "Upload fertiggestellt, Import wird durchgeführt..." 1947 1908 1948 #: textpress/templates/admin/index.html:21949 #: textpress/templates/admin/index.html:5 textpress/views/admin.py:821909 #: zine/templates/admin/index.html:2 zine/templates/admin/index.html:5 1910 #: zine/views/admin.py:82 1950 1911 msgid "Dashboard" 1951 1912 msgstr "Dashboard" 1952 1913 1953 #: textpress/templates/admin/index.html:81954 #, python-format 1955 msgid "Howdy. Welcome to the TextPressadministration interface %(user)s."1956 msgstr "Servus. Willkommen im TextPressAdministrationsbereich %(user)s."1957 1958 #: textpress/templates/admin/index.html:111914 #: zine/templates/admin/index.html:8 1915 #, python-format 1916 msgid "Howdy. Welcome to the Zine administration interface %(user)s." 1917 msgstr "Servus. Willkommen im Zine Administrationsbereich %(user)s." 1918 1919 #: zine/templates/admin/index.html:11 1959 1920 #, python-format 1960 1921 msgid "You have written <strong>%(your_posts)s</strong> post so far." … … 1963 1924 msgstr[1] "Du hast bis jetzt <strong>%(your_posts)s</strong> Einträge geschrieben." 1964 1925 1965 #: textpress/templates/admin/index.html:171926 #: zine/templates/admin/index.html:17 1966 1927 msgid "Quickstart" 1967 1928 msgstr "Schnellstart" 1968 1929 1969 #: textpress/templates/admin/index.html:19 1970 #: textpress/templates/admin/show_posts.html:44 1930 #: zine/templates/admin/index.html:19 zine/templates/admin/show_posts.html:44 1971 1931 msgid "New Post" 1972 1932 msgstr "Neuer Eintrag" 1973 1933 1974 #: textpress/templates/admin/index.html:201934 #: zine/templates/admin/index.html:20 1975 1935 msgid "Moderate Comments" 1976 1936 msgstr "Kommentare moderieren" 1977 1937 1978 #: textpress/templates/admin/index.html:21 1979 #: textpress/templates/admin/show_posts.html:2 1980 #: textpress/templates/admin/show_posts.html:4 1938 #: zine/templates/admin/index.html:21 zine/templates/admin/show_posts.html:2 1939 #: zine/templates/admin/show_posts.html:4 1981 1940 msgid "Manage Posts" 1982 1941 msgstr "Einträge verwalten" 1983 1942 1984 #: textpress/templates/admin/index.html:221985 msgid "Configure TextPress"1986 msgstr " TextPress konfigurieren"1987 1988 #: textpress/templates/admin/index.html:231943 #: zine/templates/admin/index.html:22 1944 msgid "Configure Zine" 1945 msgstr "Zine Konfigurieren" 1946 1947 #: zine/templates/admin/index.html:23 1989 1948 msgid "Manage Plugins" 1990 1949 msgstr "Plugins verwalten" 1991 1950 1992 #: textpress/templates/admin/index.html:24 1993 #: textpress/templates/admin/show_users.html:2 1994 #: textpress/templates/admin/show_users.html:4 1951 #: zine/templates/admin/index.html:24 zine/templates/admin/show_users.html:2 1952 #: zine/templates/admin/show_users.html:4 1995 1953 msgid "Manage Users" 1996 1954 msgstr "Benutzer verwalten" 1997 1955 1998 #: textpress/templates/admin/index.html:251956 #: zine/templates/admin/index.html:25 1999 1957 msgid "Get Help" 2000 1958 msgstr "Hilfe ansehen" 2001 1959 2002 #: textpress/templates/admin/index.html:271960 #: zine/templates/admin/index.html:27 2003 1961 #, python-format 2004 1962 msgid "" … … 2009 1967 " find answers in the <a href=\"%(support)s\">support section</a> " 2010 1968 "of the\n" 2011 " <a href=\"%(website)s\"> TextPresswebsite</a>.\n"1969 " <a href=\"%(website)s\">Zine website</a>.\n" 2012 1970 " " 2013 1971 msgstr "" … … 2017 1975 " löst\n" 2018 1976 " findest du Antworten in der <a href=\"%(support)s\">Support " 2019 "Sektion</a> der <a href=\"%(website)s\"> TextPressWebseite</a>.\n"1977 "Sektion</a> der <a href=\"%(website)s\">Zine Webseite</a>.\n" 2020 1978 " " 2021 1979 2022 #: textpress/templates/admin/index.html:371980 #: zine/templates/admin/index.html:37 2023 1981 msgid "Drafts" 2024 1982 msgstr "Entwürfe" 2025 1983 2026 #: textpress/templates/admin/index.html:461984 #: zine/templates/admin/index.html:46 2027 1985 msgid "Comments Awaiting Approval" 2028 1986 msgstr "Nicht-bestätigte Kommentare" 2029 1987 2030 #: textpress/templates/admin/index.html:651988 #: zine/templates/admin/index.html:65 2031 1989 msgid "Last Posts" 2032 1990 msgstr "Letzte Einträge" 2033 1991 2034 #: textpress/templates/admin/index.html:752035 msgid "Planet TextPress"2036 msgstr "Planet -TextPress"2037 2038 #: textpress/templates/admin/information.html:22039 #: textpress/templates/admin/information.html:41992 #: zine/templates/admin/index.html:75 1993 msgid "Planet Zine" 1994 msgstr "Planet Zine" 1995 1996 #: zine/templates/admin/information.html:2 1997 #: zine/templates/admin/information.html:4 2040 1998 msgid "About The System" 2041 1999 msgstr "Über das System" 2042 2000 2043 #: textpress/templates/admin/information.html:52044 msgid " TextPressEnvironment"2045 msgstr " TextPressUmgebung"2046 2047 #: textpress/templates/admin/information.html:72048 msgid " TextPressVersion"2049 msgstr " TextPressVersion"2050 2051 #: textpress/templates/admin/information.html:92001 #: zine/templates/admin/information.html:5 2002 msgid "Zine Environment" 2003 msgstr "Zine Umgebung" 2004 2005 #: zine/templates/admin/information.html:7 2006 msgid "Zine Version" 2007 msgstr "Zine Version" 2008 2009 #: zine/templates/admin/information.html:9 2052 2010 msgid "Distribution Mode" 2053 2011 msgstr "Distributionsmodus" 2054 2012 2055 #: textpress/templates/admin/information.html:112013 #: zine/templates/admin/information.html:11 2056 2014 msgid "Package Location" 2057 2015 msgstr "Pfad zum Package" 2058 2016 2059 #: textpress/templates/admin/information.html:132017 #: zine/templates/admin/information.html:13 2060 2018 msgid "Shared Data" 2061 2019 msgstr "Geteilte Daten" 2062 2020 2063 #: textpress/templates/admin/information.html:152021 #: zine/templates/admin/information.html:15 2064 2022 msgid "Builtin Templates" 2065 2023 msgstr "Mitgelieferte Vorlagen" 2066 2024 2067 #: textpress/templates/admin/information.html:172025 #: zine/templates/admin/information.html:17 2068 2026 msgid "Builtin Plugins" 2069 2027 msgstr "Mitgelieferte Plugins" 2070 2028 2071 #: textpress/templates/admin/information.html:192029 #: zine/templates/admin/information.html:19 2072 2030 msgid "Path to Instance" 2073 2031 msgstr "Pfad zur Instanz" 2074 2032 2075 #: textpress/templates/admin/information.html:212033 #: zine/templates/admin/information.html:21 2076 2034 msgid "Database URI" 2077 2035 msgstr "Datenbank URI" 2078 2036 2079 #: textpress/templates/admin/information.html:242037 #: zine/templates/admin/information.html:24 2080 2038 msgid "Hosting Environment" 2081 2039 msgstr "Hosting Umgebung" 2082 2040 2083 #: textpress/templates/admin/information.html:262041 #: zine/templates/admin/information.html:26 2084 2042 msgid "Python Version" 2085 2043 msgstr "Python Version" 2086 2044 2087 #: textpress/templates/admin/information.html:282045 #: zine/templates/admin/information.html:28 2088 2046 msgid "Persistent Environment" 2089 2047 msgstr "Persistente Umgebung" 2090 2048 2091 #: textpress/templates/admin/information.html:29 2092 #: textpress/templates/admin/information.html:39 2093 #: textpress/templates/admin/information.html:89 2049 #: zine/templates/admin/information.html:29 2050 #: zine/templates/admin/information.html:39 2094 2051 msgid "yes" 2095 2052 msgstr "ja" 2096 2053 2097 #: textpress/templates/admin/information.html:29 2098 #: textpress/templates/admin/information.html:35 2099 #: textpress/templates/admin/information.html:39 2100 #: textpress/templates/admin/information.html:89 2054 #: zine/templates/admin/information.html:29 2055 #: zine/templates/admin/information.html:35 2056 #: zine/templates/admin/information.html:39 2101 2057 msgid "no" 2102 2058 msgstr "nein" 2103 2059 2104 #: textpress/templates/admin/information.html:302060 #: zine/templates/admin/information.html:30 2105 2061 msgid "Multithreaded" 2106 2062 msgstr "Mehrere Threads" 2107 2063 2108 #: textpress/templates/admin/information.html:332064 #: zine/templates/admin/information.html:33 2109 2065 #, python-format 2110 2066 msgid "yes (%(count)s active threads)" 2111 2067 msgstr "ja (%(count)s aktive Threads)" 2112 2068 2113 #: textpress/templates/admin/information.html:382069 #: zine/templates/admin/information.html:38 2114 2070 msgid "Multiprocess" 2115 2071 msgstr "Mehrere Prozesse" 2116 2072 2117 #: textpress/templates/admin/information.html:402073 #: zine/templates/admin/information.html:40 2118 2074 msgid "WSGI Version" 2119 2075 msgstr "WSGI Version" 2120 2076 2121 #: textpress/templates/admin/information.html:432077 #: zine/templates/admin/information.html:43 2122 2078 msgid "URL Endpoints" 2123 2079 msgstr "URL Endpunkte" 2124 2080 2125 #: textpress/templates/admin/information.html:442081 #: zine/templates/admin/information.html:44 2126 2082 #, python-format 2127 2083 msgid "" … … 2135 2091 " " 2136 2092 2137 #: textpress/templates/admin/information.html:522093 #: zine/templates/admin/information.html:52 2138 2094 msgid "Services" 2139 2095 msgstr "Services" 2140 2096 2141 #: textpress/templates/admin/information.html:532097 #: zine/templates/admin/information.html:53 2142 2098 msgid "" 2143 2099 "\n" … … 2152 2108 " " 2153 2109 2154 #: textpress/templates/admin/information.html:622110 #: zine/templates/admin/information.html:62 2155 2111 msgid "Installed APIs" 2156 2112 msgstr "Installierte APIs" 2157 2113 2158 #: textpress/templates/admin/information.html:632114 #: zine/templates/admin/information.html:63 2159 2115 msgid "" 2160 2116 "\n" … … 2169 2125 " " 2170 2126 2171 #: textpress/templates/admin/information.html:76 textpress/views/admin.py:1222127 #: zine/templates/admin/information.html:76 zine/views/admin.py:122 2172 2128 msgid "Plugins" 2173 2129 msgstr "Plugins" 2174 2130 2175 #: textpress/templates/admin/information.html:84 2131 #: zine/templates/admin/information.html:80 2132 msgid "UID" 2133 msgstr "UID" 2134 2135 #: zine/templates/admin/information.html:84 2176 2136 msgid "Location" 2177 2137 msgstr "Stelle" 2178 2138 2179 #: textpress/templates/admin/information.html:86 2180 msgid "UID" 2181 msgstr "UID" 2182 2183 #: textpress/templates/admin/information.html:88 2184 msgid "Active" 2185 msgstr "Aktiv" 2186 2187 #: textpress/templates/admin/information.html:93 2139 #: zine/templates/admin/information.html:89 2188 2140 msgid "Configuration Variables" 2189 2141 msgstr "Konfigurationsvariablen" 2190 2142 2191 #: textpress/templates/admin/information.html:962192 #: textpress/templates/admin/show_pages.html:82193 #: textpress/templates/admin/write_page.html:112143 #: zine/templates/admin/information.html:92 2144 #: zine/templates/admin/show_pages.html:8 2145 #: zine/templates/admin/write_page.html:11 2194 2146 msgid "Key" 2195 2147 msgstr "Schlüssel" 2196 2148 2197 #: textpress/templates/admin/information.html:972149 #: zine/templates/admin/information.html:93 2198 2150 msgid "Value" 2199 2151 msgstr "Wert" 2200 2152 2201 #: textpress/templates/admin/information.html:982153 #: zine/templates/admin/information.html:94 2202 2154 msgid "Default" 2203 2155 msgstr "Standard" 2204 2156 2205 #: textpress/templates/admin/information.html:1082157 #: zine/templates/admin/information.html:104 2206 2158 msgid "Template Globals" 2207 2159 msgstr "Template Globale" 2208 2160 2209 #: textpress/templates/admin/information.html:1142161 #: zine/templates/admin/information.html:110 2210 2162 msgid "Template Filters" 2211 2163 msgstr "Template Filter" 2212 2164 2213 #: textpress/templates/admin/inspect_import.html:22214 #: textpress/templates/admin/inspect_import.html:42165 #: zine/templates/admin/inspect_import.html:2 2166 #: zine/templates/admin/inspect_import.html:4 2215 2167 msgid "Inspect Import" 2216 2168 msgstr "Import durchsuchen" 2217 2169 2218 #: textpress/templates/admin/inspect_import.html:52170 #: zine/templates/admin/inspect_import.html:5 2219 2171 msgid "" 2220 2172 "\n" … … 2229 2181 " " 2230 2182 2231 #: textpress/templates/admin/inspect_import.html:142183 #: zine/templates/admin/inspect_import.html:14 2232 2184 msgid "Blog Details" 2233 2185 msgstr "Blog Details" 2234 2186 2235 #: textpress/templates/admin/inspect_import.html:222187 #: zine/templates/admin/inspect_import.html:22 2236 2188 msgid "Dump ID" 2237 2189 msgstr "Dump ID" 2238 2190 2239 #: textpress/templates/admin/inspect_import.html:242191 #: zine/templates/admin/inspect_import.html:24 2240 2192 msgid "" 2241 2193 "If you have a special installation and want to rewrite the import " … … 2245 2197 "Script bearbeiten. Dafür benötigst du diesen Bezeichner." 2246 2198 2247 #: textpress/templates/admin/inspect_import.html:292199 #: zine/templates/admin/inspect_import.html:29 2248 2200 msgid "" 2249 2201 "\n" … … 2265 2217 " " 2266 2218 2267 #: textpress/templates/admin/inspect_import.html:382219 #: zine/templates/admin/inspect_import.html:38 2268 2220 msgid "Create New User" 2269 2221 msgstr "Neuen Benutzer erstellen" 2270 2222 2271 #: textpress/templates/admin/inspect_import.html:452223 #: zine/templates/admin/inspect_import.html:45 2272 2224 msgid "no author information" 2273 2225 msgstr "Keine Benutzerinformationen" 2274 2226 2275 #: textpress/templates/admin/inspect_import.html:482227 #: zine/templates/admin/inspect_import.html:48 2276 2228 msgid "" 2277 2229 "\n" … … 2289 2241 " " 2290 2242 2291 #: textpress/templates/admin/inspect_import.html:53 textpress/views/admin.py:832243 #: zine/templates/admin/inspect_import.html:53 zine/views/admin.py:83 2292 2244 msgid "Posts" 2293 2245 msgstr "Einträge" 2294 2246 2295 #: textpress/templates/admin/inspect_import.html:542247 #: zine/templates/admin/inspect_import.html:54 2296 2248 msgid "" 2297 2249 "\n" … … 2304 2256 " " 2305 2257 2306 #: textpress/templates/admin/inspect_import.html:832258 #: zine/templates/admin/inspect_import.html:83 2307 2259 msgid "Import into Blog" 2308 2260 msgstr "In Blog importieren" 2309 2261 2310 #: textpress/templates/admin/layout.html:142262 #: zine/templates/admin/layout.html:14 2311 2263 msgid "View Blog" 2312 2264 msgstr "Blog anzeigen" 2313 2265 2314 #: textpress/templates/admin/layout.html:45 2315 #, python-format 2316 msgid "Powered by %(textpress)s %(version)s." 2317 msgstr "%(textpress)s %(version)s unter der Haube." 2318 2319 #: textpress/templates/admin/login.html:5 2320 #: textpress/templates/admin/login.html:11 2321 #: textpress/templates/admin/login.html:33 2266 #: zine/templates/admin/layout.html:45 2267 #, python-format 2268 msgid "Powered by %(zine)s %(version)s." 2269 msgstr "%(zine)s %(version)s unter der Haube." 2270 2271 #: zine/templates/admin/login.html:5 zine/templates/admin/login.html:11 2272 #: zine/templates/admin/login.html:33 2322 2273 msgid "Login" 2323 2274 msgstr "Anmelden" 2324 2275 2325 #: textpress/templates/admin/login.html:132276 #: zine/templates/admin/login.html:13 2326 2277 msgid "Successfully logged out" 2327 2278 msgstr "Erfolgreich abgemeldet" 2328 2279 2329 #: textpress/templates/admin/login.html:262280 #: zine/templates/admin/login.html:26 2330 2281 msgid "Remember me" 2331 2282 msgstr "Erinnere dich an mich" 2332 2283 2333 #: textpress/templates/admin/maintenance.html:22334 #: textpress/templates/admin/maintenance.html:4 textpress/views/admin.py:1372284 #: zine/templates/admin/maintenance.html:2 2285 #: zine/templates/admin/maintenance.html:4 zine/views/admin.py:136 2335 2286 msgid "Maintenance" 2336 2287 msgstr "Wartung" 2337 2288 2338 #: textpress/templates/admin/maintenance.html:52289 #: zine/templates/admin/maintenance.html:5 2339 2290 msgid "" 2340 2291 "\n" … … 2361 2312 " " 2362 2313 2363 #: textpress/templates/admin/maintenance.html:162314 #: zine/templates/admin/maintenance.html:16 2364 2315 msgid "Disable maintenance mode" 2365 2316 msgstr "Wartungsmodus deaktivieren" 2366 2317 2367 #: textpress/templates/admin/maintenance.html:172318 #: zine/templates/admin/maintenance.html:17 2368 2319 msgid "Enable maintenance mode" 2369 2320 msgstr "Wartungsmodus aktivieren" 2370 2321 2371 #: textpress/templates/admin/pages_config.html:22372 #: textpress/templates/admin/pages_config.html:42322 #: zine/templates/admin/pages_config.html:2 2323 #: zine/templates/admin/pages_config.html:4 2373 2324 msgid "Pages Configuration" 2374 2325 msgstr "Seitenkonfiguration" 2375 2326 2376 #: textpress/templates/admin/pages_config.html:52327 #: zine/templates/admin/pages_config.html:5 2377 2328 msgid "" 2378 2329 "\n" … … 2384 2335 " " 2385 2336 2386 #: textpress/templates/admin/pages_config.html:102337 #: zine/templates/admin/pages_config.html:10 2387 2338 msgid "Show page title" 2388 2339 msgstr "Seitentitel anzeigen" 2389 2340 2390 #: textpress/templates/admin/pages_config.html:132341 #: zine/templates/admin/pages_config.html:13 2391 2342 msgid "Show the title of the page on top of the page body" 2392 2343 msgstr "Zeige den Titel der Seite oberhalb des Seiteninhalts" 2393 2344 2394 #: textpress/templates/admin/pages_config.html:162345 #: zine/templates/admin/pages_config.html:16 2395 2346 msgid "Show children" 2396 2347 msgstr "Kinder anzeigen" 2397 2348 2398 #: textpress/templates/admin/pages_config.html:192349 #: zine/templates/admin/pages_config.html:19 2399 2350 msgid "Show the child-pages on the bottom of the page body" 2400 2351 msgstr "Zeige Kinderseiten unterhalb des Seiteninhalts" 2401 2352 2402 #: textpress/templates/admin/perform_import.html:52353 #: zine/templates/admin/perform_import.html:5 2403 2354 msgid "" 2404 2355 "\n" 2405 2356 " The importer converts now all the collected and selected data for\n" 2406 " TextPress and inserts it into the database. This can take some time." 2407 "\n" 2357 " Zine and inserts it into the database. This can take some time.\n" 2408 2358 " <strong>Don't hit cancel!</strong>\n" 2409 2359 " " … … 2411 2361 "\n" 2412 2362 " Der Importer konvertiert all die gesammelten und ausgewählten\n" 2413 " Daten für TextPressund fügt sie in die Datenbank ein. Das kann\n"2363 " Daten für Zine und fügt sie in die Datenbank ein. Das kann\n" 2414 2364 " einige Zeit benötigen.\n" 2415 2365 " <strong>Drücke nicht auf Abbrechen</strong>\n" 2416 2366 " " 2417 2367 2418 #: textpress/templates/admin/perform_import.html:112368 #: zine/templates/admin/perform_import.html:11 2419 2369 msgid "" 2420 2370 "\n" … … 2426 2376 " " 2427 2377 2428 #: textpress/templates/admin/plugins.html:2 2429 #: textpress/templates/admin/plugins.html:4 2378 #: zine/templates/admin/plugins.html:2 zine/templates/admin/plugins.html:4 2430 2379 msgid "Plugin Management" 2431 2380 msgstr "Plugin Verwaltung" 2432 2381 2433 #: textpress/templates/admin/plugins.html:6 2434 msgid "" 2435 "\n" 2436 " Plugins extend the functionality of the TextPress system. Because " 2437 "of\n" 2382 #: zine/templates/admin/plugins.html:6 2383 msgid "" 2384 "\n" 2385 " Plugins extend the functionality of the Zine system. Because of\n" 2438 2386 " security and convinience reasons you have to enable plugins by " 2439 2387 "hand.\n" … … 2445 2393 msgstr "" 2446 2394 "\n" 2447 " Plugins können die Funktionalität von TextPresserweitern. Plugins\n"2395 " Plugins können die Funktionalität von Zine erweitern. Plugins\n" 2448 2396 " müssen von Hand aktiviert werden. Einige Plugins arbeiten " 2449 2397 "möglicherweise\n" … … 2452 2400 " " 2453 2401 2454 #: textpress/templates/admin/plugins.html:152402 #: zine/templates/admin/plugins.html:15 2455 2403 msgid "Plugin" 2456 2404 msgstr "Plugin" 2457 2405 2458 #: textpress/templates/admin/plugins.html:162406 #: zine/templates/admin/plugins.html:16 2459 2407 msgid "Version" 2460 2408 msgstr "Version" 2461 2409 2462 #: textpress/templates/admin/plugins.html:182410 #: zine/templates/admin/plugins.html:18 2463 2411 msgid "Activate" 2464 2412 msgstr "Aktivieren" 2465 2413 2466 #: textpress/templates/admin/plugins.html:262414 #: zine/templates/admin/plugins.html:26 2467 2415 #, python-format 2468 2416 msgid "" … … 2475 2423 " " 2476 2424 2477 #: textpress/templates/admin/plugins.html:302425 #: zine/templates/admin/plugins.html:30 2478 2426 #, python-format 2479 2427 msgid "" … … 2486 2434 " " 2487 2435 2488 #: textpress/templates/admin/plugins.html:372436 #: zine/templates/admin/plugins.html:37 2489 2437 msgid "Remove plugin" 2490 2438 msgstr "Plugin entfernen" 2491 2439 2492 #: textpress/templates/admin/plugins.html:452440 #: zine/templates/admin/plugins.html:45 2493 2441 msgid "Add New Plugin" 2494 2442 msgstr "Neues Plugin hinzufügen" 2495 2443 2496 #: textpress/templates/admin/plugins.html:462497 msgid "" 2498 "\n" 2499 " If you have a plugin as TextPress <tt>.plugin</tt> file you can"2500 " uploadit\n"2501 " to your TextPress instance using the following form. Plugins added"2502 " thisway\n"2444 #: zine/templates/admin/plugins.html:46 2445 msgid "" 2446 "\n" 2447 " If you have a plugin as Zine <tt>.plugin</tt> file you can upload " 2448 "it\n" 2449 " to your Zine instance using the following form. Plugins added this " 2450 "way\n" 2503 2451 " can also be completely removed.\n" 2504 2452 " " 2505 2453 msgstr "" 2506 2454 "\n" 2507 " Wenn du ein plugin als TextPress<tt>.plugin</tt> Datei hast, kannst"2508 "\n" 2509 " du es in deine TextPressInstanz importieren in dem du es hier\n"2455 " Wenn du ein plugin als Zine <tt>.plugin</tt> Datei hast, kannst" 2456 "\n" 2457 " du es in deine Zine Instanz importieren in dem du es hier\n" 2510 2458 " hochlädst. Plugins die auf diese Weise hinzugefügt werden können\n" 2511 2459 " auch so wieder entfernt werden.\n" 2512 2460 " " 2513 2461 2514 #: textpress/templates/admin/plugins.html:542462 #: zine/templates/admin/plugins.html:54 2515 2463 msgid "Update" 2516 2464 msgstr "Aktualisieren" 2517 2465 2518 #: textpress/templates/admin/plugins.html:562466 #: zine/templates/admin/plugins.html:56 2519 2467 msgid "Disable Plugin Guard" 2520 2468 msgstr "Plugin-Wache deaktivieren" 2521 2469 2522 #: textpress/templates/admin/plugins.html:582470 #: zine/templates/admin/plugins.html:58 2523 2471 msgid "Enable Plugin Guard" 2524 2472 msgstr "Plugin-Wache aktivieren" 2525 2473 2526 #: textpress/templates/admin/remove_plugin.html:22527 #: textpress/templates/admin/remove_plugin.html:42474 #: zine/templates/admin/remove_plugin.html:2 2475 #: zine/templates/admin/remove_plugin.html:4 2528 2476 msgid "Remove Plugin" 2529 2477 msgstr "Plugin entfernen" 2530 2478 2531 #: textpress/templates/admin/remove_plugin.html:72479 #: zine/templates/admin/remove_plugin.html:7 2532 2480 #, python-format 2533 2481 msgid "" … … 2546 2494 " " 2547 2495 2548 #: textpress/templates/admin/show_comments.html:162496 #: zine/templates/admin/show_comments.html:16 2549 2497 msgid "No comments." 2550 2498 msgstr "Keine Kommentare." 2551 2499 2552 #: textpress/templates/admin/show_comments.html:262500 #: zine/templates/admin/show_comments.html:26 2553 2501 msgid "Select All" 2554 2502 msgstr "Alle markieren" 2555 2503 2556 #: textpress/templates/admin/show_pages.html:22557 #: textpress/templates/admin/show_pages.html:4 textpress/views/admin.py:1072558 #: textpress/views/admin.py:1202504 #: zine/templates/admin/show_pages.html:2 2505 #: zine/templates/admin/show_pages.html:4 zine/views/admin.py:107 2506 #: zine/views/admin.py:120 2559 2507 msgid "Pages" 2560 2508 msgstr "Seiten" 2561 2509 2562 #: textpress/templates/admin/show_pages.html:7 2563 #: textpress/templates/admin/show_posts.html:17 2564 #: textpress/templates/admin/show_tags.html:7 2565 #: textpress/templates/admin/show_users.html:7 2510 #: zine/templates/admin/show_pages.html:7 2511 #: zine/templates/admin/show_posts.html:17 2512 #: zine/templates/admin/show_tags.html:7 zine/templates/admin/show_users.html:7 2566 2513 msgid "ID" 2567 2514 msgstr "ID" 2568 2515 2569 #: textpress/templates/admin/show_pages.html:102516 #: zine/templates/admin/show_pages.html:10 2570 2517 msgid "Navigation Position" 2571 2518 msgstr "Navigationsposition" 2572 2519 2573 #: textpress/templates/admin/show_pages.html:172520 #: zine/templates/admin/show_pages.html:17 2574 2521 msgid "No position given" 2575 2522 msgstr "Keine Position angegeben" 2576 2523 2577 #: textpress/templates/admin/show_pages.html:202524 #: zine/templates/admin/show_pages.html:20 2578 2525 msgid "No pages." 2579 2526 msgstr "Keine Seiten." 2580 2527 2581 #: textpress/templates/admin/show_pages.html:252582 #: textpress/templates/admin/write_page.html:22583 #: textpress/templates/admin/write_page.html:42528 #: zine/templates/admin/show_pages.html:25 2529 #: zine/templates/admin/write_page.html:2 2530 #: zine/templates/admin/write_page.html:4 2584 2531 msgid "New Page" 2585 2532 msgstr "Neue Seite" 2586 2533 2587 #: textpress/templates/admin/show_posts.html:332534 #: zine/templates/admin/show_posts.html:33 2588 2535 msgid "untagged" 2589 2536 msgstr "unmarkiert" 2590 2537 2591 #: textpress/templates/admin/show_posts.html:392538 #: zine/templates/admin/show_posts.html:39 2592 2539 msgid "No posts." 2593 2540 msgstr "Keine Einträge." 2594 2541 2595 #: textpress/templates/admin/show_tags.html:2 2596 #: textpress/templates/admin/show_tags.html:4 2542 #: zine/templates/admin/show_tags.html:2 zine/templates/admin/show_tags.html:4 2597 2543 msgid "Manage Tags" 2598 2544 msgstr "Einträge verwalten" 2599 2545 2600 #: textpress/templates/admin/show_tags.html:102546 #: zine/templates/admin/show_tags.html:10 2601 2547 msgid "Tagged Posts" 2602 2548 msgstr "Markierte Einträge" 2603 2549 2604 #: textpress/templates/admin/show_tags.html:212550 #: zine/templates/admin/show_tags.html:21 2605 2551 msgid "No tags." 2606 2552 msgstr "Keine Markierungen" 2607 2553 2608 #: textpress/templates/admin/show_tags.html:262554 #: zine/templates/admin/show_tags.html:26 2609 2555 msgid "New Tag" 2610 2556 msgstr "Neue Markierung" 2611 2557 2612 #: textpress/templates/admin/show_users.html:92558 #: zine/templates/admin/show_users.html:9 2613 2559 msgid "Realname" 2614 2560 msgstr "Voller Name" 2615 2561 2616 #: textpress/templates/admin/show_users.html:102562 #: zine/templates/admin/show_users.html:10 2617 2563 msgid "Mail" 2618 2564 msgstr "E-Mail" 2619 2565 2620 #: textpress/templates/admin/theme.html:2 2621 #: textpress/templates/admin/theme.html:4 2566 #: zine/templates/admin/theme.html:2 zine/templates/admin/theme.html:4 2622 2567 msgid "Theme Manager" 2623 2568 msgstr "Themaverwaltung" 2624 2569 2625 #: textpress/templates/admin/theme.html:172570 #: zine/templates/admin/theme.html:17 2626 2571 #, python-format 2627 2572 msgid "by %(author)s" 2628 2573 msgstr "von %(author)s" 2629 2574 2630 #: textpress/templates/admin/theme.html:282575 #: zine/templates/admin/theme.html:28 2631 2576 msgid "Configure Theme" 2632 2577 msgstr "Thema konfigurieren" 2633 2578 2634 #: textpress/templates/admin/unblock_comment.html:22635 #: textpress/templates/admin/unblock_comment.html:42579 #: zine/templates/admin/unblock_comment.html:2 2580 #: zine/templates/admin/unblock_comment.html:4 2636 2581 msgid "Unblock Comment" 2637 2582 msgstr "Kommentar nicht mehr blockieren" 2638 2583 2639 #: textpress/templates/admin/unblock_comment.html:72584 #: zine/templates/admin/unblock_comment.html:7 2640 2585 #, python-format 2641 2586 msgid "" … … 2651 2596 " " 2652 2597 2653 #: textpress/templates/admin/url_options.html:22654 #: textpress/templates/admin/url_options.html:42655 #: textpress/templates/admin/urls.html:2 textpress/templates/admin/urls.html:42598 #: zine/templates/admin/url_options.html:2 2599 #: zine/templates/admin/url_options.html:4 zine/templates/admin/urls.html:2 2600 #: zine/templates/admin/urls.html:4 2656 2601 msgid "URL Options" 2657 2602 msgstr "URL Einstellungen" 2658 2603 2659 #: textpress/templates/admin/url_options.html:52604 #: zine/templates/admin/url_options.html:5 2660 2605 msgid "" 2661 2606 "\n" … … 2681 2626 " " 2682 2627 2683 #: textpress/templates/admin/url_options.html:14 2684 #: textpress/templates/admin/urls.html:14 2628 #: zine/templates/admin/url_options.html:14 zine/templates/admin/urls.html:14 2685 2629 msgid "Blog URL Prefix" 2686 2630 msgstr "Blog URL Präfix" 2687 2631 2688 #: textpress/templates/admin/url_options.html:16 2689 #: textpress/templates/admin/urls.html:16 2632 #: zine/templates/admin/url_options.html:16 zine/templates/admin/urls.html:16 2690 2633 msgid "Admin URL Prefix" 2691 2634 msgstr "Admin URL Präfix" 2692 2635 2693 #: textpress/templates/admin/url_options.html:18 2694 #: textpress/templates/admin/urls.html:18 2636 #: zine/templates/admin/url_options.html:18 zine/templates/admin/urls.html:18 2695 2637 msgid "Tags URL Prefix" 2696 2638 msgstr "URL Präfix für Markierungen" 2697 2639 2698 #: textpress/templates/admin/url_options.html:20 2699 #: textpress/templates/admin/urls.html:20 2640 #: zine/templates/admin/url_options.html:20 zine/templates/admin/urls.html:20 2700 2641 msgid "Author Profiles URL Prefix" 2701 2642 msgstr "URL Präfix für Autoren" 2702 2643 2703 #: textpress/templates/admin/urls.html:52644 #: zine/templates/admin/urls.html:5 2704 2645 msgid "" 2705 2646 "\n" … … 2725 2666 " " 2726 2667 2727 #: textpress/templates/admin/write_page.html:132668 #: zine/templates/admin/write_page.html:13 2728 2669 msgid "" 2729 2670 "\n" … … 2738 2679 " " 2739 2680 2740 #: textpress/templates/admin/write_page.html:182681 #: zine/templates/admin/write_page.html:18 2741 2682 msgid "Content" 2742 2683 msgstr "Inhalt" 2743 2684 2744 #: textpress/templates/admin/write_page.html:292685 #: zine/templates/admin/write_page.html:29 2745 2686 msgid "Parent Page" 2746 2687 msgstr "Elternseite" 2747 2688 2748 #: textpress/templates/admin/write_page.html:402689 #: zine/templates/admin/write_page.html:40 2749 2690 msgid "Position" 2750 2691 msgstr "Position" 2751 2692 2752 #: textpress/templates/admin/write_page.html:462693 #: zine/templates/admin/write_page.html:46 2753 2694 msgid "View Page" 2754 2695 msgstr "Seite anzeigen" 2755 2696 2756 #: textpress/templates/admin/file_uploads/browse.html:22757 #: textpress/templates/admin/file_uploads/browse.html:42697 #: zine/templates/admin/file_uploads/browse.html:2 2698 #: zine/templates/admin/file_uploads/browse.html:4 2758 2699 msgid "Browse Uploads" 2759 2700 msgstr "Hochgeladene Dateien durchsuchen" 2760 2701 2761 #: textpress/templates/admin/file_uploads/browse.html:72702 #: zine/templates/admin/file_uploads/browse.html:7 2762 2703 msgid "Filename" 2763 2704 msgstr "Dateiname" 2764 2705 2765 #: textpress/templates/admin/file_uploads/browse.html:82706 #: zine/templates/admin/file_uploads/browse.html:8 2766 2707 msgid "Size" 2767 2708 msgstr "Größe" 2768 2709 2769 #: textpress/templates/admin/file_uploads/browse.html:92710 #: zine/templates/admin/file_uploads/browse.html:9 2770 2711 msgid "Mimetype" 2771 2712 msgstr "Mimetype" 2772 2713 2773 #: textpress/templates/admin/file_uploads/browse.html:102714 #: zine/templates/admin/file_uploads/browse.html:10 2774 2715 msgid "Actions" 2775 2716 msgstr "Aktionen" 2776 2717 2777 #: textpress/templates/admin/file_uploads/browse.html:232718 #: zine/templates/admin/file_uploads/browse.html:23 2778 2719 msgid "No files uploaded so far." 2779 2720 msgstr "Es wuren noch keine Dateien hochgeladen." 2780 2721 2781 #: textpress/templates/admin/file_uploads/browse.html:292722 #: zine/templates/admin/file_uploads/browse.html:29 2782 2723 msgid "Upload New File" 2783 2724 msgstr "Neue Datei hochladen" 2784 2725 2785 #: textpress/templates/admin/file_uploads/config.html:22786 #: textpress/templates/admin/file_uploads/config.html:42726 #: zine/templates/admin/file_uploads/config.html:2 2727 #: zine/templates/admin/file_uploads/config.html:4 2787 2728 msgid "Configure Uploads" 2788 2729 msgstr "Hochgeladene Dateien Konfigurieren" 2789 2730 2790 #: textpress/templates/admin/file_uploads/config.html:62731 #: zine/templates/admin/file_uploads/config.html:6 2791 2732 msgid "" 2792 2733 "\n" … … 2798 2739 " " 2799 2740 2800 #: textpress/templates/admin/file_uploads/config.html:92741 #: zine/templates/admin/file_uploads/config.html:9 2801 2742 msgid "" 2802 2743 "\n" … … 2814 2755 " " 2815 2756 2816 #: textpress/templates/admin/file_uploads/config.html:152757 #: zine/templates/admin/file_uploads/config.html:15 2817 2758 msgid "" 2818 2759 "\n" … … 2836 2777 " " 2837 2778 2838 #: textpress/templates/admin/file_uploads/config.html:232779 #: zine/templates/admin/file_uploads/config.html:23 2839 2780 msgid "" 2840 2781 "\n" … … 2854 2795 " " 2855 2796 2856 #: textpress/templates/admin/file_uploads/config.html:332797 #: zine/templates/admin/file_uploads/config.html:33 2857 2798 msgid "Upload files to" 2858 2799 msgstr "hochladen nach" 2859 2800 2860 #: textpress/templates/admin/file_uploads/config.html:352801 #: zine/templates/admin/file_uploads/config.html:35 2861 2802 msgid "Mimetype Mapping" 2862 2803 msgstr "Mimetype-Zuordnung" 2863 2804 2864 #: textpress/templates/admin/file_uploads/config.html:372805 #: zine/templates/admin/file_uploads/config.html:37 2865 2806 msgid "Path to ImageMagick" 2866 2807 msgstr "Pfad zu ImageMagick" 2867 2808 2868 #: textpress/templates/admin/file_uploads/config.html:422809 #: zine/templates/admin/file_uploads/config.html:42 2869 2810 msgid "Cannot find ImageMagick" 2870 2811 msgstr "Kann ImageMagick nicht finden" 2871 2812 2872 #: textpress/templates/admin/file_uploads/delete.html:22873 #: textpress/templates/admin/file_uploads/delete.html:42813 #: zine/templates/admin/file_uploads/delete.html:2 2814 #: zine/templates/admin/file_uploads/delete.html:4 2874 2815 msgid "Delete File" 2875 2816 msgstr "Datei löschen" 2876 2817 2877 #: textpress/templates/admin/file_uploads/delete.html:72818 #: zine/templates/admin/file_uploads/delete.html:7 2878 2819 #, python-format 2879 2820 msgid "" … … 2886 2827 " " 2887 2828 2888 #: textpress/templates/admin/file_uploads/thumbnailer.html:2 2889 #: textpress/templates/admin/file_uploads/thumbnailer.html:4 2890 #: textpress/views/admin.py:100 2829 #: zine/templates/admin/file_uploads/thumbnailer.html:2 2830 #: zine/templates/admin/file_uploads/thumbnailer.html:4 zine/views/admin.py:100 2891 2831 msgid "Create Thumbnails" 2892 2832 msgstr "Vorschaubilder erstellen" 2893 2833 2894 #: textpress/templates/admin/file_uploads/thumbnailer.html:52834 #: zine/templates/admin/file_uploads/thumbnailer.html:5 2895 2835 msgid "" 2896 2836 "\n" … … 2903 2843 " " 2904 2844 2905 #: textpress/templates/admin/file_uploads/thumbnailer.html:112845 #: zine/templates/admin/file_uploads/thumbnailer.html:11 2906 2846 msgid "Create Thumbnail For" 2907 2847 msgstr "Vorschaubild erstellen für" 2908 2848 2909 #: textpress/templates/admin/file_uploads/thumbnailer.html:182849 #: zine/templates/admin/file_uploads/thumbnailer.html:18 2910 2850 msgid "Width" 2911 2851 msgstr "Breite" 2912 2852 2913 #: textpress/templates/admin/file_uploads/thumbnailer.html:202853 #: zine/templates/admin/file_uploads/thumbnailer.html:20 2914 2854 msgid "Height" 2915 2855 msgstr "Höhe" 2916 2856 2917 #: textpress/templates/admin/file_uploads/thumbnailer.html:222857 #: zine/templates/admin/file_uploads/thumbnailer.html:22 2918 2858 msgid "Keep Aspect Ratio" 2919 2859 msgstr "Bildverhältig beibehalten" 2920 2860 2921 #: textpress/templates/admin/file_uploads/thumbnailer.html:242861 #: zine/templates/admin/file_uploads/thumbnailer.html:24 2922 2862 msgid "Thumbnail Filename" 2923 2863 msgstr "Dateiname für Vorschaubild" 2924 2864 2925 #: textpress/templates/admin/file_uploads/thumbnailer.html:292865 #: zine/templates/admin/file_uploads/thumbnailer.html:29 2926 2866 msgid "Create Thumbnail" 2927 2867 msgstr "Vorschaubild erstellen" 2928 2868 2929 #: textpress/templates/admin/file_uploads/thumbnailer.html:602869 #: zine/templates/admin/file_uploads/thumbnailer.html:60 2930 2870 msgid "You haven't uploaded any images yet." 2931 2871 msgstr "Du hast noch keine Bilder hochgeladen." 2932 2872 2933 #: textpress/templates/admin/file_uploads/upload.html:22934 #: textpress/templates/admin/file_uploads/upload.html:42873 #: zine/templates/admin/file_uploads/upload.html:2 2874 #: zine/templates/admin/file_uploads/upload.html:4 2935 2875 msgid "Upload File" 2936 2876 msgstr "Datei hochladen" 2937 2877 2938 #: textpress/templates/admin/file_uploads/upload.html:52878 #: zine/templates/admin/file_uploads/upload.html:5 2939 2879 msgid "" 2940 2880 "\n" … … 2946 2886 " " 2947 2887 2948 #: textpress/templates/admin/file_uploads/upload.html:102888 #: zine/templates/admin/file_uploads/upload.html:10 2949 2889 msgid "File to upload" 2950 2890 msgstr "Hochzuladene Datei" 2951 2891 2952 #: textpress/templates/admin/file_uploads/upload.html:122892 #: zine/templates/admin/file_uploads/upload.html:12 2953 2893 msgid "Rename to" 2954 2894 msgstr "Umbenennen nach" 2955 2895 2956 #: textpress/templates/admin/file_uploads/upload.html:142896 #: zine/templates/admin/file_uploads/upload.html:14 2957 2897 msgid "Overwrite" 2958 2898 msgstr "Überschreiben" 2959 2899 2960 #: textpress/templates/admin/file_uploads/upload.html:182900 #: zine/templates/admin/file_uploads/upload.html:18 2961 2901 msgid "Overwrite an already uploaded file with the same name." 2962 2902 msgstr "Überschreibe bereits hochgeladene Datei mit selben Namen." 2963 2903 2964 #: textpress/templates/admin/file_uploads/upload.html:25 2965 #: textpress/views/admin.py:98 2904 #: zine/templates/admin/file_uploads/upload.html:25 zine/views/admin.py:98 2966 2905 msgid "Upload" 2967 2906 msgstr "Hochladen" 2968 2907 2969 #: textpress/templates/admin/widgets/latest_comments.html:42970 #: textpress/templates/admin/widgets/latest_posts.html:42971 #: textpress/templates/admin/widgets/post_archive_summary.html:152908 #: zine/templates/admin/widgets/latest_comments.html:4 2909 #: zine/templates/admin/widgets/latest_posts.html:4 2910 #: zine/templates/admin/widgets/post_archive_summary.html:15 2972 2911 msgid "Limit" 2973 2912 msgstr "Limit" 2974 2913 2975 #: textpress/templates/admin/widgets/latest_comments.html:82914 #: zine/templates/admin/widgets/latest_comments.html:8 2976 2915 msgid "Ignore Blocked Comments" 2977 2916 msgstr "Geblockte Kommentare ignorieren" 2978 2917 2979 #: textpress/templates/admin/widgets/post_archive_summary.html:42918 #: zine/templates/admin/widgets/post_archive_summary.html:4 2980 2919 msgid "Detail" 2981 2920 msgstr "Details" 2982 2921 2983 #: textpress/templates/admin/widgets/post_archive_summary.html:72922 #: zine/templates/admin/widgets/post_archive_summary.html:7 2984 2923 msgid "Days" 2985 2924 msgstr "Tage" 2986 2925 2987 #: textpress/templates/admin/widgets/post_archive_summary.html:82926 #: zine/templates/admin/widgets/post_archive_summary.html:8 2988 2927 msgid "Months" 2989 2928 msgstr "Monate" 2990 2929 2991 #: textpress/templates/admin/widgets/post_archive_summary.html:92930 #: zine/templates/admin/widgets/post_archive_summary.html:9 2992 2931 msgid "Years" 2993 2932 msgstr "Jahre" 2994 2933 2995 #: textpress/templates/admin/widgets/tagcloud.html:42934 #: zine/templates/admin/widgets/tagcloud.html:4 2996 2935 msgid "Maximum Tags" 2997 2936 msgstr "Maximale Anzahl an Tags" 2998 2937 2999 #: textpress/templates/widgets/pages_navigation.html:22938 #: zine/templates/widgets/pages_navigation.html:2 3000 2939 msgid "Navigation" 3001 2940 msgstr "Navigation" 3002 2941 3003 #: textpress/templates/widgets/post_archive_summary.html:112942 #: zine/templates/widgets/post_archive_summary.html:11 3004 2943 msgid "Complete archive" 3005 2944 msgstr "Vollständiges Archiv" 3006 2945 3007 #: textpress/utils/admin.py:432946 #: zine/utils/admin.py:43 3008 2947 msgid "Error" 3009 2948 msgstr "Fehler" 3010 2949 3011 #: textpress/utils/admin.py:1292950 #: zine/utils/admin.py:129 3012 2951 msgid "The configuration file could not be written." 3013 2952 msgstr "Die Konfigurationsdatei konnte nicht geschrieben werden." 3014 2953 3015 #: textpress/utils/mail.py:902954 #: zine/utils/mail.py:90 3016 2955 msgid "TLS enabled but server does not support TLS" 3017 2956 msgstr "TLS wurde aktiviert aber der Server unterstützt kein TLS" 3018 2957 3019 #: textpress/views/admin.py:84 textpress/views/admin.py:893020 #: textpress/views/admin.py:108 textpress/views/admin.py:1132958 #: zine/views/admin.py:84 zine/views/admin.py:89 zine/views/admin.py:108 2959 #: zine/views/admin.py:113 3021 2960 msgid "Overview" 3022 2961 msgstr "Übersicht" 3023 2962 3024 #: textpress/views/admin.py:912963 #: zine/views/admin.py:91 3025 2964 #, python-format 3026 2965 msgid "Awaiting Moderation (%d)" 3027 2966 msgstr "Unmoderiert (%d)" 3028 2967 3029 #: textpress/views/admin.py:942968 #: zine/views/admin.py:94 3030 2969 #, python-format 3031 2970 msgid "Spam (%d)" 3032 2971 msgstr "Spam (%d)" 3033 2972 3034 #: textpress/views/admin.py:96 textpress/views/admin.py:1212973 #: zine/views/admin.py:96 zine/views/admin.py:121 3035 2974 msgid "Uploads" 3036 2975 msgstr "Dateien" 3037 2976 3038 #: textpress/views/admin.py:972977 #: zine/views/admin.py:97 3039 2978 msgid "Browse" 3040 2979 msgstr "Durchsuchen" 3041 2980 3042 #: textpress/views/admin.py:1092981 #: zine/views/admin.py:109 3043 2982 msgid "Write Page" 3044 2983 msgstr "Seite schreiben" 3045 2984 3046 #: textpress/views/admin.py:1122985 #: zine/views/admin.py:112 3047 2986 msgid "Users" 3048 2987 msgstr "Benutzer" 3049 2988 3050 #: textpress/views/admin.py:1162989 #: zine/views/admin.py:116 3051 2990 msgid "Options" 3052 2991 msgstr "Optionen" 3053 2992 3054 #: textpress/views/admin.py:1172993 #: zine/views/admin.py:117 3055 2994 msgid "Basic" 3056 2995 msgstr "Einfach" 3057 2996 3058 #: textpress/views/admin.py:1182997 #: zine/views/admin.py:118 3059 2998 msgid "URLs" 3060 2999 msgstr "URLs" 3061 3000 3062 #: textpress/views/admin.py:1233001 #: zine/views/admin.py:123 3063 3002 msgid "Cache" 3064 3003 msgstr "Cache" 3065 3004 3066 #: textpress/views/admin.py:1313005 #: zine/views/admin.py:129 3067 3006 msgid "Information" 3068 3007 msgstr "Information" 3069 3008 3070 #: textpress/views/admin.py:1323009 #: zine/views/admin.py:130 3071 3010 msgid "Help" 3072 3011 msgstr "Hilfe" 3073 3012 3074 #: textpress/views/admin.py:1333013 #: zine/views/admin.py:131 3075 3014 msgid "About" 3076 3015 msgstr "Über" 3077 3016 3078 #: textpress/views/admin.py:1413017 #: zine/views/admin.py:143 3079 3018 msgid "System" 3080 3019 msgstr "System" 3081 3020 3082 #: textpress/views/admin.py:1643083 #, python-format 3084 msgid "" 3085 " TextPress is in maintenance mode. Don't forget to <a href=\"%s\">turn it"3086 " offagain</a> once you finish your changes."3087 msgstr "" 3088 " TextPressist im Wartungsmodus. Vergiss nicht ihn <a href=\"%s\">wieder "3021 #: zine/views/admin.py:166 3022 #, python-format 3023 msgid "" 3024 "Zine is in maintenance mode. Don't forget to <a href=\"%s\">turn it off " 3025 "again</a> once you finish your changes." 3026 msgstr "" 3027 "Zine ist im Wartungsmodus. Vergiss nicht ihn <a href=\"%s\">wieder " 3089 3028 "zu deaktivieren</a> wenn du fertig bist." 3090 3029 3091 #: textpress/views/admin.py:1753030 #: zine/views/admin.py:177 3092 3031 #, python-format 3093 3032 msgid "Could not activate plugin “%(name)s”: %(error)s" 3094 3033 msgstr "Konnte das Plugin \"%(name)s\" nicht aktivieren: %(error)s" 3095 3034 3096 #: textpress/views/admin.py:1803035 #: zine/views/admin.py:182 3097 3036 #, python-format 3098 3037 msgid "" … … 3106 3045 "Pluginwache." 3107 3046 3108 #: textpress/views/admin.py:1883047 #: zine/views/admin.py:190 3109 3048 msgid "unknown file" 3110 3049 msgstr "Unbekannte Datei" 3111 3050 3112 #: textpress/views/admin.py:2563051 #: zine/views/admin.py:258 3113 3052 msgid "Text here..." 3114 3053 msgstr "Text hier..." 3115 3054 3116 #: textpress/views/admin.py:2583055 #: zine/views/admin.py:260 3117 3056 msgid "Untitled Page" 3118 3057 msgstr "Seite schreiben" 3119 3058 3120 #: textpress/views/admin.py:3563059 #: zine/views/admin.py:358 3121 3060 msgid "You have to provide a title." 3122 3061 msgstr "Du musst einen Titel angeben." 3123 3062 3124 #: textpress/views/admin.py:3583063 #: zine/views/admin.py:360 3125 3064 msgid "Your title is too long." 3126 3065 msgstr "Der Titel ist zu lang." 3127 3066 3128 #: textpress/views/admin.py:3613067 #: zine/views/admin.py:363 3129 3068 msgid "You have to provide a body." 3130 3069 msgstr "Du musst einen Text angeben." 3131 3070 3132 #: textpress/views/admin.py:3683071 #: zine/views/admin.py:370 3133 3072 msgid "Invalid post status" 3134 3073 msgstr "Ungültiger Status" 3135 3074 3136 #: textpress/views/admin.py:3753075 #: zine/views/admin.py:377 3137 3076 msgid "" 3138 3077 "You cannot change the text of a post which parser does not exist any " … … 3142 3081 " existiert." 3143 3082 3144 #: textpress/views/admin.py:380 textpress/views/admin.py:7083083 #: zine/views/admin.py:382 zine/views/admin.py:710 3145 3084 #, python-format 3146 3085 msgid "Unknown parser “%s”." 3147 3086 msgstr "Unbekannter parser \"%s\"." 3148 3087 3149 #: textpress/views/admin.py:3843088 #: zine/views/admin.py:386 3150 3089 msgid "Invalid publication date." 3151 3090 msgstr "Ungültiges Datum der Veröffentlichung" 3152 3091 3153 #: textpress/views/admin.py:3933092 #: zine/views/admin.py:395 3154 3093 #, python-format 3155 3094 msgid "Unknown author “%s”." 3156 3095 msgstr "Unbekannter Author \"%s\"." 3157 3096 3158 #: textpress/views/admin.py:3983097 #: zine/views/admin.py:400 3159 3098 msgid "A slug cannot contain a slash." 3160 3099 msgstr "Ein URL Bezeichner darf keinen Schrägstrich beinhalten." 3161 3100 3162 #: textpress/views/admin.py:4003101 #: zine/views/admin.py:402 3163 3102 msgid "Your slug is too long" 3164 3103 msgstr "Der URL Bezeichner ist zu lang." 3165 3104 3166 #: textpress/views/admin.py:4093105 #: zine/views/admin.py:411 3167 3106 #, python-format 3168 3107 msgid "Unknown tag “%s”." 3169 3108 msgstr "Unbekannte Markierung \"%s\"." 3170 3109 3171 #: textpress/views/admin.py:4603110 #: zine/views/admin.py:462 3172 3111 msgid "No URLs pinged so far because the post is not publicly available" 3173 3112 msgstr "" … … 3175 3114 "erreichbar ist" 3176 3115 3177 #: textpress/views/admin.py:4633116 #: zine/views/admin.py:465 3178 3117 msgid "" 3179 3118 "Could not ping URLs because the parser for the post is not available any " … … 3183 3122 "länger verfügbar ist." 3184 3123 3185 #: textpress/views/admin.py:4773124 #: zine/views/admin.py:479 3186 3125 #, python-format 3187 3126 msgid "Could not ping %(url)s: %(error)s" 3188 3127 msgstr "Konnte %(url)s nicht pingen: %(error)s" 3189 3128 3190 #: textpress/views/admin.py:4823129 #: zine/views/admin.py:484 3191 3130 #, python-format 3192 3131 msgid "%s was pinged successfully." 3193 3132 msgstr "%s wurde erfolgreich gepingt." 3194 3133 3195 #: textpress/views/admin.py:4863134 #: zine/views/admin.py:488 3196 3135 #, python-format 3197 3136 msgid "The post %s was created successfully." 3198 3137 msgstr "Der Eintrag %s wurde erfolgreich erstellt." 3199 3138 3200 #: textpress/views/admin.py:4893139 #: zine/views/admin.py:491 3201 3140 #, python-format 3202 3141 msgid "The post %s was updated successfully." 3203 3142 msgstr "Der Eintrag %s wurde erfolgreich erstellt." 3204 3143 3205 #: textpress/views/admin.py:502 textpress/views/admin.py:7523144 #: zine/views/admin.py:504 zine/views/admin.py:754 3206 3145 #, python-format 3207 3146 msgid "Missing Parser “%s”" 3208 3147 msgstr "Parser \"%s\" fehlt." 3209 3148 3210 #: textpress/views/admin.py:5043149 #: zine/views/admin.py:506 3211 3150 #, python-format 3212 3151 msgid "" 3213 3152 "This post was created with the parser “%(parser)s” that is not installed " 3214 "any longer. Because of that TextPress doesn't allow modifcations on the"3215 " text until you either change the parser or reinstall/activate the plugin"3216 " thatprovided that parser."3153 "any longer. Because of that Zine doesn't allow modifcations on the text " 3154 "until you either change the parser or reinstall/activate the plugin that " 3155 "provided that parser." 3217 3156 msgstr "" 3218 3157 "Der Eintrag wurde mit dem Parser \"%(parser)s\" erstellt, der nicht mehr " 3219 "installiert ist. Aus diesem Grund erlaubt TextPresskeine Veränderungen "3158 "installiert ist. Aus diesem Grund erlaubt Zine keine Veränderungen " 3220 3159 "am Text bis entweder der Parser für diesen Text geändert wurder oder der " 3221 3160 "Parser neu installiert wurde." 3222 3161 3223 #: textpress/views/admin.py:5193162 #: zine/views/admin.py:521 3224 3163 msgid "Published" 3225 3164 msgstr "Veröffentlicht" 3226 3165 3227 #: textpress/views/admin.py:5203166 #: zine/views/admin.py:522 3228 3167 msgid "Draft" 3229 3168 msgstr "Entwurf" 3230 3169 3231 #: textpress/views/admin.py:5213170 #: zine/views/admin.py:523 3232 3171 msgid "Private" 3233 3172 msgstr "Privat" 3234 3173 3235 #: textpress/views/admin.py:5553174 #: zine/views/admin.py:557 3236 3175 #, python-format 3237 3176 msgid "The post %s was deleted successfully." 3238 3177 msgstr "Der Eintrag %s wurde erfolgreich gelöscht." 3239 3178 3240 #: textpress/views/admin.py:5973179 #: zine/views/admin.py:599 3241 3180 msgid "Approved all the selected comments." 3242 3181 msgstr "Alle markierten Kommentare wurden bestätigt." 3243 3182 3244 #: textpress/views/admin.py:6183183 #: zine/views/admin.py:620 3245 3184 msgid "All Comments" 3246 3185 msgstr "Alle Kommentare" 3247 3186 3248 #: textpress/views/admin.py:6253187 #: zine/views/admin.py:627 3249 3188 msgid "Comments Awaiting Moderation" 3250 3189 msgstr "Unmoderierte Kommentare" 3251 3190 3252 #: textpress/views/admin.py:6323191 #: zine/views/admin.py:634 3253 3192 msgid "Spam" 3254 3193 msgstr "Spam" 3255 3194 3256 #: textpress/views/admin.py:6453195 #: zine/views/admin.py:647 3257 3196 #, python-format 3258 3197 msgid "Comments for “%s”" 3259 3198 msgstr "Kommentare für \"%s\"" 3260 3199 3261 #: textpress/views/admin.py:6933200 #: zine/views/admin.py:695 3262 3201 msgid "You have to give the comment an author." 3263 3202 msgstr "Du musst dem Kommentar einen Author geben." 3264 3203 3265 #: textpress/views/admin.py:6963204 #: zine/views/admin.py:698 3266 3205 msgid "You have to provide a valid mail address for the author." 3267 3206 msgstr "Du musst eine gültige E-Mail Adresse für den Autor angeben." 3268 3207 3269 #: textpress/views/admin.py:7033208 #: zine/views/admin.py:705 3270 3209 msgid "You cannot change the text of a comment if the parser is missing." 3271 3210 msgstr "Du kannst den Text eines Kommentars nicht ändern wenn der Parser fehlt." 3272 3211 3273 #: textpress/views/admin.py:7103212 #: zine/views/admin.py:712 3274 3213 msgid "Need a text for this comment." 3275 3214 msgstr "Es muss ein Text für dieses Kommentar angegeben werden." 3276 3215 3277 #: textpress/views/admin.py:7123216 #: zine/views/admin.py:714 3278 3217 msgid "You have to ommitt the url or provide a valid one." 3279 3218 msgstr "Du musst die URL leer lassen oder eine gültige angeben." 3280 3219 3281 #: textpress/views/admin.py:7183220 #: zine/views/admin.py:720 3282 3221 msgid "Invalid date for comment." 3283 3222 msgstr "Ungültiges Datum für Kommentar." 3284 3223 3285 #: textpress/views/admin.py:739 textpress/views/admin.py:8553224 #: zine/views/admin.py:741 zine/views/admin.py:857 3286 3225 #, python-format 3287 3226 msgid "blocked by %s" 3288 3227 msgstr "geblockt von %s" 3289 3228 3290 #: textpress/views/admin.py:7433229 #: zine/views/admin.py:745 3291 3230 #, python-format 3292 3231 msgid "Comment by %s moderated successfully." 3293 3232 msgstr "Kommentar von %s wurde erfolgreich moderiert." 3294 3233 3295 #: textpress/views/admin.py:7543234 #: zine/views/admin.py:756 3296 3235 #, python-format 3297 3236 msgid "" 3298 3237 "This comment was submitted when the parser “%(parser)s” was the comment " 3299 "parser. Because it is not available any longer TextPressdoesn't allow "3238 "parser. Because it is not available any longer Zine doesn't allow " 3300 3239 "modifcations on the text until you reinstall/activate the plugin that " 3301 3240 "provided that parser." … … 3303 3242 "Das Kommentar wurde abgesendet als der Parser \"%(parser)s\" der Parser " 3304 3243 "für Kommentare war. Weil dieser nicht mehr länger verfügbar ist erlaubt " 3305 " TextPresskeine Veränderungen am Text bis der Parser wieder installiert "3244 "Zine keine Veränderungen am Text bis der Parser wieder installiert " 3306 3245 "wurde." 3307 3246 3308 #: textpress/views/admin.py:7993247 #: zine/views/admin.py:801 3309 3248 #, python-format 3310 3249 msgid "Comment by %s deleted successfully." 3311 3250 msgstr "Kommentar von %s wurde erfolgreich gelöscht." 3312 3251 3313 #: textpress/views/admin.py:8283252 #: zine/views/admin.py:830 3314 3253 #, python-format 3315 3254 msgid "Comment by %s approved successfully." 3316 3255 msgstr "Kommentar von %s wurde erfolgreich bestätigt.." 3317 3256 3318 #: textpress/views/admin.py:8603257 #: zine/views/admin.py:862 3319 3258 #, python-format 3320 3259 msgid "Comment by %s blocked successfully." 3321 3260 msgstr "Kommentar von %s wurde erfolgreich geblockt." 3322 3261 3323 #: textpress/views/admin.py:9243262 #: zine/views/admin.py:926 3324 3263 msgid "You have to give the tag a name." 3325 3264 msgstr "Du musst der Markierung einen Namen geben." 3326 3265 3327 #: textpress/views/admin.py:9263266 #: zine/views/admin.py:928 3328 3267 #, python-format 3329 3268 msgid "The slug \"%s\" is not unique." 3330 3269 msgstr "Der Bezeichner \"%s\" ist nicht eindeutig." 3331 3270 3332 #: textpress/views/admin.py:9313271 #: zine/views/admin.py:933 3333 3272 #, python-format 3334 3273 msgid "Tag %s created successfully." 3335 3274 msgstr "Markierung %s wurde erfolgreich erstellt." 3336 3275 3337 #: textpress/views/admin.py:9383276 #: zine/views/admin.py:940 3338 3277 #, python-format 3339 3278 msgid "Tag %s updated successfully." 3340 3279 msgstr "Markierung %s wurde erfolgreich verändert." 3341 3280 3342 #: textpress/views/admin.py:9793281 #: zine/views/admin.py:981 3343 3282 #, python-format 3344 3283 msgid "Tag %s deleted successfully." 3345 3284 msgstr "Markierung %s wurde erfolgreich gelöscht." 3346 3285 3347 #: textpress/views/admin.py:10403286 #: zine/views/admin.py:1042 3348 3287 msgid "Username is required." 3349 3288 msgstr "Der Benutzername ist verpflichtend." 3350 3289 3351 #: textpress/views/admin.py:10433290 #: zine/views/admin.py:1045 3352 3291 #, python-format 3353 3292 msgid "Username “%s” is taken." 3354 3293 msgstr "Der Benutzername \"%s\" ist bereits in Verwendung." 3355 3294 3356 #: textpress/views/admin.py:10463295 #: zine/views/admin.py:1048 3357 3296 msgid "You have to provide a password." 3358 3297 msgstr "Du musst ein Passwort angeben." 3359 3298 3360 #: textpress/views/admin.py:10533299 #: zine/views/admin.py:1055 3361 3300 msgid "The user needs a valid mail address." 3362 3301 msgstr "Der Benutzer benötigt eine gültige E-Mail Adresse." 3363 3302 3364 #: textpress/views/admin.py:10603303 #: zine/views/admin.py:1062 3365 3304 msgid "Invalid user role." 3366 3305 msgstr "Ungültige Rolle für Benutzer." 3367 3306 3368 #: textpress/views/admin.py:10673307 #: zine/views/admin.py:1069 3369 3308 #, python-format 3370 3309 msgid "User %s created successfully." 3371 3310 msgstr "Benutzer %s erfolgreich erstellt" 3372 3311 3373 #: textpress/views/admin.py:10803312 #: zine/views/admin.py:1082 3374 3313 #, python-format 3375 3314 msgid "User %s edited successfully." 3376 3315 msgstr "Benutzer %s wurde erfolgreich bearbeitet." 3377 3316 3378 #: textpress/views/admin.py:11413317 #: zine/views/admin.py:1143 3379 3318 msgid "You cannot delete yourself." 3380 3319 msgstr "Du kannst dich selbst nicht löschen." 3381 3320 3382 #: textpress/views/admin.py:11703321 #: zine/views/admin.py:1172 3383 3322 #, python-format 3384 3323 msgid "User %s deleted successfully." 3385 3324 msgstr "Benutzer %s wurde erfolgreich gelöscht." 3386 3325 3387 #: textpress/views/admin.py:11973326 #: zine/views/admin.py:1199 3388 3327 msgid "Configuration altered successfully." 3389 3328 msgstr "Konfiguration wurde erfolgreich verändert." 3390 3329 3391 #: textpress/views/admin.py:12233330 #: zine/views/admin.py:1225 3392 3331 msgid "You have to provide a blog title" 3393 3332 msgstr "Du musst einen Titel für das Blog angeben." 3394 3333 3395 #: textpress/views/admin.py:12273334 #: zine/views/admin.py:1229 3396 3335 msgid "You have to provide a valid e-mail address for the blog e-mail field." 3397 3336 msgstr "Du musst eine E-Mail Adresse für das Blog E-Mail Feld angeben." 3398 3337 3399 #: textpress/views/admin.py:1248 textpress/views/admin.py:12523338 #: zine/views/admin.py:1250 zine/views/admin.py:1254 3400 3339 #, python-format 3401 3340 msgid "Unknown parser %s." 3402 3341 msgstr "Unbekannter Parser %s." 3403 3342 3404 #: textpress/views/admin.py:12573343 #: zine/views/admin.py:1259 3405 3344 msgid "Posts per page must be at least 1" 3406 3345 msgstr "Die Anzahl der Beiträge pro Seite muss zumindest 1 sein" 3407 3346 3408 #: textpress/views/admin.py:12593347 #: zine/views/admin.py:1261 3409 3348 msgid "Posts per page must be a valid integer" 3410 3349 msgstr "Die Anzahl der Beiträge pro Seite muss eine Zahl sein" 3411 3350 3412 #: textpress/views/admin.py:13263351 #: zine/views/admin.py:1328 3413 3352 msgid "URL prefix may not contain greater than or smaller than signs." 3414 3353 msgstr "Der URL Präfix darf nicht ein größer oder kleiner als Zeichen beinhalten." 3415 3354 3416 #: textpress/views/admin.py:13293355 #: zine/views/admin.py:1331 3417 3356 msgid "URL prefixes have to start with a slash." 3418 3357 msgstr "URL Präfixe müssen mit einem Slash beginnen." 3419 3358 3420 #: textpress/views/admin.py:13313359 #: zine/views/admin.py:1333 3421 3360 msgid "URL prefixes may not end with a slash." 3422 3361 msgstr "ein URL Präfix darf nicht mit einem Slash enden." 3423 3362 3424 #: textpress/views/admin.py:13403363 #: zine/views/admin.py:1342 3425 3364 msgid "URL configuration could not be changed." 3426 3365 msgstr "Die URL Konfiguration konnte nicht geändert werden." 3427 3366 3428 #: textpress/views/admin.py:13433367 #: zine/views/admin.py:1345 3429 3368 msgid "URL configuration changed." 3430 3369 msgstr "Die URL Konfiguration wurde geändert." 3431 3370 3432 #: textpress/views/admin.py:13673371 #: zine/views/admin.py:1369 3433 3372 msgid "Theme changed successfully." 3434 3373 msgstr "Das Thema wurde erfolgreich geändert." 3435 3374 3436 #: textpress/views/admin.py:13693375 #: zine/views/admin.py:1371 3437 3376 msgid "Theme could not be changed." 3438 3377 msgstr "Das Thema konnte nicht geändert werden." 3439 3378 3440 #: textpress/views/admin.py:13833379 #: zine/views/admin.py:1385 3441 3380 msgid "This theme is not configurable" 3442 3381 msgstr "Dieses Thema kann nicht konfiguriert werden" 3443 3382 3444 #: textpress/views/admin.py:13973383 #: zine/views/admin.py:1399 3445 3384 msgid "" 3446 3385 "Plugin guard enabled successfully. Errors occuring in plugins during " … … 3450 3389 "werden nun abgefangen." 3451 3390 3452 #: textpress/views/admin.py:14003391 #: zine/views/admin.py:1402 3453 3392 msgid "Plugin guard could not be enabled." 3454 3393 msgstr "Die Pluginwache konnte nicht aktiviert werden." 3455 3394 3456 #: textpress/views/admin.py:14033395 #: zine/views/admin.py:1405 3457 3396 msgid "Plugin guard disabled successfully." 3458 3397 msgstr "Die Pluginwache wurde erfolgreich aktiviert." 3459 3398 3460 #: textpress/views/admin.py:14053399 #: zine/views/admin.py:1407 3461 3400 msgid "Plugin guard could not be disabled." 3462 3401 msgstr "Die Pluginwache konnte nicht deaktiviert werden." 3463 3402 3464 #: textpress/views/admin.py:14143403 #: zine/views/admin.py:1416 3465 3404 #, python-format 3466 3405 msgid "" … … 3471 3410 "\"%(plugin)s\" geladen." 3472 3411 3473 #: textpress/views/admin.py:14183412 #: zine/views/admin.py:1420 3474 3413 #, python-format 3475 3414 msgid "Plugin “%s” activated." 3476 3415 msgstr "Plugin \"%s\" aktiviert." 3477 3416 3478 #: textpress/views/admin.py:14233417 #: zine/views/admin.py:1425 3479 3418 #, python-format 3480 3419 msgid "" … … 3485 3424 "installiere %(dependency)s." 3486 3425 3487 #: textpress/views/admin.py:14283426 #: zine/views/admin.py:1430 3488 3427 #, python-format 3489 3428 msgid "Plugin “%s” could not be loaded" 3490 3429 msgstr "Plugin \"%s\" konnte nicht geladen werden" 3491 3430 3492 #: textpress/views/admin.py:14333431 #: zine/views/admin.py:1435 3493 3432 #, python-format 3494 3433 msgid "Plugin “%s” deactivated." 3495 3434 msgstr "Plugin \"%s\" wurde deaktiviert." 3496 3435 3497 #: textpress/views/admin.py:14443436 #: zine/views/admin.py:1446 3498 3437 msgid "" 3499 3438 "Could not install the plugin because the file uploaded is not a valid " … … 3503 3442 "Plugin Datei ist." 3504 3443 3505 #: textpress/views/admin.py:14483506 msgid "" 3507 "The plugin uploaded has a newer package version than this TextPress"3444 #: zine/views/admin.py:1450 3445 msgid "" 3446 "The plugin uploaded has a newer package version than this Zine " 3508 3447 "installation can handle." 3509 3448 msgstr "" 3510 3449 "Das hochgeladene Plugin hat eine neuere Package Version als diese " 3511 " TextPressinstallation verarbeiten kann."3512 3513 #: textpress/views/admin.py:14523450 "Zine installation verarbeiten kann." 3451 3452 #: zine/views/admin.py:1454 3514 3453 msgid "A plugin with the same UID is already installed. Aborted." 3515 3454 msgstr "Ein plugin mit der gleichen UID wurde bereits installiert. Abbruch." 3516 3455 3517 #: textpress/views/admin.py:14553456 #: zine/views/admin.py:1457 3518 3457 msgid "" 3519 3458 "Could not install the package because the installer wasn't able to write " … … 3523 3462 "Informationen nicht schreiben konnte. Falsche Zugriffsrechte?" 3524 3463 3525 #: textpress/views/admin.py:14593464 #: zine/views/admin.py:1461 3526 3465 msgid "An unknown error occoured" 3527 3466 msgstr "Ein unbekannter Fehler ist aufgetreten" 3528 3467 3529 #: textpress/views/admin.py:14613468 #: zine/views/admin.py:1463 3530 3469 #, python-format 3531 3470 msgid "Plugin “%s” added succesfully. You can now enable it in the plugin list." … … 3534 3473 "aktivieren." 3535 3474 3536 #: textpress/views/admin.py:14913475 #: zine/views/admin.py:1493 3537 3476 #, python-format 3538 3477 msgid "" … … 3543 3482 " Falsche Zugriffsrechte?" 3544 3483 3545 #: textpress/views/admin.py:14943484 #: zine/views/admin.py:1496 3546 3485 #, python-format 3547 3486 msgid "The plugin “%s” was removed from the instance successfully." 3548 3487 msgstr "Das Plugin \"%s\" wurde erfolgreich entfernt." 3549 3488 3550 #: textpress/views/admin.py:15233489 #: zine/views/admin.py:1525 3551 3490 msgid "The cache was cleared successfully." 3552 3491 msgstr "Der cache wurde erfolgreich geleert." 3553 3492 3554 #: textpress/views/admin.py:15293493 #: zine/views/admin.py:1531 3555 3494 msgid "Invalid cache system selected." 3556 3495 msgstr "Ungültiges Cache System ausgewählt." 3557 3496 3558 #: textpress/views/admin.py:15333497 #: zine/views/admin.py:1535 3559 3498 msgid "Cache timeout must be positive integer." 3560 3499 msgstr "Cache-Timeout muss eine positive Ganzzahl sein." 3561 3500 3562 #: textpress/views/admin.py:15373501 #: zine/views/admin.py:1539 3563 3502 msgid "Cache timeout must be greater than 10 seconds." 3564 3503 msgstr "Cache-Timeout muss größer als 10 Sekunden sein." 3565 3504 3566 #: textpress/views/admin.py:15593505 #: zine/views/admin.py:1561 3567 3506 msgid "Updated cache settings." 3568 3507 msgstr "Cache Einstellungen aktualisiert." 3569 3508 3570 #: textpress/views/admin.py:15673509 #: zine/views/admin.py:1569 3571 3510 msgid "Simple Cache" 3572 3511 msgstr "Einfacher Cache" 3573 3512 3574 #: textpress/views/admin.py:15683513 #: zine/views/admin.py:1570 3575 3514 msgid "memcached" 3576 3515 msgstr "memcached" 3577 3516 3578 #: textpress/views/admin.py:15693517 #: zine/views/admin.py:1571 3579 3518 msgid "Filesystem" 3580 3519 msgstr "Dateisystem" 3581 3520 3582 #: textpress/views/admin.py:15703521 #: zine/views/admin.py:1572 3583 3522 msgid "No Cache" 3584 3523 msgstr "Kein Cache" 3585 3524 3586 #: textpress/views/admin.py:16283525 #: zine/views/admin.py:1630 3587 3526 msgid "Maintenance mode disabled. The blog is now publicly available." 3588 3527 msgstr "Wartungsmodus deaktiviert. Das Blog ist nun öffentlich verfügbar." 3589 3528 3590 #: textpress/views/admin.py:17073529 #: zine/views/admin.py:1709 3591 3530 #, python-format 3592 3531 msgid "The imported dump “%s” was deleted successfully." 3593 3532 msgstr "Der Import \"%s\" wurde erfolgreich gelöscht." 3594 3533 3595 #: textpress/views/admin.py:18073534 #: zine/views/admin.py:1809 3596 3535 msgid "You have to enter your old password." 3597 3536 msgstr "Du musst das alte Passwort eingeben." 3598 3537 3599 #: textpress/views/admin.py:18093538 #: zine/views/admin.py:1811 3600 3539 msgid "Your old password is wrong." 3601 3540 msgstr "Das alte Passwort ist falsch." 3602 3541 3603 #: textpress/views/admin.py:18123542 #: zine/views/admin.py:1814 3604 3543 msgid "Your new password cannot be empty." 3605 3544 msgstr "Das neue Passwort darf nicht leer sein." 3606 3545 3607 #: textpress/views/admin.py:18153546 #: zine/views/admin.py:1817 3608 3547 msgid "The passwords do not match." 3609 3548 msgstr "Die Passwörter stimmen nicht überein." 3610 3549 3611 #: textpress/views/admin.py:18193550 #: zine/views/admin.py:1821 3612 3551 msgid "Password changed successfully." 3613 3552 msgstr "Das Passwort wurde erfolgreich geändert." 3614 3553 3615 #: textpress/views/admin.py:19203554 #: zine/views/admin.py:1922 3616 3555 msgid "You have to provide a title" 3617 3556 msgstr "Du musst einen Titel angeben" 3618 3557 3619 #: textpress/views/admin.py:19273558 #: zine/views/admin.py:1929 3620 3559 msgid "You have to provide a key" 3621 3560 msgstr "Du musst einen Schlüssel angeben" 3622 3561 3623 #: textpress/views/admin.py:19343562 #: zine/views/admin.py:1936 3624 3563 msgid "You have to provide some content" 3625 3564 msgstr "Du musst einen Inhalt angeben" 3626 3565 3627 #: textpress/views/admin.py:19443566 #: zine/views/admin.py:1946 3628 3567 msgid "This key is already in use" 3629 3568 msgstr "Dieser Schlüssel wird bereits verwendet" 3630 3569 3631 #: textpress/views/admin.py:20093570 #: zine/views/admin.py:2011 3632 3571 #, python-format 3633 3572 msgid "The page %s was deleted successfully." 3634 3573 msgstr "Die Seite %s wurde erfolgreich gelöscht." 3635 3574 3636 #: textpress/views/admin.py:20303575 #: zine/views/admin.py:2032 3637 3576 #, python-format 3638 3577 msgid "Could not create upload target folder %s." 3639 3578 msgstr "Konnte den Ordner %s für hochgeladene Dateien nicht erstellen." 3640 3579 3641 #: textpress/views/admin.py:20373580 #: zine/views/admin.py:2039 3642 3581 msgid "No file uploaded." 3643 3582 msgstr "Keine Datei hochgeladen" 3644 3583 3645 #: textpress/views/admin.py:20393584 #: zine/views/admin.py:2041 3646 3585 msgid "Invalid filename requested." 3647 3586 msgstr "Ungültiger Dateinamen angefordert." 3648 3587 3649 #: textpress/views/admin.py:20413588 #: zine/views/admin.py:2043 3650 3589 #, python-format 3651 3590 msgid "A file with the filename %s exists already." 3652 3591 msgstr "Eine Datei mit den Namen %s existiert bereits." 3653 3592 3654 #: textpress/views/admin.py:20493593 #: zine/views/admin.py:2051 3655 3594 #, python-format 3656 3595 msgid "File %s uploaded successfully." 3657 3596 msgstr "Datei %s wurde erfolgreich hochgeladen." 3658 3597 3659 #: textpress/views/admin.py:2055 textpress/views/admin.py:21333598 #: zine/views/admin.py:2057 zine/views/admin.py:2135 3660 3599 #, python-format 3661 3600 msgid "Could not write file %s." 3662 3601 msgstr "Konnte Datei %s nicht schreiben." 3663 3602 3664 #: textpress/views/admin.py:20813603 #: zine/views/admin.py:2083 3665 3604 #, python-format 3666 3605 msgid "" … … 3672 3611 " in der <a href=\"%(config)s\">Konfiguration</a> angeben." 3673 3612 3674 #: textpress/views/admin.py:20853613 #: zine/views/admin.py:2087 3675 3614 #, python-format 3676 3615 msgid "" … … 3681 3620 "href\"%(config)s\">überprüfe die Konfiguration</a>)" 3682 3621 3683 #: textpress/views/admin.py:20883622 #: zine/views/admin.py:2090 3684 3623 #, python-format 3685 3624 msgid "Cannot find <a href=\"%(im)s\">ImageMagick</a>." 3686 3625 msgstr "Konnte <a href=\"%(im)s\">ImageMagick</a> nicht finden." 3687 3626 3688 #: textpress/views/admin.py:20993627 #: zine/views/admin.py:2101 3689 3628 msgid "You have to specify a source image" 3690 3629 msgstr "Du musst ein Quellbild angeben" 3691 3630 3692 #: textpress/views/admin.py:21043631 #: zine/views/admin.py:2106 3693 3632 #, python-format 3694 3633 msgid "The image %s does not exist." 3695 3634 msgstr "Das Bild %s existiert nicht." 3696 3635 3697 #: textpress/views/admin.py:21093636 #: zine/views/admin.py:2111 3698 3637 msgid "You have to define at least the width of the thumbnail." 3699 3638 msgstr "Du musst zumindest die Breite des Vorschaubilds angeben." 3700 3639 3701 #: textpress/views/admin.py:21133640 #: zine/views/admin.py:2115 3702 3641 msgid "Thumbnail dimensions must be integers." 3703 3642 msgstr "Die Abmessungen des Vorschaubildes müssen Zahlen sein." 3704 3643 3705 #: textpress/views/admin.py:21193644 #: zine/views/admin.py:2121 3706 3645 msgid "You have to specify a filename for the thumbnail." 3707 3646 msgstr "Du musst einen Dateinamen für das Vorschaubild angeben." 3708 3647 3709 #: textpress/views/admin.py:21223648 #: zine/views/admin.py:2124 3710 3649 msgid "Invalid filename for thumbnail." 3711 3650 msgstr "Ungültiger Dateiname für Vorschaubild." 3712 3651 3713 #: textpress/views/admin.py:21243652 #: zine/views/admin.py:2126 3714 3653 msgid "An file with this name exists already." 3715 3654 msgstr "Eine Datei mit diesem Namen existiert bereits." 3716 3655 3717 #: textpress/views/admin.py:21423656 #: zine/views/admin.py:2144 3718 3657 #, python-format 3719 3658 msgid "Thumbnail %s was created successfully." 3720 3659 msgstr "Das Vorschaubild %s wurde erfolgreich erstellt." 3721 3660 3722 #: textpress/views/admin.py:21843661 #: zine/views/admin.py:2186 3723 3662 msgid "Upload folder changed successfully." 3724 3663 msgstr "Der Ordner für Hochgeladene Dateien wurde erfolgreich erstellt." 3725 3664 3726 #: textpress/views/admin.py:21863665 #: zine/views/admin.py:2188 3727 3666 msgid "Upload folder could not be changed." 3728 3667 msgstr "Der Ordner für Hochgeladene Dateien konnte nicht geändert werden." 3729 3668 3730 #: textpress/views/admin.py:21913669 #: zine/views/admin.py:2193 3731 3670 msgid "Changed path to ImageMagick" 3732 3671 msgstr "Pfad zu ImageMagick wurde geändert" 3733 3672 3734 #: textpress/views/admin.py:21933673 #: zine/views/admin.py:2195 3735 3674 msgid "ImageMagick is searched on the system path now." 3736 3675 msgstr "ImageMagick wird nun systemweit gesucht." 3737 3676 3738 #: textpress/views/admin.py:21953677 #: zine/views/admin.py:2197 3739 3678 msgid "Path to ImageMagick could not be changed." 3740 3679 msgstr "Der Pfad zu ImageMagick konnte nicht geändert werden." 3741 3680 3742 #: textpress/views/admin.py:22003681 #: zine/views/admin.py:2202 3743 3682 msgid "Upload mimetype mapping altered successfully." 3744 3683 msgstr "Mimetype-Verknüpfungen für hochgeladene Dateien wurde geändert." 3745 3684 3746 #: textpress/views/admin.py:22023685 #: zine/views/admin.py:2204 3747 3686 msgid "Upload mimetype mapping could not be altered." 3748 3687 msgstr "Mimetype-Verknüpfungen konnte nicht geändert werden." 3749 3688 3750 #: textpress/views/admin.py:22283689 #: zine/views/admin.py:2230 3751 3690 #, python-format 3752 3691 msgid "Could not delete file %s." 3753 3692 msgstr "Konnte Datei %s nicht löschen." 3754 3693 3755 #: textpress/views/admin.py:22313694 #: zine/views/admin.py:2233 3756 3695 #, python-format 3757 3696 msgid "File %s deleted successfully." 3758 3697 msgstr "Datei %s wurde erfolgreich gelöscht." 3759 3698 3760 #: textpress/views/admin.py:22783699 #: zine/views/admin.py:2280 3761 3700 #, python-format 3762 3701 msgid "User %s does not exist." 3763 3702 msgstr "Benutzer %s existiert nicht." 3764 3703 3765 #: textpress/views/admin.py:22833704 #: zine/views/admin.py:2285 3766 3705 msgid "Incorrect password." 3767 3706 msgstr "Falsches Passwort" 3768 3707 3769 #: textpress/views/admin.py:22853708 #: zine/views/admin.py:2287 3770 3709 msgid "You have to enter a username." 3771 3710 msgstr "Du musst einen Benutzernamen angeben." 3772 3711 3773 #: textpress/views/blog.py:49 textpress/views/blog.py:833712 #: zine/views/blog.py:49 zine/views/blog.py:83 3774 3713 msgid "Recent Posts Feed" 3775 3714 msgstr "Feed für Letze Einträge" 3776 3715 3777 #: textpress/views/blog.py:1163716 #: zine/views/blog.py:116 3778 3717 #, python-format 3779 3718 msgid "All posts tagged %s" 3780 3719 msgstr "Alle Einträge markiert mit %s" 3781 3720 3782 #: textpress/views/blog.py:1653721 #: zine/views/blog.py:165 3783 3722 #, python-format 3784 3723 msgid "All posts written by %s" 3785 3724 msgstr "Alle Einträge geschrieben von %s" 3786 3725 3787 #: textpress/views/blog.py:2413726 #: zine/views/blog.py:241 3788 3727 msgid "You have to enter your name." 3789 3728 msgstr "Du musst einen Namen eingeben." 3790 3729 3791 #: textpress/views/blog.py:2433730 #: zine/views/blog.py:243 3792 3731 msgid "Your name is too long." 3793 3732 msgstr "Dein Name ist zu lang." 3794 3733 3795 #: textpress/views/blog.py:2463734 #: zine/views/blog.py:246 3796 3735 msgid "You have to enter a valid mail address." 3797 3736 msgstr "Du musst eine gültige E-Mail Adresse angeben." 3798 3737 3799 #: textpress/views/blog.py:2483738 #: zine/views/blog.py:248 3800 3739 msgid "Your E-Mail address is too long." 3801 3740 msgstr "Deine E-Mail Adresse ist zu lang." 3802 3741 3803 #: textpress/views/blog.py:2513742 #: zine/views/blog.py:251 3804 3743 msgid "You have to enter a valid URL or omit the field." 3805 3744 msgstr "Du musst eine gültige URL eingeben oder das Feld leer lassen." 3806 3745 3807 #: textpress/views/blog.py:2533746 #: zine/views/blog.py:253 3808 3747 msgid "The URL is too long." 3809 3748 msgstr "Die URL ist zu lang." 3810 3749 3811 #: textpress/views/blog.py:2593750 #: zine/views/blog.py:259 3812 3751 msgid "Your comment is too short." 3813 3752 msgstr "Dein Kommentar ist zu kurz." 3814 3753 3815 #: textpress/views/blog.py:2613754 #: zine/views/blog.py:261 3816 3755 msgid "Your comment is too long." 3817 3756 msgstr "Dein Kommentar ist zu lang." 3818 3757 3819 #: textpress/views/blog.py:2943758 #: zine/views/blog.py:294 3820 3759 msgid "Comment waiting for approval" 3821 3760 msgstr "Kommentar muss erst von einem Administrator bestätigt werden." 3822 3761 3823 #: textpress/views/blog.py:3093762 #: zine/views/blog.py:309 3824 3763 msgid "Comments Feed" 3825 3764 msgstr "Kommentar-Feed" 3826 3765 3827 #: textpress/views/blog.py:4183766 #: zine/views/blog.py:418 3828 3767 #, python-format 3829 3768 msgid "Comment %(num)d on %(post)s" 3830 3769 msgstr "Kommentar %(num)d von %(post)s" 3831 3770 3832 #: textpress/websetup/__init__.py:943771 #: zine/websetup/__init__.py:94 3833 3772 #, python-format 3834 3773 msgid "" … … 3839 3778 " bevor das Setup fortfahren kann." 3840 3779 3841 #: textpress/websetup/__init__.py:1163780 #: zine/websetup/__init__.py:116 3842 3781 msgid "You have to provide a username." 3843 3782 msgstr "Du musst einen Benutzernamen angeben." 3844 3783 3845 #: textpress/websetup/__init__.py:1193784 #: zine/websetup/__init__.py:119 3846 3785 msgid "You have to enter a mail address." 3847 3786 msgstr "Du musst eine gültige E-Mail Adresse angeben." 3848 3787 3849 #: textpress/websetup/__init__.py:1213788 #: zine/websetup/__init__.py:121 3850 3789 msgid "The mail address is not valid." 3851 3790 msgstr "Deine E-Mail Adresse ist nicht gültig." 3852 3791 3853 #: textpress/websetup/__init__.py:1243792 #: zine/websetup/__init__.py:124 3854 3793 msgid "You have to enter a password." 3855 3794 msgstr "Du musst ein Passwort eingeben." 3856 3795 3857 #: textpress/websetup/__init__.py:1263796 #: zine/websetup/__init__.py:126 3858 3797 msgid "The two passwords do not match." 3859 3798 msgstr "Die Passwörter stimmen nicht überein." 3860 3799 3861 #: textpress/websetup/__init__.py:1853800 #: zine/websetup/__init__.py:185 3862 3801 #, python-format 3863 3802 msgid "" … … 3868 3807 "Bitte passe die Zugriffsrechte an und probiere nochmal." 3869 3808 3870 #: textpress/websetup/templates/admin_account.html:33809 #: zine/websetup/templates/admin_account.html:3 3871 3810 msgid "Administrator Account" 3872 3811 msgstr "Administratorzugang" 3873 3812 3874 #: textpress/websetup/templates/admin_account.html:4 3875 msgid "" 3876 "\n" 3877 " In order to log into your TextPress installation you have to provide " 3878 "a\n" 3813 #: zine/websetup/templates/admin_account.html:4 3814 msgid "" 3815 "\n" 3816 " In order to log into your Zine installation you have to provide a\n" 3879 3817 " login name for the administration user. You can later rename or " 3880 3818 "delete\n" … … 3888 3826 " " 3889 3827 3890 #: textpress/websetup/templates/admin_account.html:143828 #: zine/websetup/templates/admin_account.html:14 3891 3829 msgid "Password (repeat)" 3892 3830 msgstr "Passwort (wiederholen)" 3893 3831 3894 #: textpress/websetup/templates/database.html:33832 #: zine/websetup/templates/database.html:3 3895 3833 msgid "Database" 3896 3834 msgstr "Datenbank" 3897 3835 3898 #: textpress/websetup/templates/database.html:4 3899 msgid "" 3900 "\n" 3901 " TextPress uses a database to store blog posts and other information. " 3902 "The\n" 3836 #: zine/websetup/templates/database.html:4 3837 msgid "" 3838 "\n" 3839 " Zine uses a database to store blog posts and other information. The\n" 3903 3840 " only information it requires therefore is a database URI. Depending " 3904 3841 "on your\n" … … 3909 3846 msgstr "" 3910 3847 "\n" 3911 " TextPress verwendet eine Datenbank um Blog Einträge und andere " 3912 "Informationen\n" 3913 " zu speichern. Die einzige Information die es dazu benötigt ist die " 3914 "Datenbank\n" 3915 " URI. Abhängig von der Datenbank sieht diese URI anders aus. Die " 3916 "folgende\n" 3917 " Tabelle führt einige Beispiel URIs auf.\n" 3918 " " 3919 3920 #: textpress/websetup/templates/database.html:11 3848 " Zine benutzt eine Datenbank um die Einträge und andere Informationen\n" 3849 " zu speicher. Dazu musst du die URI für die Datenbank angeben. Abhängig\n" 3850 " vom Datenbanksystem ist diese etwas unterschiedlich.\n" 3851 " " 3852 3853 #: zine/websetup/templates/database.html:11 3921 3854 msgid "SQLite" 3922 3855 msgstr "SQLite" 3923 3856 3924 #: textpress/websetup/templates/database.html:123857 #: zine/websetup/templates/database.html:12 3925 3858 msgid "sqlite:///database.db" 3926 3859 msgstr "sqlite:///datenbank.db" 3927 3860 3928 #: textpress/websetup/templates/database.html:133861 #: zine/websetup/templates/database.html:13 3929 3862 msgid "" 3930 3863 "\n" … … 3947 3880 " " 3948 3881 3949 #: textpress/websetup/templates/database.html:203882 #: zine/websetup/templates/database.html:20 3950 3883 msgid "MySQL" 3951 3884 msgstr "MySQL" 3952 3885 3953 #: textpress/websetup/templates/database.html:213886 #: zine/websetup/templates/database.html:21 3954 3887 msgid "mysql://username:password@host/database_name" 3955 3888 msgstr "mysql://benutzername:passwort@server/datenbank_name" 3956 3889 3957 #: textpress/websetup/templates/database.html:223890 #: zine/websetup/templates/database.html:22 3958 3891 msgid "Postgres" 3959 3892 msgstr "Postgres" 3960 3893 3961 #: textpress/websetup/templates/database.html:233894 #: zine/websetup/templates/database.html:23 3962 3895 msgid "postgres://username:password@host/database_name" 3963 3896 msgstr "postgres://benutzername:passwort@server/datenbank_name" 3964 3897 3965 #: textpress/websetup/templates/error.html:33898 #: zine/websetup/templates/error.html:3 3966 3899 msgid "Setup Failed" 3967 3900 msgstr "Setup Fehlgeschlagen" 3968 3901 3969 #: textpress/websetup/templates/error.html:4 3970 msgid "" 3971 "The websetup was not able to finish the TextPress installation " 3972 "successfully." 3902 #: zine/websetup/templates/error.html:4 3903 msgid "The websetup was not able to finish the Zine installation successfully." 3973 3904 msgstr "Das Websetup konnte die Installation nicht erfolgreich beenden." 3974 3905 3975 #: textpress/websetup/templates/error.html:53976 msgid "" 3977 "\n" 3978 " If you need help for setting up TextPresshave a look at the support\n"3906 #: zine/websetup/templates/error.html:5 3907 msgid "" 3908 "\n" 3909 " If you need help for setting up Zine have a look at the support\n" 3979 3910 " wepage that will be there once a beta is available :-)\n" 3980 3911 " " 3981 3912 msgstr "" 3982 3913 "\n" 3983 " Wenn du Hilfe benötigst TextPresszu installieren schau auf die\n"3914 " Wenn du Hilfe benötigst um Zine zu installieren schau auf die\n" 3984 3915 " Support Webseite sobald die Beta erhältlich ist :-)\n" 3985 3916 " " 3986 3917 3987 #: textpress/websetup/templates/finished.html:33918 #: zine/websetup/templates/finished.html:3 3988 3919 msgid "Setup Finished" 3989 3920 msgstr "Setup Fertiggstellt" 3990 3921 3991 #: textpress/websetup/templates/finished.html:43922 #: zine/websetup/templates/finished.html:4 3992 3923 msgid "" 3993 3924 "\n" … … 4004 3935 " " 4005 3936 4006 #: textpress/websetup/templates/layout.html:54007 #: textpress/websetup/templates/layout.html:1594008 msgid " TextPressSetup"4009 msgstr " TextPress Installation"4010 4011 #: textpress/websetup/templates/layout.html:1683937 #: zine/websetup/templates/layout.html:5 3938 #: zine/websetup/templates/layout.html:159 3939 msgid "Zine Setup" 3940 msgstr "Zine Setup" 3941 3942 #: zine/websetup/templates/layout.html:168 4012 3943 msgid "An Error Occoured" 4013 3944 msgstr "Ein Fehler ist aufgetreten" 4014 3945 4015 #: textpress/websetup/templates/layout.html:1743946 #: zine/websetup/templates/layout.html:174 4016 3947 msgid "Next" 4017 3948 msgstr "Weiter" 4018 3949 4019 #: textpress/websetup/templates/layout.html:1743950 #: zine/websetup/templates/layout.html:174 4020 3951 msgid "Install" 4021 3952 msgstr "Installieren" 4022 3953 4023 #: textpress/websetup/templates/layout.html:1753954 #: zine/websetup/templates/layout.html:175 4024 3955 msgid "Back" 4025 3956 msgstr "Zurück" 4026 3957 4027 #: textpress/websetup/templates/start.html:34028 msgid "Welcome To The TextPressSetup"4029 msgstr "Willkommen zum TextPressSetup"4030 4031 #: textpress/websetup/templates/start.html:44032 msgid "" 4033 "\n" 4034 " Welcome to the TextPressSetup. This Wizard will ask you some\n"4035 " basic questions and setup TextPressfor you.\n"4036 " " 4037 msgstr "" 4038 "\n" 4039 " Willkommen zur TextPressInstallation. Dieser Assistent wird\n"3958 #: zine/websetup/templates/start.html:3 3959 msgid "Welcome To The Zine Setup" 3960 msgstr "Willkommen zum Zine Setup" 3961 3962 #: zine/websetup/templates/start.html:4 3963 msgid "" 3964 "\n" 3965 " Welcome to the Zine Setup. This Wizard will ask you some\n" 3966 " basic questions and setup Zine for you.\n" 3967 " " 3968 msgstr "" 3969 "\n" 3970 " Willkommen zur Zine Installation. Dieser Assistent wird\n" 4040 3971 " dir ein paar einfache Fragen stellen und TextPress für dich\n" 4041 3972 " konfigurieren.\n" 4042 3973 " " 4043 3974 4044 #: textpress/websetup/templates/start.html:83975 #: zine/websetup/templates/start.html:8 4045 3976 msgid "" 4046 3977 "\n" … … 4058 3989 " " 4059 3990 4060 #: textpress/websetup/templates/summary.html:33991 #: zine/websetup/templates/summary.html:3 4061 3992 msgid "Setup Starting" 4062 3993 msgstr "Installation Starten" 4063 3994 4064 #: textpress/websetup/templates/summary.html:4 4065 msgid "" 4066 "\n" 4067 " TextPress knows now about all the information it needs to setup your\n" 4068 " instance. After you click on the install button TextPress will create" 4069 "\n" 3995 #: zine/websetup/templates/summary.html:4 3996 msgid "" 3997 "\n" 3998 " Zine knows now about all the information it needs to setup your\n" 3999 " instance. After you click on the install button Zine will create\n" 4070 4000 " the database tables and insert the default information. Right after " 4071 4001 "that\n" 4072 " TextPress will be online in maintenance mode which means that it's " 4073 "only\n" 4002 " Zine will be online in maintenance mode which means that it's only\n" 4074 4003 " visible to the administrator, all other users will get a message that" 4075 4004 "\n" … … 4078 4007 msgstr "" 4079 4008 "\n" 4080 " TextPress kennt nun alle Informationen die es benötigt. Wenn du\n" 4081 " auf den \"Installieren\" Knopf drückst wird TextPress die\n" 4082 " Datenbank-Tabellen und die Konfiguration erstellen. Danach ist\n" 4083 " TextPress im Wartungsmodus online.\n" 4084 " " 4085 4009 " Zine kennt jetzt alle Informationen die es benötigt um dein Blog\n" 4010 " anzulegen. Nach der Installation wird Zine im Wartungsmodus online sein.\n" 4011 " Solange dieser aktiviert ist kannst nur du das Blog betrachten." 4012 " " -
zine/importers/__init__.py
r395 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.importers4 ~~~~~~~~~~~~~~ ~~~~~3 zine.importers 4 ~~~~~~~~~~~~~~ 5 5 6 6 Package for all kinds of importers. This implements the basic import … … 16 16 from pickle import dump, load, HIGHEST_PROTOCOL 17 17 from datetime import datetime 18 from textpress.api import _, require_role19 from textpress.database import db, posts20 from textpress.utils.xml import escape, get_etree21 from textpress.models import ROLE_ADMIN, ROLE_AUTHOR, COMMENT_MODERATED18 from zine.api import _, require_role 19 from zine.database import db, posts 20 from zine.utils.xml import escape, get_etree 21 from zine.models import ROLE_ADMIN, ROLE_AUTHOR, COMMENT_MODERATED 22 22 23 23 … … 71 71 # import models here because they have the same names as our 72 72 # importer objects this module exports 73 from textpress.models import User, Tag, Post, Comment73 from zine.models import User, Tag, Post, Comment 74 74 author_mapping = {} 75 75 label_mapping = {} … … 170 170 the changes are written back to the filesystem as new dump. 171 171 172 `app` can either be a ` TextPress` object that is also bound to the active172 `app` can either be a `Zine` object that is also bound to the active 173 173 thread or a string with the path to the instance folder. The latter is 174 174 useful for simple scripts that should rewrite imports. … … 176 176 close = False 177 177 if isinstance(app, basestring): 178 from textpress import make_textpress179 app = make_ textpress(app, bind_to_thread=True)178 from zine import make_zine 179 app = make_zine(app, bind_to_thread=True) 180 180 close = True 181 181 … … 208 208 def render_admin_page(self, template_name, **context): 209 209 """Shortcut for rendering an page for the admin.""" 210 from textpress.views.admin import render_admin_response210 from zine.views.admin import render_admin_response 211 211 return render_admin_response(template_name, 'maintenance.import', 212 212 **context) … … 377 377 378 378 379 from textpress.importers.wordpress import WordPressImporter380 from textpress.importers.blogger import BloggerImporter379 from zine.importers.wordpress import WordPressImporter 380 from zine.importers.blogger import BloggerImporter 381 381 all_importers = [WordPressImporter, BloggerImporter] -
zine/importers/blogger.py
r348 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.importers.blogger4 ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.importers.blogger 4 ~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Implements an importer for Blogger.com using the GData blogger API. … … 21 21 3. Data dumping 22 22 23 The textpressimporter framework takes over once the dump is "enqueued"23 The zine importer framework takes over once the dump is "enqueued" 24 24 25 25 Authentication … … 51 51 * Posts 52 52 * Comments 53 * Categories (called labels in TextPress)53 * Categories (called labels in Zine) 54 54 55 55 The blogger client uses atom feeds to retrieve the data. Each component … … 74 74 ------------ 75 75 76 This is the process by which the blogger data is dumped into the TextPress77 import system. Essentially it involves creating a textpress.importers.Blog78 instance with the necessary data. Instances of textpress.importers.Post,79 testpress.importers.Author, textpress.importers.Comment and80 textpress.importers.Label are created.76 This is the process by which the blogger data is dumped into the Zine 77 import system. Essentially it involves creating a zine.importers.Blog 78 instance with the necessary data. Instances of zine.importers.Post, 79 testpress.importers.Author, zine.importers.Comment and 80 zine.importers.Label are created. 81 81 82 82 Construction of these objects is a simple matter of passing the correct … … 85 85 Once the blog object is created, it is enqueued into the import system 86 86 (which then allows the user to select which posts/authors/metadata they 87 would like imported. At this point TextPresstakes over.87 would like imported. At this point Zine takes over. 88 88 89 89 … … 99 99 service = None 100 100 101 from textpress.application import redirect, url_for102 from textpress.importers import Importer, Blog, Label, Author, Post, Comment103 from textpress.api import _104 from textpress.utils.admin import flash105 from textpress.utils.dates import parse_iso8601101 from zine.application import redirect, url_for 102 from zine.importers import Importer, Blog, Label, Author, Post, Comment 103 from zine.api import _ 104 from zine.utils.admin import flash 105 from zine.utils.dates import parse_iso8601 106 106 107 107 … … 113 113 def _create_blogger_service(): 114 114 blogger_service = service.GDataService() 115 blogger_service.source = ' TextPress_BloggerImporter-1.0'115 blogger_service.source = 'Zine_BloggerImporter-1.0' 116 116 blogger_service.service = 'blogger' 117 117 blogger_service.server = 'www.blogger.com' -
zine/importers/wordpress.py
r335 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.importers.wordpress4 ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.importers.wordpress 4 ~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Implements an importer for WordPress extended RSS feeds. … … 13 13 from time import strptime 14 14 from datetime import datetime 15 from textpress.api import *16 from textpress.importers import Importer, Blog, Label, Author, Post, Comment17 from textpress.utils.admin import flash18 from textpress.utils.xml import _html_entities, get_etree, escape19 from textpress.utils.xxx import CSRFProtector, StreamReporter, \15 from zine.api import * 16 from zine.importers import Importer, Blog, Label, Author, Post, Comment 17 from zine.utils.admin import flash 18 from zine.utils.xml import _html_entities, get_etree, escape 19 from zine.utils.xxx import CSRFProtector, StreamReporter, \ 20 20 make_hidden_fields 21 from textpress.models import COMMENT_UNMODERATED, COMMENT_MODERATED21 from zine.models import COMMENT_UNMODERATED, COMMENT_MODERATED 22 22 23 23 -
zine/models.py
r461 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.models4 ~~~~~~~~~~~ ~~~~~3 zine.models 4 ~~~~~~~~~~~ 5 5 6 6 The core models and query helper functions. … … 13 13 from datetime import date, datetime, timedelta 14 14 15 from textpress.database import users, tags, posts, post_links, post_tags, \15 from zine.database import users, tags, posts, post_links, post_tags, \ 16 16 comments, db, pages 17 from textpress.utils import build_tag_uri18 from textpress.utils.admin import Pagination, gen_slug19 from textpress.utils.crypto import gen_pwhash20 from textpress.utils.validators import check_pwhash21 from textpress.application import get_application, get_request, url_for17 from zine.utils import build_tag_uri 18 from zine.utils.admin import Pagination, gen_slug 19 from zine.utils.crypto import gen_pwhash 20 from zine.utils.validators import check_pwhash 21 from zine.application import get_application, get_request, url_for 22 22 23 23 … … 62 62 If you change something on this model, even default values, keep in mind 63 63 that the websetup does not use this model to create the admin account 64 because at that time the TextPresssystem is not yet ready. Also update65 the code in ` textpress.websetup.WebSetup.start_setup`.64 because at that time the Zine system is not yet ready. Also update 65 the code in `zine.websetup.WebSetup.start_setup`. 66 66 """ 67 67 … … 93 93 def role_as_string(self): 94 94 """Human readable version of the role id.""" 95 from textpress.api import _95 from zine.api import _ 96 96 if self.role == ROLE_ADMIN: 97 97 return _('Administrator') … … 543 543 544 544 def _set_raw_intro(self, value): 545 from textpress.parsers import parse546 from textpress.fragment import dump_tree545 from zine.parsers import parse 546 from zine.fragment import dump_tree 547 547 tree = parse(value, self.parser, 'post-intro') 548 548 self._raw_intro = value … … 552 552 def _get_intro(self): 553 553 if not hasattr(self, '_intro_cache'): 554 from textpress.fragment import load_tree554 from zine.fragment import load_tree 555 555 self._intro_cache = load_tree(self.parser_data['intro']) 556 556 return self._intro_cache 557 557 558 558 def _set_intro(self, value): 559 from textpress.fragment import Fragment, dump_tree559 from zine.fragment import Fragment, dump_tree 560 560 if not isinstance(value, Fragment): 561 561 raise TypeError('fragment required, otherwise use raw_intro') … … 571 571 572 572 def _set_raw_body(self, value): 573 from textpress.parsers import parse574 from textpress.fragment import dump_tree573 from zine.parsers import parse 574 from zine.fragment import dump_tree 575 575 tree = parse(value, self.parser, 'post-body') 576 576 self._raw_body = value … … 580 580 def _get_body(self): 581 581 if not hasattr(self, '_body_cache'): 582 from textpress.fragment import load_tree582 from zine.fragment import load_tree 583 583 self._body_cache = load_tree(self.parser_data['body']) 584 584 return self._body_cache 585 585 586 586 def _set_body(self, value): 587 from textpress.fragment import Fragment, dump_tree587 from zine.fragment import Fragment, dump_tree 588 588 if not isinstance(value, Fragment): 589 589 raise TypeError('fragment required, otherwise use raw_body') … … 600 600 undefined. 601 601 """ 602 from textpress.parsers import parse602 from zine.parsers import parse 603 603 found = set() 604 604 for text in self.raw_intro, self.raw_body: … … 967 967 968 968 def _set_raw_body(self, value): 969 from textpress.parsers import parse970 from textpress.fragment import dump_tree969 from zine.parsers import parse 970 from zine.fragment import dump_tree 971 971 tree = parse(value, self.parser, 'comment') 972 972 self._raw_body = value … … 976 976 def _get_body(self): 977 977 if not hasattr(self, '_body_cache'): 978 from textpress.fragment import load_tree978 from zine.fragment import load_tree 979 979 self._body_cache = load_tree(self.parser_data['body']) 980 980 return self._body_cache 981 981 982 982 def _set_body(self, value): 983 from textpress.fragment import Fragment, dump_tree983 from zine.fragment import Fragment, dump_tree 984 984 if not isinstance(value, Fragment): 985 985 raise TypeError('fragment required, otherwise use raw_body') … … 1032 1032 1033 1033 def _set_raw_body(self, value): 1034 from textpress.parsers import parse1035 from textpress.fragment import dump_tree1034 from zine.parsers import parse 1035 from zine.fragment import dump_tree 1036 1036 tree = parse(value, self.extra['parser'], 'page-body') 1037 1037 self._raw_body = value … … 1042 1042 def _get_body(self): 1043 1043 if not hasattr(self, '_body_cache'): 1044 from textpress.fragment import load_tree1044 from zine.fragment import load_tree 1045 1045 self._body_cache = load_tree(self.extra['body']) 1046 1046 return self._body_cache 1047 1047 1048 1048 def _set_body(self, value): 1049 from textpress.fragment import Fragment, dump_tree1049 from zine.fragment import Fragment, dump_tree 1050 1050 if not isinstance(value, Fragment): 1051 1051 raise TypeError('fragment required, otherwise use raw_body') -
zine/parsers/__init__.py
r376 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.parsers4 ~~~~~~~~~~~~ ~~~~~3 zine.parsers 4 ~~~~~~~~~~~~ 5 5 6 6 This module holds the base parser informations and the dict of … … 10 10 :license: GNU GPL, see LICENSE for more details. 11 11 """ 12 from textpress.application import iter_listeners, get_application12 from zine.application import iter_listeners, get_application 13 13 14 14 … … 68 68 69 69 70 from textpress.parsers.simplehtml import HTMLParser, SimpleHTMLParser, \70 from zine.parsers.simplehtml import HTMLParser, SimpleHTMLParser, \ 71 71 AutoParagraphHTMLParser 72 from textpress.parsers.comments import CommentParser72 from zine.parsers.comments import CommentParser 73 73 74 74 all_parsers = { -
zine/parsers/comments.py
r335 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.parsers.markup4 ~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.parsers.markup 4 ~~~~~~~~~~~~~~~~~~~ 5 5 6 6 This module implements a simple text formatting markup used for post … … 12 12 """ 13 13 import re 14 from textpress.fragment import Fragment, Node, TextNode15 from textpress.utils.validators import is_valid_url16 from textpress.parsers import BaseParser14 from zine.fragment import Fragment, Node, TextNode 15 from zine.utils.validators import is_valid_url 16 from zine.parsers import BaseParser 17 17 18 18 … … 51 51 @staticmethod 52 52 def get_name(): 53 from textpress.api import _53 from zine.api import _ 54 54 return _('Emphasized Text') 55 55 -
zine/parsers/simplehtml.py
r168 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.parsers.simplehtml4 ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.parsers.simplehtml 4 ~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 HTML alike syntax. … … 10 10 """ 11 11 import re 12 from textpress.application import emit_event13 from textpress.parsers import BaseParser14 from textpress.fragment import Node, TextNode, Fragment15 from textpress._ext import beautifulsoup as bt12 from zine.application import emit_event 13 from zine.parsers import BaseParser 14 from zine.fragment import Node, TextNode, Fragment 15 from zine._ext import beautifulsoup as bt 16 16 17 17 … … 34 34 @staticmethod 35 35 def get_name(): 36 from textpress.api import _36 from zine.api import _ 37 37 return _('Raw HTML') 38 38 … … 115 115 @staticmethod 116 116 def get_name(): 117 from textpress.api import _117 from zine.api import _ 118 118 return _('Simplified HTML') 119 119 … … 131 131 @staticmethod 132 132 def get_name(): 133 from textpress.api import _133 from zine.api import _ 134 134 return _('Automatic Paragraphs') 135 135 -
zine/pingback.py
r335 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.pingback4 ~~~~~~~~~~~~~ ~~~~~3 zine.pingback 4 ~~~~~~~~~~~~~ 5 5 6 6 This module implements the pingback API and a function to emit pingbacks … … 10 10 .. _Pingback 1.0: http://www.hixie.ch/specs/pingback/pingback-1.0 11 11 12 Note that pingback support is implemented in the ` TextPress` core and12 Note that pingback support is implemented in the `Zine` core and 13 13 can't be removed. You can however disable it in the configuration if 14 14 you want. Plugins can hook into the pingback system by registering … … 20 20 21 21 Due to a broken design for trackback we will *never* support trackbacks 22 in the ` TextPress` core. Neither do we handle incoming trackbacks, nor22 in the `Zine` core. Neither do we handle incoming trackbacks, nor 23 23 do we emit trackbacks. 24 24 … … 33 33 from werkzeug.routing import RequestRedirect, NotFound 34 34 from werkzeug import escape, unescape 35 from textpress.api import get_request, get_application, url_for, db, _36 from textpress.models import Post, Comment37 from textpress.utils.xml import XMLRPC, strip_tags35 from zine.api import get_request, get_application, url_for, db, _ 36 from zine.models import Post, Comment 37 from zine.utils.xml import XMLRPC, strip_tags 38 38 39 39 … … 214 214 215 215 def pingback_post(url_info, target_uri, year, month, day, slug): 216 """This is the pingback handler for ` textpress.views.blog.show_post`."""216 """This is the pingback handler for `zine.views.blog.show_post`.""" 217 217 post = Post.objects.get_by_timestamp_and_slug(year, month, day, slug) 218 218 if post is None or not post.pings_enabled: -
zine/plugins/akismet_spam_filter/__init__.py
r386 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.akismet_spam_filter4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.akismet_spam_filter 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Do spam checking via Akismet of comments. … … 9 9 :license: GNU GPL. 10 10 """ 11 import textpress11 import zine 12 12 from os.path import dirname, join 13 from textpress.api import *14 from textpress.widgets import Widget15 from textpress.views.admin import flash, render_admin_response16 from textpress.models import ROLE_ADMIN, COMMENT_BLOCKED_SPAM, Comment17 from textpress.utils import RequestLocal18 from textpress.utils.xxx import CSRFProtector13 from zine.api import * 14 from zine.widgets import Widget 15 from zine.views.admin import flash, render_admin_response 16 from zine.models import ROLE_ADMIN, COMMENT_BLOCKED_SPAM, Comment 17 from zine.utils import RequestLocal 18 from zine.utils.xxx import CSRFProtector 19 19 from urllib import urlopen 20 20 from werkzeug import escape, url_encode 21 21 22 USER_AGENT = ' TextPress /%s | Akismet/1.11' % textpress.__version__22 USER_AGENT = 'Zine /%s | Akismet/1.11' % zine.__version__ 23 23 AKISMET_URL_BASE = 'rest.akismet.com' 24 24 AKISMET_VERSION = '1.1' -
zine/plugins/akismet_spam_filter/templates/admin/akismet_widget.html
r297 r465 8 8 </dl> 9 9 </form> 10 -
zine/plugins/creole_parser/__init__.py
r142 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.creole_parser4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.creole_parser 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Use Markdown for your blg posts. … … 9 9 :license: GNU GPL. 10 10 """ 11 from textpress.api import *12 from textpress.parsers import BaseParser13 from textpress.fragment import Node, TextNode, Fragment11 from zine.api import * 12 from zine.parsers import BaseParser 13 from zine.fragment import Node, TextNode, Fragment 14 14 from creoleparser import Parser, Creole10 15 15 from genshi.core import END, START, TEXT -
zine/plugins/eric_the_fish/__init__.py
r378 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.eric_the_fish4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.eric_the_fish 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Annoying fish for the admin panel. This is somewhat of an demonstration … … 17 17 # api module just acts as an collection module which is save to star import. 18 18 # the objects' implementations are in different modules. 19 from textpress.api import *19 from zine.api import * 20 20 21 21 # because we want to add an admin panel page for our fish we need the … … 23 23 # function, but it assembles a navigation bar for the admin layout template 24 24 # and emits the `modify-admin-navigation-bar` event also use here. 25 from textpress.views.admin import render_admin_response25 from zine.views.admin import render_admin_response 26 26 27 27 # the following method is used to show notifications in the admin panel. 28 from textpress.utils.admin import flash28 from zine.utils.admin import flash 29 29 30 30 # Because our fish uses JSON and JavaScript we use the dump_json function 31 31 # from the utils module. We also use the CSRFProtector which helps us to 32 32 # avoid CSRF attacks. 33 from textpress.utils import dump_json34 from textpress.utils.xxx import CSRFProtector33 from zine.utils import dump_json 34 from zine.utils.xxx import CSRFProtector 35 35 36 36 # we only want the admin to be able to configure eric. so we need the 37 37 # admin role 38 from textpress.models import ROLE_ADMIN38 from zine.models import ROLE_ADMIN 39 39 40 40 # the last thing is importing the FORTUNES list from the fortunes.py file 41 41 # from the same folder. It's just a long list with quotes. 42 from textpress.plugins.eric_the_fish.fortunes import FORTUNES42 from zine.plugins.eric_the_fish.fortunes import FORTUNES 43 43 44 44 # because we have an admin panel page we need to store the templates … … 114 114 115 115 def setup(app, plugin): 116 """This function is called by TextPressin the application initialization116 """This function is called by Zine in the application initialization 117 117 phase. Here we connect to the events and register our template paths, 118 118 url rules, views etc. … … 137 137 # Whenever we click on the fish we want a quote to appear. Because the 138 138 # quotes are stored on the server we add a servicepoint that sends one 139 # quote back. TextPressprovides JSON and XML export for this servicepoint139 # quote back. Zine provides JSON and XML export for this servicepoint 140 140 # automatically, plugins may add more export formats. 141 141 app.add_servicepoint('eric_the_fish/get_fortune', get_fortune) … … 147 147 view=show_eric_options) 148 148 149 # add our templates to the searchpath so that TextPresscan find the149 # add our templates to the searchpath so that Zine can find the 150 150 # admin panel template for the fish config panel. 151 151 app.add_template_searchpath(TEMPLATES) -
zine/plugins/eric_the_fish/fortunes.py
r15 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.eric_the_fish.fortunes3 zine.plugins.eric_the_fish.fortunes 4 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 -
zine/plugins/eric_the_fish/shared/fish.js
r29 r465 19 19 /* if the fish is not visible get one quote from the server */ 20 20 if (bubble.css('display') == 'none') { 21 /* textpressprovides a function called `callJSONService` that21 /* zine provides a function called `callJSONService` that 22 22 is used to call the json endpoint of a service point and return 23 23 the value parsed. */ 24 TextPress.callJSONService('eric_the_fish/get_fortune', {}, function(q) {24 Zine.callJSONService('eric_the_fish/get_fortune', {}, function(q) { 25 25 /* when the data comes back add the text to the bubble data */ 26 26 bubble_data.text(q.fortune); -
zine/plugins/markdown_parser/__init__.py
r158 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.markdown_parser4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.markdown_parser 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Use Markdown for your blog posts. … … 9 9 :license: GNU GPL. 10 10 """ 11 from textpress.api import *12 from textpress.parsers import BaseParser13 from textpress.parsers.simplehtml import HTMLParser14 from textpress.plugins.markdown_parser import markdown as md11 from zine.api import * 12 from zine.parsers import BaseParser 13 from zine.parsers.simplehtml import HTMLParser 14 from zine.plugins.markdown_parser import markdown as md 15 15 16 16 -
zine/plugins/miniblog_theme/__init__.py
r216 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.miniblog_theme4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.miniblog_theme 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 Very simple textpresstheme.6 Very simple zine theme. 7 7 8 8 :copyright: 2008 by Armin Ronacher. -
zine/plugins/miniblog_theme/templates/layout.html
r426 r465 24 24 </div> 25 25 <div class="footer"> 26 <p>{% trans textpress='<a href="http://textpress.pocoo.org/">TextPress</a>'27 %}Proudly powered by {{ textpress}}.{% endtrans %}</p>26 <p>{% trans zine='<a href="http://zine.pocoo.org/">Zine</a>' 27 %}Proudly powered by {{ zine }}.{% endtrans %}</p> 28 28 </div> 29 29 </div> -
zine/plugins/myrtle_theme/__init__.py
r11 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.myrtle_theme4 ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.myrtle_theme 4 ~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 The current default theme for TextPress.6 The current default theme for Zine. 7 7 8 8 :copyright: 2007 by Armin Ronacher. -
zine/plugins/myrtle_theme/templates/layout.html
r426 r465 25 25 <div class="footer"> 26 26 {#- be kind and don't remove that message. but of course we can't hinder you :) #} 27 <p>{% trans textpress='<a href="http://textpress.pocoo.org/">TextPress</a>',28 theme='<a href="http:// textpress.pocoo.org/plugins/myrtle_theme/">Myrtle theme</a>',27 <p>{% trans zine='<a href="http://zine.pocoo.org/">Zine</a>', 28 theme='<a href="http://zine.pocoo.org/plugins/myrtle_theme/">Myrtle theme</a>', 29 29 author='<a href="http://lucumr.pocoo.org/">Armin Ronacher</a>' 30 %}Proudly powered by {{ textpress}}, {{ theme }} designed by {{ author }}.{% endtrans %}30 %}Proudly powered by {{ zine }}, {{ theme }} designed by {{ author }}.{% endtrans %} 31 31 {%- if request.user.is_manager %} 32 32 | <a href="{{ url_for('admin/index')|e }}">{{ _('Admin Panel') }}</a> -
zine/plugins/pygments_support/__init__.py
r378 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.pygments_support4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.pygments_support 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Adds support for pygments to pre code blocks. … … 11 11 from os.path import join, dirname 12 12 from time import time, asctime, gmtime 13 from textpress.api import *14 from textpress.utils.xxx import CSRFProtector15 from textpress.views.admin import render_admin_response, flash16 from textpress.models import ROLE_ADMIN17 from textpress.fragment import DataNode13 from zine.api import * 14 from zine.utils.xxx import CSRFProtector 15 from zine.views.admin import render_admin_response, flash 16 from zine.models import ROLE_ADMIN 17 from zine.fragment import DataNode 18 18 from werkzeug import escape 19 19 from werkzeug.exceptions import NotFound -
zine/plugins/typography/__init__.py
r357 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.typography4 ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.typography 4 ~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 This plugin adds automatic typography support to TextPress. This probably6 This plugin adds automatic typography support to Zine. This probably 7 7 only works with English or German texts, maybe some other languages too. 8 8 I don't think that it's necessary to localize that plugin some more, there … … 15 15 import re 16 16 from os.path import dirname, join 17 from textpress.api import *18 from textpress.models import ROLE_ADMIN19 from textpress.views.admin import require_role, render_admin_response, \17 from zine.api import * 18 from zine.models import ROLE_ADMIN 19 from zine.views.admin import require_role, render_admin_response, \ 20 20 flash 21 from textpress.utils.xxx import CSRFProtector21 from zine.utils.xxx import CSRFProtector 22 22 23 23 -
zine/plugins/vessel_theme/__init__.py
r443 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.vessel_theme4 ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.vessel_theme 4 ~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 Very simple textpresstheme.6 Very simple zine theme. 7 7 8 8 :copyright: 2008 by Armin Ronacher. … … 10 10 """ 11 11 from os.path import join, dirname 12 from textpress.api import redirect, url_for, lazy_gettext, _13 from textpress.views.admin import render_admin_response14 from textpress.utils.admin import flash15 from textpress.utils.xxx import CSRFProtector12 from zine.api import redirect, url_for, lazy_gettext, _ 13 from zine.views.admin import render_admin_response 14 from zine.utils.admin import flash 15 from zine.utils.xxx import CSRFProtector 16 16 17 17 -
zine/plugins/vessel_theme/templates/layout.html
r441 r465 28 28 </div> 29 29 <div class="footer"> 30 <p>{% trans textpress='<a href="http://textpress.pocoo.org/">TextPress</a>'31 %}Proudly powered by {{ textpress}}.{% endtrans %}</p>30 <p>{% trans zine='<a href="http://zine.pocoo.org/">Zine</a>' 31 %}Proudly powered by {{ zine }}.{% endtrans %}</p> 32 32 </div> 33 33 </div> -
zine/plugins/xapian_search/__init__.py
r461 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.plugins.xapian_search4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.plugins.xapian_search 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 5 6 6 Provides a full featured and fast search for Textpress using … … 21 21 from time import mktime, strptime 22 22 from datetime import datetime 23 from textpress.api import *24 from textpress.views.admin import render_admin_response25 from textpress.utils.admin import flash26 from textpress.utils.xxx import CSRFProtector27 from textpress.widgets import Widget28 from textpress.models import Post, ROLE_ADMIN23 from zine.api import * 24 from zine.views.admin import render_admin_response 25 from zine.utils.admin import flash 26 from zine.utils.xxx import CSRFProtector 27 from zine.widgets import Widget 28 from zine.models import Post, ROLE_ADMIN 29 29 30 30 # TODO: add a indexing script for all posts … … 212 212 213 213 def setup(app, plugin): 214 """Register the plugin in textpress."""214 """Register the plugin in zine.""" 215 215 app.add_template_searchpath(TEMPLATE_FILES) 216 216 app.add_widget(QuickSearchWidget) -
zine/plugins/xapian_search/metadata.txt
r464 r465 6 6 Version: 0.1 7 7 License: GPL 8 Description: Provides a full featured and fast search for TextPressusing the popular xapian engine as back end.9 Description[de]: Stellt eine Suche für TextPressauf Basis von Xapian zur Verfügung.8 Description: Provides a full featured and fast search for Zine using the popular xapian engine as back end. 9 Description[de]: Stellt eine Suche für Zine auf Basis von Xapian zur Verfügung. -
zine/pluginsystem.py
r452 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.pluginsystem4 ~~~~~~~~~~~~~~~~~ ~~~~~3 zine.pluginsystem 4 ~~~~~~~~~~~~~~~~~ 5 5 6 6 This module implements the plugin system. … … 36 36 --------------- 37 37 38 To identify a plugin metadata are used. TextPressrequires a file38 To identify a plugin metadata are used. Zine requires a file 39 39 named `metadata.txt` to load some information about the plugin. 40 40 41 TextPresscurrently supports the following metadata information:41 Zine currently supports the following metadata information: 42 42 43 43 :Name: … … 79 79 ------------------------------ 80 80 81 TextPressseparates multiple instances in the interpreter as good as it81 Zine separates multiple instances in the interpreter as good as it 82 82 can. That you can still interact with different instances is the nature 83 83 of Python. But just because you can you shouldn't do that. Actually you 84 are not allowed to do that because TextPresssupports reloading of plugins84 are not allowed to do that because Zine supports reloading of plugins 85 85 at runtime which requires that a plugin can shut down without leaving 86 86 traces behind. Additionally plugin must never do monkey patching because 87 87 that cannot be undone savely again. 88 88 89 There is no callback that is called on plugin unloading, what TextPress89 There is no callback that is called on plugin unloading, what Zine 90 90 does, is dropping all references it has to the plugins and waits for 91 91 Python to deallocate the memory. As plugin developer you have no chance … … 110 110 from werkzeug import cached_property, escape 111 111 112 import textpress113 from textpress.application import get_application114 from textpress.utils.mail import split_email, is_valid_email115 from textpress.i18n import Translations112 import zine 113 from zine.application import get_application 114 from zine.utils.mail import split_email, is_valid_email 115 from zine.i18n import Translations 116 116 117 117 … … 123 123 124 124 125 def textpress_import(name, *args):126 """Redirect imports for textpress.plugins to the module space."""127 if name == ' textpress.plugins' or name.startswith('textpress.plugins.'):125 def zine_import(name, *args): 126 """Redirect imports for zine.plugins to the module space.""" 127 if name == 'zine.plugins' or name.startswith('zine.plugins.'): 128 128 app = get_application() 129 129 if app is not None: 130 name = ' textpress._space.%s%s' % (app.iid, name[17:])130 name = 'zine._space.%s%s' % (app.iid, name[12:]) 131 131 return _py_import(name, *args) 132 132 … … 134 134 def register_application(app): 135 135 """Register the application on the plugin space.""" 136 module = ModuleType(' textpress._space.%s' % app.iid)136 module = ModuleType('zine._space.%s' % app.iid) 137 137 module.__path__ = app.plugin_searchpath 138 138 sys.modules[module.__name__] = module … … 142 142 def unregister_application(app): 143 143 """Unregister the application on the plugin space.""" 144 prefix = ' textpress._space.%s' % app.iid144 prefix = 'zine._space.%s' % app.iid 145 145 for module in sys.modules.keys(): 146 146 if module.startswith(prefix): … … 185 185 # get the package version 186 186 try: 187 package_version = int(f.read(' TEXTPRESS_PACKAGE'))188 plugin_name = f.read(' TEXTPRESS_PLUGIN')187 package_version = int(f.read('ZINE_PACKAGE')) 188 plugin_name = f.read('ZINE_PLUGIN') 189 189 except (KeyError, ValueError), e: 190 190 raise InstallationError('invalid') … … 244 244 # get the package version and name 245 245 try: 246 package_version = int(f.read(' TEXTPRESS_PACKAGE'))247 plugin_name = f.read(' TEXTPRESS_PLUGIN')246 package_version = int(f.read('ZINE_PACKAGE')) 247 plugin_name = f.read('ZINE_PLUGIN') 248 248 except (KeyError, ValueError), e: 249 249 raise ValueError('not a valid package') … … 450 450 451 451 # add the package information files 452 for name, data in [(' TEXTPRESS_PLUGIN', self.name),453 (' TEXTPRESS_PACKAGE', PACKAGE_VERSION)]:452 for name, data in [('ZINE_PLUGIN', self.name), 453 ('ZINE_PACKAGE', PACKAGE_VERSION)]: 454 454 zinfo = ZipInfo(name, localtime(time())) 455 455 zinfo.compress_type = f.compression … … 494 494 """ 495 495 try: 496 # we directly import from the textpressmodule space497 return __import__(' textpress._space.%s.%s' %496 # we directly import from the zine module space 497 return __import__('zine._space.%s.%s' % 498 498 (self.app.iid, self.name), None, None, 499 499 ['setup']) … … 631 631 632 632 633 import textpress634 __builtin__.__import__ = textpress_import635 plugin_space = ModuleType(' textpress._space')636 sys.modules[' textpress._space'] = plugin_space633 import zine 634 __builtin__.__import__ = zine_import 635 plugin_space = ModuleType('zine._space') 636 sys.modules['zine._space'] = plugin_space -
zine/services.py
r335 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.services4 ~~~~~~~~~~~~~ ~~~~~3 zine.services 4 ~~~~~~~~~~~~~ 5 5 6 6 The builtin (JSON) services. 7 7 8 :copyright: 2007 by Armin Ronacher.8 :copyright: 2007-2008 by Armin Ronacher. 9 9 :license: GNU GPL. 10 10 """ 11 from textpress.api import *12 from textpress.models import Comment, ROLE_AUTHOR13 from textpress.utils.xxx import StreamReporter11 from zine.api import * 12 from zine.models import Comment, ROLE_AUTHOR 13 from zine.utils.xxx import StreamReporter 14 14 15 15 -
zine/shared/js/Admin.js
r416 r465 1 1 /** 2 * TextPressAdministration Tools2 * Zine Administration Tools 3 3 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 4 * 5 * Part of the TextPresscore framework. Provides default script5 * Part of the Zine core framework. Provides default script 6 6 * functions for the administration interface. 7 7 * … … 41 41 return; 42 42 var 43 bookmarkletURL = TextPress.ADMIN_URL + '/_bookmarklet',43 bookmarkletURL = Zine.ADMIN_URL + '/_bookmarklet', 44 44 bookmarklet = 'document.location.href="' + bookmarkletURL + 45 45 '?mode=newpost&text="+encodeURI(getSelection?getSelection()' + … … 88 88 window.setTimeout(function updateStatus() { 89 89 data = {upload_id: self.transportID}; 90 TextPress.callJSONService('get_upload_info', data, function(u) {90 Zine.callJSONService('get_upload_info', data, function(u) { 91 91 // it could happen that the server clears the status before we 92 92 // can pull it. so we have a test for percentages of over 95% -
zine/shared/js/TextPress.js
r421 r465 1 1 /** 2 * Default TextPressJavaScript Driver File2 * Default Zine JavaScript Driver File 3 3 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 4 * 5 * Part of the TextPresscore framework. Provides default script5 * Part of the Zine core framework. Provides default script 6 6 * functions for the base templates. 7 7 * … … 10 10 */ 11 11 12 var TextPress= {12 var Zine = { 13 13 TRANSLATIONS : {}, 14 14 PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, … … 33 33 .text(_('(Create as top level comment)')) 34 34 .click(function() { 35 TextPress.replyToNothing();35 Zine.replyToNothing(); 36 36 return false; 37 37 })) … … 47 47 48 48 gettext : function(string) { 49 var translated = TextPress.TRANSLATIONS[string];49 var translated = Zine.TRANSLATIONS[string]; 50 50 if (typeof translated == 'undefined') 51 51 return string; … … 54 54 55 55 ngettext: function(singular, plural, n) { 56 var translated = TextPress.TRANSLATIONS[singular];56 var translated = Zine.TRANSLATIONS[singular]; 57 57 if (typeof translated == 'undefined') 58 58 return (n == 1) ? singular : plural; 59 return translated[ TextPress.PLURALEXPR(n)];59 return translated[Zine.PLURALEXPR(n)]; 60 60 }, 61 61 … … 73 73 74 74 // quick alias for translations 75 _ = TextPress.gettext;75 _ = Zine.gettext; -
zine/shared/js/WidgetManager.js
r145 r465 4 4 * 5 5 * This provides the JavaScript interface to the widget manager from the 6 * TextPressadmin panel.6 * Zine admin panel. 7 7 * 8 8 * :copyright: 2007 by Armin Ronacher. … … 72 72 73 73 var widget = widget_map[widget_id]; 74 var submit_url = TextPress.BLOG_URL + '/admin/options/widgets';74 var submit_url = Zine.BLOG_URL + '/admin/options/widgets'; 75 75 var url_args = { 76 76 configure: widget[0], -
zine/templates/_comment.html
r319 r465 11 11 <a href="#comment-{{ comment.comment_id }}">#</a> 12 12 {%- if add_reply_link %} 13 - <a href="javascript: TextPress.replyToComment({{ comment.comment_id13 - <a href="javascript:Zine.replyToComment({{ comment.comment_id 14 14 }})" title="{{ _('reply to this comment') }}">re</a> 15 15 {% endif -%} -
zine/templates/admin/about_zine.html
r426 r465 1 1 {% extends "admin/layout.html" %} 2 {% block title %}{{ _("About TextPress") }}{% endblock %}2 {% block title %}{{ _("About Zine") }}{% endblock %} 3 3 {% block contents %} 4 <h1>{{ _("About TextPress") }}</h1>4 <h1>{{ _("About Zine") }}</h1> 5 5 <div class="text"> 6 6 <p>{% trans %} 7 TextPressis an open source content publishing platform emphasizing ease7 Zine is an open source content publishing platform emphasizing ease 8 8 of use and extensibility. It provides an powerful internal infrastructure, 9 9 an simple and an intuitive userinterface. 10 10 {% endtrans %}</p> 11 11 <p>{% trans %} 12 TextPressis distributed under the GNU GPL 2 or any later version. The12 Zine is distributed under the GNU GPL 2 or any later version. The 13 13 complete text of the license can be found online as well as in the LICENSE 14 14 file included in the distribution. -
zine/templates/admin/cache.html
r439 r465 4 4 <h1>{{ _("Cache Options") }}</h1> 5 5 <p>{% trans %} 6 TextPresscomes with a cache system that allows you to survive a sudden6 Zine comes with a cache system that allows you to survive a sudden 7 7 storm of visitors. The caching system has different backends you can 8 8 chose from and also different settings that you should set depending on … … 27 27 <form action="" method="post"> 28 28 <h2>{{ _("Cache System") }}</h2> 29 <p>{{ _("Current TextPresssupports three caching systems:") }}</p>29 <p>{{ _("Current Zine supports three caching systems:") }}</p> 30 30 <ul> 31 31 <li>{% trans %}<strong>Simple Cache</strong>: The simple cache is a very … … 70 70 <h2>{{ _("Filesystem Options") }}</h2> 71 71 <p>{% trans %} 72 When using the filesystem cache you can control where TextPressputs73 all the cache data. This path is relative to your TextPressinstance74 folder and will be created automatically by TextPress. Keep in mind72 When using the filesystem cache you can control where Zine puts 73 all the cache data. This path is relative to your Zine instance 74 folder and will be created automatically by Zine. Keep in mind 75 75 that if you change that path and old cache data is left in the old 76 folder, TextPresswon't clean up the data left for you.76 folder, Zine won't clean up the data left for you. 77 77 {% endtrans %}</p> 78 78 <p>{% trans %} 79 79 One thing you have to keep in mind is that the cache path <em>must</em> 80 be a directory that only TextPressuses for file management. The81 TextPresscode cleans up there from time to time and it could delete82 files that are otherwise not tracked by TextPress. This is especially80 be a directory that only Zine uses for file management. The 81 Zine code cleans up there from time to time and it could delete 82 files that are otherwise not tracked by Zine. This is especially 83 83 the case if you try to cache into <code>/tmp</code> or a similar 84 84 folder where all kinds of applications put temporary files in. -
zine/templates/admin/export.html
r379 r465 4 4 <h1>{{ _("Export") }}</h1> 5 5 <p>{% trans %} 6 Here you can dump your TextPressdatabase information into an standardized7 format (Atom) with TextPress extensions which we call “TextPresseXtended8 Atom” ( TPXA). You can use this file to import your posts into another6 Here you can dump your Zine database information into an standardized 7 format (Atom) with Zine extensions which we call “Zine eXtended 8 Atom” (ZineXA). You can use this file to import your posts into another 9 9 weblog software that supports Atom. You should not use this file for 10 TextPressmigrations as this file will not include attachments, the blog10 Zine migrations as this file will not include attachments, the blog 11 11 configuration and probably data stored by plugins. 12 12 {% endtrans %}</p> … … 14 14 <div class="actions"> 15 15 {{ hidden_form_data }} 16 <input type="hidden" name="format" value=" tpxa">16 <input type="hidden" name="format" value="zxa"> 17 17 <input type="submit" value="{{ _('Export') }}"> 18 18 </div> -
zine/templates/admin/file_uploads/config.html
r423 r465 10 10 If you set the upload destination to a relative path it's 11 11 expanded for the instance folder. If the folder does not 12 exist TextPresswill create a new one the first time you12 exist Zine will create a new one the first time you 13 13 upload something into that folder. 14 14 {% endtrans %}</p> 15 15 <p>{% trans %} 16 16 The mimetype mapping is useful if you want to upload files 17 that have extensions that are unknown to the system TextPress17 that have extensions that are unknown to the system Zine 18 18 is running on. The format for a rule is <code>pattern:mimetype</code>, 19 19 each rule must be on it's own line or separated by semicolons. 20 20 Patterns might use the asterisk for variable parts. Example: 21 <code>*.plugin:application/x- textpress-plugin</code>.21 <code>*.plugin:application/x-zine-plugin</code>. 22 22 {% endtrans %}</p> 23 23 <p>{% trans %} 24 24 If you want to create thumbnails you have to have ImageMagick 25 installed. Per default TextPresschecks for ImageMagick on the25 installed. Per default Zine checks for ImageMagick on the 26 26 system searchpath. If you don't have it installed there (for 27 27 example if you are on a Windows Server) you have to defined the -
zine/templates/admin/import.html
r379 r465 4 4 <h1>{{ _("Import") }}</h1> 5 5 <p>{% trans %} 6 If you have posts or comments in another system, TextPresscan import those6 If you have posts or comments in another system, Zine can import those 7 7 into this blog. The data imported doesn't directly end up in the blog but a 8 8 queue so that you can pickl which data you want to import. To get started, -
zine/templates/admin/import_wordpress.html
r379 r465 5 5 <p>{% trans %} 6 6 This importer allows you to import posts and comments from your WordPress 7 blog into your new TextPressblog. Either upload your WordPress eXtended7 blog into your new Zine blog. Either upload your WordPress eXtended 8 8 RSS (WXR) file created in the WordPress admin panel or give the importer 9 9 the location of such a file on an external URL and it will import the posts, -
zine/templates/admin/index.html
r403 r465 7 7 <div class="text"> 8 8 <p>{% trans user=(request.user.first_name or request.user.username)|e -%} 9 Howdy. Welcome to the TextPressadministration interface {{ user }}.9 Howdy. Welcome to the Zine administration interface {{ user }}. 10 10 {%- endtrans %} 11 11 {% trans -%} … … 20 20 <li><a href="{{ url_for('admin/show_comments')|e }}">{{ _("Moderate Comments") }}</a> 21 21 <li><a href="{{ url_for('admin/show_posts')|e }}">{{ _("Manage Posts") }}</a> 22 <li><a href="{{ url_for('admin/options')|e }}">{{ _("Configure TextPress") }}</a>22 <li><a href="{{ url_for('admin/options')|e }}">{{ _("Configure Zine") }}</a> 23 23 <li><a href="{{ url_for('admin/plugins')|e }}">{{ _("Manage Plugins") }}</a> 24 24 <li><a href="{{ url_for('admin/show_users')|e }}">{{ _("Manage Users") }}</a> 25 25 <li><a href="{{ url_for('admin/help')|e }}">{{ _("Get Help") }}</a> 26 26 </ul> 27 <p>{% trans help=url_for('admin/help'), support='http:// textpress.pocoo.org/support/',28 website='http:// textpress.pocoo.org/' %}27 <p>{% trans help=url_for('admin/help'), support='http://zine.pocoo.org/support/', 28 website='http://zine.pocoo.org/' %} 29 29 If you need help, have a look at the <a href="{{ help 30 30 }}">documentation</a>. If that doesn't solve your problems you might 31 31 find answers in the <a href="{{ support }}">support section</a> of the 32 <a href="{{ website }}"> TextPresswebsite</a>.32 <a href="{{ website }}">Zine website</a>. 33 33 {% endtrans %} 34 34 </div> … … 73 73 </div> 74 74 <div class="planet"> 75 <h2>{{ _('Planet TextPress') }}</h2>75 <h2>{{ _('Planet Zine') }}</h2> 76 76 <script type="text/javascript"> 77 77 $('div.planet').append($('<div>').load('?load=planet')); -
zine/templates/admin/information.html
r464 r465 3 3 {% block contents %} 4 4 <h1>{{ _("About The System") }}</h1> 5 <h2>{{ _(' TextPressEnvironment') }}</h2>5 <h2>{{ _('Zine Environment') }}</h2> 6 6 <dl> 7 <dt>{{ _(' TextPressVersion') }}</dt>8 <dd>{{ textpress_version|e }}</dd>7 <dt>{{ _('Zine Version') }}</dt> 8 <dd>{{ zine_version|e }}</dd> 9 9 <dt>{{ _('Distribution Mode') }}</dt> 10 <dd>{{ textpress_env.MODE }}</dd>10 <dd>{{ zine_env.MODE }}</dd> 11 11 <dt>{{ _('Package Location') }}</dt> 12 <dd>{{ textpress_env.PACKAGE_LOCATION|e }}</dd>12 <dd>{{ zine_env.PACKAGE_LOCATION|e }}</dd> 13 13 <dt>{{ _('Shared Data') }}</dt> 14 <dd>{{ textpress_env.SHARED_DATA|e }}</dd>14 <dd>{{ zine_env.SHARED_DATA|e }}</dd> 15 15 <dt>{{ _('Builtin Templates') }}</dt> 16 <dd>{{ textpress_env.BUILTIN_TEMPLATE_PATH|e }}</dd>16 <dd>{{ zine_env.BUILTIN_TEMPLATE_PATH|e }}</dd> 17 17 <dt>{{ _('Builtin Plugins') }}</dt> 18 <dd>{{ textpress_env.BUILTIN_PLUGIN_FOLDER|e }}</dd>18 <dd>{{ zine_env.BUILTIN_PLUGIN_FOLDER|e }}</dd> 19 19 <dt>{{ _('Path to Instance') }}</dt> 20 20 <dd>{{ instance_path|e }}</dd> -
zine/templates/admin/layout.html
r426 r465 43 43 </div> 44 44 <div class="footer"> 45 <p>{% trans textpress='<a href="http://textpress.pocoo.org/">TextPress</a>',46 version= textpress.version -%}Powered by {{ textpress}} {{ version }}.{% endtrans %} |47 © {{ textpress.copyright|e }}</p>45 <p>{% trans zine='<a href="http://zine.pocoo.org/">Zine</a>', 46 version=zine.version -%}Powered by {{ zine }} {{ version }}.{% endtrans %} | 47 © {{ zine.copyright|e }}</p> 48 48 </div> 49 49 </body> -
zine/templates/admin/perform_import.html
r379 r465 5 5 <p>{% trans %} 6 6 The importer converts now all the collected and selected data for 7 TextPressand inserts it into the database. This can take some time.7 Zine and inserts it into the database. This can take some time. 8 8 <strong>Don't hit cancel!</strong> 9 9 {% endtrans %}</p> -
zine/templates/admin/plugins.html
r390 r465 5 5 <form action="" method="post" enctype="multipart/form-data"> 6 6 <p>{% trans %} 7 Plugins extend the functionality of the TextPresssystem. Because of7 Plugins extend the functionality of the Zine system. Because of 8 8 security and convinience reasons you have to enable plugins by hand. 9 9 Some plugins could conflict with each other so it's up to you to … … 45 45 <h2>{{ _("Add New Plugin") }}</h2> 46 46 <p>{% trans %} 47 If you have a plugin as TextPress<tt>.plugin</tt> file you can upload it48 to your TextPressinstance using the following form. Plugins added this way47 If you have a plugin as Zine <tt>.plugin</tt> file you can upload it 48 to your Zine instance using the following form. Plugins added this way 49 49 can also be completely removed. 50 50 {% endtrans %}</p> -
zine/templates/layout.html
r426 r465 17 17 {{ emit_event('after-contents-rendered') }} 18 18 </div> 19 <div class="footer">{% trans textpress='<a href="http://textpress.pocoo.org/">TextPress</a>'20 %}Proudly powered by {{ textpress}}.{% endtrans %}</div>19 <div class="footer">{% trans zine='<a href="http://zine.pocoo.org/">Zine</a>' 20 %}Proudly powered by {{ zine }}.{% endtrans %}</div> 21 21 </div> 22 22 </body> -
zine/templates/maintenance.html
r330 r465 3 3 <html> 4 4 <head> 5 <title> TextPressMaintenance Mode</title>5 <title>Zine Maintenance Mode</title> 6 6 <style type="text/css"> 7 7 body { … … 40 40 <h1>Maintenance Mode</h1> 41 41 <p> 42 This TextPressinstance is in maintenance mode right now.42 This Zine instance is in maintenance mode right now. 43 43 Plase wait until the administrator reopens the blog. 44 44 </p> -
zine/urls.py
r463 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.urls4 ~~~~~~~~~ ~~~~~3 zine.urls 4 ~~~~~~~~~ 5 5 6 6 This module implements a function that creates a list of urls for all 7 7 the core components. 8 9 8 10 9 :copyright: 2007-2008 by Armin Ronacher, Pedro Algarvio. … … 15 14 16 15 def make_urls(app): 17 """Make the URLs for a new textpressapplication."""16 """Make the URLs for a new zine application.""" 18 17 blog_urls = [ 19 18 Rule('/', defaults={'page': 1}, endpoint='blog/index'), … … 99 98 Rule('/system/import/<int:id>/delete', endpoint='admin/delete_import'), 100 99 Rule('/system/export', endpoint='admin/export'), 101 Rule('/system/about', endpoint='admin/about_ textpress'),100 Rule('/system/about', endpoint='admin/about_zine'), 102 101 Rule('/system/help/', endpoint='admin/help'), 103 102 Rule('/system/help/<path:page>', endpoint='admin/help'), -
zine/utils/__init__.py
r440 r465 1 1 """ 2 textpress.utils3 ~~~~~~~~~~ ~~~~~2 zine.utils 3 ~~~~~~~~~~ 4 4 5 5 This package implements various functions used all over the code. … … 14 14 from werkzeug import url_quote, Local, LocalManager, ClosingIterator 15 15 16 from textpress.i18n import _16 from zine.i18n import _ 17 17 18 18 # load dynamic constants 19 from textpress._dynamic import *19 from zine._dynamic import * 20 20 21 21 -
zine/utils/admin.py
r463 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.utils.admin4 ~~~~~~~~~~~~~~~~ ~~~~~3 zine.utils.admin 4 ~~~~~~~~~~~~~~~~ 5 5 6 6 This module implements various functions used by the admin interface. … … 14 14 import unicodedata 15 15 16 from textpress.utils import _, local16 from zine.utils import _, local 17 17 18 18 … … 77 77 prev_link=False, next_link=False, gray_prev_link=True, 78 78 gray_next_link=True): 79 from textpress.application import url_for79 from zine.application import url_for 80 80 was_ellipsis = False 81 81 result = [] -
zine/utils/crypto.py
r335 r465 1 1 """ 2 textpress.utils.crypto3 ~~~~~~~~~~~~~~~~~ ~~~~~2 zine.utils.crypto 3 ~~~~~~~~~~~~~~~~~ 4 4 5 5 This module implements various cryptographic functions. -
zine/utils/dates.py
r335 r465 1 1 """ 2 textpress.utils.dates3 ~~~~~~~~~~~~~~~~ ~~~~~2 zine.utils.dates 3 ~~~~~~~~~~~~~~~~ 4 4 5 5 This module implements date formatting and parsing functions. -
zine/utils/mail.py
r335 r465 1 1 """ 2 textpress.utils.mail3 ~~~~~~~~~~~~~~~ ~~~~~2 zine.utils.mail 3 ~~~~~~~~~~~~~~~ 4 4 5 5 This module implements some email-related functions and classes. … … 13 13 from urlparse import urlparse 14 14 15 from textpress.utils import _, local16 from textpress.utils.validators import is_valid_email15 from zine.utils import _, local 16 from zine.utils.validators import is_valid_email 17 17 18 18 -
zine/utils/uploads.py
r347 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.utils.uploads4 ~~~~~~~~~~~~~~~~~~ ~~~~~3 zine.utils.uploads 4 ~~~~~~~~~~~~~~~~~~ 5 5 6 6 Various utilitites for file uploading (thumbnailer etc) … … 15 15 from shutil import copyfileobj 16 16 from mimetypes import guess_type 17 from textpress.api import *18 from textpress.utils.admin import flash17 from zine.api import * 18 from zine.utils.admin import flash 19 19 20 20 -
zine/utils/validators.py
r367 r465 1 1 """ 2 textpress.utils3 ~~~~~~~~~~ ~~~~~2 zine.utils 3 ~~~~~~~~~~ 4 4 5 5 This module implements various functions for validation of miscellaneous … … 106 106 >>> is_valid_url('http://pocoo.org/') 107 107 True 108 >>> is_valid_url('http:// textpress.pocoo.org/archive')108 >>> is_valid_url('http://zine.pocoo.org/archive') 109 109 True 110 >>> is_valid_url(' textpress.pocoo.org/archive')110 >>> is_valid_url('zine.pocoo.org/archive') 111 111 False 112 >>> is_valid_url('javascript:alert(" TextPressrocks!");')112 >>> is_valid_url('javascript:alert("Zine rocks!");') 113 113 False 114 114 """ -
zine/utils/xml.py
r363 r465 1 1 """ 2 textpress.utils3 ~~~~~~~~~~ ~~~~~2 zine.utils 3 ~~~~~~~~~~ 4 4 5 5 This module implements XML-related functions and classes. … … 65 65 """Get an etree implementation that is not lxml. We love lxml but because 66 66 lxml is an c (cython) extension we can't have it as another dependency. 67 Because we need `ElementTree._write` for our tpxa module which is not67 Because we need `ElementTree._write` for our zxa module which is not 68 68 supported by lxml this is needed. 69 69 """ … … 83 83 def generate_rsd(app): 84 84 """Generate the RSD definition for this application apis.""" 85 from textpress.application import url_for85 from zine.application import url_for 86 86 document = __import__('xml.dom.minidom', None, None, ['']).Document() 87 87 root = document.appendChild(document.createElement('rsd')) … … 90 90 service = root.appendChild(document.createElement('service')) 91 91 92 attributes = [('engineName', ' TextPress'),93 ('engineLink', 'http:// textpress.pocoo.org/'),92 attributes = [('engineName', 'Zine'), 93 ('engineLink', 'http://zine.pocoo.org/'), 94 94 ('homePageLink', url_for('blog/index', _external=True))] 95 95 … … 142 142 class AtomFeed(BaseAtomFeed): 143 143 """A helper class that creates Atom feeds.""" 144 import textpress145 default_generator = (' TextPress', textpress.__url__, textpress.__version__)146 del textpress144 import zine 145 default_generator = ('Zine', zine.__url__, zine.__version__) 146 del zine 147 147 148 148 -
zine/utils/xxx.py
r335 r465 1 1 """ 2 textpress.utils.xxx3 ~~~~~~~~~~~~~~ ~~~~~2 zine.utils.xxx 3 ~~~~~~~~~~~~~~ 4 4 5 5 We don't know how to properly name this module, but that stuff in here … … 22 22 from werkzeug.contrib.reporterstream import BaseReporterStream 23 23 24 from textpress.utils import local24 from zine.utils import local 25 25 26 26 … … 68 68 situation the edit page would return a page not found. 69 69 """ 70 from textpress.application import url_for70 from zine.application import url_for 71 71 self.invalid_targets.append(url_for(*args, **kwargs)) 72 72 … … 111 111 def __call__(self, *args, **kwargs): 112 112 """Trigger the redirect.""" 113 from textpress.application import redirect, url_for113 from zine.application import redirect, url_for 114 114 target = self.get_redirect_target() 115 115 if target is None: … … 178 178 during uploading. 179 179 180 TextPressalso provides a service called `get_upload_info` that returns180 Zine also provides a service called `get_upload_info` that returns 181 181 the information for AJAX scripts. 182 182 … … 210 210 self.start_time = int(time()) 211 211 212 self._fp = NamedTemporaryFile(prefix='_ textpress_upload_')212 self._fp = NamedTemporaryFile(prefix='_zine_upload_') 213 213 BaseReporterStream.__init__(self, request.environ, 1024 * 50) 214 214 request.environ['wsgi.input'] = self … … 222 222 def _get_manager(): 223 223 app = local.application 224 return os.path.join(gettempdir(), '_ textpress_streams_' +224 return os.path.join(gettempdir(), '_zine_streams_' + 225 225 sha.new(app.instance_folder).hexdigest()[2:10]) 226 226 -
zine/views/__init__.py
r463 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.views4 ~~~~~~~~~~ ~~~~~3 zine.views 4 ~~~~~~~~~~ 5 5 6 This module binds all the endpoints specified in ` textpress.urls` to6 This module binds all the endpoints specified in `zine.urls` to 7 7 python functions in the view modules. 8 8 … … 11 11 :license: GNU GPL. 12 12 """ 13 from textpress.views import blog, admin14 from textpressimport i18n13 from zine.views import blog, admin 14 from zine import i18n 15 15 16 16 … … 79 79 'admin/export': admin.do_export, 80 80 'admin/information': admin.do_information, 81 'admin/about_ textpress': admin.do_about_textpress,81 'admin/about_zine': admin.do_about_zine, 82 82 'admin/change_password': admin.do_change_password, 83 83 'admin/help': admin.do_help, -
zine/views/admin.py
r464 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.views.admin4 ~~~~~~~~~~~~~~~~ ~~~~~3 zine.views.admin 4 ~~~~~~~~~~~~~~~~ 5 5 6 6 This module implements the admin views. The admin interface is only … … 21 21 from os import remove, sep as pathsep 22 22 from os.path import exists 23 from textpress.api import *24 from textpress.models import User, Post, Tag, Comment, Page, ROLE_ADMIN, \23 from zine.api import * 24 from zine.models import User, Post, Tag, Comment, Page, ROLE_ADMIN, \ 25 25 ROLE_EDITOR, ROLE_AUTHOR, ROLE_SUBSCRIBER, STATUS_PRIVATE, \ 26 26 STATUS_DRAFT, STATUS_PUBLISHED, COMMENT_MODERATED, COMMENT_UNMODERATED, \ 27 27 COMMENT_BLOCKED_USER, COMMENT_BLOCKED_SPAM 28 from textpress.database import comments as comment_table, posts, \28 from zine.database import comments as comment_table, posts, \ 29 29 post_tags, post_links 30 from textpress.utils import dump_json, load_json31 from textpress.utils.validators import is_valid_email, is_valid_url32 from textpress.utils.admin import Pagination, flash, gen_slug, \30 from zine.utils import dump_json, load_json 31 from zine.utils.validators import is_valid_email, is_valid_url 32 from zine.utils.admin import Pagination, flash, gen_slug, \ 33 33 commit_config_change 34 from textpress.utils.xxx import make_hidden_fields, CSRFProtector, \34 from zine.utils.xxx import make_hidden_fields, CSRFProtector, \ 35 35 IntelligentRedirect, StreamReporter 36 from textpress.utils.uploads import guess_mimetype, get_upload_folder, \36 from zine.utils.uploads import guess_mimetype, get_upload_folder, \ 37 37 list_files, list_images, get_im_version, get_im_path, \ 38 38 touch_upload_folder, upload_file, create_thumbnail, file_exists, \ 39 39 get_filename 40 from textpress.i18n import parse_datetime, format_system_datetime, \40 from zine.i18n import parse_datetime, format_system_datetime, \ 41 41 list_timezones, has_timezone, list_languages, has_language 42 from textpress.importers import list_import_queue, load_import_dump, \42 from zine.importers import list_import_queue, load_import_dump, \ 43 43 delete_import_dump, perform_import 44 from textpress.pluginsystem import install_package, InstallationError, \44 from zine.pluginsystem import install_package, InstallationError, \ 45 45 SetupError 46 from textpress.pingback import pingback, PingbackError46 from zine.pingback import pingback, PingbackError 47 47 from urlparse import urlparse 48 48 from werkzeug import escape … … 129 129 ('information', url_for('admin/information'), _('Information')), 130 130 ('help', url_for('admin/help'), _('Help')), 131 ('about', url_for('admin/about_ textpress'), _('About'))131 ('about', url_for('admin/about_zine'), _('About')) 132 132 ] 133 133 if request.user.role == ROLE_ADMIN: … … 164 164 # on which page he is. 165 165 if request.app.cfg['maintenance_mode']: 166 flash(_(' TextPressis in maintenance mode. Don\'t forget to '166 flash(_('Zine is in maintenance mode. Don\'t forget to ' 167 167 '<a href="%s">turn it off again</a> once you finish your ' 168 168 'changes.') % url_for('admin/maintenance')) … … 505 505 missing_parser)) 506 506 flash(_(u'This post was created with the parser “%(parser)s” that is ' 507 u'not installed any longer. Because of that TextPress'507 u'not installed any longer. Because of that Zine ' 508 508 u'doesn\'t allow modifcations on the text until you either ' 509 509 u'change the parser or reinstall/activate the plugin that ' … … 756 756 flash(_(u'This comment was submitted when the parser “%(parser)s” was ' 757 757 u'the comment parser. Because it is not available any longer ' 758 u' TextPressdoesn\'t allow modifcations on the text until you '758 u'Zine doesn\'t allow modifcations on the text until you ' 759 759 u'reinstall/activate the plugin that provided that parser.') % 760 760 {'parser': escape(missing_parser)}, 'error') … … 1293 1293 # we want to flash the message "configuration changed" in the 1294 1294 # new language rather than the old. As a matter of fact we have 1295 # to wait for TextPressto reload first which is why we do the1295 # to wait for Zine to reload first which is why we do the 1296 1296 # actual flashing after one reload. 1297 1297 return simple_redirect('admin/basic_options', altered='true') … … 1390 1390 @require_role(ROLE_ADMIN) 1391 1391 def do_plugins(request): 1392 """Load and unload plugins and reload TextPressif required."""1392 """Load and unload plugins and reload Zine if required.""" 1393 1393 csrf_protector = CSRFProtector() 1394 1394 if request.method == 'POST': … … 1449 1449 elif e.code == 'version': 1450 1450 flash(_('The plugin uploaded has a newer package ' 1451 'version than this TextPressinstallation '1451 'version than this Zine installation ' 1452 1452 'can handle.'), 'error') 1453 1453 elif e.code == 'exists': … … 1579 1579 """Advanced configuration editor. This is useful for development or if a 1580 1580 plugin doesn't ship an editor for the configuration values. Because all 1581 the values are not further checked it could easily be that TextPressis1581 the values are not further checked it could easily be that Zine is 1582 1582 left in an unusable state if a variable is set to something bad. Because 1583 1583 of this the editor shows a warning and must be enabled by hand. … … 1722 1722 """Not yet implemented.""" 1723 1723 csrf_protector = CSRFProtector() 1724 if request.args.get('format') == ' tpxa':1725 csrf_protector.assert_safe() 1726 from textpress.tpxa import export1724 if request.args.get('format') == 'zxa': 1725 csrf_protector.assert_safe() 1726 from zine.zxa import export 1727 1727 response = export(request.app) 1728 1728 response.headers['Content-Disposition'] = 'attachment; ' \ 1729 'filename="%s. tpxa"' % '_'.join(request.app.cfg['blog_title'].split())1729 'filename="%s.zxa"' % '_'.join(request.app.cfg['blog_title'].split()) 1730 1730 return response 1731 1731 return render_admin_response('admin/export.html', 'system.export', … … 1736 1736 @require_role(ROLE_AUTHOR) 1737 1737 def do_information(request): 1738 """Shows some details about this TextPressinstallation. It's useful for1739 debugging and checking configurations. If severe errors in a TextPress1738 """Shows some details about this Zine installation. It's useful for 1739 debugging and checking configurations. If severe errors in a Zine 1740 1740 installation occour it's a good idea to dump this page and attach it to 1741 1741 a bug report mail. … … 1744 1744 from threading import activeCount 1745 1745 from jinja2.defaults import DEFAULT_NAMESPACE, DEFAULT_FILTERS 1746 from textpress import environment, __version__ as textpress_version1746 from zine import environment, __version__ as zine_version 1747 1747 1748 1748 thread_count = activeCount() … … 1774 1774 plugins=sorted(request.app.plugins.values(), key=lambda x: x.name), 1775 1775 python_version='<br>'.join(map(escape, python_version.splitlines())), 1776 textpress_env=environment,1777 textpress_version=textpress_version,1776 zine_env=environment, 1777 zine_version=zine_version, 1778 1778 template_globals=[name for name, obj in 1779 1779 sorted(request.app.template_env.globals.items()) … … 1788 1788 1789 1789 @require_role(ROLE_AUTHOR) 1790 def do_about_ textpress(request):1791 """Just show the textpresslicense and some other legal stuff."""1792 return render_admin_response('admin/about_ textpress.html',1790 def do_about_zine(request): 1791 """Just show the zine license and some other legal stuff.""" 1792 return render_admin_response('admin/about_zine.html', 1793 1793 'system.about') 1794 1794 … … 2245 2245 def do_help(req, page=''): 2246 2246 """Show help page.""" 2247 from textpress.docs import load_page, get_resource2247 from zine.docs import load_page, get_resource 2248 2248 2249 2249 rv = load_page(req.app, page) -
zine/views/blog.py
r461 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.views.blog4 ~~~~~~~~~~~~~~~ ~~~~~3 zine.views.blog 4 ~~~~~~~~~~~~~~~ 5 5 6 6 This module implements all the views (some people call that controller) … … 15 15 from datetime import date 16 16 17 from textpress.api import *18 from textpress.models import Post, Tag, User, Comment, Page, ROLE_AUTHOR, \17 from zine.api import * 18 from zine.models import Post, Tag, User, Comment, Page, ROLE_AUTHOR, \ 19 19 COMMENT_UNMODERATED 20 from textpress.utils import dump_json, build_tag_uri, ClosingIterator21 from textpress.utils.uploads import get_filename, guess_mimetype22 from textpress.utils.validators import is_valid_email, is_valid_url23 from textpress.utils.xml import generate_rsd, dump_xml, AtomFeed24 from textpressimport pingback20 from zine.utils import dump_json, build_tag_uri, ClosingIterator 21 from zine.utils.uploads import get_filename, guess_mimetype 22 from zine.utils.validators import is_valid_email, is_valid_url 23 from zine.utils.xml import generate_rsd, dump_xml, AtomFeed 24 from zine import pingback 25 25 from werkzeug.exceptions import NotFound, Forbidden 26 26 … … 221 221 used to send mail notifications and stuff like that. 222 222 223 This view supports pingbacks via ` textpress.pingback.pingback_post`223 This view supports pingbacks via `zine.pingback.pingback_post` 224 224 225 225 :Template name: ``show_post.html`` -
zine/websetup/__init__.py
r451 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.websetup4 ~~~~~~~~~~~~~ ~~~~~5 6 This module installs textpressautomatically if the app is not ready.7 Because the whole TextPressinfrastructure is not available during the3 zine.websetup 4 ~~~~~~~~~~~~~ 5 6 This module installs Zine automatically if the app is not ready. 7 Because the whole Zine infrastructure is not available during the 8 8 setup this module brings it's own basic framework. 9 9 10 10 Please also keep in mind that he CSS files are inlined because the very 11 11 last request could not send any more requests to external files. Those 12 would already be returned by the normal TextPressinstallation.12 would already be returned by the normal Zine installation. 13 13 14 14 :copyright: 2007-2008 by Armin Ronacher. … … 17 17 import sys 18 18 from os import path 19 from textpress.config import Configuration20 from textpress.api import db21 from textpress.models import User, ROLE_ADMIN22 from textpress.utils.crypto import gen_pwhash, gen_secret_key23 from textpress.utils.validators import is_valid_email24 from textpress.i18n import load_translations, has_language, list_languages19 from zine.config import Configuration 20 from zine.api import db 21 from zine.models import User, ROLE_ADMIN 22 from zine.utils.crypto import gen_pwhash, gen_secret_key 23 from zine.utils.validators import is_valid_email 24 from zine.i18n import load_translations, has_language, list_languages 25 25 from werkzeug import Request, Response, redirect 26 26 from jinja2 import Environment, FileSystemLoader … … 44 44 45 45 class WebSetup(object): 46 """Minimal WSGI application for installing textpress"""46 """Minimal WSGI application for installing zine""" 47 47 48 48 def __init__(self, instance_folder): … … 131 131 """ 132 132 This is called when all the form data is validated 133 and TextPressis ready to install the data. In theory133 and Zine is ready to install the data. In theory 134 134 this can also be called if no form validation is done and 135 135 someone faked the request. But because that's the fault of … … 141 141 142 142 try: 143 from textpress.database import init_database143 from zine.database import init_database 144 144 145 145 # create database and all tables … … 149 149 error = str(e) 150 150 else: 151 from textpress.models import ROLE_ADMIN152 from textpress.database import users151 from zine.models import ROLE_ADMIN 152 from zine.database import users 153 153 154 154 # create admin account … … 166 166 167 167 # set up the initial config 168 config_filename = path.join(self.instance_folder, ' textpress.ini')168 config_filename = path.join(self.instance_folder, 'zine.ini') 169 169 cfg = Configuration(config_filename) 170 170 t = cfg.edit() … … 188 188 189 189 # use a local variable, the global render_response could 190 # be None because we reloaded textpressand this module.190 # be None because we reloaded zine and this module. 191 191 return render_response(request, error and 'error.html' or 'finished.html', { 192 192 'finished': True, -
zine/websetup/templates/admin_account.html
r431 r465 3 3 <h2>{{ _('Administrator Account') }}</h2> 4 4 <p>{% trans %} 5 In order to log into your TextPressinstallation you have to provide a5 In order to log into your Zine installation you have to provide a 6 6 login name for the administration user. You can later rename or delete 7 7 that user if you want. -
zine/websetup/templates/database.html
r426 r465 3 3 <h2>{{ _('Database') }}</h2> 4 4 <p>{% trans %} 5 TextPressuses a database to store blog posts and other information. The5 Zine uses a database to store blog posts and other information. The 6 6 only information it requires therefore is a database URI. Depending on your 7 7 database this URI looks different. Have a look at the following table for -
zine/websetup/templates/error.html
r426 r465 2 2 {% block body %} 3 3 <h2>{{ _('Setup Failed') }}</h2> 4 <p>{{ _('The websetup was not able to finish the TextPressinstallation successfully.') }}4 <p>{{ _('The websetup was not able to finish the Zine installation successfully.') }} 5 5 <p>{% trans %} 6 If you need help for setting up TextPresshave a look at the support6 If you need help for setting up Zine have a look at the support 7 7 wepage that will be there once a beta is available :-) 8 8 {% endtrans %} -
zine/websetup/templates/layout.html
r427 r465 3 3 <html> 4 4 <head> 5 <title>{{ _(' TextPressSetup') }}</title>5 <title>{{ _('Zine Setup') }}</title> 6 6 <style type="text/css"> 7 7 body { … … 157 157 <div class="page"> 158 158 <div class="header"> 159 <h1>{{ _(' TextPressSetup') }}</h1>159 <h1>{{ _('Zine Setup') }}</h1> 160 160 </div> 161 161 <div class="contents"> -
zine/websetup/templates/start.html
r454 r465 1 1 {% extends "layout.html" %} 2 2 {% block body %} 3 <h2>{{ _('Welcome To The TextPressSetup') }}</h2>3 <h2>{{ _('Welcome To The Zine Setup') }}</h2> 4 4 <p>{% trans %} 5 Welcome to the TextPressSetup. This Wizard will ask you some6 basic questions and setup TextPressfor you.5 Welcome to the Zine Setup. This Wizard will ask you some 6 basic questions and setup Zine for you. 7 7 {% endtrans %}</p> 8 8 <p>{% trans %} -
zine/websetup/templates/summary.html
r426 r465 3 3 <h2>{{ _('Setup Starting') }}</h2> 4 4 <p>{% trans %} 5 TextPressknows now about all the information it needs to setup your6 instance. After you click on the install button TextPresswill create5 Zine knows now about all the information it needs to setup your 6 instance. After you click on the install button Zine will create 7 7 the database tables and insert the default information. Right after that 8 TextPresswill be online in maintenance mode which means that it's only8 Zine will be online in maintenance mode which means that it's only 9 9 visible to the administrator, all other users will get a message that 10 10 shows that the blog is in maintenance mode right now. -
zine/widgets.py
r404 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.widgets4 ~~~~~~~~~~~~ ~~~~~3 zine.widgets 4 ~~~~~~~~~~~~ 5 5 6 6 This module provides the core widgets and functionality to build your 7 own. Widgets are, in the context of TextPress, classes that have a7 own. Widgets are, in the context of Zine, classes that have a 8 8 unicode conversion function that renders a template into a string but 9 9 have all their attributes attached to themselves. This gives template … … 21 21 import inspect 22 22 from os import path 23 from textpress.api import *24 from textpress.database import pages as pages_table25 from textpress.models import Post, Tag, Comment, Page26 from textpress.utils.xxx import CSRFProtector23 from zine.api import * 24 from zine.database import pages as pages_table 25 from zine.models import Post, Tag, Comment, Page 26 from zine.utils.xxx import CSRFProtector 27 27 28 28 from jinja2 import nodes -
zine/zxa.py
r443 r465 1 1 # -*- coding: utf-8 -*- 2 2 """ 3 textpress.tpxa4 ~~~~~~~~ ~~~~~~5 6 TextPresseXtended Atom. This module sounds like it has a ridiculous3 zine.zxa 4 ~~~~~~~~ 5 6 Zine eXtended Atom. This module sounds like it has a ridiculous 7 7 implementation but that's actually intention. The main reason is that 8 8 because this file can (and does) become incredible big for bigger blogs … … 18 18 from itertools import chain 19 19 20 import textpress21 from textpress.api import *22 from textpress.models import Post, User23 from textpress.utils import build_tag_uri24 from textpress.utils.dates import format_iso860125 from textpress.utils.xml import get_etree, escape20 import zine 21 from zine.api import * 22 from zine.models import Post, User 23 from zine.utils import build_tag_uri 24 from zine.utils.dates import format_iso8601 25 from zine.utils.xml import get_etree, escape 26 26 27 27 28 28 ATOM_NS = 'http://www.w3.org/2005/Atom' 29 TEXTPRESS_NS = 'http://textpress.pocoo.org/'29 ZINE_NS = 'http://zine.pocoo.org/' 30 30 31 31 XML_PREAMBLE = u'''\ … … 33 33 <!-- 34 34 35 This is a TextPresseXtended Atom file. It is a superset of the Atom35 This is a Zine eXtended Atom file. It is a superset of the Atom 36 36 specification so every Atom-enabled application should be able to use at 37 37 least the Atom subset of the exported data. You can use this file to … … 62 62 63 63 --> 64 <a:feed xmlns:a="%(atom_ns)s" xmlns: tp="%(textpress_ns)s">\64 <a:feed xmlns:a="%(atom_ns)s" xmlns:z="%(zine_ns)s">\ 65 65 <a:title>%(title)s</a:title>\ 66 66 <a:subtitle>%(subtitle)s</a:subtitle>\ 67 67 <a:id>%(id)s</a:id>\ 68 <a:generator uri="http:// textpress.pocoo.org/"\69 version="%(version)s"> TextPress TPXA Export</a:generator>\68 <a:generator uri="http://zine.pocoo.org/"\ 69 version="%(version)s">ZineXA Export</a:generator>\ 70 70 <a:link href="%(blog_url)s"/>\ 71 71 <a:updated>%(updated)s</a:updated>''' … … 74 74 75 75 def export(app): 76 """Dump all the application data into an TPXA response."""76 """Dump all the application data into an ZXA response.""" 77 77 return Response(Writer(app)._generate(), mimetype='application/atom+xml') 78 78 … … 137 137 self.etree = etree = get_etree() 138 138 self.atom = _ElementHelper(etree, ATOM_NS) 139 self. tp = _ElementHelper(etree, TEXTPRESS_NS)139 self.z = _ElementHelper(etree, ZINE_NS) 140 140 self._dependencies = {} 141 141 self.users = {} 142 142 self.participants = [x(self) for x in 143 emit_event('get- tpxa-participants') if x]143 emit_event('get-zxa-participants') if x] 144 144 145 145 def _generate(self): … … 154 154 last_update = now 155 155 156 feed_id = build_tag_uri(self.app, last_update, ' tpxa_export', 'full')156 feed_id = build_tag_uri(self.app, last_update, 'zxa_export', 'full') 157 157 yield (XML_PREAMBLE % { 158 'version': escape( textpress.__version__),158 'version': escape(zine.__version__), 159 159 'title': escape(self.app.cfg['blog_title']), 160 160 'subtitle': escape(self.app.cfg['blog_tagline']), 161 161 'atom_ns': ATOM_NS, 162 ' textpress_ns': TEXTPRESS_NS,162 'zine_ns': ZINE_NS, 163 163 'id': escape(feed_id), 164 164 'blog_url': escape(self.app.cfg['blog_url']), … … 166 166 }).encode('utf-8') 167 167 168 ns_map = {ATOM_NS: 'a', TEXTPRESS_NS: 'tp'}168 ns_map = {ATOM_NS: 'a', ZINE_NS: 'z'} 169 169 out = _MinimalO() 170 170 def dump_node(node): … … 177 177 178 178 # dump configuration 179 cfg = self. tp('configuration')179 cfg = self.z('configuration') 180 180 for key, value in self.app.cfg.iteritems(): 181 self. tp('item', key=key, text=unicode(value), parent=cfg)181 self.z('item', key=key, text=unicode(value), parent=cfg) 182 182 yield dump_node(cfg) 183 183 … … 198 198 # if we have dependencies (very likely) dump them now 199 199 if self._dependencies: 200 yield '< tp:dependencies>'200 yield '<z:dependencies>' 201 201 for node in self._dependencies.itervalues(): 202 202 yield dump_node(node) 203 yield '</ tp:dependencies>'203 yield '</z:dependencies>' 204 204 205 205 yield XML_EPILOG.encode('utf-8') … … 207 207 def new_dependency(self, tag): 208 208 id = '%x' % (len(self._dependencies) + 1) 209 node = self.etree.Element(tag, {self. tp.dependency: id})209 node = self.etree.Element(tag, {self.z.dependency: id}) 210 210 self._dependencies[id] = node 211 211 return node 212 212 213 213 def _register_user(self, user): 214 rv = self.new_dependency(self. tp.user)215 self. tp('username', text=user.username, parent=rv)216 self. tp('role', text=str(user.role), parent=rv)217 self. tp('pw_hash', text=user.pw_hash.encode('base64'), parent=rv)218 self. tp('display_name', text=user._display_name, parent=rv)219 self. tp('first_name', text=user.first_name, parent=rv)220 self. tp('last_name', text=user.last_name, parent=rv)221 self. tp('description', text=user.description, parent=rv)214 rv = self.new_dependency(self.z.user) 215 self.z('username', text=user.username, parent=rv) 216 self.z('role', text=str(user.role), parent=rv) 217 self.z('pw_hash', text=user.pw_hash.encode('base64'), parent=rv) 218 self.z('display_name', text=user._display_name, parent=rv) 219 self.z('first_name', text=user.first_name, parent=rv) 220 self.z('last_name', text=user.last_name, parent=rv) 221 self.z('description', text=user.description, parent=rv) 222 222 for participant in self.participants: 223 223 participant.process_user(rv, user) … … 236 236 237 237 author = self.atom('author', parent=entry) 238 author.attrib[self. tp.dependency] = self.users[post.author.user_id] \239 .attrib[self. tp.dependency]238 author.attrib[self.z.dependency] = self.users[post.author.user_id] \ 239 .attrib[self.z.dependency] 240 240 self.atom('name', text=post.author.display_name, parent=author) 241 241 self.atom('email', text=post.author.email, parent=author) 242 242 243 self. tp('slug', text=post.slug, parent=entry)244 self. tp('id', text=str(post.post_id), parent=entry)245 self. tp('comments_enabled', text=post.comments_enabled246 and 'yes' or 'no', parent=entry)247 self. tp('pings_enabled', text=post.pings_enabled248 and 'yes' or 'no', parent=entry)249 self. tp('status', text=str(post.status), parent=entry)243 self.z('slug', text=post.slug, parent=entry) 244 self.z('id', text=str(post.post_id), parent=entry) 245 self.z('comments_enabled', text=post.comments_enabled 246 and 'yes' or 'no', parent=entry) 247 self.z('pings_enabled', text=post.pings_enabled 248 and 'yes' or 'no', parent=entry) 249 self.z('status', text=str(post.status), parent=entry) 250 250 251 251 self.atom('content', type='html', text=post.body.render(), parent=entry) … … 253 253 self.atom('summary', type='html', text=post.intro.render(), 254 254 parent=entry) 255 self. tp('data', text=dumps({255 self.z('data', text=dumps({ 256 256 'extra': post.extra, 257 257 'raw_body': post.raw_body, … … 261 261 262 262 for c in post.comments: 263 comment = self. tp('comment', parent=entry)264 self. tp('id', text=str(c.comment_id), parent=comment)265 author = self. tp('author', parent=comment)266 self. tp('name', text=c.author, parent=author)267 self. tp('email', text=c.email, parent=author)268 self. tp('uri', text=c.www, parent=author)269 self. tp('published', text=format_iso8601(c.pub_date),270 parent=comment)271 self. tp('blocked', text=c.blocked and 'yes' or 'no',272 parent=comment)273 self. tp('is_pingback', text=c.is_pingback and 'yes' or 'no',274 parent=comment)275 self. tp('blocked_msg', text=str(c.blocked_msg or ''),276 parent=comment)277 self. tp('parent', text=c.parent_id is not None and str(c.parent_id)278 or '', parent=comment)279 self. tp('data', text=dumps({263 comment = self.z('comment', parent=entry) 264 self.z('id', text=str(c.comment_id), parent=comment) 265 author = self.z('author', parent=comment) 266 self.z('name', text=c.author, parent=author) 267 self.z('email', text=c.email, parent=author) 268 self.z('uri', text=c.www, parent=author) 269 self.z('published', text=format_iso8601(c.pub_date), 270 parent=comment) 271 self.z('blocked', text=c.blocked and 'yes' or 'no', 272 parent=comment) 273 self.z('is_pingback', text=c.is_pingback and 'yes' or 'no', 274 parent=comment) 275 self.z('blocked_msg', text=str(c.blocked_msg or ''), 276 parent=comment) 277 self.z('parent', text=c.parent_id is not None and str(c.parent_id) 278 or '', parent=comment) 279 self.z('data', text=dumps({ 280 280 'raw_body': c.raw_body, 281 281 'parser_data': c.parser_data
Note: See TracChangeset
for help on using the changeset viewer.