diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index b9f7e6b06..000000000 --- a/.drone.yml +++ /dev/null @@ -1,7 +0,0 @@ -image: wagtail-ci -script: - - python3.4 setup.py install - - pip3.4 install -r requirements-dev.txt - - python3.4 runtests.py --keepdb -env: - - DATABASE_NAME=/base-dbs/wagtail.v1.0.sqlite diff --git a/.travis.yml b/.travis.yml index 65347372f..27a814971 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,8 @@ language: python +# Use container-based infrastructure +sudo: false + matrix: include: - env: TOXENV=py27-dj17-postgres diff --git a/.tx/config b/.tx/config index 4312d6d79..113f0f9a4 100644 --- a/.tx/config +++ b/.tx/config @@ -66,3 +66,15 @@ file_filter = wagtail/wagtailsites/locale//LC_MESSAGES/django.po source_file = wagtail/wagtailsites/locale/en/LC_MESSAGES/django.po source_lang = en type = PO + +[wagtail.wagtailsearchpromotions] +file_filter = wagtail/contrib/wagtailsearchpromotions/locale//LC_MESSAGES/django.po +source_file = wagtail/contrib/wagtailsearchpromotions/locale/en/LC_MESSAGES/django.po +source_lang = en +type = PO + +[wagtail.wagtailstyleguide] +file_filter = wagtail/contrib/wagtailstyleguide/locale//LC_MESSAGES/django.po +source_file = wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.po +source_lang = en +type = PO diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 277d15c61..272c2ddb4 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,13 +1,22 @@ Changelog ========= +1.2 (xx.xx.xxxx) +~~~~~~~~~~~~~~~~ + + * Fix: Deleting a page permission from the groups admin UI does not immediately submit the form + + 1.1 (xx.xx.xxxx) ~~~~~~~~~~~~~~~~ * Implemented the `specific()` method on PageQuerySet, to return pages as their most specific type * "Promoted search results" has moved into its own module * Elasticsearch backend now supports an experimental `ATOMIC_REBUILD` flag to keep the existing index available while the `update_index` task is running - * The wagtailapi module has been refactored to use Django REST Framework + * The wagtailapi module has been refactored to use Django REST Framework (Tom Christie) + * A number of permissions fixes have been made to the Wagtail admin interface. See release notes for a list of specific changes made. + * Snippets that inherit from `wagtail.wagtailsearch.index.Indexed` now appear as searchable within the Wagtail admin + * Implemented deletion of form submissions (Kyungil Choi) * Implemented pagination in the page chooser modal * Changed INSTALLED_APPS in project template to list apps in precedence order (Piet Delport) * The `{% image %}` tag now supports filters on the image variable, e.g. `{% image primary_img|default:secondary_img width-500 %}` @@ -17,11 +26,33 @@ Changelog * Added optional directory argument to "wagtail start" command (Mitchel Cabuloy) * Non-superusers can now view/edit/delete sites if they have the correct permissions * Image file size is now stored in the database, to avoid unnecessary filesystem lookups + * Page URL lookups hit the cache/database less often (Michael van Tellingen) * Updated URLs within the admin backend to use namespaces * The `update_index` task now indexes objects in batches of 1000, to indicate progress and avoid excessive memory use + * Added database indexes on PageRevision and Image to improve performance on large sites + * Search in page chooser now uses Wagtail's search framework, to order results by relevance + * `PageChooserPanel` now supports passing a list (or tuple) of accepted page types + * The snippet type parameter of `SnippetChooserPanel` can now be omitted, or passed as a model name string rather than a model class (Joss Ingram) + * Added aliases for the `self` template variable to accommodate Jinja as a templating engine: `page` for pages, `field_panel` for field panels / edit handlers, and `value` for blocks + * Added signposting text to the explorer to steer editors away from creating pages at the root level unless they are setting up new sites + * "Clear choice" and "Edit this page" buttons are no longer shown on the page field of the group page permissions form + * Altered styling of stream controls to be more like all other buttons + * Added ability to mark page models as not available for creation using the flag `is_creatable`; pages that are abstract Django models are automatically made non-creatable + * New translations for Norwegian Bokmål and Icelandic * Fix: Text areas in the non-default tab of the page editor now resize to the correct height * Fix: Tabs in "insert link" modal in the rich text editor no longer disappear (Tim Heap) * Fix: H2 elements in rich text fields were accidentally given a click() binding when put insite a collapsible multi field panel + * Fix: The wagtailimages module is now compatible with remote storage backends that do not allow reopening closed files + * Fix: Search no longer crashes when auto-indexing a model that doesn't have an id field (Scot Hacker) + * Fix: The `wagtailfrontendcache` module's HTTP backend has been rewritten to reliably direct requests to the configured cache hostname + * Fix: Resizing single pixel images with the "fill" filter no longer raises "ZeroDivisionError" or "tile cannot extend outside image" + * Fix: The queryset returned from `search` operations when using the database search backend now correctly preserves additional properties of the original query, such as `prefetch_related` / `select_related` + * Fix: Responses from the external image URL generator are correctly marked as streaming and will no longer fail when used with Django's cache middleware + * Fix: Page copy now works with pages that use multiple inheritance (Jordi Joan) + * Fix: Form builder pages now pick up template variables defined in the `get_context` method (Christoph Lipp) + * Fix: When copying a page, IDs of child objects within page revision records were not remapped to the new objects; this would cause those objects to be lost from the original page when editing the new one + * Fix: Newly added redirects now take effect on all sites, rather than just the site that the Wagtail admin backend was accessed through + * Fix: Add user form no longer throws a hard error on validation failure 1.0 (16.07.2015) diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 2f1ad8aa2..273dfa382 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -58,6 +58,12 @@ Contributors * Mitchel Cabuloy * Piet Delport * Tom Christie +* Michael van Tellingen +* Scot Hacker +* Kyungil Choi +* Joss Ingram +* Christoph Lipp + Translators =========== @@ -77,9 +83,11 @@ Translators * German: Karl Sander, Johannes Spielmann, m0rph3u5, pcraston, Tammo van Lessen * Greek: Serafeim Papastefanos, Jim Dal * Hebrew (Israel): bjesus, Lior Abazon +* Icelandic: Arnar Tumi Þorsteinsson, saevarom * Italian: Andrea Tagliazucchi, Claudio Bantaloukas, Alessio Di Stasio, Giacomo Ghizzani * Japanese: Daigo Shitara, Toshikazu Michisu * Mongolian: Delgermurun Purevkhuu, miiiga +* Norwegian Bokmål: Eirik Krogstad * Polish: Łukasz Bołdys * Portuguese (Brazil): Gilson Filho, Douglas Miranda, Thiago Cangussu, João Luiz Lorencetti, Gladson Brito, Marcelo J. Both * Portuguese (Portugal): Jose Lourenco, Tiago Henriques diff --git a/docs/advanced_topics/customisation/page_editing_interface.rst b/docs/advanced_topics/customisation/page_editing_interface.rst index 51311d3c2..9e4161ce0 100644 --- a/docs/advanced_topics/customisation/page_editing_interface.rst +++ b/docs/advanced_topics/customisation/page_editing_interface.rst @@ -23,7 +23,7 @@ As standard, Wagtail organises panels into three tabs: 'Content', 'Promote' and FieldPanel('body', classname="full"), ] sidebar_content_panels = [ - SnippetChooserPanel('advert', Advert), + SnippetChooserPanel('advert'), InlinePanel('related_links', label="Related links"), ] diff --git a/docs/advanced_topics/multilingual_sites.rst b/docs/advanced_topics/i18n/duplicate_tree.rst similarity index 93% rename from docs/advanced_topics/multilingual_sites.rst rename to docs/advanced_topics/i18n/duplicate_tree.rst index 8c15dc408..c4a05da58 100644 --- a/docs/advanced_topics/multilingual_sites.rst +++ b/docs/advanced_topics/i18n/duplicate_tree.rst @@ -1,10 +1,8 @@ -=========================== -Creating multilingual sites -=========================== +=========================================================== +Creating a multilingual site (by duplicating the page tree) +=========================================================== -This tutorial will show you a method of creating multilingual sites in Wagtail. - -Currently, Wagtail doesn't support multiple languages in the same page. The recommended way of creating multilingual websites in Wagtail at the moment is to create one section of your website for each language. +This tutorial will show you a method of creating multilingual sites in Wagtail by duplicating the page tree. For example:: diff --git a/docs/advanced_topics/i18n/index.rst b/docs/advanced_topics/i18n/index.rst new file mode 100644 index 000000000..967441604 --- /dev/null +++ b/docs/advanced_topics/i18n/index.rst @@ -0,0 +1,211 @@ +==================== +Internationalisation +==================== + +This document describes the internationalisation features of Wagtail and how to create multi-lingual sites. + +Wagtail uses Django's `Internationalisation framework `_ so most of the steps are the same as other Django projects. + + +.. contents:: + + +Wagtail admin translations +========================== + +The Wagtail admin backend has been translated into many different languages. You can find a list of currently available translations on Wagtail's `Transifex page `_. (Note: if you're using an old version of Wagtail, this page may not accurately reflect what languages you have available). + +If your language isn't listed on that page, you can easily contribute new languages or correct mistakes. Sign up and submit changes to `Transifex `_. Translation updates are typically merged into an official release within one month of being submitted. + + +Changing the primary language of your Wagtail installation +========================================================== + +The default language of Wagtail is ``en-us`` (American English). You can change this by tweaking a couple of Django settings: + + - Make sure `USE_I18N `_ is set to ``True`` + - Set `LANGUAGE_CODE `_ to your websites' primary language + +If there is a translation available for your language, the Wagtail admin backend should now be in the language you've chosen. + + +Creating sites with multiple languages +====================================== + +You can create sites with multiple language support by leveraging Django's `translation features `_. + +This section of the documentation will show you how to use Django's translation features with Wagtail and also describe a couple of methods for storing/retrieving translated content using Wagtail pages. + + +Enabling multiple language support +---------------------------------- + +Firstly, make sure the `USE_I18N `_ Django setting is set to ``True``. + +To enable multi-language support, add ``django.middleware.locale.LocaleMiddleware`` to your ``MIDDLEWARE_CLASSES``: + +.. code-block:: python + + MIDDLEWARE_CLASSES = ( + ... + + 'django.middleware.locale.LocaleMiddleware', + ) + +This middleware class looks at the user's browser language and sets the `language of the site accordingly `_. + + +Serving different languages from different URLs +----------------------------------------------- + +Just enabling the multi-language support in Django sometimes may not be enough. By default, Django will serve different languages of the same page with the same URL. This has a couple of drawbacks: + + - Users cannot change language without changing their browser settings + - It may not work well with various caching setups (as content varies based on browser settings) + +Django's ``i18n_patterns`` feature, when enabled, prefixes the URLs with the language code (eg ``/en/about-us``). Users are forwarded to their preferred version, based on browser language, when they first visit the site. + +This feature is enabled through the project's root URL configuration. Just put the views you would like to have this enabled for in an ``i18n_patterns`` list and append that to the other URL patterns: + +.. code-block:: python + + # mysite/urls.py + + from django.conf.urls import include, url + from django.conf.urls.i18n import i18n_patterns + from django.conf import settings + from django.contrib import admin + + from wagtail.wagtailadmin import urls as wagtailadmin_urls + from wagtail.wagtaildocs import urls as wagtaildocs_urls + from wagtail.wagtailcore import urls as wagtail_urls + + + urlpatterns = [ + url(r'^django-admin/', include(admin.site.urls)), + + url(r'^admin/', include(wagtailadmin_urls)), + url(r'^documents/', include(wagtaildocs_urls)), + ] + + + urlpatterns += i18n_patterns('', + # These URLs will have // appended to the beginning + + url(r'^search/$', 'search.views.search', name='search'), + + url(r'', include(wagtail_urls)), + ) + +You can implement switching between languages by changing the part at the beginning of the URL. As each language has its own URL, it also works well with just about any caching setup. + + +Translating templates +--------------------- + +Static text in templates needs to be marked up in a way that allows Django's ``makemessages`` command to find and export the strings for translators and also allow them to switch to translated versions on the when the template is being served. + +As Wagtail uses Django's templates, inserting this markup and the workflow for exporting and translating the strings is the same as any other Django project. + +See: https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#internationalization-in-template-code + + +Translating content +------------------- + +The most common approach for translating content in Wagtail is to duplicate each translatable text field, providing a separate field for each language. + +This section will describe how to implement this method manually but there is a third party module you can use, `wagtail modeltranslation `_, which may be quicker if it meets your needs. + + +**Duplicating the fields in your model** + +For each field you would like to be translatable, duplicate it for every language you support and suffix it with the language code: + +.. code-block:: python + + class BlogPage(Page): + + title_fr = models.CharField(max_length=255) + + body_en = StreamField(...) + body_fr = StreamField(...) + + # Language-independent fields don't need to be duplicated + thumbnail_image = models.ForeignKey('wagtailimages.image', ...) + +.. note:: + + We only define the French version of the ``title`` field as Wagtail already provides the English version for us. + + +**Organising the fields in the admin interface** + +You can either put all the fields with their translations next to each other on the "content" tab or put the translations for other languages on different tabs. + +See :ref:`customising_the_tabbed_interface` for information on how to add more tabs to the admin interface. + + +**Accessing the fields from the template** + +In order for the translations to be shown on the site frontend, the correct field needs to be used in the template based on what language the client has selected. + +Having to add language checks every time you display a field in a template, could make your templates very messy. Here's a little trick that will allow you to implement this while keeping your templates and model code clean. + +You can use a snippet like the following to add accessor fields on to your page model. These accessor fields will point at the field that contains the language the user has selected. + +Copy this into your project and make sure it's imported in any ``models.py`` files that contain a ``Page`` with translated fields. It will require some modification to support different languages. + +.. code-block:: python + + from django.utils import translation + + class TranslatedField(object): + def __init__(self, en_field, fr_field): + self.en_field = en_field + self.fr_field = fr_field + + def __get__(self, instance, owner): + en = getattr(instance, self.en_field) + fr = getattr(instance, self.fr_field) + + if translation.get_language() == 'fr': + return fr + else: + return en + + +Then, for each translated field, create an instance of ``TranslatedField`` with a nice name (as this is the name your templates will reference). + +For example, here's how we would apply this to the above ``BlogPage`` model: + +.. code-block:: python + + class BlogPage(Page): + ... + + translated_title = TranslatedField( + 'title', + 'title_fr', + ) + body = TranslatedField( + 'body_en', + 'body_fr', + ) + + +Finally, in the template, reference the accessors instead of the underlying database fields: + +.. code-block:: html+Django + + {{ self.translated_title }} + + {{ self.body }} + + +Other approaches +---------------- + +.. toctree:: + + duplicate_tree diff --git a/docs/advanced_topics/index.rst b/docs/advanced_topics/index.rst index 76e8cca71..50909406b 100644 --- a/docs/advanced_topics/index.rst +++ b/docs/advanced_topics/index.rst @@ -8,7 +8,7 @@ Advanced topics settings deploying performance - multilingual_sites + i18n/index privacy customisation/index third_party_tutorials diff --git a/docs/contributing/developing.rst b/docs/contributing/developing.rst index 568e23948..76fced6f8 100644 --- a/docs/contributing/developing.rst +++ b/docs/contributing/developing.rst @@ -8,7 +8,7 @@ We recommend using the `Wagtail demo site `_, then continue with the instructions below. -Clone a copy of `the Wagtail codebase `_ alongside your demo site at the same level. So in the directory containing wagtaildemo, run:: +Clone a copy of `the Wagtail codebase `_ alongside your demo site at the same level. So in the directory containing the wagtaildemo repo, run:: git clone https://github.com/torchbox/wagtail.git diff --git a/docs/editor_manual/administrator_tasks/index.rst b/docs/editor_manual/administrator_tasks/index.rst index e4d82c0d8..312e9df1b 100644 --- a/docs/editor_manual/administrator_tasks/index.rst +++ b/docs/editor_manual/administrator_tasks/index.rst @@ -8,4 +8,3 @@ This section of the guide documents how to perform common tasks as an administra managing_users promoted_search_results - .. redirects diff --git a/docs/editor_manual/documents_images_snippets/images.rst b/docs/editor_manual/documents_images_snippets/images.rst index a84188e3e..3b7dd3c60 100644 --- a/docs/editor_manual/documents_images_snippets/images.rst +++ b/docs/editor_manual/documents_images_snippets/images.rst @@ -25,5 +25,5 @@ ___________ * This interface allows you to select a focal point which can effect how your image displays to visitors on the front-end. * If your images are cropped in some way to make them fit to a specific shape, then the focal point will define the centre point from which the image is cropped. -* To set the focal point, simply a marquee around the most important element of the image. -* If the feature is set up in your website, then on the front-end you will see the crop of this image focusing on your selection. \ No newline at end of file +* To set the focal point, simply drag a marquee around the most important element of the image. +* If the feature is set up in your website, then on the front-end you will see the crop of this image focusing on your selection. diff --git a/docs/editor_manual/documents_images_snippets/snippets.rst b/docs/editor_manual/documents_images_snippets/snippets.rst index 14f622a4b..4e0f7cf08 100644 --- a/docs/editor_manual/documents_images_snippets/snippets.rst +++ b/docs/editor_manual/documents_images_snippets/snippets.rst @@ -3,7 +3,7 @@ Snippets Snippets allow you to create elements on a website once and reuse them in multiple places. Then, if you want to change something on the snippet, you only need to change it once, and it will change across all the occurances of the snippet. -How snippets are used can vary widely between websites. Here are a few examples of things Torchbox have used snippets for on our clients websites: +How snippets are used can vary widely between websites. Here are a few examples of things Torchbox have used snippets for on our clients' websites: * For staff contact details, so that they can be added to many pages but managed in one place * For Adverts, either to be applied sitewide or on individual pages @@ -35,4 +35,4 @@ If you are editing a page, and you find yourself in need of a new snippet, do no * You should now see your new snippet, even though you didn't leave the edit page. .. Note:: - Even though this is possible, it is worth saving your page as a draft as often as possible, to avoid your changes being lost by navigating away from the edit page accidentally. \ No newline at end of file + Even though this is possible, it is worth saving your page as a draft as often as possible, to avoid your changes being lost by navigating away from the edit page accidentally. diff --git a/docs/editor_manual/finding_your_way_around/the_dashboard.rst b/docs/editor_manual/finding_your_way_around/the_dashboard.rst index 8d42c072f..b82cfe39c 100644 --- a/docs/editor_manual/finding_your_way_around/the_dashboard.rst +++ b/docs/editor_manual/finding_your_way_around/the_dashboard.rst @@ -15,7 +15,7 @@ You can return to the Dashboard at any time by clicking the Wagtail log in the t - Clicking the logo returns you to your Dashboard. - The stats at the top of the page describe the total amount of content on the CMS (just for fun!). -- The *Pages awaiting moderation* table will only displayed if you have moderator or administrator privileges +- The *Pages awaiting moderation* table will only be displayed if you have moderator or administrator privileges - Clicking the name of a page will take you to the ‘Edit page’ interface for this page. - Clicking approve or reject will either change the page status to live or return the page to draft status. An email will be sent to the creator of the page giving the result of moderation either way. @@ -23,8 +23,8 @@ You can return to the Dashboard at any time by clicking the Wagtail log in the t - The *Your most recent edits* table displays the five pages that you most recently edited. - The date column displays the date that you edited the page. Hover your mouse over the date for a more exact time/date. -- The status column displays the current status of the page. A page will have on one of four statuses: +- The status column displays the current status of the page. A page will have one of three statuses: - Live: Published and accessible to website visitors - Draft: Not live on the website. - - Live + Draft: A version of the page is live, but a newer version is in draft mode. \ No newline at end of file + - Live + Draft: A version of the page is live, but a newer version is in draft mode. diff --git a/docs/editor_manual/finding_your_way_around/the_explorer_page.rst b/docs/editor_manual/finding_your_way_around/the_explorer_page.rst index 51a4aa2db..1c85d3c4d 100644 --- a/docs/editor_manual/finding_your_way_around/the_explorer_page.rst +++ b/docs/editor_manual/finding_your_way_around/the_explorer_page.rst @@ -28,5 +28,5 @@ ________________ .. image:: ../../_static/images/screen08.5_reorder_page_handles.png * Clicking the icon to the far left of the child pages table will enable the reordering handles. This allows you to reorder the way that content displays in the main menu of your website. -* Reorder by dragging the pages by the handles on the far left (the icon made up of 8 dots). -* Your new order will be automatically saved each time you drag and drop an item. \ No newline at end of file +* Reorder by dragging the pages by the handles on the far left (the icon made up of 6 dots). +* Your new order will be automatically saved each time you drag and drop an item. diff --git a/docs/editor_manual/new_pages/adding_multiple_items.rst b/docs/editor_manual/new_pages/adding_multiple_items.rst index f173995dd..e74c6255b 100644 --- a/docs/editor_manual/new_pages/adding_multiple_items.rst +++ b/docs/editor_manual/new_pages/adding_multiple_items.rst @@ -14,4 +14,4 @@ A common feature of Wagtail is the ability to add more than one of a particular .. image:: ../../_static/images/screen26_reordering_multiple_items.png -4. You can reorder your multiple items using the up and down arrows. Doing this will affect the order in which they are display on the live page. \ No newline at end of file +* You can reorder your multiple items using the up and down arrows. Doing this will affect the order in which they are display on the live page. diff --git a/docs/editor_manual/new_pages/inserting_images.rst b/docs/editor_manual/new_pages/inserting_images.rst index a59b8126a..90b491897 100644 --- a/docs/editor_manual/new_pages/inserting_images.rst +++ b/docs/editor_manual/new_pages/inserting_images.rst @@ -38,7 +38,7 @@ The image below demonstrates finding and inserting an image that is already pre #. You must include an image title for your uploaded image #. Click the *Choose file* button to choose an image from your computer. -#. This *Tags* allows you to associate tags with the image you are uploading. This allows them to be more easily found when searching. Each tag should be separated by a space. Good practice for creating multiple word tags is to use an underscore between each word (e.g. western_yellow_wagtail). +#. *Tags* allows you to associate tags with the image you are uploading. This allows them to be more easily found when searching. Each tag should be separated by a space. Good practice for creating multiple word tags is to use an underscore between each word (e.g. western_yellow_wagtail). #. Click *Upload* to insert the uploaded image into the carousel. The image will also be added to the main CMS image library for reuse in other content. Inserting images using the rich text field @@ -48,7 +48,7 @@ __________________________________________ Images can also be inserted into the body text of a page via the rich text editor. When working in a rich text field, click the image illustrated above. You will then be presented with the same options as for inserting images into the main carousel. -In addition, Wagtail allows you to chose an alignment for you image. +In addition, Wagtail allows you to choose an alignment for you image. .. image:: ../../_static/images/screen18_image_alignment.png diff --git a/docs/editor_manual/new_pages/inserting_links.rst b/docs/editor_manual/new_pages/inserting_links.rst index 030b93bc2..b05dbbae2 100644 --- a/docs/editor_manual/new_pages/inserting_links.rst +++ b/docs/editor_manual/new_pages/inserting_links.rst @@ -10,9 +10,9 @@ Whichever way you insert a link, you will be presented with the form displayed b * Search for an existing page to link to using the search bar at the top of the pop-up. * Below the search bar you can select the type of link you want to insert. The following types are available: - * Internal link: A link to an existing page within the RCA website. + * Internal link: A link to an existing page within your website. * External link: A link to a page on another website. - * Email link: A link that will open the users default email client with the email address prepopulated. + * Email link: A link that will open the user's default email client with the email address prepopulated. * You can also navigate through the website to find an internal link via the explorer. diff --git a/docs/editor_manual/new_pages/selecting_a_page_type.rst b/docs/editor_manual/new_pages/selecting_a_page_type.rst index 095b60436..38aeeecc0 100644 --- a/docs/editor_manual/new_pages/selecting_a_page_type.rst +++ b/docs/editor_manual/new_pages/selecting_a_page_type.rst @@ -4,9 +4,9 @@ Selecting a page type .. image:: ../../_static/images/screen09_page_type_selection.png * On the left of the page chooser screen are listed all the types of pages that you can create. Clicking the page type name will take you to the Create new page screen for that page type (see below). -* Clicking the *View all … pages* links on the right will display all the pages that exist on the website of this type. This is to help you judge what type of page you will need to complete your task. +* Clicking the *Pages using … Page* links on the right will display all the pages that exist on the website of this type. This is to help you judge what type of page you will need to complete your task. .. image:: ../../_static/images/screen10_blank_page_edit_screen.png * Once you've selected a page type you will be presented with a blank New page screen. -* Click into the areas below each field's heading to start entering content. \ No newline at end of file +* Click into the areas below each field's heading to start entering content. diff --git a/docs/reference/pages/editing_api.rst b/docs/reference/pages/editing_api.rst index 6401d3b7d..987b4eb9f 100644 --- a/docs/reference/pages/editing_api.rst +++ b/docs/reference/pages/editing_api.rst @@ -143,7 +143,7 @@ FieldRowPanel PageChooserPanel ---------------- -.. class:: PageChooserPanel(field_name, model=None) +.. class:: PageChooserPanel(field_name, page_type=None) You can explicitly link :class:`~wagtail.wagtailcore.models.Page`-derived models together using the :class:`~wagtail.wagtailcore.models.Page` model and ``PageChooserPanel``. @@ -166,7 +166,9 @@ PageChooserPanel PageChooserPanel('related_page', 'demo.PublisherPage'), ] - ``PageChooserPanel`` takes two arguments: a field name and an optional page type. Specifying a page type (in the form of an ``"appname.modelname"`` string) will filter the chooser to display only pages of that type. + ``PageChooserPanel`` takes two arguments: a field name and an optional page type. Specifying a page type (in the form of an ``"appname.modelname"`` string) will filter the chooser to display only pages of that type. A list or tuple of page types can also be passed in, to allow choosing a page that matches any of those page types:: + + PageChooserPanel('related_page', ['demo.PublisherPage', 'demo.AuthorPage']) ImageChooserPanel ----------------- @@ -231,9 +233,13 @@ DocumentChooserPanel SnippetChooserPanel ------------------- -.. class:: wagtail.wagtailsnippets.edit_handlers.SnippetChooserPanel(field_name, model) +.. versionchanged:: 1.1 - Snippets are vanilla Django models you create yourself without a Wagtail-provided base class. So using them as a field in a page requires specifying your own ``appname.modelname``. A chooser, ``SnippetChooserPanel``, is provided which takes the field name and snippet class. + Before Wagtail 1.1, it was necessary to pass the snippet model class as a second parameter to ``SnippetChooserPanel``. This is now automatically picked up from the field. + +.. class:: wagtail.wagtailsnippets.edit_handlers.SnippetChooserPanel(field_name, snippet_type=None) + + Snippets are vanilla Django models you create yourself without a Wagtail-provided base class. A chooser, ``SnippetChooserPanel``, is provided which takes the field name as an argument. .. code-block:: python @@ -249,7 +255,7 @@ SnippetChooserPanel ) content_panels = Page.content_panels + [ - SnippetChooserPanel('advert', Advert), + SnippetChooserPanel('advert'), ] See :ref:`snippets` for more information. diff --git a/docs/reference/pages/model_recipes.rst b/docs/reference/pages/model_recipes.rst index bf199f228..b8ddd63a4 100644 --- a/docs/reference/pages/model_recipes.rst +++ b/docs/reference/pages/model_recipes.rst @@ -155,11 +155,11 @@ Using an example from the Wagtail demo site, here's what the tag model and the r from modelcluster.fields import ParentalKey from modelcluster.contrib.taggit import ClusterTaggableManager - from taggit.models import Tag, TaggedItemBase - ... + from taggit.models import TaggedItemBase + class BlogPageTag(TaggedItemBase): content_object = ParentalKey('demo.BlogPage', related_name='tagged_items') - ... + class BlogPage(Page): ... tags = ClusterTaggableManager(through=BlogPageTag, blank=True) diff --git a/docs/reference/pages/model_reference.rst b/docs/reference/pages/model_reference.rst index 3e74fdb4c..bee258f99 100644 --- a/docs/reference/pages/model_reference.rst +++ b/docs/reference/pages/model_reference.rst @@ -153,6 +153,10 @@ In addition to the model fields provided, ``Page`` has many properties and metho Defines which template file should be used to render the login form for Protected pages using this model. This overrides the default, defined using ``PASSWORD_REQUIRED_TEMPLATE`` in your settings. See :ref:`private_pages` + .. attribute:: is_creatable + + Controls if this page can be created through the Wagtail administration. Defaults to True, and is not inherited by subclasses. This is useful when using `multi-table inheritance `_, to stop the base model from being created as an actual page. + ``Site`` ======== diff --git a/docs/releases/1.1.rst b/docs/releases/1.1.rst index 2a227a6b3..628421814 100644 --- a/docs/releases/1.1.rst +++ b/docs/releases/1.1.rst @@ -26,10 +26,28 @@ Atomic rebuilding of Elasticsearch indexes The Elasticsearch search backend now accepts an experimental ``ATOMIC_REBUILD`` flag which ensures that the existing search index continues to be available while the ``update_index`` task is running. See :ref:`wagtailsearch_backends_atomic_rebuild`. +Permissions fixes in the admin interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A number of inconsistencies around permissions in the admin interface were fixed in this release: + + * Removed all permissions for "User profile" (not used) + * Removed "delete" permission for Images and documents (not used) + * Users can now access images and documents when they only have the "change" permission (previously required "add" permission as well) + * Permissions for Users now taken from custom user model, if set (previously always used permissions on Djangos builtin User model) + * Groups and Users now respond consistently to their respective "add", "change" and "delete" permissions + +Searchable snippets +~~~~~~~~~~~~~~~~~~~ + +Snippets that inherit from ``wagtail.wagtailsearch.index.Indexed`` are now given a search box on the snippet chooser and listing pages. See :ref:`wagtailsnippets_making_snippets_searchable`. + + Minor features ~~~~~~~~~~~~~~ * The :mod:`~wagtail.contrib.wagtailapi` module has been refactored to use Django REST Framework + * Implemented deletion of form submissions * Implemented pagination in the page chooser modal * Changed INSTALLED_APPS in project template to list apps in precedence order * The ``{% image %}`` tag now supports filters on the image variable, e.g. ``{% image primary_img|default:secondary_img width-500 %}`` @@ -39,8 +57,19 @@ Minor features * Added optional directory argument to "wagtail start" command * Non-superusers can now view/edit/delete sites if they have the correct permissions * Image file size is now stored in the database, to avoid unnecessary filesystem lookups + * Page URL lookups hit the cache/database less often * Updated URLs within the admin backend to use namespaces * The ``update_index`` task now indexes objects in batches of 1000, to indicate progress and avoid excessive memory use + * Added database indexes on PageRevision and Image to improve performance on large sites + * Search in page chooser now uses Wagtail's search framework, to order results by relevance + * ``PageChooserPanel`` now supports passing a list (or tuple) of accepted page types + * The snippet type parameter of ``SnippetChooserPanel`` can now be omitted, or passed as a model name string rather than a model class + * Added aliases for the ``self`` template variable to accommodate Jinja as a templating engine: ``page`` for pages, ``field_panel`` for field panels / edit handlers, and ``value`` for blocks + * Added signposting text to the explorer to steer editors away from creating pages at the root level unless they are setting up new sites + * "Clear choice" and "Edit this page" buttons are no longer shown on the page field of the group page permissions form + * Altered styling of stream controls to be more like all other buttons + * Added ability to mark page models as not available for creation using the flag ``is_creatable``; pages that are abstract Django models are automatically made non-creatable + * New translations for Norwegian Bokmål and Icelandic Bug fixes ~~~~~~~~~ @@ -48,6 +77,17 @@ Bug fixes * Text areas in the non-default tab of the page editor now resize to the correct height * Tabs in "insert link" modal in the rich text editor no longer disappear (Tim Heap) * H2 elements in rich text fields were accidentally given a click() binding when put insite a collapsible multi field panel + * The ``wagtailimages`` module is now compatible with remote storage backends that do not allow reopening closed files + * Search no longer crashes when auto-indexing a model that doesn't have an ``id`` field + * The ``wagtailfrontendcache`` module's HTTP backend has been rewritten to reliably direct requests to the configured cache hostname + * Resizing single pixel images with the "fill" filter no longer raises "ZeroDivisionError" or "tile cannot extend outside image" + * The queryset returned from ``search`` operations when using the database search backend now correctly preserves additional properties of the original query, such as ``prefetch_related`` / ``select_related`` + * Responses from the external image URL generator are correctly marked as streaming and will no longer fail when used with Django's cache middleware + * Page copy now works with pages that use multiple inheritance + * Form builder pages now pick up template variables defined in the ``get_context`` method + * When copying a page, IDs of child objects within page revision records were not remapped to the new objects; this would cause those objects to be lost from the original page when editing the new one + * Newly added redirects now take effect on all sites, rather than just the site that the Wagtail admin backend was accessed through + * Add user form no longer throws a hard error on validation failure Upgrade considerations @@ -68,3 +108,19 @@ To re-enable it, add :mod:`wagtail.contrib.wagtailsearchpromotions` to your ``IN 'wagtail.contrib.wagtailsearchpromotions', ... + +If you have references to the ``wagtail.wagtailsearch.models.EditorsPick`` model in your +project, you will need to update these to point to the :mod:`wagtail.contrib.wagtailsearchpromotions.models.SearchPromotion` model instead. + +If you created your project using the ``wagtail start`` command with Wagtail 1.0, +you will probably have references to this model in the ``search/views.py`` file. + + +``is_abstract`` flag on page models has been replaced by ``is_creatable`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Previous versions of Wagtail provided an undocumented ``is_abstract`` flag on page models - not to be confused with Django's ``abstract`` Meta flag - to indicate that it should not be included in the list of available page types for creation. (Typically this would be used on model classes that were designed to be subclassed to create new page types, rather than used directly.) To avoid confusion with Django's distinct concept of abstract models, this has now been replaced by a new flag, ``is_creatable``. + +If you have used ``is_abstract = True`` on any of your models, you should now change this to ``is_creatable = False``. + +It is not necessary to include this flag if the model is abstract in the Django sense (i.e. it has ``abstract = True`` in the model's ``Meta`` class), since it would never be valid to create pages of that type. diff --git a/docs/releases/1.2.rst b/docs/releases/1.2.rst new file mode 100644 index 000000000..60b73ea6f --- /dev/null +++ b/docs/releases/1.2.rst @@ -0,0 +1,18 @@ +========================================== +Wagtail 1.2 release notes - IN DEVELOPMENT +========================================== + +.. contents:: + :local: + :depth: 1 + + +What's new +========== + + +Bug fixes +~~~~~~~~~ + + * Deleting a page permission from the groups admin UI does not immediately submit the form + diff --git a/docs/releases/index.rst b/docs/releases/index.rst index 93ee03263..f3414a11b 100644 --- a/docs/releases/index.rst +++ b/docs/releases/index.rst @@ -4,6 +4,7 @@ Release notes .. toctree:: :maxdepth: 1 + 1.2 1.1 1.0 0.8.8 diff --git a/docs/topics/snippets.rst b/docs/topics/snippets.rst index 6acf2faf2..ddeb24ac3 100644 --- a/docs/topics/snippets.rst +++ b/docs/topics/snippets.rst @@ -6,7 +6,7 @@ Snippets Snippets are pieces of content which do not necessitate a full webpage to render. They could be used for making secondary content, such as headers, footers, and sidebars, editable in the Wagtail admin. Snippets are models which do not inherit the ``Page`` class and are thus not organized into the Wagtail tree, but can still be made editable by assigning panels and identifying the model as a snippet with the ``register_snippet`` class decorator. -Snippets are not search-able or order-able in the Wagtail admin, so decide carefully if the content type you would want to build into a snippet might be more suited to a page. +Snippets lack many of the features of pages, such as being orderable in the Wagtail admin or having a defined URL, so decide carefully if the content type you would want to build into a snippet might be more suited to a page. Snippet Models -------------- @@ -24,20 +24,20 @@ Here's an example snippet from the Wagtail demo website: @register_snippet class Advert(models.Model): - url = models.URLField(null=True, blank=True) - text = models.CharField(max_length=255) - - panels = [ - FieldPanel('url'), - FieldPanel('text'), - ] - - def __unicode__(self): - return self.text + url = models.URLField(null=True, blank=True) + text = models.CharField(max_length=255) + + panels = [ + FieldPanel('url'), + FieldPanel('text'), + ] + + def __str__(self): # __unicode__ on Python 2 + return self.text The ``Advert`` model uses the basic Django model class and defines two properties: text and URL. The editing interface is very close to that provided for ``Page``-derived models, with fields assigned in the panels property. Snippets do not use multiple tabs of fields, nor do they provide the "save as draft" or "submit for moderation" features. -``@register_snippet`` tells Wagtail to treat the model as a snippet. The ``panels`` list defines the fields to show on the snippet editing page. It's also important to provide a string representation of the class through ``def __unicode__(self):`` so that the snippet objects make sense when listed in the Wagtail admin. +``@register_snippet`` tells Wagtail to treat the model as a snippet. The ``panels`` list defines the fields to show on the snippet editing page. It's also important to provide a string representation of the class through ``def __str__(self):`` so that the snippet objects make sense when listed in the Wagtail admin. Including Snippets in Template Tags ----------------------------------- @@ -60,10 +60,10 @@ First, add a new python file to a ``templatetags`` folder within your app. The d # Advert snippets @register.inclusion_tag('demo/tags/adverts.html', takes_context=True) def adverts(context): - return { - 'adverts': Advert.objects.all(), - 'request': context['request'], - } + return { + 'adverts': Advert.objects.all(), + 'request': context['request'], + } ``@register.inclusion_tag()`` takes two variables: a template and a boolean on whether that template should be passed a request context. It's a good idea to include request contexts in your custom template tags, since some Wagtail-specific template tags like ``pageurl`` need the context to work properly. The template tag function could take arguments and filter the adverts to return a specific model, but for brevity we'll just use ``Advert.objects.all()``. @@ -102,17 +102,18 @@ In the above example, the list of adverts is a fixed list, displayed as part of from wagtail.wagtailsnippets.edit_handlers import SnippetChooserPanel # ... class BookPage(Page): - advert = models.ForeignKey( - 'demo.Advert', - null=True, - blank=True, - on_delete=models.SET_NULL, - related_name='+' - ) - + advert = models.ForeignKey( + 'demo.Advert', + null=True, + blank=True, + on_delete=models.SET_NULL, + related_name='+' + ) + + BookPage.content_panels = [ - SnippetChooserPanel('advert', Advert), - # ... + SnippetChooserPanel('advert'), + # ... ] @@ -133,29 +134,32 @@ To attach multiple adverts to a page, the ``SnippetChooserPanel`` can be placed ... class BookPageAdvertPlacement(Orderable, models.Model): - page = ParentalKey('demo.BookPage', related_name='advert_placements') - advert = models.ForeignKey('demo.Advert', related_name='+') - - class Meta: - verbose_name = "Advert Placement" - verbose_name_plural = "Advert Placements" - - panels = [ - SnippetChooserPanel('advert', Advert), - ] - - def __unicode__(self): - return self.page.title + " -> " + self.advert.text - + page = ParentalKey('demo.BookPage', related_name='advert_placements') + advert = models.ForeignKey('demo.Advert', related_name='+') + + class Meta: + verbose_name = "Advert Placement" + verbose_name_plural = "Advert Placements" + + panels = [ + SnippetChooserPanel('advert'), + ] + + def __str__(self): # __unicode__ on Python 2 + return self.page.title + " -> " + self.advert.text + + class BookPage(Page): - ... - + ... + + BookPage.content_panels = [ - InlinePanel('advert_placements', label="Adverts"), - # ... + InlinePanel('advert_placements', label="Adverts"), + # ... ] + These child objects are now accessible through the page's ``advert_placements`` property, and from there we can access the linked Advert snippet as ``advert``. In the template for ``BookPage``, we could include the following: .. code-block:: django @@ -165,3 +169,58 @@ These child objects are now accessible through the page's ``advert_placements`` {% endfor %} +.. _wagtailsnippets_making_snippets_searchable: + +Making Snippets Searchable +-------------------------- + +If a snippet model inherits from ``wagtail.wagtailsearch.index.Indexed``, as described in :ref:`wagtailsearch_indexing_models`, Wagtail will automatically add a search box to the chooser interface for that snippet type. For example, the ``Advert`` snippet could be made searchable as follows: + +.. code-block:: python + + ... + + from wagtail.wagtailsearch import index + + ... + + @register_snippet + class Advert(models.Model, index.Indexed): + url = models.URLField(null=True, blank=True) + text = models.CharField(max_length=255) + + panels = [ + FieldPanel('url'), + FieldPanel('text'), + ] + + search_fields = [ + index.SearchField('text', partial_match=True), + ] + + +Tagging snippets +---------------- + +Adding tags to snippets is very similar to adding tags to pages. The only difference is that :class:`taggit.manager.TaggableManager` should be used in the place of :class:`~modelcluster.contrib.taggit.ClusterTaggableManager`. + +.. code-block:: python + + from modelcluster.fields import ParentalKey + from taggit.models import TaggedItemBase + from taggit.managers import TaggableManager + + class AdvertTag(TaggedItemBase): + content_object = ParentalKey('demo.Advert', related_name='tagged_items') + + @register_snippet + class Advert(models.Model): + ... + tags = TaggableManager(through=BlogPageTag, blank=True) + + panels = [ + ... + FieldPanel('tags'), + ] + +The :ref:`documentation on tagging pages ` has more information on how to use tags in views. diff --git a/scripts/fetch-translations.sh b/scripts/fetch-translations.sh index c627f2269..cb3691597 100755 --- a/scripts/fetch-translations.sh +++ b/scripts/fetch-translations.sh @@ -11,7 +11,7 @@ tx pull -a --minimum-perc=30 # These things are only needed by translators (which they won't be seen by) and make the translation updates difficult to check find ../wagtail -iname *.po ! -iwholename */en/* -exec msgattrib --translated --no-fuzzy --no-obsolete --no-location -o {} {} \; -# Run makemessages on each app +# Run compilemessages on each app for d in $(find ../wagtail -iname *.po | sed 's|\(.*\)/locale.*|\1|' | sort -u); do pushd $d diff --git a/scripts/rebuild-translation-sources.sh b/scripts/rebuild-translation-sources.sh new file mode 100755 index 000000000..3e262c6e4 --- /dev/null +++ b/scripts/rebuild-translation-sources.sh @@ -0,0 +1,10 @@ +# Delete old translation sources +find ../wagtail -iname *.po -iwholename */en/* -delete + +# Run makemessages on each app +for d in $(find ../wagtail -iwholename */locale/* | sed 's|\(.*\)/locale.*|\1|' | sort -u); +do + pushd $d + django-admin makemessages --locale=en + popd +done diff --git a/setup.py b/setup.py index bd8fb70fc..a195794b5 100644 --- a/setup.py +++ b/setup.py @@ -28,12 +28,11 @@ install_requires = [ "django-modelcluster>=0.6", "django-taggit>=0.13.0", "django-treebeard==3.0", - "djangorestframework==3.1.3", + "djangorestframework>=3.1.3", "Pillow>=2.6.1", "beautifulsoup4>=4.3.2", "html5lib==0.999", "Unidecode>=0.04.14", - 'requests>=2.0.0', "Willow==0.2.1", ] diff --git a/tox.ini b/tox.ini index 20c41ea85..bcf8bd6b3 100644 --- a/tox.ini +++ b/tox.ini @@ -28,7 +28,6 @@ deps = html5lib==0.999 Unidecode>=0.04.14 six==1.7.3 - requests==2.3.0 elasticsearch==1.1.0 mock==1.0.1 python-dateutil==2.2 diff --git a/wagtail/contrib/wagtailapi/endpoints.py b/wagtail/contrib/wagtailapi/endpoints.py index a2cd7931b..c6a2489fc 100644 --- a/wagtail/contrib/wagtailapi/endpoints.py +++ b/wagtail/contrib/wagtailapi/endpoints.py @@ -1,5 +1,7 @@ from __future__ import absolute_import +from collections import OrderedDict + from django.conf.urls import url from django.http import Http404 @@ -18,14 +20,14 @@ from .filters import ( ) from .renderers import WagtailJSONRenderer from .pagination import WagtailPagination -from .serializers import WagtailSerializer, PageSerializer, DocumentSerializer +from .serializers import BaseSerializer, PageSerializer, DocumentSerializer, ImageSerializer, get_serializer_class from .utils import BadRequestError class BaseAPIEndpoint(GenericViewSet): renderer_classes = [WagtailJSONRenderer] pagination_class = WagtailPagination - serializer_class = WagtailSerializer + base_serializer_class = BaseSerializer filter_classes = [] queryset = None # Set on subclasses or implement `get_queryset()`. @@ -85,28 +87,61 @@ class BaseAPIEndpoint(GenericViewSet): if unknown_parameters: raise BadRequestError("query parameter is not an operation or a recognised field: %s" % ', '.join(sorted(unknown_parameters))) - def get_serializer_context(self): - """ - The serialization context differs between listing and detail views. - """ + def get_serializer_class(self): request = self.request - if self.action == 'listing_view': + # Get model + if self.action == 'listing_view': + model = self.get_queryset().model + else: + model = type(self.get_object()) + + # Get all available fields + all_fields = self.get_api_fields(model) + all_fields = list(OrderedDict.fromkeys(all_fields)) # Removes any duplicates in case the developer put "title" in api_fields + + if self.action == 'listing_view': + # Listing views just show the title field and any other allowed field the user specified if 'fields' in request.GET: fields = set(request.GET['fields'].split(',')) else: fields = {'title'} + unknown_fields = fields - set(all_fields) + + if unknown_fields: + raise BadRequestError("unknown fields: %s" % ', '.join(sorted(unknown_fields))) + + # Reorder fields so it matches the order of all_fields + fields = [field for field in all_fields if field in fields] + else: + # Detail views show all fields all the time + fields = all_fields + + # Always show id and meta first + fields = ['id', 'meta'] + fields + + # If showing details, add the parent field + if isinstance(self, PagesAPIEndpoint) and self.get_serializer_context().get('show_details', False): + fields.insert(2, 'parent') + + return get_serializer_class(model, fields, base=self.base_serializer_class) + + def get_serializer_context(self): + """ + The serialization context differs between listing and detail views. + """ + request = self.request + + if self.action == 'listing_view': return { 'request': request, 'view': self, - 'fields': fields } return { 'request': request, 'view': self, - 'all_fields': True, 'show_details': True } @@ -135,7 +170,7 @@ class BaseAPIEndpoint(GenericViewSet): class PagesAPIEndpoint(BaseAPIEndpoint): - serializer_class = PageSerializer + base_serializer_class = PageSerializer filter_backends = [ FieldsFilter, ChildOfFilter, @@ -185,6 +220,7 @@ class PagesAPIEndpoint(BaseAPIEndpoint): class ImagesAPIEndpoint(BaseAPIEndpoint): queryset = get_image_model().objects.all().order_by('id') + base_serializer_class = ImageSerializer filter_backends = [FieldsFilter, OrderingFilter, SearchFilter] extra_api_fields = ['title', 'tags', 'width', 'height'] name = 'images' @@ -196,7 +232,7 @@ class ImagesAPIEndpoint(BaseAPIEndpoint): class DocumentsAPIEndpoint(BaseAPIEndpoint): queryset = Document.objects.all().order_by('id') - serializer_class = DocumentSerializer + base_serializer_class = DocumentSerializer filter_backends = [FieldsFilter, OrderingFilter, SearchFilter] extra_api_fields = ['title', 'tags'] name = 'documents' diff --git a/wagtail/contrib/wagtailapi/renderers.py b/wagtail/contrib/wagtailapi/renderers.py index d7f9a5e90..f9828f3a2 100644 --- a/wagtail/contrib/wagtailapi/renderers.py +++ b/wagtail/contrib/wagtailapi/renderers.py @@ -6,11 +6,6 @@ from django.utils.six import text_type from rest_framework import renderers -from taggit.managers import _TaggableManager -from taggit.models import Tag - -from wagtail.wagtailcore.blocks import StreamValue - from .utils import URLPath, ObjectDetailURL, get_base_url @@ -35,11 +30,7 @@ class WagtailJSONRenderer(renderers.BaseRenderer): class WagtailAPIJSONEncoder(DjangoJSONEncoder): def default(self, o): - if isinstance(o, _TaggableManager): - return list(o.all()) - elif isinstance(o, Tag): - return o.name - elif isinstance(o, URLPath): + if isinstance(o, URLPath): return get_full_url(request, o.path) elif isinstance(o, ObjectDetailURL): detail_view = find_model_detail_view(o.model, endpoints) @@ -48,8 +39,6 @@ class WagtailJSONRenderer(renderers.BaseRenderer): return get_full_url(request, reverse(detail_view, args=(o.pk, ))) else: return None - elif isinstance(o, StreamValue): - return o.stream_block.get_prep_value(o) else: return super(WagtailAPIJSONEncoder, self).default(o) diff --git a/wagtail/contrib/wagtailapi/serializers.py b/wagtail/contrib/wagtailapi/serializers.py index a28f6f2f5..23671f893 100644 --- a/wagtail/contrib/wagtailapi/serializers.py +++ b/wagtail/contrib/wagtailapi/serializers.py @@ -2,171 +2,282 @@ from __future__ import absolute_import from collections import OrderedDict -from django.db import models -from django.utils.encoding import force_text - from modelcluster.models import get_all_child_relations -from rest_framework.serializers import BaseSerializer +from taggit.managers import _TaggableManager + +from rest_framework import serializers +from rest_framework.fields import Field +from rest_framework import relations from wagtail.utils.compat import get_related_model -from wagtail.wagtailcore.models import Page +from wagtail.wagtailcore import fields as wagtailcore_fields -from .utils import ObjectDetailURL, URLPath, BadRequestError, pages_for_site +from .utils import ObjectDetailURL, URLPath, pages_for_site -def get_api_data(obj, fields): - # Find any child relations (pages only) - child_relations = {} - if isinstance(obj, Page): - child_relations = { - child_relation.field.rel.related_name: get_related_model(child_relation) - for child_relation in get_all_child_relations(type(obj)) - } +class MetaField(Field): + """ + Serializes the "meta" section of each object. - # Loop through fields - for field_name in fields: - # Check child relations - if field_name in child_relations and hasattr(child_relations[field_name], 'api_fields'): - yield field_name, [ - dict(get_api_data(child_object, child_relations[field_name].api_fields)) - for child_object in getattr(obj, field_name).all() - ] - continue + This section is used for storing non-field data such as model name, urls, etc. - # Check django fields - try: - field = obj._meta.get_field(field_name) + Example: - if field.rel and isinstance(field.rel, models.ManyToOneRel): - # Foreign key - val = field._get_val_from_obj(obj) + "meta": { + "type": "wagtailimages.Image", + "detail_url": "http://api.example.com/v1/images/1/" + } + """ + def get_attribute(self, instance): + return instance - if val: - yield field_name, OrderedDict([ - ('id', field._get_val_from_obj(obj)), - ('meta', OrderedDict([ - ('type', field.rel.to._meta.app_label + '.' + field.rel.to.__name__), - ('detail_url', ObjectDetailURL(field.rel.to, val)), - ])), - ]) - else: - yield field_name, None - else: - yield field_name, field._get_val_from_obj(obj) - - continue - except models.fields.FieldDoesNotExist: - pass - - # Check attributes - if hasattr(obj, field_name): - value = getattr(obj, field_name) - yield field_name, force_text(value, strings_only=True) - continue + def to_representation(self, obj): + return OrderedDict([ + ('type', type(obj)._meta.app_label + '.' + type(obj).__name__), + ('detail_url', ObjectDetailURL(type(obj), obj.pk)), + ]) -class WagtailSerializer(BaseSerializer): - def to_representation(self, instance): - request = self.context['request'] - fields = self.context.get('fields', frozenset()) - all_fields = self.context.get('all_fields', False) - show_details = self.context.get('show_details', False) - return self.serialize_object( - request, - instance, - fields=fields, - all_fields=all_fields, - show_details=show_details - ) +class PageMetaField(MetaField): + """ + A subclass of MetaField for Page objects. - def serialize_object_metadata(self, request, obj, show_details=False): - """ - This returns a JSON-serialisable dict to use for the "meta" - section of a particlular object. - """ - data = OrderedDict() + Changes the "type" field to use the name of the specific model of the page. - # Add type - data['type'] = type(obj)._meta.app_label + '.' + type(obj).__name__ - data['detail_url'] = ObjectDetailURL(type(obj), obj.pk) + Example: - return data - - def serialize_object(self, request, obj, fields=frozenset(), extra_data=(), all_fields=False, show_details=False): - """ - This converts an object into JSON-serialisable dict so it can - be used in the API. - """ - data = [ - ('id', obj.id), - ] - - # Add meta - metadata = self.serialize_object_metadata(request, obj, show_details=show_details) - if metadata: - data.append(('meta', metadata)) - - # Add extra data - data.extend(extra_data) - - # Add other fields - api_fields = self.context['view'].get_api_fields(type(obj)) - api_fields = list(OrderedDict.fromkeys(api_fields)) # Removes any duplicates in case the user put "title" in api_fields - - if all_fields: - fields = api_fields - else: - unknown_fields = fields - set(api_fields) - - if unknown_fields: - raise BadRequestError("unknown fields: %s" % ', '.join(sorted(unknown_fields))) - - # Reorder fields so it matches the order of api_fields - fields = [field for field in api_fields if field in fields] - - data.extend(get_api_data(obj, fields)) - - return OrderedDict(data) + "meta": { + "type": "blog.BlogPage", + "detail_url": "http://api.example.com/v1/pages/1/" + } + """ + def to_representation(self, page): + return OrderedDict([ + ('type', page.specific_class._meta.app_label + '.' + page.specific_class.__name__), + ('detail_url', ObjectDetailURL(type(page), page.pk)), + ]) -class PageSerializer(WagtailSerializer): - def serialize_object_metadata(self, request, page, show_details=False): - data = super(PageSerializer, self).serialize_object_metadata(request, page, show_details=show_details) +class DocumentMetaField(MetaField): + """ + A subclass of MetaField for Document objects. - # Add type - data['type'] = page.specific_class._meta.app_label + '.' + page.specific_class.__name__ + Adds a "download_url" field. - return data + "meta": { + "type": "wagtaildocs.Document", + "detail_url": "http://api.example.com/v1/documents/1/", + "download_url": "http://api.example.com/documents/1/my_document.pdf" + } + """ + def to_representation(self, document): + data = OrderedDict([ + ('type', "wagtaildocs.Document"), + ('detail_url', ObjectDetailURL(type(document), document.pk)), + ]) - def serialize_object(self, request, page, fields=frozenset(), extra_data=(), all_fields=False, show_details=False): - # Add parent - if show_details: - parent = page.get_parent() - - site_pages = pages_for_site(request.site) - if site_pages.filter(id=parent.id).exists(): - parent_class = parent.specific_class - - extra_data += ( - ('parent', OrderedDict([ - ('id', parent.id), - ('meta', OrderedDict([ - ('type', parent_class._meta.app_label + '.' + parent_class.__name__), - ('detail_url', ObjectDetailURL(parent_class, parent.id)), - ])), - ])), - ) - - return super(PageSerializer, self).serialize_object(request, page, fields=fields, extra_data=extra_data, all_fields=all_fields, show_details=show_details) - - -class DocumentSerializer(WagtailSerializer): - def serialize_object_metadata(self, request, document, show_details=False): - data = super(DocumentSerializer, self).serialize_object_metadata(request, document, show_details=show_details) - - # Download URL - if show_details: + # Add download url + if self.context.get('show_details', False): data['download_url'] = URLPath(document.url) return data + + +class RelatedField(relations.RelatedField): + """ + Serializes related objects (eg, foreign keys). + + Example: + + "feed_image": { + "id": 1, + "meta": { + "type": "wagtailimages.Image", + "detail_url": "http://api.example.com/v1/images/1/" + } + } + """ + meta_field_serializer_class = MetaField + + def to_representation(self, value): + return OrderedDict([ + ('id', value.pk), + ('meta', self.meta_field_serializer_class().to_representation(value)), + ]) + + +class PageParentField(RelatedField): + """ + Serializes the "parent" field on Page objects. + + Pages don't have a "parent" field so some extra logic is needed to find the + parent page. That logic is implemented in this class. + + The representation is the same as the RelatedField class. + """ + meta_field_serializer_class = PageMetaField + + def get_attribute(self, instance): + parent = instance.get_parent() + + site_pages = pages_for_site(self.context['request'].site) + if site_pages.filter(id=parent.id).exists(): + return parent + + +class ChildRelationField(Field): + """ + Serializes child relations. + + Child relations are any model that is related to a Page using a ParentalKey. + They are used for repeated fields on a page such as carousel items or related + links. + + Child objects are part of the pages content so we nest them. The relation is + represented as a list of objects. + + Example: + + "carousel_items": [ + { + "title": "First carousel item", + "image": { + "id": 1, + "meta": { + "type": "wagtailimages.Image", + "detail_url": "http://api.example.com/v1/images/1/" + } + } + }, + "carousel_items": [ + { + "title": "Second carousel item (no image)", + "image": null + } + ] + """ + def __init__(self, *args, **kwargs): + self.child_fields = kwargs.pop('child_fields') + super(ChildRelationField, self).__init__(*args, **kwargs) + + def to_representation(self, value): + serializer_class = get_serializer_class(value.model, self.child_fields) + serializer = serializer_class() + + return [ + serializer.to_representation(child_object) + for child_object in value.all() + ] + + +class StreamField(Field): + """ + Serializes StreamField values. + + Stream fields are stored in JSON format in the database. We reuse that in + the API. + + Example: + + "body": [ + { + "type": "heading", + "value": { + "text": "Hello world!", + "size": "h1" + } + }, + { + "type": "paragraph", + "value": "Some content" + } + { + "type": "image", + "value": 1 + } + ] + + Where "heading" is a struct block containing "text" and "size" fields, and + "paragraph" is a simple text block. + + Note that foreign keys are represented slightly differently in stream fields + to other parts of the API. In stream fields, a foreign key is represented + by an integer (the ID of the related object) but elsewhere in the API, + foreign objects are nested objects with id and meta as attributes. + """ + def to_representation(self, value): + return value.stream_block.get_prep_value(value) + + +class TagsField(Field): + """ + Serializes django-taggit TaggableManager fields. + + These fields are a common way to link tags to objects in Wagtail. The API + serializes these as a list of strings taken from the name attribute of each + tag. + + Example: + + "tags": ["bird", "wagtail"] + """ + def to_representation(self, value): + return list(value.all().order_by('name').values_list('name', flat=True)) + + +class BaseSerializer(serializers.ModelSerializer): + # Add StreamField to serializer_field_mapping + serializer_field_mapping = serializers.ModelSerializer.serializer_field_mapping.copy() + serializer_field_mapping.update({ + wagtailcore_fields.StreamField: StreamField, + }) + serializer_related_field = RelatedField + + meta = MetaField() + + def build_property_field(self, field_name, model_class): + # TaggableManager is not a Django field so it gets treated as a property + field = getattr(model_class, field_name) + if isinstance(field, _TaggableManager): + return TagsField, {} + + return super(BaseSerializer, self).build_property_field(field_name, model_class) + + +class PageSerializer(BaseSerializer): + meta = PageMetaField() + parent = PageParentField(read_only=True) + + def build_relational_field(self, field_name, relation_info): + # Find all relation fields that point to child class and make them use + # the ChildRelationField class. + if relation_info.to_many: + model = getattr(self.Meta, 'model') + child_relations = { + child_relation.field.rel.related_name: get_related_model(child_relation) + for child_relation in get_all_child_relations(model) + } + + if field_name in child_relations and hasattr(child_relations[field_name], 'api_fields'): + return ChildRelationField, {'child_fields': child_relations[field_name].api_fields} + + return super(BaseSerializer, self).build_relational_field(field_name, relation_info) + + +class ImageSerializer(BaseSerializer): + pass + + +class DocumentSerializer(BaseSerializer): + meta = DocumentMetaField() + + +def get_serializer_class(model_, fields_, base=BaseSerializer): + class Meta: + model = model_ + fields = fields_ + + return type(model_.__name__ + 'Serializer', (base, ), { + 'Meta': Meta + }) diff --git a/wagtail/contrib/wagtailapi/tests/test_pages.py b/wagtail/contrib/wagtailapi/tests/test_pages.py index e7f5c3d31..bb95a8c10 100644 --- a/wagtail/contrib/wagtailapi/tests/test_pages.py +++ b/wagtail/contrib/wagtailapi/tests/test_pages.py @@ -586,7 +586,7 @@ class TestPageDetail(TestCase): self.assertEqual(content['date'], '2013-12-02') # Check that the tags were serialised properly - self.assertEqual(content['tags'], ['wagtail', 'bird']) + self.assertEqual(content['tags'], ['bird', 'wagtail']) # Check that the feed image was serialised properly self.assertIsInstance(content['feed_image'], dict) diff --git a/wagtail/contrib/wagtailfrontendcache/backends.py b/wagtail/contrib/wagtailfrontendcache/backends.py index 224e00dd2..f924e1cd1 100644 --- a/wagtail/contrib/wagtailfrontendcache/backends.py +++ b/wagtail/contrib/wagtailfrontendcache/backends.py @@ -1,9 +1,11 @@ import logging -import requests +import json -from django.utils.six.moves.urllib.parse import urlparse +from django.utils.six.moves.urllib.parse import urlparse, urlunparse, urlencode +from django.utils.six.moves.urllib.request import Request, urlopen +from django.utils.six.moves.urllib.error import URLError, HTTPError -from requests.adapters import HTTPAdapter +from wagtail.wagtailcore import __version__ logger = logging.getLogger('wagtail.frontendcache') @@ -15,44 +17,41 @@ class BaseBackend(object): class HTTPBackend(BaseBackend): - - class CustomHTTPAdapter(HTTPAdapter): - """ - Requests will always send requests to whatever server is in the netloc - part of the URL. This is a problem with purging the cache as this netloc - may point to a different server (such as an nginx instance running in - front of the cache). - - This class allows us to send a purge request directly to the cache server - with the host header still set correctly. It does this by changing the "url" - parameter of get_connection to always point to the cache server. Requests - will then use this connection to purge the page. - """ - def __init__(self, cache_url): - self.cache_url = cache_url - super(HTTPBackend.CustomHTTPAdapter, self).__init__() - - def get_connection(self, url, proxies=None): - return super(HTTPBackend.CustomHTTPAdapter, self).get_connection(self.cache_url, proxies) - - def __init__(self, params): - self.cache_location = params.pop('LOCATION') - - self.session = requests.Session() - self.session.mount('http://', self.CustomHTTPAdapter(self.cache_location)) + location_url_parsed = urlparse(params.pop('LOCATION')) + self.cache_scheme = location_url_parsed.scheme + self.cache_netloc = location_url_parsed.netloc def purge(self, url): - try: - response = self.session.request('PURGE', url) - except requests.ConnectionError: - logger.error("Couldn't purge '%s' from HTTP cache: Connection error", url) - return + url_parsed = urlparse(url) + host = url_parsed.hostname - # Check for error - if response.status_code != 200: - logger.error("Couldn't purge '%s' from HTTP cache: Didn't recieve a 200 response (instead, we got '%d %s')", url, response.status_code, response.reason) - return + # Append port to host if it is set in the original URL + if url_parsed.port: + host += (':' + str(url_parsed.port)) + + request = Request( + url=urlunparse([ + self.cache_scheme, + self.cache_netloc, + url_parsed.path, + url_parsed.params, + url_parsed.query, + url_parsed.fragment + ]), + headers={ + 'Host': host, + 'User-Agent': 'Wagtail-frontendcache/' + __version__ + }, + method='PURGE' + ) + + try: + urlopen(request) + except HTTPError as e: + logger.error("Couldn't purge '%s' from HTTP cache. HTTPError: %d %s", url, e.code, e.reason) + except URLError as e: + logger.error("Couldn't purge '%s' from HTTP cache. URLError: %s", url, e.reason) class CloudflareBackend(BaseBackend): @@ -62,23 +61,21 @@ class CloudflareBackend(BaseBackend): def purge(self, url): try: - response = requests.post('https://www.cloudflare.com/api_json.html', { + response = urlopen('https://www.cloudflare.com/api_json.html', data=urlencode({ 'email': self.cloudflare_email, 'tkn': self.cloudflare_token, 'a': 'zone_file_purge', 'z': urlparse(url).netloc, 'url': url - }) - except requests.ConnectionError: - logger.error("Couldn't purge '%s' from Cloudflare: Connection error", url) + }).encode('utf-8')) + except HTTPError as e: + logger.error("Couldn't purge '%s' from Cloudflare. HTTPError: %d %s", url, e.code, e.reason) + return + except URLError as e: + logger.error("Couldn't purge '%s' from Cloudflare. URLError: %s", url, e.reason) return - # Check for error - if response.status_code != 200: - logger.error("Couldn't purge '%s' from Cloudflare: Didn't recieve a 200 response (instead, we got '%d %s')", url, response.status_code, response.reason) - return - - response_json = response.json() + response_json = json.loads(response.read().decode('utf-8')) if response_json['result'] == 'error': - logger.error("Couldn't purge '%s' from Cloudflare: Cloudflare error '%s'", url, response_json['msg']) + logger.error("Couldn't purge '%s' from Cloudflare. Cloudflare error '%s'", url, response_json['msg']) return diff --git a/wagtail/contrib/wagtailfrontendcache/tests.py b/wagtail/contrib/wagtailfrontendcache/tests.py index 52751c740..69825ffe3 100644 --- a/wagtail/contrib/wagtailfrontendcache/tests.py +++ b/wagtail/contrib/wagtailfrontendcache/tests.py @@ -25,7 +25,8 @@ class TestBackendConfiguration(TestCase): self.assertEqual(set(backends.keys()), set(['varnish'])) self.assertIsInstance(backends['varnish'], HTTPBackend) - self.assertEqual(backends['varnish'].cache_location, 'http://localhost:8000') + self.assertEqual(backends['varnish'].cache_scheme, 'http') + self.assertEqual(backends['varnish'].cache_netloc, 'localhost:8000') def test_cloudflare(self): backends = get_backends(backend_settings={ @@ -78,7 +79,8 @@ class TestBackendConfiguration(TestCase): self.assertEqual(set(backends.keys()), set(['default'])) self.assertIsInstance(backends['default'], HTTPBackend) - self.assertEqual(backends['default'].cache_location, 'http://localhost:8000') + self.assertEqual(backends['default'].cache_scheme, 'http') + self.assertEqual(backends['default'].cache_netloc, 'localhost:8000') PURGED_URLS = [] diff --git a/wagtail/contrib/wagtailroutablepage/models.py b/wagtail/contrib/wagtailroutablepage/models.py index faa20efee..832fb7ac4 100644 --- a/wagtail/contrib/wagtailroutablepage/models.py +++ b/wagtail/contrib/wagtailroutablepage/models.py @@ -138,7 +138,5 @@ class RoutablePage(RoutablePageMixin, Page): added to it. """ - is_abstract = True - class Meta: abstract = True diff --git a/wagtail/contrib/wagtailroutablepage/tests.py b/wagtail/contrib/wagtailroutablepage/tests.py index 48df2b8a7..64e247276 100644 --- a/wagtail/contrib/wagtailroutablepage/tests.py +++ b/wagtail/contrib/wagtailroutablepage/tests.py @@ -151,8 +151,6 @@ class TestOldStyleRoutablePage(TestNewStyleRoutablePage, WagtailTestUtils): # prevent this class appearing in the global PAGE_MODEL_CLASSES list, as # its non-standard location causes failures when translating from content types # back to models - is_abstract = True - class Meta: abstract = True diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/bg/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/bg/LC_MESSAGES/django.mo new file mode 100644 index 000000000..93a655791 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/bg/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/bg/LC_MESSAGES/django.po new file mode 100644 index 000000000..002f60f7e --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/bg/LC_MESSAGES/django.po @@ -0,0 +1,79 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Lyuboslav Petrov , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Save" +msgstr "Запази" + +#, python-format +msgid "Delete %(query)s" +msgstr "Изтрий %(query)s" + +msgid "Delete" +msgstr "Изтрий" + +msgid "Yes, delete" +msgstr "Да, изтрий го" + +#, python-format +msgid "Editing %(query)s" +msgstr "Редакция на %(query)s" + +msgid "Editing" +msgstr "Редактиране" + +msgid "Move up" +msgstr "Нагоре" + +msgid "Move down" +msgstr "Надолу" + +msgid "Add recommended page" +msgstr "Добави препоръчана страница" + +msgid "Search Terms" +msgstr "Фрази за търсене" + +msgid "Search term(s)" +msgstr "Дума/Фраза за търсене" + +msgid "Views (past week)" +msgstr "Преглед (последната седмица)" + +msgid "None" +msgstr "Нищо" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" Има едно съвпадение\n" +" " +msgstr[1] "" +"\n" +" Има %(counter)s съвпадения\n" +" " diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/ca/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/ca/LC_MESSAGES/django.mo new file mode 100644 index 000000000..3b63126fc Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/ca/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/ca/LC_MESSAGES/django.po new file mode 100644 index 000000000..55d72e376 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/ca/LC_MESSAGES/django.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# David Llop , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" +"ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Save" +msgstr "Desa" + +#, python-format +msgid "Delete %(query)s" +msgstr "Esborra %(query)s" + +msgid "Delete" +msgstr "Esborra" + +msgid "Yes, delete" +msgstr "Si, esborra" + +#, python-format +msgid "Editing %(query)s" +msgstr "Editant %(query)s" + +msgid "Editing" +msgstr "Editant" + +msgid "Move up" +msgstr "Puja" + +msgid "Move down" +msgstr "Baixa" + +msgid "Add recommended page" +msgstr "Afegeix una pàgina recomanada" + +msgid "Search Terms" +msgstr "Termini de cerca" + +msgid "Search term(s)" +msgstr "Cerca paraula(es)" + +msgid "Views (past week)" +msgstr "Vistes(la setmana pasada)" + +msgid "Edit this pick" +msgstr "Edita aquesta selecció" + +msgid "None" +msgstr "Cap" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Hi ha una coincidència" +msgstr[1] "" +"\n" +"Hi han %(counter)s coincidències" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Selecció de l'editor per a '{0}' creada." + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Selecció de l'editor per '{0}' actualitzada." + +msgid "Editor's picks deleted." +msgstr "Selecció de l'editor esborrada." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/de/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 000000000..673de2760 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/de/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/de/LC_MESSAGES/django.po new file mode 100644 index 000000000..cf26ad902 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,169 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# M0rph 3u5 , 2014 +# pcraston , 2014 +# Tammo van Lessen , 2015 +# Wasilis Mandratzis-Walz, 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" +"de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "Bitte geben Sie mindestens einen Vorschlag für diesen Suchbegriff an." + +msgid "Page" +msgstr "Seite" + +msgid "Description" +msgstr "Beschreibung" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Hervorgehobene Suchergebnisse sind eine Möglichkeit, bestimmte " +"Seiten zu empfehlen die von sich aus nicht sehr weit oben in den " +"Suchergebnissen auftauchen würden. So könnte zum Beispiel ihre Spendenseite " +"auftauchen wenn nach dem Suchbegriff \"unterstützen\" gesucht wird." +"

\n" +" " + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

Im Eingabefeld \"Suchbegriffe/Phrasen\" müssen sie den " +"vollständigen und genauen Suchbegriff, inklusive eventueller " +"Rechtschreibfehler, eingeben, für den sie Seiten empfehlen möchten. Zur " +"Unterstützung können sie aus häufig verwendeten Suchbegriffen wählen.

\n" +" " + +msgid "Save" +msgstr "Speichern" + +#, python-format +msgid "Delete %(query)s" +msgstr "%(query)s löschen" + +msgid "Delete" +msgstr "Löschen" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Sind Sie sicher, dass Sie alle hervorgehobenen Suchergebnisse für diesen " +"Suchbegriff löschen wollen?" + +msgid "Yes, delete" +msgstr "Ja, löschen" + +#, python-format +msgid "Editing %(query)s" +msgstr "%(query)s bearbeiten" + +msgid "Editing" +msgstr "Bearbeiten" + +msgid "Move up" +msgstr "Nach oben" + +msgid "Move down" +msgstr "Nach unten" + +msgid "Promoted search result" +msgstr "Hervorgehobenes Suchergebnis" + +msgid "Add recommended page" +msgstr "Empfohlene Seite hinzufügen" + +msgid "Search Terms" +msgstr "Suchbegriffe" + +msgid "Promoted search results" +msgstr "Hervorgehobene Suchergebnisse" + +msgid "Add new promoted result" +msgstr "Neues hervorgehobenes Suchergebnis hinzufügen" + +msgid "Search term(s)" +msgstr "Suchbegriff/e" + +msgid "Promoted results" +msgstr "Hervorgehobene Suchergebnisse" + +msgid "Views (past week)" +msgstr "Aufrufe (letze Woche)" + +msgid "Edit this pick" +msgstr "Diese Empfehlung bearbeiten" + +msgid "None" +msgstr "Keine" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" Es gibt ein Ergebnis\n" +" " +msgstr[1] "" +"\n" +" Es gibt %(counter)s Ergebnisse\n" +" " + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Leider gibt es keine hervorgehobenen Suchergebnisse, die zu \"" +"%(query_string)s\" passen." + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Redaktionsempfehlungen für '{0}' erstellt." + +msgid "Edit" +msgstr "Bearbeiten" + +msgid "Recommendations have not been created due to errors" +msgstr "Empfehlungen konnten wegen eines Fehlers nicht erstellt werden" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Redaktionsempfehlungen für '{0}' geändert." + +msgid "Recommendations have not been saved due to errors" +msgstr "Empfehlungen wurden wegen eines Fehlers nicht gespeichert" + +msgid "Editor's picks deleted." +msgstr "Redaktionsempfehlungen gelöscht." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/el/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/el/LC_MESSAGES/django.mo new file mode 100644 index 000000000..c3ead1893 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/el/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/el/LC_MESSAGES/django.po new file mode 100644 index 000000000..a70bf55a6 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/el/LC_MESSAGES/django.po @@ -0,0 +1,164 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# dotoree , 2015 +# serafeim , 2014 +# Wasilis Mandratzis-Walz, 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" +"el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "" +"Παρακαλείστε να διευκρινίσετε τουλάχιστον μία σύσταση για αυτόν τον όρο " +"αναζήτησης." + +msgid "Page" +msgstr "Σελίδα" + +msgid "Description" +msgstr "Περιγραφή" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Οι επιλογές συντακτών είναι ένας τρόπος πρότασης συγκεκριμένων σελίδων οι " +"οποίες κανονικά δε θα βρίσκονται ψηλά στα αποτελέσματα της αναζήτησης.

" + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"\n" +"

Το πεδίο \"όρος(οι)/φράσεις\" παρακάτω πρέπει να περιέχει το πλήρες και " +"ακριβές κείμενο για το οποίο θέλετε να παρέχετε προτεινόμενα αποτελέσματα, " +"συμπεριλαμβανομένων τυχόν ορθογραφικών λαθών. Προς βοήθεια, " +"μπορείτε να επιλέξετε όρους αναζήτησης που ήταν δημοφιλείς στους χρήστες.

" + +msgid "Save" +msgstr "Αποθήκευση" + +#, python-format +msgid "Delete %(query)s" +msgstr "Διαγραφή %(query)s" + +msgid "Delete" +msgstr "Διαγραφή" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Είστε σίγουρος ότι θέλετε να διαγράψετε όλες τις επιλογές συντακτών για τον " +"εν λόγω όρο αναζήτησης;" + +msgid "Yes, delete" +msgstr "Ναι, να διαγραφεί" + +#, python-format +msgid "Editing %(query)s" +msgstr "Επεξεργασία %(query)s" + +msgid "Editing" +msgstr "Διόρθωση" + +msgid "Move up" +msgstr "Πάνω" + +msgid "Move down" +msgstr "Κάτω" + +msgid "Promoted search result" +msgstr "Προωθείται το αποτέλεσμα αναζήτησης" + +msgid "Add recommended page" +msgstr "Προσθήκη προτεινόμενης σελίδας" + +msgid "Search Terms" +msgstr "Όροι αναζήτησης" + +msgid "Promoted search results" +msgstr "Προωθουνται τα αποτέλεσματα αναζήτησης" + +msgid "Add new promoted result" +msgstr "Προσθήκη νέου προωθείμενου αποτελέσματος" + +msgid "Search term(s)" +msgstr "Όροι αναζήτησης" + +msgid "Promoted results" +msgstr "Προωθημενα αποτελέσματα" + +msgid "Views (past week)" +msgstr "Εμφανίσεις (την περασμένη εβδομάδα)" + +msgid "Edit this pick" +msgstr "Διόρθωση" + +msgid "None" +msgstr "Καμία" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Βρέθηκε ένα αποτέλεσμα" +msgstr[1] "" +"\n" +"Βρέθηκαν %(counter)s αποτελέσματα" + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Λυπούμαστε, καμία ανακατεύθυνση δε ταιριάζει με το \"%(query_string)s\"" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Επιτυχής δημιουργία επιλογή συντακτών για το '{0}'." + +msgid "Edit" +msgstr "Επεξεργασία" + +msgid "Recommendations have not been created due to errors" +msgstr "Οι συστάσεις δεν έχουν δημιουργηθεί λόγω σφαλμάτων" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Επιτυχής διόθρωση επιλογής συντακτών για το '{0}'." + +msgid "Recommendations have not been saved due to errors" +msgstr "Οι συστάσεις δεν έχουν αποθηκευτεί λόγω σφαλμάτων" + +msgid "Editor's picks deleted." +msgstr "Επιτυχής διαγραφή επιλογής συντακτών." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/en/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 000000000..8387f776b Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/en/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/en/LC_MESSAGES/django.po new file mode 100644 index 000000000..c25cc7906 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,196 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: forms.py:31 +msgid "Please specify at least one recommendation for this search term." +msgstr "" + +#: models.py:9 +msgid "Page" +msgstr "" + +#: models.py:11 +msgid "Description" +msgstr "" + +#: models.py:18 +msgid "Search promotion" +msgstr "" + +#: templates/wagtailsearchpromotions/add.html:3 +#: templates/wagtailsearchpromotions/add.html:5 +msgid "Add search pick" +msgstr "" + +#: templates/wagtailsearchpromotions/add.html:10 +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" + +#: templates/wagtailsearchpromotions/add.html:14 +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" + +#: templates/wagtailsearchpromotions/add.html:28 +#: templates/wagtailsearchpromotions/edit.html:19 +msgid "Save" +msgstr "" + +#: templates/wagtailsearchpromotions/confirm_delete.html:3 +#, python-format +msgid "Delete %(query)s" +msgstr "" + +#: templates/wagtailsearchpromotions/confirm_delete.html:5 +#: templates/wagtailsearchpromotions/edit.html:20 +#: templates/wagtailsearchpromotions/includes/searchpromotion_form.html:6 +msgid "Delete" +msgstr "" + +#: templates/wagtailsearchpromotions/confirm_delete.html:9 +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" + +#: templates/wagtailsearchpromotions/confirm_delete.html:12 +msgid "Yes, delete" +msgstr "" + +#: templates/wagtailsearchpromotions/edit.html:3 +#, python-format +msgid "Editing %(query)s" +msgstr "" + +#: templates/wagtailsearchpromotions/edit.html:5 +msgid "Editing" +msgstr "" + +#: templates/wagtailsearchpromotions/includes/searchpromotion_form.html:4 +msgid "Move up" +msgstr "" + +#: templates/wagtailsearchpromotions/includes/searchpromotion_form.html:5 +msgid "Move down" +msgstr "" + +#: templates/wagtailsearchpromotions/includes/searchpromotion_form.html:10 +msgid "Promoted search result" +msgstr "" + +#: templates/wagtailsearchpromotions/includes/searchpromotions_formset.html:16 +msgid "Add recommended page" +msgstr "" + +#: templates/wagtailsearchpromotions/index.html:3 +msgid "Search Terms" +msgstr "" + +#: templates/wagtailsearchpromotions/index.html:16 wagtail_hooks.py:30 +msgid "Promoted search results" +msgstr "" + +#: templates/wagtailsearchpromotions/index.html:17 +msgid "Add new promoted result" +msgstr "" + +#: templates/wagtailsearchpromotions/list.html:8 +msgid "Search term(s)" +msgstr "" + +#: templates/wagtailsearchpromotions/list.html:9 +msgid "Promoted results" +msgstr "" + +#: templates/wagtailsearchpromotions/list.html:10 +msgid "Views (past week)" +msgstr "" + +#: templates/wagtailsearchpromotions/list.html:17 +msgid "Edit this pick" +msgstr "" + +#: templates/wagtailsearchpromotions/list.html:23 +msgid "None" +msgstr "" + +#: templates/wagtailsearchpromotions/results.html:5 +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +msgstr[1] "" + +#: templates/wagtailsearchpromotions/results.html:18 +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" + +#: templates/wagtailsearchpromotions/results.html:21 +#, python-format +msgid "" +"No promoted results have been created. Why not add one?" +msgstr "" + +#: views.py:51 +msgid "Search promoted results" +msgstr "" + +#: views.py:87 +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "" + +#: views.py:88 views.py:124 +msgid "Edit" +msgstr "" + +#: views.py:95 +msgid "Recommendations have not been created due to errors" +msgstr "" + +#: views.py:123 +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "" + +#: views.py:131 +msgid "Recommendations have not been saved due to errors" +msgstr "" + +#: views.py:150 +msgid "Editor's picks deleted." +msgstr "" diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/es/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/es/LC_MESSAGES/django.mo new file mode 100644 index 000000000..7addfcfdb Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/es/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/es/LC_MESSAGES/django.po new file mode 100644 index 000000000..07100a017 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,186 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# fooflare , 2014 +# Joaquín Tita , 2014 +# José Alaguna , 2015 +# Mauricio Baeza , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-27 01:32+0000\n" +"Last-Translator: José Alaguna \n" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" +"es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "" +"Por favor, especifique al menos una recomendación para este término de " +"búsqueda." + +msgid "Page" +msgstr "Página" + +msgid "Description" +msgstr "Descripción" + +msgid "Search promotion" +msgstr "Promover búsqueda" + +msgid "Add search pick" +msgstr "Añadir selección de búsqueda" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Resultados promovidos son medios para recomendar páginas específicas que " +"pueden no aparecer en los primeros puestos de los resultados de búsqueda. " +"Por ejemplo: recomendar un sitio de donaciones utilizando términos menos " +"frecuentes como \"donar\".

" + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

El campo de \"término(s) de búsqueda/frase\", debe contener la búsqueda " +"completa y exacta para que se proporcionen los resultados recomendados, " +"incluyendo cualquier error de ortografía o error accidental del " +"usuario. Para ayudarte, puedes elegir entre los términos de búsqueda que han " +"sido más populares entre los usuarios de su sitio.

" + +msgid "Save" +msgstr "Guardar" + +#, python-format +msgid "Delete %(query)s" +msgstr "Eliminar %(query)s" + +msgid "Delete" +msgstr "Eliminar" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"¿Esta seguro de querer borrar todos los resultados promocionados para este " +"termino de busqueda?" + +msgid "Yes, delete" +msgstr "Sí, eliminar" + +#, python-format +msgid "Editing %(query)s" +msgstr "Editando %(query)s" + +msgid "Editing" +msgstr "Editando" + +msgid "Move up" +msgstr "Subir" + +msgid "Move down" +msgstr "Bajar" + +msgid "Promoted search result" +msgstr "Resultados de busqueda promocionados" + +msgid "Add recommended page" +msgstr "Añadir página recomendada" + +msgid "Search Terms" +msgstr "Términos de búsqueda" + +msgid "Promoted search results" +msgstr "Resultados de busqueda promocionados" + +msgid "Add new promoted result" +msgstr "Agregar nuevo resultado promocionado" + +msgid "Search term(s)" +msgstr "Término(s) de búsqueda" + +msgid "Promoted results" +msgstr "Resultados promocionados" + +msgid "Views (past week)" +msgstr "Vistas (semana pasada)" + +msgid "Edit this pick" +msgstr "Editar esta selección" + +msgid "None" +msgstr "Ninguna" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" Hay una coincidencia\n" +" " +msgstr[1] "" +"\n" +" Hay %(counter)s coincidencias\n" +" " + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Lo sentimos, resultados promovidos no encontrados \"%(query_string)s" +"\"" + +#, python-format +msgid "" +"No promoted results have been created. Why not add one?" +msgstr "" +"Resultados promovidos no han sido creados. ¿Por que no agregar uno?" + +msgid "Search promoted results" +msgstr "Buscar resultados promovidos" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Selecciones del editor para '{0}' creadas." + +msgid "Edit" +msgstr "Editar" + +msgid "Recommendations have not been created due to errors" +msgstr "Las recomendaciones no han sido creadas debido a errores " + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Selecciones del editor para '{0}' actualizadas." + +msgid "Recommendations have not been saved due to errors" +msgstr "Las recomendaciones no han sido guardadas debido a errores" + +msgid "Editor's picks deleted." +msgstr "Selecciones del editor para '{0}' eliminadas." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/fr/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 000000000..da37d2cdb Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/fr/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 000000000..da5514f0e --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,169 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Adrien , 2014 +# Bertrand Bordage , 2015 +# nahuel, 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" +"fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "" +"Veuillez spécifier au moins une recommandation pour ce terme de recherche." + +msgid "Page" +msgstr "Page" + +msgid "Description" +msgstr "Description" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Les résultats améliorés sont un moyen de recommander des " +"pages spécifiques qui ne seraient pas arrivées naturellement en haut des " +"résultats de recherche. Ex: associer votre page de \"soutient\" à une " +"recherche utilisateur avec un terme moins explicite comme \"donner" +"\".

\n" +" " + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

Le champ \"Terme(s)/phrase de recherche\" ci-dessous doit " +"contenir la recherche complète et exacte pour laquelle vous souhaitez " +"fournir des résultats recommandés, ce qui comprend n'importe quelle " +"faute de frappe/erreur de l'utilisateur. Pour vous aider, vous pouvez " +"choisir parmi les termes de recherche populaires des utilisateurs de votre " +"site.

\n" +" " + +msgid "Save" +msgstr "Enregistrer" + +#, python-format +msgid "Delete %(query)s" +msgstr "Supprimée %(query)s" + +msgid "Delete" +msgstr "Supprimer" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Êtes-vous sûr de vouloir supprimer tous les résultats améliorés pour ce " +"terme de recherche" + +msgid "Yes, delete" +msgstr "Oui, supprimer" + +#, python-format +msgid "Editing %(query)s" +msgstr "Modification de %(query)s" + +msgid "Editing" +msgstr "Modification" + +msgid "Move up" +msgstr "Monter" + +msgid "Move down" +msgstr "Descendre" + +msgid "Promoted search result" +msgstr "Résultat de recherche amélioré" + +msgid "Add recommended page" +msgstr "Ajouter une page recommandée" + +msgid "Search Terms" +msgstr "Termes de recherche" + +msgid "Promoted search results" +msgstr "Résultats de recherche améliorés" + +msgid "Add new promoted result" +msgstr "Ajouter un nouveau résultat amélioré" + +msgid "Search term(s)" +msgstr "Terme(s) de recherche" + +msgid "Promoted results" +msgstr "Résultats améliorés" + +msgid "Views (past week)" +msgstr "Vues (semaine dernière)" + +msgid "Edit this pick" +msgstr "Éditer ce choix" + +msgid "None" +msgstr "Aucun" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" 1 correspondance " +msgstr[1] "" +"\n" +" %(counter)s correspondances " + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Désolé, aucun résultat amélioré correspondant pour \"%(query_string)s\"" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Résultat amélioré pour '{0}' créé." + +msgid "Edit" +msgstr "Modifier" + +msgid "Recommendations have not been created due to errors" +msgstr "Les recommandations n'ont pas été créées en raison d'erreurs" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Résultat amélioré pour '{0}' mis à jour." + +msgid "Recommendations have not been saved due to errors" +msgstr "Les recommandations n'ont pas été sauvegardées en raison d'erreurs" + +msgid "Editor's picks deleted." +msgstr "Résultat amélioré supprimé." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/gl/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/gl/LC_MESSAGES/django.mo new file mode 100644 index 000000000..64c3d6d45 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/gl/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/gl/LC_MESSAGES/django.po new file mode 100644 index 000000000..f825713bd --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/gl/LC_MESSAGES/django.po @@ -0,0 +1,93 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# fooflare , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Save" +msgstr "Gardar" + +#, python-format +msgid "Delete %(query)s" +msgstr "Eliminar %(query)s" + +msgid "Delete" +msgstr "Eliminar" + +msgid "Yes, delete" +msgstr "Sí, eliminar" + +#, python-format +msgid "Editing %(query)s" +msgstr "Editando %(query)s" + +msgid "Editing" +msgstr "Editando" + +msgid "Move up" +msgstr "Subir" + +msgid "Move down" +msgstr "Baixar" + +msgid "Add recommended page" +msgstr "Engadir páxina recomendada" + +msgid "Search Terms" +msgstr "Termos de busca" + +msgid "Search term(s)" +msgstr "Termos(s) de busca" + +msgid "Views (past week)" +msgstr "Vistas (semana pasada)" + +msgid "Edit this pick" +msgstr "Editar esta selección" + +msgid "None" +msgstr "Ningunha" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" Hai unha coincidencia\n" +" " +msgstr[1] "" +"\n" +" Hai %(counter)s coincidencias\n" +" " + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Seleccións do editor para '{0}' creadas." + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Seleccións do editor para '{0}' actualizadas." + +msgid "Editor's picks deleted." +msgstr "Seleccións do editor para '{0}' eliminadas." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/he_IL/LC_MESSAGES/django.mo new file mode 100644 index 000000000..0814af71d Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/he_IL/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/he_IL/LC_MESSAGES/django.po new file mode 100644 index 000000000..f35a8536f --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/he_IL/LC_MESSAGES/django.po @@ -0,0 +1,101 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# bjesus , 2015 +# lior abazon , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" +"language/he_IL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he_IL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "אנא ציין לפחות המלצה אחת למונח חיפוש זה" + +msgid "Page" +msgstr "עמוד" + +msgid "Description" +msgstr "תיאור" + +msgid "Save" +msgstr "שמור" + +msgid "Delete" +msgstr "מחיקה" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"האם אתם בטוחים כי ברצונכם למחוק את כל התוצאות המקודמות עבור מונח חיפוש זה?" + +msgid "Yes, delete" +msgstr "כן, מחק" + +#, python-format +msgid "Editing %(query)s" +msgstr "עריכת %(query)s" + +msgid "Editing" +msgstr "עריכה" + +msgid "Move up" +msgstr "העבר מעלה" + +msgid "Move down" +msgstr "העבר מטה" + +msgid "Promoted search result" +msgstr "קדם תוצאת חיפוש" + +msgid "Add recommended page" +msgstr "הוסף עמוד מומלץ" + +msgid "Search Terms" +msgstr "מושגי חיפוש" + +msgid "Promoted search results" +msgstr "תוצאות חיפוש מקודמות " + +msgid "Add new promoted result" +msgstr "הוסף תוצאה מקודמת חדשה" + +msgid "Promoted results" +msgstr "תוצאות מקודמות " + +msgid "Edit this pick" +msgstr "ערוך בחירה זו" + +msgid "None" +msgstr "אף אחת" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "בחירת העורך עבור '{0}' נוצרה" + +msgid "Edit" +msgstr "ערוך" + +msgid "Recommendations have not been created due to errors" +msgstr "המלצות לא נשמרו בעקבות שגיאה" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "בחירת העורך עבור '{0}' עודכנה" + +msgid "Recommendations have not been saved due to errors" +msgstr "ההמלצות לא נשמרו עקב שגיאות" + +msgid "Editor's picks deleted." +msgstr "בחירת העורך נמחקה" diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/it/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/it/LC_MESSAGES/django.mo new file mode 100644 index 000000000..9de94be90 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/it/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/it/LC_MESSAGES/django.po new file mode 100644 index 000000000..9917982a2 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Claudio Bantaloukas , 2015 +# Giacomo Ghizzani , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" +"it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "" +"Si prega di specificare almeno una raccomandazione per questo termine di " +"ricerca." + +msgid "Page" +msgstr "Pagina" + +msgid "Description" +msgstr "Descrizione" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

I risultati di ricerca sponsorizzati sono un mezzo di " +"raccomandare pagine specifiche che potrebbero non salire organicamente in " +"alto nei risultati dei motori di ricerca. Ad esempio, raccomanda la tua " +"pagina primaria donazione a un utente che fa una ricerca con il termine " +"comune \"dare\".

\n" +" " + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

Il campo \"Termine(i)/frase\" qui sotto deve contenere la " +"ricerca intera e esatta per cui vuoi sponsorizzare un risultato, " +"incluso anche ogni errore di battitura dell'utente. Puoi aiutarti " +"scegliendo fra i termini di ricerca più popolari degli utenti del tuo sito.\n" +" " + +msgid "Save" +msgstr "Salva" + +#, python-format +msgid "Delete %(query)s" +msgstr "Elimina %(query)s" + +msgid "Delete" +msgstr "Elimina" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Sei sicuro di voler eliminare tutti i risultati di ricerca sponsorizzati per " +"questo termine di ricerca?" + +msgid "Yes, delete" +msgstr "Si, elimina" + +#, python-format +msgid "Editing %(query)s" +msgstr "Modifica %(query)s" + +msgid "Editing" +msgstr "Modifica" + +msgid "Move up" +msgstr "Vai su" + +msgid "Move down" +msgstr "Vai giù" + +msgid "Promoted search result" +msgstr "Risultati di ricerca sponsorizzati" + +msgid "Add recommended page" +msgstr "Aggiungi pagina raccomandata" + +msgid "Search Terms" +msgstr "Termini di ricerca" + +msgid "Promoted search results" +msgstr "Risultati di ricerca promozionati" + +msgid "Add new promoted result" +msgstr "Aggiungi nuovo risultato sponsorizzato" + +msgid "Search term(s)" +msgstr "Termine(i) di ricerca" + +msgid "Promoted results" +msgstr "Risultati promozionati" + +msgid "Views (past week)" +msgstr "Viste (scorsa settimana)" + +msgid "Edit this pick" +msgstr "Modifica questa scelta" + +msgid "None" +msgstr "Nessuno" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" C'è una corrispondenza\n" +" " +msgstr[1] "" +"\n" +" Ci sono %(counter)s corrispondenze\n" +" " + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Spiacente, nessun risultato promozionato corrispondente a \"" +"%(query_string)s\"" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Scelta dalla redazione per '{0}' creata." + +msgid "Edit" +msgstr "Modifica" + +msgid "Recommendations have not been created due to errors" +msgstr "Raccomandazione non creata a causa di errori" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Scelta dalla redazione per '{0}' aggiornata." + +msgid "Recommendations have not been saved due to errors" +msgstr "Raccomandazione non salvata a causa di errori" + +msgid "Editor's picks deleted." +msgstr "Scelta dalla redazione eliminata." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/ko/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..9a3e17c4a Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/ko/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..295c0f8c8 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,153 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "이 검색어를 위해 최소 한개의 추천을 지정하여 주시기 바랍니다." + +msgid "Page" +msgstr "페이지" + +msgid "Description" +msgstr "설명" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

프로모션 검색 결과는 일반적인 검색 결과에서 먼저 나오지 않는 추천을 위한 " +"특정 페이지들입니다. 예를 들어, 일반적이지 않은 \"기부\"같은 단어" +"를 검색한 사용자에게, 후원 페이지를 추천하는 형태입니다.

" + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

아래의 \"검색어/문장\" 필드는 틀린 철자/사용자 에러를 포함한 내용" +"에 대한 추천 결과를 제공하기 위해 정확한 검색어를 넣어야 합니다. 지원을 위" +"해 당신은 사이트의 유명한 검색어 중 선택할 수 있습니다.

" + +msgid "Save" +msgstr "저장" + +#, python-format +msgid "Delete %(query)s" +msgstr "%(query)s 삭제" + +msgid "Delete" +msgstr "삭제" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "이 검색어와 관련된 모든 프로모션 결과들을 정말 삭제할까요?" + +msgid "Yes, delete" +msgstr "네, 지우겠습니다." + +#, python-format +msgid "Editing %(query)s" +msgstr "%(query)s 수정" + +msgid "Editing" +msgstr "수정중" + +msgid "Move up" +msgstr "위로 이동" + +msgid "Move down" +msgstr "아래로 이동" + +msgid "Promoted search result" +msgstr "프로모션 검색 결과" + +msgid "Add recommended page" +msgstr "추천 페이지 추가" + +msgid "Search Terms" +msgstr "검색어" + +msgid "Promoted search results" +msgstr "프로모션 검색 결과" + +msgid "Add new promoted result" +msgstr "새로운 프로모션 결과 추가" + +msgid "Search term(s)" +msgstr "검색어" + +msgid "Promoted results" +msgstr "프로모션 결과" + +msgid "Views (past week)" +msgstr "본 횟수(지난 주)" + +msgid "Edit this pick" +msgstr "선택 수정" + +msgid "None" +msgstr "없음" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"%(counter)s 개의 연관된 결과가 있습니다" + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"죄송합니다, \"%(query_string)s\" 와 연관된 프로모션 결과가 없습니다." + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "'{0}' 를 위한 에디터의 선택이 추가 되었습니다." + +msgid "Edit" +msgstr "수정" + +msgid "Recommendations have not been created due to errors" +msgstr "에러로 인해 추천결과를 생성할 수 없습니다" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "'{0}' 를 위한 에디터의 선택이 업데이트 되었습니다." + +msgid "Recommendations have not been saved due to errors" +msgstr "에러로 인해 추천결과를 저장할 수 없습니다" + +msgid "Editor's picks deleted." +msgstr "에디터의 선택이 삭제 되었습니다." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/nb/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..38ca71c7e Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/nb/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..38e32a5d3 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-09-02 14:43+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "Vennligst spesifiser minst en anbefaling for dette søkeordet." + +msgid "Page" +msgstr "Side" + +msgid "Description" +msgstr "Beskrivelse" + +msgid "Search promotion" +msgstr "Søkepromotering" + +msgid "Add search pick" +msgstr "Legg til søkevalg" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Forfremmede søkeresultater er en måte å anbefale spesifikke sider som " +"ikke nødvendigvis kommer høyt opp i søkeresultater. Feks. kan man anbefale " +"kontaktsiden for en bruker som søker etter ordet \"tilbakemelding\"." +"

\n" +" " + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

Feltet \"Søkeord/-frase\" under må inneholde den fullstendige og eksakte " +"søkestrengen som du ønsker å gi anbefalinger for, inkludert vanlige " +"feilstavinger eller andre brukerfeil. Det kan være nyttig å se på hvilke " +"søkeord som har vært mye brukt på nettstedet.

\n" +" " + +msgid "Save" +msgstr "Lagre" + +#, python-format +msgid "Delete %(query)s" +msgstr "Slett %(query)s" + +msgid "Delete" +msgstr "Slett" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Er du sikker på at du vil slette alle forfremmede resultater for dette " +"søkeordet?" + +msgid "Yes, delete" +msgstr "Ja, slett" + +#, python-format +msgid "Editing %(query)s" +msgstr "Endrer %(query)s" + +msgid "Editing" +msgstr "Endrer" + +msgid "Move up" +msgstr "Flytt opp" + +msgid "Move down" +msgstr "Flytt ned" + +msgid "Promoted search result" +msgstr "Forfremmet søkeresultat" + +msgid "Add recommended page" +msgstr "Legg til anbefalt side" + +msgid "Search Terms" +msgstr "Søkeord" + +msgid "Promoted search results" +msgstr "Forfremmede søkeresultater" + +msgid "Add new promoted result" +msgstr "Legg til nytt forfremmet resultat" + +msgid "Search term(s)" +msgstr "Søkeord" + +msgid "Promoted results" +msgstr "Forfremmede resultater" + +msgid "Views (past week)" +msgstr "Visninger (siste uke)" + +msgid "Edit this pick" +msgstr "Endre dette resultatet" + +msgid "None" +msgstr "Ingen" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Det er ett treff\n" +" " +msgstr[1] "" +"\n" +"Det er %(counter)s treff\n" +" " + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Beklager, ingen forfremmede resultater samsvarer med \"%(query_string)s\"" + +#, python-format +msgid "" +"No promoted results have been created. Why not add one?" +msgstr "" +"Ingen forfremmede resultater har blitt opprettet. Hvorfor ikke legge til et?" + +msgid "Search promoted results" +msgstr "Søk i forfremmede resultater" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Redaktørvalg for \"{0}\" er opprettet." + +msgid "Edit" +msgstr "Endre" + +msgid "Recommendations have not been created due to errors" +msgstr "Anbefalinger kunne ikke opprettes grunnet feil" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Redaktørvalg for \"{0}\" oppdatert." + +msgid "Recommendations have not been saved due to errors" +msgstr "Anbefalinger kunne ikke lagres grunnet feil" + +msgid "Editor's picks deleted." +msgstr "Redaktørvalg slettet." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/pl/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 000000000..ec3c0fa96 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/pl/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 000000000..827ef284a --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,98 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# utek , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" +"pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +msgid "Save" +msgstr "Zapisz" + +#, python-format +msgid "Delete %(query)s" +msgstr "Usuń %(query)s" + +msgid "Delete" +msgstr "Usuń" + +msgid "Yes, delete" +msgstr "Tak, usuń" + +#, python-format +msgid "Editing %(query)s" +msgstr "Edycja %(query)s" + +msgid "Editing" +msgstr "Edytujesz" + +msgid "Move up" +msgstr "Przesuń w górę" + +msgid "Move down" +msgstr "Przesuń w dół" + +msgid "Add recommended page" +msgstr "Dodaj polecaną stronę" + +msgid "Search Terms" +msgstr "Frazy wyszukiwania" + +msgid "Search term(s)" +msgstr "Frazy wyszukiwania" + +msgid "Views (past week)" +msgstr "Odsłony (poprzedni tydzień)" + +msgid "Edit this pick" +msgstr "Edytuj ten wybór" + +msgid "None" +msgstr "Brak" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" Jedno dopasowanie\n" +" " +msgstr[1] "" +"\n" +" Są %(counter)s dopasowania\n" +" " +msgstr[2] "" +"\n" +" Jest %(counter)s dopasowań\n" +" " + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Stworzono wybór redakcji dla '{0}'" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Zaktualizowano wybór redakcji dla '{0}'." + +msgid "Editor's picks deleted." +msgstr "Usunięto wybór redakcji." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/pt_BR/LC_MESSAGES/django.mo new file mode 100644 index 000000000..ec53773e0 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 000000000..b0a713ee5 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,163 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Claudemiro Alves Feitosa Neto , 2015 +# Gladson , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" +"wagtail/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "Especifique pelo menos uma recomendação para este termo de busca." + +msgid "Page" +msgstr "Página" + +msgid "Description" +msgstr "Descrição" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Resultados de busca promovidos são meios de recomendar páginas " +"específicas que pode não aparecer organicamente nos resultados. Ex. " +"recomendar sua página de doação principal para um usuário pesquisando com um " +"termo menos comum \"doando\".

" + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

O \"Termo(s)/frase da busca\" abaixo devem conter a busca exata e " +"completa para a qual você deseja provê resultados recomendados, " +"incluíndo qualquer erro de digitação ou do usuário. Para ajudar, " +"você pode escolher a partir de termos que são populares entre os usuários de " +"seu site

" + +msgid "Save" +msgstr "Salvar" + +#, python-format +msgid "Delete %(query)s" +msgstr "Excluir %(query)s" + +msgid "Delete" +msgstr "Excluir" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Você tem certeza que você quer excluir todos os resultados promovidos para " +"este termo?" + +msgid "Yes, delete" +msgstr "Sim, apague" + +#, python-format +msgid "Editing %(query)s" +msgstr "Editando %(query)s" + +msgid "Editing" +msgstr "Editando" + +msgid "Move up" +msgstr "Mover para cima" + +msgid "Move down" +msgstr "Mover para baixo" + +msgid "Promoted search result" +msgstr "Resultado promovido" + +msgid "Add recommended page" +msgstr "Adicionar recomendação para página" + +msgid "Search Terms" +msgstr "Procurar Termos" + +msgid "Promoted search results" +msgstr "Resultados promovidos" + +msgid "Add new promoted result" +msgstr "Adicionar um novo resultado promovido" + +msgid "Search term(s)" +msgstr "Procurar termo(s)" + +msgid "Promoted results" +msgstr "Resultados promovidos" + +msgid "Views (past week)" +msgstr "Visualizações (última semana)" + +msgid "Edit this pick" +msgstr "Editar sugestão do editor" + +msgid "None" +msgstr "Nenhum" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +" Há um resultado\n" +" " +msgstr[1] "" +"\n" +" Há %(counter)s resultados\n" +" " + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "Desculpe, nenhum resultado promovido com \"%(query_string)s\"" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Sugestões dos editores para '{0}' criados." + +msgid "Edit" +msgstr "Editar" + +msgid "Recommendations have not been created due to errors" +msgstr "As recomendações não poderiam ser criadas devido a erros" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Sugestões do editor para '{0}' atualizado." + +msgid "Recommendations have not been saved due to errors" +msgstr "As recomendações não puderam ser salvas devido a erros" + +msgid "Editor's picks deleted." +msgstr "Sugestões do editor deletado." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/pt_PT/LC_MESSAGES/django.mo new file mode 100644 index 000000000..858326204 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/pt_PT/LC_MESSAGES/django.po new file mode 100644 index 000000000..5ae8ba2a2 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/pt_PT/LC_MESSAGES/django.po @@ -0,0 +1,168 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Gladson , 2014 +# Tiago Henriques , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" +"wagtail/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "" +"Por favor especifique pelo menos uma recomendação para este termo de " +"pesquisa." + +msgid "Page" +msgstr "Página" + +msgid "Description" +msgstr "Descrição" + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Os resultados de pesquisa promovidos servem para recomendar páginas " +"específicas que podem não aparecer bem posicionadas nos resultados de " +"pesquisa. Por exemplo, recomendar a sua página principal de donativos a um " +"utilizador que pesquisa um termo menos comum como \"dar\".

\n" +" " + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

O campo \"Pesquisar termo(s)/frase\" abaixo tem de conter a pesquisa " +"completa e exata para a qual pretende obter resultados recomendados, " +"incluindo quaisquer erros de ortografia/utilizador. Para facilitar, " +"pode escolher de entre os termos de pesquisa que são frequentemente usados " +"pelos utilizadores do seu site.

\n" +" " + +msgid "Save" +msgstr "Guardar" + +#, python-format +msgid "Delete %(query)s" +msgstr "Apagar %(query)s" + +msgid "Delete" +msgstr "Apagar" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Tem a certeza que quer apagar todos os resultados promovidos para este termo " +"de pesquisa?" + +msgid "Yes, delete" +msgstr "Sim, apagar" + +#, python-format +msgid "Editing %(query)s" +msgstr "A editar %(query)s" + +msgid "Editing" +msgstr "A editar" + +msgid "Move up" +msgstr "Mover para cima" + +msgid "Move down" +msgstr "Mover para baixo" + +msgid "Promoted search result" +msgstr "Resultado de pesquisa promovido" + +msgid "Add recommended page" +msgstr "Adicionar uma página recomendada" + +msgid "Search Terms" +msgstr "Pesquisar Termos" + +msgid "Promoted search results" +msgstr "Resultados de pesquisa promovidos" + +msgid "Add new promoted result" +msgstr "Adicionar novo resultado promovido" + +msgid "Search term(s)" +msgstr "Pesquisar termo(s)" + +msgid "Promoted results" +msgstr "Resultados promovidos" + +msgid "Views (past week)" +msgstr "Visualizações (última semana)" + +msgid "Edit this pick" +msgstr "Editar esta escolha" + +msgid "None" +msgstr "Nenhuma" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Encontrado um resultado\n" +" " +msgstr[1] "" +"\n" +"Encontrados %(counter)s resultados\n" +" " + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Desculpe, nenhuma resultado promovido contém \"%(query_string)s\"" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Escolhas do editor para '{0}' criadas." + +msgid "Edit" +msgstr "Editar" + +msgid "Recommendations have not been created due to errors" +msgstr "As recomendações não foram criadas devido a erros." + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Escolhas do editor para '{0}' atualizadas." + +msgid "Recommendations have not been saved due to errors" +msgstr "As recomendações não foram guardadas devido a erros." + +msgid "Editor's picks deleted." +msgstr "Escolhas do editor apagadas." diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/ro/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/ro/LC_MESSAGES/django.mo new file mode 100644 index 000000000..f1239b67e Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/ro/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 000000000..966de1ef4 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,157 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Dan Braghis, 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +msgid "Please specify at least one recommendation for this search term." +msgstr "Introduceți cel puțin o recomandare pentru acest termen de căutare." + +msgid "" +"\n" +"

Promoted search results are a means of recommending " +"specific pages that might not organically come high up in search results. E." +"g recommending your primary donation page to a user searching with the less " +"common term \"giving\".

\n" +" " +msgstr "" +"\n" +"

Rezultatele de căutare promovate reprezintă o modalitate de recomandare a " +"paginilor care pot să nu apară în topul rezultatelor de căutare în mod " +"organic. De exemplu, recomandărea paginii principale de donații unui " +"utilizator care caută termenul mai puțin frecvent \"dare\".

\n" +" " + +msgid "" +"\n" +"

The \"Search term(s)/phrase\" field below must contain " +"the full and exact search for which you wish to provide recommended results, " +"including any misspellings/user error. To help, you can choose from " +"search terms that have been popular with users of your site.

\n" +" " +msgstr "" +"\n" +"

Câmpul \"Termeni/frază de căutare\" de mai jos trebuie să conțină șirul " +"exact pentru care doriți să furnizați rezultate recomandate. Includeți greșeli ortografice și alte greșeli. Puteți să alegeți din termenii de " +"căutare populari printre utilizatorii sitului dvs.

" + +msgid "Save" +msgstr "Salvează" + +#, python-format +msgid "Delete %(query)s" +msgstr "Șterge %(query)s" + +msgid "Delete" +msgstr "Șterge" + +msgid "" +"Are you sure you want to delete all promoted results for this search term?" +msgstr "" +"Sigur doriți să ștergeți toate rezultatele promovate pentru acest termen de " +"căutare?" + +msgid "Yes, delete" +msgstr "Da, șterge" + +#, python-format +msgid "Editing %(query)s" +msgstr "Editare %(query)s" + +msgid "Editing" +msgstr "Editare" + +msgid "Move up" +msgstr "Deplasează în sus" + +msgid "Move down" +msgstr "Deplasează în jos" + +msgid "Promoted search result" +msgstr "Rezultat de căutare promovat" + +msgid "Add recommended page" +msgstr "Adaugă pagină recomandată" + +msgid "Search Terms" +msgstr "Termeni de căutare" + +msgid "Promoted search results" +msgstr "Rezultate de căutare promovate" + +msgid "Add new promoted result" +msgstr "Adaugă rezultat promovat" + +msgid "Search term(s)" +msgstr "Termen de căutare" + +msgid "Promoted results" +msgstr "Rezultate promovate" + +msgid "Views (past week)" +msgstr "Vizualizări (ultima săptămână)" + +msgid "Edit this pick" +msgstr "Editează selecția" + +msgid "None" +msgstr "Nici una" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Există o potrivire" +msgstr[1] "" +"\n" +"Sunt %(counter)s potriviri" +msgstr[2] "" +"\n" +"Sunt %(counter)s potriviri" + +#, python-format +msgid "Sorry, no promoted results match \"%(query_string)s\"" +msgstr "" +"Ne pare rău, \"%(query_string)s\" nu se potrivește cu nici un " +"rezultat promovat" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "Selecțiile editoriale pentru '{0}' au fost create." + +msgid "Recommendations have not been created due to errors" +msgstr "Recomandările nu au fost create din cauza erorilor." + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "Selecțiile editoriale pentru '{0}' au fost actualizate." + +msgid "Recommendations have not been saved due to errors" +msgstr "Recomandările nu au fost salvate din cauza erorilor." + +msgid "Editor's picks deleted." +msgstr "Selecțiile editoriale au fost șterse" diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/zh/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/zh/LC_MESSAGES/django.mo new file mode 100644 index 000000000..ba75d47d4 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/zh/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/zh/LC_MESSAGES/django.po new file mode 100644 index 000000000..0d9d3ca1b --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/zh/LC_MESSAGES/django.po @@ -0,0 +1,74 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" +"zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Save" +msgstr "保存" + +#, python-format +msgid "Delete %(query)s" +msgstr "删除Delete %(query)s" + +msgid "Delete" +msgstr "删除" + +msgid "Yes, delete" +msgstr "是的,删除" + +#, python-format +msgid "Editing %(query)s" +msgstr "编辑%(query)s" + +msgid "Editing" +msgstr "编辑" + +msgid "Move up" +msgstr "向上移动" + +msgid "Move down" +msgstr "向下移动" + +msgid "Add recommended page" +msgstr "添加推荐页" + +msgid "Search Terms" +msgstr "搜索关键词" + +msgid "Search term(s)" +msgstr "搜索关键词" + +msgid "Views (past week)" +msgstr "查看 (上周)" + +msgid "Edit this pick" +msgstr "编辑这个精选" + +msgid "None" +msgstr "没有" + +#, python-brace-format +msgid "Editor's picks for '{0}' created." +msgstr "编辑精选'{0}'已创建。" + +#, python-brace-format +msgid "Editor's picks for '{0}' updated." +msgstr "编辑精选'{0}'已更新。" + +msgid "Editor's picks deleted." +msgstr "编辑精选已删除" diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailsearchpromotions/locale/zh_CN/LC_MESSAGES/django.mo new file mode 100644 index 000000000..8bcf53a73 Binary files /dev/null and b/wagtail/contrib/wagtailsearchpromotions/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailsearchpromotions/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/contrib/wagtailsearchpromotions/locale/zh_CN/LC_MESSAGES/django.po new file mode 100644 index 000000000..b6c22c5b6 --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/locale/zh_CN/LC_MESSAGES/django.po @@ -0,0 +1,58 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# hanfeng , 2014 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:46+0100\n" +"PO-Revision-Date: 2015-08-26 14:14+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" +"language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Page" +msgstr "页面" + +msgid "Description" +msgstr "描述" + +msgid "Save" +msgstr "保存" + +#, python-format +msgid "Delete %(query)s" +msgstr "删除%(query)s" + +msgid "Delete" +msgstr "删除" + +msgid "Yes, delete" +msgstr "是,删除" + +#, python-format +msgid "Editing %(query)s" +msgstr "编辑%(query)s" + +msgid "Editing" +msgstr "编辑" + +msgid "Move up" +msgstr "上移" + +msgid "Move down" +msgstr "下移" + +msgid "Search Terms" +msgstr "检索词" + +msgid "Edit" +msgstr "编辑" diff --git a/wagtail/contrib/wagtailsearchpromotions/templatetags/wagtailsearchpromotions_tags.py b/wagtail/contrib/wagtailsearchpromotions/templatetags/wagtailsearchpromotions_tags.py index 06a2d56f8..0b2929c1e 100644 --- a/wagtail/contrib/wagtailsearchpromotions/templatetags/wagtailsearchpromotions_tags.py +++ b/wagtail/contrib/wagtailsearchpromotions/templatetags/wagtailsearchpromotions_tags.py @@ -1,6 +1,7 @@ from django import template from wagtail.wagtailsearch.models import Query +from wagtail.contrib.wagtailsearchpromotions.models import SearchPromotion register = template.Library() @@ -8,4 +9,7 @@ register = template.Library() @register.assignment_tag() def get_search_promotions(search_query): - return Query.get(search_query).editors_picks.all() + if search_query: + return Query.get(search_query).editors_picks.all() + else: + return SearchPromotion.objects.none() diff --git a/wagtail/contrib/wagtailsearchpromotions/tests.py b/wagtail/contrib/wagtailsearchpromotions/tests.py index 15830d4d9..6149e0199 100644 --- a/wagtail/contrib/wagtailsearchpromotions/tests.py +++ b/wagtail/contrib/wagtailsearchpromotions/tests.py @@ -71,6 +71,10 @@ class TestGetSearchPromotionsTemplateTag(TestCase): search_picks = list(get_search_promotions("root page")) self.assertEqual(search_picks, [pick]) + def test_get_search_promotions_with_none_query_string(self): + search_picks = list(get_search_promotions(None)) + self.assertEqual(search_picks, []) + class TestSearchPromotionsIndexView(TestCase, WagtailTestUtils): def setUp(self): diff --git a/wagtail/contrib/wagtailsearchpromotions/views.py b/wagtail/contrib/wagtailsearchpromotions/views.py index 9c2bf6e0d..61d5e111b 100644 --- a/wagtail/contrib/wagtailsearchpromotions/views.py +++ b/wagtail/contrib/wagtailsearchpromotions/views.py @@ -9,10 +9,12 @@ from wagtail.wagtailsearch import forms as search_forms from wagtail.wagtailsearch.models import Query from wagtail.wagtailadmin.forms import SearchForm from wagtail.wagtailadmin import messages +from wagtail.wagtailadmin.utils import permission_required, any_permission_required from wagtail.contrib.wagtailsearchpromotions import forms +@any_permission_required('wagtailsearchpromotions.add_searchpromotion', 'wagtailsearchpromotions.change_searchpromotion', 'wagtailsearchpromotions.delete_searchpromotion') @vary_on_headers('X-Requested-With') def index(request): is_searching = False @@ -71,6 +73,7 @@ def save_searchpicks(query, new_query, searchpicks_formset): return False +@permission_required('wagtailsearchpromotions.add_searchpromotion') def add(request): if request.POST: # Get query @@ -102,6 +105,7 @@ def add(request): }) +@permission_required('wagtailsearchpromotions.change_searchpromotion') def edit(request, query_id): query = get_object_or_404(Query, id=query_id) @@ -137,6 +141,7 @@ def edit(request, query_id): }) +@permission_required('wagtailsearchpromotions.delete_searchpromotion') def delete(request, query_id): query = get_object_or_404(Query, id=query_id) diff --git a/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py b/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py index 3d074feaa..9e8c4164c 100644 --- a/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py +++ b/wagtail/contrib/wagtailsearchpromotions/wagtail_hooks.py @@ -1,6 +1,7 @@ from django.core import urlresolvers from django.conf.urls import include, url from django.utils.translation import ugettext_lazy as _ +from django.contrib.auth.models import Permission from wagtail.wagtailcore import hooks from wagtail.contrib.wagtailsearchpromotions import admin_urls @@ -17,10 +18,19 @@ def register_admin_urls(): class SearchPicksMenuItem(MenuItem): def is_shown(self, request): - # TEMPORARY: Only show if the user is a superuser - return request.user.is_superuser + return ( + request.user.has_perm('wagtailsearchpromotions.add_searchpromotion') + or request.user.has_perm('wagtailsearchpromotions.change_searchpromotion') + or request.user.has_perm('wagtailsearchpromotions.delete_searchpromotion') + ) @hooks.register('register_settings_menu_item') def register_search_picks_menu_item(): return SearchPicksMenuItem(_('Promoted search results'), urlresolvers.reverse('wagtailsearchpromotions:index'), classnames='icon icon-pick', order=900) + + +@hooks.register('register_permissions') +def register_permissions(): + return Permission.objects.filter(content_type__app_label='wagtailsearchpromotions', + codename__in=['add_searchpromotion', 'change_searchpromotion', 'delete_searchpromotion']) diff --git a/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.mo index d0f6410de..23d85d9c4 100644 Binary files a/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.mo and b/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.po b/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.po index f665b7b68..13a02f4bb 100644 --- a/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.po +++ b/wagtail/contrib/wagtailstyleguide/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-06 12:05+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,26 +30,26 @@ msgstr "" msgid "Delete image" msgstr "" -#: views.py:45 +#: views.py:42 msgid "Search something" msgstr "" -#: views.py:49 +#: views.py:46 msgid "Success message" msgstr "" -#: views.py:50 views.py:54 views.py:58 +#: views.py:47 views.py:51 views.py:55 msgid "View live" msgstr "" -#: views.py:51 views.py:55 views.py:59 +#: views.py:48 views.py:52 views.py:56 msgid "Edit" msgstr "" -#: views.py:53 +#: views.py:50 msgid "Warning message" msgstr "" -#: views.py:57 +#: views.py:54 msgid "Error message" msgstr "" diff --git a/wagtail/contrib/wagtailstyleguide/locale/es/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailstyleguide/locale/es/LC_MESSAGES/django.mo new file mode 100644 index 000000000..456096c6d Binary files /dev/null and b/wagtail/contrib/wagtailstyleguide/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailstyleguide/locale/es/LC_MESSAGES/django.po b/wagtail/contrib/wagtailstyleguide/locale/es/LC_MESSAGES/django.po new file mode 100644 index 000000000..192343c68 --- /dev/null +++ b/wagtail/contrib/wagtailstyleguide/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# José Alaguna , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-27 01:40+0000\n" +"Last-Translator: José Alaguna \n" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" +"es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Styleguide" +msgstr "Guía de estilo" + +msgid "Save" +msgstr "Guardar" + +msgid "Delete image" +msgstr "Eliminar imagen" + +msgid "Search something" +msgstr "Buscar algo" + +msgid "Success message" +msgstr "Mensaje de éxito" + +msgid "View live" +msgstr "Ver en vivo" + +msgid "Edit" +msgstr "Editar" + +msgid "Warning message" +msgstr "Mensaje de advertencia" + +msgid "Error message" +msgstr "Mensaje de error" diff --git a/wagtail/contrib/wagtailstyleguide/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailstyleguide/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..83ec0258f Binary files /dev/null and b/wagtail/contrib/wagtailstyleguide/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailstyleguide/locale/is_IS/LC_MESSAGES/django.po b/wagtail/contrib/wagtailstyleguide/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..f291c7399 --- /dev/null +++ b/wagtail/contrib/wagtailstyleguide/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-31 20:31+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Styleguide" +msgstr "Stílblað" + +msgid "Save" +msgstr "Vista" + +msgid "Delete image" +msgstr "Eyða mynd" + +msgid "Search something" +msgstr "Leita" + +msgid "Success message" +msgstr "Jákvæð skilaboð" + +msgid "View live" +msgstr "Skoða lifandi" + +msgid "Edit" +msgstr "Breyta" + +msgid "Warning message" +msgstr "Viðvörunar skilaboð" + +msgid "Error message" +msgstr "Villu skilaboð" diff --git a/wagtail/contrib/wagtailstyleguide/locale/nb/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailstyleguide/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..a26236fde Binary files /dev/null and b/wagtail/contrib/wagtailstyleguide/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailstyleguide/locale/nb/LC_MESSAGES/django.po b/wagtail/contrib/wagtailstyleguide/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..48015a91a --- /dev/null +++ b/wagtail/contrib/wagtailstyleguide/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-01 22:14+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Styleguide" +msgstr "Stilguide" + +msgid "Save" +msgstr "Lagre" + +msgid "Delete image" +msgstr "Slett bilde" + +msgid "Search something" +msgstr "Søk etter noe" + +msgid "Success message" +msgstr "Positiv tilbakemeldning" + +msgid "View live" +msgstr "Se publisert" + +msgid "Edit" +msgstr "Rediger" + +msgid "Warning message" +msgstr "Advarsel" + +msgid "Error message" +msgstr "Feilmelding" diff --git a/wagtail/contrib/wagtailstyleguide/locale/ro/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailstyleguide/locale/ro/LC_MESSAGES/django.mo new file mode 100644 index 000000000..56f576751 Binary files /dev/null and b/wagtail/contrib/wagtailstyleguide/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailstyleguide/locale/ro/LC_MESSAGES/django.po b/wagtail/contrib/wagtailstyleguide/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 000000000..eb94b3ff5 --- /dev/null +++ b/wagtail/contrib/wagtailstyleguide/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Dan Braghis, 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 21:38+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +msgid "Styleguide" +msgstr "Ghid de stil" + +msgid "Save" +msgstr "Salveză" + +msgid "Delete image" +msgstr "Șterge imagine" + +msgid "Search something" +msgstr "Caută ceva" + +msgid "Success message" +msgstr "Mesaj de success" + +msgid "View live" +msgstr "Vezi în direct" + +msgid "Edit" +msgstr "Editează" + +msgid "Warning message" +msgstr "Mesaj de avertizare" + +msgid "Error message" +msgstr "Mesaj de eroare" diff --git a/wagtail/contrib/wagtailstyleguide/locale/ru/LC_MESSAGES/django.mo b/wagtail/contrib/wagtailstyleguide/locale/ru/LC_MESSAGES/django.mo new file mode 100644 index 000000000..bdec63183 Binary files /dev/null and b/wagtail/contrib/wagtailstyleguide/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/contrib/wagtailstyleguide/locale/ru/LC_MESSAGES/django.po b/wagtail/contrib/wagtailstyleguide/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 000000000..a58d3373c --- /dev/null +++ b/wagtail/contrib/wagtailstyleguide/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eugene MechanisM , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 21:47+0000\n" +"Last-Translator: Eugene MechanisM \n" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Styleguide" +msgstr "Гид по стилям" + +msgid "Save" +msgstr "Сохранить" + +msgid "Delete image" +msgstr "Удалить изображение" + +msgid "Search something" +msgstr "Искать что-нибудь" + +msgid "Success message" +msgstr "Сообщение об успехе" + +msgid "View live" +msgstr "Смотреть на сайте" + +msgid "Edit" +msgstr "Правка" + +msgid "Warning message" +msgstr "Сообщение с предупреждением" + +msgid "Error message" +msgstr "Сообщение с ошибкой" diff --git a/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html b/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html index 2acb01d12..a81c33163 100644 --- a/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html +++ b/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html @@ -301,6 +301,22 @@ +
+

Button groups

+

Adds rounding to first and last items only

+
+ + + +
+
+
+ + A link button + A non-link button +
+
+
diff --git a/wagtail/contrib/wagtailstyleguide/views.py b/wagtail/contrib/wagtailstyleguide/views.py index 14f615f38..05dd1c999 100644 --- a/wagtail/contrib/wagtailstyleguide/views.py +++ b/wagtail/contrib/wagtailstyleguide/views.py @@ -2,13 +2,13 @@ from django import forms from django.shortcuts import render from django.utils.translation import ugettext as _ from wagtail.wagtailadmin import messages -from django.contrib.auth.decorators import permission_required from wagtail.wagtailadmin.forms import SearchForm from wagtail.wagtailadmin.widgets import AdminPageChooser, AdminDateInput, AdminTimeInput, AdminDateTimeInput from wagtail.wagtailimages.widgets import AdminImageChooser from wagtail.wagtaildocs.widgets import AdminDocumentChooser + class ExampleForm(forms.Form): def __init__(self, *args, **kwargs): super(ExampleForm, self).__init__(*args, **kwargs) @@ -37,8 +37,6 @@ class ExampleForm(forms.Form): document_chooser = forms.BooleanField(required=True) - -@permission_required('wagtailadmin.access_admin') def index(request): form = SearchForm(placeholder=_("Search something")) diff --git a/wagtail/project_template/requirements.txt b/wagtail/project_template/requirements.txt index 101b80350..78714b460 100644 --- a/wagtail/project_template/requirements.txt +++ b/wagtail/project_template/requirements.txt @@ -1,2 +1,2 @@ Django>=1.8,<1.9 -wagtail==1.0 +wagtail==1.1rc1 diff --git a/wagtail/tests/dummy_external_storage.py b/wagtail/tests/dummy_external_storage.py new file mode 100644 index 000000000..e7412324c --- /dev/null +++ b/wagtail/tests/dummy_external_storage.py @@ -0,0 +1,72 @@ +# This file contains a file storage backend that imitates behaviours of +# common external storage backends (S3 boto, libcloud, etc). + +# The following behaviours have been added to this backend: +# - Calling .path on the storage or image file raises NotImplementedError +# - File.open() after the file has been closed raises an error + +from django.core.files.storage import Storage, FileSystemStorage +from django.core.files.base import File +from django.utils.deconstruct import deconstructible + + +@deconstructible +class DummyExternalStorage(Storage): + def __init__(self, *args, **kwargs): + self.wrapped = FileSystemStorage(*args, **kwargs) + + def path(self, name): + # Overridden to give it the behaviour of the base Storage class + # This is what an external storage backend would have + raise NotImplementedError("This backend doesn't support absolute paths.") + + def _open(self, name, mode='rb'): + # Overridden to return a DummyExternalStorageFile instead of a normal + # File object + return DummyExternalStorageFile(open(self.wrapped.path(name), mode)) + + + # Wrap all other functions + + def _save(self, name, content): + return self.wrapped._save(name, content) + + def delete(self, name): + self.wrapped.delete(name) + + def exists(self, name): + return self.wrapped.exists(name) + + def listdir(self, path): + return self.wrapped.listdir(path) + + def size(self, name): + return self.wrapped.size(name) + + def url(self, name): + return self.wrapped.url(name) + + def accessed_time(self, name): + return self.wrapped.accessed_time(name) + + def created_time(self, name): + return self.wrapped.created_time(name) + + def modified_time(self, name): + return self.wrapped.modified_time(name) + + +class DummyExternalStorageFile(File): + def open(self, mode=None): + # Based on: https://github.com/django/django/blob/2c39f282b8389f47fee4b24e785a58567c6c3629/django/core/files/base.py#L135-L141 + + # I've commented out two lines of this function which stops it checking + # the filesystem for the file. Making it behave as if it is using an + # external file storage. + + if not self.closed: + self.seek(0) + # elif self.name and os.path.exists(self.name): + # self.file = open(self.name, mode or self.mode) + else: + raise ValueError("The file cannot be reopened.") diff --git a/wagtail/tests/snippets/migrations/0002_searchablesnippet.py b/wagtail/tests/snippets/migrations/0002_searchablesnippet.py new file mode 100644 index 000000000..fccf0a497 --- /dev/null +++ b/wagtail/tests/snippets/migrations/0002_searchablesnippet.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import wagtail.wagtailsearch.index + + +class Migration(migrations.Migration): + + dependencies = [ + ('snippetstests', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='SearchableSnippet', + fields=[ + ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), + ('text', models.CharField(max_length=255)), + ], + bases=(models.Model, wagtail.wagtailsearch.index.Indexed), + ), + ] diff --git a/wagtail/tests/snippets/models.py b/wagtail/tests/snippets/models.py index 6264b22f9..5f7900b3d 100644 --- a/wagtail/tests/snippets/models.py +++ b/wagtail/tests/snippets/models.py @@ -1,6 +1,8 @@ from django.db import models from django.utils.encoding import python_2_unicode_compatible +from wagtail.wagtailsearch import index + from wagtail.wagtailsnippets.models import register_snippet @@ -36,3 +38,17 @@ register_snippet(RegisterFunction) @register_snippet class RegisterDecorator(models.Model): pass + + +# A snippet model that inherits from index.Indexed can be searched on + +@register_snippet +class SearchableSnippet(models.Model, index.Indexed): + text = models.CharField(max_length=255) + + search_fields = ( + index.SearchField('text'), + ) + + def __str__(self): + return self.text diff --git a/wagtail/tests/testapp/fixtures/test.json b/wagtail/tests/testapp/fixtures/test.json index 7a51679f7..fa424ac01 100644 --- a/wagtail/tests/testapp/fixtures/test.json +++ b/wagtail/tests/testapp/fixtures/test.json @@ -39,7 +39,7 @@ "model": "wagtailcore.page", "fields": { "title": "Events", - "numchild": 4, + "numchild": 5, "show_in_menus": true, "live": true, "depth": 3, @@ -86,6 +86,41 @@ } }, +{ + "pk": 13, + "model": "wagtailcore.page", + "fields": { + "title": "Saint Patrick", + "numchild": 0, + "show_in_menus": true, + "live": true, + "depth": 4, + "content_type": ["tests", "singleeventpage"], + "path": "0001000100010005", + "url_path": "/home/events/saint-patrick/", + "slug": "saint-patrick", + "owner": 2 + } +}, +{ + "pk": 13, + "model": "tests.eventpage", + "fields": { + "date_from": "2014-12-25", + "audience": "private", + "location": "Wellington", + "body": "

The day when nothing makes sense.

", + "cost": "Semi-free" + } +}, +{ + "pk": 13, + "model": "tests.singleeventpage", + "fields": { + "excerpt": "A little tiny excerpt for Saint Patrick." + } +}, + { "pk": 1, "model": "tests.eventpagespeaker", diff --git a/wagtail/tests/testapp/migrations/0007_auto_20150819_0614.py b/wagtail/tests/testapp/migrations/0007_auto_20150819_0614.py new file mode 100644 index 000000000..cdf17659a --- /dev/null +++ b/wagtail/tests/testapp/migrations/0007_auto_20150819_0614.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('tests', '0006_image_file_size'), + ] + + operations = [ + migrations.AlterField( + model_name='customimagewithadminformfields', + name='created_at', + field=models.DateTimeField(db_index=True, verbose_name='Created at', auto_now_add=True), + ), + migrations.AlterField( + model_name='customimagewithoutadminformfields', + name='created_at', + field=models.DateTimeField(db_index=True, verbose_name='Created at', auto_now_add=True), + ), + ] diff --git a/wagtail/tests/testapp/migrations/0007_singleeventpage.py b/wagtail/tests/testapp/migrations/0007_singleeventpage.py new file mode 100644 index 000000000..adf5eec70 --- /dev/null +++ b/wagtail/tests/testapp/migrations/0007_singleeventpage.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('tests', '0006_image_file_size'), + ] + + operations = [ + migrations.CreateModel( + name='SingleEventPage', + fields=[ + ('eventpage_ptr', models.OneToOneField(auto_created=True, to='tests.EventPage', serialize=False, parent_link=True, primary_key=True)), + ('excerpt', models.TextField(help_text='Short text to describe what is this action about', max_length=255, null=True, blank=True)), + ], + bases=('tests.eventpage',), + ), + ] diff --git a/wagtail/tests/testapp/migrations/0008_merge.py b/wagtail/tests/testapp/migrations/0008_merge.py new file mode 100644 index 000000000..6e55ced0c --- /dev/null +++ b/wagtail/tests/testapp/migrations/0008_merge.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('tests', '0007_auto_20150819_0614'), + ('tests', '0007_singleeventpage'), + ] + + operations = [ + ] diff --git a/wagtail/tests/testapp/migrations/0009_auto_20150820_0419.py b/wagtail/tests/testapp/migrations/0009_auto_20150820_0419.py new file mode 100644 index 000000000..3320e5449 --- /dev/null +++ b/wagtail/tests/testapp/migrations/0009_auto_20150820_0419.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import taggit.managers +import modelcluster.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('taggit', '0001_initial'), + ('tests', '0008_merge'), + ] + + operations = [ + migrations.CreateModel( + name='AdvertTag', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('content_object', modelcluster.fields.ParentalKey(related_name='tagged_items', to='tests.Advert')), + ('tag', models.ForeignKey(related_name='tests_adverttag_items', to='taggit.Tag')), + ], + options={ + 'abstract': False, + }, + ), + migrations.AddField( + model_name='advert', + name='tags', + field=taggit.managers.TaggableManager(to='taggit.Tag', through='tests.AdvertTag', blank=True, help_text='A comma-separated list of tags.', verbose_name='Tags'), + ), + ] diff --git a/wagtail/tests/testapp/migrations/0010_mtibasepage_mtichildpage.py b/wagtail/tests/testapp/migrations/0010_mtibasepage_mtichildpage.py new file mode 100644 index 000000000..06007a721 --- /dev/null +++ b/wagtail/tests/testapp/migrations/0010_mtibasepage_mtichildpage.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailcore', '0019_verbose_names_cleanup'), + ('tests', '0009_auto_20150820_0419'), + ] + + operations = [ + migrations.CreateModel( + name='MTIBasePage', + fields=[ + ('page_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ], + options={ + 'abstract': False, + }, + bases=('wagtailcore.page',), + ), + migrations.CreateModel( + name='MTIChildPage', + fields=[ + ('mtibasepage_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='tests.MTIBasePage')), + ], + options={ + 'abstract': False, + }, + bases=('tests.mtibasepage',), + ), + ] diff --git a/wagtail/tests/testapp/models.py b/wagtail/tests/testapp/models.py index 9b3a9ae82..277832b85 100644 --- a/wagtail/tests/testapp/models.py +++ b/wagtail/tests/testapp/models.py @@ -5,6 +5,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.utils.encoding import python_2_unicode_compatible from taggit.models import TaggedItemBase +from taggit.managers import TaggableManager from modelcluster.fields import ParentalKey from modelcluster.contrib.taggit import ClusterTaggableManager @@ -216,6 +217,13 @@ EventPage.promote_panels = [ ] +# Just to be able to test multi table inheritance +class SingleEventPage(EventPage): + excerpt = models.TextField(max_length=255, blank=True, null=True, help_text="Short text to describe what is this action about") + +SingleEventPage.content_panels = [FieldPanel('excerpt')] + EventPage.content_panels + + # Event index (has a separate AJAX template, and a custom template context) class EventIndex(Page): intro = RichTextField(blank=True) @@ -281,8 +289,12 @@ EventIndex.content_panels = [ class FormField(AbstractFormField): page = ParentalKey('FormPage', related_name='form_fields') + class FormPage(AbstractEmailForm): - pass + def get_context(self, request): + context = super(FormPage, self).get_context(request) + context['greeting'] = "hello world" + return context FormPage.content_panels = [ FieldPanel('title', classname="full title"), @@ -302,14 +314,22 @@ class AdvertPlacement(models.Model): advert = models.ForeignKey('tests.Advert', related_name='+') colour = models.CharField(max_length=255) + +class AdvertTag(TaggedItemBase): + content_object = ParentalKey('Advert', related_name='tagged_items') + + @python_2_unicode_compatible class Advert(models.Model): url = models.URLField(null=True, blank=True) text = models.CharField(max_length=255) + tags = TaggableManager(through=AdvertTag, blank=True) + panels = [ FieldPanel('url'), FieldPanel('text'), + FieldPanel('tags'), ] def __str__(self): @@ -420,3 +440,17 @@ class StreamPage(Page): ]) api_fields = ('body',) + + +class MTIBasePage(Page): + is_creatable = False + + +class MTIChildPage(MTIBasePage): + # Should be creatable by default, no need to set anything + pass + + +class AbstractPage(Page): + class Meta: + abstract = True diff --git a/wagtail/tests/testapp/templates/tests/form_page.html b/wagtail/tests/testapp/templates/tests/form_page.html index f275ec80f..6766ae67d 100644 --- a/wagtail/tests/testapp/templates/tests/form_page.html +++ b/wagtail/tests/testapp/templates/tests/form_page.html @@ -2,6 +2,7 @@ {% load wagtailcore_tags %} {% block content %} +

{{ greeting }}

{% csrf_token %} {{ form.as_p }} diff --git a/wagtail/tests/testapp/templates/tests/form_page_landing.html b/wagtail/tests/testapp/templates/tests/form_page_landing.html index 9615c79d3..9685bd272 100644 --- a/wagtail/tests/testapp/templates/tests/form_page_landing.html +++ b/wagtail/tests/testapp/templates/tests/form_page_landing.html @@ -1,5 +1,6 @@ {% extends "tests/base.html" %} {% block content %} +

{{ greeting }}

Thank you for your feedback.

{% endblock %} diff --git a/wagtail/utils/deprecation.py b/wagtail/utils/deprecation.py index fe5b2f329..5ae0a8e95 100644 --- a/wagtail/utils/deprecation.py +++ b/wagtail/utils/deprecation.py @@ -2,5 +2,8 @@ class RemovedInWagtail12Warning(DeprecationWarning): pass +removed_in_next_version_warning = RemovedInWagtail12Warning + + class RemovedInWagtail13Warning(PendingDeprecationWarning): pass diff --git a/wagtail/wagtailadmin/edit_handlers.py b/wagtail/wagtailadmin/edit_handlers.py index fc6756c0f..4d1b54c1a 100644 --- a/wagtail/wagtailadmin/edit_handlers.py +++ b/wagtail/wagtailadmin/edit_handlers.py @@ -421,6 +421,8 @@ class MultiFieldPanel(object): class BaseFieldPanel(EditHandler): + TEMPLATE_VAR = 'field_panel' + @classmethod def widget_overrides(cls): """check if a specific widget has been defined for this field""" @@ -459,6 +461,7 @@ class BaseFieldPanel(EditHandler): def render_as_object(self): return mark_safe(render_to_string(self.object_template, { 'self': self, + self.TEMPLATE_VAR: self, 'field': self.bound_field, })) @@ -555,19 +558,22 @@ class BasePageChooserPanel(BaseChooserPanel): def target_content_type(cls): if cls._target_content_type is None: if cls.page_type: - try: - model = resolve_model_string(cls.page_type) - except LookupError: - raise ImproperlyConfigured("{0}.page_type must be of the form 'app_label.model_name', given {1!r}".format( - cls.__name__, cls.page_type)) - except ValueError: - raise ImproperlyConfigured("{0}.page_type refers to model {1!r} that has not been installed".format( - cls.__name__, cls.page_type)) + target_models = [] - cls._target_content_type = ContentType.objects.get_for_model(model) + for page_type in cls.page_type: + try: + target_models.append(resolve_model_string(page_type)) + except LookupError: + raise ImproperlyConfigured("{0}.page_type must be of the form 'app_label.model_name', given {1!r}".format( + cls.__name__, page_type)) + except ValueError: + raise ImproperlyConfigured("{0}.page_type refers to model {1!r} that has not been installed".format( + cls.__name__, page_type)) + + cls._target_content_type = list(ContentType.objects.get_for_models(*target_models).values()) else: target_model = cls.model._meta.get_field(cls.field_name).rel.to - cls._target_content_type = ContentType.objects.get_for_model(target_model) + cls._target_content_type = [ContentType.objects.get_for_model(target_model)] return cls._target_content_type @@ -575,6 +581,14 @@ class BasePageChooserPanel(BaseChooserPanel): class PageChooserPanel(object): def __init__(self, field_name, page_type=None): self.field_name = field_name + + if page_type: + # Convert single string/model into list + if not isinstance(page_type, (list, tuple)): + page_type = [page_type] + else: + page_type = [] + self.page_type = page_type def bind_to_model(self, model): diff --git a/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.mo index 037cfec73..e384163b6 100644 Binary files a/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.po index 8dcb92a32..eb5415f18 100644 --- a/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/bg/LC_MESSAGES/django.po @@ -9,11 +9,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 11:48+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -108,6 +108,15 @@ msgstr "Работно Табло" msgid "Menu" msgstr "Меню" +msgid "Move up" +msgstr "Нагоре" + +msgid "Move down" +msgstr "Надолу" + +msgid "Delete" +msgstr "Изтрий" + msgid "Explorer" msgstr "Файлов мениджър" @@ -132,15 +141,6 @@ msgstr "Добави линк" msgid "Add an external link" msgstr "Добави външен линк" -msgid "Move up" -msgstr "Нагоре" - -msgid "Move down" -msgstr "Надолу" - -msgid "Delete" -msgstr "Изтрий" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Добре дошъл в %(site_name)s Wagtail CMS" @@ -359,19 +359,6 @@ msgstr "Преглед на %(title)s" msgid "Drag" msgstr "Плъзнете" -msgid "No pages have been created." -msgstr "Не бяха създадени никакви страници." - -#, python-format -msgid "Why not add one?" -msgstr "Защо не добавите една?" - -msgid "Previous" -msgstr "Предишно" - -msgid "Next" -msgstr "Следващо" - msgid "Explore" msgstr "Мениджър" @@ -385,6 +372,12 @@ msgstr "Добавете подстраница" msgid "Add child page" msgstr "Добави дъщерна страница" +msgid "Previous" +msgstr "Предишно" + +msgid "Next" +msgstr "Следващо" + msgid "Disable ordering of child pages" msgstr "Отменете подредбата на дъщерни страници" @@ -411,16 +404,6 @@ msgstr "Документи" msgid "Users" msgstr "Потребители" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Страница %(page_number)s от %(num_pages)s.\n" -" " - msgid "Enter a search term above" msgstr "Добавете дума за търсене по-горе" @@ -437,9 +420,6 @@ msgstr "Страница %(page_num)s от %(total_pages)s." msgid "Your password has been changed successfully!" msgstr "Паролата ви бе променена успешно!" -msgid "This slug is already in use" -msgstr "Този слъг е вече в употреба" - #, python-brace-format msgid "Page '{0}' created." msgstr "Страница '{0}' е създадена." @@ -462,6 +442,9 @@ msgstr "Тази страница не можеше да бъде запазен msgid "This page is currently awaiting moderation" msgstr "Тази страница очаква да бъде модерирана" +msgid "This slug is already in use" +msgstr "Този слъг е вече в употреба" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Страница '{0}' е изтрита." diff --git a/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.mo index ed3ebcac7..e117a44f5 100644 Binary files a/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.po index 4d2aeaa78..968adfdee 100644 --- a/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/ca/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 11:48+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -113,6 +113,15 @@ msgstr "Tauler de control" msgid "Menu" msgstr "Menú" +msgid "Move up" +msgstr "Puja" + +msgid "Move down" +msgstr "Baixa" + +msgid "Delete" +msgstr "Esborra" + msgid "Explorer" msgstr "Explorador" @@ -137,15 +146,6 @@ msgstr "Insereix un enllaç" msgid "Add an external link" msgstr "Afegeix un enllaç extern" -msgid "Move up" -msgstr "Puja" - -msgid "Move down" -msgstr "Baixa" - -msgid "Delete" -msgstr "Esborra" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Benvingut al Wagtail CMS del lloc %(site_name)s" @@ -364,19 +364,6 @@ msgstr "Explorant %(title)s" msgid "Drag" msgstr "Agafa" -msgid "No pages have been created." -msgstr "No s'han creat pàgines." - -#, python-format -msgid "Why not add one?" -msgstr "Per què no afegeixes una?" - -msgid "Previous" -msgstr "Anterior" - -msgid "Next" -msgstr "Següent" - msgid "Explore" msgstr "Explora" @@ -390,6 +377,12 @@ msgstr "Afegeix subpàgina" msgid "Add child page" msgstr "Afegeix una pàgina filla" +msgid "Previous" +msgstr "Anterior" + +msgid "Next" +msgstr "Següent" + msgid "Disable ordering of child pages" msgstr "Desactiva l'ordenació de les pàgines fill" @@ -416,15 +409,6 @@ msgstr "Documents" msgid "Users" msgstr "Usuaris" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Pàgina %(page_number)s de %(num_pages)s." - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Ho sentim, cap pàgina coincideix amb \"%(query_string)s\"" @@ -445,9 +429,6 @@ msgstr "Pàgina %(page_num)s de %(total_pages)s." msgid "Your password has been changed successfully!" msgstr "S'ha canviat la teva contrasenya!" -msgid "This slug is already in use" -msgstr "Aquest llimac ja està en ús" - #, python-brace-format msgid "Page '{0}' created." msgstr "Pàgina '{0}' creada." @@ -470,6 +451,9 @@ msgstr "La pàgina no s'ha pogut guardar degut a errors de validació" msgid "This page is currently awaiting moderation" msgstr "Aquesta pàgina està esperant moderació" +msgid "This slug is already in use" +msgstr "Aquest llimac ja està en ús" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Pàgina '{0}' eliminada." diff --git a/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.mo index 92e061dc7..b33da7d95 100644 Binary files a/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.po index 7e47cd2e3..8b1cf9106 100644 --- a/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/cs/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 11:48+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Czech (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Czech (http://www.transifex.com/torchbox/wagtail/language/" "cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -181,6 +181,15 @@ msgstr "Dashboard" msgid "Menu" msgstr "Menu" +msgid "Move up" +msgstr "Posunout nahoru" + +msgid "Move down" +msgstr "Posunout dolů" + +msgid "Delete" +msgstr "Smazat" + msgid "Explorer" msgstr "Obsah" @@ -208,15 +217,6 @@ msgstr "Vložit odkaz" msgid "Add an external link" msgstr "Vložit externí odkaz" -msgid "Move up" -msgstr "Posunout nahoru" - -msgid "Move down" -msgstr "Posunout dolů" - -msgid "Delete" -msgstr "Smazat" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Vítejte v redakčním systému %(site_name)s" @@ -486,33 +486,11 @@ msgstr "uživatelem %(modified_by)s" msgid "Exploring %(title)s" msgstr "Obsah pod %(title)s" -msgid "Updated" -msgstr "Uloženo" - msgid "Drag" msgstr "Přetáhnout myší" -msgid "No pages have been created." -msgstr "Nejsou vytvořeny žádné stránky." - -#, python-format -msgid "Why not add one?" -msgstr "Novou stránku můžete založit zde." - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Strana %(page_number)s z %(num_pages)s." - -msgid "Previous" -msgstr "Předchozí" - -msgid "Next" -msgstr "Následující" +msgid "Updated" +msgstr "Uloženo" msgid "This page is locked to further editing" msgstr "Tato stránka je uzamčena pro další úpravy" @@ -534,6 +512,12 @@ msgstr "Přidat podstránku" msgid "Add child page" msgstr "Přidat podstránku" +msgid "Previous" +msgstr "Předchozí" + +msgid "Next" +msgstr "Následující" + msgid "This page is protected from public view" msgstr "Tato stránka není veřejně viditelná" @@ -554,25 +538,6 @@ msgstr "Zvolte novou nadřazenou stránku pro %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Zvolte novou nadřazenou stránku pro %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -"Nalezena 1 stránka" -msgstr[1] "" -"\n" -"Nalezeno %(counter)s stránek" -msgstr[2] "" -"\n" -"Nalezeno %(counter)s stránek" - msgid "Other searches" msgstr "Další hledání" @@ -585,15 +550,6 @@ msgstr "Dokumenty" msgid "Users" msgstr "Uživatelé" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Strana %(page_number)s z %(num_pages)s." - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" @@ -694,15 +650,6 @@ msgstr "Vaše heslo bylo úspěšně změněno." msgid "Your preferences have been updated successfully!" msgstr "Vaše nastavení bylo uloženo." -msgid "This slug is already in use" -msgstr "Název pro URL musí být unikátní" - -msgid "Go live date/time must be before expiry date/time" -msgstr "Datum/čas zveřejnění musí být dřívější než datum/čas expirace" - -msgid "Expiry date/time must be in the future" -msgstr "Datum/čas expirace musí být v budoucnosti" - #, python-brace-format msgid "Page '{0}' created." msgstr "Stránka '{0}' byla vytvořena." @@ -731,6 +678,15 @@ msgstr "Stránku nelze uložit, zkontrolujte správné vyplnění polí" msgid "This page is currently awaiting moderation" msgstr "Stránka nyní čeká na schválení" +msgid "This slug is already in use" +msgstr "Název pro URL musí být unikátní" + +msgid "Go live date/time must be before expiry date/time" +msgstr "Datum/čas zveřejnění musí být dřívější než datum/čas expirace" + +msgid "Expiry date/time must be in the future" +msgstr "Datum/čas expirace musí být v budoucnosti" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Stránka '{0}' byla smazána." diff --git a/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.mo index 57f9934fa..cbab019bc 100644 Binary files a/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.po index b892b6933..ed0427bad 100644 --- a/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/de/LC_MESSAGES/django.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Henrik Kröger , 2015 # Johannes Spielmann , 2014-2015 # karlsander , 2014 # karlsander , 2014 @@ -14,10 +15,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 12:44+0000\n" -"Last-Translator: Wasilis Mandratzis-Walz\n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-03 15:17+0000\n" +"Last-Translator: Henrik Kröger \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,10 +46,10 @@ msgid "Enter your %s" msgstr "Bitte %s eingeben" msgid "Enter your email address to reset your password" -msgstr "Geben Sie ihre Email Adresse ein um ihr Passwort zurückzusetzen." +msgstr "Geben Sie ihre Email-Adresse ein um ihr Passwort zurückzusetzen." msgid "Please fill your email address." -msgstr "Bitte geben Sie ihre Email Adresse ein." +msgstr "Bitte geben Sie ihre Email-Adresse ein." msgid "" "Sorry, you cannot reset your password here as your user account is managed " @@ -110,8 +111,8 @@ msgstr[1] "" msgid "" "This slug is already in use within the context of its parent page \"%s\"" msgstr "" -"Dieser Schwall wird bereits im Rahmen der übergeordneten Seite verwendet \"%s" -"\"" +"Dieser Kurztitel wird bereits im Rahmen der übergeordneten Seite verwendet " +"»%s«" msgid "Public" msgstr "Öffentlich" @@ -204,6 +205,15 @@ msgstr "Menü" msgid "Add another" msgstr "Ein anderes hinzufügen" +msgid "Move up" +msgstr "Nach oben" + +msgid "Move down" +msgstr "Nach unten" + +msgid "Delete" +msgstr "Löschen" + msgid "Explorer" msgstr "Explorer" @@ -216,17 +226,6 @@ msgstr "Externer Link" msgid "Email link" msgstr "Email-Link" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -"Nur Seiten des Typs \"%(type)s\" können hier ausgewählt werden. Andere Typen " -"werden nicht im Suchergebnis angezeigt." - #, python-format msgid "" "\n" @@ -259,15 +258,6 @@ msgstr "Link einfügen" msgid "Add an external link" msgstr "Externen Link hinzufügen" -msgid "Move up" -msgstr "Nach oben" - -msgid "Move down" -msgstr "Nach unten" - -msgid "Delete" -msgstr "Löschen" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Willkommen zum %(site_name)s Wagtail CMS" @@ -362,11 +352,11 @@ msgstr "Vergessen?" #, python-format msgid "The page \"%(title)s\" has been approved" -msgstr "Die Seite \"%(title)s\" wurde freigeschaltet" +msgstr "Die Seite »%(title)s« wurde freigeschaltet" #, python-format msgid "The page \"%(title)s\" has been approved." -msgstr "Die Seite \"%(title)s\" wurde freigeschaltet." +msgstr "Die Seite »%(title)s« wurde freigeschaltet." msgid "You can view the page here:" msgstr "Sie können die Seite hier anzeigen:" @@ -376,22 +366,22 @@ msgstr "Sie können Ihre Benachrichtigungseinstellungen hier bearbeiten:" #, python-format msgid "The page \"%(title)s\" has been rejected" -msgstr "Die Seite \"%(title)s\" wurde abgelehnt" +msgstr "Die Seite »%(title)s« wurde abgelehnt" #, python-format msgid "The page \"%(title)s\" has been rejected." -msgstr "Die Seite \"%(title)s\" wurde abgelehnt." +msgstr "Die Seite »%(title)s« wurde abgelehnt." msgid "You can edit the page here:" msgstr "Sie können die Seite hier bearbeiten:" #, python-format msgid "The page \"%(page)s\" has been submitted for moderation" -msgstr "Die Seite \"%(page)s\" wurde zur Freischaltung eingereicht" +msgstr "Die Seite »%(page)s« wurde zur Freischaltung eingereicht" #, python-format msgid "The page \"%(page)s\" has been submitted for moderation." -msgstr "Die Seite \"%(page)s\" wurde zur Freischaltung eingereicht." +msgstr "Die Seite »%(page)s« wurde zur Freischaltung eingereicht." msgid "You can preview the page here:" msgstr "Sie können hier die Vorschau der Seite anzeigen:" @@ -485,7 +475,7 @@ msgstr "Verschieben" #, python-format msgid "Are you sure you want to move this page into '%(title)s'?" msgstr "" -"Sind Sie sicher, dass Sie diese Seite nach '%(title)s' verschieben wollen?" +"Sind Sie sicher, dass Sie diese Seite nach ›%(title)s‹ verschieben wollen?" #, python-format msgid "" @@ -493,7 +483,7 @@ msgid "" "'%(title)s'?" msgstr "" "Sind Sie sicher, dass Sie diese Seite und alle untergeordneten Seiten nach " -"'%(title)s' verschieben wollen?" +"›%(title)s‹ verschieben wollen?" msgid "Yes, move this page" msgstr "Ja, diese Seite verschieben" @@ -566,51 +556,29 @@ msgstr "von %(modified_by)s" msgid "Exploring %(title)s" msgstr "%(title)s durchstöbern" -msgid "Updated" -msgstr "Aktualisiert" - msgid "Drag" msgstr "Ziehen" -msgid "No pages have been created." -msgstr "Es wurden keine Seiten erstellt." - -#, python-format -msgid "Why not add one?" -msgstr "Fügen Sie doch eine hinzu!" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Seite %(page_number)s von %(num_pages)s." - -msgid "Previous" -msgstr "Vorherige" - -msgid "Next" -msgstr "Nächste" +msgid "Updated" +msgstr "Aktualisiert" msgid "This page is locked to further editing" msgstr "Diese Seite ist gesperrt für weiteres Bearbeiten" #, python-format msgid "Explore subpages of '%(title)s'" -msgstr "Explorer Teilseiten von '%(title)s'" +msgstr "Untergeordnete Seiten von ›%(title)s‹ durchstöbern" msgid "Explore" msgstr "Durchstöbern" #, python-format msgid "Explore child pages of '%(title)s'" -msgstr "Unterseiten von '%(title)s' durchsehen" +msgstr "Unterseiten von ›%(title)s‹ durchsehen" #, python-format msgid "Add a child page to '%(title)s'" -msgstr "Untergeordnete Seite zu '%(title)s' hinzufügen" +msgstr "Unterseite zu ›%(title)s‹ hinzufügen" msgid "Add subpage" msgstr "Untergeordnete Seite hinzufügen" @@ -619,12 +587,18 @@ msgid "" "This page is published but does not exist within a configured Site, so " "cannot be viewed." msgstr "" -"Diese Seite wird veröffentlicht, aber nicht innerhalb einer projektierten " -"Seite existieren also kann nicht angezeigt werden." +"Diese Seite ist veröffentlicht, sie existiert aber nicht in einer " +"konfigurierten Website und kann deswegen nicht betrachtet werden." msgid "Add child page" msgstr "Untergeordnete Seite hinzufügen" +msgid "Previous" +msgstr "Vorherige" + +msgid "Next" +msgstr "Nächste" + msgid "This page is protected from public view" msgstr "Diese Seite ist geschützt vor öffentlichen Zugang" @@ -645,22 +619,6 @@ msgstr "Wählen Sie eine neue übergeordnete Seite für %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Wählen Sie eine neue übergeordnete Seite für %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -"Es gibt einen Treffer." -msgstr[1] "" -"\n" -"Es gibt %(counter)s Treffer." - msgid "Other searches" msgstr "Andere Suchbegriffe" @@ -673,19 +631,10 @@ msgstr "Dokumente" msgid "Users" msgstr "Benutzer" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Seite %(page_number)s von %(num_pages)s." - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" -"Es gibt leider keine Seiten zum Suchbegriff \"%(query_string)s\"" +"Es gibt leider keine Seiten zum Suchbegriff »%(query_string)s«" msgid "Enter a search term above" msgstr "Geben Sie oben einen Suchbegriff ein" @@ -801,47 +750,38 @@ msgstr "Ihr Passwort wurde erfolgreich geändert." msgid "Your preferences have been updated successfully!" msgstr "Ihre Einstellungen wurden gesichert!" -msgid "This slug is already in use" -msgstr "Der Kurztitel wird bereits verwendet" - -msgid "Go live date/time must be before expiry date/time" -msgstr "Das Veröffentlichungsdatum muss vor dem Verfallsdatum liegen" - -msgid "Expiry date/time must be in the future" -msgstr "Das Verfallsdatum muss in der Zukunft sein" - #, python-brace-format msgid "Page '{0}' created and published." -msgstr "Die Seite '{0}' erstellt und veröffentlicht." +msgstr "Die Seite ›{0}‹ wurde erstellt und veröffentlicht." msgid "View live" msgstr "Live anzeigen" #, python-brace-format msgid "Page '{0}' created and submitted for moderation." -msgstr "Die Seite '{0}' wurde erstelt und zur Freischaltung eingereicht." +msgstr "Die Seite ›{0}‹ wurde erstellt und zur Freischaltung eingereicht." msgid "View draft" msgstr "Entwurf anzeigen" #, python-brace-format msgid "Page '{0}' created." -msgstr "Seite '{0}' erstellt." +msgstr "Seite ›{0}‹ erstellt." msgid "The page could not be created due to validation errors" msgstr "Die Seite konnte wegen Prüfungsfehlern nicht erstellt werden." #, python-brace-format msgid "Page '{0}' published." -msgstr "Seite '{0}' veröffentlicht." +msgstr "Seite ›{0}‹ veröffentlicht." #, python-brace-format msgid "Page '{0}' submitted for moderation." -msgstr "Seite '{0}' zur Freischaltung eingereicht." +msgstr "Seite ›{0}‹ zur Freischaltung eingereicht." #, python-brace-format msgid "Page '{0}' updated." -msgstr "Seite '{0}' geändert." +msgstr "Seite ›{0}‹ geändert." msgid "The page could not be saved as it is locked" msgstr "Diese Seite konnte nicht gespeichert werden, da sie gesperrt ist." @@ -854,25 +794,34 @@ msgstr "" msgid "This page is currently awaiting moderation" msgstr "Diese Seite wartet derzeit auf Freischaltung" +msgid "This slug is already in use" +msgstr "Der Kurztitel wird bereits verwendet" + +msgid "Go live date/time must be before expiry date/time" +msgstr "Das Veröffentlichungsdatum muss vor dem Verfallsdatum liegen" + +msgid "Expiry date/time must be in the future" +msgstr "Das Verfallsdatum muss in der Zukunft sein" + #, python-brace-format msgid "Page '{0}' deleted." -msgstr "Seite '{0}' gelöscht." +msgstr "Seite ›{0}‹ gelöscht." #, python-brace-format msgid "Page '{0}' unpublished." -msgstr "Seite '{0}' depubliziert." +msgstr "Seite ›{0}‹ depubliziert." #, python-brace-format msgid "Page '{0}' moved." -msgstr "Seite '{0}' verschoben." +msgstr "Seite ›{0}‹ verschoben." #, python-brace-format msgid "Page '{0}' and {1} subpages copied." -msgstr "Seite '{0}' und {1} Unterseiten kopiert." +msgstr "Seite ›{0}‹ und {1} Unterseiten kopiert." #, python-brace-format msgid "Page '{0}' copied." -msgstr "Seite '{0}' kopiert." +msgstr "Seite ›{0}‹ kopiert." msgid "Content" msgstr "Inhalt" @@ -885,19 +834,19 @@ msgstr "Einstellungen" #, python-brace-format msgid "The page '{0}' is not currently awaiting moderation." -msgstr "Die Seite '{0}' wartet derzeit nicht auf Freischaltung." +msgstr "Die Seite ›{0}‹ wartet derzeit nicht auf Freischaltung." #, python-brace-format msgid "Page '{0}' rejected for publication." -msgstr "Die Veröffentlichung der Seite '{0}' wurde abgelehnt." +msgstr "Die Veröffentlichung der Seite ›{0}‹ wurde abgelehnt." #, python-brace-format msgid "Page '{0}' is now locked." -msgstr "Die Seite '{0}' ist jetzt gesperrt." +msgstr "Die Seite ›{0}‹ ist jetzt gesperrt." #, python-brace-format msgid "Page '{0}' is now unlocked." -msgstr "Die Seite '{0}' ist jetzt entsperrt." +msgstr "Die Seite ›{0}‹ ist jetzt entsperrt." msgid "Choose an item" msgstr "Eintrag wählen" diff --git a/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.mo index 91fa06b0d..def900629 100644 Binary files a/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.po index 7734413e4..4e19291fe 100644 --- a/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/el/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 12:59+0000\n" -"Last-Translator: Wasilis Mandratzis-Walz\n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -199,6 +199,15 @@ msgstr "Μενού" msgid "Add another" msgstr "Προσθήκη ένος άλλου" +msgid "Move up" +msgstr "Μετακίνηση πάνω" + +msgid "Move down" +msgstr "Μετακίνηση κάτω" + +msgid "Delete" +msgstr "Διαγραφή" + msgid "Explorer" msgstr "Εξερευνητής" @@ -211,17 +220,6 @@ msgstr "Εξωτερική σύνδεση" msgid "Email link" msgstr "Σύνδεση με email" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -"Μόνο σελίδες του τύπου \"%(type)s\" μπορουν να επιλεγθουν για αυτό το πεδίο. " -"Τα αποτελέσματα αναζήτησης θα αποκλείσουν τις σελίδες των άλλων τύπων." - #, python-format msgid "" "\n" @@ -253,15 +251,6 @@ msgstr "Εισαγωγή σύνδεσης" msgid "Add an external link" msgstr "Προσθήκη εξωτερικής σύνδεσης" -msgid "Move up" -msgstr "Μετακίνηση πάνω" - -msgid "Move down" -msgstr "Μετακίνηση κάτω" - -msgid "Delete" -msgstr "Διαγραφή" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Καλώς ήρθατε στο %(site_name)s Wagtail CMS" @@ -562,33 +551,11 @@ msgstr "από %(modified_by)s" msgid "Exploring %(title)s" msgstr "Εξερεύνηση %(title)s" -msgid "Updated" -msgstr "Ενημέρωση" - msgid "Drag" msgstr "Τραβήξτε" -msgid "No pages have been created." -msgstr "Δεν έχουν δημιουργηθεί σελίδες." - -#, python-format -msgid "Why not add one?" -msgstr "Θέλετε να προσθέσετε μία;" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Σελίδα %(page_number)s από %(num_pages)s." - -msgid "Previous" -msgstr "Προηγούμενο" - -msgid "Next" -msgstr "Επόμενο" +msgid "Updated" +msgstr "Ενημέρωση" msgid "This page is locked to further editing" msgstr "Αυτή η σελίδα έχει κλειδωθεί για περαιτέρω επεξεργασία" @@ -621,6 +588,12 @@ msgstr "" msgid "Add child page" msgstr "Προσθήκη σελίδας-παιδί" +msgid "Previous" +msgstr "Προηγούμενο" + +msgid "Next" +msgstr "Επόμενο" + msgid "This page is protected from public view" msgstr "Αυτή η σελίδα προστατεύεται από τη δημοσιότητα" @@ -641,24 +614,6 @@ msgstr "Επιλογή πατρικής σελίδας για την %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Επιλογή νέας πατρικής σελίδας για την %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -" Υπάρχει μία σελίδα που ταιριάζει\n" -" " -msgstr[1] "" -"\n" -" Υπάρχουν %(counter)s σελίδες που ταιριάζουν\n" -" " - msgid "Other searches" msgstr "Άλλες αναζητήσεις" @@ -671,15 +626,6 @@ msgstr "Έγγραφα" msgid "Users" msgstr "Χρήστες" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Σελίδα %(page_number)s of %(num_pages)s." - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" @@ -800,17 +746,6 @@ msgstr "Ο κωδικός σας αλλάχτηκε με επιτυχία!" msgid "Your preferences have been updated successfully!" msgstr "Οι προτιμήσεις σας έχουν ενημερωθεί επιτυχώς!" -msgid "This slug is already in use" -msgstr "Το slug χρησιμοποιείται" - -msgid "Go live date/time must be before expiry date/time" -msgstr "" -"Μετάβαση ζωντανής ημερομηνίας/ώρας πρέπει να είναι πριν από την ημερομηνία " -"λήξης/ώρας" - -msgid "Expiry date/time must be in the future" -msgstr "Η ημερομηνία/ώρα λήξης πρέπει να είναι μελλοντική" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "Η σελίδα '{0}' δημιουργήθηκε και δημοσιεύθηκε." @@ -853,6 +788,17 @@ msgstr "Δε ήταν δυνατή η αποθήκευση της σελίδας msgid "This page is currently awaiting moderation" msgstr "Η σελίδα δεν είναι προς έλεγχο" +msgid "This slug is already in use" +msgstr "Το slug χρησιμοποιείται" + +msgid "Go live date/time must be before expiry date/time" +msgstr "" +"Μετάβαση ζωντανής ημερομηνίας/ώρας πρέπει να είναι πριν από την ημερομηνία " +"λήξης/ώρας" + +msgid "Expiry date/time must be in the future" +msgstr "Η ημερομηνία/ώρα λήξης πρέπει να είναι μελλοντική" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Έγινε διαγραφή της σελίδας '{0}'." diff --git a/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.mo index 8f1a78850..23d85d9c4 100644 Binary files a/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.po index b8099f486..2ed80b475 100644 --- a/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: edit_handlers.py:704 +#: edit_handlers.py:724 msgid "Scheduled publishing" msgstr "" -#: edit_handlers.py:718 +#: edit_handlers.py:738 msgid "Common page configuration" msgstr "" #: forms.py:34 templates/wagtailadmin/base.html:16 #: templates/wagtailadmin/base.html:17 templates/wagtailadmin/base.html:18 #: templates/wagtailadmin/pages/search.html:3 -#: templates/wagtailadmin/pages/search.html:16 +#: templates/wagtailadmin/pages/search.html:15 msgid "Search" msgstr "" @@ -184,36 +184,36 @@ msgstr "" msgid "Update" msgstr "" -#: templates/wagtailadmin/account/password_reset/complete.html:4 -#: templates/wagtailadmin/account/password_reset/confirm.html:42 -#: templates/wagtailadmin/account/password_reset/done.html:4 -#: templates/wagtailadmin/account/password_reset/form.html:4 -#: templates/wagtailadmin/account/password_reset/form.html:37 +#: templates/wagtailadmin/account/password_reset/complete.html:3 +#: templates/wagtailadmin/account/password_reset/confirm.html:41 +#: templates/wagtailadmin/account/password_reset/done.html:3 +#: templates/wagtailadmin/account/password_reset/form.html:3 +#: templates/wagtailadmin/account/password_reset/form.html:36 msgid "Reset password" msgstr "" -#: templates/wagtailadmin/account/password_reset/complete.html:15 +#: templates/wagtailadmin/account/password_reset/complete.html:14 msgid "Password change successful" msgstr "" -#: templates/wagtailadmin/account/password_reset/complete.html:16 +#: templates/wagtailadmin/account/password_reset/complete.html:15 msgid "Login" msgstr "" -#: templates/wagtailadmin/account/password_reset/confirm.html:4 -#: templates/wagtailadmin/account/password_reset/confirm.html:26 +#: templates/wagtailadmin/account/password_reset/confirm.html:3 +#: templates/wagtailadmin/account/password_reset/confirm.html:25 msgid "Set your new password" msgstr "" -#: templates/wagtailadmin/account/password_reset/confirm.html:19 +#: templates/wagtailadmin/account/password_reset/confirm.html:18 msgid "The passwords do not match. Please try again." msgstr "" -#: templates/wagtailadmin/account/password_reset/done.html:15 +#: templates/wagtailadmin/account/password_reset/done.html:14 msgid "Check your email" msgstr "" -#: templates/wagtailadmin/account/password_reset/done.html:16 +#: templates/wagtailadmin/account/password_reset/done.html:15 msgid "A link to reset your password has been emailed to you." msgstr "" @@ -225,11 +225,11 @@ msgstr "" msgid "Password reset" msgstr "" -#: templates/wagtailadmin/account/password_reset/form.html:27 +#: templates/wagtailadmin/account/password_reset/form.html:26 msgid "Reset your password" msgstr "" -#: templates/wagtailadmin/base.html:11 templates/wagtailadmin/home.html:4 +#: templates/wagtailadmin/base.html:11 templates/wagtailadmin/home.html:3 msgid "Dashboard" msgstr "" @@ -237,11 +237,33 @@ msgstr "" msgid "Menu" msgstr "" -#: templates/wagtailadmin/block_forms/list.html:5 +#: templates/wagtailadmin/block_forms/list.html:13 msgid "Add another" msgstr "" -#: templates/wagtailadmin/chooser/_browse_results.html:7 wagtail_hooks.py:17 +#: templates/wagtailadmin/block_forms/list_member.html:6 +#: templates/wagtailadmin/block_forms/stream_member.html:12 +#: templates/wagtailadmin/edit_handlers/inline_panel_child.html:5 +msgid "Move up" +msgstr "" + +#: templates/wagtailadmin/block_forms/list_member.html:7 +#: templates/wagtailadmin/block_forms/stream_member.html:13 +#: templates/wagtailadmin/edit_handlers/inline_panel_child.html:6 +msgid "Move down" +msgstr "" + +#: templates/wagtailadmin/block_forms/list_member.html:8 +#: templates/wagtailadmin/block_forms/stream_member.html:14 +#: templates/wagtailadmin/edit_handlers/inline_panel_child.html:8 +#: templates/wagtailadmin/pages/confirm_delete.html:6 +#: templates/wagtailadmin/pages/edit.html:44 +#: templates/wagtailadmin/pages/listing/_page_title_explore.html:33 +#: templates/wagtailadmin/pages/listing/_parent_page_title_explore.html:33 +msgid "Delete" +msgstr "" + +#: templates/wagtailadmin/chooser/_browse_results.html:3 wagtail_hooks.py:17 msgid "Explorer" msgstr "" @@ -260,16 +282,7 @@ msgstr "" msgid "Email link" msgstr "" -#: templates/wagtailadmin/chooser/_page_type_restricted_warning.html:4 -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" - -#: templates/wagtailadmin/chooser/_search_results.html:8 +#: templates/wagtailadmin/chooser/_search_results.html:4 #, python-format msgid "" "\n" @@ -286,10 +299,25 @@ msgstr[1] "" msgid "Choose" msgstr "" -#: templates/wagtailadmin/chooser/browse.html:6 widgets.py:114 +#: templates/wagtailadmin/chooser/browse.html:5 widgets.py:113 msgid "Choose a page" msgstr "" +#: templates/wagtailadmin/chooser/browse.html:15 +#, python-format +msgid "" +"\n" +" Only pages of type \"%(type)s\" may be chosen for this " +"field. Search results will exclude pages of other types.\n" +" " +msgid_plural "" +"\n" +" Only the following page types may be chosen for this field: " +"%(type)s. Search results will exclude pages of other types.\n" +" " +msgstr[0] "" +msgstr[1] "" + #: templates/wagtailadmin/chooser/email_link.html:2 msgid "Add an email link" msgstr "" @@ -303,28 +331,21 @@ msgstr "" msgid "Add an external link" msgstr "" -#: templates/wagtailadmin/edit_handlers/inline_panel_child.html:5 -msgid "Move up" +#: templates/wagtailadmin/generic/confirm_delete.html:12 +msgid "Yes, delete" msgstr "" -#: templates/wagtailadmin/edit_handlers/inline_panel_child.html:6 -msgid "Move down" +#: templates/wagtailadmin/generic/create.html:16 +#: templates/wagtailadmin/generic/edit.html:19 +msgid "Save" msgstr "" -#: templates/wagtailadmin/edit_handlers/inline_panel_child.html:8 -#: templates/wagtailadmin/pages/confirm_delete.html:7 -#: templates/wagtailadmin/pages/edit.html:48 -#: templates/wagtailadmin/pages/listing/_page_title_explore.html:33 -#: templates/wagtailadmin/pages/listing/_parent_page_title_explore.html:33 -msgid "Delete" -msgstr "" - -#: templates/wagtailadmin/home.html:22 +#: templates/wagtailadmin/home.html:21 #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "" -#: templates/wagtailadmin/home.html:33 +#: templates/wagtailadmin/home.html:32 msgid "" "This is your dashboard on which helpful information about content you've " "created will be displayed." @@ -342,13 +363,15 @@ msgid "Title" msgstr "" #: templates/wagtailadmin/home/pages_for_moderation.html:14 -#: templates/wagtailadmin/pages/list.html:23 +#: templates/wagtailadmin/pages/listing/_list_choose.html:13 +#: templates/wagtailadmin/pages/listing/_list_move.html:13 #: templates/wagtailadmin/pages/listing/_table_headers_explore.html:37 msgid "Parent" msgstr "" #: templates/wagtailadmin/home/pages_for_moderation.html:15 -#: templates/wagtailadmin/pages/list.html:26 +#: templates/wagtailadmin/pages/listing/_list_choose.html:16 +#: templates/wagtailadmin/pages/listing/_list_move.html:16 #: templates/wagtailadmin/pages/listing/_table_headers_explore.html:51 #: templates/wagtailadmin/pages/listing/_table_headers_explore.html:54 msgid "Type" @@ -362,7 +385,7 @@ msgstr "" #: templates/wagtailadmin/home/recent_edits.html:22 #: templates/wagtailadmin/pages/listing/_page_title_explore.html:7 #: templates/wagtailadmin/pages/listing/_page_title_explore.html:18 -#: widgets.py:116 +#: widgets.py:115 msgid "Edit this page" msgstr "" @@ -380,15 +403,16 @@ msgstr "" #: templates/wagtailadmin/home/recent_edits.html:28 #: templates/wagtailadmin/pages/listing/_page_title_explore.html:18 #: templates/wagtailadmin/pages/listing/_parent_page_title_explore.html:20 -#: templates/wagtailadmin/userbar/item_page_edit.html:5 views/pages.py:226 -#: views/pages.py:231 views/pages.py:362 views/pages.py:367 views/pages.py:556 -#: views/pages.py:608 views/pages.py:796 views/pages.py:815 +#: templates/wagtailadmin/userbar/item_page_edit.html:5 views/generic.py:74 +#: views/generic.py:111 views/pages.py:179 views/pages.py:184 +#: views/pages.py:259 views/pages.py:264 views/pages.py:497 views/pages.py:549 +#: views/pages.py:736 views/pages.py:755 msgid "Edit" msgstr "" #: templates/wagtailadmin/home/pages_for_moderation.html:43 #: templates/wagtailadmin/pages/create.html:41 -#: templates/wagtailadmin/pages/edit.html:60 +#: templates/wagtailadmin/pages/edit.html:56 #: templates/wagtailadmin/pages/preview.html:5 msgid "Preview" msgstr "" @@ -403,7 +427,8 @@ msgstr "" #: templates/wagtailadmin/home/recent_edits.html:14 #: templates/wagtailadmin/pages/edit.html:18 -#: templates/wagtailadmin/pages/list.html:27 +#: templates/wagtailadmin/pages/listing/_list_choose.html:17 +#: templates/wagtailadmin/pages/listing/_list_move.html:17 #: templates/wagtailadmin/pages/listing/_table_headers_explore.html:60 #: templates/wagtailadmin/pages/listing/_table_headers_explore.html:63 msgid "Status" @@ -438,20 +463,20 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: templates/wagtailadmin/login.html:4 templates/wagtailadmin/login.html:61 +#: templates/wagtailadmin/login.html:3 templates/wagtailadmin/login.html:60 msgid "Sign in" msgstr "" -#: templates/wagtailadmin/login.html:18 +#: templates/wagtailadmin/login.html:17 #, python-format msgid "Your %(username_field)s and password didn't match. Please try again." msgstr "" -#: templates/wagtailadmin/login.html:29 +#: templates/wagtailadmin/login.html:28 msgid "Sign in to Wagtail" msgstr "" -#: templates/wagtailadmin/login.html:48 +#: templates/wagtailadmin/login.html:47 msgid "Forgotten it?" msgstr "" @@ -540,20 +565,20 @@ msgstr "" msgid "Private" msgstr "" -#: templates/wagtailadmin/pages/add_subpage.html:6 +#: templates/wagtailadmin/pages/add_subpage.html:5 #, python-format msgid "Create a page in %(title)s" msgstr "" -#: templates/wagtailadmin/pages/add_subpage.html:9 +#: templates/wagtailadmin/pages/add_subpage.html:8 msgid "Create a page in" msgstr "" -#: templates/wagtailadmin/pages/add_subpage.html:13 +#: templates/wagtailadmin/pages/add_subpage.html:12 msgid "Choose which type of page you'd like to create." msgstr "" -#: templates/wagtailadmin/pages/add_subpage.html:26 +#: templates/wagtailadmin/pages/add_subpage.html:25 #, python-format msgid "Pages using %(page_type)s" msgstr "" @@ -563,11 +588,11 @@ msgstr "" msgid "Delete %(title)s" msgstr "" -#: templates/wagtailadmin/pages/confirm_delete.html:12 +#: templates/wagtailadmin/pages/confirm_delete.html:11 msgid "Are you sure you want to delete this page?" msgstr "" -#: templates/wagtailadmin/pages/confirm_delete.html:14 +#: templates/wagtailadmin/pages/confirm_delete.html:13 #, python-format msgid "" "\n" @@ -581,17 +606,17 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: templates/wagtailadmin/pages/confirm_delete.html:22 +#: templates/wagtailadmin/pages/confirm_delete.html:21 msgid "" "Alternatively you can unpublish the page. This removes the page from public " "view and you can edit or publish it again later." msgstr "" -#: templates/wagtailadmin/pages/confirm_delete.html:26 +#: templates/wagtailadmin/pages/confirm_delete.html:25 msgid "Delete it" msgstr "" -#: templates/wagtailadmin/pages/confirm_delete.html:26 +#: templates/wagtailadmin/pages/confirm_delete.html:25 msgid "Unpublish it" msgstr "" @@ -600,25 +625,25 @@ msgstr "" msgid "Move %(title)s" msgstr "" -#: templates/wagtailadmin/pages/confirm_move.html:6 +#: templates/wagtailadmin/pages/confirm_move.html:5 #: templates/wagtailadmin/pages/listing/_page_title_explore.html:27 #: templates/wagtailadmin/pages/listing/_parent_page_title_explore.html:30 msgid "Move" msgstr "" -#: templates/wagtailadmin/pages/confirm_move.html:11 +#: templates/wagtailadmin/pages/confirm_move.html:10 #, python-format msgid "Are you sure you want to move this page into '%(title)s'?" msgstr "" -#: templates/wagtailadmin/pages/confirm_move.html:13 +#: templates/wagtailadmin/pages/confirm_move.html:12 #, python-format msgid "" "Are you sure you want to move this page and all of its children into " "'%(title)s'?" msgstr "" -#: templates/wagtailadmin/pages/confirm_move.html:18 +#: templates/wagtailadmin/pages/confirm_move.html:17 msgid "Yes, move this page" msgstr "" @@ -627,22 +652,22 @@ msgstr "" msgid "Unpublish %(title)s" msgstr "" -#: templates/wagtailadmin/pages/confirm_unpublish.html:6 -#: templates/wagtailadmin/pages/edit.html:45 +#: templates/wagtailadmin/pages/confirm_unpublish.html:5 +#: templates/wagtailadmin/pages/edit.html:41 #: templates/wagtailadmin/pages/listing/_page_title_explore.html:36 #: templates/wagtailadmin/pages/listing/_parent_page_title_explore.html:36 msgid "Unpublish" msgstr "" -#: templates/wagtailadmin/pages/confirm_unpublish.html:10 +#: templates/wagtailadmin/pages/confirm_unpublish.html:9 msgid "Are you sure you want to unpublish this page?" msgstr "" -#: templates/wagtailadmin/pages/confirm_unpublish.html:13 +#: templates/wagtailadmin/pages/confirm_unpublish.html:12 msgid "Yes, unpublish it" msgstr "" -#: templates/wagtailadmin/pages/content_type_use.html:7 +#: templates/wagtailadmin/pages/content_type_use.html:6 msgid "Pages using" msgstr "" @@ -651,12 +676,12 @@ msgstr "" msgid "Copy %(title)s" msgstr "" -#: templates/wagtailadmin/pages/copy.html:6 +#: templates/wagtailadmin/pages/copy.html:5 #: templates/wagtailadmin/pages/listing/_page_title_explore.html:30 msgid "Copy" msgstr "" -#: templates/wagtailadmin/pages/copy.html:27 +#: templates/wagtailadmin/pages/copy.html:26 msgid "Copy this page" msgstr "" @@ -674,12 +699,12 @@ msgid "Save as draft" msgstr "" #: templates/wagtailadmin/pages/create.html:33 -#: templates/wagtailadmin/pages/edit.html:51 +#: templates/wagtailadmin/pages/edit.html:47 msgid "Publish" msgstr "" #: templates/wagtailadmin/pages/create.html:35 -#: templates/wagtailadmin/pages/edit.html:53 +#: templates/wagtailadmin/pages/edit.html:49 msgid "Submit for moderation" msgstr "" @@ -693,20 +718,20 @@ msgstr "" msgid "Editing %(page_type)s %(title)s" msgstr "" -#: templates/wagtailadmin/pages/edit.html:39 +#: templates/wagtailadmin/pages/edit.html:35 msgid "Page locked" msgstr "" -#: templates/wagtailadmin/pages/edit.html:39 +#: templates/wagtailadmin/pages/edit.html:35 msgid "Save draft" msgstr "" -#: templates/wagtailadmin/pages/edit.html:81 +#: templates/wagtailadmin/pages/edit.html:77 #, python-format msgid "Last modified: %(last_mod)s" msgstr "" -#: templates/wagtailadmin/pages/edit.html:83 +#: templates/wagtailadmin/pages/edit.html:79 #, python-format msgid "by %(modified_by)s" msgstr "" @@ -716,51 +741,24 @@ msgstr "" msgid "Exploring %(title)s" msgstr "" -#: templates/wagtailadmin/pages/list.html:25 +#: templates/wagtailadmin/pages/listing/_list.html:46 +msgid "Drag" +msgstr "" + +#: templates/wagtailadmin/pages/listing/_list_choose.html:15 +#: templates/wagtailadmin/pages/listing/_list_move.html:15 #: templates/wagtailadmin/pages/listing/_table_headers_explore.html:42 #: templates/wagtailadmin/pages/listing/_table_headers_explore.html:45 msgid "Updated" msgstr "" -#: templates/wagtailadmin/pages/list.html:66 -msgid "Drag" +#: templates/wagtailadmin/pages/listing/_list_explore.html:25 +msgid "No pages have been created at this location." msgstr "" -#: templates/wagtailadmin/pages/list.html:106 -msgid "No pages have been created." -msgstr "" - -#: templates/wagtailadmin/pages/list.html:106 +#: templates/wagtailadmin/pages/listing/_list_explore.html:25 #, python-format -msgid "Why not add one?" -msgstr "" - -#: templates/wagtailadmin/pages/list.html:113 -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" - -#: templates/wagtailadmin/pages/list.html:119 -#: templates/wagtailadmin/pages/search_results.html:35 -#: templates/wagtailadmin/pages/search_results.html:37 -#: templates/wagtailadmin/pages/usage_results.html:13 -#: templates/wagtailadmin/shared/pagination_nav.html:21 -#: templates/wagtailadmin/shared/pagination_nav.html:23 -#: templates/wagtailadmin/shared/pagination_nav.html:25 -msgid "Previous" -msgstr "" - -#: templates/wagtailadmin/pages/list.html:124 -#: templates/wagtailadmin/pages/search_results.html:44 -#: templates/wagtailadmin/pages/search_results.html:46 -#: templates/wagtailadmin/pages/usage_results.html:18 -#: templates/wagtailadmin/shared/pagination_nav.html:32 -#: templates/wagtailadmin/shared/pagination_nav.html:34 -#: templates/wagtailadmin/shared/pagination_nav.html:36 -msgid "Next" +msgid "Why not create one?" msgstr "" #: templates/wagtailadmin/pages/listing/_locked_indicator.html:10 @@ -805,6 +803,28 @@ msgstr "" msgid "Add child page" msgstr "" +#: templates/wagtailadmin/pages/listing/_pagination.html:18 +#, python-format +msgid "" +"\n" +" Page %(page_number)s of %(num_pages)s.\n" +" " +msgstr "" + +#: templates/wagtailadmin/pages/listing/_pagination.html:24 +#: templates/wagtailadmin/shared/pagination_nav.html:21 +#: templates/wagtailadmin/shared/pagination_nav.html:23 +#: templates/wagtailadmin/shared/pagination_nav.html:25 +msgid "Previous" +msgstr "" + +#: templates/wagtailadmin/pages/listing/_pagination.html:29 +#: templates/wagtailadmin/shared/pagination_nav.html:32 +#: templates/wagtailadmin/shared/pagination_nav.html:34 +#: templates/wagtailadmin/shared/pagination_nav.html:36 +msgid "Next" +msgstr "" + #: templates/wagtailadmin/pages/listing/_privacy_indicator.html:11 msgid "This page is protected from public view" msgstr "" @@ -827,59 +847,50 @@ msgstr "" msgid "Select a new parent page for %(title)s" msgstr "" -#: templates/wagtailadmin/pages/move_choose_destination.html:7 +#: templates/wagtailadmin/pages/move_choose_destination.html:6 #, python-format msgid "Select a new parent page for %(title)s" msgstr "" -#: templates/wagtailadmin/pages/search_results.html:6 +#: templates/wagtailadmin/pages/search_results.html:5 #, python-format msgid "" "\n" -" There is one matching page\n" -" " +" There is one matching page\n" +" " msgid_plural "" "\n" -" There are %(counter)s matching pages\n" -" " +" There are %(counter)s matching pages\n" +" " msgstr[0] "" msgstr[1] "" -#: templates/wagtailadmin/pages/search_results.html:16 +#: templates/wagtailadmin/pages/search_results.html:13 msgid "Other searches" msgstr "" -#: templates/wagtailadmin/pages/search_results.html:18 +#: templates/wagtailadmin/pages/search_results.html:15 msgid "Images" msgstr "" -#: templates/wagtailadmin/pages/search_results.html:19 +#: templates/wagtailadmin/pages/search_results.html:16 msgid "Documents" msgstr "" -#: templates/wagtailadmin/pages/search_results.html:20 +#: templates/wagtailadmin/pages/search_results.html:17 msgid "Users" msgstr "" -#: templates/wagtailadmin/pages/search_results.html:28 -#: templates/wagtailadmin/pages/usage_results.html:7 -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" - -#: templates/wagtailadmin/pages/search_results.html:54 +#: templates/wagtailadmin/pages/search_results.html:27 #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" -#: templates/wagtailadmin/pages/search_results.html:56 +#: templates/wagtailadmin/pages/search_results.html:29 msgid "Enter a search term above" msgstr "" -#: templates/wagtailadmin/pages/usage_results.html:24 +#: templates/wagtailadmin/pages/usage_results.html:9 msgid "No pages use" msgstr "" @@ -1010,6 +1021,10 @@ msgstr "" msgid "Add" msgstr "" +#: utils.py:73 +msgid "Sorry, you do not have permission to access this area." +msgstr "" + #: views/account.py:38 msgid "Your password has been changed successfully!" msgstr "" @@ -1018,125 +1033,125 @@ msgstr "" msgid "Your preferences have been updated successfully!" msgstr "" -#: views/pages.py:155 views/pages.py:289 -msgid "This slug is already in use" -msgstr "" - -#: views/pages.py:182 views/pages.py:317 -msgid "Go live date/time must be before expiry date/time" -msgstr "" - -#: views/pages.py:192 views/pages.py:327 -msgid "Expiry date/time must be in the future" -msgstr "" - -#: views/pages.py:224 +#: views/pages.py:177 #, python-brace-format msgid "Page '{0}' created and published." msgstr "" -#: views/pages.py:225 views/pages.py:361 views/pages.py:795 +#: views/pages.py:178 views/pages.py:258 views/pages.py:735 msgid "View live" msgstr "" -#: views/pages.py:229 +#: views/pages.py:182 #, python-brace-format msgid "Page '{0}' created and submitted for moderation." msgstr "" -#: views/pages.py:230 views/pages.py:366 +#: views/pages.py:183 views/pages.py:263 msgid "View draft" msgstr "" -#: views/pages.py:235 +#: views/pages.py:188 #, python-brace-format msgid "Page '{0}' created." msgstr "" -#: views/pages.py:249 +#: views/pages.py:202 msgid "The page could not be created due to validation errors" msgstr "" -#: views/pages.py:360 views/pages.py:794 +#: views/pages.py:257 views/pages.py:734 #, python-brace-format msgid "Page '{0}' published." msgstr "" -#: views/pages.py:365 +#: views/pages.py:262 #, python-brace-format msgid "Page '{0}' submitted for moderation." msgstr "" -#: views/pages.py:371 +#: views/pages.py:268 #, python-brace-format msgid "Page '{0}' updated." msgstr "" -#: views/pages.py:386 +#: views/pages.py:283 msgid "The page could not be saved as it is locked" msgstr "" -#: views/pages.py:388 +#: views/pages.py:285 msgid "The page could not be saved due to validation errors" msgstr "" -#: views/pages.py:401 +#: views/pages.py:298 msgid "This page is currently awaiting moderation" msgstr "" -#: views/pages.py:422 +#: views/pages.py:322 +msgid "This slug is already in use" +msgstr "" + +#: views/pages.py:345 +msgid "Go live date/time must be before expiry date/time" +msgstr "" + +#: views/pages.py:351 +msgid "Expiry date/time must be in the future" +msgstr "" + +#: views/pages.py:363 #, python-brace-format msgid "Page '{0}' deleted." msgstr "" -#: views/pages.py:555 +#: views/pages.py:496 #, python-brace-format msgid "Page '{0}' unpublished." msgstr "" -#: views/pages.py:607 +#: views/pages.py:548 #, python-brace-format msgid "Page '{0}' moved." msgstr "" -#: views/pages.py:702 +#: views/pages.py:643 #, python-brace-format msgid "Page '{0}' and {1} subpages copied." msgstr "" -#: views/pages.py:704 +#: views/pages.py:645 #, python-brace-format msgid "Page '{0}' copied." msgstr "" -#: views/pages.py:729 +#: views/pages.py:670 msgid "Content" msgstr "" -#: views/pages.py:731 +#: views/pages.py:672 msgid "Promote" msgstr "" -#: views/pages.py:733 wagtail_hooks.py:27 +#: views/pages.py:674 wagtail_hooks.py:27 msgid "Settings" msgstr "" -#: views/pages.py:789 views/pages.py:809 views/pages.py:829 +#: views/pages.py:729 views/pages.py:749 views/pages.py:769 #, python-brace-format msgid "The page '{0}' is not currently awaiting moderation." msgstr "" -#: views/pages.py:814 +#: views/pages.py:754 #, python-brace-format msgid "Page '{0}' rejected for publication." msgstr "" -#: views/pages.py:855 +#: views/pages.py:795 #, python-brace-format msgid "Page '{0}' is now locked." msgstr "" -#: views/pages.py:879 +#: views/pages.py:819 #, python-brace-format msgid "Page '{0}' is now unlocked." msgstr "" @@ -1157,6 +1172,6 @@ msgstr "" msgid "Edit this item" msgstr "" -#: widgets.py:115 +#: widgets.py:114 msgid "Choose another page" msgstr "" diff --git a/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.mo index 1a9ac87c3..9676cdb84 100644 Binary files a/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.po index 28cb9eef4..c59c1bf50 100644 --- a/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/es/LC_MESSAGES/django.po @@ -13,10 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-26 10:09+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-27 01:38+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -199,6 +199,15 @@ msgstr "Menú" msgid "Add another" msgstr "Agregar otro" +msgid "Move up" +msgstr "Subir" + +msgid "Move down" +msgstr "Bajar" + +msgid "Delete" +msgstr "Eliminar" + msgid "Explorer" msgstr "Explorador" @@ -211,17 +220,6 @@ msgstr "Enlace externo" msgid "Email link" msgstr "Enlace de correo electrónico" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -"Sólo páginas de tipo \"%(type)s\" pueden ser elegidas para este campo. Los " -"resultados de búsqueda excluirán páginas de tipos distintos." - #, python-format msgid "" "\n" @@ -246,6 +244,26 @@ msgstr "Seleccionar" msgid "Choose a page" msgstr "Elige una página" +#, python-format +msgid "" +"\n" +" Only pages of type \"%(type)s\" may be chosen for this " +"field. Search results will exclude pages of other types.\n" +" " +msgid_plural "" +"\n" +" Only the following page types may be chosen for this field: " +"%(type)s. Search results will exclude pages of other types.\n" +" " +msgstr[0] "" +"\n" +"Sólo páginas de tipo \"%(type)s\" pueden ser elegidas para este campo. Los " +"resultados de búsqueda excluirán páginas de tipos distintos." +msgstr[1] "" +"\n" +"Sólo las páginas del siguiente tipo pueden ser elegidas para este campo: " +"%(type)s. Los resultados de búsqueda excluirán páginas de otros tipos." + msgid "Add an email link" msgstr "Añade un enlace de correo electrónico" @@ -255,14 +273,11 @@ msgstr "Inserta un enlace" msgid "Add an external link" msgstr "Añade un enlace externo" -msgid "Move up" -msgstr "Subir" +msgid "Yes, delete" +msgstr "Sí, eliminar" -msgid "Move down" -msgstr "Bajar" - -msgid "Delete" -msgstr "Eliminar" +msgid "Save" +msgstr "Guardar" #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" @@ -563,34 +578,19 @@ msgstr "por %(modified_by)s" msgid "Exploring %(title)s" msgstr "Explorando %(title)s" -msgid "Updated" -msgstr "Actualizada" - msgid "Drag" msgstr "Llevar" -msgid "No pages have been created." -msgstr "No ha sido creada ninguna página." +msgid "Updated" +msgstr "Actualizada" + +msgid "No pages have been created at this location." +msgstr "No se han creado páginas en esta ubicación." #, python-format -msgid "Why not add one?" +msgid "Why not create one?" msgstr "Por qué no añadir una?" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Página %(page_number)s de %(num_pages)s." - -msgid "Previous" -msgstr "Anterior" - -msgid "Next" -msgstr "Siguiente" - msgid "This page is locked to further editing" msgstr "Esta página se encuentra bloqueada para su edición" @@ -622,6 +622,21 @@ msgstr "" msgid "Add child page" msgstr "Añadir página hija" +#, python-format +msgid "" +"\n" +" Page %(page_number)s of %(num_pages)s.\n" +" " +msgstr "" +"\n" +"Página %(page_number)s de %(num_pages)s." + +msgid "Previous" +msgstr "Anterior" + +msgid "Next" +msgstr "Siguiente" + msgid "This page is protected from public view" msgstr "Esta página esta protegida para ser accedida públicamente" @@ -645,18 +660,18 @@ msgstr "Selecciona una nueva página padre para %(title)s" #, python-format msgid "" "\n" -" There is one matching page\n" -" " +" There is one matching page\n" +" " msgid_plural "" "\n" -" There are %(counter)s matching pages\n" -" " +" There are %(counter)s matching pages\n" +" " msgstr[0] "" "\n" "Hay una página coincidente" msgstr[1] "" "\n" -"Existen %(counter)s páginas coincidentes" +"Hay %(counter)s páginas coincidentes" msgid "Other searches" msgstr "Otras búsquedas" @@ -670,16 +685,6 @@ msgstr "Documentos" msgid "Users" msgstr "Usuarios" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Página %(page_number)s de %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Lo sentimos, ninguna página contiene \"%(query_string)s\"" @@ -791,22 +796,15 @@ msgstr "Añadir página hija" msgid "Add" msgstr "Agregar" +msgid "Sorry, you do not have permission to access this area." +msgstr "Lo sentimos, no tienes permisos para acceder a esta área." + msgid "Your password has been changed successfully!" msgstr "¡Tu contraseña ha sido cambiada con éxito!" msgid "Your preferences have been updated successfully!" msgstr "¡Sus preferencias han sido actualizadas exitosamente!" -msgid "This slug is already in use" -msgstr "Este slug ya está en uso" - -msgid "Go live date/time must be before expiry date/time" -msgstr "" -"Ir en vivo fecha/tiempo debe ser anterior a la fecha/tiempo de expiración" - -msgid "Expiry date/time must be in the future" -msgstr "La fecha/tiempo de expiración debe ser en el futuro" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "Página '{0}' creada y publicada." @@ -849,6 +847,16 @@ msgstr "La página no ha podido ser guardada debido a errores de validación" msgid "This page is currently awaiting moderation" msgstr "La página está a la espera de ser moderada" +msgid "This slug is already in use" +msgstr "Este slug ya está en uso" + +msgid "Go live date/time must be before expiry date/time" +msgstr "" +"Ir en vivo fecha/tiempo debe ser anterior a la fecha/tiempo de expiración" + +msgid "Expiry date/time must be in the future" +msgstr "La fecha/tiempo de expiración debe ser en el futuro" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Página '{0}' eliminada." diff --git a/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.mo index 4f6d1b0e7..af2e261b7 100644 Binary files a/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.po index ba0a44772..a11c63412 100644 --- a/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/fr/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-05-12 09:00+0000\n" -"Last-Translator: Bertrand Bordage \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -194,6 +194,15 @@ msgstr "Menu" msgid "Add another" msgstr "Ajouter un nouveau" +msgid "Move up" +msgstr "Monter" + +msgid "Move down" +msgstr "Descendre" + +msgid "Delete" +msgstr "Supprimer" + msgid "Explorer" msgstr "Explorer" @@ -206,18 +215,6 @@ msgstr "Lien externe" msgid "Email link" msgstr "Email" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -" Seules les pages de type \"%(type)s\" peuvent être choisis pour ce " -"champ. Les résultats de recherche excluront les pages d'un autre type.\n" -" " - #, python-format msgid "" "\n" @@ -251,15 +248,6 @@ msgstr "Insérer un lien" msgid "Add an external link" msgstr "Ajouter un lien externe" -msgid "Move up" -msgstr "Monter" - -msgid "Move down" -msgstr "Descendre" - -msgid "Delete" -msgstr "Supprimer" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Bienvenue sur le CMS Wagtail %(site_name)s" @@ -561,34 +549,11 @@ msgstr "par %(modified_by)s" msgid "Exploring %(title)s" msgstr "Explorer %(title)s" -msgid "Updated" -msgstr "Mis à jour" - msgid "Drag" msgstr "Glisser" -msgid "No pages have been created." -msgstr "Aucune page n'a été créé." - -#, python-format -msgid "Why not add one?" -msgstr "Pourquoi ne pas en ajouter une?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Page %(page_number)s sur %(num_pages)s.\n" -" " - -msgid "Previous" -msgstr "Précédent" - -msgid "Next" -msgstr "Suivant" +msgid "Updated" +msgstr "Mis à jour" msgid "This page is locked to further editing" msgstr "Cette page est verrouillé pour toute modification ultérieure" @@ -621,6 +586,12 @@ msgstr "" msgid "Add child page" msgstr "Ajouter une sous-page" +msgid "Previous" +msgstr "Précédent" + +msgid "Next" +msgstr "Suivant" + msgid "This page is protected from public view" msgstr "Cette page n'est pas visible publiquement" @@ -641,24 +612,6 @@ msgstr "Sélectionner une nouvelle page parent à %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Sélectionnez une nouvelle page parent pour %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -" 1 page correspondante\n" -" " -msgstr[1] "" -"\n" -" %(counter)s pages correspondantes\n" -" " - msgid "Other searches" msgstr "Autres recherches" @@ -671,16 +624,6 @@ msgstr "Documents" msgid "Users" msgstr "Utilisateurs" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Page %(page_number)s sur %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Désolé, aucune page ne correspond à \"%(query_string)s\"" @@ -798,15 +741,6 @@ msgstr "Votre mot de passe a été changé avec succès!" msgid "Your preferences have been updated successfully!" msgstr "Vos préférences ont été mises à jour avec succès !" -msgid "This slug is already in use" -msgstr "Ce slug est déjà utilisé" - -msgid "Go live date/time must be before expiry date/time" -msgstr "La date de publication doit être antérieure à la date d'expiration" - -msgid "Expiry date/time must be in the future" -msgstr "La date d'expiration doit être dans le futur" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "Page '{0}' créée et publiée." @@ -849,6 +783,15 @@ msgstr "La page n'a pu être enregistré à cause d'erreurs de validation." msgid "This page is currently awaiting moderation" msgstr "Cette page est actuellement en attente de modération" +msgid "This slug is already in use" +msgstr "Ce slug est déjà utilisé" + +msgid "Go live date/time must be before expiry date/time" +msgstr "La date de publication doit être antérieure à la date d'expiration" + +msgid "Expiry date/time must be in the future" +msgstr "La date d'expiration doit être dans le futur" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Page '{0}' supprimée." diff --git a/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.mo index c8bbf4caf..ac1cc8351 100644 Binary files a/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.po index bf1c0d046..67e123d8d 100644 --- a/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/gl/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 11:48+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -118,6 +118,15 @@ msgstr "Panel de control" msgid "Menu" msgstr "Menú" +msgid "Move up" +msgstr "Subir" + +msgid "Move down" +msgstr "Baixar" + +msgid "Delete" +msgstr "Eliminar" + msgid "Explorer" msgstr "Explorador" @@ -142,15 +151,6 @@ msgstr "Inserta unha ligazón" msgid "Add an external link" msgstr "Engade unha ligazón externa" -msgid "Move up" -msgstr "Subir" - -msgid "Move down" -msgstr "Baixar" - -msgid "Delete" -msgstr "Eliminar" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Benvido ao CMS Wagtail %(site_name)s" @@ -372,19 +372,6 @@ msgstr "Explorando %(title)s" msgid "Drag" msgstr "Levar" -msgid "No pages have been created." -msgstr "Non foi creada ningunha páxina." - -#, python-format -msgid "Why not add one?" -msgstr "¿Por qué non engadir unha?" - -msgid "Previous" -msgstr "Anterior" - -msgid "Next" -msgstr "Seguinte" - msgid "Explore" msgstr "Explorar" @@ -398,6 +385,12 @@ msgstr "Engadir subpáxina" msgid "Add child page" msgstr "Engadir páxina filla" +msgid "Previous" +msgstr "Anterior" + +msgid "Next" +msgstr "Seguinte" + msgid "Disable ordering of child pages" msgstr "Deshabilitar organización de páxinas fillas" @@ -424,16 +417,6 @@ msgstr "Documentos" msgid "Users" msgstr "Usuarios" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Páxina %(page_number)s de %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Sentímolo, ningunha páxina contén \"%(query_string)s\"" @@ -454,9 +437,6 @@ msgstr "Páxina %(page_num)s de %(total_pages)s." msgid "Your password has been changed successfully!" msgstr "¡O teu contrasinal foi cambiado correctamente!" -msgid "This slug is already in use" -msgstr "Este slug ya está en uso" - #, python-brace-format msgid "Page '{0}' created." msgstr "Páxina '{0}' creada." @@ -479,6 +459,9 @@ msgstr "A páxina non puido ser gardada debido a erros de validación" msgid "This page is currently awaiting moderation" msgstr "A páxina está á espera de ser moderada" +msgid "This slug is already in use" +msgstr "Este slug ya está en uso" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Páxina '{0}' eliminada." diff --git a/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.mo index aa151059c..7889a1674 100644 Binary files a/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.po index f3b2a5c90..3fab4332a 100644 --- a/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/he_IL/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-20 12:57+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -56,6 +56,9 @@ msgstr "כתובת הדוא\"ל הזו איננה מזוהה" msgid "New title" msgstr "כותרת חדשה" +msgid "New slug" +msgstr "כתובת אינטרנט" + msgid "New parent page" msgstr "עמוד הורה חדש." @@ -65,6 +68,12 @@ msgstr "העותק הזה יהיה צאצא של עמוד ההורה הנבחר" msgid "Copy subpages" msgstr "העתק תת- דף" +#, python-format +msgid "This will copy %(count)s subpage." +msgid_plural "This will copy %(count)s subpages." +msgstr[0] "זה יעתיק תת-עמוד %(count)s." +msgstr[1] "זה יעתיק %(count)s תת-עמודים." + msgid "Publish copied page" msgstr "פרסם עמוד מועתק" @@ -74,11 +83,29 @@ msgstr "עמוד זה באוויר. האם תרצו לפרסם גם את העת msgid "Publish copies" msgstr "פרסום העתקים" +#, python-format +msgid "" +"%(count)s of the pages being copied is live. Would you like to publish its " +"copy?" +msgid_plural "" +"%(count)s of the pages being copied are live. Would you like to publish " +"their copies?" +msgstr[0] "" +"דף %(count)s שמועתק מופיע עכשו באתר. האם אתם רוצים לפרסם את העותק שלו?" +msgstr[1] "" +"%(count)s מהדפים שמועתקים מופיעים עכשו באתר. האם אתם רוצים לפרסם את העותקים " +"שלהם?" + +#, python-format +msgid "" +"This slug is already in use within the context of its parent page \"%s\"" +msgstr "הכתובת שבחרת כבר בשימוש בתוך הקונטקסט של עמוד ההורה \"%s\"" + msgid "Public" msgstr "ציבורי" msgid "Private, accessible with the following password" -msgstr "פרטי, זמין עם הסיסמא הבאה" +msgstr "פרטי, זמין עם הסיסמה הבאה" msgid "This field is required." msgstr "שדה חובה" @@ -86,11 +113,22 @@ msgstr "שדה חובה" msgid "Account" msgstr "חשבון" +msgid "Set gravatar" +msgstr "הגדרת Gravatar" + +msgid "" +"Your avatar image is provided by Gravatar and is connected to your email " +"address. With a Gravatar account you can set an avatar for any number of " +"other email addresses you use." +msgstr "" +"התמונה שלכם מגיעה מהשירות Gravatar והיא מחוברת לכתובת הדוא\"ל שלכם. באמצעות " +"חשבון Gravatar אתם יכולים להגדיר תמונה עבור כל כתובת דוא\"ל שנמצאת ברשותכם." + msgid "Change password" -msgstr "שינוי סיסמא" +msgstr "שינוי סיסמה" msgid "Change the password you use to log in." -msgstr "שינוי הסיסמא עבור התחברות" +msgstr "שינוי הסיסמה עבור התחברות" msgid "Notification preferences" msgstr "העדפות התראות" @@ -99,11 +137,11 @@ msgid "Choose which email notifications to receive." msgstr "בחרו אילו התראות דואר אלקטרוני לקבל" msgid "Change Password" -msgstr "שינוי סיסמא" +msgstr "שינוי סיסמה" msgid "" "Your password can't be changed here. Please contact a site administrator." -msgstr "אי אפשר לשנות את הסיסמא. נא לפנות למנהל האתר." +msgstr "אי אפשר לשנות את הסיסמה. נא לפנות למנהל האתר." msgid "Notification Preferences" msgstr "העדפות התראות" @@ -112,31 +150,31 @@ msgid "Update" msgstr "עדכן" msgid "Reset password" -msgstr "איתחול סיסמא" +msgstr "איתחול סיסמה" msgid "Password change successful" -msgstr "שינוי סיסמא בוצע בהצלחה" +msgstr "שינוי סיסמה בוצע בהצלחה" msgid "Login" msgstr "התחברות" msgid "Set your new password" -msgstr "הגדרת סיסמא חדשה" +msgstr "הגדרת סיסמה חדשה" msgid "The passwords do not match. Please try again." -msgstr "הסיסמאות לא מתאימות. נא לנסות שוב." +msgstr "הסיסמאות לא תואמות. נא לנסות שוב." msgid "Check your email" msgstr "בדקו את תיבת הדואר האלקטרוני שלכם" msgid "A link to reset your password has been emailed to you." -msgstr "קישור לאיתחול הסיסמא נשלח אליכם" +msgstr "קישור לאיתחול הסיסמה נשלח לתיבת הדואר האלקטרוני שלכם." msgid "Please follow the link below to reset your password" msgstr "אנא לחצו על הקישור הבא על מנת לאתחל את סיסמתכם" msgid "Password reset" -msgstr "איתחול סיסמא" +msgstr "איתחול סיסמה" msgid "Reset your password" msgstr "אתחלו את סיסמתכם" @@ -150,8 +188,17 @@ msgstr "תפריט" msgid "Add another" msgstr "הוסיפו עוד" +msgid "Move up" +msgstr "עברו מעלה" + +msgid "Move down" +msgstr "עברו מטה" + +msgid "Delete" +msgstr "מחיקה" + msgid "Explorer" -msgstr "חוקר" +msgstr "סיור" msgid "Internal link" msgstr "קישור פנימי" @@ -162,6 +209,22 @@ msgstr "קישור חיצוני" msgid "Email link" msgstr "קישור דואר אלקטרוני" +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"יש תוצאה אחת" +msgstr[1] "" +"\n" +"יש %(counter)s תוצאות" + msgid "Choose" msgstr "בחרו" @@ -177,14 +240,9 @@ msgstr "הכניסו קישור" msgid "Add an external link" msgstr "הוסיפו קישור חיצוני" -msgid "Move up" -msgstr "עברו מעלה" - -msgid "Move down" -msgstr "עברו מטה" - -msgid "Delete" -msgstr "מחיקה" +#, python-format +msgid "Welcome to the %(site_name)s Wagtail CMS" +msgstr "ברוך הבא לנחליאלי CMS של %(site_name)s" msgid "" "This is your dashboard on which helpful information about content you've " @@ -239,24 +297,68 @@ msgstr "חי" msgid "Site summary" msgstr "סיכום אתר" +#, python-format +msgid "" +"\n" +" %(total)s Page\n" +" " +msgid_plural "" +"\n" +" %(total)s Pages\n" +" " +msgstr[0] "" +"\n" +"עמוד %(total)s" +msgstr[1] "" +"\n" +"%(total)s עמודים" + msgid "Sign in" msgstr "התחברות " +#, python-format +msgid "Your %(username_field)s and password didn't match. Please try again." +msgstr "%(username_field)s שלכם והסיסמה לא תאמו. אנא נסו שוב." + msgid "Sign in to Wagtail" msgstr "התחברות לWagtail" msgid "Forgotten it?" msgstr "שכחתם את זה?" +#, python-format +msgid "The page \"%(title)s\" has been approved" +msgstr "העמוד \"%(title)s\" אושר" + +#, python-format +msgid "The page \"%(title)s\" has been approved." +msgstr "העמוד \"%(title)s\" אושר." + msgid "You can view the page here:" msgstr "ניתן לראות את העמוד כאן" msgid "Edit your notification preferences here:" msgstr "ערכו הגדרות התראות כאן" +#, python-format +msgid "The page \"%(title)s\" has been rejected" +msgstr "העמוד \"%(title)s\" נדחה" + +#, python-format +msgid "The page \"%(title)s\" has been rejected." +msgstr "העמוד \"%(title)s\" נדחה." + msgid "You can edit the page here:" msgstr "ניתן לערוך את העמוד כאן" +#, python-format +msgid "The page \"%(page)s\" has been submitted for moderation" +msgstr "העמוד \"%(page)s\" הועבר לאישור" + +#, python-format +msgid "The page \"%(page)s\" has been submitted for moderation." +msgstr "העמוד \"%(page)s\" הועבר לאישור." + msgid "You can preview the page here:" msgstr "ניתן לראות תצוגה מקדימה של העמוד כאן" @@ -270,7 +372,7 @@ msgid "You can edit the privacy settings on:" msgstr "ניתן לערוך את הגדרת הפרטיות ב:" msgid "Privacy changes apply to all children of this page too." -msgstr "שינויי פרטיות תקפים על כל הילדים של עמוד זה" +msgstr "שינויי הפרטיות תקפים גם על כל תת-העמודים של עמוד זה." msgid "Edit lock" msgstr "ערוך נעילה" @@ -287,15 +389,44 @@ msgstr "פרטיות" msgid "Private" msgstr "פרטי" +#, python-format +msgid "Create a page in %(title)s" +msgstr "יצירת עמוד חדש ב%(title)s" + msgid "Create a page in" msgstr "צור עמוד בתוך" msgid "Choose which type of page you'd like to create." msgstr "בחרו איזה סוג עמוד תרצו ליצור" +#, python-format +msgid "Pages using %(page_type)s" +msgstr "עמודים מסוג %(page_type)s" + +#, python-format +msgid "Delete %(title)s" +msgstr "מחיקת %(title)s" + msgid "Are you sure you want to delete this page?" msgstr "בטוח למחוק עמוד זה?" +#, python-format +msgid "" +"\n" +" This will also delete one more subpage.\n" +" " +msgid_plural "" +"\n" +" This will also delete %(descendant_count)s more " +"subpages.\n" +" " +msgstr[0] "" +"\n" +"פעולה זו תמחק בנוסף תת-עמוד אחד." +msgstr[1] "" +"\n" +"פעולה זו תמחק %(descendant_count)s תת-עמודים נוספים." + msgid "" "Alternatively you can unpublish the page. This removes the page from public " "view and you can edit or publish it again later." @@ -309,12 +440,30 @@ msgstr "מחק זו" msgid "Unpublish it" msgstr "ביטול פרסום" +#, python-format +msgid "Move %(title)s" +msgstr "הזזת %(title)s" + msgid "Move" msgstr "העברה" +#, python-format +msgid "Are you sure you want to move this page into '%(title)s'?" +msgstr "בטוחים שברצונכם להזיז את העמוד הזה אל תוך '%(title)s'?" + +#, python-format +msgid "" +"Are you sure you want to move this page and all of its children into " +"'%(title)s'?" +msgstr "בטוחים שברצונכם להעביר את העמוד הזה וכל תת-העמודים שלו אל '%(title)s'?" + msgid "Yes, move this page" msgstr "כן, העבר את העמוד" +#, python-format +msgid "Unpublish %(title)s" +msgstr "הסתר את %(title)s" + msgid "Unpublish" msgstr "ביטול פרסום" @@ -327,12 +476,20 @@ msgstr "כן, בטל את הפרסום" msgid "Pages using" msgstr "עמודים משמשים" +#, python-format +msgid "Copy %(title)s" +msgstr "העתקת %(title)s" + msgid "Copy" msgstr "העתק" msgid "Copy this page" msgstr "העתק עמוד זה" +#, python-format +msgid "New %(page_type)s" +msgstr "%(page_type)s חדש" + msgid "New" msgstr "חדש " @@ -345,35 +502,58 @@ msgstr "פרסם" msgid "Submit for moderation" msgstr "הזן לעריכה" +#, python-format +msgid "Editing %(page_type)s: %(title)s" +msgstr "עריכת %(page_type)s: %(title)s" + +#, python-format +msgid "Editing %(page_type)s %(title)s" +msgstr "עריכת %(page_type)s %(title)s" + msgid "Page locked" msgstr "עמוד נעול" msgid "Save draft" msgstr "שמור טיוטה" -msgid "Updated" -msgstr "עדכן" +#, python-format +msgid "Last modified: %(last_mod)s" +msgstr "שינוי אחרון: %(last_mod)s" + +#, python-format +msgid "by %(modified_by)s" +msgstr "מאת %(modified_by)s" + +#, python-format +msgid "Exploring %(title)s" +msgstr "מסייר ב%(title)s" msgid "Drag" msgstr "גרור" -msgid "No pages have been created." -msgstr "אפס עמודים נוצרו " - -msgid "Previous" -msgstr "קודם" - -msgid "Next" -msgstr "הבא" +msgid "Updated" +msgstr "עדכן" msgid "This page is locked to further editing" msgstr "עמוד זה נעול לעריכה" +#, python-format +msgid "Explore subpages of '%(title)s'" +msgstr "מסייר בתת עמודים של '%(title)s'" + msgid "Explore" -msgstr "לחקור" +msgstr "לסייר" + +#, python-format +msgid "Explore child pages of '%(title)s'" +msgstr "מסייר בעמודים שבתוך '%(title)s'" + +#, python-format +msgid "Add a child page to '%(title)s'" +msgstr "הוספת תת-עמוד אל '%(title)s'" msgid "Add subpage" -msgstr "הוסף תת עמוד" +msgstr "הוספת תת עמוד" msgid "" "This page is published but does not exist within a configured Site, so " @@ -381,19 +561,33 @@ msgid "" msgstr "עמוד זה מפורסם אך לא קיים באתר, לכן אין אפשרות להציג אותו" msgid "Add child page" -msgstr "הוסף עמוד ילד" +msgstr "הוספת תת-עמוד" + +msgid "Previous" +msgstr "קודם" + +msgid "Next" +msgstr "הבא" msgid "This page is protected from public view" msgstr "עמוד זה מוגן מתצוגה פומבית" msgid "Disable ordering of child pages" -msgstr "ביטול פקודה של עמוד ילד" +msgstr "כיבוי סידור של תתי-עמודים" msgid "Order" msgstr "פקוד" msgid "Enable ordering of child pages" -msgstr "ביטול פקודה של עמודי ילדים" +msgstr "הפעלת סידור של תתי-עמודים" + +#, python-format +msgid "Select a new parent page for %(title)s" +msgstr "בחירת עמוד הורה חדש עבור %(title)s" + +#, python-format +msgid "Select a new parent page for %(title)s" +msgstr "בחירת עמוד הורה חדש עבור %(title)s" msgid "Other searches" msgstr "חיפושים אחרים" @@ -407,6 +601,10 @@ msgstr "מסמכים" msgid "Users" msgstr "משתמשים" +#, python-format +msgid "Sorry, no pages match \"%(query_string)s\"" +msgstr "מצערים, לא נמצאו עמודים שתואמים \"%(query_string)s\"" + msgid "Enter a search term above" msgstr "הכנס מונח לחיפוש" @@ -473,12 +671,30 @@ msgstr "שישי" msgid "Sat" msgstr "שבת" +#, python-format +msgid "Used %(useage_count)s time" +msgid_plural "Used %(useage_count)s times" +msgstr[0] "היה בשימוש פעם %(useage_count)s" +msgstr[1] "היה בשימוש %(useage_count)s פעמים" + msgid "Edit your account" msgstr "ערכו את חשבונכם" msgid "Log out" msgstr "התנתקות" +#, python-format +msgid "Page %(page_num)s of %(total_pages)s." +msgstr "עמוד %(page_num)s מתוך %(total_pages)s." + +msgid "" +"You are using an outdated browser not supported by this " +"software. Please upgrade your browser." +msgstr "" +"הדפדפן שלכם מיושן ולא נתמך ע\"י התוכנה הזו. אנא עברו לדפדפן מודרני." + msgid "Javascript is required to use Wagtail, but it is currently disabled" msgstr "יש צורך בJavascript על מנת להתשמש בWagtail, אך הוא מכובה כרגע" @@ -489,10 +705,10 @@ msgid "Go to Wagtail admin interface" msgstr "כניסה למערך המנהל של Wagtail " msgid "Add a child page" -msgstr "הוסף עמוד ילד" +msgstr "הוספת תת-עמוד" msgid "Add" -msgstr "הוסף" +msgstr "הוספה" msgid "Your password has been changed successfully!" msgstr "סיסמתכם שונתה בהצלחה!" @@ -500,15 +716,6 @@ msgstr "סיסמתכם שונתה בהצלחה!" msgid "Your preferences have been updated successfully!" msgstr "העדופיתכם עודכנו בהצלחה!" -msgid "This slug is already in use" -msgstr "שדה זה כבר בשימוש" - -msgid "Go live date/time must be before expiry date/time" -msgstr "זמן פרסום חייב להיות לפני זמן תפוגת תוקף" - -msgid "Expiry date/time must be in the future" -msgstr "זמן תפוגה חייב להיות בעתיד" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "עמוד {0} נוצר ופורסם" @@ -551,6 +758,15 @@ msgstr "העמוד לא ניתן לשמירה עקב שגיאות אישור" msgid "This page is currently awaiting moderation" msgstr "העמוד ממתין לעריכה" +msgid "This slug is already in use" +msgstr "שדה זה כבר בשימוש" + +msgid "Go live date/time must be before expiry date/time" +msgstr "זמן פרסום חייב להיות לפני זמן תפוגת תוקף" + +msgid "Expiry date/time must be in the future" +msgstr "זמן תפוגה חייב להיות בעתיד" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "עמוד {0} נמחק" diff --git a/wagtail/wagtailadmin/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..807c3fe5b Binary files /dev/null and b/wagtail/wagtailadmin/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..cf79c0b5b --- /dev/null +++ b/wagtail/wagtailadmin/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,474 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +# saevarom , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-01 08:27+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Scheduled publishing" +msgstr "Tímasetning birtingar" + +msgid "Common page configuration" +msgstr "Algengar síðustillingar" + +msgid "Search" +msgstr "Leita" + +msgid "Search term" +msgstr "Leitarfrasi" + +msgid "Enter password" +msgstr "Sláðu inn lykilorð" + +#, python-format +msgid "Enter your %s" +msgstr "Sláðu inn %s" + +msgid "Enter your email address to reset your password" +msgstr "Sláðu inn netfangið þitt til að endursetja lykilorðið þitt." + +msgid "Please fill your email address." +msgstr "Vinsamlegast sláðu inn netfangið þitt." + +msgid "" +"Sorry, you cannot reset your password here as your user account is managed " +"by another server." +msgstr "" +"Því miður geturðu ekki endurstillt lykilorðið þitt hérna þar sem reikningnum " +"þínum er stýrt af öðrum server." + +msgid "This email address is not recognised." +msgstr "Þetta netfang er ekki á skrá." + +msgid "New title" +msgstr "Titill" + +msgid "New slug" +msgstr "Slóð" + +msgid "New parent page" +msgstr "Ný yfirsíða" + +msgid "This copy will be a child of this given parent page." +msgstr "Þetta afrit verður undirsíða þessarar yfirsíðu" + +msgid "Copy subpages" +msgstr "Afrita undirsíður" + +msgid "Publish copied page" +msgstr "Setja afritaðar síður í birtingu." + +msgid "This page is live. Would you like to publish its copy as well?" +msgstr "Þessi síða er í birtingu. Viltu setja afritið í birtingu líka?" + +msgid "Publish copies" +msgstr "Setja afrit í birtingu" + +msgid "Public" +msgstr "Í birtingu" + +msgid "Private, accessible with the following password" +msgstr "Læst, aðgengileg með eftirfarandi lykilorði" + +msgid "This field is required." +msgstr "Þennan reit þarf að fylla út." + +msgid "Account" +msgstr "Reikningur" + +msgid "Set gravatar" +msgstr "Setja notandamynd" + +msgid "Change password" +msgstr "Breyta lykilorði" + +msgid "Change the password you use to log in." +msgstr "Breyta lykilorðinu sem þú notar til að skrá þig inn." + +msgid "Change Password" +msgstr "Breyta lykilorði" + +msgid "Update" +msgstr "Uppfæra" + +msgid "Reset password" +msgstr "Endursetja lykilorð" + +msgid "Password change successful" +msgstr "Tókst að breyta lykilorði" + +msgid "Login" +msgstr "Innskrá" + +msgid "Set your new password" +msgstr "Sláðu inn nýtt lykilorð" + +msgid "The passwords do not match. Please try again." +msgstr "Lykilorðin eru ekki þau sömu. Vinsamlegast reynið aftur" + +msgid "Check your email" +msgstr "Athugaðu tölvupósthólfið þitt" + +msgid "Password reset" +msgstr "Endursetja lykilorð" + +msgid "Reset your password" +msgstr "Endursettu lykilorðið þitt" + +msgid "Menu" +msgstr "Valmynd" + +msgid "Move up" +msgstr "Færa upp" + +msgid "Move down" +msgstr "Færa niður" + +msgid "Delete" +msgstr "Eyða" + +msgid "Choose" +msgstr "Veldu" + +msgid "Choose a page" +msgstr "Veldu síðu" + +msgid "Add an email link" +msgstr "Bæta við hlekk á netfang" + +msgid "Yes, delete" +msgstr "Já, eyða" + +msgid "Save" +msgstr "Vista" + +msgid "Title" +msgstr "Titill" + +msgid "Parent" +msgstr "Yfirsíða" + +msgid "Type" +msgstr "Tegund" + +msgid "Edited" +msgstr "Breytt" + +msgid "Edit this page" +msgstr "Breyta þessari síðu" + +msgid "Approve" +msgstr "Samþykkja" + +msgid "Reject" +msgstr "Hafna" + +msgid "Edit" +msgstr "Breyta" + +msgid "Preview" +msgstr "Forskoða" + +msgid "Your most recent edits" +msgstr "Síðustu breytingar sem þú hefur gert" + +msgid "Date" +msgstr "Dagsetning" + +msgid "Status" +msgstr "Staða" + +msgid "Draft" +msgstr "Uppkast" + +msgid "Live" +msgstr "Í birtingu" + +msgid "Sign in" +msgstr "Innskrá" + +msgid "Forgotten it?" +msgstr "Búin(n) að gleyma því?" + +msgid "You can view the page here:" +msgstr "Þú getur skoðað síðuna hér:" + +msgid "You can edit the page here:" +msgstr "Þú getur breytt síðunni hér:" + +msgid "You can preview the page here:" +msgstr "Þú getur forskoðað síðuna hér:" + +msgid "Locked" +msgstr "Læst" + +msgid "Unlocked" +msgstr "Aflæst" + +#, python-format +msgid "Delete %(title)s" +msgstr "Eyða %(title)s" + +msgid "Yes, move this page" +msgstr "Já, færðu þessa síðu" + +msgid "Pages using" +msgstr "Síður sem nota" + +#, python-format +msgid "Copy %(title)s" +msgstr "Afrita %(title)s" + +msgid "Copy" +msgstr "Afrita" + +msgid "Copy this page" +msgstr "Afrita þessa síðu" + +msgid "New" +msgstr "Ný" + +msgid "Save as draft" +msgstr "Vista sem uppkast" + +msgid "Publish" +msgstr "Setja í birtingu" + +msgid "Page locked" +msgstr "Síða læst" + +msgid "Save draft" +msgstr "Vista uppkast" + +msgid "Drag" +msgstr "Draga" + +msgid "Add subpage" +msgstr "Bæta við undirsíðu" + +msgid "Add child page" +msgstr "Bæða við undirsíðu" + +msgid "Previous" +msgstr "Fyrra" + +msgid "Next" +msgstr "Næsta" + +msgid "Disable ordering of child pages" +msgstr "Óvirkja röðun á undirsíðum" + +msgid "Order" +msgstr "Röðun" + +msgid "Enable ordering of child pages" +msgstr "Virkja röðun á undirsíðum" + +#, python-format +msgid "Select a new parent page for %(title)s" +msgstr "Veldu nýja yfirsíðu fyrir %(title)s" + +#, python-format +msgid "Select a new parent page for %(title)s" +msgstr "Veldu nýja yfirsíðu fyrir %(title)s" + +msgid "Other searches" +msgstr "Aðrar leitir" + +msgid "Images" +msgstr "Myndir" + +msgid "Documents" +msgstr "Skjöl" + +msgid "Users" +msgstr "Notendur" + +msgid "Enter a search term above" +msgstr "Sláðu inn leitarorð hér að ofan" + +msgid "Home" +msgstr "Heim" + +msgid "January" +msgstr "Janúar" + +msgid "February" +msgstr "Febrúar" + +msgid "March" +msgstr "Mars" + +msgid "April" +msgstr "Apríl" + +msgid "May" +msgstr "Maí" + +msgid "June" +msgstr "Júní" + +msgid "July" +msgstr "Júlí" + +msgid "August" +msgstr "Ágúst" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Október" + +msgid "November" +msgstr "Nóvember" + +msgid "December" +msgstr "Desember" + +msgid "Sun" +msgstr "Sun" + +msgid "Mon" +msgstr "Mán" + +msgid "Tue" +msgstr "Þri" + +msgid "Wed" +msgstr "Mið" + +msgid "Thu" +msgstr "Fim" + +msgid "Fri" +msgstr "Fös" + +msgid "Sat" +msgstr "Lau" + +msgid "Go to Wagtail admin interface" +msgstr "Fara á Wagtail stjórnborð" + +msgid "Add a child page" +msgstr "Bæta við undirsíðu" + +#, python-brace-format +msgid "Page '{0}' created and published." +msgstr "Síða '{0}' vistuð og birt." + +msgid "View live" +msgstr "Skoða á vef" + +#, python-brace-format +msgid "Page '{0}' created and submitted for moderation." +msgstr "Síða '{0}' vistuð og send til samþykkis." + +msgid "View draft" +msgstr "Skoða uppkast" + +#, python-brace-format +msgid "Page '{0}' created." +msgstr "Síða '{0}' vistuð." + +msgid "The page could not be created due to validation errors" +msgstr "Ekki var hægt að búa síðuna til þar sem hún stóðst ekki villuprófanir" + +#, python-brace-format +msgid "Page '{0}' published." +msgstr "Síða '{0}' hefur verið birt." + +#, python-brace-format +msgid "Page '{0}' submitted for moderation." +msgstr "Síða '{0}' send til samþykkis." + +#, python-brace-format +msgid "Page '{0}' updated." +msgstr "Síða '{0}' uppfærð." + +msgid "The page could not be saved as it is locked" +msgstr "Ekki var hægt að vista síðuna, hún er læst" + +msgid "The page could not be saved due to validation errors" +msgstr "Ekki var hægt að vista síðuna þar sem hún stóðst ekki villuprófanir" + +msgid "This page is currently awaiting moderation" +msgstr "Þessi síða bíður samþykkis til birtingar." + +msgid "Expiry date/time must be in the future" +msgstr "Dagsetning afbirtingar verður að vera í framtíðinni" + +#, python-brace-format +msgid "Page '{0}' deleted." +msgstr "Síðu '{0}' eytt." + +#, python-brace-format +msgid "Page '{0}' unpublished." +msgstr "Síða '{0}' tekin úr birtingu." + +#, python-brace-format +msgid "Page '{0}' moved." +msgstr "Síða '{0}' færð." + +#, python-brace-format +msgid "Page '{0}' and {1} subpages copied." +msgstr "Síða '{0}' og {1} undirsíður afritaðar." + +#, python-brace-format +msgid "Page '{0}' copied." +msgstr "Síða '{0}' afrituð." + +msgid "Content" +msgstr "Efni" + +msgid "Promote" +msgstr "Sýnileiki" + +msgid "Settings" +msgstr "Stillingar" + +#, python-brace-format +msgid "The page '{0}' is not currently awaiting moderation." +msgstr "'{0}' bíður nú samþykkis til birtingar." + +#, python-brace-format +msgid "Page '{0}' rejected for publication." +msgstr "Birtingu '{0}' var hafnað." + +#, python-brace-format +msgid "Page '{0}' is now locked." +msgstr "Síða '{0}' er nú læst." + +#, python-brace-format +msgid "Page '{0}' is now unlocked." +msgstr "Síða '{0}' er nú ólæst." + +msgid "Choose an item" +msgstr "Veldu" + +msgid "Choose another item" +msgstr "Veldu annað" + +msgid "Clear choice" +msgstr "Hreinsa" + +msgid "Edit this item" +msgstr "Breyta þessu" + +msgid "Choose another page" +msgstr "Veldu aðra síðu" diff --git a/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.mo index 296bd1b59..14598f64b 100644 Binary files a/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.po index 2b83ffdd3..b8a20b07a 100644 --- a/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/it/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-30 06:21+0000\n" -"Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -193,6 +193,15 @@ msgstr "Menu" msgid "Add another" msgstr "Aggiungi un altro" +msgid "Move up" +msgstr "Vai su" + +msgid "Move down" +msgstr "Vai giù" + +msgid "Delete" +msgstr "Elimina" + msgid "Explorer" msgstr "Explorer" @@ -205,17 +214,6 @@ msgstr "Collegamento esterno" msgid "Email link" msgstr "Collegamento email" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -"Solo pagine del tipo \"%(type)s\" possono esser scelte per questo campo. I " -"risultati della ricerca escluderanno pagina di altro tipo." - #, python-format msgid "" "\n" @@ -249,15 +247,6 @@ msgstr "Inserisci collegamento" msgid "Add an external link" msgstr "Aggiungi collegamento esterno" -msgid "Move up" -msgstr "Vai su" - -msgid "Move down" -msgstr "Vai giù" - -msgid "Delete" -msgstr "Elimina" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Benvenuto nel %(site_name)s Wagtail CMS" @@ -467,14 +456,14 @@ msgid "Delete it" msgstr "Cancellalo" msgid "Unpublish it" -msgstr "Rendila non pubblica" +msgstr "Annulla pubblicazione" #, python-format msgid "Move %(title)s" -msgstr "Muovi %(title)s" +msgstr "Sposta %(title)s" msgid "Move" -msgstr "Muovi" +msgstr "Sposta" #, python-format msgid "Are you sure you want to move this page into '%(title)s'?" @@ -492,16 +481,16 @@ msgstr "Si, va a questa pagina" #, python-format msgid "Unpublish %(title)s" -msgstr "Rendi non pubblico %(title)s" +msgstr "Annulla pubblicazione %(title)s" msgid "Unpublish" -msgstr "Non pubblicare" +msgstr "Annulla pubblicazione" msgid "Are you sure you want to unpublish this page?" msgstr "Sei sicuro di voler non pubblicare questa pagina?" msgid "Yes, unpublish it" -msgstr "Si, rendila non pubblica" +msgstr "Si, annulla la pubblicazione" msgid "Pages using" msgstr "Pagina usate" @@ -558,34 +547,11 @@ msgstr "di %(modified_by)s" msgid "Exploring %(title)s" msgstr "Esplorando %(title)s" -msgid "Updated" -msgstr "Aggiornato" - msgid "Drag" msgstr "Trascina" -msgid "No pages have been created." -msgstr "Nessuna pagina è stata creata." - -#, python-format -msgid "Why not add one?" -msgstr "Perché non l'aggiungi?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Pagina %(page_number)s di %(num_pages)s.\n" -" " - -msgid "Previous" -msgstr "Precedente" - -msgid "Next" -msgstr "Successivo" +msgid "Updated" +msgstr "Aggiornato" msgid "This page is locked to further editing" msgstr "Questa pagina è bloccata per ulteriori modifiche" @@ -618,6 +584,12 @@ msgstr "" msgid "Add child page" msgstr "Aggiungi pagina figlio" +msgid "Previous" +msgstr "Precedente" + +msgid "Next" +msgstr "Successivo" + msgid "This page is protected from public view" msgstr "Questa pagina è protetta dalla vista pubblica" @@ -638,24 +610,6 @@ msgstr "Seleziona una nuova pagina padre per %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Seleziona una nuova pagina padre per %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -" C'è una pagina corrispondente\n" -" " -msgstr[1] "" -"\n" -" Ci sono %(counter)s pagine corrispondenti\n" -" " - msgid "Other searches" msgstr "Altre ricerche" @@ -668,16 +622,6 @@ msgstr "Documenti" msgid "Users" msgstr "Utenti" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Pagina %(page_number)s di %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" @@ -797,15 +741,6 @@ msgstr "La tua password è stato modificata con successo" msgid "Your preferences have been updated successfully!" msgstr "Le tue preferenze sono state aggiornate con successo!" -msgid "This slug is already in use" -msgstr "Questo slug è gia in uso" - -msgid "Go live date/time must be before expiry date/time" -msgstr "Go live data/ora deve precedere data/ora di scadenza" - -msgid "Expiry date/time must be in the future" -msgstr "Data/ora di scadenza deve esser nel futuro" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "Pagina '{0}' creata e pubblicata." @@ -848,6 +783,15 @@ msgstr "La pagina non può esser salvata a causa di errori di validazione" msgid "This page is currently awaiting moderation" msgstr "Questa pagina è attualmente in attesa di moderazione" +msgid "This slug is already in use" +msgstr "Questo slug è gia in uso" + +msgid "Go live date/time must be before expiry date/time" +msgstr "Go live data/ora deve precedere data/ora di scadenza" + +msgid "Expiry date/time must be in the future" +msgstr "Data/ora di scadenza deve esser nel futuro" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Pagina '{0}' eliminata." diff --git a/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.mo index eb1a25627..254a1cfca 100644 Binary files a/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.po index e4d15c86c..18ed33cb1 100644 --- a/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/ko/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-17 07:34+0000\n" -"Last-Translator: Ji Han Chung \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" "ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -188,6 +188,15 @@ msgstr "메뉴" msgid "Add another" msgstr "추가" +msgid "Move up" +msgstr "위로 이동" + +msgid "Move down" +msgstr "아래로 이동" + +msgid "Delete" +msgstr "삭제" + msgid "Explorer" msgstr "검색" @@ -200,17 +209,6 @@ msgstr "외부 링크" msgid "Email link" msgstr "이메일 링크" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -" \"%(type)s\" 형태의 페이지가 이 필드를 위해 선택되었습니다. 검색 결과는 다" -"른 형태의 페이지들을 제외시켰습니다." - #, python-format msgid "" "\n" @@ -239,15 +237,6 @@ msgstr "링크 삽입" msgid "Add an external link" msgstr "외부 링크 추가" -msgid "Move up" -msgstr "위로 이동" - -msgid "Move down" -msgstr "아래로 이동" - -msgid "Delete" -msgstr "삭제" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "%(site_name)s 와그테일 CMS에 오신 것을 환영합니다" @@ -401,10 +390,10 @@ msgid "Create a page in %(title)s" msgstr "%(title)s 페이지 생성" msgid "Create a page in" -msgstr "에서 페이지 생성" +msgstr "페이지 만들기" msgid "Choose which type of page you'd like to create." -msgstr "생성을 위한 페이지 종류 선택" +msgstr "새로운 페이지를 만들기 위한 선택" #, python-format msgid "Pages using %(page_type)s" @@ -532,33 +521,11 @@ msgstr "%(modified_by)s 에 의한" msgid "Exploring %(title)s" msgstr "%(title)s 탐색" -msgid "Updated" -msgstr "업데이트된" - msgid "Drag" msgstr "끌기" -msgid "No pages have been created." -msgstr "페이지가 생성되지 않았습니다" - -#, python-format -msgid "Why not add one?" -msgstr "하나 추가 하시는 건 어떨까요?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"%(num_pages)s 의 %(page_number)s 페이지" - -msgid "Previous" -msgstr "이전" - -msgid "Next" -msgstr "다음" +msgid "Updated" +msgstr "업데이트된" msgid "This page is locked to further editing" msgstr "이 페이지는 추가 수정을 위해 잠겼습니다" @@ -591,6 +558,12 @@ msgstr "" msgid "Add child page" msgstr "하위 페이지 추가" +msgid "Previous" +msgstr "이전" + +msgid "Next" +msgstr "다음" + msgid "This page is protected from public view" msgstr "이 페이지는 웹뷰로부터 보호되었습니다" @@ -611,19 +584,6 @@ msgstr "%(title)s 를 위한 새로운 상위페이지 선택" msgid "Select a new parent page for %(title)s" msgstr "%(title)s 를 위한 새로운 상위페이지 선택" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -"%(counter)s 개의 연관된 페이지가 있습니다" - msgid "Other searches" msgstr "다른 검색결과들" @@ -636,15 +596,6 @@ msgstr "문서" msgid "Users" msgstr "사용자" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"%(num_pages)s 의 %(page_number)s 페이지" - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "죄송합니다. \"%(query_string)s\" 와 연관된 결과가 없습니다" @@ -761,15 +712,6 @@ msgstr "당신의 비밀번호가 성공적으로 변경 되었습니다" msgid "Your preferences have been updated successfully!" msgstr "당신의 선택사항이 성공적으로 업데이트 되었습니다" -msgid "This slug is already in use" -msgstr "이 슬러그는 이미 사용되었습니다" - -msgid "Go live date/time must be before expiry date/time" -msgstr "라이브를 위한 날짜 및 시간은 만료 날짜 및 시간보다 앞서야 합니다" - -msgid "Expiry date/time must be in the future" -msgstr "만료 날짜는 현재 이후의 날짜 및 시간이어야 합니다" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "'{0}' 페이지가 생성 및 퍼블리시 되었습니다" @@ -812,6 +754,15 @@ msgstr "이 페이지는 오류에 의해 저장할 수 없습니다" msgid "This page is currently awaiting moderation" msgstr "이 페이지는 현재 검토를 기다리고 있습니다" +msgid "This slug is already in use" +msgstr "이 슬러그는 이미 사용되었습니다" + +msgid "Go live date/time must be before expiry date/time" +msgstr "라이브를 위한 날짜 및 시간은 만료 날짜 및 시간보다 앞서야 합니다" + +msgid "Expiry date/time must be in the future" +msgstr "만료 날짜는 현재 이후의 날짜 및 시간이어야 합니다" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "'{0}' 페이지가 삭제되었습니다" diff --git a/wagtail/wagtailadmin/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..22c182791 Binary files /dev/null and b/wagtail/wagtailadmin/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..b90d39ea9 --- /dev/null +++ b/wagtail/wagtailadmin/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,913 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 15:01+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Scheduled publishing" +msgstr "Planlagt publisering" + +msgid "Common page configuration" +msgstr "Felles sidekonfigurasjon" + +msgid "Search" +msgstr "Søk" + +msgid "Search term" +msgstr "Søkeord" + +msgid "Enter password" +msgstr "Skriv inn passord" + +#, python-format +msgid "Enter your %s" +msgstr "Skriv inn %s" + +msgid "Enter your email address to reset your password" +msgstr "Skriv inn din e-postadresse for å nullstille passord" + +msgid "Please fill your email address." +msgstr "Vennligst fyll inn din e-postadresse." + +msgid "" +"Sorry, you cannot reset your password here as your user account is managed " +"by another server." +msgstr "" +"Beklager, du kan ikke nullstille passord her, din brukerkonto håndteres av " +"en annen server." + +msgid "This email address is not recognised." +msgstr "E-postadressen er ukjent." + +msgid "New title" +msgstr "Ny tittel" + +msgid "New slug" +msgstr "Ny permalenke" + +msgid "New parent page" +msgstr "Ny foreldreside" + +msgid "This copy will be a child of this given parent page." +msgstr "Denne kopien vil bli en underside av gitt foreldreside." + +msgid "Copy subpages" +msgstr "Kopier undersider" + +#, python-format +msgid "This will copy %(count)s subpage." +msgid_plural "This will copy %(count)s subpages." +msgstr[0] "Dette vil kopiere %(count)s underside." +msgstr[1] "Dette vil kopiere %(count)s undersider." + +msgid "Publish copied page" +msgstr "Publiser kopiert side" + +msgid "This page is live. Would you like to publish its copy as well?" +msgstr "Denne siden er publisert. Vil du publisere kopien også?" + +msgid "Publish copies" +msgstr "Publiser kopier" + +#, python-format +msgid "" +"%(count)s of the pages being copied is live. Would you like to publish its " +"copy?" +msgid_plural "" +"%(count)s of the pages being copied are live. Would you like to publish " +"their copies?" +msgstr[0] "" +"%(count)s av sidene som blir kopiert er publisert. Vil du publisere kopien " +"dens også?" +msgstr[1] "" +"%(count)s av sidene som blir kopiert er publisert. Vil du publisere kopiene " +"deres også?" + +#, python-format +msgid "" +"This slug is already in use within the context of its parent page \"%s\"" +msgstr "" +"Denne permalenken er allerede i bruk i konteksten til foreldresiden \"%s\"" + +msgid "Public" +msgstr "Offentlig" + +msgid "Private, accessible with the following password" +msgstr "Privat, tilgjengelig med følgende passord" + +msgid "This field is required." +msgstr "Dette feltet er påkrevet." + +msgid "Account" +msgstr "Konto" + +msgid "Set gravatar" +msgstr "Sett gravatar" + +msgid "" +"Your avatar image is provided by Gravatar and is connected to your email " +"address. With a Gravatar account you can set an avatar for any number of " +"other email addresses you use." +msgstr "" +"Ditt avatar-bilde blir levert av Gravatar og er knyttet til din e-" +"postadresse. Med en Gravatar-konto kan du sette en avatar for alle dine e-" +"postadresser." + +msgid "Change password" +msgstr "Endre passord" + +msgid "Change the password you use to log in." +msgstr "Endre passordet du bruker for å logge inn." + +msgid "Notification preferences" +msgstr "Varslingsinnstillinger" + +msgid "Choose which email notifications to receive." +msgstr "Velg hvilke e-postvarsler du vil motta." + +msgid "Change Password" +msgstr "Endre passord" + +msgid "" +"Your password can't be changed here. Please contact a site administrator." +msgstr "" +"Passordet ditt kan ikke endres her. Kontakt en administrator for nettstedet." + +msgid "Notification Preferences" +msgstr "Varslingsinnstillinger" + +msgid "Update" +msgstr "Oppdater" + +msgid "Reset password" +msgstr "Nullstill passord" + +msgid "Password change successful" +msgstr "Passordendring utført" + +msgid "Login" +msgstr "Logg inn" + +msgid "Set your new password" +msgstr "Sett ditt nye passord" + +msgid "The passwords do not match. Please try again." +msgstr "Passordene stemmer ikke overens. Prøv igjen." + +msgid "Check your email" +msgstr "Sjekk e-posten din" + +msgid "A link to reset your password has been emailed to you." +msgstr "" +"En lenke for å nullstille passordet ditt har blitt sendt til din e-" +"postadresse." + +msgid "Please follow the link below to reset your password" +msgstr "Vennligst følg lenken under for å nullstille ditt passord" + +msgid "Password reset" +msgstr "Passordnullstilling" + +msgid "Reset your password" +msgstr "Nullstill ditt passord" + +msgid "Dashboard" +msgstr "Dashbord" + +msgid "Menu" +msgstr "Meny" + +msgid "Add another" +msgstr "Legg til en ny" + +msgid "Move up" +msgstr "Flytt opp" + +msgid "Move down" +msgstr "Flytt ned" + +msgid "Delete" +msgstr "Slett" + +msgid "Explorer" +msgstr "Utforsker" + +msgid "Internal link" +msgstr "Intern lenke" + +msgid "External link" +msgstr "Ekstern lenke" + +msgid "Email link" +msgstr "E-postlenke" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Det er ett treff" +msgstr[1] "" +"\n" +"Det er %(counter)s treff" + +msgid "Choose" +msgstr "Velg" + +msgid "Choose a page" +msgstr "Velg en side" + +#, python-format +msgid "" +"\n" +" Only pages of type \"%(type)s\" may be chosen for this " +"field. Search results will exclude pages of other types.\n" +" " +msgid_plural "" +"\n" +" Only the following page types may be chosen for this field: " +"%(type)s. Search results will exclude pages of other types.\n" +" " +msgstr[0] "" +"\n" +"Kun sider av type \"%(type)s\" kan velges for dette feltet. Søkeresultater " +"vil ekskludere alle andre sidetyper.\n" +" " +msgstr[1] "" +"\n" +"Kun de følgende sidetypene kan velges for dette feltet: %(type)s. " +"Søkeresultater vil ekskludere alle andre sidetyper.\n" +" " + +msgid "Add an email link" +msgstr "Legg til en e-postlenke" + +msgid "Insert link" +msgstr "Sett inn lenke" + +msgid "Add an external link" +msgstr "Legg til en ekstern lenke" + +msgid "Yes, delete" +msgstr "Ja, slett" + +msgid "Save" +msgstr "Lagre" + +#, python-format +msgid "Welcome to the %(site_name)s Wagtail CMS" +msgstr "Velkommen til %(site_name)s Wagtail CMS" + +msgid "" +"This is your dashboard on which helpful information about content you've " +"created will be displayed." +msgstr "" +"Dette er dashbordet ditt, hvor du kan se en oversikt over innholdet som er " +"lagt inn." + +msgid "Pages awaiting moderation" +msgstr "Sider som venter på godkjenning" + +msgid "Title" +msgstr "Tittel" + +msgid "Parent" +msgstr "Forelder" + +msgid "Type" +msgstr "Type" + +msgid "Edited" +msgstr "Redigert" + +msgid "Edit this page" +msgstr "Rediger denne siden" + +msgid "Approve" +msgstr "Godkjenn" + +msgid "Reject" +msgstr "Avslå" + +msgid "Edit" +msgstr "Rediger" + +msgid "Preview" +msgstr "Forhåndsvis" + +msgid "Your most recent edits" +msgstr "Dine siste endringer" + +msgid "Date" +msgstr "Dato" + +msgid "Status" +msgstr "Status" + +msgid "Draft" +msgstr "Kladd" + +msgid "Live" +msgstr "Publisert" + +msgid "Site summary" +msgstr "Oppsummering for nettstedet" + +#, python-format +msgid "" +"\n" +" %(total)s Page\n" +" " +msgid_plural "" +"\n" +" %(total)s Pages\n" +" " +msgstr[0] "" +"\n" +"%(total)s side\n" +" " +msgstr[1] "" +"\n" +"%(total)s sider\n" +" " + +msgid "Sign in" +msgstr "Logg inn" + +#, python-format +msgid "Your %(username_field)s and password didn't match. Please try again." +msgstr "" +"%(username_field)s og passord stemmer ikke overens. Vennligst prøv igjen." + +msgid "Sign in to Wagtail" +msgstr "Logg inn på Wagtail" + +msgid "Forgotten it?" +msgstr "Glemt?" + +#, python-format +msgid "The page \"%(title)s\" has been approved" +msgstr "Siden \"%(title)s\" har blitt godkjent" + +#, python-format +msgid "The page \"%(title)s\" has been approved." +msgstr "Siden \"%(title)s\" har blitt godkjent." + +msgid "You can view the page here:" +msgstr "Du kan besøke siden her:" + +msgid "Edit your notification preferences here:" +msgstr "Endre dine varslingsinnstillinger her:" + +#, python-format +msgid "The page \"%(title)s\" has been rejected" +msgstr "Siden \"%(title)s\" har blitt avvist" + +#, python-format +msgid "The page \"%(title)s\" has been rejected." +msgstr "Siden \"%(title)s\" har blitt avvist." + +msgid "You can edit the page here:" +msgstr "Du kan redigere siden her:" + +#, python-format +msgid "The page \"%(page)s\" has been submitted for moderation" +msgstr "Siden \"%(page)s\" har blitt sendt til godkjenning" + +#, python-format +msgid "The page \"%(page)s\" has been submitted for moderation." +msgstr "Siden \"%(page)s\" har blitt sendt til godkjenning." + +msgid "You can preview the page here:" +msgstr "Du kan forhåndsvise siden her:" + +msgid "Page privacy" +msgstr "Sidevern" + +msgid "This page has been made private by a parent page." +msgstr "Denne siden har blitt gjort privat av en foreldreside." + +msgid "You can edit the privacy settings on:" +msgstr "Du kan endre sidevernsinnstillingene på:" + +msgid "Privacy changes apply to all children of this page too." +msgstr "Sidevernsendringer berører også alle undersider av denne siden." + +msgid "Edit lock" +msgstr "Redigeringslås" + +msgid "Locked" +msgstr "Låst" + +msgid "Unlocked" +msgstr "Ulåst" + +msgid "Privacy" +msgstr "Sidevern" + +msgid "Private" +msgstr "Privat" + +#, python-format +msgid "Create a page in %(title)s" +msgstr "Opprett en side i %(title)s" + +msgid "Create a page in" +msgstr "Opprett en side i" + +msgid "Choose which type of page you'd like to create." +msgstr "Velg hvilken sidetype du vil opprette." + +#, python-format +msgid "Pages using %(page_type)s" +msgstr "Sider som bruker %(page_type)s" + +#, python-format +msgid "Delete %(title)s" +msgstr "Slett %(title)s" + +msgid "Are you sure you want to delete this page?" +msgstr "Er du sikker på at du vil slette denne siden?" + +#, python-format +msgid "" +"\n" +" This will also delete one more subpage.\n" +" " +msgid_plural "" +"\n" +" This will also delete %(descendant_count)s more " +"subpages.\n" +" " +msgstr[0] "" +"\n" +"Dette vil også slette én underside.\n" +" " +msgstr[1] "" +"\n" +"Dette vil også slette %(descendant_count)s undersider.\n" +" " + +msgid "" +"Alternatively you can unpublish the page. This removes the page from public " +"view and you can edit or publish it again later." +msgstr "" +"Alternativt kan du avpublisere siden. Dette vil fjerne siden fra offentlig " +"visning, og du kan redigere eller publisere den igjen senere." + +msgid "Delete it" +msgstr "Slett den" + +msgid "Unpublish it" +msgstr "Avpubliser den" + +#, python-format +msgid "Move %(title)s" +msgstr "Flytt %(title)s" + +msgid "Move" +msgstr "Flytt" + +#, python-format +msgid "Are you sure you want to move this page into '%(title)s'?" +msgstr "Er du sikker på at du vil flytte denne siden under \"%(title)s\"?" + +#, python-format +msgid "" +"Are you sure you want to move this page and all of its children into " +"'%(title)s'?" +msgstr "" +"Er du sikker på at du vil flytte denne siden og alle dens undersider inn " +"under \"%(title)s\"?" + +msgid "Yes, move this page" +msgstr "Ja, flytt denne siden" + +#, python-format +msgid "Unpublish %(title)s" +msgstr "Avpubliser %(title)s" + +msgid "Unpublish" +msgstr "Avpubliser" + +msgid "Are you sure you want to unpublish this page?" +msgstr "Er du sikker på at du vil avpublisere denne siden?" + +msgid "Yes, unpublish it" +msgstr "Ja, avpubliser den" + +msgid "Pages using" +msgstr "Sider som bruker" + +#, python-format +msgid "Copy %(title)s" +msgstr "Kopier %(title)s" + +msgid "Copy" +msgstr "Kopier" + +msgid "Copy this page" +msgstr "Kopier denne siden" + +#, python-format +msgid "New %(page_type)s" +msgstr "Ny %(page_type)s" + +msgid "New" +msgstr "Ny" + +msgid "Save as draft" +msgstr "Lagre som kladd" + +msgid "Publish" +msgstr "Publiser" + +msgid "Submit for moderation" +msgstr "Send til godkjenning" + +#, python-format +msgid "Editing %(page_type)s: %(title)s" +msgstr "Redigerer %(page_type)s: %(title)s" + +#, python-format +msgid "Editing %(page_type)s %(title)s" +msgstr "Redigerer %(page_type)s: %(title)s" + +msgid "Page locked" +msgstr "Siden er låst" + +msgid "Save draft" +msgstr "Lagre kladd" + +#, python-format +msgid "Last modified: %(last_mod)s" +msgstr "Sist endret: %(last_mod)s" + +#, python-format +msgid "by %(modified_by)s" +msgstr "av %(modified_by)s" + +#, python-format +msgid "Exploring %(title)s" +msgstr "Utforsker %(title)s" + +msgid "Drag" +msgstr "Dra" + +msgid "Updated" +msgstr "Oppdatert" + +msgid "No pages have been created at this location." +msgstr "Ingen sider har blitt opprettet på denne plasseringen." + +#, python-format +msgid "Why not create one?" +msgstr "Hvorfor ikke opprette en?" + +msgid "This page is locked to further editing" +msgstr "Denne siden er låst for videre redigering" + +#, python-format +msgid "Explore subpages of '%(title)s'" +msgstr "Utforsk undersider av \"%(title)s\"" + +msgid "Explore" +msgstr "Utforsk" + +#, python-format +msgid "Explore child pages of '%(title)s'" +msgstr "Utforsk undersider av \"%(title)s\"" + +#, python-format +msgid "Add a child page to '%(title)s'" +msgstr "Legg en underside til \"%(title)s\"" + +msgid "Add subpage" +msgstr "Legg til underside" + +msgid "" +"This page is published but does not exist within a configured Site, so " +"cannot be viewed." +msgstr "" +"Denne siden er publisert, men finnes ikke under et konfigurert Nettsted, så " +"den kan ikke vises." + +msgid "Add child page" +msgstr "Legg til underside" + +#, python-format +msgid "" +"\n" +" Page %(page_number)s of %(num_pages)s.\n" +" " +msgstr "" +"\n" +"Side %(page_number)s av %(num_pages)s.\n" +" " + +msgid "Previous" +msgstr "Forrige" + +msgid "Next" +msgstr "Neste" + +msgid "This page is protected from public view" +msgstr "Denne siden er unntatt offentlig visning" + +msgid "Disable ordering of child pages" +msgstr "Skru av rekkefølge på undersider" + +msgid "Order" +msgstr "Rekkefølge" + +msgid "Enable ordering of child pages" +msgstr "Skru på rekkefølge på undersider" + +#, python-format +msgid "Select a new parent page for %(title)s" +msgstr "Velg en ny forelderside for %(title)s" + +#, python-format +msgid "Select a new parent page for %(title)s" +msgstr "Velg en ny forelderside for %(title)s" + +#, python-format +msgid "" +"\n" +" There is one matching page\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matching pages\n" +" " +msgstr[0] "" +"\n" +"Det er én side som samsvarer\n" +" " +msgstr[1] "" +"\n" +"Det er %(counter)s samsvarende sider\n" +" " + +msgid "Other searches" +msgstr "Andre søk" + +msgid "Images" +msgstr "Bilder" + +msgid "Documents" +msgstr "Dokumenter" + +msgid "Users" +msgstr "Brukere" + +#, python-format +msgid "Sorry, no pages match \"%(query_string)s\"" +msgstr "Beklager, ingen sider samsvarer med \"%(query_string)s\"" + +msgid "Enter a search term above" +msgstr "Skriv inn en søkestreng over" + +msgid "No pages use" +msgstr "Ingen sider bruker" + +msgid "Home" +msgstr "Hjem" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Mars" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Desember" + +msgid "Sun" +msgstr "Søn" + +msgid "Mon" +msgstr "Man" + +msgid "Tue" +msgstr "Tir" + +msgid "Wed" +msgstr "Ons" + +msgid "Thu" +msgstr "Tor" + +msgid "Fri" +msgstr "Fre" + +msgid "Sat" +msgstr "Lør" + +#, python-format +msgid "Used %(useage_count)s time" +msgid_plural "Used %(useage_count)s times" +msgstr[0] "Brukt %(useage_count)s gang" +msgstr[1] "Brukt %(useage_count)s ganger" + +msgid "Edit your account" +msgstr "Endre din konto" + +msgid "Log out" +msgstr "Logg ut" + +#, python-format +msgid "Page %(page_num)s of %(total_pages)s." +msgstr "Side %(page_num)s av %(total_pages)s." + +msgid "" +"You are using an outdated browser not supported by this " +"software. Please upgrade your browser." +msgstr "" +"Du bruker en utdatert nettleser som ikke støttes av denne " +"programvaren. Vær vennlig å oppgradere " +"nettleseren din." + +msgid "Javascript is required to use Wagtail, but it is currently disabled" +msgstr "JavaScript er påkrevet for å bruke Wagtail, men er deaktivert" + +msgid "User bar" +msgstr "Brukerlinje" + +msgid "Go to Wagtail admin interface" +msgstr "Gå til Wagtail administrasjonsgrensesnitt" + +msgid "Add a child page" +msgstr "Legg til en underside" + +msgid "Add" +msgstr "Legg til" + +msgid "Sorry, you do not have permission to access this area." +msgstr "Beklager, du har ikke tilgang på dette området." + +msgid "Your password has been changed successfully!" +msgstr "Passordet ditt er endret." + +msgid "Your preferences have been updated successfully!" +msgstr "Dine innstillinger har blitt oppdatert." + +#, python-brace-format +msgid "Page '{0}' created and published." +msgstr "Siden \"{0}\" er opprettet og publisert." + +msgid "View live" +msgstr "Vis publisert" + +#, python-brace-format +msgid "Page '{0}' created and submitted for moderation." +msgstr "Siden \"{0}\" er opprettet og sendt til godkjenning." + +msgid "View draft" +msgstr "Vis kladd" + +#, python-brace-format +msgid "Page '{0}' created." +msgstr "Siden \"{0}\" er opprettet." + +msgid "The page could not be created due to validation errors" +msgstr "Siden kunne ikke opprettes grunnet valideringsfeil." + +#, python-brace-format +msgid "Page '{0}' published." +msgstr "Siden \"{0}\" er publisert." + +#, python-brace-format +msgid "Page '{0}' submitted for moderation." +msgstr "Siden \"{0}\" er sendt til godkjenning." + +#, python-brace-format +msgid "Page '{0}' updated." +msgstr "Siden \"{0}\" er oppdatert." + +msgid "The page could not be saved as it is locked" +msgstr "Siden kunne ikke lagres fordi den er låst" + +msgid "The page could not be saved due to validation errors" +msgstr "Siden kunne ikke lagres grunnet valideringsfeil" + +msgid "This page is currently awaiting moderation" +msgstr "Denne siden påventer godkjenning" + +msgid "This slug is already in use" +msgstr "Denne permalenken er allerede i bruk" + +msgid "Go live date/time must be before expiry date/time" +msgstr "Tidspunkt for publisering må være før tidspunkt for avpublisering" + +msgid "Expiry date/time must be in the future" +msgstr "Tidspunkt for avpublisering må være en gang i fremtiden" + +#, python-brace-format +msgid "Page '{0}' deleted." +msgstr "Siden \"{0}\" er slettet." + +#, python-brace-format +msgid "Page '{0}' unpublished." +msgstr "Siden \"{0}\" er avpublisert." + +#, python-brace-format +msgid "Page '{0}' moved." +msgstr "Siden \"{0}\" er flyttet." + +#, python-brace-format +msgid "Page '{0}' and {1} subpages copied." +msgstr "Siden \"{0}\" og {1} undersider kopiert." + +#, python-brace-format +msgid "Page '{0}' copied." +msgstr "Siden \"{0}\" kopiert." + +msgid "Content" +msgstr "Innhold" + +msgid "Promote" +msgstr "Forfrem" + +msgid "Settings" +msgstr "Innstillinger" + +#, python-brace-format +msgid "The page '{0}' is not currently awaiting moderation." +msgstr "Siden \"{0}\" påventer ikke godkjenning." + +#, python-brace-format +msgid "Page '{0}' rejected for publication." +msgstr "Siden \"{0}\" ble avvist for publikasjon." + +#, python-brace-format +msgid "Page '{0}' is now locked." +msgstr "Siden \"{0}\" er nå låst." + +#, python-brace-format +msgid "Page '{0}' is now unlocked." +msgstr "Siden \"{0}\" er nå ulåst." + +msgid "Choose an item" +msgstr "Velg et element" + +msgid "Choose another item" +msgstr "Velg et annet element" + +msgid "Clear choice" +msgstr "Nullstill valg" + +msgid "Edit this item" +msgstr "Endre dette elementet" + +msgid "Choose another page" +msgstr "Velg en annen side" diff --git a/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.mo index 31dc9a73d..305a92d5e 100644 Binary files a/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.po index e923cd8f2..207a50b5b 100644 --- a/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/nl/LC_MESSAGES/django.po @@ -3,7 +3,9 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Arne Turpyn , 2015 # Brecht Dervaux , 2015 +# Huib Keemink , 2015 # mahulst, 2014 # mahulst, 2014 # Samuel Leeuwenburg, 2014 @@ -12,10 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-05-12 12:38+0000\n" -"Last-Translator: Brecht Dervaux \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-29 10:14+0000\n" +"Last-Translator: Arne Turpyn \n" +"Language-Team: Dutch (http://www.transifex.com/torchbox/wagtail/language/" "nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -191,6 +193,15 @@ msgstr "Menu" msgid "Add another" msgstr "Voeg nog een toe." +msgid "Move up" +msgstr "Verplaats omhoog" + +msgid "Move down" +msgstr "Verplaats naar beneden" + +msgid "Delete" +msgstr "Verwijder" + msgid "Explorer" msgstr "Verkenner" @@ -218,15 +229,6 @@ msgstr "Link invoegen" msgid "Add an external link" msgstr "Voeg een externe link toe" -msgid "Move up" -msgstr "Verplaats omhoog" - -msgid "Move down" -msgstr "Verplaats naar beneden" - -msgid "Delete" -msgstr "Verwijder" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Welkom het Wagtail CMS van %(site_name)s" @@ -492,24 +494,11 @@ msgstr "door %(modified_by)s" msgid "Exploring %(title)s" msgstr "%(title)s aan het verkennen" -msgid "Updated" -msgstr "Aangepast" - msgid "Drag" msgstr "Sleep" -msgid "No pages have been created." -msgstr "Er zijn geen pagina's aangemaakt" - -#, python-format -msgid "Why not add one?" -msgstr "Waarom niet een toevoegen?" - -msgid "Previous" -msgstr "Vorige" - -msgid "Next" -msgstr "Volgende" +msgid "Updated" +msgstr "Aangepast" msgid "This page is locked to further editing" msgstr "Deze pagina is geblokkeerd voor verdere aanpassingen" @@ -542,6 +531,12 @@ msgstr "" msgid "Add child page" msgstr "Voeg child pagina toe" +msgid "Previous" +msgstr "Vorige" + +msgid "Next" +msgstr "Volgende" + msgid "This page is protected from public view" msgstr "Deze pagina is beschermd tegen publieke zichtbaarheid" @@ -562,29 +557,11 @@ msgstr "Selecteer een nieuwe ouderpagina voor %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Selecteer een nieuwe ouderpagina voor %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -" Er is een passende pagina\n" -" " -msgstr[1] "" -"\n" -" Er zijn %(counter)s passende pagina's\n" -" " - msgid "Other searches" msgstr "Andere zoekresultaten" msgid "Images" -msgstr "Plaatjes" +msgstr "Afbeeldingen" msgid "Documents" msgstr "Documenten" @@ -592,16 +569,6 @@ msgstr "Documenten" msgid "Users" msgstr "Gebruikers" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Pagina %(page_number)s van %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" @@ -715,9 +682,6 @@ msgstr "Voeg een kindpagina toe" msgid "Add" msgstr "Toevoegen" -msgid "This slug is already in use" -msgstr "Deze slug is al ingebruik" - #, python-brace-format msgid "Page '{0}' created." msgstr "Pagina '{0}' aangemaakt." @@ -732,6 +696,12 @@ msgstr "Pagina '{0}' gepubliceerd." msgid "The page could not be saved due to validation errors" msgstr "Deze pagina kon niet opgeslagen worden vanwege validatie fouten" +msgid "This slug is already in use" +msgstr "Deze slug is al ingebruik" + +msgid "Expiry date/time must be in the future" +msgstr "Vervaldatum moet in de toekomst zijn." + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Pagina '{0}' verwijderd" @@ -748,6 +718,19 @@ msgstr "Pagina '{0}' en {1} subpaginas gekopieerd." msgid "Page '{0}' copied." msgstr "Pagina '{0}' gekopieerd." +msgid "Content" +msgstr "Inhoud" + +msgid "Promote" +msgstr "Promoot" + +msgid "Settings" +msgstr "Instellingen" + +#, python-brace-format +msgid "Page '{0}' is now locked." +msgstr "Pagina '{0}' is geblokkeerd." + msgid "Choose an item" msgstr "Kies een item" diff --git a/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.mo index b493a1506..22aab7ff4 100644 Binary files a/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.po index c3a47780f..609d16526 100644 --- a/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/pl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 11:48+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -161,6 +161,15 @@ msgstr "Kokpit" msgid "Menu" msgstr "Menu" +msgid "Move up" +msgstr "Przesuń w górę" + +msgid "Move down" +msgstr "Przesuń w dół" + +msgid "Delete" +msgstr "Usuń" + msgid "Explorer" msgstr "Przeglądarka" @@ -185,15 +194,6 @@ msgstr "Wstaw link" msgid "Add an external link" msgstr "Dodaj link zewnętrzny" -msgid "Move up" -msgstr "Przesuń w górę" - -msgid "Move down" -msgstr "Przesuń w dół" - -msgid "Delete" -msgstr "Usuń" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Witamy na %(site_name)s Wagtail CMS" @@ -455,19 +455,6 @@ msgstr "Przeglądaj %(title)s" msgid "Drag" msgstr "Przeciągnij" -msgid "No pages have been created." -msgstr "Żadna strona nie została stworzona" - -#, python-format -msgid "Why not add one?" -msgstr "Czemu nie dodać kilku?" - -msgid "Previous" -msgstr "Wstecz" - -msgid "Next" -msgstr "Naprzód" - msgid "Explore" msgstr "Przeglądaj" @@ -485,6 +472,12 @@ msgstr "Dodaj podstronę" msgid "Add child page" msgstr "Dodaj stronę podrzędną" +msgid "Previous" +msgstr "Wstecz" + +msgid "Next" +msgstr "Naprzód" + msgid "Disable ordering of child pages" msgstr "Wyłącz sortowanie stron podrzędnych" @@ -502,28 +495,6 @@ msgstr "Wybierz nową stronę nadrzędną dla %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Wybierz nową stronę nadrzędną dla %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -" Jest jedna pasująca strona\n" -" " -msgstr[1] "" -"\n" -" Są %(counter)s pasujące strony\n" -" " -msgstr[2] "" -"\n" -" Jest %(counter)s pasujących stron\n" -" " - msgid "Other searches" msgstr "Inne wyszukiwania" @@ -536,16 +507,6 @@ msgstr "Dokumenty" msgid "Users" msgstr "Użytkownicy" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Strona %(page_number)s z %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Przepraszamy, żadna strona nie pasuje do \"%(query_string)s\"" @@ -645,15 +606,6 @@ msgstr "Twoje hasło zostało zmienione poprawnie!" msgid "Your preferences have been updated successfully!" msgstr "Twoje ustawienia zostały zaktualizowane!" -msgid "This slug is already in use" -msgstr "Ten slug jest już w użyciu" - -msgid "Go live date/time must be before expiry date/time" -msgstr "Data/czas publikacji musi być wcześniejszy niż data wykończenia" - -msgid "Expiry date/time must be in the future" -msgstr "Data/czas wykończenia musi znajdować się w przyszłości." - #, python-brace-format msgid "Page '{0}' created." msgstr "Stworzono stronę '{0}'." @@ -679,6 +631,15 @@ msgstr "Strona nie mogła zostać zapisana z powodu błędów poprawności." msgid "This page is currently awaiting moderation" msgstr "Ta strona oczekuje na przejrzenie." +msgid "This slug is already in use" +msgstr "Ten slug jest już w użyciu" + +msgid "Go live date/time must be before expiry date/time" +msgstr "Data/czas publikacji musi być wcześniejszy niż data wykończenia" + +msgid "Expiry date/time must be in the future" +msgstr "Data/czas wykończenia musi znajdować się w przyszłości." + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Usunięto stronę '{0}'." diff --git a/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.mo index 0a14f968f..66f7da0d7 100644 Binary files a/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.po index 8bdc35dc9..c9fb0c4bc 100644 --- a/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/pt_BR/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-05-02 04:13+0000\n" -"Last-Translator: Douglas Miranda \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -64,10 +64,10 @@ msgid "New slug" msgstr "Novo slug" msgid "New parent page" -msgstr "Nova página pai" +msgstr "Nova página raíz" msgid "This copy will be a child of this given parent page." -msgstr "Esta cópia será uma filha desta página pai" +msgstr "Esta cópia será uma subpágina desta página raíz." msgid "Copy subpages" msgstr "Copiar subpáginas" @@ -82,7 +82,7 @@ msgid "Publish copied page" msgstr "Publicar página copiada" msgid "This page is live. Would you like to publish its copy as well?" -msgstr "Esta página está ao vivo. Gostaria de publicar sua cópia também?" +msgstr "Esta página está publicada. Gostaria de publicar sua cópia também?" msgid "Publish copies" msgstr "Publicar cópias" @@ -98,13 +98,13 @@ msgstr[0] "" "%(count)s página está sendo copiada ao vivo. Você gostaria de publicar sua " "cópia?" msgstr[1] "" -"%(count)s das páginas que estão sendo copiadas, estão ao vivo. Você gostaria " -"de publicar suas cópias?" +"%(count)s das páginas que estão sendo copiadas, estão publicadas. Você " +"gostaria de publicar suas cópias?" #, python-format msgid "" "This slug is already in use within the context of its parent page \"%s\"" -msgstr "Este endereço já está em uso no contexto desta página pai \"%s\"" +msgstr "Este endereço já está em uso no contexto desta página raíz \"%s\"" msgid "Public" msgstr "Público" @@ -126,9 +126,9 @@ msgid "" "address. With a Gravatar account you can set an avatar for any number of " "other email addresses you use." msgstr "" -"Sua imagem é fornecido pelo Gravatar e está ligado ao seu e-mail. Com sua " -"conta do Gravatar você pode definir um avatar para qualquer quantidade de e-" -"mails que você usa." +"Sua imagem de exibição é fornecida pelo Gravatar e está conectada ao seu " +"endereço de e-mail. Com uma conta Gravatar você pode definir uma imagem de " +"exibição para qualquer e-mail que você usa." msgid "Change password" msgstr "Alterar senha" @@ -194,6 +194,15 @@ msgstr "Menu" msgid "Add another" msgstr "Adicionar outro" +msgid "Move up" +msgstr "Mover para cima" + +msgid "Move down" +msgstr "Mover para baixo" + +msgid "Delete" +msgstr "Excluir" + msgid "Explorer" msgstr "Explorador" @@ -206,17 +215,6 @@ msgstr "Link externo" msgid "Email link" msgstr "Link de e-mail" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -"Somente páginas do tipo \"%(type)s\" podem ser escolhidas para este campo. " -"Os resultados da busca não irão conter páginas de outros tipos." - #, python-format msgid "" "\n" @@ -248,15 +246,6 @@ msgstr "Insira um link" msgid "Add an external link" msgstr "Adicione um link externo" -msgid "Move up" -msgstr "Mover para cima" - -msgid "Move down" -msgstr "Mover para baixo" - -msgid "Delete" -msgstr "Excluir" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Bem vindo ao %(site_name)s Wagtail CMS" @@ -275,7 +264,7 @@ msgid "Title" msgstr "Título" msgid "Parent" -msgstr "Pai" +msgstr "Página Raíz" msgid "Type" msgstr "Tipo" @@ -311,7 +300,7 @@ msgid "Draft" msgstr "Rascunho" msgid "Live" -msgstr "Ao vivo" +msgstr "Online" msgid "Site summary" msgstr "Resumo do site" @@ -386,14 +375,15 @@ msgid "Page privacy" msgstr "Página privada" msgid "This page has been made private by a parent page." -msgstr "Essa página foi feita privativa por uma página principal." +msgstr "Essa página foi feita privativa por uma página raíz." msgid "You can edit the privacy settings on:" msgstr "Você pode editar as configurações de privacidade em:" msgid "Privacy changes apply to all children of this page too." msgstr "" -"Alterações na privacidade também se aplicam a todas as filhas desta página" +"Alterações na privacidade também se aplicam a todas as subpáginas desta " +"página." msgid "Edit lock" msgstr "Editar bloqueio" @@ -553,34 +543,11 @@ msgstr "por %(modified_by)s" msgid "Exploring %(title)s" msgstr "Explorando %(title)s" -msgid "Updated" -msgstr "Atualizada" - msgid "Drag" msgstr "Arrastar" -msgid "No pages have been created." -msgstr "Nenhuma página foi criada." - -#, python-format -msgid "Why not add one?" -msgstr "Por que não adicionar uma?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Página %(page_number)s de %(num_pages)s.\n" -" " - -msgid "Previous" -msgstr "Anterior" - -msgid "Next" -msgstr "Próximo" +msgid "Updated" +msgstr "Atualizada" msgid "This page is locked to further editing" msgstr "Esta página está bloqueada para futuras edições" @@ -613,6 +580,12 @@ msgstr "" msgid "Add child page" msgstr "Adicionar subpágina" +msgid "Previous" +msgstr "Anterior" + +msgid "Next" +msgstr "Próximo" + msgid "This page is protected from public view" msgstr "Esta página está protegida da visualização pública" @@ -627,29 +600,11 @@ msgstr "Habilitar ordenação de subpáginas" #, python-format msgid "Select a new parent page for %(title)s" -msgstr "Selecione uma nova página pai para %(title)s" +msgstr "Selecione uma nova página raíz para %(title)s" #, python-format msgid "Select a new parent page for %(title)s" -msgstr "Selecione uma nova página pai %(title)s" - -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -" Há uma página correspondente\n" -" " -msgstr[1] "" -"\n" -" Existem %(counter)s páginas que correspondem\n" -" " +msgstr "Selecione uma nova página raíz para %(title)s" msgid "Other searches" msgstr "Outras buscas" @@ -663,16 +618,6 @@ msgstr "Documentos" msgid "Users" msgstr "Usuários" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Página %(page_number)s de %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" @@ -792,15 +737,6 @@ msgstr "Sua senha foi alterada com sucesso!" msgid "Your preferences have been updated successfully!" msgstr "Suas preferências foram atualizadas com sucesso!" -msgid "This slug is already in use" -msgstr "Esse endereço já existe" - -msgid "Go live date/time must be before expiry date/time" -msgstr "Data/hora para ficar online deve ser antes da data/hora de expiração" - -msgid "Expiry date/time must be in the future" -msgstr "Data/hora de expiração deve ser no futuro." - #, python-brace-format msgid "Page '{0}' created and published." msgstr "Página '{0}' criada e publicada." @@ -843,6 +779,15 @@ msgstr "A página não pode ser salva devido a erros de validação" msgid "This page is currently awaiting moderation" msgstr "Essa página está atualmente esperando moderação" +msgid "This slug is already in use" +msgstr "Esse endereço já existe" + +msgid "Go live date/time must be before expiry date/time" +msgstr "Data/hora para ficar online deve ser antes da data/hora de expiração" + +msgid "Expiry date/time must be in the future" +msgstr "Data/hora de expiração deve ser no futuro." + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Página '{0}' excluida." diff --git a/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.mo index ac9489d45..add8b600c 100644 Binary files a/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.po index 7817fd16a..41055718d 100644 --- a/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/pt_PT/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-29 17:37+0000\n" -"Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -195,6 +195,15 @@ msgstr "Menu" msgid "Add another" msgstr "Adicionar outro" +msgid "Move up" +msgstr "Mover para cima" + +msgid "Move down" +msgstr "Mover para baixo" + +msgid "Delete" +msgstr "Apagar" + msgid "Explorer" msgstr "Explorador" @@ -207,17 +216,6 @@ msgstr "Link externo" msgid "Email link" msgstr "Link de e-mail" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -"Só páginas do tipo \"%(type)s\" podem ser escolhidas para este campo. Os " -"resultados de pesquisa irão excluir páginas de outros tipos." - #, python-format msgid "" "\n" @@ -249,15 +247,6 @@ msgstr "Inserir link" msgid "Add an external link" msgstr "Adicionar link externo" -msgid "Move up" -msgstr "Mover para cima" - -msgid "Move down" -msgstr "Mover para baixo" - -msgid "Delete" -msgstr "Apagar" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Bem vindo ao %(site_name)s Wagtail CMS" @@ -556,34 +545,11 @@ msgstr "por %(modified_by)s" msgid "Exploring %(title)s" msgstr "A explorar %(title)s" -msgid "Updated" -msgstr "Atualizada" - msgid "Drag" msgstr "Arrastar" -msgid "No pages have been created." -msgstr "Nenhuma página foi criada." - -#, python-format -msgid "Why not add one?" -msgstr "Porque não criar uma?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Página %(page_number)s de %(num_pages)s.\n" -" " - -msgid "Previous" -msgstr "Anterior" - -msgid "Next" -msgstr "Próxima" +msgid "Updated" +msgstr "Atualizada" msgid "This page is locked to further editing" msgstr "Esta página está bloqueada para edição" @@ -616,6 +582,12 @@ msgstr "" msgid "Add child page" msgstr "Adicionar página filha" +msgid "Previous" +msgstr "Anterior" + +msgid "Next" +msgstr "Próxima" + msgid "This page is protected from public view" msgstr "Esta página está protegida contra visualização pública" @@ -636,24 +608,6 @@ msgstr "Selecione uma nova página mãe para %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Selecione uma nova página mãe para %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -"Há uma página correspondente\n" -" " -msgstr[1] "" -"\n" -"Há %(counter)s páginas correspondentes\n" -" " - msgid "Other searches" msgstr "Outras pesquisas" @@ -666,16 +620,6 @@ msgstr "Documentos" msgid "Users" msgstr "Utilizadores" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Página %(page_number)s de %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Desculpe, nenhuma página satisfaz \"%(query_string)s\"" @@ -792,15 +736,6 @@ msgstr "A sua senha foi alterada com sucesso!" msgid "Your preferences have been updated successfully!" msgstr "As suas preferências foram atualizadas com sucesso!" -msgid "This slug is already in use" -msgstr "Esse “slug” já existe" - -msgid "Go live date/time must be before expiry date/time" -msgstr "A data/hora de publicação tem de ser anterior à data/hora terminal" - -msgid "Expiry date/time must be in the future" -msgstr "A data/hora terminal deve ficar no futuro" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "Página '{0}' criada e publicada." @@ -843,6 +778,15 @@ msgstr "A página não pôde ser guardada devido a erros de validação" msgid "This page is currently awaiting moderation" msgstr "Esta página aguarda moderação" +msgid "This slug is already in use" +msgstr "Esse “slug” já existe" + +msgid "Go live date/time must be before expiry date/time" +msgstr "A data/hora de publicação tem de ser anterior à data/hora terminal" + +msgid "Expiry date/time must be in the future" +msgstr "A data/hora terminal deve ficar no futuro" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Página '{0}' apagada." diff --git a/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.mo index 5be1cf214..9427351ab 100644 Binary files a/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.po index b0aba385a..7bffdf557 100644 --- a/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/ro/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 11:48+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-03 19:59+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -35,6 +35,10 @@ msgstr "Termen de căutare" msgid "Enter password" msgstr "Introduceți parola" +#, python-format +msgid "Enter your %s" +msgstr "Introduceți %s" + msgid "Enter your email address to reset your password" msgstr "Introduceți adresa de e-mail pentru a reseta parola" @@ -54,6 +58,9 @@ msgstr "Adresa e-mail nu este recunoscută." msgid "New title" msgstr "Titlu nou" +msgid "New parent page" +msgstr "Pagină părinte nouă" + msgid "Copy subpages" msgstr "Copiere subpagini" @@ -144,6 +151,15 @@ msgstr "Bord" msgid "Menu" msgstr "Meniu" +msgid "Move up" +msgstr "Deplasează în sus" + +msgid "Move down" +msgstr "Deplasează în jos" + +msgid "Delete" +msgstr "Șterge" + msgid "Explorer" msgstr "Explorator" @@ -156,6 +172,26 @@ msgstr "Link extern" msgid "Email link" msgstr "Link e-mail" +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Există o potrivire" +msgstr[1] "" +"\n" +"Sunt %(counter)s potriviri" +msgstr[2] "" +"\n" +"\n" +"Sunt %(counter)s potriviri" + msgid "Choose" msgstr "Alege" @@ -171,15 +207,6 @@ msgstr "Inserează link" msgid "Add an external link" msgstr "Adaugă un link extern" -msgid "Move up" -msgstr "Deplasează în sus" - -msgid "Move down" -msgstr "Deplasează în jos" - -msgid "Delete" -msgstr "Șterge" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "Bine ați venit la %(site_name)s Wagtail CMS" @@ -259,6 +286,9 @@ msgstr "Pagina \"%(title)s\" a fost aprobată." msgid "You can view the page here:" msgstr "Puteți vedea pagina aici:" +msgid "Edit your notification preferences here:" +msgstr "Editează preferințele de notificare aici:" + #, python-format msgid "The page \"%(title)s\" has been rejected" msgstr "Pagina \"%(title)s\" a fost respinsă" @@ -434,33 +464,11 @@ msgstr "de către %(modified_by)s" msgid "Exploring %(title)s" msgstr "Explorare %(title)s" -msgid "Updated" -msgstr "Actualizată" - msgid "Drag" msgstr "Glisează" -msgid "No pages have been created." -msgstr "Nu a fost creată nici o pagină." - -#, python-format -msgid "Why not add one?" -msgstr "De ce să nu adăugați una?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Pagina %(page_number)s din %(num_pages)s." - -msgid "Previous" -msgstr "Precedent" - -msgid "Next" -msgstr "Următor" +msgid "Updated" +msgstr "Actualizată" msgid "Explore" msgstr "Explorează" @@ -479,6 +487,12 @@ msgstr "Adaugă subpagină" msgid "Add child page" msgstr "Adaugă pagină dependentă" +msgid "Previous" +msgstr "Precedent" + +msgid "Next" +msgstr "Următor" + msgid "Disable ordering of child pages" msgstr "Dezactivează rânduirea paginilor dependente" @@ -496,25 +510,6 @@ msgstr "Alege o pagină de bază nouă pentru %(title)s" msgid "Select a new parent page for %(title)s" msgstr "Alege o pagină de bază nouă pentru %(title)s" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -"O singură pagină se potrivește" -msgstr[1] "" -"\n" -"%(counter)s pagini se potrivesc" -msgstr[2] "" -"\n" -"%(counter)s pagini se potrivesc" - msgid "Other searches" msgstr "Alte căutări" @@ -527,15 +522,6 @@ msgstr "Documente" msgid "Users" msgstr "Utilizatori" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -"Pagina %(page_number)s din %(num_pages)s." - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "" @@ -636,16 +622,6 @@ msgstr "Parola a fost schimbată cu succes!" msgid "Your preferences have been updated successfully!" msgstr "Preferințele au fost schimbare cu success!" -msgid "This slug is already in use" -msgstr "Această fisă a fost deja folosită" - -msgid "Go live date/time must be before expiry date/time" -msgstr "" -"Data/timpul de publicare trebuie să fie înaintea datei/timpului de expirare" - -msgid "Expiry date/time must be in the future" -msgstr "Data/timpul de expirare trebuie să fie în viitor" - #, python-brace-format msgid "Page '{0}' created." msgstr "Pagina '{0}' a fost creată." @@ -674,6 +650,16 @@ msgstr "Pagina nu a fost salvată din cauza erorilor de validare." msgid "This page is currently awaiting moderation" msgstr "Această pagină este în moderare" +msgid "This slug is already in use" +msgstr "Această fisă a fost deja folosită" + +msgid "Go live date/time must be before expiry date/time" +msgstr "" +"Data/timpul de publicare trebuie să fie înaintea datei/timpului de expirare" + +msgid "Expiry date/time must be in the future" +msgstr "Data/timpul de expirare trebuie să fie în viitor" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Pagina '{0}' a fost ștearsă." diff --git a/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.mo index 02a503514..51c9518a1 100644 Binary files a/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.po index 027f28401..d991bbdae 100644 --- a/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/ru/LC_MESSAGES/django.po @@ -15,10 +15,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-29 18:40+0000\n" -"Last-Translator: mattwestcott \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 21:40+0000\n" +"Last-Translator: Eugene MechanisM \n" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgid "Scheduled publishing" msgstr "Отложенная публикация" msgid "Common page configuration" -msgstr "Общие настройки страниц" +msgstr "Общие настройки страниц" msgid "Search" msgstr "Поиск" @@ -48,20 +48,20 @@ msgid "Enter your %s" msgstr "Введите ваш %s" msgid "Enter your email address to reset your password" -msgstr "Введите Ваш адрес электронной почты для сброса пароля" +msgstr "Введите ваш адрес электронной почты для сброса пароля" msgid "Please fill your email address." -msgstr "Пожалуйста, заполните Ваш адрес электронной почты" +msgstr "Пожалуйста, заполните ваш адрес электронной почты" msgid "" "Sorry, you cannot reset your password here as your user account is managed " "by another server." msgstr "" -"Извините, Вы не можете сбросить пароль здесь, так как Ваш аккаунт " -"управляется другим сервером" +"Извините, вы не можете сбросить пароль здесь, так как ваш аккаунт " +"управляется другим сервером." msgid "This email address is not recognised." -msgstr "Этот адрес электронной почты не распознан" +msgstr "Этот адрес электронной почты не распознан." msgid "New title" msgstr "Новый заголовок" @@ -141,15 +141,15 @@ msgid "" "address. With a Gravatar account you can set an avatar for any number of " "other email addresses you use." msgstr "" -"Ваша аватарка предоставляется сервисом Gravatar и привязана к вашему адресу " -"e-mail. С помощью аккаунта в Gravatar вы можете установить аватарку для " -"любого количества e-mail адресов, которыми пользуетесь." +"Ваш аватар предоставляется сервисом Gravatar и привязан к вашему адресу e-" +"mail. С помощью аккаунта Gravatar вы можете установить аватар для любого " +"количества e-mail адресов, которыми пользуетесь." msgid "Change password" msgstr "Изменить пароль" msgid "Change the password you use to log in." -msgstr "Изменить пароль, который Вы используете для входа." +msgstr "Изменить пароль, который вы используете для входа." msgid "Notification preferences" msgstr "Настройки уведомлений" @@ -191,7 +191,7 @@ msgid "Check your email" msgstr "Проверьте электронную почту" msgid "A link to reset your password has been emailed to you." -msgstr "Ссылка для смены пароля отправлена на Ваш адрес электронной почты." +msgstr "Ссылка для смены пароля отправлена на ваш адрес электронной почты." msgid "Please follow the link below to reset your password" msgstr "Пожалуйста, используйте данную ссылку для сброса пароля" @@ -200,7 +200,7 @@ msgid "Password reset" msgstr "Пароль сброшен" msgid "Reset your password" -msgstr "Сбросьте Ваш пароль" +msgstr "Сбросьте ваш пароль" msgid "Dashboard" msgstr "Панель управления" @@ -211,6 +211,15 @@ msgstr "Меню" msgid "Add another" msgstr "Добавить еще" +msgid "Move up" +msgstr "Двигать наверх" + +msgid "Move down" +msgstr "Двигать вниз" + +msgid "Delete" +msgstr "Удалить" + msgid "Explorer" msgstr "Проводник" @@ -223,18 +232,6 @@ msgstr "Внешняя ссылка" msgid "Email link" msgstr "Ссылка на адрес электронной почты" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -" Только страницы типа \"%(type)s\" могут быть использованы для этого " -"поля. В результатах поиска будут исключены страницы других типов.\n" -" " - #, python-format msgid "" "\n" @@ -246,19 +243,16 @@ msgid_plural "" " " msgstr[0] "" "\n" -" Нашлось одно совпадение\n" -" " +"Нашлось одно совпадение" msgstr[1] "" "\n" -" Нашлось %(counter)s совпадений\n" -" " +"Нашлось %(counter)s совпадений" msgstr[2] "" "\n" -" Нашлось %(counter)s совпадений" +"Нашлось %(counter)s совпадений" msgstr[3] "" "\n" -" Нашлось %(counter)s совпадений\n" -" " +"Нашлось %(counter)s совпадений" msgid "Choose" msgstr "Выбрать" @@ -275,14 +269,11 @@ msgstr "Вставить ссылку" msgid "Add an external link" msgstr "Добавить внешнюю ссылку" -msgid "Move up" -msgstr "Вверх" +msgid "Yes, delete" +msgstr "Да, удалить" -msgid "Move down" -msgstr "Вниз" - -msgid "Delete" -msgstr "Удалить" +msgid "Save" +msgstr "Сохранить" #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" @@ -292,8 +283,8 @@ msgid "" "This is your dashboard on which helpful information about content you've " "created will be displayed." msgstr "" -"Это Ваша панель управления сайтом. Здесь отображается различная информация о " -"контенте, который Вы создаете." +"Это ваша панель управления сайтом. Здесь отображается различная информация о " +"контенте, который вы создаете." msgid "Pages awaiting moderation" msgstr "Страницы ожидающие модерации" @@ -479,19 +470,16 @@ msgid_plural "" " " msgstr[0] "" "\n" -"Это так-же удалит еще одну субстраницу." +"Это так же удалит еще одну субстраницу." msgstr[1] "" "\n" -" Это так-же удалит еще %(descendant_count)s субстраниц.\n" -" " +"Это так же удалит еще %(descendant_count)s субстраниц." msgstr[2] "" "\n" -" Это так-же удалит еще %(descendant_count)s субстраниц.\n" -" " +"Это так же удалит еще %(descendant_count)s субстраниц." msgstr[3] "" "\n" -" Это так-же удалит еще %(descendant_count)s субстраниц.\n" -" " +"Это так же удалит еще %(descendant_count)s субстраниц." msgid "" "Alternatively you can unpublish the page. This removes the page from public " @@ -597,34 +585,11 @@ msgstr "от %(modified_by)s" msgid "Exploring %(title)s" msgstr "Обзор %(title)s" -msgid "Updated" -msgstr "Обновлено" - msgid "Drag" msgstr "Перетянуть" -msgid "No pages have been created." -msgstr "Страниц не было создано." - -#, python-format -msgid "Why not add one?" -msgstr "Почему бы не добавить одну?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Страница %(page_number)s из %(num_pages)s.\n" -" " - -msgid "Previous" -msgstr "Предыдущая" - -msgid "Next" -msgstr "Следующая" +msgid "Updated" +msgstr "Обновлено" msgid "This page is locked to further editing" msgstr "Эта страница заблокирована для дальнейшего редактирования" @@ -657,6 +622,12 @@ msgstr "" msgid "Add child page" msgstr "Добавить дочернюю страницу" +msgid "Previous" +msgstr "Предыдущая" + +msgid "Next" +msgstr "Следующая" + msgid "This page is protected from public view" msgstr "Эта страница защещена от публичного просмотра" @@ -680,28 +651,25 @@ msgstr "Выбрать новую родительскую страницу дл #, python-format msgid "" "\n" -" There is one matching page\n" -" " +" There is one matching page\n" +" " msgid_plural "" "\n" -" There are %(counter)s matching pages\n" -" " +" There are %(counter)s matching pages\n" +" " msgstr[0] "" "\n" -" Найдена одна совпадающая страница\n" -" " +"Имеется одна совпадающая страница" msgstr[1] "" "\n" -" Найдено %(counter)s совпадающих страниц\n" -" " +"Имеется %(counter)s совпадающих страниц" msgstr[2] "" "\n" -" Найдено %(counter)s совпадающих страниц\n" -" " +"Имеется %(counter)s совпадающих страниц" msgstr[3] "" "\n" -" Найдено %(counter)s совпадающих страниц\n" -" " +" Имеется %(counter)s совпадающих страниц\n" +" " msgid "Other searches" msgstr "Другие поиски" @@ -715,16 +683,6 @@ msgstr "Документы" msgid "Users" msgstr "Пользователи" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" Страница %(page_number)s из %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Извините, подходящих страниц не найдено \"%(query_string)s\"" @@ -804,7 +762,7 @@ msgstr[2] "Использовано %(useage_count)s раз" msgstr[3] "Использовано %(useage_count)s раз" msgid "Edit your account" -msgstr "Править ваш аккаунт" +msgstr "Редактировать ваш аккаунт" msgid "Log out" msgstr "Выйти" @@ -818,11 +776,12 @@ msgid "" "software. Please upgrade your browser." msgstr "" -"Вы используете устаревший не поддерживаемый этим сайтом. " -"Пожалуйста, обновите ваш браузер." +"Вы используете устаревший браузер не поддерживаемый этим " +"сайтом. Пожалуйста, обновите ваш " +"браузер." msgid "Javascript is required to use Wagtail, but it is currently disabled" -msgstr "Необходим javascript для использования Wagtail, но сейчас он отключен" +msgstr "Javascript необходим для использования Wagtail, но сейчас он отключен" msgid "User bar" msgstr "Панель пользователя" @@ -842,16 +801,6 @@ msgstr "Ваш пароль успешно изменен!" msgid "Your preferences have been updated successfully!" msgstr "Ваши настройки успешно изменены!" -msgid "This slug is already in use" -msgstr "Этот слаг уже используется" - -msgid "Go live date/time must be before expiry date/time" -msgstr "" -"Дата/время публикации должно быть раньше даты/времени снятия с публикации." - -msgid "Expiry date/time must be in the future" -msgstr "Дата/время снятия с публикации должно быть в будущем." - #, python-brace-format msgid "Page '{0}' created and published." msgstr "Страница '{0}' создана и опубликована." @@ -894,6 +843,16 @@ msgstr "Страница не может быть сохранена из-за msgid "This page is currently awaiting moderation" msgstr "Эта страница в данный момент ожидает модерации" +msgid "This slug is already in use" +msgstr "Этот слаг уже используется" + +msgid "Go live date/time must be before expiry date/time" +msgstr "" +"Дата/время публикации должно быть раньше даты/времени снятия с публикации." + +msgid "Expiry date/time must be in the future" +msgstr "Дата/время снятия с публикации должно быть в будущем." + #, python-brace-format msgid "Page '{0}' deleted." msgstr "Страница '{0}' удалена." @@ -949,7 +908,7 @@ msgid "Clear choice" msgstr "Очистить выбор" msgid "Edit this item" -msgstr "Править этот пункт" +msgstr "Редактировать этот пункт" msgid "Choose another page" msgstr "Выбрать другую страницу" diff --git a/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.mo index 1a5e91b1b..1ae5f3894 100644 Binary files a/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.po index 3344caeb9..b554c5faf 100644 --- a/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/zh/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-17 11:48+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -102,6 +102,15 @@ msgstr "仪表板" msgid "Menu" msgstr "菜单" +msgid "Move up" +msgstr "向上移动" + +msgid "Move down" +msgstr "向下移动" + +msgid "Delete" +msgstr "删除" + msgid "Explorer" msgstr "浏览" @@ -126,15 +135,6 @@ msgstr "插入一个链接" msgid "Add an external link" msgstr "添加一个外部链接" -msgid "Move up" -msgstr "向上移动" - -msgid "Move down" -msgstr "向下移动" - -msgid "Delete" -msgstr "删除" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "欢迎来到%(site_name)s的Wagtail内容管理系统" @@ -327,19 +327,6 @@ msgstr "浏览%(title)s" msgid "Drag" msgstr "拖动" -msgid "No pages have been created." -msgstr "没有已保存的页面" - -#, python-format -msgid "Why not add one?" -msgstr "为什么不添加一页?" - -msgid "Previous" -msgstr "向前" - -msgid "Next" -msgstr "往后" - msgid "Explore" msgstr "浏览" @@ -353,6 +340,12 @@ msgstr "添加子页面" msgid "Add child page" msgstr "添加子页面" +msgid "Previous" +msgstr "向前" + +msgid "Next" +msgstr "往后" + msgid "Disable ordering of child pages" msgstr "禁止自页面的顺序" @@ -379,16 +372,6 @@ msgstr "文档" msgid "Users" msgstr "用户" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" 第 %(page_number)s / %(num_pages)s页.\n" -" " - msgid "Enter a search term above" msgstr "请在上面输入搜索词" @@ -405,9 +388,6 @@ msgstr "第%(page_num)s页 共%(total_pages)s页" msgid "Your password has been changed successfully!" msgstr "您的密码已经更改成功。" -msgid "This slug is already in use" -msgstr "这个唯一的地址已被占用" - #, python-brace-format msgid "Page '{0}' created." msgstr "第 '{0}' 页已创建。" @@ -430,6 +410,9 @@ msgstr "这页无法保存,因为页面发生验证错误" msgid "This page is currently awaiting moderation" msgstr "这页正在等待审核" +msgid "This slug is already in use" +msgstr "这个唯一的地址已被占用" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "第 '{0}' 页已删除" diff --git a/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.mo index 7274fa312..d4467fcba 100644 Binary files a/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.po index 2d270cc87..f96bbcf9e 100644 --- a/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailadmin/locale/zh_CN/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-29 16:35+0000\n" -"Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -185,6 +185,15 @@ msgstr "菜单" msgid "Add another" msgstr "添加另外一个" +msgid "Move up" +msgstr "上移" + +msgid "Move down" +msgstr "下移" + +msgid "Delete" +msgstr "删除" + msgid "Explorer" msgstr "资源管理" @@ -197,17 +206,6 @@ msgstr "外部链接" msgid "Email link" msgstr "电子邮件连接" -#, python-format -msgid "" -"\n" -" Only pages of type \"%(type)s\" may be chosen for this field. Search " -"results will exclude pages of other types.\n" -" " -msgstr "" -"\n" -" 这里只能选择 \"%(type)s\"类型的页面。搜索结果会过滤掉其它类型。\n" -" " - #, python-format msgid "" "\n" @@ -237,15 +235,6 @@ msgstr "插入链接" msgid "Add an external link" msgstr "添加一个外部链接" -msgid "Move up" -msgstr "上移" - -msgid "Move down" -msgstr "下移" - -msgid "Delete" -msgstr "删除" - #, python-format msgid "Welcome to the %(site_name)s Wagtail CMS" msgstr "欢迎使用 %(site_name)s Wagtail CMS" @@ -529,34 +518,11 @@ msgstr "被 %(modified_by)s" msgid "Exploring %(title)s" msgstr "浏览 %(title)s" -msgid "Updated" -msgstr "已更新" - msgid "Drag" msgstr "拖曳" -msgid "No pages have been created." -msgstr "还没有创建页面。" - -#, python-format -msgid "Why not add one?" -msgstr "为啥不创建一个?" - -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" 页面 %(page_number)s / %(num_pages)s.\n" -" " - -msgid "Previous" -msgstr "上一个" - -msgid "Next" -msgstr "下一个" +msgid "Updated" +msgstr "已更新" msgid "This page is locked to further editing" msgstr "此页面已锁定,无法编辑" @@ -587,6 +553,12 @@ msgstr "此页面已发布,但并没有配置站点,所以无法查看。" msgid "Add child page" msgstr "添加子页面" +msgid "Previous" +msgstr "上一个" + +msgid "Next" +msgstr "下一个" + msgid "This page is protected from public view" msgstr "此页面已受保护,公众不可见。" @@ -607,20 +579,6 @@ msgstr "为 %(title)s选择新父节点" msgid "Select a new parent page for %(title)s" msgstr "为%(title)s选择新的父节点" -#, python-format -msgid "" -"\n" -" There is one matching page\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matching pages\n" -" " -msgstr[0] "" -"\n" -" 有%(counter)s个符合要求的页面\n" -" " - msgid "Other searches" msgstr "其它搜索" @@ -633,16 +591,6 @@ msgstr "文档" msgid "Users" msgstr "用户" -#, python-format -msgid "" -"\n" -" Page %(page_number)s of %(num_pages)s.\n" -" " -msgstr "" -"\n" -" 页面 %(page_number)s / %(num_pages)s.\n" -" " - #, python-format msgid "Sorry, no pages match \"%(query_string)s\"" msgstr "Sorry,没有符合\"%(query_string)s\"的页面" @@ -757,15 +705,6 @@ msgstr "密码成功修改!" msgid "Your preferences have been updated successfully!" msgstr "参数成功更新!" -msgid "This slug is already in use" -msgstr "此缩略名已被使用" - -msgid "Go live date/time must be before expiry date/time" -msgstr "发布日期/时间必须早于过期日期/时间" - -msgid "Expiry date/time must be in the future" -msgstr "过期日期/时间必须是未来时间。" - #, python-brace-format msgid "Page '{0}' created and published." msgstr "页面'{0}'已创建并发布。" @@ -808,6 +747,15 @@ msgstr "页面无法保存。出现验证错误。" msgid "This page is currently awaiting moderation" msgstr "页面等待审核中" +msgid "This slug is already in use" +msgstr "此缩略名已被使用" + +msgid "Go live date/time must be before expiry date/time" +msgstr "发布日期/时间必须早于过期日期/时间" + +msgid "Expiry date/time must be in the future" +msgstr "过期日期/时间必须是未来时间。" + #, python-brace-format msgid "Page '{0}' deleted." msgstr "页面'{0}'已删除" diff --git a/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js b/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js index 906984e90..8bf57af0f 100644 --- a/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js +++ b/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js @@ -8,6 +8,12 @@ function buildExpandingFormset(prefix, opts) { var totalFormsInput = $('#' + prefix + '-TOTAL_FORMS'); var formCount = parseInt(totalFormsInput.val(), 10); + if (opts.onInit) { + for (var i = 0; i < formCount; i++) { + opts.onInit(i); + } + } + var emptyFormTemplate = document.getElementById(prefix + '-EMPTY_FORM_TEMPLATE'); if (emptyFormTemplate.innerText) { emptyFormTemplate = emptyFormTemplate.innerText; @@ -20,9 +26,8 @@ function buildExpandingFormset(prefix, opts) { .replace(/__prefix__/g, formCount) .replace(/<-(-*)\/script>/g, '<$1/script>'); formContainer.append(newFormHtml); - if (opts.onAdd) { - opts.onAdd(formCount); - } + if (opts.onAdd) opts.onAdd(formCount); + if (opts.onInit) opts.onInit(formCount); formCount++; totalFormsInput.val(formCount); diff --git a/wagtail/wagtailadmin/static_src/wagtailadmin/js/page-chooser.js b/wagtail/wagtailadmin/static_src/wagtailadmin/js/page-chooser.js index 5c4895a84..738e1659f 100644 --- a/wagtail/wagtailadmin/static_src/wagtailadmin/js/page-chooser.js +++ b/wagtail/wagtailadmin/static_src/wagtailadmin/js/page-chooser.js @@ -1,4 +1,4 @@ -function createPageChooser(id, pageType, openAtParentId) { +function createPageChooser(id, pageTypes, openAtParentId) { var chooserElement = $('#' + id + '-chooser'); var pageTitle = chooserElement.find('.title'); var input = $('#' + id); @@ -12,7 +12,7 @@ function createPageChooser(id, pageType, openAtParentId) { ModalWorkflow({ url: initialUrl, - urlParams: { page_type: pageType }, + urlParams: { page_type: pageTypes.join(',') }, responses: { pageChosen: function(pageData) { input.val(pageData.id); diff --git a/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/forms.scss b/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/forms.scss index 96cb1f941..5b4d1742b 100644 --- a/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/forms.scss +++ b/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/forms.scss @@ -238,12 +238,6 @@ input[type=submit], input[type=reset], input[type=button], .button, button{ } } - &:hover{ - background-color: $color-button-hover; - color:white; - border-color:transparent; - } - &.yes{ background-color: $color-button-yes; border:1px solid $color-button-yes; @@ -366,6 +360,16 @@ input[type=submit], input[type=reset], input[type=button], .button, button{ border:0 !important; } + &:hover{ + background-color: $color-button-hover; + color:white; + border-color:transparent; + + &.hover-no{ + background-color: $color-button-no; + } + } + @media screen and (min-width: $breakpoint-mobile){ font-size:0.95em; padding:0 1.4em; @@ -439,6 +443,36 @@ input[type=submit], input[type=reset], input[type=button], button{ } } + +.button-group{ + @include clearfix; + + input[type=submit], input[type=reset], input[type=button], .button, button { + @include border-radius(0); + float:left; + margin-right:1px; + margin-left:0; + + &:only-child{ + @include border-radius(3); + } + &:first-child{ + @include border-radius(3px 0 0 3px); + } + &:last-child{ + @include border-radius(0 3px 3px 0); + margin-right:0; + } + } + + &.button-group-square{ + &,input[type=submit], input[type=reset], input[type=button], .button, button{ + @include border-radius(0); + } + } +} + + .multiple{ padding:0; max-width:1024px - 50px; @@ -475,9 +509,7 @@ input[type=submit], input[type=reset], input[type=button], button{ right:1em; top:1em; color:white; - overflow:hidden; - @include border-radius(2px); - + li{ float:left; margin-right:1px; @@ -489,6 +521,7 @@ input[type=submit], input[type=reset], input[type=button], button{ .disabled{ display:none; + visibility:hidden; } } diff --git a/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/streamfield.scss b/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/streamfield.scss index 4b37cea25..121d8e76c 100644 --- a/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/streamfield.scss +++ b/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/streamfield.scss @@ -8,6 +8,8 @@ li.sequence-member{ &:hover{ background-color:$color-input-focus; + border:1px solid darken($color-input-focus, 10%); + border-width:1px 0; .sequence-member-inner{ > .struct-block > label, @@ -45,6 +47,10 @@ li.sequence-member{ position:relative; padding:1.5em 50px; + .sequence-member:hover{ + border:0; + } + /* sequences within sequences, such as a ListBlock within StructBlock*/ > .sequence .sequence-inner{ @include column(10); @@ -124,25 +130,29 @@ should be borderless and full-width /* Controls for ordering and deletion of items in a sequence */ .sequence-controls{ - @include border-radius(5px); + @include border-radius(2px 0 0 0); @include transition(opacity 0.2s ease); + border:1px solid darken($color-input-focus, 10%); + border-width:1px 1px 0 1px; opacity:0; visibility:hidden; position:absolute; - top:-1.5em; right:1em; + top:-30px; right:0; z-index:1; overflow:visible; background-color:$color-input-focus; - padding:0.2rem 1em; + padding:0 0 0 1em; + height:30px; h3{ margin:0; font-size:0.7rem; display:inline-block; margin-right:1em; - line-height:1.4rem; + line-height:1.8rem; label{ + color: $color-teal; font-weight:normal; text-transform:uppercase; float:none; @@ -153,9 +163,8 @@ should be borderless and full-width } button.icon.text-replace{ - @include border-radius(50%); - width:1.4rem; - height:1.4rem; + width:1.8rem; + height:1.8rem; &:before{ line-height:1.3em; @@ -164,16 +173,9 @@ should be borderless and full-width } /* .buttons only exists for menus in stream_member.html */ - .buttons{ - display:inline-block; + .button-group{ + float:right; } - - .buttons, - label{ - @include transition(opacity 0.2s ease); - opacity:0.4; - } - &:hover .buttons, &:hover label{ opacity:1; @@ -186,7 +188,13 @@ should be borderless and full-width /* list controls are slightly different as they require closer proximity to their associated fields */ .list-controls{ - top:1.5em + @include border-radius(0); + background:transparent; + top:1.5em; + border:0; + padding:0; + overflow:hidden; + height:auto; } .sequence-type-list .object-help{ diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/list_member.html b/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/list_member.html index d7b4c9bb6..131702685 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/list_member.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/list_member.html @@ -2,9 +2,9 @@ {% load i18n %} {% block header_controls %} -
- - - +
+ + +
{% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/stream_member.html b/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/stream_member.html index fdd5947d1..76bf5e82d 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/stream_member.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/block_forms/stream_member.html @@ -8,10 +8,10 @@ {% block header_controls %}

{{ child.block.label }}

-
- - - +
+ + +
{% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/chooser/browse.html b/wagtail/wagtailadmin/templates/wagtailadmin/chooser/browse.html index 524d05a28..dac5a3819 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/chooser/browse.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/chooser/browse.html @@ -1,20 +1,21 @@ {% load i18n %} {% if page_types_restricted %} {% trans "Choose" as choose_str %} - {% trans page_type_name as subtitle %} {% else %} {% trans "Choose a page" as choose_str %} {% endif %} -{% include "wagtailadmin/shared/header.html" with title=choose_str subtitle=subtitle search_url="wagtailadmin_choose_page_search" query_parameters="page_type="|add:page_type_string icon="doc-empty-inverse" %} +{% include "wagtailadmin/shared/header.html" with title=choose_str subtitle=page_type_names|join:", " search_url="wagtailadmin_choose_page_search" query_parameters="page_type="|add:page_type_string icon="doc-empty-inverse" %}
{% include 'wagtailadmin/chooser/_link_types.html' with current='internal' %} {% if page_types_restricted %}

- {% blocktrans with type=page_type_name %} + {% blocktrans with type=page_type_names|join:", " count counter=page_type_names|length %} Only pages of type "{{ type }}" may be chosen for this field. Search results will exclude pages of other types. + {% plural %} + Only the following page types may be chosen for this field: {{ type }}. Search results will exclude pages of other types. {% endblocktrans %}

{% endif %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/inline_panel_child.html b/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/inline_panel_child.html index 41913f674..a2126f081 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/inline_panel_child.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/inline_panel_child.html @@ -5,7 +5,7 @@
  • {% endif %} -
  • +
  • {{ child.render_form_content }} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/generic/confirm_delete.html b/wagtail/wagtailadmin/templates/wagtailadmin/generic/confirm_delete.html new file mode 100644 index 000000000..5329aa0f7 --- /dev/null +++ b/wagtail/wagtailadmin/templates/wagtailadmin/generic/confirm_delete.html @@ -0,0 +1,15 @@ +{% extends "wagtailadmin/base.html" %} +{% load i18n %} +{% block titletag %}{{ view.page_title }}{% endblock %} + +{% block content %} + {% include "wagtailadmin/shared/header.html" with title=view.page_title subtitle=view.get_page_subtitle icon=view.header_icon %} + +
    +

    {{ view.confirmation_message }}

    + + {% csrf_token %} + + +
    +{% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/generic/create.html b/wagtail/wagtailadmin/templates/wagtailadmin/generic/create.html new file mode 100644 index 000000000..89d1b6b1f --- /dev/null +++ b/wagtail/wagtailadmin/templates/wagtailadmin/generic/create.html @@ -0,0 +1,20 @@ +{% extends "wagtailadmin/base.html" %} +{% load i18n %} + +{% block titletag %}{{ view.page_title }}{% endblock %} + +{% block content %} + + {% include "wagtailadmin/shared/header.html" with title=view.page_title icon=view.header_icon %} + +
    + {% csrf_token %} +
    +
      + {% block form %} + {% endblock %} +
    • +
    +
    +
    +{% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/generic/edit.html b/wagtail/wagtailadmin/templates/wagtailadmin/generic/edit.html new file mode 100644 index 000000000..cbc5ff7eb --- /dev/null +++ b/wagtail/wagtailadmin/templates/wagtailadmin/generic/edit.html @@ -0,0 +1,27 @@ +{% extends "wagtailadmin/base.html" %} +{% load i18n %} + +{% block titletag %}{{ view.page_title }} {{ view.get_page_subtitle }}{% endblock %} + +{% block content %} + + {% include "wagtailadmin/shared/header.html" with title=view.page_title subtitle=view.get_page_subtitle icon=view.header_icon %} + +
    +
    + {% csrf_token %} + + +
    +
    +{% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/generic/index.html b/wagtail/wagtailadmin/templates/wagtailadmin/generic/index.html new file mode 100644 index 000000000..71e5d7629 --- /dev/null +++ b/wagtail/wagtailadmin/templates/wagtailadmin/generic/index.html @@ -0,0 +1,13 @@ +{% extends "wagtailadmin/base.html" %} +{% load i18n %} +{% block titletag %}{{ view.page_title }}{% endblock %} +{% block content %} + {% if can_add %} + {% include "wagtailadmin/shared/header.html" with title=view.page_title add_link=view.add_url_name add_text=view.add_item_label icon=view.header_icon %} + {% else %} + {% include "wagtailadmin/shared/header.html" with title=view.page_title icon=view.header_icon %} + {% endif %} + + {% block listing %} + {% endblock %} +{% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/index.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/index.html index 3738d1f43..8a24d9c05 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/pages/index.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/index.html @@ -14,7 +14,7 @@ {% csrf_token %} {% page_permissions parent_page as parent_page_perms %} - {% include "wagtailadmin/pages/listing/_list_explore.html" with sortable=1 allow_navigation=1 full_width=1 parent_page=parent_page orderable=parent_page_perms.can_reorder_children %} + {% include "wagtailadmin/pages/listing/_list_explore.html" with sortable=1 allow_navigation=1 full_width=1 show_ordering_column=1 parent_page=parent_page orderable=parent_page_perms.can_reorder_children %} {% url 'wagtailadmin_explore' parent_page.id as pagination_base_url %} {% include "wagtailadmin/pages/listing/_pagination.html" with page=pages base_url=pagination_base_url query_params=pagination_query_params only %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list.html index 5afae6898..96c53fa01 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list.html @@ -1,7 +1,7 @@ {% load i18n %} {% load wagtailadmin_tags %} - {% if orderable %} + {% if show_ordering_column %} {% endif %} @@ -19,12 +19,16 @@ {% if parent_page %} {% page_permissions parent_page as parent_page_perms %} - - + - {% if orderable %} - + {% if show_ordering_column %} + {% endif %} + {% elif not parent_page.url %} + + {% endif %} + {% endif %} + {% include "wagtailadmin/pages/listing/_table_headers_explore.html" %} {% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_table_headers_explore.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_table_headers_explore.html index 9f2850134..918857185 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_table_headers_explore.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_table_headers_explore.html @@ -5,7 +5,8 @@ Table headers for the page listing, when in 'explore' mode. Expects the following variables: sortable: if true, headings are links to wagtailadmin_explore with sort parameters applied. -orderable: if true, an 'ordering' column is added (again with links to wagtailadmin_explore). +show_ordering_column: if true, an 'ordering' column is added. +orderable: if true, the 'ordering' column is populated (again with links to wagtailadmin_explore). If either sortable or orderable is true, the following variables are also required: @@ -15,12 +16,14 @@ ordering: the current sort parameter {% endcomment %} - {% if orderable %} + {% if show_ordering_column %} - {% else %} - {% trans 'Order' %} + {% if orderable %} + {% if ordering == "ord" %} + {% trans 'Order' %} + {% else %} + {% trans 'Order' %} + {% endif %} {% endif %} {% endif %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html index c9a5588b3..ec5f68cbe 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html @@ -4,7 +4,7 @@ var wagtail = wagtail || {}; wagtail.static_root = '{% static "wagtailadmin/" %}'; wagtail.userbar = { - src: '{% if revision_id %}{% url "wagtailadmin_userbar_moderation" revision_id %}{% else %}{% url "wagtailadmin_userbar_frontend" page.self.id %}{% endif %}', + src: '{% if revision_id %}{% url "wagtailadmin_userbar_moderation" revision_id %}{% else %}{% url "wagtailadmin_userbar_frontend" page.id %}{% endif %}', origin:'{% if request.is_secure %}https{% else %}http{% endif %}://{{ request.get_host }}' }; (function(d) { @@ -13,4 +13,4 @@ var s = d.getElementsByTagName('script')[0]; s.parentNode.insertBefore(u, s); })(document); - \ No newline at end of file + diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/widgets/chooser.html b/wagtail/wagtailadmin/templates/wagtailadmin/widgets/chooser.html index 924233691..321a9b399 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/widgets/chooser.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/widgets/chooser.html @@ -17,7 +17,9 @@
  • {% endif %}
  • -
  • {{ widget.link_to_chosen_text }}
  • + {% if widget.show_edit_link %} +
  • {{ widget.link_to_chosen_text }}
  • + {% endif %} diff --git a/wagtail/wagtailadmin/templatetags/wagtailuserbar.py b/wagtail/wagtailadmin/templatetags/wagtailuserbar.py index 1e2d27477..f00bdb5cb 100644 --- a/wagtail/wagtailadmin/templatetags/wagtailuserbar.py +++ b/wagtail/wagtailadmin/templatetags/wagtailuserbar.py @@ -1,7 +1,7 @@ from django import template from django.template.loader import render_to_string -from wagtail.wagtailcore.models import Page +from wagtail.wagtailcore.models import Page, PAGE_TEMPLATE_VAR register = template.Library() @@ -16,10 +16,13 @@ def wagtailuserbar(context): if not request.user.has_perm('wagtailadmin.access_admin'): return '' - # Only render if the context contains a 'self' variable referencing a saved page - if 'self' in context and isinstance(context['self'], Page) and context['self'].id is not None: - pass - else: + # Only render if the context contains a 'PAGE_TEMPLATE_VAR' variable + # referencing a saved page + if PAGE_TEMPLATE_VAR not in context: + return '' + + page = context[PAGE_TEMPLATE_VAR] + if not isinstance(page, Page) or page.id is None: return '' try: @@ -30,6 +33,6 @@ def wagtailuserbar(context): # Render the frame to contain the userbar items return render_to_string('wagtailadmin/userbar/frame.html', { 'request': request, - 'page': context, + 'page': page, 'revision_id': revision_id }) diff --git a/wagtail/wagtailadmin/tests/test_edit_handlers.py b/wagtail/wagtailadmin/tests/test_edit_handlers.py index b3cc6caad..eb7b58898 100644 --- a/wagtail/wagtailadmin/tests/test_edit_handlers.py +++ b/wagtail/wagtailadmin/tests/test_edit_handlers.py @@ -367,7 +367,7 @@ class TestPageChooserPanel(TestCase): def test_render_js_init(self): result = self.page_chooser_panel.render_as_field() - expected_js = 'createPageChooser("{id}", "{model}", {parent});'.format( + expected_js = 'createPageChooser("{id}", ["{model}"], {parent});'.format( id="id_page", model="wagtailcore.page", parent=self.events_index_page.id) self.assertIn(expected_js, result) @@ -400,7 +400,7 @@ class TestPageChooserPanel(TestCase): page_chooser_panel = self.MyPageChooserPanel(instance=self.test_instance, form=form) result = page_chooser_panel.render_as_field() - expected_js = 'createPageChooser("{id}", "{model}", {parent});'.format( + expected_js = 'createPageChooser("{id}", ["{model}"], {parent});'.format( id="id_page", model="tests.eventpage", parent=self.events_index_page.id) self.assertIn(expected_js, result) @@ -414,7 +414,7 @@ class TestPageChooserPanel(TestCase): page_chooser_panel = self.MyPageChooserPanel(instance=self.test_instance, form=form) result = page_chooser_panel.render_as_field() - expected_js = 'createPageChooser("{id}", "{model}", {parent});'.format( + expected_js = 'createPageChooser("{id}", ["{model}"], {parent});'.format( id="id_page", model="tests.eventpage", parent=self.events_index_page.id) self.assertIn(expected_js, result) @@ -423,8 +423,8 @@ class TestPageChooserPanel(TestCase): result = PageChooserPanel( 'barbecue', 'wagtailcore.site' - ).bind_to_model(PageChooserModel).target_content_type() - self.assertEqual(result.name, 'Site') + ).bind_to_model(PageChooserModel).target_content_type()[0] + self.assertEqual(result.name, 'site') def test_target_content_type_malformed_type(self): result = PageChooserPanel( diff --git a/wagtail/wagtailadmin/tests/test_page_chooser.py b/wagtail/wagtailadmin/tests/test_page_chooser.py index b57a4758c..1f4223f87 100644 --- a/wagtail/wagtailadmin/tests/test_page_chooser.py +++ b/wagtail/wagtailadmin/tests/test_page_chooser.py @@ -2,7 +2,7 @@ from django.test import TestCase from django.core.urlresolvers import reverse from wagtail.wagtailcore.models import Page -from wagtail.tests.testapp.models import SimplePage +from wagtail.tests.testapp.models import SimplePage, EventPage, EventIndex from wagtail.tests.utils import WagtailTestUtils @@ -21,29 +21,11 @@ class TestChooserBrowse(TestCase, WagtailTestUtils): def get(self, params={}): return self.client.get(reverse('wagtailadmin_choose_page'), params) - def search(self, params={}): - return self.client.get(reverse('wagtailadmin_choose_page_search'), params) - def test_simple(self): response = self.get() self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'wagtailadmin/chooser/browse.html') - def test_search(self): - response = self.search({'q': "foobarbaz"}) - self.assertEqual(response.status_code, 200) - self.assertContains(response, "There is one match") - self.assertContains(response, "foobarbaz") - - def test_search_no_results(self): - response = self.search({'q': "quux"}) - self.assertEqual(response.status_code, 200) - self.assertContains(response, "There are 0 matches") - - def test_get_invalid(self): - response = self.search({'page_type': 'foo.bar'}) - self.assertEqual(response.status_code, 404) - class TestChooserBrowseChild(TestCase, WagtailTestUtils): def setUp(self): @@ -73,6 +55,230 @@ class TestChooserBrowseChild(TestCase, WagtailTestUtils): def test_get_invalid(self): self.assertEqual(self.get_invalid().status_code, 404) + def test_with_page_type(self): + # Add a page that is not a SimplePage + event_page = EventPage( + title="event", + slug="event", + ) + self.root_page.add_child(instance=event_page) + + # Add a page with a child page + event_index_page = EventIndex( + title="events", + slug="events", + ) + self.root_page.add_child(instance=event_index_page) + event_index_page.add_child(instance=EventPage( + title="other event", + slug="other-event", + )) + + # Send request + response = self.get({'page_type': 'tests.simplepage'}) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailadmin/chooser/browse.html') + self.assertEqual(response.context['page_type_string'], 'tests.simplepage') + + pages = { + page.id: page + for page in response.context['pages'].object_list + } + + # Child page is a simple page directly underneath root + # so should appear in the list + self.assertIn(self.child_page.id, pages) + self.assertTrue(pages[self.child_page.id].can_choose) + self.assertFalse(pages[self.child_page.id].can_descend) + + # Event page is not a simple page and is not descendable either + # so should not appear in the list + self.assertNotIn(event_page.id, pages) + + # Event index page is not a simple page but has a child and is therefore descendable + # so should appear in the list + self.assertIn(event_index_page.id, pages) + self.assertFalse(pages[event_index_page.id].can_choose) + self.assertTrue(pages[event_index_page.id].can_descend) + + def test_with_blank_page_type(self): + # a blank page_type parameter should be equivalent to an absent parameter + # (or an explicit page_type of wagtailcore.page) + response = self.get({'page_type': ''}) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailadmin/chooser/browse.html') + + def test_with_multiple_page_types(self): + # Add a page that is not a SimplePage + event_page = EventPage( + title="event", + slug="event", + ) + self.root_page.add_child(instance=event_page) + + # Send request + response = self.get({'page_type': 'tests.simplepage,tests.eventpage'}) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailadmin/chooser/browse.html') + self.assertEqual(response.context['page_type_string'], 'tests.simplepage,tests.eventpage') + + pages = { + page.id: page + for page in response.context['pages'].object_list + } + + # Simple page in results, as before + self.assertIn(self.child_page.id, pages) + self.assertTrue(pages[self.child_page.id].can_choose) + + # Event page should now also be choosable + self.assertIn(event_page.id, pages) + self.assertTrue(pages[self.child_page.id].can_choose) + + def test_with_unknown_page_type(self): + response = self.get({'page_type': 'foo.bar'}) + self.assertEqual(response.status_code, 404) + + def test_with_bad_page_type(self): + response = self.get({'page_type': 'wagtailcore.site'}) + self.assertEqual(response.status_code, 404) + + def test_with_invalid_page_type(self): + response = self.get({'page_type': 'foo'}) + self.assertEqual(response.status_code, 404) + + def setup_pagination_test_data(self): + # Create lots of pages + for i in range(100): + new_page = SimplePage( + title="foobarbaz", + slug="foobarbaz", + ) + self.root_page.add_child(instance=new_page) + + def test_pagination_basic(self): + self.setup_pagination_test_data() + + response = self.get() + self.assertEqual(response.context['pages'].paginator.num_pages, 5) + self.assertEqual(response.context['pages'].number, 1) + + def test_pagination_another_page(self): + self.setup_pagination_test_data() + + response = self.get({'p': 2}) + self.assertEqual(response.context['pages'].number, 2) + + def test_pagination_invalid_page(self): + self.setup_pagination_test_data() + + response = self.get({'p': 'foo'}) + self.assertEqual(response.context['pages'].number, 1) + + def test_pagination_out_of_range_page(self): + self.setup_pagination_test_data() + + response = self.get({'p': 100}) + self.assertEqual(response.context['pages'].number, 5) + + +class TestChooserSearch(TestCase, WagtailTestUtils): + def setUp(self): + self.root_page = Page.objects.get(id=2) + + # Add child page + self.child_page = SimplePage() + self.child_page.title = "foobarbaz" + self.child_page.slug = "foobarbaz" + self.root_page.add_child(instance=self.child_page) + + self.login() + + def get(self, params=None): + return self.client.get(reverse('wagtailadmin_choose_page_search'), params or {}) + + def test_simple(self): + response = self.get({'q': "foobarbaz"}) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailadmin/chooser/_search_results.html') + self.assertContains(response, "There is one match") + self.assertContains(response, "foobarbaz") + + def test_search_no_results(self): + response = self.get({'q': "quux"}) + self.assertEqual(response.status_code, 200) + self.assertContains(response, "There are 0 matches") + + def test_with_page_type(self): + # Add a page that is not a SimplePage + event_page = EventPage( + title="foo", + slug="foo", + ) + self.root_page.add_child(instance=event_page) + + # Send request + response = self.get({'q': "foo", 'page_type': 'tests.simplepage'}) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailadmin/chooser/_search_results.html') + self.assertEqual(response.context['page_type_string'], 'tests.simplepage') + + pages = { + page.id: page + for page in response.context['pages'] + } + + self.assertIn(self.child_page.id, pages) + + # Not a simple page + self.assertNotIn(event_page.id, pages) + + def test_with_blank_page_type(self): + # a blank page_type parameter should be equivalent to an absent parameter + # (or an explicit page_type of wagtailcore.page) + response = self.get({'q': "foobarbaz", 'page_type': ''}) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailadmin/chooser/_search_results.html') + self.assertContains(response, "There is one match") + self.assertContains(response, "foobarbaz") + + def test_with_multiple_page_types(self): + # Add a page that is not a SimplePage + event_page = EventPage( + title="foo", + slug="foo", + ) + self.root_page.add_child(instance=event_page) + + # Send request + response = self.get({'q': "foo", 'page_type': 'tests.simplepage,tests.eventpage'}) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailadmin/chooser/_search_results.html') + self.assertEqual(response.context['page_type_string'], 'tests.simplepage,tests.eventpage') + + pages = { + page.id: page + for page in response.context['pages'] + } + + # Simple page in results, as before + self.assertIn(self.child_page.id, pages) + + # Event page should now also be choosable + self.assertIn(event_page.id, pages) + + def test_with_unknown_page_type(self): + response = self.get({'page_type': 'foo.bar'}) + self.assertEqual(response.status_code, 404) + + def test_with_bad_page_type(self): + response = self.get({'page_type': 'wagtailcore.site'}) + self.assertEqual(response.status_code, 404) + + def test_with_invalid_page_type(self): + response = self.get({'page_type': 'foo'}) + self.assertEqual(response.status_code, 404) + class TestChooserExternalLink(TestCase, WagtailTestUtils): def setUp(self): diff --git a/wagtail/wagtailadmin/tests/test_pages_views.py b/wagtail/wagtailadmin/tests/test_pages_views.py index ec81e6460..41cac0c6d 100644 --- a/wagtail/wagtailadmin/tests/test_pages_views.py +++ b/wagtail/wagtailadmin/tests/test_pages_views.py @@ -126,6 +126,70 @@ class TestPageExplorer(TestCase, WagtailTestUtils): self.assertEqual(response.context['pages'].number, response.context['pages'].paginator.num_pages) +class TestPageExplorerSignposting(TestCase, WagtailTestUtils): + fixtures = ['test.json'] + + def setUp(self): + # Find root page + self.root_page = Page.objects.get(id=1) + + # Find page with an associated site + self.site_page = Page.objects.get(id=2) + + # Add another top-level page (which will have no corresponding site record) + self.no_site_page = SimplePage( + title="Hello world!", + slug="hello-world", + ) + self.root_page.add_child(instance=self.no_site_page) + + def test_admin_at_root(self): + self.client.login(username='superuser', password='password') + response = self.client.get(reverse('wagtailadmin_explore_root')) + self.assertEqual(response.status_code, 200) + # Administrator (or user with add_site permission) should get the full message + # about configuring sites + self.assertContains(response, "The root level is where you can add new sites to your Wagtail installation. Pages created here will not be accessible at any URL until they are associated with a site.") + self.assertContains(response, """Configure a site now.""") + + def test_admin_at_non_site_page(self): + self.client.login(username='superuser', password='password') + response = self.client.get(reverse('wagtailadmin_explore', args=(self.no_site_page.id, ))) + self.assertEqual(response.status_code, 200) + # Administrator (or user with add_site permission) should get a warning about + # unroutable pages, and be directed to the site config area + self.assertContains(response, "There is no site set up for this location. Pages created here will not be accessible at any URL until a site is associated with this location.") + self.assertContains(response, """Configure a site now.""") + + def test_admin_at_site_page(self): + self.client.login(username='superuser', password='password') + response = self.client.get(reverse('wagtailadmin_explore', args=(self.site_page.id, ))) + self.assertEqual(response.status_code, 200) + # There should be no warning message here + self.assertNotContains(response, "Pages created here will not be accessible") + + def test_nonadmin_at_root(self): + self.client.login(username='siteeditor', password='password') + response = self.client.get(reverse('wagtailadmin_explore_root')) + self.assertEqual(response.status_code, 200) + # Non-admin should get a simple "create pages as children of the homepage" prompt + self.assertContains(response, "Pages created here will not be accessible at any URL. To add pages to an existing site, create them as children of the homepage.") + + def test_nonadmin_at_non_site_page(self): + self.client.login(username='siteeditor', password='password') + response = self.client.get(reverse('wagtailadmin_explore', args=(self.no_site_page.id, ))) + self.assertEqual(response.status_code, 200) + # Non-admin should get a warning about unroutable pages + self.assertContains(response, "There is no site record for this location. Pages created here will not be accessible at any URL.") + + def test_nonadmin_at_site_page(self): + self.client.login(username='siteeditor', password='password') + response = self.client.get(reverse('wagtailadmin_explore', args=(self.site_page.id, ))) + self.assertEqual(response.status_code, 200) + # There should be no warning message here + self.assertNotContains(response, "Pages created here will not be accessible") + + class TestPageCreation(TestCase, WagtailTestUtils): def setUp(self): # Find root page diff --git a/wagtail/wagtailadmin/tests/test_userbar.py b/wagtail/wagtailadmin/tests/test_userbar.py index a46872ac1..3bc6523a0 100644 --- a/wagtail/wagtailadmin/tests/test_userbar.py +++ b/wagtail/wagtailadmin/tests/test_userbar.py @@ -6,7 +6,7 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import AnonymousUser from wagtail.tests.utils import WagtailTestUtils -from wagtail.wagtailcore.models import Page +from wagtail.wagtailcore.models import Page, PAGE_TEMPLATE_VAR from wagtail.tests.testapp.models import BusinessIndex, BusinessChild @@ -23,7 +23,7 @@ class TestUserbarTag(TestCase): def test_userbar_tag(self): template = Template("{% load wagtailuserbar %}{% wagtailuserbar %}") content = template.render(Context({ - 'self': self.homepage, + PAGE_TEMPLATE_VAR: self.homepage, 'request': self.dummy_request(self.user), })) @@ -32,7 +32,7 @@ class TestUserbarTag(TestCase): def test_userbar_tag_anonymous_user(self): template = Template("{% load wagtailuserbar %}{% wagtailuserbar %}") content = template.render(Context({ - 'self': self.homepage, + PAGE_TEMPLATE_VAR: self.homepage, 'request': self.dummy_request(), })) diff --git a/wagtail/wagtailadmin/tests/test_widgets.py b/wagtail/wagtailadmin/tests/test_widgets.py new file mode 100644 index 000000000..62b366395 --- /dev/null +++ b/wagtail/wagtailadmin/tests/test_widgets.py @@ -0,0 +1,64 @@ +from django.test import TestCase +from django.contrib.contenttypes.models import ContentType + +from wagtail.wagtailadmin import widgets + +from wagtail.wagtailcore.models import Page +from wagtail.tests.testapp.models import SimplePage, EventPage + + +class TestAdminPageChooserWidget(TestCase): + def setUp(self): + self.root_page = Page.objects.get(id=2) + + # Add child page + self.child_page = SimplePage( + title="foobarbaz", + slug="foobarbaz", + ) + self.root_page.add_child(instance=self.child_page) + + def test_render_html(self): + widget = widgets.AdminPageChooser() + + html = widget.render_html('test', None, {}) + self.assertIn("", html) + + def test_render_js_init(self): + widget = widgets.AdminPageChooser() + + js_init = widget.render_js_init('test-id', 'test', None) + self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"wagtailcore.page\"], null);") + + def test_render_html_with_value(self): + widget = widgets.AdminPageChooser() + + html = widget.render_html('test', self.child_page, {}) + self.assertIn("" % self.child_page.id, html) + + def test_render_js_init_with_value(self): + widget = widgets.AdminPageChooser() + + js_init = widget.render_js_init('test-id', 'test', self.child_page) + self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"wagtailcore.page\"], %d);" % self.root_page.id) + + # def test_render_html_init_with_content_type omitted as HTML does not + # change when selecting a content type + + def test_render_js_init_with_content_type(self): + content_type = ContentType.objects.get_for_model(SimplePage) + widget = widgets.AdminPageChooser(content_type=content_type) + + js_init = widget.render_js_init('test-id', 'test', None) + self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"tests.simplepage\"], null);") + + def test_render_js_init_with_multiple_content_types(self): + content_types = [ + # Not using get_for_models as we need deterministic ordering + ContentType.objects.get_for_model(SimplePage), + ContentType.objects.get_for_model(EventPage), + ] + widget = widgets.AdminPageChooser(content_type=content_types) + + js_init = widget.render_js_init('test-id', 'test', None) + self.assertEqual(js_init, "createPageChooser(\"test-id\", [\"tests.simplepage\", \"tests.eventpage\"], null);") diff --git a/wagtail/wagtailadmin/tests/tests.py b/wagtail/wagtailadmin/tests/tests.py index ab3ae83a9..e7cf405c1 100644 --- a/wagtail/wagtailadmin/tests/tests.py +++ b/wagtail/wagtailadmin/tests/tests.py @@ -1,7 +1,11 @@ +import json + from django.test import TestCase, override_settings from django.core.urlresolvers import reverse from django.core import mail +from taggit.models import Tag + from wagtail.tests.utils import WagtailTestUtils from wagtail.wagtailcore.models import Page from wagtail.wagtailadmin.utils import send_mail @@ -112,3 +116,51 @@ class TestExplorerNavView(TestCase, WagtailTestUtils): self.assertEqual(response.status_code, 200) self.assertTemplateUsed('wagtailadmin/shared/explorer_nav.html') self.assertEqual(response.context['nodes'][0][0], self.homepage) + + +class TestTagsAutocomplete(TestCase, WagtailTestUtils): + def setUp(self): + self.login() + Tag.objects.create(name="Test", slug="test") + + def test_tags_autocomplete(self): + response = self.client.get(reverse('wagtailadmin_tag_autocomplete'), { + 'term': 'test' + }) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response['Content-Type'], 'application/json') + data = json.loads(response.content.decode('utf-8')) + + self.assertEqual(data, ['Test']) + + def test_tags_autocomplete_partial_match(self): + response = self.client.get(reverse('wagtailadmin_tag_autocomplete'), { + 'term': 'te' + }) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response['Content-Type'], 'application/json') + data = json.loads(response.content.decode('utf-8')) + + self.assertEqual(data, ['Test']) + + def test_tags_autocomplete_different_term(self): + response = self.client.get(reverse('wagtailadmin_tag_autocomplete'), { + 'term': 'hello' + }) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response['Content-Type'], 'application/json') + data = json.loads(response.content.decode('utf-8')) + + self.assertEqual(data, []) + + def test_tags_autocomplete_no_term(self): + response = self.client.get(reverse('wagtailadmin_tag_autocomplete')) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response['Content-Type'], 'application/json') + data = json.loads(response.content.decode('utf-8')) + + self.assertEqual(data, []) diff --git a/wagtail/wagtailadmin/utils.py b/wagtail/wagtailadmin/utils.py index 500309192..6565fe846 100644 --- a/wagtail/wagtailadmin/utils.py +++ b/wagtail/wagtailadmin/utils.py @@ -1,8 +1,12 @@ +from functools import wraps + from django.template.loader import render_to_string from django.core.mail import send_mail as django_send_mail from django.conf import settings from django.contrib.auth import get_user_model from django.db.models import Q +from django.shortcuts import redirect +from django.utils.translation import ugettext as _ from modelcluster.fields import ParentalKey @@ -62,6 +66,66 @@ def users_with_page_permission(page, permission_type, include_superusers=True): return User.objects.filter(is_active=True).filter(q).distinct() +def permission_denied(request): + """Return a standard 'permission denied' response""" + from wagtail.wagtailadmin import messages + + messages.error(request, _('Sorry, you do not have permission to access this area.')) + return redirect('wagtailadmin_home') + + +def permission_required(permission_name): + """ + Replacement for django.contrib.auth.decorators.permission_required which returns a + more meaningful 'permission denied' response than just redirecting to the login page. + (The latter doesn't work anyway because Wagtail doesn't define LOGIN_URL...) + """ + # Construct and return a decorator function specific to the permission name + # that has been passed in + def decorator(view_func): + # decorator takes the view function, and returns the view wrapped in + # a permission check + + @wraps(view_func) + def wrapped_view_func(request, *args, **kwargs): + if request.user.has_perm(permission_name): + # permission check succeeds; run the view function as normal + return view_func(request, *args, **kwargs) + else: + # permission check failed + return permission_denied(request) + + return wrapped_view_func + + return decorator + + +def any_permission_required(*perms): + """ + Decorator that accepts a list of permission names, and allows the user + to pass if they have *any* of the permissions in the list + """ + # Construct and return a decorator function specific to the permission list + # that has been passed in + def decorator(view_func): + # decorator takes the view function, and returns the view wrapped in + # a permission check + + @wraps(view_func) + def wrapped_view_func(request, *args, **kwargs): + for perm in perms: + if request.user.has_perm(perm): + # permission check succeeds; run the view function as normal + return view_func(request, *args, **kwargs) + + # if we get here, none of the permission checks have passed + return permission_denied(request) + + return wrapped_view_func + + return decorator + + def send_mail(email_subject, email_content, email_addresses, from_email=None): if not from_email: if hasattr(settings, 'WAGTAILADMIN_NOTIFICATION_FROM_EMAIL'): diff --git a/wagtail/wagtailadmin/views/chooser.py b/wagtail/wagtailadmin/views/chooser.py index 80f4804bf..4fb782dcc 100644 --- a/wagtail/wagtailadmin/views/chooser.py +++ b/wagtail/wagtailadmin/views/chooser.py @@ -1,5 +1,4 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.contrib.contenttypes.models import ContentType from django.shortcuts import get_object_or_404, render from django.http import Http404 from django.utils.http import urlencode @@ -8,6 +7,7 @@ from wagtail.wagtailadmin.modal_workflow import render_modal_workflow from wagtail.wagtailadmin.forms import SearchForm, ExternalLinkChooserForm, ExternalLinkChooserWithLinkTextForm, EmailLinkChooserForm, EmailLinkChooserWithLinkTextForm from wagtail.wagtailcore.models import Page +from wagtail.wagtailcore.utils import resolve_model_string def get_querystring(request): @@ -29,97 +29,114 @@ def shared_context(request, extra_context={}): return context +def page_models_from_string(string): + page_models = [] + + for sub_string in string.split(','): + page_model = resolve_model_string(sub_string) + + if not issubclass(page_model, Page): + raise ValueError("Model is not a page") + + page_models.append(page_model) + + return tuple(page_models) + + +def filter_page_type(queryset, page_models): + qs = queryset.none() + + for model in page_models: + qs |= queryset.type(model) + + return qs + + def browse(request, parent_page_id=None): - ITEMS_PER_PAGE = 25 - - page_type = request.GET.get('page_type') or 'wagtailcore.page' - content_type_app_name, content_type_model_name = page_type.split('.') - - try: - content_type = ContentType.objects.get_by_natural_key(content_type_app_name, content_type_model_name) - except ContentType.DoesNotExist: - raise Http404 - desired_class = content_type.model_class() - + # Find parent page if parent_page_id: parent_page = get_object_or_404(Page, id=parent_page_id) else: parent_page = Page.get_first_root_node() - parent_page.can_choose = issubclass(parent_page.specific_class, desired_class) - search_form = SearchForm() + # Get children of parent page pages = parent_page.get_children() - if desired_class == Page: - # apply pagination first, since we know that the page listing won't - # have to be filtered, and that saves us walking the entire list - p = request.GET.get('p', 1) - paginator = Paginator(pages, ITEMS_PER_PAGE) + # Filter them by page type + # A missing or empty page_type parameter indicates 'all page types' (i.e. descendants of wagtailcore.page) + page_type_string = request.GET.get('page_type') or 'wagtailcore.page' + if page_type_string != 'wagtailcore.page': try: - pages = paginator.page(p) - except PageNotAnInteger: - pages = paginator.page(1) - except EmptyPage: - pages = paginator.page(paginator.num_pages) + desired_classes = page_models_from_string(page_type_string) + except (ValueError, LookupError): + raise Http404 - for page in pages: - page.can_choose = True - page.can_descend = page.get_children_count() - - else: # restrict the page listing to just those pages that: # - are of the given content type (taking into account class inheritance) # - or can be navigated into (i.e. have children) + choosable_pages = filter_page_type(pages, desired_classes) + descendable_pages = pages.filter(numchild__gt=0) + pages = choosable_pages | descendable_pages + else: + desired_classes = (Page, ) - shown_pages = [] - for page in pages: - page.can_choose = issubclass(page.specific_class or Page, desired_class) - page.can_descend = page.get_children_count() + # Parent page can be chosen if it is a instance of desired_classes + parent_page.can_choose = issubclass(parent_page.specific_class or Page, desired_classes) - if page.can_choose or page.can_descend: - shown_pages.append(page) + # Pagination + # We apply pagination first so we don't need to walk the entire list + # in the block below + p = request.GET.get('p', 1) + paginator = Paginator(pages, 25) + try: + pages = paginator.page(p) + except PageNotAnInteger: + pages = paginator.page(1) + except EmptyPage: + pages = paginator.page(paginator.num_pages) - # Apply pagination - p = request.GET.get('p', 1) - paginator = Paginator(shown_pages, ITEMS_PER_PAGE) - try: - pages = paginator.page(p) - except PageNotAnInteger: - pages = paginator.page(1) - except EmptyPage: - pages = paginator.page(paginator.num_pages) + # Annotate each page with can_choose/can_decend flags + for page in pages: + if desired_classes == (Page, ): + page.can_choose = True + else: + page.can_choose = issubclass(page.specific_class or Page, desired_classes) + page.can_descend = page.get_children_count() + + # Render return render_modal_workflow( request, 'wagtailadmin/chooser/browse.html', 'wagtailadmin/chooser/browse.js', shared_context(request, { 'parent_page': parent_page, 'pages': pages, - 'search_form': search_form, - 'page_type_string': page_type, - 'page_type_name': desired_class.get_verbose_name(), - 'page_types_restricted': (page_type != 'wagtailcore.page') + 'search_form': SearchForm(), + 'page_type_string': page_type_string, + 'page_type_names': [desired_class.get_verbose_name() for desired_class in desired_classes], + 'page_types_restricted': (page_type_string != 'wagtailcore.page') }) ) def search(request, parent_page_id=None): - page_type = request.GET.get('page_type') or 'wagtailcore.page' - content_type_app_name, content_type_model_name = page_type.split('.') + # A missing or empty page_type parameter indicates 'all page types' (i.e. descendants of wagtailcore.page) + page_type_string = request.GET.get('page_type') or 'wagtailcore.page' try: - content_type = ContentType.objects.get_by_natural_key(content_type_app_name, content_type_model_name) - except ContentType.DoesNotExist: + desired_classes = page_models_from_string(page_type_string) + except (ValueError, LookupError): raise Http404 - desired_class = content_type.model_class() search_form = SearchForm(request.GET) if search_form.is_valid() and search_form.cleaned_data['q']: - pages = desired_class.objects.exclude( + pages = Page.objects.exclude( depth=1 # never include root - ).filter(title__icontains=search_form.cleaned_data['q'])[:10] + ) + pages = filter_page_type(pages, desired_classes) + pages = pages.search(search_form.cleaned_data['q'], fields=['title'])[:10] else: - pages = desired_class.objects.none() + pages = Page.objects.none() shown_pages = [] for page in pages: @@ -131,6 +148,7 @@ def search(request, parent_page_id=None): shared_context(request, { 'searchform': search_form, 'pages': shown_pages, + 'page_type_string': page_type_string, }) ) diff --git a/wagtail/wagtailadmin/views/generic.py b/wagtail/wagtailadmin/views/generic.py new file mode 100644 index 000000000..ce829c40c --- /dev/null +++ b/wagtail/wagtailadmin/views/generic.py @@ -0,0 +1,158 @@ +from django.core.urlresolvers import reverse +from django.shortcuts import render, redirect, get_object_or_404 +from django.utils.translation import ugettext as _, ugettext_lazy as __ +from django.views.generic.base import View + +from wagtail.wagtailadmin import messages +from wagtail.wagtailadmin.utils import permission_denied + + +class PermissionCheckedMixin(object): + """ + Mixin for class-based views to enforce permission checks. + Subclasses should set either of the following class properties: + * permission_required (a single permission string) + * any_permission_required (a list of permission strings - the user must have + one or more of those permissions) + """ + permission_required = None + any_permission_required = None + + def dispatch(self, request, *args, **kwargs): + if self.permission_required is not None: + if not request.user.has_perm(self.permission_required): + return permission_denied(request) + + if self.any_permission_required is not None: + has_permission = False + + for perm in self.any_permission_required: + if request.user.has_perm(perm): + has_permission = True + break + + if not has_permission: + return permission_denied(request) + + return super(PermissionCheckedMixin, self).dispatch(request, *args, **kwargs) + + +class IndexView(PermissionCheckedMixin, View): + context_object_name = None + + def get_queryset(self): + return self.model.objects.all() + + def get(self, request): + object_list = self.get_queryset() + + context = { + 'view': self, + 'object_list': object_list, + 'can_add': self.request.user.has_perm(self.add_permission_name), + } + if self.context_object_name: + context[self.context_object_name] = object_list + + return render(request, self.template_name, context) + + +class CreateView(PermissionCheckedMixin, View): + def get_add_url(self): + return reverse(self.add_url_name) + + def get(self, request): + self.form = self.form_class() + return self.render_to_response() + + def post(self, request): + self.form = self.form_class(request.POST) + if self.form.is_valid(): + instance = self.form.save() + + messages.success(request, self.success_message.format(instance), buttons=[ + messages.button(reverse(self.edit_url_name, args=(instance.id,)), _('Edit')) + ]) + return redirect(self.index_url_name) + else: + return self.render_to_response() + + def render_to_response(self): + return render(self.request, self.template_name, { + 'view': self, + 'form': self.form, + }) + + +class EditView(PermissionCheckedMixin, View): + page_title = __("Editing") + context_object_name = None + + def get_page_subtitle(self): + return str(self.instance) + + def get_edit_url(self): + return reverse(self.edit_url_name, args=(self.instance.id,)) + + def get_delete_url(self): + return reverse(self.delete_url_name, args=(self.instance.id,)) + + def get(self, request, instance_id): + self.instance = get_object_or_404(self.model, id=instance_id) + self.form = self.form_class(instance=self.instance) + return self.render_to_response() + + def post(self, request, instance_id): + self.instance = get_object_or_404(self.model, id=instance_id) + self.form = self.form_class(request.POST, instance=self.instance) + if self.form.is_valid(): + self.form.save() + messages.success(request, self.success_message.format(self.instance), buttons=[ + messages.button(reverse(self.edit_url_name, args=(self.instance.id,)), _('Edit')) + ]) + return redirect(self.index_url_name) + else: + messages.error(request, self.error_message) + + return self.render_to_response() + + def render_to_response(self): + context = { + 'view': self, + 'object': self.instance, + 'form': self.form, + 'can_delete': self.request.user.has_perm(self.delete_permission_name), + } + if self.context_object_name: + context[self.context_object_name] = self.instance + + return render(self.request, self.template_name, context) + + +class DeleteView(PermissionCheckedMixin, View): + template_name = 'wagtailadmin/generic/confirm_delete.html' + context_object_name = None + + def get_page_subtitle(self): + return str(self.instance) + + def get_delete_url(self): + return reverse(self.delete_url_name, args=(self.instance.id,)) + + def get(self, request, instance_id): + self.instance = get_object_or_404(self.model, id=instance_id) + + context = { + 'view': self, + 'object': self.instance, + } + if self.context_object_name: + context[self.context_object_name] = self.instance + + return render(request, self.template_name, context) + + def post(self, request, instance_id): + self.instance = get_object_or_404(self.model, id=instance_id) + self.instance.delete() + messages.success(request, self.success_message.format(self.instance)) + return redirect(self.index_url_name) diff --git a/wagtail/wagtailadmin/views/home.py b/wagtail/wagtailadmin/views/home.py index c6f5a18c0..30ad1fd41 100644 --- a/wagtail/wagtailadmin/views/home.py +++ b/wagtail/wagtailadmin/views/home.py @@ -1,5 +1,6 @@ from django.shortcuts import render from django.conf import settings +from django.db.models import F from wagtail.wagtailcore import hooks from wagtail.wagtailcore.models import PageRevision, UserPagePermissionsProxy @@ -46,13 +47,7 @@ class RecentEditsPanel(object): def __init__(self, request): self.request = request # Last n edited pages - self.last_edits = PageRevision.objects.raw( - """ - select wp.* FROM - wagtailcore_pagerevision wp JOIN ( - SELECT max(created_at) as max_created_at, page_id FROM wagtailcore_pagerevision group by page_id - ) as max_rev on max_rev.max_created_at = wp.created_at and wp.user_id = %s order by wp.created_at desc - """, [request.user.id])[:5] + self.last_edits = PageRevision.objects.filter(user=self.request.user, created_at=F('page__latest_revision_created_at')).order_by('-created_at')[:5] def render(self): return render_to_string('wagtailadmin/home/recent_edits.html', { diff --git a/wagtail/wagtailadmin/views/tags.py b/wagtail/wagtailadmin/views/tags.py index 175e9ebc2..db1fbafcf 100644 --- a/wagtail/wagtailadmin/views/tags.py +++ b/wagtail/wagtailadmin/views/tags.py @@ -1,8 +1,6 @@ -import json - from taggit.models import Tag -from django.http import HttpResponse +from django.http import JsonResponse def autocomplete(request): @@ -12,6 +10,4 @@ def autocomplete(request): else: tags = Tag.objects.none() - response = json.dumps([tag.name for tag in tags]) - - return HttpResponse(response, content_type='text/javascript') + return JsonResponse([tag.name for tag in tags], safe=False) diff --git a/wagtail/wagtailadmin/widgets.py b/wagtail/wagtailadmin/widgets.py index 58e1f9eeb..15645cd5c 100644 --- a/wagtail/wagtailadmin/widgets.py +++ b/wagtail/wagtailadmin/widgets.py @@ -66,6 +66,7 @@ class AdminChooser(WidgetWithScript, widgets.Input): choose_another_text = _("Choose another item") clear_choice_text = _("Clear choice") link_to_chosen_text = _("Edit this item") + show_edit_link = True def get_instance(self, model_class, value): # helper method for cleanly turning 'value' into an instance object @@ -106,21 +107,30 @@ class AdminChooser(WidgetWithScript, widgets.Input): self.clear_choice_text = kwargs.pop('clear_choice_text') if 'link_to_chosen_text' in kwargs: self.link_to_chosen_text = kwargs.pop('link_to_chosen_text') + if 'show_edit_link' in kwargs: + self.show_edit_link = kwargs.pop('show_edit_link') super(AdminChooser, self).__init__(**kwargs) class AdminPageChooser(AdminChooser): - target_content_type = None choose_one_text = _('Choose a page') choose_another_text = _('Choose another page') link_to_chosen_text = _('Edit this page') def __init__(self, content_type=None, **kwargs): super(AdminPageChooser, self).__init__(**kwargs) - self.target_content_type = content_type or ContentType.objects.get_for_model(Page) + + self.target_content_types = content_type or ContentType.objects.get_for_model(Page) + # Make sure target_content_types is a list or tuple + if not isinstance(self.target_content_types, (list, tuple)): + self.target_content_types = [self.target_content_types] def render_html(self, name, value, attrs): - model_class = self.target_content_type.model_class() + if len(self.target_content_types) == 1: + model_class = self.target_content_types[0].model_class() + else: + model_class = Page + instance, value = self.get_instance_and_id(model_class, value) original_field_html = super(AdminPageChooser, self).render_html(name, value, attrs) @@ -134,17 +144,25 @@ class AdminPageChooser(AdminChooser): }) def render_js_init(self, id_, name, value): - model_class = self.target_content_type.model_class() - if isinstance(value, model_class): + if isinstance(value, Page): page = value else: + # Value is an ID look up object + if len(self.target_content_types) == 1: + model_class = self.target_content_types[0].model_class() + else: + model_class = Page + page = self.get_instance(model_class, value) + parent = page.get_parent() if page else None - content_type = self.target_content_type return "createPageChooser({id}, {content_type}, {parent});".format( id=json.dumps(id_), - content_type=json.dumps('{app}.{model}'.format( - app=content_type.app_label, - model=content_type.model)), + content_type=json.dumps([ + '{app}.{model}'.format( + app=content_type.app_label, + model=content_type.model) + for content_type in self.target_content_types + ]), parent=json.dumps(parent.id if parent else None)) diff --git a/wagtail/wagtailcore/__init__.py b/wagtail/wagtailcore/__init__.py index f91dabce8..732bcfc97 100644 --- a/wagtail/wagtailcore/__init__.py +++ b/wagtail/wagtailcore/__init__.py @@ -1,2 +1,11 @@ -__version__ = '1.1a0' +__version__ = '1.2a1' default_app_config = 'wagtail.wagtailcore.apps.WagtailCoreAppConfig' + + +def setup(): + import warnings + from wagtail.utils.deprecation import removed_in_next_version_warning + + warnings.simplefilter("default", removed_in_next_version_warning) + +setup() diff --git a/wagtail/wagtailcore/blocks/base.py b/wagtail/wagtailcore/blocks/base.py index 3764b8cc5..362fb7931 100644 --- a/wagtail/wagtailcore/blocks/base.py +++ b/wagtail/wagtailcore/blocks/base.py @@ -41,6 +41,8 @@ class Block(six.with_metaclass(BaseBlock, object)): name = '' creation_counter = 0 + TEMPLATE_VAR = 'value' + class Meta: label = None icon = "placeholder" @@ -206,7 +208,10 @@ class Block(six.with_metaclass(BaseBlock, object)): """ template = getattr(self.meta, 'template', None) if template: - return render_to_string(template, {'self': value}) + return render_to_string(template, { + 'self': value, + self.TEMPLATE_VAR: value, + }) else: return self.render_basic(value) diff --git a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo index b4b463893..9ec68dd99 100644 Binary files a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po index 03efbb260..bc65a8b97 100644 --- a/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/de/LC_MESSAGES/django.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Florian , 2015 # Johannes Spielmann , 2014 # Tammo van Lessen , 2015 # Wasilis Mandratzis-Walz, 2015 @@ -10,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-29 13:28+0000\n" -"Last-Translator: Tammo van Lessen \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -49,9 +50,6 @@ msgstr "" "Falls ausgewählt wird diese Seite Anfragen für alle Hostnamen annehmen, die " "keinen eigenen Seiteneintrag haben." -msgid "Site" -msgstr "Webseite" - #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " @@ -116,7 +114,7 @@ msgid "Go live date/time" msgstr "Veröffentlichungszeitpunkt" msgid "Please add a date-time in the form YYYY-MM-DD hh:mm." -msgstr "Bitte geben ein Datum im Format JJJJ-MM-DD hh:mm:ss ei." +msgstr "Bitte geben ein Datum im Format JJJJ-MM-DD hh:mm:ss ein." msgid "Expiry date/time" msgstr "Verfallszeitpunkt" @@ -164,20 +162,14 @@ msgid "User" msgstr "Benutzer" msgid "Content JSON" -msgstr "Inhalts-JSON" +msgstr "JSON Inhalt" msgid "Approved go live at" msgstr "Freigegeben zur Veröffentlichung am" -msgid "Page Revision" -msgstr "Seitenrevision" - msgid "Add/edit pages you own" msgstr "Bearbeiten/Hinzufügen von Seiten, die Sie besitzen" -msgid "Add/edit any page" -msgstr "Hinzufügen/jede Seite bearbeiten" - msgid "Publish any page" msgstr "Jede Seite veröffentlichen" diff --git a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo index 11b283d9a..d07e4dd0a 100644 Binary files a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po index efeb2c1fa..c91e75882 100644 --- a/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/el/LC_MESSAGES/django.po @@ -6,15 +6,16 @@ # jim dal , 2014 # serafeim , 2014 # serafeim , 2014 +# dotoree , 2015 # Wasilis Mandratzis-Walz, 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,6 +77,21 @@ msgstr "" "Το όνομα της σελίδας έτσι όπως θα εμφανίζεται στις διευθύνσεις, π.χ http://" "domain.com/blog/[my-slug]/" +msgid "Content type" +msgstr "Τύπος περιεχομένου" + +msgid "Live" +msgstr "Στον Αέρα" + +msgid "Has unpublished changes" +msgstr "Έχει αδημοσίευτες αλλαγές" + +msgid "URL path" +msgstr "Διεύθυνση URL" + +msgid "Owner" +msgstr "Ιδιοκτήτης" + msgid "Page title" msgstr "Τίτλος σελίδας" @@ -107,6 +123,18 @@ msgstr "Παρακαλούμε προσθέστε μια ημερομηνία σ msgid "Expiry date/time" msgstr "Ημερομηνία/ώρα λήξης" +msgid "Expired" +msgstr "Έχει λήξει" + +msgid "Locked" +msgstr "Κλειδωμένο" + +msgid "First published at" +msgstr "Πρώτη δημοσίευση" + +msgid "Latest revision created at" +msgstr "Τελευταία αναθεώρηση δημιουργήθηκε στις" + msgid "expired" msgstr "έχει λήξει" @@ -128,12 +156,24 @@ msgstr "Προεπιλογή" msgid "Page" msgstr "Σελίδα" +msgid "Submitted for moderation" +msgstr "Υποβλήθηκαν για έλεγχο" + +msgid "Created at" +msgstr "Δημιουργήθηκε την" + +msgid "User" +msgstr "Χρήστης" + +msgid "Content JSON" +msgstr "Περιεχόμενο JSON" + +msgid "Approved go live at" +msgstr "Εγκρίθηκε βγει στον αέρα στις" + msgid "Add/edit pages you own" msgstr "Προσθήκη σελίδων/Επεξεργασία αυτων που έχετε στην κατοχή σας" -msgid "Add/edit any page" -msgstr "Προσθήκη σελίδων/Επεξεργασία καθε σελιδας" - msgid "Publish any page" msgstr "Δημοσίευση καθε σελίδας" diff --git a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo index 8f1a78850..05c2e6e72 100644 Binary files a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po index 4d5c803cf..e6c93a6f2 100644 --- a/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,221 +17,245 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: models.py:53 +#: models.py:55 msgid "Hostname" msgstr "" -#: models.py:54 +#: models.py:56 msgid "Port" msgstr "" -#: models.py:54 +#: models.py:56 msgid "" "Set this to something other than 80 if you need a specific port number to " "appear in URLs (e.g. development on port 8000). Does not affect request " "handling (so port forwarding still works)." msgstr "" -#: models.py:55 +#: models.py:57 msgid "Root page" msgstr "" -#: models.py:56 +#: models.py:58 msgid "Is default site" msgstr "" -#: models.py:56 +#: models.py:58 msgid "" "If true, this site will handle requests for all other hostnames that do not " "have a site entry of their own" msgstr "" -#: models.py:60 -msgid "Site" +#: models.py:62 +msgid "site" msgstr "" -#: models.py:118 +#: models.py:63 +msgid "sites" +msgstr "" + +#: models.py:123 #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " "before you can save this site as default." msgstr "" -#: models.py:266 +#: models.py:274 msgid "Title" msgstr "" -#: models.py:266 +#: models.py:274 msgid "The page title as you'd like it to be seen by the public" msgstr "" -#: models.py:267 +#: models.py:275 msgid "Slug" msgstr "" -#: models.py:267 +#: models.py:275 msgid "" "The name of the page as it will appear in URLs e.g http://domain.com/blog/" "[my-slug]/" msgstr "" -#: models.py:270 +#: models.py:278 msgid "Content type" msgstr "" -#: models.py:271 +#: models.py:279 msgid "Live" msgstr "" -#: models.py:272 +#: models.py:280 msgid "Has unpublished changes" msgstr "" -#: models.py:273 +#: models.py:281 msgid "URL path" msgstr "" -#: models.py:274 +#: models.py:282 msgid "Owner" msgstr "" -#: models.py:276 +#: models.py:284 msgid "Page title" msgstr "" -#: models.py:276 +#: models.py:284 msgid "" "Optional. 'Search Engine Friendly' title. This will appear at the top of the " "browser window." msgstr "" -#: models.py:277 +#: models.py:285 msgid "Show in menus" msgstr "" -#: models.py:277 +#: models.py:285 msgid "" "Whether a link to this page will appear in automatically generated menus" msgstr "" -#: models.py:278 +#: models.py:286 msgid "Search description" msgstr "" -#: models.py:280 +#: models.py:288 msgid "Go live date/time" msgstr "" -#: models.py:280 models.py:281 +#: models.py:288 models.py:289 msgid "Please add a date-time in the form YYYY-MM-DD hh:mm." msgstr "" -#: models.py:281 +#: models.py:289 msgid "Expiry date/time" msgstr "" -#: models.py:282 +#: models.py:290 msgid "Expired" msgstr "" -#: models.py:284 +#: models.py:292 msgid "Locked" msgstr "" -#: models.py:286 +#: models.py:294 msgid "First published at" msgstr "" -#: models.py:287 +#: models.py:295 msgid "Latest revision created at" msgstr "" -#: models.py:710 +#: models.py:728 msgid "expired" msgstr "" -#: models.py:712 +#: models.py:730 msgid "scheduled" msgstr "" -#: models.py:714 +#: models.py:732 msgid "draft" msgstr "" -#: models.py:717 +#: models.py:735 msgid "live + draft" msgstr "" -#: models.py:719 +#: models.py:737 msgid "live" msgstr "" -#: models.py:885 +#: models.py:924 msgid "Default" msgstr "" -#: models.py:1061 models.py:1178 models.py:1405 +#: models.py:1030 +msgid "page" +msgstr "" + +#: models.py:1031 +msgid "pages" +msgstr "" + +#: models.py:1104 models.py:1222 models.py:1450 msgid "Page" msgstr "" -#: models.py:1062 +#: models.py:1105 msgid "Submitted for moderation" msgstr "" -#: models.py:1063 +#: models.py:1106 msgid "Created at" msgstr "" -#: models.py:1064 +#: models.py:1107 msgid "User" msgstr "" -#: models.py:1065 +#: models.py:1108 msgid "Content JSON" msgstr "" -#: models.py:1066 +#: models.py:1109 msgid "Approved go live at" msgstr "" -#: models.py:1165 -msgid "Page Revision" +#: models.py:1208 +msgid "page revision" msgstr "" -#: models.py:1169 +#: models.py:1209 +msgid "page revisions" +msgstr "" + +#: models.py:1213 msgid "Add/edit pages you own" msgstr "" -#: models.py:1170 -msgid "Add/edit any page" +#: models.py:1214 +msgid "Edit any page" msgstr "" -#: models.py:1171 +#: models.py:1215 msgid "Publish any page" msgstr "" -#: models.py:1172 +#: models.py:1216 msgid "Lock/unlock any page" msgstr "" -#: models.py:1177 +#: models.py:1221 msgid "Group" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Permission type" msgstr "" -#: models.py:1183 -msgid "Group Page Permission" +#: models.py:1227 +msgid "group page permission" msgstr "" -#: models.py:1406 +#: models.py:1228 +msgid "group page permissions" +msgstr "" + +#: models.py:1451 msgid "Password" msgstr "" -#: models.py:1409 -msgid "Page View Restriction" +#: models.py:1454 +msgid "page view restriction" +msgstr "" + +#: models.py:1455 +msgid "page view restrictions" msgstr "" #: validators.py:15 diff --git a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo index 3d6524de9..227858df6 100644 Binary files a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po index 88df86303..507afa3b9 100644 --- a/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/es/LC_MESSAGES/django.po @@ -15,10 +15,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-22 02:20+0000\n" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-03 02:46+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,8 +55,11 @@ msgstr "" "Si es afirmativo, este sitio manejará solicitudes para todos los demás " "nombres de host que no tengan un sitio para sí mismos" -msgid "Site" -msgstr "Sitio" +msgid "site" +msgstr "sitio" + +msgid "sites" +msgstr "sitios" #, python-format msgid "" @@ -156,6 +159,12 @@ msgstr "Ver en vivo" msgid "Default" msgstr "Predeterminado" +msgid "page" +msgstr "página" + +msgid "pages" +msgstr "páginas" + msgid "Page" msgstr "Página" @@ -174,14 +183,17 @@ msgstr "Contenido JSON" msgid "Approved go live at" msgstr "Aprobado para publicación" -msgid "Page Revision" -msgstr "Revisión de página" +msgid "page revision" +msgstr "revisión de página" + +msgid "page revisions" +msgstr "revisiones de página" msgid "Add/edit pages you own" msgstr "Añadir/editar tus propias páginas" -msgid "Add/edit any page" -msgstr "Añadir/editar cualquier página" +msgid "Edit any page" +msgstr "Editar cualquier página" msgid "Publish any page" msgstr "Publicar cualquier página" @@ -195,14 +207,20 @@ msgstr "Grupo" msgid "Permission type" msgstr "Tipo de permiso" -msgid "Group Page Permission" -msgstr "Grupo de permisos de página" +msgid "group page permission" +msgstr "grupo de permisos de página" + +msgid "group page permissions" +msgstr "grupos de permisos de páginas" msgid "Password" msgstr "Contraseña" -msgid "Page View Restriction" -msgstr "Página de vista restringida" +msgid "page view restriction" +msgstr "restricción de vista de página" + +msgid "page view restrictions" +msgstr "restricciones de vista de página" msgid "Value cannot be entirely whitespace characters" msgstr "El valor no puede consistir enteramente en espacios en blanco" diff --git a/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.mo index 641c8c992..ed8312df6 100644 Binary files a/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.po index 9f450b5ee..8cc755b7e 100644 --- a/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/fi/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-11 14:56+0000\n" -"Last-Translator: Glen Somerville \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Finnish (http://www.transifex.com/torchbox/wagtail/language/" "fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -47,9 +47,6 @@ msgstr "" "Mikäli valittu, tämä sivusto käsittelee kaikkien palvelinnimien kutsut " "joilla ei ole omaa sivusto määritystä" -msgid "Site" -msgstr "Sivusto" - #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " @@ -166,15 +163,9 @@ msgstr "Sisältö JSON muodossa" msgid "Approved go live at" msgstr "Julkaisu hyväksytty" -msgid "Page Revision" -msgstr "Sivun versio" - msgid "Add/edit pages you own" msgstr "Lisää/muokkaa sivuja jota omistat" -msgid "Add/edit any page" -msgstr "Lisää/muokkaa kaikkia sivuja" - msgid "Publish any page" msgstr "Julkaise kaikkia sivuja" @@ -187,15 +178,9 @@ msgstr "Ryhmä" msgid "Permission type" msgstr "Oikeudet" -msgid "Group Page Permission" -msgstr "Ryhmä " - msgid "Password" msgstr "Salasana" -msgid "Page View Restriction" -msgstr "Sivun katselurajoitus" - msgid "Value cannot be entirely whitespace characters" msgstr "" "Arvo ei voi sisältää pelkästään välilyöntejä tai muita näkymättömiä merkkejä." diff --git a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo index 56f8680f0..bacf69c5b 100644 Binary files a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po index 9f4ace29b..59c59aa7c 100644 --- a/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/fr/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-21 15:56+0000\n" -"Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -50,9 +50,6 @@ msgstr "" "Si oui, ce site gérera toutes les requêtes des autres noms d'hôtes qui n'ont " "pas de site défini." -msgid "Site" -msgstr "Site" - #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " @@ -171,15 +168,9 @@ msgstr "Contenu JSON" msgid "Approved go live at" msgstr "Approuvée le" -msgid "Page Revision" -msgstr "Version de page" - msgid "Add/edit pages you own" msgstr "Ajouter/modifier vos pages" -msgid "Add/edit any page" -msgstr "Ajouter/modifier n'importe quelle page" - msgid "Publish any page" msgstr "Publier n'importe quelle page" @@ -192,14 +183,8 @@ msgstr "Group" msgid "Permission type" msgstr "Type de permission" -msgid "Group Page Permission" -msgstr "Permission de page par groupe" - msgid "Password" msgstr "Mot de passe" -msgid "Page View Restriction" -msgstr "Confidentialité de page" - msgid "Value cannot be entirely whitespace characters" msgstr "La valeur ne peut pas uniquement être des espaces blancs" diff --git a/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.mo index 1b7fc7408..a3da52add 100644 Binary files a/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.po index 64dda7d44..7c29e6d75 100644 --- a/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/he_IL/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-20 13:13+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,9 +32,6 @@ msgstr "עמוד שורש" msgid "Is default site" msgstr "הוא אתר ברירת המחדל" -msgid "Site" -msgstr "אתר" - msgid "Title" msgstr "כותרת" @@ -123,15 +120,9 @@ msgstr "משתמש" msgid "Approved go live at" msgstr "מאושר לעלייה לאוויר ב:" -msgid "Page Revision" -msgstr "מהדורת עמוד" - msgid "Add/edit pages you own" msgstr "הוספת/עריכת דפים שאתה הבעלים שלהם" -msgid "Add/edit any page" -msgstr "הוספת/עריכת כל עמוד" - msgid "Publish any page" msgstr "פרסום כל עמוד" @@ -144,14 +135,8 @@ msgstr "קבוצה " msgid "Permission type" msgstr "סוג הרשאה " -msgid "Group Page Permission" -msgstr "הרשאה לעמוד קבוצה" - msgid "Password" msgstr "סיסמא" -msgid "Page View Restriction" -msgstr "מגבלות תצוגת דף" - msgid "Value cannot be entirely whitespace characters" msgstr "אין להזין רווח בין התווים" diff --git a/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.mo index 3c2ac2d69..f50017320 100644 Binary files a/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.po index 81737dc65..b19e075d7 100644 --- a/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/it/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-30 06:10+0000\n" -"Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,6 +26,16 @@ msgstr "Hostname" msgid "Port" msgstr "Porta" +msgid "" +"Set this to something other than 80 if you need a specific port number to " +"appear in URLs (e.g. development on port 8000). Does not affect request " +"handling (so port forwarding still works)." +msgstr "" +"Imposta questo a qualcosa di diverso da 80 se hai necessità di un numero di " +"porta da far apparire nelle URL (es. sviluppo sulla porta 8000). Non " +"influisce sulla gestione delle richieste (il port forwarding continua a " +"funzionare)." + msgid "Root page" msgstr "Pagina di root" @@ -37,8 +47,13 @@ msgid "" "have a site entry of their own" msgstr "Se true, questo sito gestirà le richieste di tutti gli altri hostname" -msgid "Site" -msgstr "Sito" +#, python-format +msgid "" +"%(hostname)s is already configured as the default site. You must unset that " +"before you can save this site as default." +msgstr "" +"%(hostname)s è già configurato come sito di default. Devi togliere questa " +"impostazione prima di poterlo salvare come sito di default." msgid "Title" msgstr "Titolo" @@ -144,15 +159,9 @@ msgstr "Contenuto JSON" msgid "Approved go live at" msgstr "Approvata alle" -msgid "Page Revision" -msgstr "Revisione pagina" - msgid "Add/edit pages you own" msgstr "Aggiungi/modifica pagine di tua proprietà" -msgid "Add/edit any page" -msgstr "Aggiungi/modifica ogni pagina" - msgid "Publish any page" msgstr "Pubblica ogni pagina" @@ -165,9 +174,6 @@ msgstr "Gruppo" msgid "Permission type" msgstr "Tipo di permesso" -msgid "Group Page Permission" -msgstr "Permesso della pagina del gruppo" - msgid "Password" msgstr "Parola chiave" diff --git a/wagtail/wagtailcore/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..c94b4ab68 Binary files /dev/null and b/wagtail/wagtailcore/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..e46807c95 --- /dev/null +++ b/wagtail/wagtailcore/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,184 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Hostname" +msgstr "호스트 이름" + +msgid "Port" +msgstr "포트" + +msgid "" +"Set this to something other than 80 if you need a specific port number to " +"appear in URLs (e.g. development on port 8000). Does not affect request " +"handling (so port forwarding still works)." +msgstr "" +" URL에 80 포트 넘버가 아닌 다른 포트 넘버를 적용하려면(예: 개발 목적의 8000 " +"포트), 여기에 값을 설정하여 주세요. 요청 핸들링엔 영향을 주지 않습니다(그러므" +"로 포트 포워딩은 계속 유효합니다)." + +msgid "Root page" +msgstr "기본 페이지" + +msgid "Is default site" +msgstr "는 기본 사이트입니다" + +msgid "" +"If true, this site will handle requests for all other hostnames that do not " +"have a site entry of their own" +msgstr "" +"만약 값이 'true'라면, 이 사이트는 접속 권한이 없는 다른 호스트명을 위한 요청" +"들을 수행할 것입니다." + +#, python-format +msgid "" +"%(hostname)s is already configured as the default site. You must unset that " +"before you can save this site as default." +msgstr "" +"%(hostname)s 은 이미 기본 사이트로 설정되었습니다. 이것을 해제하시면, 당신은 " +"이 사이트를 기본값으로 저장할 수 있습니다." + +msgid "Title" +msgstr "제목" + +msgid "The page title as you'd like it to be seen by the public" +msgstr "당신이 의도한대로 이 페이지 제목은 모든 사람에게 보여집니다." + +msgid "Slug" +msgstr "슬러그" + +msgid "" +"The name of the page as it will appear in URLs e.g http://domain.com/blog/" +"[my-slug]/" +msgstr "" +"이 페이지의 이름은 URL에 표시될 것입니다. (예:http://domain.com/blog/[my-" +"slug]/)" + +msgid "Content type" +msgstr "콘텐츠 형태" + +msgid "Live" +msgstr "라이브" + +msgid "Has unpublished changes" +msgstr "퍼블리싱 되지 않은 변화" + +msgid "URL path" +msgstr "URL 경로" + +msgid "Owner" +msgstr "소유자" + +msgid "Page title" +msgstr "페이지 제목" + +msgid "" +"Optional. 'Search Engine Friendly' title. This will appear at the top of the " +"browser window." +msgstr "" +"옵션. '검색 엔진에 최적화된' 제목. 이는 브라우저 화면 상단에 나타날 것입니다." + +msgid "Show in menus" +msgstr "메뉴에서 보여주기" + +msgid "" +"Whether a link to this page will appear in automatically generated menus" +msgstr "이 페이지에 대한 링크가 자동적으로 생성된 메뉴에 나타날 것입니다." + +msgid "Search description" +msgstr "검색 설명" + +msgid "Go live date/time" +msgstr "라이브 날짜/시간 으로 가기" + +msgid "Please add a date-time in the form YYYY-MM-DD hh:mm." +msgstr "YYYY-MM-DD hh:mm 의 형태로 날짜-시간을 추가해 주세요" + +msgid "Expiry date/time" +msgstr "만료 날짜/시간" + +msgid "Expired" +msgstr "만료된" + +msgid "Locked" +msgstr "잠겨 있는" + +msgid "First published at" +msgstr "첫번째 퍼블리싱한 시점" + +msgid "Latest revision created at" +msgstr "최근 검토가 생성된 시점" + +msgid "expired" +msgstr "만료" + +msgid "scheduled" +msgstr "스케줄된" + +msgid "draft" +msgstr "초안" + +msgid "live + draft" +msgstr "라이브 + 초안" + +msgid "live" +msgstr "라이브" + +msgid "Default" +msgstr "기본값" + +msgid "Page" +msgstr "페이지" + +msgid "Submitted for moderation" +msgstr "검토를 위한 제출" + +msgid "Created at" +msgstr "생성된 날짜" + +msgid "User" +msgstr "사용자" + +msgid "Content JSON" +msgstr "JSON 콘텐츠" + +msgid "Approved go live at" +msgstr "승인된 라이브로 간 시점" + +msgid "Add/edit pages you own" +msgstr "당신이 소유한 페이지들 추가/수정" + +msgid "Publish any page" +msgstr "페이지 퍼블리싱" + +msgid "Lock/unlock any page" +msgstr "페이지 잠금/잠금해제" + +msgid "Group" +msgstr "그룹" + +msgid "Permission type" +msgstr "퍼미션 형태" + +msgid "Password" +msgstr "비밀번호" + +msgid "Value cannot be entirely whitespace characters" +msgstr "값은 전체가 여백만으로 저장할 수 없습니다." diff --git a/wagtail/wagtailcore/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..94b0a8740 Binary files /dev/null and b/wagtail/wagtailcore/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..9fe97f641 --- /dev/null +++ b/wagtail/wagtailcore/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,218 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 20:00+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Hostname" +msgstr "Vertsnavn" + +msgid "Port" +msgstr "Port" + +msgid "" +"Set this to something other than 80 if you need a specific port number to " +"appear in URLs (e.g. development on port 8000). Does not affect request " +"handling (so port forwarding still works)." +msgstr "" +"Sett denne til noe annet enn 80 dersom du har behov for at en spesifikk port " +"vises i URLer (feks. utvikling på port 8000). Dette påvirker ikke håndtering " +"av forespørsler (så port forwarding fungerer fortsatt)." + +msgid "Root page" +msgstr "Rotside" + +msgid "Is default site" +msgstr "Er standard nettsted" + +msgid "" +"If true, this site will handle requests for all other hostnames that do not " +"have a site entry of their own" +msgstr "" +"Hvis merket vil denne siden håndtere forespørsler for alle andre vertsnavn " +"som ikke har noen egen nettstedsoppføring." + +msgid "site" +msgstr "nettsted" + +msgid "sites" +msgstr "nettsteder" + +#, python-format +msgid "" +"%(hostname)s is already configured as the default site. You must unset that " +"before you can save this site as default." +msgstr "" +"%(hostname)s er allerede satt opp som standard nettsted. Du må endre det før " +"du kan konfigurere dette nettstedet som standard." + +msgid "Title" +msgstr "Tittel" + +msgid "The page title as you'd like it to be seen by the public" +msgstr "Tiittel på siden slik den vises offentlig" + +msgid "Slug" +msgstr "Permalenke" + +msgid "" +"The name of the page as it will appear in URLs e.g http://domain.com/blog/" +"[my-slug]/" +msgstr "" +"Navnet på siden slik det vil vises i URLer, feks. http://domene.no/blogg/min-" +"slug/" + +msgid "Content type" +msgstr "Innholdstype" + +msgid "Live" +msgstr "Publisert" + +msgid "Has unpublished changes" +msgstr "Har upubliserte endringer" + +msgid "URL path" +msgstr "URL-sti" + +msgid "Owner" +msgstr "Eier" + +msgid "Page title" +msgstr "Sidetittel" + +msgid "" +"Optional. 'Search Engine Friendly' title. This will appear at the top of the " +"browser window." +msgstr "" +"Valgfritt. \"Søkemotorvennlig\" tittel. Vises øverst på nettleservinduet." + +msgid "Show in menus" +msgstr "Vis i menyer" + +msgid "" +"Whether a link to this page will appear in automatically generated menus" +msgstr "" +"Hvorvidt en lenke til denne siden skal vises i automatisk genererte menyer" + +msgid "Search description" +msgstr "Søkemotorbeskrivelse" + +msgid "Go live date/time" +msgstr "Tidspunkt for planlagt publisering" + +msgid "Please add a date-time in the form YYYY-MM-DD hh:mm." +msgstr "Legg inn et tidspunkt på formen ÅÅÅÅ-MM-DD tt:mm." + +msgid "Expiry date/time" +msgstr "Tidspunkt for avpublisering" + +msgid "Expired" +msgstr "Avpublisert" + +msgid "Locked" +msgstr "Låst" + +msgid "First published at" +msgstr "Først publisert" + +msgid "Latest revision created at" +msgstr "Siste utgave opprettet" + +msgid "expired" +msgstr "avpublisert" + +msgid "scheduled" +msgstr "planlagt" + +msgid "draft" +msgstr "kladd" + +msgid "live + draft" +msgstr "publisert + kladd" + +msgid "live" +msgstr "publisert" + +msgid "Default" +msgstr "Standard" + +msgid "page" +msgstr "side" + +msgid "pages" +msgstr "sider" + +msgid "Page" +msgstr "Side" + +msgid "Submitted for moderation" +msgstr "Sendt til godkjenning" + +msgid "Created at" +msgstr "Opprettet" + +msgid "User" +msgstr "Bruker" + +msgid "Content JSON" +msgstr "JSON for innhold" + +msgid "Approved go live at" +msgstr "Godkjent for publisering" + +msgid "page revision" +msgstr "sideutgave" + +msgid "page revisions" +msgstr "sideutgaver" + +msgid "Add/edit pages you own" +msgstr "Legg til/rediger sider du eier" + +msgid "Edit any page" +msgstr "Rediger enhver side" + +msgid "Publish any page" +msgstr "Publiser enhver side" + +msgid "Lock/unlock any page" +msgstr "Lås/lås opp enhver side" + +msgid "Group" +msgstr "Gruppe" + +msgid "Permission type" +msgstr "Tillatelsestype" + +msgid "group page permission" +msgstr "gruppetillatelse for side" + +msgid "group page permissions" +msgstr "gruppetillatelser for sider" + +msgid "Password" +msgstr "Passord" + +msgid "page view restriction" +msgstr "visningsbegrensning for side" + +msgid "page view restrictions" +msgstr "visningsbegrensninger for sider" + +msgid "Value cannot be entirely whitespace characters" +msgstr "Verdien kan ikke være bare tomme tegn" diff --git a/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.mo index 7d2d7ecc9..56fa7f702 100644 Binary files a/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.po index e4e3d8a14..340bc46c1 100644 --- a/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/pt_BR/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-21 11:34+0000\n" -"Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -50,9 +50,6 @@ msgstr "" "Se verdadeiro, este site irá gerenciar requisições de todos os outros " "hostnames que não tem um site próprio" -msgid "Site" -msgstr "Site" - #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " @@ -170,15 +167,9 @@ msgstr "Conteúdo JSON" msgid "Approved go live at" msgstr "Aprovado vai ao vivo em" -msgid "Page Revision" -msgstr "Revisão de página" - msgid "Add/edit pages you own" msgstr "Adicionar/editar páginas você mesmo" -msgid "Add/edit any page" -msgstr "Adicionar/editar qualquer página" - msgid "Publish any page" msgstr "Publicar qualquer página" @@ -191,14 +182,8 @@ msgstr "Grupo" msgid "Permission type" msgstr "Tipo de permissão" -msgid "Group Page Permission" -msgstr "Permissão de grupo de página" - msgid "Password" msgstr "Senha" -msgid "Page View Restriction" -msgstr "Restrição de visualização de página" - msgid "Value cannot be entirely whitespace characters" msgstr "Valor não pode ser apenas com caracteres vázios" diff --git a/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.mo index 7081daf8e..d850b1fb9 100644 Binary files a/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.po index 8d1b2d20a..bf0098984 100644 --- a/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/pt_PT/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-29 17:35+0000\n" -"Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -49,9 +49,6 @@ msgstr "" "Se verdadeiro, este site irá processar pedidos de todos os outros nomes de " "servidor que não tenham um site próprio" -msgid "Site" -msgstr "Site" - #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " @@ -170,15 +167,9 @@ msgstr "Conteúdo JSON" msgid "Approved go live at" msgstr "Aprovado para publicação a" -msgid "Page Revision" -msgstr "Versão da Página" - msgid "Add/edit pages you own" msgstr "Crie/altere as suas páginas" -msgid "Add/edit any page" -msgstr "Crie/altere qualquer página" - msgid "Publish any page" msgstr "Publicar qualquer página" @@ -191,14 +182,8 @@ msgstr "Grupo" msgid "Permission type" msgstr "Tipo de permissão" -msgid "Group Page Permission" -msgstr "Permissão de Página de Grupo" - msgid "Password" msgstr "Senha" -msgid "Page View Restriction" -msgstr "Restrição de Visualização de Página" - msgid "Value cannot be entirely whitespace characters" msgstr "O valor não pode conter apenas espaços em branco" diff --git a/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.mo new file mode 100644 index 000000000..2fff8fbd3 Binary files /dev/null and b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 000000000..0269d5f57 --- /dev/null +++ b/wagtail/wagtailcore/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,204 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Dan Braghis, 2014-2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-03 19:36+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +msgid "Hostname" +msgstr "Nume gazdă" + +msgid "Port" +msgstr "Port" + +msgid "" +"Set this to something other than 80 if you need a specific port number to " +"appear in URLs (e.g. development on port 8000). Does not affect request " +"handling (so port forwarding still works)." +msgstr "" +"Dacă aveți nevoie ca un număr de port specific să apară în adrese de " +"internet (de exemplu, dezvoltare pe portul 8000) setați aceasta la altceva " +"decât 80. Nu influențează gestionarea solicitărilor și transmiterile de port " +"vor continua să funcționeze." + +msgid "Root page" +msgstr "Pagină de bază" + +msgid "Is default site" +msgstr "Site implicit" + +msgid "" +"If true, this site will handle requests for all other hostnames that do not " +"have a site entry of their own" +msgstr "" +"Dacă e 'true', acest sit va gestiona solicitări pentru toate hostname-urile " +"fără setări separate" + +msgid "site" +msgstr "Sit" + +msgid "sites" +msgstr "site-uri" + +#, python-format +msgid "" +"%(hostname)s is already configured as the default site. You must unset that " +"before you can save this site as default." +msgstr "" +"%(hostname)s este definit deja ca sit implicit și trebuie schimbat pentru a " +"putea seta acest sit ca implicit " + +msgid "Title" +msgstr "Titlu" + +msgid "The page title as you'd like it to be seen by the public" +msgstr "Titlul paginii așa cum doriți să fie vizibil public" + +msgid "" +"The name of the page as it will appear in URLs e.g http://domain.com/blog/" +"[my-slug]/" +msgstr "" +"Numele paginii așa cum va apărea în adrese. De exemplu, http://domain.com/" +"blog/[my-slug]/" + +msgid "Content type" +msgstr "Tip de conținut" + +msgid "Has unpublished changes" +msgstr "Conține modificări nepublicate" + +msgid "URL path" +msgstr "Cale" + +msgid "Owner" +msgstr "Proprietar" + +msgid "Page title" +msgstr "Titlu pagină" + +msgid "" +"Optional. 'Search Engine Friendly' title. This will appear at the top of the " +"browser window." +msgstr "" +"Opțional. Titlu favorabil motoarelor de căutare. Apare în partea de sus a " +"browserului." + +msgid "Show in menus" +msgstr "Arată în meniuri" + +msgid "" +"Whether a link to this page will appear in automatically generated menus" +msgstr "" +"Dacă un link către această pagină va apărea în meniurile generate în mod " +"automat" + +msgid "Search description" +msgstr "Descriere pentru căutare" + +msgid "Go live date/time" +msgstr "Data/timpul de publicare" + +msgid "Please add a date-time in the form YYYY-MM-DD hh:mm." +msgstr "Introduceți data și timpul în format YYYY-MM-DD hh:mm." + +msgid "Expiry date/time" +msgstr "Data/timpul de expirare" + +msgid "Expired" +msgstr "Expirat" + +msgid "Locked" +msgstr "Blocat" + +msgid "expired" +msgstr "expirat" + +msgid "scheduled" +msgstr "programată" + +msgid "draft" +msgstr "ciornă" + +msgid "Default" +msgstr "Implicit" + +msgid "page" +msgstr "pagină" + +msgid "pages" +msgstr "pagini" + +msgid "Page" +msgstr "Pagină" + +msgid "Submitted for moderation" +msgstr "Trimisă pentru moderare." + +msgid "Created at" +msgstr "Creat la" + +msgid "User" +msgstr "Utilizator" + +msgid "Content JSON" +msgstr "Conținut JSON" + +msgid "Approved go live at" +msgstr "Aprobat pentru publicare la" + +msgid "page revision" +msgstr "revizie pagină" + +msgid "page revisions" +msgstr "revizii pagină" + +msgid "Add/edit pages you own" +msgstr "Adaugă/editeaza pagini deținute" + +msgid "Edit any page" +msgstr "Editează orice pagină" + +msgid "Publish any page" +msgstr "Publică orice pagină" + +msgid "Lock/unlock any page" +msgstr "Blochează/deblochează orice pagină" + +msgid "Group" +msgstr "Grup" + +msgid "Permission type" +msgstr "Tip permisiune" + +msgid "group page permission" +msgstr "permisie grup pagină" + +msgid "group page permissions" +msgstr "permisiuni grup pagină" + +msgid "Password" +msgstr "Parolă" + +msgid "page view restriction" +msgstr "restricție de vizualizare pagină" + +msgid "page view restrictions" +msgstr "restricții de vizualizare pagină" + +msgid "Value cannot be entirely whitespace characters" +msgstr "Valoarea nu poate fi în întregime caractere spații albe" diff --git a/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.mo index 9d0a2457a..a2bff590c 100644 Binary files a/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.po index 697d49776..3e7111fc3 100644 --- a/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/ru/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-28 07:26+0000\n" -"Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -50,9 +50,6 @@ msgstr "" "Если выбрано, этот сайт будет обрабатывать запросы для всех имеющихся имен " "хостов, не закрепленных за другими сайтами" -msgid "Site" -msgstr "Сайт" - #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " @@ -171,14 +168,11 @@ msgstr "Сожержимое JSON" msgid "Approved go live at" msgstr "Подтверждено к публикации" -msgid "Page Revision" -msgstr "Ревизия Страницы" - msgid "Add/edit pages you own" msgstr "Добавить/редактировать свои страницы" -msgid "Add/edit any page" -msgstr "Добавить/редактировать любую страницу" +msgid "Edit any page" +msgstr "Редактировать любую страницу" msgid "Publish any page" msgstr "Опубликовать любую страницу" @@ -192,14 +186,8 @@ msgstr "Группа" msgid "Permission type" msgstr "Тип прав" -msgid "Group Page Permission" -msgstr "Права на страницу у группы" - msgid "Password" msgstr "Пароль" -msgid "Page View Restriction" -msgstr "Ограничения на просмотр страницы" - msgid "Value cannot be entirely whitespace characters" msgstr "Значение не может состоять полностью из пробельных символов" diff --git a/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.mo index fb90172a5..ba5d77722 100644 Binary files a/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.po index fab5e170a..061e0427b 100644 --- a/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailcore/locale/zh_CN/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-29 16:54+0000\n" -"Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-09-02 20:07+0100\n" +"PO-Revision-Date: 2015-09-02 19:12+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,9 +44,6 @@ msgid "" "have a site entry of their own" msgstr "如果勾选,此站点将处理通过其它主机名访问的,尚没有站点内容的请求。" -msgid "Site" -msgstr "站点" - #, python-format msgid "" "%(hostname)s is already configured as the default site. You must unset that " @@ -159,15 +156,9 @@ msgstr "内容JSON" msgid "Approved go live at" msgstr "批准上线于" -msgid "Page Revision" -msgstr "页面修订版本" - msgid "Add/edit pages you own" msgstr "增加/编辑所属的页面" -msgid "Add/edit any page" -msgstr "添加/编辑任意页面" - msgid "Publish any page" msgstr "发布任意页面" @@ -180,14 +171,8 @@ msgstr "组" msgid "Permission type" msgstr "权限类型" -msgid "Group Page Permission" -msgstr "群页面权限" - msgid "Password" msgstr "密码" -msgid "Page View Restriction" -msgstr "页面查看限制" - msgid "Value cannot be entirely whitespace characters" msgstr "值不能为空白字符" diff --git a/wagtail/wagtailcore/migrations/0017_change_edit_page_permission_description.py b/wagtail/wagtailcore/migrations/0017_change_edit_page_permission_description.py new file mode 100644 index 000000000..57fb8bfee --- /dev/null +++ b/wagtail/wagtailcore/migrations/0017_change_edit_page_permission_description.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailcore', '0001_squashed_0016_change_page_url_path_to_text_field'), + ] + + operations = [ + migrations.AlterField( + model_name='grouppagepermission', + name='permission_type', + field=models.CharField(choices=[('add', 'Add/edit pages you own'), ('edit', 'Edit any page'), ('publish', 'Publish any page'), ('lock', 'Lock/unlock any page')], max_length=20, verbose_name='Permission type'), + preserve_default=True, + ), + ] diff --git a/wagtail/wagtailcore/migrations/0018_pagerevision_submitted_for_moderation_index.py b/wagtail/wagtailcore/migrations/0018_pagerevision_submitted_for_moderation_index.py new file mode 100644 index 000000000..f3d27c876 --- /dev/null +++ b/wagtail/wagtailcore/migrations/0018_pagerevision_submitted_for_moderation_index.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailcore', '0017_change_edit_page_permission_description'), + ] + + operations = [ + migrations.AlterField( + model_name='pagerevision', + name='submitted_for_moderation', + field=models.BooleanField(default=False, db_index=True, verbose_name='Submitted for moderation'), + ), + ] diff --git a/wagtail/wagtailcore/migrations/0019_verbose_names_cleanup.py b/wagtail/wagtailcore/migrations/0019_verbose_names_cleanup.py new file mode 100644 index 000000000..a2b608a95 --- /dev/null +++ b/wagtail/wagtailcore/migrations/0019_verbose_names_cleanup.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailcore', '0018_pagerevision_submitted_for_moderation_index'), + ] + + operations = [ + migrations.AlterModelOptions( + name='grouppagepermission', + options={'verbose_name': 'group page permission', 'verbose_name_plural': 'group page permissions'}, + ), + migrations.AlterModelOptions( + name='page', + options={'verbose_name': 'page', 'verbose_name_plural': 'pages'}, + ), + migrations.AlterModelOptions( + name='pagerevision', + options={'verbose_name': 'page revision', 'verbose_name_plural': 'page revisions'}, + ), + migrations.AlterModelOptions( + name='pageviewrestriction', + options={'verbose_name': 'page view restriction', 'verbose_name_plural': 'page view restrictions'}, + ), + migrations.AlterModelOptions( + name='site', + options={'verbose_name': 'site', 'verbose_name_plural': 'sites'}, + ), + ] diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py index 92e6f3512..90d2c2aa8 100644 --- a/wagtail/wagtailcore/models.py +++ b/wagtail/wagtailcore/models.py @@ -2,9 +2,11 @@ from __future__ import unicode_literals import logging import json +import warnings +from collections import defaultdict from modelcluster.models import ClusterableModel, get_all_child_relations - +import django from django.db import models, connection, transaction from django.db.models import Q from django.db.models.signals import post_save, pre_delete, post_delete @@ -40,9 +42,13 @@ from wagtail.wagtailcore.signals import page_published, page_unpublished from wagtail.wagtailsearch import index from wagtail.wagtailsearch.backends import get_search_backend +from wagtail.utils.deprecation import RemovedInWagtail13Warning + logger = logging.getLogger('wagtail.core') +PAGE_TEMPLATE_VAR = 'page' + class SiteManager(models.Manager): def get_by_natural_key(self, hostname, port): @@ -58,7 +64,8 @@ class Site(models.Model): class Meta: unique_together = ('hostname', 'port') - verbose_name = _('Site') + verbose_name = _('site') + verbose_name_plural = _('sites') def natural_key(self): return (self.hostname, self.port) @@ -258,11 +265,18 @@ class PageBase(models.base.ModelBase): cls._clean_subpage_types = None # to be filled in on first call to cls.clean_subpage_types cls._clean_parent_page_types = None # to be filled in on first call to cls.clean_parent_page_types - if not dct.get('is_abstract'): - # subclasses are only abstract if the subclass itself defines itself so - cls.is_abstract = False + # All pages should be creatable unless explicitly set otherwise. + # This attribute is not inheritable. + if 'is_creatable' not in dct: + if 'is_abstract' in dct: + warnings.warn( + "The is_abstract flag is deprecated - use is_creatable instead.", + RemovedInWagtail13Warning) + cls.is_creatable = not dct['is_abstract'] + else: + cls.is_creatable = not cls._meta.abstract - if not cls.is_abstract: + if cls.is_creatable: # register this type in the list of page content types PAGE_MODEL_CLASSES.append(cls) @@ -301,8 +315,12 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed index.FilterField('path'), index.FilterField('depth'), index.FilterField('locked'), + index.FilterField('show_in_menus'), ) + # Do not allow plain Page instances to be created through the Wagtail admin + is_creatable = False + def __init__(self, *args, **kwargs): super(Page, self).__init__(*args, **kwargs) if not self.id and not self.content_type_id: @@ -314,8 +332,6 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed def __str__(self): return self.title - is_abstract = True # don't offer Page in the list of page types a superuser can create - def set_url_path(self, parent): """ Populate the url_path field based on this page's slug and the specified parent page. @@ -546,6 +562,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed def get_context(self, request, *args, **kwargs): return { + PAGE_TEMPLATE_VAR: self, 'self': self, 'request': request, } @@ -589,7 +606,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed Return None if the page is not routable. """ root_paths = Site.get_site_root_paths() - for (id, root_path, root_url) in Site.get_site_root_paths(): + for (id, root_path, root_url) in root_paths: if self.url_path.startswith(root_path): return ('' if len(root_paths) == 1 else root_url) + reverse('wagtail_serve', args=(self.url_path[len(root_path):],)) @@ -763,13 +780,34 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed logger.info("Page moved: \"%s\" id=%d path=%s", self.title, self.id, new_url_path) def copy(self, recursive=False, to=None, update_attrs=None, copy_revisions=True, keep_live=True, user=None): - # Make a copy - page_copy = Page.objects.get(id=self.id).specific - page_copy.pk = None - page_copy.id = None - page_copy.depth = None - page_copy.numchild = 0 - page_copy.path = None + # Fill dict with self.specific values + exclude_fields = ['id', 'path', 'depth', 'numchild', 'url_path', 'path'] + specific_self = self.specific + specific_dict = {} + + if django.VERSION >= (1, 8): + for field in specific_self._meta.get_fields(): + # Ignore explicitly excluded fields + if field.name in exclude_fields: + continue + + # Ignore reverse relations + if field.auto_created: + continue + + # Ignore parent links (page_ptr) + if isinstance(field, models.OneToOneField) and field.parent_link: + continue + + specific_dict[field.name] = getattr(specific_self, field.name) + else: + # Django 1.7 + for field in specific_self._meta.fields: + if field.name not in exclude_fields and not (field.rel is not None and field.rel.parent_link): + specific_dict[field.name] = getattr(specific_self, field.name) + + # New instance from prepared dict values, in case the instance class implements multiple levels inheritance + page_copy = self.specific_class(**specific_dict) if not keep_live: page_copy.live = False @@ -787,18 +825,27 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed else: page_copy = self.add_sibling(instance=page_copy) + # A dict that maps child objects to their new ids + # Used to remap child object ids in revisions + child_object_id_map = defaultdict(dict) + # Copy child objects specific_self = self.specific for child_relation in get_all_child_relations(specific_self): + accessor_name = child_relation.get_accessor_name() parental_key_name = child_relation.field.attname - child_objects = getattr(specific_self, child_relation.get_accessor_name(), None) + child_objects = getattr(specific_self, accessor_name, None) if child_objects: for child_object in child_objects.all(): + old_pk = child_object.pk child_object.pk = None setattr(child_object, parental_key_name, page_copy.id) child_object.save() + # Add mapping to new primary key (so we can apply this change to revisions) + child_object_id_map[accessor_name][old_pk] = child_object.pk + # Copy revisions if copy_revisions: for revision in self.revisions.all(): @@ -812,8 +859,9 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed revision_content['pk'] = page_copy.pk for child_relation in get_all_child_relations(specific_self): + accessor_name = child_relation.get_accessor_name() try: - child_objects = revision_content[child_relation.get_accessor_name()] + child_objects = revision_content[accessor_name] except KeyError: # KeyErrors are possible if the revision was created # before this child relation was added to the database @@ -822,6 +870,11 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed for child_object in child_objects: child_object[child_relation.field.name] = page_copy.pk + # Remap primary key to copied versions + # If the primary key is not recognised (eg, the child object has been deleted from the database) + # set the primary key to None + child_object['pk'] = child_object_id_map[accessor_name].get(child_object['pk'], None) + revision.content_json = json.dumps(revision_content) # Save @@ -1002,6 +1055,10 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed context['action_url'] = action_url return TemplateResponse(request, self.password_required_template, context) + class Meta: + verbose_name = _('page') + verbose_name_plural = _('pages') + def get_navigation_menu_items(): # Get all pages that appear in the navigation menu: ones which have children, @@ -1074,7 +1131,7 @@ class SubmittedRevisionsManager(models.Manager): @python_2_unicode_compatible class PageRevision(models.Model): page = models.ForeignKey('Page', verbose_name=_('Page'), related_name='revisions') - submitted_for_moderation = models.BooleanField(verbose_name=_('Submitted for moderation'), default=False) + submitted_for_moderation = models.BooleanField(verbose_name=_('Submitted for moderation'), default=False, db_index=True) created_at = models.DateTimeField(verbose_name=_('Created at')) user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('User'), null=True, blank=True) content_json = models.TextField(verbose_name=_('Content JSON')) @@ -1177,12 +1234,13 @@ class PageRevision(models.Model): return '"' + six.text_type(self.page) + '" at ' + six.text_type(self.created_at) class Meta: - verbose_name = _('Page Revision') + verbose_name = _('page revision') + verbose_name_plural = _('page revisions') PAGE_PERMISSION_TYPE_CHOICES = [ ('add', _('Add/edit pages you own')), - ('edit', _('Add/edit any page')), + ('edit', _('Edit any page')), ('publish', _('Publish any page')), ('lock', _('Lock/unlock any page')), ] @@ -1195,7 +1253,8 @@ class GroupPagePermission(models.Model): class Meta: unique_together = ('group', 'page', 'permission_type') - verbose_name = _('Group Page Permission') + verbose_name = _('group page permission') + verbose_name_plural = _('group page permissions') class UserPagePermissionsProxy(object): @@ -1421,4 +1480,5 @@ class PageViewRestriction(models.Model): password = models.CharField(verbose_name=_('Password'), max_length=255) class Meta: - verbose_name = _('Page View Restriction') + verbose_name = _('page view restriction') + verbose_name_plural = _('page view restrictions') diff --git a/wagtail/wagtailcore/tests/test_dbwhitelister.py b/wagtail/wagtailcore/tests/test_dbwhitelister.py index 3ab7868fa..dc1f76cea 100644 --- a/wagtail/wagtailcore/tests/test_dbwhitelister.py +++ b/wagtail/wagtailcore/tests/test_dbwhitelister.py @@ -1,8 +1,10 @@ +from bs4 import BeautifulSoup + from django.test import TestCase + from wagtail.wagtailcore.rich_text import DbWhitelister from wagtail.wagtailcore.whitelist import Whitelister -from bs4 import BeautifulSoup class TestDbWhitelister(TestCase): def assertHtmlEqual(self, str1, str2): @@ -10,7 +12,7 @@ class TestDbWhitelister(TestCase): Assert that two HTML strings are equal at the DOM level (necessary because we can't guarantee the order that attributes are output in) """ - self.assertEqual(BeautifulSoup(str1), BeautifulSoup(str2)) + self.assertEqual(BeautifulSoup(str1, 'html5lib'), BeautifulSoup(str2, 'html5lib')) def test_page_link_is_rewritten(self): input_html = '

    Look at the lovely homepage of my Wagtail site

    ' diff --git a/wagtail/wagtailcore/tests/test_management_commands.py b/wagtail/wagtailcore/tests/test_management_commands.py index 7c90f9922..d4b7c6845 100644 --- a/wagtail/wagtailcore/tests/test_management_commands.py +++ b/wagtail/wagtailcore/tests/test_management_commands.py @@ -80,7 +80,7 @@ class TestFixTreeCommand(TestCase): # Check that the issues were detected output_string = output.read() self.assertIn("Incorrect numchild value found for pages: [2]", output_string) - self.assertIn("Orphaned pages found: [4, 5, 6, 9]", output_string) + self.assertIn("Orphaned pages found: [4, 5, 6, 9, 13]", output_string) # Check that christmas_page is still in the tree self.assertTrue(Page.objects.filter(id=christmas_page.id).exists()) @@ -102,7 +102,7 @@ class TestFixTreeCommand(TestCase): # Check that the issues were detected output_string = output.read() self.assertIn("Incorrect numchild value found for pages: [2]", output_string) - self.assertIn("4 orphaned pages deleted.", output_string) + self.assertIn("5 orphaned pages deleted.", output_string) # Check that christmas_page has been deleted self.assertFalse(Page.objects.filter(id=christmas_page.id).exists()) diff --git a/wagtail/wagtailcore/tests/test_page_model.py b/wagtail/wagtailcore/tests/test_page_model.py index b1773ab0c..5483b31ca 100644 --- a/wagtail/wagtailcore/tests/test_page_model.py +++ b/wagtail/wagtailcore/tests/test_page_model.py @@ -1,5 +1,6 @@ import datetime import json +import warnings import pytz @@ -9,9 +10,13 @@ from django.http import HttpRequest, Http404 from django.contrib.contenttypes.models import ContentType from django.contrib.auth import get_user_model from django.contrib.auth.models import AnonymousUser +from django.utils.six import text_type -from wagtail.wagtailcore.models import Page, Site -from wagtail.tests.testapp.models import EventPage, EventIndex, SimplePage, BusinessIndex, BusinessSubIndex, BusinessChild, StandardIndex +from wagtail.wagtailcore.models import Page, Site, PAGE_MODEL_CLASSES +from wagtail.tests.testapp.models import ( + SingleEventPage, EventPage, EventIndex, SimplePage, + BusinessIndex, BusinessSubIndex, BusinessChild, StandardIndex, + MTIBasePage, MTIChildPage, AbstractPage) class TestSiteRouting(TestCase): @@ -448,6 +453,11 @@ class TestCopyPage(TestCase): self.assertEqual(new_revision_content['pk'], new_christmas_event.id) self.assertEqual(new_revision_content['speakers'][0]['page'], new_christmas_event.id) + # Also, check that the child objects in the new revision are given new IDs + old_speakers_ids = set(christmas_event.speakers.values_list('id', flat=True)) + new_speakers_ids = set(speaker['pk'] for speaker in new_revision_content['speakers']) + self.assertFalse(old_speakers_ids.intersection(new_speakers_ids), "Child objects in revisions were not given a new primary key") + def test_copy_page_copies_revisions_and_doesnt_submit_for_moderation(self): christmas_event = EventPage.objects.get(url_path='/home/events/christmas/') christmas_event.save_revision(submitted_for_moderation=True) @@ -604,6 +614,28 @@ class TestCopyPage(TestCase): # Check that the user on the last revision is correct self.assertEqual(new_christmas_event.get_latest_revision().user, event_moderator) + def test_copy_multi_table_inheritance(self): + saint_patrick_event = SingleEventPage.objects.get(url_path='/home/events/saint-patrick/') + + # Copy it + new_saint_patrick_event = saint_patrick_event.copy(update_attrs={'slug': 'new-saint-patrick'}) + + # Check that new_saint_patrick_event is correct + self.assertIsInstance(new_saint_patrick_event, SingleEventPage) + self.assertEqual(new_saint_patrick_event.excerpt, saint_patrick_event.excerpt) + + # Check that new_saint_patrick_event is a different page, including parents from both EventPage and Page + self.assertNotEqual(saint_patrick_event.id, new_saint_patrick_event.id) + self.assertNotEqual(saint_patrick_event.eventpage_ptr.id, new_saint_patrick_event.eventpage_ptr.id) + self.assertNotEqual(saint_patrick_event.eventpage_ptr.page_ptr.id, new_saint_patrick_event.eventpage_ptr.page_ptr.id) + + # Check that the url path was updated + self.assertEqual(new_saint_patrick_event.url_path, '/home/events/new-saint-patrick/') + + # Check that both parent instance exists + self.assertIsInstance(EventPage.objects.get(id=new_saint_patrick_event.id), EventPage) + self.assertIsInstance(Page.objects.get(id=new_saint_patrick_event.id), Page) + class TestSubpageTypeBusinessRules(TestCase): def test_allowed_subpage_types(self): @@ -704,3 +736,49 @@ class TestIssue1216(TestCase): new_christmas_event = EventPage.objects.get(id=christmas_event.id) expected_url_path = "/home/%s/%s/" % (new_event_index_slug, new_christmas_slug) self.assertEqual(new_christmas_event.url_path, expected_url_path) + + +class TestIsCreatable(TestCase): + def test_is_creatable_default(self): + """By default, pages should be creatable""" + self.assertTrue(SimplePage.is_creatable) + self.assertIn(SimplePage, PAGE_MODEL_CLASSES) + + def test_is_creatable_false(self): + """Page types should be able to disable their creation""" + self.assertFalse(MTIBasePage.is_creatable) + self.assertNotIn(MTIBasePage, PAGE_MODEL_CLASSES) + + def test_is_creatable_not_inherited(self): + """ + is_creatable should not be inherited in the normal manner, and should + default to True unless set otherwise + """ + self.assertTrue(MTIChildPage.is_creatable) + self.assertIn(MTIChildPage, PAGE_MODEL_CLASSES) + + def test_abstract_pages(self): + """ + Abstract models should not be creatable + """ + self.assertFalse(AbstractPage.is_creatable) + self.assertNotIn(AbstractPage, PAGE_MODEL_CLASSES) + + def test_is_abstract(self): + """ + is_abstract has been deprecated. Check that it still works, but issues + a deprecation warning + """ + with warnings.catch_warnings(record=True) as ws: + class IsAbstractPage(Page): + is_abstract = True + + class Meta: + abstract = True + + self.assertEqual(len(ws), 1) + warning = ws[0] + self.assertIn("is_creatable", text_type(warning.message)) + + self.assertFalse(AbstractPage.is_creatable) + self.assertNotIn(AbstractPage, PAGE_MODEL_CLASSES) diff --git a/wagtail/wagtailcore/tests/test_page_queryset.py b/wagtail/wagtailcore/tests/test_page_queryset.py index 9c4f3e7b7..c9913bc9c 100644 --- a/wagtail/wagtailcore/tests/test_page_queryset.py +++ b/wagtail/wagtailcore/tests/test_page_queryset.py @@ -410,3 +410,17 @@ class TestSpecificQuery(TestCase): Page.objects.get(url_path='/home/events/christmas/').specific, Page.objects.get(url_path='/home/events/').specific, Page.objects.get(url_path='/home/about-us/').specific]) + + def test_specific_query_with_search(self): + # 1276 - The database search backend didn't return results with the + # specific type when searching a specific queryset. + + pages = list(Page.objects.specific().live().in_menu().search(None, backend='wagtail.wagtailsearch.backends.db')) + + # Check that each page is in the queryset with the correct type. + # We don't care about order here + self.assertEqual(len(pages), 4) + self.assertIn(Page.objects.get(url_path='/home/other/').specific, pages) + self.assertIn(Page.objects.get(url_path='/home/events/christmas/').specific, pages) + self.assertIn(Page.objects.get(url_path='/home/events/').specific, pages) + self.assertIn(Page.objects.get(url_path='/home/about-us/').specific, pages) diff --git a/wagtail/wagtailcore/tests/test_rich_text.py b/wagtail/wagtailcore/tests/test_rich_text.py index b14b635b4..850877437 100644 --- a/wagtail/wagtailcore/tests/test_rich_text.py +++ b/wagtail/wagtailcore/tests/test_rich_text.py @@ -1,4 +1,5 @@ from mock import patch +from bs4 import BeautifulSoup from django.test import TestCase @@ -9,16 +10,13 @@ from wagtail.wagtailcore.rich_text import ( expand_db_html, RichText ) -from bs4 import BeautifulSoup class TestPageLinkHandler(TestCase): fixtures = ['test.json'] def test_get_db_attributes(self): - soup = BeautifulSoup( - 'foo' - ) + soup = BeautifulSoup('foo', 'html5lib') tag = soup.a result = PageLinkHandler.get_db_attributes(tag) self.assertEqual(result, @@ -49,9 +47,7 @@ class TestPageLinkHandler(TestCase): class TestDbWhiteLister(TestCase): def test_clean_tag_node_div(self): - soup = BeautifulSoup( - '
    foo
    ' - ) + soup = BeautifulSoup('
    foo
    ', 'html5lib') tag = soup.div self.assertEqual(tag.name, 'div') DbWhitelister.clean_tag_node(soup, tag) @@ -59,7 +55,8 @@ class TestDbWhiteLister(TestCase): def test_clean_tag_node_with_data_embedtype(self): soup = BeautifulSoup( - '

    foo

    ' + '

    foo

    ', + 'html5lib' ) tag = soup.p DbWhitelister.clean_tag_node(soup, tag) @@ -68,16 +65,15 @@ class TestDbWhiteLister(TestCase): def test_clean_tag_node_with_data_linktype(self): soup = BeautifulSoup( - 'foo' + 'foo', + 'html5lib' ) tag = soup.a DbWhitelister.clean_tag_node(soup, tag) self.assertEqual(str(tag), 'foo') def test_clean_tag_node(self): - soup = BeautifulSoup( - 'foo' - ) + soup = BeautifulSoup('foo', 'html5lib') tag = soup.a DbWhitelister.clean_tag_node(soup, tag) self.assertEqual(str(tag), 'foo') diff --git a/wagtail/wagtailcore/tests/test_whitelist.py b/wagtail/wagtailcore/tests/test_whitelist.py index 6589ecab5..ce2ff44b8 100644 --- a/wagtail/wagtailcore/tests/test_whitelist.py +++ b/wagtail/wagtailcore/tests/test_whitelist.py @@ -1,6 +1,7 @@ from bs4 import BeautifulSoup from django.test import TestCase + from wagtail.wagtailcore.whitelist import ( check_url, attribute_rule, @@ -8,6 +9,7 @@ from wagtail.wagtailcore.whitelist import ( Whitelister ) + class TestCheckUrl(TestCase): def test_allowed_url_schemes(self): for url_scheme in ['', 'http', 'https', 'ftp', 'mailto', 'tel']: @@ -27,7 +29,7 @@ class TestCheckUrl(TestCase): class TestAttributeRule(TestCase): def setUp(self): - self.soup = BeautifulSoup('baz') + self.soup = BeautifulSoup('baz', 'html5lib') def test_no_rule_for_attr(self): """ @@ -86,7 +88,7 @@ class TestAttributeRule(TestCase): Test that attribute_rule() with will drop all attributes. """ - soup = BeautifulSoup('') + soup = BeautifulSoup('', 'html5lib') tag = soup.b allow_without_attributes(tag) self.assertEqual(str(tag), '') @@ -97,7 +99,7 @@ class TestWhitelister(TestCase): """ Unknown node should remove a node from the parent document """ - soup = BeautifulSoup('bazquux') + soup = BeautifulSoup('bazquux', 'html5lib') tag = soup.foo Whitelister.clean_unknown_node('', soup.bar) self.assertEqual(str(tag), 'quux') @@ -107,7 +109,7 @@ class TestWhitelister(TestCase): tags are allowed without attributes. This remains true when tags are nested. """ - soup = BeautifulSoup('foo') + soup = BeautifulSoup('foo', 'html5lib') tag = soup.b Whitelister.clean_tag_node(tag, tag) self.assertEqual(str(tag), 'foo') @@ -116,19 +118,19 @@ class TestWhitelister(TestCase): """ tags should be removed, even when nested. """ - soup = BeautifulSoup('bar') + soup = BeautifulSoup('bar', 'html5lib') tag = soup.b Whitelister.clean_tag_node(tag, tag) self.assertEqual(str(tag), 'bar') def test_clean_string_node_does_nothing(self): - soup = BeautifulSoup('bar') + soup = BeautifulSoup('bar', 'html5lib') string = soup.b.string Whitelister.clean_string_node(string, string) self.assertEqual(str(string), 'bar') def test_clean_node_does_not_change_navigable_strings(self): - soup = BeautifulSoup('bar') + soup = BeautifulSoup('bar', 'html5lib') string = soup.b.string Whitelister.clean_node(string, string) self.assertEqual(str(string), 'bar') diff --git a/wagtail/wagtailcore/whitelist.py b/wagtail/wagtailcore/whitelist.py index 356be9ecb..3f521275a 100644 --- a/wagtail/wagtailcore/whitelist.py +++ b/wagtail/wagtailcore/whitelist.py @@ -3,8 +3,6 @@ A generic HTML whitelisting engine, designed to accommodate subclassing to overr specific rules. """ import re - - from bs4 import BeautifulSoup, NavigableString, Tag diff --git a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo index bef9af518..6380fb654 100644 Binary files a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po index 11d45a238..77c679dac 100644 --- a/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/bg/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo index 9f07775b2..37f30e001 100644 Binary files a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po index c170ef59d..b23ce30cf 100644 --- a/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/ca/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.mo index c4b3c79a5..7c0771efa 100644 Binary files a/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.po index 7ae9e5c6d..99a1f95bb 100644 --- a/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/cs/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Czech (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Czech (http://www.transifex.com/torchbox/wagtail/language/" "cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo index fe500e39b..81b4fb932 100644 Binary files a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po index 67db3790a..b589baae7 100644 --- a/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/de/LC_MESSAGES/django.po @@ -14,10 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-28 22:34+0000\n" "Last-Translator: Tammo van Lessen \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo index 6676db4a6..fd28fe51c 100644 Binary files a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po index a004a75d2..d73649395 100644 --- a/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/el/LC_MESSAGES/django.po @@ -6,15 +6,16 @@ # jim dal , 2014 # serafeim , 2014 # serafeim , 2014 +# dotoree , 2015 # Wasilis Mandratzis-Walz, 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-13 07:12+0000\n" +"Last-Translator: dotoree \n" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,9 +29,18 @@ msgstr "Τίτλος" msgid "File" msgstr "Αρχείο" +msgid "Created at" +msgstr "Δημιουργήθηκε την" + +msgid "Uploaded by user" +msgstr "Ανεβασμένο από χρήστη" + msgid "Tags" msgstr "Ετικέτες" +msgid "Document" +msgstr "Έγγραφο" + msgid "Choose a document" msgstr "Επιλογή εγγράφου" diff --git a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo index 8f1a78850..23d85d9c4 100644 Binary files a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po index 10f85f7b5..9566ecc23 100644 --- a/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,18 +47,18 @@ msgstr "" msgid "Choose a document" msgstr "" -#: templates/wagtaildocs/chooser/chooser.html:7 -#: templates/wagtaildocs/chooser/chooser.html:19 +#: templates/wagtaildocs/chooser/chooser.html:8 +#: templates/wagtaildocs/chooser/chooser.html:20 msgid "Search" msgstr "" -#: templates/wagtaildocs/chooser/chooser.html:8 +#: templates/wagtaildocs/chooser/chooser.html:9 msgid "Upload" msgstr "" -#: templates/wagtaildocs/chooser/chooser.html:34 -#: templates/wagtaildocs/documents/add.html:25 -#: templates/wagtaildocs/documents/edit.html:31 +#: templates/wagtaildocs/chooser/chooser.html:35 +#: templates/wagtaildocs/documents/add.html:24 +#: templates/wagtaildocs/documents/edit.html:30 msgid "Save" msgstr "" @@ -91,11 +91,11 @@ msgid "Change document:" msgstr "" #: templates/wagtaildocs/documents/add.html:4 -#: templates/wagtaildocs/documents/index.html:17 +#: templates/wagtaildocs/documents/index.html:18 msgid "Add a document" msgstr "" -#: templates/wagtaildocs/documents/add.html:15 +#: templates/wagtaildocs/documents/add.html:14 msgid "Add document" msgstr "" @@ -104,16 +104,16 @@ msgstr "" msgid "Delete %(title)s" msgstr "" -#: templates/wagtaildocs/documents/confirm_delete.html:6 -#: templates/wagtaildocs/documents/edit.html:31 +#: templates/wagtaildocs/documents/confirm_delete.html:5 +#: templates/wagtaildocs/documents/edit.html:30 msgid "Delete document" msgstr "" -#: templates/wagtaildocs/documents/confirm_delete.html:10 +#: templates/wagtaildocs/documents/confirm_delete.html:9 msgid "Are you sure you want to delete this document?" msgstr "" -#: templates/wagtaildocs/documents/confirm_delete.html:13 +#: templates/wagtaildocs/documents/confirm_delete.html:12 msgid "Yes, delete" msgstr "" @@ -122,19 +122,19 @@ msgstr "" msgid "Editing %(title)s" msgstr "" -#: templates/wagtaildocs/documents/edit.html:15 +#: templates/wagtaildocs/documents/edit.html:14 msgid "Editing" msgstr "" -#: templates/wagtaildocs/documents/edit.html:38 +#: templates/wagtaildocs/documents/edit.html:37 msgid "Filesize" msgstr "" -#: templates/wagtaildocs/documents/edit.html:39 +#: templates/wagtaildocs/documents/edit.html:38 msgid "File not found" msgstr "" -#: templates/wagtaildocs/documents/index.html:16 wagtail_hooks.py:31 +#: templates/wagtaildocs/documents/index.html:15 wagtail_hooks.py:31 msgid "Documents" msgstr "" diff --git a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo index ecff27454..527230a77 100644 Binary files a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po index d72e3cfb1..3c58c2d0e 100644 --- a/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/es/LC_MESSAGES/django.po @@ -13,10 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-22 02:14+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo index f0f2702ee..4c4a136e7 100644 Binary files a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po index 932218135..a8f9baf00 100644 --- a/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/fr/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 15:58+0000\n" "Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo index 9f49d94be..954140801 100644 Binary files a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po index 1c432d590..ca25395a7 100644 --- a/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/gl/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.mo index a24def967..894bf38cf 100644 Binary files a/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.po index 3c5a6ecef..4b0498522 100644 --- a/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/he_IL/LC_MESSAGES/django.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# bjesus , 2015 # lior abazon , 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-06-20 13:29+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-10 16:08+0000\n" +"Last-Translator: bjesus \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -61,6 +62,10 @@ msgstr "הוספת מסמך" msgid "Add document" msgstr "הוספת מסמך" +#, python-format +msgid "Delete %(title)s" +msgstr "מחיקת %(title)s" + msgid "Delete document" msgstr "מחיקת מסמך" @@ -70,6 +75,10 @@ msgstr "בטוחים כי ברצונכם למחוק מסמך זה?" msgid "Yes, delete" msgstr "כן, מחק" +#, python-format +msgid "Editing %(title)s" +msgstr "עריכת %(title)s" + msgid "Editing" msgstr "עריכה" diff --git a/wagtail/wagtaildocs/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..ef2ad06cc Binary files /dev/null and b/wagtail/wagtaildocs/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..73c4cde4d --- /dev/null +++ b/wagtail/wagtaildocs/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,130 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-31 20:16+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Title" +msgstr "Titill" + +msgid "File" +msgstr "Skrá" + +msgid "Created at" +msgstr "Búin til" + +msgid "Uploaded by user" +msgstr "Sent inn af notanda" + +msgid "Document" +msgstr "Skrá" + +msgid "Choose a document" +msgstr "Veldu skrá" + +msgid "Search" +msgstr "Leita" + +msgid "Upload" +msgstr "Hlaða upp" + +msgid "Save" +msgstr "Vista" + +msgid "Latest documents" +msgstr "Síðustu skrár" + +#, python-format +msgid "Sorry, no documents match \"%(query_string)s\"" +msgstr "Því miður eru engar skrár sem passa við \"%(query_string)s\"" + +msgid "Change document:" +msgstr "Breyta skrá" + +msgid "Add a document" +msgstr "Bæta við skrá" + +msgid "Add document" +msgstr "Bæta við skrá" + +#, python-format +msgid "Delete %(title)s" +msgstr "Eyða %(title)s" + +msgid "Delete document" +msgstr "Eyða skrá" + +msgid "Are you sure you want to delete this document?" +msgstr "Ertu viss um að þú viljir eyða þessari skrá?" + +msgid "Yes, delete" +msgstr "Já, eyða" + +#, python-format +msgid "Editing %(title)s" +msgstr "Breyti %(title)s" + +msgid "Editing" +msgstr "Er að breyta" + +msgid "Filesize" +msgstr "Skráarstærð" + +msgid "File not found" +msgstr "Skrá fannst ekki" + +msgid "Documents" +msgstr "Skrár" + +msgid "Uploaded" +msgstr "Hlaðið upp" + +msgid "Type" +msgstr "Tegund" + +msgid "Status" +msgstr "Staða" + +msgid "Edit this page" +msgstr "Breyta þessari síðu" + +msgid "Search documents" +msgstr "Leita að skrám" + +msgid "Edit" +msgstr "Breyta" + +msgid "The document could not be saved due to errors." +msgstr "Ekki var hægt að vista skránna vegna villna." + +msgid "" +"The file could not be found. Please change the source or delete the document" +msgstr "Skráin fannst ekki. Vinsamlegast breyttu upprunanum eða eyddu skránni" + +msgid "Delete" +msgstr "Eyða" + +#, python-brace-format +msgid "Document '{0}' deleted." +msgstr "Skrá '{0}' hefur verið eytt." + +msgid "Choose another document" +msgstr "Veldu aðra skrá" + +msgid "Edit this document" +msgstr "Breyta þessari skrá" diff --git a/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.mo index caed9e1dd..1e1ceafd0 100644 Binary files a/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.po index 982becfc6..fa1ef4e61 100644 --- a/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 08:25+0000\n" "Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..ae92216d8 Binary files /dev/null and b/wagtail/wagtaildocs/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..f4d312174 --- /dev/null +++ b/wagtail/wagtaildocs/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,186 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-07-23 07:48+0000\n" +"Last-Translator: Ji Han Chung \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Title" +msgstr "제목" + +msgid "File" +msgstr "파일" + +msgid "Created at" +msgstr "생성된 날짜" + +msgid "Uploaded by user" +msgstr "사용자에 의한 업로드" + +msgid "Tags" +msgstr "태그" + +msgid "Document" +msgstr "문서" + +msgid "Choose a document" +msgstr "문서 선택" + +msgid "Search" +msgstr "검색" + +msgid "Upload" +msgstr "업로드" + +msgid "Save" +msgstr "저장" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"%(counter)s 개의 연관된 결과가 있습니다" + +msgid "Latest documents" +msgstr "최근 문서" + +#, python-format +msgid "Sorry, no documents match \"%(query_string)s\"" +msgstr "죄송합니다. \"%(query_string)s\" 와 연관된 문서가 없습니다" + +msgid "Change document:" +msgstr "문서 변경:" + +msgid "Add a document" +msgstr "문서 추가" + +msgid "Add document" +msgstr "문서 추가" + +#, python-format +msgid "Delete %(title)s" +msgstr "%(title)s 삭제" + +msgid "Delete document" +msgstr "문서 삭제" + +msgid "Are you sure you want to delete this document?" +msgstr "선택한 문서를 정말 삭제할까요?" + +msgid "Yes, delete" +msgstr "네, 지우겠습니다" + +#, python-format +msgid "Editing %(title)s" +msgstr "%(title)s 수정" + +msgid "Editing" +msgstr "수정중" + +msgid "Filesize" +msgstr "파일 사이즈" + +msgid "File not found" +msgstr "파일을 찾을 수 없습니다" + +msgid "Documents" +msgstr "문서" + +msgid "Uploaded" +msgstr "업로드 된" + +#, python-format +msgid "" +"You haven't uploaded any documents. Why not upload one now?" +msgstr "" +"업로드된 문서가 없습니다. 지금 문서를 업로드 해 보시는건 어떨까요?" + +#, python-format +msgid "Usage of %(title)s" +msgstr "%(title)s 의 사용" + +msgid "Usage of" +msgstr "의 사용" + +msgid "Parent" +msgstr "상위" + +msgid "Type" +msgstr "타입" + +msgid "Status" +msgstr "상태" + +msgid "Edit this page" +msgstr "페이지 변경" + +#, python-format +msgid "" +"\n" +" %(total)s Document\n" +" " +msgid_plural "" +"\n" +" %(total)s Documents\n" +" " +msgstr[0] "" +"\n" +"%(total)s 문서" + +msgid "Search documents" +msgstr "문서 검색" + +#, python-brace-format +msgid "Document '{0}' added." +msgstr "'{0}' 문서가 추가 되었습니다." + +msgid "Edit" +msgstr "수정" + +msgid "The document could not be saved due to errors." +msgstr "에러로 인해 문서를 저장할 수 없습니다." + +#, python-brace-format +msgid "Document '{0}' updated" +msgstr "'{0}' 문서가 추가 되었습니다." + +msgid "" +"The file could not be found. Please change the source or delete the document" +msgstr "" +"파일을 찾을 수 없습니다. 소스를 변경하거나 파일을 삭제하여 주시기 바랍니다." + +msgid "Delete" +msgstr "삭제" + +#, python-brace-format +msgid "Document '{0}' deleted." +msgstr "'{0}' 문서가 삭제 되었습니다." + +msgid "Choose another document" +msgstr "다른 문서 선택" + +msgid "Edit this document" +msgstr "이 문서 수정" diff --git a/wagtail/wagtaildocs/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..c1191863f Binary files /dev/null and b/wagtail/wagtaildocs/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..3e8b8dd7c --- /dev/null +++ b/wagtail/wagtaildocs/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,195 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 14:43+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Title" +msgstr "Tittel" + +msgid "File" +msgstr "Fil" + +msgid "Created at" +msgstr "Opprettet" + +msgid "Uploaded by user" +msgstr "Opplastet av bruker" + +msgid "Tags" +msgstr "Tags" + +msgid "Document" +msgstr "Dokument" + +msgid "Choose a document" +msgstr "Velg et dokument" + +msgid "Search" +msgstr "Søk" + +msgid "Upload" +msgstr "Last opp" + +msgid "Save" +msgstr "Lagre" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Det er ett treff\n" +" " +msgstr[1] "" +"\n" +"Det er %(counter)s treff\n" +" " + +msgid "Latest documents" +msgstr "Siste dokumenter" + +#, python-format +msgid "Sorry, no documents match \"%(query_string)s\"" +msgstr "Beklager, ingen dokumenter samsvarer med \"%(query_string)s\"" + +msgid "Change document:" +msgstr "Endre dokument:" + +msgid "Add a document" +msgstr "Legg til et dokument" + +msgid "Add document" +msgstr "Legg til dokument" + +#, python-format +msgid "Delete %(title)s" +msgstr "Slett %(title)s" + +msgid "Delete document" +msgstr "Slett dokument" + +msgid "Are you sure you want to delete this document?" +msgstr "Er du sikker på at du vil slette dette dokumentet?" + +msgid "Yes, delete" +msgstr "Ja, slett" + +#, python-format +msgid "Editing %(title)s" +msgstr "Endrer %(title)s" + +msgid "Editing" +msgstr "Endrer" + +msgid "Filesize" +msgstr "Filstørrelse" + +msgid "File not found" +msgstr "Fil ikke funnet" + +msgid "Documents" +msgstr "Dokumenter" + +msgid "Uploaded" +msgstr "Opplastet" + +#, python-format +msgid "" +"You haven't uploaded any documents. Why not upload one now?" +msgstr "" +"Du har ikke lastet opp noen dokumenter. Hvorfor ikke laste opp et nå?" + +#, python-format +msgid "Usage of %(title)s" +msgstr "Bruk av %(title)s" + +msgid "Usage of" +msgstr "Bruk av" + +msgid "Parent" +msgstr "Forelder" + +msgid "Type" +msgstr "Type" + +msgid "Status" +msgstr "Status" + +msgid "Edit this page" +msgstr "Rediger denne siden" + +#, python-format +msgid "" +"\n" +" %(total)s Document\n" +" " +msgid_plural "" +"\n" +" %(total)s Documents\n" +" " +msgstr[0] "" +"\n" +"%(total)s dokumenter\n" +" " +msgstr[1] "" +"\n" +"%(total)s dokumenter\n" +" " + +msgid "Search documents" +msgstr "Søk i dokumenter" + +#, python-brace-format +msgid "Document '{0}' added." +msgstr "Dokumentet \"{0}\" er lagt til." + +msgid "Edit" +msgstr "Endre" + +msgid "The document could not be saved due to errors." +msgstr "Dokumentet kunne ikke lagres grunnet feil." + +#, python-brace-format +msgid "Document '{0}' updated" +msgstr "Dokumentet \"{0}\" er oppdatert" + +msgid "" +"The file could not be found. Please change the source or delete the document" +msgstr "Filen ble ikke funnet. Endre kilde for dokumentet eller slett det" + +msgid "Delete" +msgstr "Slett" + +#, python-brace-format +msgid "Document '{0}' deleted." +msgstr "Dokumentet \"{0}\" er slettet." + +msgid "Choose another document" +msgstr "Velg et annet dokument" + +msgid "Edit this document" +msgstr "Endre dette dokumentet" diff --git a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo index a83b2a8a0..cf77c63be 100644 Binary files a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po index 8cb98596d..3b7bb9a2e 100644 --- a/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/pl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.mo index 57692cfe9..f41e5a371 100644 Binary files a/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.po index 502ca6f9a..1121e472c 100644 --- a/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/pt_BR/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 11:43+0000\n" "Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.mo index ad3714604..e281fbf89 100644 Binary files a/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.po index 11ae7f3c9..b638ec2d7 100644 --- a/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/pt_PT/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-29 17:34+0000\n" "Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo index 42f543b34..dc8bedaad 100644 Binary files a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po index 0fd26d4a3..573f28c5e 100644 --- a/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/ro/LC_MESSAGES/django.po @@ -3,16 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Dan Braghis, 2014 +# Dan Braghis, 2014-2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-03 20:36+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,9 +26,18 @@ msgstr "Titlu" msgid "File" msgstr "Fișier" +msgid "Created at" +msgstr "Creat la" + +msgid "Uploaded by user" +msgstr "Încărcat de utlizator" + msgid "Tags" msgstr "Etichete" +msgid "Document" +msgstr "Document" + msgid "Choose a document" msgstr "Alege document" @@ -98,6 +107,12 @@ msgstr "Editare %(title)s" msgid "Editing" msgstr "Editare" +msgid "Filesize" +msgstr "Mărime fișier" + +msgid "File not found" +msgstr "Fișierul nu a fost găsit" + msgid "Documents" msgstr "Documente" @@ -131,6 +146,26 @@ msgstr "Status" msgid "Edit this page" msgstr "Editează această pagină" +#, python-format +msgid "" +"\n" +" %(total)s Document\n" +" " +msgid_plural "" +"\n" +" %(total)s Documents\n" +" " +msgstr[0] "" +"\n" +"%(total)s document\n" +" " +msgstr[1] "" +"\n" +"%(total)s documente" +msgstr[2] "" +"\n" +"%(total)s documente" + msgid "Search documents" msgstr "Caută documente" @@ -138,6 +173,9 @@ msgstr "Caută documente" msgid "Document '{0}' added." msgstr "Documentul '{0}' a fost adăugat." +msgid "Edit" +msgstr "Editează" + msgid "The document could not be saved due to errors." msgstr "Documentul nu a fost salvat din cauza erorilor." @@ -145,9 +183,19 @@ msgstr "Documentul nu a fost salvat din cauza erorilor." msgid "Document '{0}' updated" msgstr "Documentul '{0}' a fost actualizat." +msgid "" +"The file could not be found. Please change the source or delete the document" +msgstr "Fișierul nu a fost găsit. Schimbă sursa sau sterge documentul" + +msgid "Delete" +msgstr "Șterge" + #, python-brace-format msgid "Document '{0}' deleted." msgstr "Documentul '{0}' a fost șters." msgid "Choose another document" msgstr "Alege alt document" + +msgid "Edit this document" +msgstr "Editează acest document" diff --git a/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.mo index 176f3b14e..bf812faba 100644 Binary files a/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.po index 8f0956fef..b5ed47eae 100644 --- a/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/ru/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-30 08:41+0000\n" "Last-Translator: mattwestcott \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo index 4cc019dda..ba3f0bf70 100644 Binary files a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po index 9fcc23b81..dfe269901 100644 --- a/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/zh/LC_MESSAGES/django.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.mo index ecd598f47..0cbc927e3 100644 Binary files a/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.po index 5b86e46ad..42854c2ec 100644 --- a/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtaildocs/locale/zh_CN/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:38+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 17:08+0000\n" "Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtaildocs/templates/wagtaildocs/documents/index.html b/wagtail/wagtaildocs/templates/wagtaildocs/documents/index.html index dd70fecf1..b3305518b 100644 --- a/wagtail/wagtaildocs/templates/wagtaildocs/documents/index.html +++ b/wagtail/wagtaildocs/templates/wagtaildocs/documents/index.html @@ -13,8 +13,13 @@ {% block content %} {% trans "Documents" as doc_str %} - {% trans "Add a document" as add_doc_str %} - {% include "wagtailadmin/shared/header.html" with title=doc_str add_link="wagtaildocs:add" icon="doc-full-inverse" add_text=add_doc_str search_url="wagtaildocs:index" %} + + {% if perms.wagtaildocs.add_document %} + {% trans "Add a document" as add_doc_str %} + {% include "wagtailadmin/shared/header.html" with title=doc_str add_link="wagtaildocs:add" icon="doc-full-inverse" add_text=add_doc_str search_url="wagtaildocs:index" %} + {% else %} + {% include "wagtailadmin/shared/header.html" with title=doc_str icon="doc-full-inverse" search_url="wagtaildocs:index" %} + {% endif %}
    diff --git a/wagtail/wagtaildocs/tests.py b/wagtail/wagtaildocs/tests.py index 66c01facf..c1f038130 100644 --- a/wagtail/wagtaildocs/tests.py +++ b/wagtail/wagtaildocs/tests.py @@ -65,6 +65,7 @@ class TestDocumentIndexView(TestCase, WagtailTestUtils): response = self.client.get(reverse('wagtaildocs:index')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'wagtaildocs/documents/index.html') + self.assertContains(response, "Add a document") def test_search(self): response = self.client.get(reverse('wagtaildocs:index'), {'q': "Hello"}) @@ -658,9 +659,7 @@ class TestDocumentRichTextLinkHandler(TestCase): fixtures = ['test.json'] def test_get_db_attributes(self): - soup = BeautifulSoup( - 'foo' - ) + soup = BeautifulSoup('foo', 'html5lib') tag = soup.a result = DocumentLinkHandler.get_db_attributes(tag) self.assertEqual(result, @@ -688,3 +687,46 @@ class TestDocumentRichTextLinkHandler(TestCase): ) self.assertEqual(result, '') + + +class TestEditOnlyPermissions(TestCase, WagtailTestUtils): + def setUp(self): + # Build a fake file + fake_file = ContentFile(b("A boring example document")) + fake_file.name = 'test.txt' + + # Create a document to edit + self.document = models.Document.objects.create(title="Test document", file=fake_file) + + # Create a user with change_document permission but not add_document + user = get_user_model().objects.create_user(username='changeonly', email='changeonly@example.com', password='password') + change_permission = Permission.objects.get(content_type__app_label='wagtaildocs', codename='change_document') + admin_permission = Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin') + user.user_permissions.add(change_permission, admin_permission) + self.client.login(username='changeonly', password='password') + + def test_get_index(self): + response = self.client.get(reverse('wagtaildocs:index')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtaildocs/documents/index.html') + + # user should not get an "Add a document" button + self.assertNotContains(response, "Add a document") + + # user should be able to see documents not owned by them + self.assertContains(response, "Test document") + + def test_get_add(self): + response = self.client.get(reverse('wagtaildocs:add')) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + def test_get_edit(self): + response = self.client.get(reverse('wagtaildocs:edit', args=(self.document.id,))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtaildocs/documents/edit.html') + + def test_get_delete(self): + response = self.client.get(reverse('wagtaildocs:delete', args=(self.document.id,))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtaildocs/documents/confirm_delete.html') diff --git a/wagtail/wagtaildocs/views/chooser.py b/wagtail/wagtaildocs/views/chooser.py index 91b31fa6a..2a831637f 100644 --- a/wagtail/wagtaildocs/views/chooser.py +++ b/wagtail/wagtaildocs/views/chooser.py @@ -3,15 +3,16 @@ import json from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, render from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.contrib.auth.decorators import permission_required from wagtail.wagtailadmin.modal_workflow import render_modal_workflow from wagtail.wagtailadmin.forms import SearchForm +from wagtail.wagtailadmin.utils import permission_required from wagtail.wagtailsearch.backends import get_search_backends from wagtail.wagtaildocs.models import Document from wagtail.wagtaildocs.forms import DocumentForm + def get_document_json(document): """ helper function: given a document, return the json to pass back to the diff --git a/wagtail/wagtaildocs/views/documents.py b/wagtail/wagtaildocs/views/documents.py index bd6b1ca84..285173cba 100644 --- a/wagtail/wagtaildocs/views/documents.py +++ b/wagtail/wagtaildocs/views/documents.py @@ -1,12 +1,12 @@ from django.shortcuts import render, redirect, get_object_or_404 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.contrib.auth.decorators import permission_required from django.core.exceptions import PermissionDenied from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers from django.core.urlresolvers import reverse from wagtail.wagtailadmin.forms import SearchForm +from wagtail.wagtailadmin.utils import permission_required, any_permission_required from wagtail.wagtailsearch.backends import get_search_backends from wagtail.wagtailadmin import messages @@ -14,7 +14,7 @@ from wagtail.wagtaildocs.models import Document from wagtail.wagtaildocs.forms import DocumentForm -@permission_required('wagtaildocs.add_document') +@any_permission_required('wagtaildocs.add_document', 'wagtaildocs.change_document') @vary_on_headers('X-Requested-With') def index(request): # Get documents diff --git a/wagtail/wagtaildocs/wagtail_hooks.py b/wagtail/wagtaildocs/wagtail_hooks.py index 4ad4ce96c..fb1accb50 100644 --- a/wagtail/wagtaildocs/wagtail_hooks.py +++ b/wagtail/wagtaildocs/wagtail_hooks.py @@ -3,7 +3,6 @@ from django.conf.urls import include, url from django.core import urlresolvers from django.utils.html import format_html, format_html_join from django.utils.translation import ugettext_lazy as _ -from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import Permission from wagtail.wagtailcore import hooks @@ -24,7 +23,8 @@ def register_admin_urls(): class DocumentsMenuItem(MenuItem): def is_shown(self, request): - return request.user.has_perm('wagtaildocs.add_document') + return request.user.has_perm('wagtaildocs.add_document') or request.user.has_perm('wagtaildocs.change_document') + @hooks.register('register_admin_menu_item') def register_documents_menu_item(): @@ -53,9 +53,8 @@ def editor_js(): @hooks.register('register_permissions') def register_permissions(): - document_content_type = ContentType.objects.get(app_label='wagtaildocs', model='document') - document_permissions = Permission.objects.filter(content_type=document_content_type) - return document_permissions + return Permission.objects.filter(content_type__app_label='wagtaildocs', + codename__in=['add_document', 'change_document']) @hooks.register('register_rich_text_link_handler') @@ -72,6 +71,7 @@ class DocumentsSummaryItem(SummaryItem): 'total_docs': Document.objects.count(), } + @hooks.register('construct_homepage_summary_items') def add_documents_summary_item(request, items): items.append(DocumentsSummaryItem(request)) diff --git a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo index 490a30ffc..d8c437608 100644 Binary files a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po index 2c2274025..40dce0156 100644 --- a/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/bg/LC_MESSAGES/django.po @@ -9,11 +9,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo index 7c9c7b128..6dd0bcb80 100644 Binary files a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po index 2c087490a..6f0b830ae 100644 --- a/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/ca/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.mo index b0b5b25dd..544442079 100644 Binary files a/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.po index dbcc814ef..ec4ef15a8 100644 --- a/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/cs/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Czech (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Czech (http://www.transifex.com/torchbox/wagtail/language/" "cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo index db7c9de8a..235370d93 100644 Binary files a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po index 1c33cba2c..c0b6d43e7 100644 --- a/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/de/LC_MESSAGES/django.po @@ -3,16 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Florian , 2015 # Johannes Spielmann , 2014 # Johannes Spielmann , 2014 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-19 19:05+0000\n" +"Last-Translator: Florian \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,6 +27,9 @@ msgstr "Bitte geben Sie eine gültige URL ein" msgid "URL" msgstr "URL" +msgid "Embed" +msgstr "Einbetten" + msgid "Insert embed" msgstr "Element einbetten" diff --git a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo index b0331b9ac..e738a7b37 100644 Binary files a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po index cfea26722..3fa943388 100644 --- a/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/el/LC_MESSAGES/django.po @@ -5,14 +5,15 @@ # Translators: # serafeim , 2014 # serafeim , 2014 +# dotoree , 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-13 07:14+0000\n" +"Last-Translator: dotoree \n" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,6 +27,9 @@ msgstr "Παρακαλώ εισάγετε μια διεύθυνση" msgid "URL" msgstr "Διεύθυνση" +msgid "Embed" +msgstr "Ενσωμάτωση" + msgid "Insert embed" msgstr "Εισαγωγή ενσωμάτωσης" diff --git a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po index b23f54380..a314ee2f9 100644 --- a/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo index 734a06d77..87fed295e 100644 Binary files a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po index 9dec27b8c..c5e1ce4ab 100644 --- a/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/es/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-22 02:17+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo index 50091cee1..201257775 100644 Binary files a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po index 4106fa5dc..e151568a3 100644 --- a/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/fr/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 15:56+0000\n" "Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo index 9a3305e3b..676745099 100644 Binary files a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po index 5f42674d1..f47f97399 100644 --- a/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/gl/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.mo index 57909dc1a..b744ea052 100644 Binary files a/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.po index ca0a199e2..f79449f48 100644 --- a/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/he_IL/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-20 13:31+0000\n" "Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..c8d9ae50a Binary files /dev/null and b/wagtail/wagtailembeds/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..f6c94fbda --- /dev/null +++ b/wagtail/wagtailembeds/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,33 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-07-01 09:27+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Please enter a valid URL" +msgstr "Vinsamlegast sláðu inn gilda slóð" + +msgid "URL" +msgstr "Slóð" + +msgid "" +"There seems to be a problem with your embedly API key. Please check your " +"settings." +msgstr "" +"Það virðist vera vandamál með embedly API lykilinn þinn. Vinsamlegast " +"athugaðu stillingarnar þínar." diff --git a/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.mo index ce28428d7..70c36b65e 100644 Binary files a/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.po index 7f72a5b12..b4495ff7b 100644 --- a/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 08:29+0000\n" "Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..0247c6cd1 Binary files /dev/null and b/wagtail/wagtailembeds/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..0897d29d4 --- /dev/null +++ b/wagtail/wagtailembeds/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,51 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-07-23 07:52+0000\n" +"Last-Translator: Ji Han Chung \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Please enter a valid URL" +msgstr "유효한 URL을 적어 주세요" + +msgid "URL" +msgstr "URL" + +msgid "Embed" +msgstr "임베드 된" + +msgid "Insert embed" +msgstr "임베드 삽입" + +msgid "Insert" +msgstr "삽입" + +msgid "" +"There seems to be a problem with your embedly API key. Please check your " +"settings." +msgstr "" +"embedly API 키 값에 문제가 있는 것으로 보입니다. 설정을 확인하여 주세요." + +msgid "Cannot find an embed for this URL." +msgstr "이 URL 을 위한 임베드를 찾을 수 없습니다." + +msgid "" +"There seems to be an error with Embedly while trying to embed this URL. " +"Please try again later." +msgstr "" +"이 URL을 임베드하는 동안 Embedly와 관련하여 에러가 있는 것으로 보입니다. 다음" +"에 다시 시도하여 주세요." diff --git a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo index 9c0c82e1c..43ee4aa50 100644 Binary files a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po index 3cfa9173b..62a3672c4 100644 --- a/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/mn/LC_MESSAGES/django.po @@ -9,11 +9,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/" -"language/mn/)\n" +"Language-Team: Mongolian (http://www.transifex.com/torchbox/wagtail/language/" +"mn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailembeds/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..f7a0be474 Binary files /dev/null and b/wagtail/wagtailembeds/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..6319552d0 --- /dev/null +++ b/wagtail/wagtailembeds/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-01 10:24+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Please enter a valid URL" +msgstr "Skriv inn en gyldig URL" + +msgid "URL" +msgstr "URL" + +msgid "Embed" +msgstr "Innbygg" + +msgid "Insert embed" +msgstr "Sett inn innbygg" + +msgid "Insert" +msgstr "Sett inn" + +msgid "" +"There seems to be a problem with your embedly API key. Please check your " +"settings." +msgstr "" +"Det ser ut til å være et problem med din API-nøkkel for Embedly. Sjekk " +"innstillingene." + +msgid "Cannot find an embed for this URL." +msgstr "Finner ingen innbygg for denne URLen" + +msgid "" +"There seems to be an error with Embedly while trying to embed this URL. " +"Please try again later." +msgstr "" +"En feil oppsto med Embedly ved forsøk på å hente innbygg for denne URLen. " +"Prøv igjen senere." diff --git a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo index 10ed14f0a..93f9e2df9 100644 Binary files a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po index b66470502..a385e78c7 100644 --- a/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/pl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.mo index 91a5e100f..de03da5af 100644 Binary files a/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.po index dce943b34..c911de073 100644 --- a/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/pt_BR/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 11:35+0000\n" "Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.mo index 57e6ce67e..ecbb01ca0 100644 Binary files a/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.po index e772a41fa..38aa9dab8 100644 --- a/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/pt_PT/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-29 16:59+0000\n" "Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo index 4a4d8f5e8..7d988b872 100644 Binary files a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po index 45561b3ee..ffca4772a 100644 --- a/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/ro/LC_MESSAGES/django.po @@ -9,11 +9,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.mo index eb7cdfb2f..7ad678c82 100644 Binary files a/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.po index fde8722e2..299e25a36 100644 --- a/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/ru/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-28 07:06+0000\n" "Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo index 52fbd0935..773781a94 100644 Binary files a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po index 56593ac0f..7b3ec020b 100644 --- a/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/zh/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.mo index 044c25c57..f813933e1 100644 Binary files a/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.po index c03039011..09c200dcd 100644 --- a/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/zh_CN/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 17:18+0000\n" "Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo index e8481b826..b4ac098de 100644 Binary files a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo and b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po index 5f1f65369..156f323d8 100644 --- a/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po +++ b/wagtail/wagtailembeds/locale/zh_TW/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/torchbox/wagtail/" "language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailembeds/tests.py b/wagtail/wagtailembeds/tests.py index a477e8ea1..59a8fd0f0 100644 --- a/wagtail/wagtailembeds/tests.py +++ b/wagtail/wagtailembeds/tests.py @@ -1,24 +1,23 @@ -import django.utils.six.moves.urllib.request -from django.utils.six.moves.urllib.error import URLError - -from mock import patch import unittest +from mock import patch from bs4 import BeautifulSoup -from wagtail.wagtailembeds.rich_text import MediaEmbedHandler - try: import embedly # noqa no_embedly = False except ImportError: no_embedly = True +import django.utils.six.moves.urllib.request from django import template from django.test import TestCase from django.core.exceptions import ValidationError +from django.utils.six.moves.urllib.error import URLError +from wagtail.wagtailcore import blocks from wagtail.tests.utils import WagtailTestUtils +from wagtail.wagtailembeds.rich_text import MediaEmbedHandler from wagtail.wagtailembeds.embeds import ( EmbedNotFoundException, EmbedlyException, @@ -27,7 +26,6 @@ from wagtail.wagtailembeds.embeds import ( embedly as wagtail_embedly, oembed as wagtail_oembed, ) -from wagtail.wagtailcore import blocks from wagtail.wagtailembeds.templatetags.wagtailembeds_tags import embed as embed_filter from wagtail.wagtailembeds.blocks import EmbedBlock, EmbedValue from wagtail.wagtailembeds.models import Embed @@ -435,9 +433,7 @@ class TestEmbedBlock(TestCase): class TestMediaEmbedHandler(TestCase): def test_get_db_attributes(self): - soup = BeautifulSoup( - 'foo' - ) + soup = BeautifulSoup('foo', 'html5lib') tag = soup.b result = MediaEmbedHandler.get_db_attributes(tag) self.assertEqual(result, diff --git a/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.mo index 7b19c78ac..576760af4 100644 Binary files a/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.po index 88888edf5..b986f208f 100644 --- a/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/de/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 13:38+0000\n" -"Last-Translator: Tammo van Lessen \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.mo index a9bdfd3fa..23b1295b7 100644 Binary files a/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.po index 392df810a..5736f2afb 100644 --- a/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/el/LC_MESSAGES/django.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# dotoree , 2015 # Wasilis Mandratzis-Walz, 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -52,9 +53,27 @@ msgstr "Ημερομηνία" msgid "Date/time" msgstr "Ημερομηνία/ώρα " +msgid "Submit time" +msgstr "Χρόνος υποβολής" + +msgid "Form Submission" +msgstr "Υποβολή Φόρμας " + +msgid "Label" +msgstr "Τίτλος" + msgid "The label of the form field" msgstr "Η ετικέτα του πεδίου φόρμας" +msgid "Field type" +msgstr "Τύπος πεδίου" + +msgid "Required" +msgstr "Απαιτείται" + +msgid "Choices" +msgstr "Επιλογές" + msgid "" "Comma separated list of choices. Only applicable in checkboxes, radio and " "dropdown." @@ -62,14 +81,29 @@ msgstr "" "Διαχωρίζονται με κόμμα λίστας επιλογών. Ισχύει μόνο σε πλαίσια ελέγχου, " "ραδιόφωνο και αναπτυσσόμενο μενού." +msgid "Default value" +msgstr "Προκαθορισμένη τιμή " + msgid "Default value. Comma separated values supported for checkboxes." msgstr "" "Προεπιλεγμένη τιμή. Τιμές διαχωρισμένες με κόμμα υποστηρίζονται για πλαίσια " "ελέγχου." +msgid "Help text" +msgstr "Κείμενο βοηθείας" + +msgid "To address" +msgstr "Προς διεύθυνση" + msgid "Optional - form submissions will be emailed to this address" msgstr "Προαιρετικά - υποβολές μορφής θα αποστέλλονται σε αυτή τη διεύθυνση" +msgid "From address" +msgstr "Από διεύθυνση" + +msgid "Subject" +msgstr "Θέμα" + msgid "Forms" msgstr "Φόρμες" diff --git a/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po index 35f464b58..d738aef71 100644 --- a/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,118 +17,135 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: models.py:25 +#: models.py:24 msgid "Single line text" msgstr "" -#: models.py:26 +#: models.py:25 msgid "Multi-line text" msgstr "" -#: models.py:27 +#: models.py:26 msgid "Email" msgstr "" -#: models.py:28 +#: models.py:27 msgid "Number" msgstr "" -#: models.py:29 +#: models.py:28 msgid "URL" msgstr "" -#: models.py:30 +#: models.py:29 msgid "Checkbox" msgstr "" -#: models.py:31 +#: models.py:30 msgid "Checkboxes" msgstr "" -#: models.py:32 +#: models.py:31 msgid "Drop down" msgstr "" -#: models.py:33 +#: models.py:32 msgid "Radio buttons" msgstr "" -#: models.py:34 +#: models.py:33 msgid "Date" msgstr "" -#: models.py:35 +#: models.py:34 msgid "Date/time" msgstr "" -#: models.py:49 +#: models.py:48 msgid "Submit time" msgstr "" -#: models.py:58 +#: models.py:57 msgid "Form Submission" msgstr "" -#: models.py:64 +#: models.py:66 msgid "Label" msgstr "" -#: models.py:66 +#: models.py:68 msgid "The label of the form field" msgstr "" -#: models.py:68 +#: models.py:70 msgid "Field type" msgstr "" -#: models.py:69 +#: models.py:71 msgid "Required" msgstr "" -#: models.py:70 +#: models.py:73 msgid "Choices" msgstr "" -#: models.py:73 +#: models.py:76 msgid "" "Comma separated list of choices. Only applicable in checkboxes, radio and " "dropdown." msgstr "" -#: models.py:75 +#: models.py:79 msgid "Default value" msgstr "" -#: models.py:78 +#: models.py:82 msgid "Default value. Comma separated values supported for checkboxes." msgstr "" -#: models.py:80 +#: models.py:84 msgid "Help text" msgstr "" -#: models.py:191 +#: models.py:205 msgid "To address" msgstr "" -#: models.py:191 +#: models.py:205 msgid "Optional - form submissions will be emailed to this address" msgstr "" -#: models.py:192 +#: models.py:206 msgid "From address" msgstr "" -#: models.py:193 +#: models.py:207 msgid "Subject" msgstr "" -#: templates/wagtailforms/index.html:3 templates/wagtailforms/index.html:6 -#: wagtail_hooks.py:25 +#: templates/wagtailforms/confirm_delete.html:3 +#, python-format +msgid "Delete %(title)s" +msgstr "" + +#: templates/wagtailforms/confirm_delete.html:7 +msgid "Delete" +msgstr "" + +#: templates/wagtailforms/confirm_delete.html:12 +msgid "Are you sure you want to delete this form submission?" +msgstr "" + +#: templates/wagtailforms/confirm_delete.html:16 +msgid "Delete it" +msgstr "" + +#: templates/wagtailforms/index.html:3 templates/wagtailforms/index.html:5 +#: wagtail_hooks.py:28 msgid "Forms" msgstr "" -#: templates/wagtailforms/index.html:7 +#: templates/wagtailforms/index.html:6 msgid "Pages" msgstr "" @@ -137,20 +154,20 @@ msgstr "" msgid "Submissions of %(form_title)s" msgstr "" -#: templates/wagtailforms/index_submissions.html:36 +#: templates/wagtailforms/index_submissions.html:35 #, python-format msgid "Form data %(form_title)s" msgstr "" -#: templates/wagtailforms/index_submissions.html:45 +#: templates/wagtailforms/index_submissions.html:44 msgid "Filter" msgstr "" -#: templates/wagtailforms/index_submissions.html:51 +#: templates/wagtailforms/index_submissions.html:50 msgid "Download CSV" msgstr "" -#: templates/wagtailforms/index_submissions.html:63 +#: templates/wagtailforms/index_submissions.html:62 #, python-format msgid "There have been no submissions of the '%(title)s' form." msgstr "" @@ -167,6 +184,14 @@ msgstr "" msgid "Submission Date" msgstr "" +#: templates/wagtailforms/list_submissions.html:13 +msgid "Actions" +msgstr "" + #: templates/wagtailforms/results_forms.html:7 msgid "No form pages have been created." msgstr "" + +#: views.py:44 +msgid "Submission deleted." +msgstr "" diff --git a/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.mo index de2ecc624..af2f20d52 100644 Binary files a/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.po index 57b21ed43..b8973297d 100644 --- a/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/es/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-22 02:17+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-27 01:24+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -107,6 +107,19 @@ msgstr "Dirección de envío" msgid "Subject" msgstr "Asunto" +#, python-format +msgid "Delete %(title)s" +msgstr "Eliminar %(title)s" + +msgid "Delete" +msgstr "Eliminar" + +msgid "Are you sure you want to delete this form submission?" +msgstr "¿Seguro que quieres eliminar este formulario?" + +msgid "Delete it" +msgstr "Elimínalo" + msgid "Forms" msgstr "Formularios" @@ -140,5 +153,11 @@ msgstr "Origen" msgid "Submission Date" msgstr "Fecha de presentación" +msgid "Actions" +msgstr "Acciones" + msgid "No form pages have been created." msgstr "No se han creado páginas de formularios." + +msgid "Submission deleted." +msgstr "Eliminar presentación" diff --git a/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.mo index 26b2effa4..351c9b42b 100644 Binary files a/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.po index 0fd6b9ebc..3af42826b 100644 --- a/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/fr/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 15:56+0000\n" -"Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.mo index 886df7cb1..45c3c2e1e 100644 Binary files a/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.po index 1f579fa88..b898ec5bf 100644 --- a/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/he_IL/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-20 13:36+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailforms/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..7b653aa18 Binary files /dev/null and b/wagtail/wagtailforms/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..d7cdd9784 --- /dev/null +++ b/wagtail/wagtailforms/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-31 20:11+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Single line text" +msgstr "Textastrengur" + +msgid "Email" +msgstr "Netfang" + +msgid "Number" +msgstr "Tala" + +msgid "URL" +msgstr "Slóð" + +msgid "Checkbox" +msgstr "Hakreitur" + +msgid "Checkboxes" +msgstr "Hakreitir" + +msgid "Drop down" +msgstr "Valmynd" + +msgid "Radio buttons" +msgstr "Einvalsreitur" + +msgid "Date" +msgstr "Dagsetning" + +msgid "Date/time" +msgstr "Dagsetning/Tími" + +msgid "Label" +msgstr "Merkimiði" + +msgid "Field type" +msgstr "Tegund reitar" + +msgid "Required" +msgstr "Þarf að fylla út" + +msgid "Choices" +msgstr "Valmöguleikar" + +msgid "Default value" +msgstr "Sjálfgefið gildi" + +msgid "Help text" +msgstr "Hjálpartexti" + +msgid "To address" +msgstr "Til" + +msgid "Optional - form submissions will be emailed to this address" +msgstr "" +"Valfrjálst - upplýsingar úr innsendum formum verða send á þetta netfang" + +msgid "From address" +msgstr "Frá" + +msgid "Subject" +msgstr "Viðfang" + +#, python-format +msgid "Delete %(title)s" +msgstr "Eyða %(title)s" + +msgid "Delete" +msgstr "Eyða" + +msgid "Are you sure you want to delete this form submission?" +msgstr "Ertu viss um að þú viljir eyða þessari innsendingu?" + +msgid "Delete it" +msgstr "Eyða" + +msgid "Forms" +msgstr "Skráningarform" + +msgid "Pages" +msgstr "Síður" + +msgid "Filter" +msgstr "Sía" + +msgid "Download CSV" +msgstr "Hlaða niður CSV" + +msgid "Title" +msgstr "Titill" + +msgid "Origin" +msgstr "Uppruni" + +msgid "Submission Date" +msgstr "Dagsetning innsendingar" + +msgid "No form pages have been created." +msgstr "Engin skráningarform hafa verið búin til" + +msgid "Submission deleted." +msgstr "Innsendingu eytt." diff --git a/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.mo index e6cfafb43..ec5b2e926 100644 Binary files a/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.po index c25b3f38c..45277b4e0 100644 --- a/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-30 06:29+0000\n" -"Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.mo index 6061fb119..d737da631 100644 Binary files a/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.po index 1264a9e12..b9a64c34e 100644 --- a/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/ja/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Japanese (http://www.transifex.com/projects/p/wagtail/" -"language/ja/)\n" +"Language-Team: Japanese (http://www.transifex.com/torchbox/wagtail/language/" +"ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailforms/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..6300afae9 Binary files /dev/null and b/wagtail/wagtailforms/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..0b6938bb0 --- /dev/null +++ b/wagtail/wagtailforms/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,157 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-27 01:42+0000\n" +"Last-Translator: Ji Han Chung \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Single line text" +msgstr "단일 라인 텍스트" + +msgid "Multi-line text" +msgstr "복수 라인 텍스트" + +msgid "Email" +msgstr "이메일" + +msgid "Number" +msgstr "숫자" + +msgid "URL" +msgstr "URL" + +msgid "Checkbox" +msgstr "체크박스" + +msgid "Checkboxes" +msgstr "체크박스" + +msgid "Drop down" +msgstr "드롭 다운" + +msgid "Radio buttons" +msgstr "라디오 버튼" + +msgid "Date" +msgstr "날짜" + +msgid "Date/time" +msgstr "날짜/시간" + +msgid "Submit time" +msgstr "제출 날짜" + +msgid "Form Submission" +msgstr "양식 제출" + +msgid "Label" +msgstr "라벨" + +msgid "The label of the form field" +msgstr "양식 폼의 라벨" + +msgid "Field type" +msgstr "필드 타입" + +msgid "Required" +msgstr "필수 사항" + +msgid "Choices" +msgstr "선택" + +msgid "" +"Comma separated list of choices. Only applicable in checkboxes, radio and " +"dropdown." +msgstr "" +"콤마로 나뉘어져 있는 선택사항들이 있습니다. 오직 체크박스, 라디오버튼, 드롭다" +"운 형태가 적용 가능합니다." + +msgid "Default value" +msgstr "기본값" + +msgid "Default value. Comma separated values supported for checkboxes." +msgstr "기본값. 콤마로 분류되는 값들은 체크박스를 지원합니다." + +msgid "Help text" +msgstr "도움말" + +msgid "To address" +msgstr "주소" + +msgid "Optional - form submissions will be emailed to this address" +msgstr "옵션 - 이 주소로 양식 제출에 대한 이메일이 전송 될 것입니다." + +msgid "From address" +msgstr "양식 주소" + +msgid "Subject" +msgstr "주제" + +#, python-format +msgid "Delete %(title)s" +msgstr "%(title)s 삭제" + +msgid "Delete" +msgstr "삭제" + +msgid "Are you sure you want to delete this form submission?" +msgstr "이 제출양식을 정말로 삭제하실 건가요?" + +msgid "Delete it" +msgstr "삭제" + +msgid "Forms" +msgstr "양식" + +msgid "Pages" +msgstr "페이지" + +#, python-format +msgid "Submissions of %(form_title)s" +msgstr "%(form_title)s 의 제출" + +#, python-format +msgid "Form data %(form_title)s" +msgstr "%(form_title)s 양식 데이터" + +msgid "Filter" +msgstr "필터" + +msgid "Download CSV" +msgstr "CSV 다운로드" + +#, python-format +msgid "There have been no submissions of the '%(title)s' form." +msgstr "'%(title)s' 양식에 관한 제출 한 결과가 없습니다." + +msgid "Title" +msgstr "제목" + +msgid "Origin" +msgstr "오리지날" + +msgid "Submission Date" +msgstr "제출 날짜" + +msgid "Actions" +msgstr "액션" + +msgid "No form pages have been created." +msgstr "양식용 페이지가 생성되지 않았습니다." + +msgid "Submission deleted." +msgstr "제출양식이 삭제되었습니다" diff --git a/wagtail/wagtailforms/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..832a2b2c8 Binary files /dev/null and b/wagtail/wagtailforms/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..9969ecabf --- /dev/null +++ b/wagtail/wagtailforms/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,157 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 12:38+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Single line text" +msgstr "Enkeltlinje tekst" + +msgid "Multi-line text" +msgstr "Flerlinjes tekst" + +msgid "Email" +msgstr "E-post" + +msgid "Number" +msgstr "Nummer" + +msgid "URL" +msgstr "URL" + +msgid "Checkbox" +msgstr "Avkrysningsboks" + +msgid "Checkboxes" +msgstr "Avkrysningsbokser" + +msgid "Drop down" +msgstr "Rullegardinmeny" + +msgid "Radio buttons" +msgstr "Radioknapper" + +msgid "Date" +msgstr "Dato" + +msgid "Date/time" +msgstr "Dato/klokkeslett" + +msgid "Submit time" +msgstr "Tidspunkt innsendt" + +msgid "Form Submission" +msgstr "Innsendt skjema" + +msgid "Label" +msgstr "Feltnavn" + +msgid "The label of the form field" +msgstr "Visningsnavn for skjemafeltet" + +msgid "Field type" +msgstr "Felttype" + +msgid "Required" +msgstr "Påkrevet" + +msgid "Choices" +msgstr "Valg" + +msgid "" +"Comma separated list of choices. Only applicable in checkboxes, radio and " +"dropdown." +msgstr "" +"Kommaseparert liste av valg. Brukes bare for avkrysningsbokser, radioknapper " +"og rullegardinmeny." + +msgid "Default value" +msgstr "Standardverdi" + +msgid "Default value. Comma separated values supported for checkboxes." +msgstr "Standardverdi. Kommaseparerte verdier støttes for avkrysningsbokser." + +msgid "Help text" +msgstr "Hjelpetekst" + +msgid "To address" +msgstr "Til-adresse" + +msgid "Optional - form submissions will be emailed to this address" +msgstr "Valgfritt - innsendte skjema blir sendt til denne e-postadressen" + +msgid "From address" +msgstr "Fra-adresse" + +msgid "Subject" +msgstr "Emne" + +#, python-format +msgid "Delete %(title)s" +msgstr "Slett %(title)s" + +msgid "Delete" +msgstr "Slett" + +msgid "Are you sure you want to delete this form submission?" +msgstr "Er du sikker på at du vil slette dette innsendte skjemaet?" + +msgid "Delete it" +msgstr "Slett det" + +msgid "Forms" +msgstr "Skjemaer" + +msgid "Pages" +msgstr "Sider" + +#, python-format +msgid "Submissions of %(form_title)s" +msgstr "Innsendte %(form_title)s" + +#, python-format +msgid "Form data %(form_title)s" +msgstr "Skjemadata %(form_title)s" + +msgid "Filter" +msgstr "Filter" + +msgid "Download CSV" +msgstr "Last ned CSV" + +#, python-format +msgid "There have been no submissions of the '%(title)s' form." +msgstr "Det er ingen innsendte skjemaer for \"%(title)s\"." + +msgid "Title" +msgstr "Tittel" + +msgid "Origin" +msgstr "Opphav" + +msgid "Submission Date" +msgstr "Innsendt dato" + +msgid "Actions" +msgstr "Handlinger" + +msgid "No form pages have been created." +msgstr "Ingen skjemasider har blitt opprettet." + +msgid "Submission deleted." +msgstr "Innsendt skjema slettet." diff --git a/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.mo index 48c2b057f..8f5f9cb5c 100644 Binary files a/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.po index ecea73fe7..5203c5fe3 100644 --- a/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/pt_BR/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 11:39+0000\n" -"Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.mo index 5977c2ad7..11cb89356 100644 Binary files a/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.po index 50d2ebaf1..bd1250605 100644 --- a/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/pt_PT/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-29 17:39+0000\n" -"Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.mo index 9a5c17737..8c10dcd25 100644 Binary files a/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.po index fc1a92263..3835333fc 100644 --- a/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/ro/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:41+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-03 20:15+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -53,9 +53,27 @@ msgstr "Dată" msgid "Date/time" msgstr "Dată/Timp" +msgid "Submit time" +msgstr "Timpul trimiterii" + +msgid "Form Submission" +msgstr "Depunere formular" + +msgid "Label" +msgstr "Etichetă" + msgid "The label of the form field" msgstr "Etichetă pentru câmp de formular" +msgid "Field type" +msgstr "Tip câmp" + +msgid "Required" +msgstr "Necesar" + +msgid "Choices" +msgstr "Opțiuni" + msgid "" "Comma separated list of choices. Only applicable in checkboxes, radio and " "dropdown." @@ -63,13 +81,41 @@ msgstr "" "Listă de opțiuni separate prin virgulă. Aplicabil în căsuțe, butoane radio " "și liste derulante." +msgid "Default value" +msgstr "Valoare implicită" + msgid "Default value. Comma separated values supported for checkboxes." msgstr "Valoare implicită. Suportă valori separate prin virgule pentru căsuțe." +msgid "Help text" +msgstr "Text de ajutor" + +msgid "To address" +msgstr "Adresă la" + msgid "Optional - form submissions will be emailed to this address" msgstr "" "Opțional. Depunerile de formular vor fi trimise la această adresă de email." +msgid "From address" +msgstr "De la adresa" + +msgid "Subject" +msgstr "Subiect" + +#, python-format +msgid "Delete %(title)s" +msgstr "Șterge %(title)s" + +msgid "Delete" +msgstr "Șterge" + +msgid "Are you sure you want to delete this form submission?" +msgstr "Sigur doriți să ștergeți această depunere de formular?" + +msgid "Delete it" +msgstr "Șterge" + msgid "Forms" msgstr "Formulare" @@ -103,5 +149,11 @@ msgstr "Origine" msgid "Submission Date" msgstr "Data trimiterii" +msgid "Actions" +msgstr "Acțiuni" + msgid "No form pages have been created." msgstr "Nu a fost creată nici o pagină de formular" + +msgid "Submission deleted." +msgstr "Depunerea a fost ștearsă." diff --git a/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.mo index e96987f5d..ca23a8fae 100644 Binary files a/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.po index 92b5d1946..ddfc7ab2c 100644 --- a/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/ru/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-28 07:09+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 21:49+0000\n" "Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -104,6 +104,16 @@ msgstr "Адрес отправителя" msgid "Subject" msgstr "Тема" +#, python-format +msgid "Delete %(title)s" +msgstr "Удалить %(title)s" + +msgid "Delete" +msgstr "Удалить" + +msgid "Delete it" +msgstr "Удалить" + msgid "Forms" msgstr "Формы" @@ -137,5 +147,8 @@ msgstr "Происхождение" msgid "Submission Date" msgstr "Дата Заполнения" +msgid "Actions" +msgstr "Действия" + msgid "No form pages have been created." msgstr "Страниц с формами не было создано." diff --git a/wagtail/wagtailforms/locale/sv/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/sv/LC_MESSAGES/django.mo new file mode 100644 index 000000000..9dacad42b Binary files /dev/null and b/wagtail/wagtailforms/locale/sv/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/sv/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/sv/LC_MESSAGES/django.po new file mode 100644 index 000000000..270f3fd7b --- /dev/null +++ b/wagtail/wagtailforms/locale/sv/LC_MESSAGES/django.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ludwig Kjellström , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Swedish (http://www.transifex.com/torchbox/wagtail/language/" +"sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Single line text" +msgstr "Text, enkelrad" + +msgid "Multi-line text" +msgstr "Text, flera rader" + +msgid "Email" +msgstr "E-post" + +msgid "Number" +msgstr "Siffra" + +msgid "URL" +msgstr "URL" + +msgid "Checkbox" +msgstr "Kryssruta" + +msgid "Checkboxes" +msgstr "Kryssrutor" + +msgid "Drop down" +msgstr "Dropdown" + +msgid "Radio buttons" +msgstr "Radioknappar" + +msgid "Date" +msgstr "Datum" + +msgid "Date/time" +msgstr "Datum/tid" + +msgid "Submit time" +msgstr "Mottaget" + +msgid "Form Submission" +msgstr "Mottaget formulär" + +msgid "Label" +msgstr "Fält-namn" + +msgid "The label of the form field" +msgstr "Namn på fältet" + +msgid "Field type" +msgstr "Fälttyp" + +msgid "Required" +msgstr "Obligatoriskt" + +msgid "Choices" +msgstr "Val" + +msgid "" +"Comma separated list of choices. Only applicable in checkboxes, radio and " +"dropdown." +msgstr "" +"Kommaseparerad lista med val. Används bara för kryssrutor, radioknappar och " +"dropdowns." + +msgid "Default value" +msgstr "Startvärde" + +msgid "Default value. Comma separated values supported for checkboxes." +msgstr "Startvärde. Kommaseparerade värden för kryssrutor." + +msgid "Help text" +msgstr "Stödtext" + +msgid "To address" +msgstr "Mottagaradress" + +msgid "Optional - form submissions will be emailed to this address" +msgstr "Valfritt - ifyllda formulär e-postas till denna adress" + +msgid "From address" +msgstr "Avsändaradress" + +msgid "Subject" +msgstr "Ämne" + +msgid "Forms" +msgstr "Formulär" + +msgid "Pages" +msgstr "Sidor" + +#, python-format +msgid "Submissions of %(form_title)s" +msgstr "Mottagna från %(form_title)s " + +#, python-format +msgid "Form data %(form_title)s" +msgstr "Formulärdata %(form_title)s" + +msgid "Filter" +msgstr "Filtrera" + +msgid "Download CSV" +msgstr "Ladda ner CSV" + +#, python-format +msgid "There have been no submissions of the '%(title)s' form." +msgstr "Det finns inga mottagna formulär från '%(title)s'." + +msgid "Title" +msgstr "Titel" + +msgid "Origin" +msgstr "Källa" + +msgid "Submission Date" +msgstr "Mottaget" + +msgid "No form pages have been created." +msgstr "Inga formulär har skapats." diff --git a/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.mo index 5df312c2a..5bbcf3574 100644 Binary files a/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.po index b9aa79384..85e763135 100644 --- a/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailforms/locale/zh_CN/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 16:42+0000\n" -"Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailforms/models.py b/wagtail/wagtailforms/models.py index 813bda985..98bc0f25b 100644 --- a/wagtail/wagtailforms/models.py +++ b/wagtail/wagtailforms/models.py @@ -131,7 +131,6 @@ class AbstractForm(Page): """ form_builder = FormBuilder - is_abstract = True # Don't display me in "Add" def __init__(self, *args, **kwargs): super(AbstractForm, self).__init__(*args, **kwargs) @@ -171,16 +170,21 @@ class AbstractForm(Page): # render the landing_page # TODO: It is much better to redirect to it - return render(request, self.landing_page_template, { - 'self': self, - }) + return render( + request, + self.landing_page_template, + self.get_context(request) + ) else: form = self.get_form() - return render(request, self.template, { - 'self': self, - 'form': form, - }) + context = self.get_context(request) + context['form'] = form + return render( + request, + self.template, + context + ) preview_modes = [ ('form', 'Form'), @@ -189,9 +193,11 @@ class AbstractForm(Page): def serve_preview(self, request, mode): if mode == 'landing': - return render(request, self.landing_page_template, { - 'self': self, - }) + return render( + request, + self.landing_page_template, + self.get_context(request) + ) else: return super(AbstractForm, self).serve_preview(request, mode) @@ -200,7 +206,6 @@ class AbstractEmailForm(AbstractForm): """ A Form Page that sends email. Pages implementing a form to be send to an email should inherit from it """ - is_abstract = True # Don't display me in "Add" to_address = models.CharField(verbose_name=_('To address'), max_length=255, blank=True, help_text=_("Optional - form submissions will be emailed to this address")) from_address = models.CharField(verbose_name=_('From address'), max_length=255, blank=True) diff --git a/wagtail/wagtailforms/templates/wagtailforms/confirm_delete.html b/wagtail/wagtailforms/templates/wagtailforms/confirm_delete.html new file mode 100644 index 000000000..b24f72bdc --- /dev/null +++ b/wagtail/wagtailforms/templates/wagtailforms/confirm_delete.html @@ -0,0 +1,19 @@ +{% extends "wagtailadmin/base.html" %} +{% load i18n %} +{% block titletag %}{% blocktrans with title=page.title %}Delete {{ title }}{% endblocktrans %}{% endblock %} +{% block bodyclass %}menu-explorer{% endblock %} + +{% block content %} + {% trans "Delete" as del_str %} + {% include "wagtailadmin/shared/header.html" with title=del_str subtitle=page.title icon="doc-empty-inverse" %} + +
    +

    + {% trans 'Are you sure you want to delete this form submission?' %} +

    +
    + {% csrf_token %} + + +
    +{% endblock %} diff --git a/wagtail/wagtailforms/templates/wagtailforms/list_submissions.html b/wagtail/wagtailforms/templates/wagtailforms/list_submissions.html index 38b4185c7..8f58647ec 100644 --- a/wagtail/wagtailforms/templates/wagtailforms/list_submissions.html +++ b/wagtail/wagtailforms/templates/wagtailforms/list_submissions.html @@ -10,16 +10,22 @@ {% for heading in data_headings %}
    {% endfor %} + {% for row in data_rows %} - {% for cell in row %} + {% for cell in row.fields %} {% endfor %} + {% endfor %} diff --git a/wagtail/wagtailforms/tests.py b/wagtail/wagtailforms/tests.py index 801d8be62..34a720fb3 100644 --- a/wagtail/wagtailforms/tests.py +++ b/wagtail/wagtailforms/tests.py @@ -64,6 +64,9 @@ class TestFormSubmission(TestCase): self.assertTemplateUsed(response, 'tests/form_page.html') self.assertTemplateNotUsed(response, 'tests/form_page_landing.html') + # check that variables defined in get_context are passed through to the template (#1429) + self.assertContains(response, "

    hello world

    ") + def test_post_invalid_form(self): response = self.client.post('/contact-us/', { 'your-email': 'bob', @@ -88,6 +91,9 @@ class TestFormSubmission(TestCase): self.assertTemplateNotUsed(response, 'tests/form_page.html') self.assertTemplateUsed(response, 'tests/form_page_landing.html') + # check that variables defined in get_context are passed through to the template (#1429) + self.assertContains(response, "

    hello world

    ") + # Check that an email was sent self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].subject, "The subject") @@ -379,6 +385,50 @@ class TestFormsSubmissions(TestCase, WagtailTestUtils): self.assertIn('こんにちは、世界', data_line) +class TestDeleteFormSubmission(TestCase): + fixtures = ['test.json'] + + def setUp(self): + self.client.login(username='siteeditor', password='password') + self.form_page = Page.objects.get(url_path='/home/contact-us/') + + def test_delete_submission_show_cofirmation(self): + response = self.client.get(reverse( + 'wagtailforms:delete_submission', + args=(self.form_page.id, FormSubmission.objects.first().id) + )) + # Check show confirm page when HTTP method is GET + self.assertTemplateUsed(response, 'wagtailforms/confirm_delete.html') + + # Check that the deletion has not happened with GET request + self.assertEqual(FormSubmission.objects.count(), 2) + + def test_delete_submission_with_permissions(self): + response = self.client.post(reverse( + 'wagtailforms:delete_submission', + args=(self.form_page.id, FormSubmission.objects.first().id) + )) + + # Check that the submission is gone + self.assertEqual(FormSubmission.objects.count(), 1) + # Should be redirected to list of submissions + self.assertRedirects(response, reverse("wagtailforms:list_submissions", args=(self.form_page.id, ))) + + def test_delete_submission_bad_permissions(self): + self.form_page = make_form_page() + self.client.login(username="eventeditor", password="password") + + response = self.client.post(reverse( + 'wagtailforms:delete_submission', + args=(self.form_page.id, FormSubmission.objects.first().id) + )) + + # Check that the user recieved a 403 response + self.assertEqual(response.status_code, 403) + + # Check that the deletion has not happened + self.assertEqual(FormSubmission.objects.count(), 2) + class TestIssue798(TestCase): fixtures = ['test.json'] diff --git a/wagtail/wagtailforms/urls.py b/wagtail/wagtailforms/urls.py index 6d9ec420d..e7a48c922 100644 --- a/wagtail/wagtailforms/urls.py +++ b/wagtail/wagtailforms/urls.py @@ -6,4 +6,5 @@ from wagtail.wagtailforms import views urlpatterns = [ url(r'^$', views.index, name='index'), url(r'^submissions/(\d+)/$', views.list_submissions, name='list_submissions'), + url(r'^submissions/(\d+)/(\d+)/delete/$', views.delete_submission, name='delete_submission') ] diff --git a/wagtail/wagtailforms/views.py b/wagtail/wagtailforms/views.py index 48f1f68ed..70bcf209b 100644 --- a/wagtail/wagtailforms/views.py +++ b/wagtail/wagtailforms/views.py @@ -5,13 +5,13 @@ import csv from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.core.exceptions import PermissionDenied from django.http import HttpResponse -from django.shortcuts import get_object_or_404, render +from django.shortcuts import get_object_or_404, render, redirect from django.utils.encoding import smart_str - +from django.utils.translation import ugettext as _ from wagtail.wagtailcore.models import Page from wagtail.wagtailforms.models import FormSubmission, get_forms_for_user from wagtail.wagtailforms.forms import SelectDateForm - +from wagtail.wagtailadmin import messages def index(request): p = request.GET.get("p", 1) @@ -31,6 +31,23 @@ def index(request): 'form_pages': form_pages, }) +def delete_submission(request, page_id, submission_id): + if not get_forms_for_user(request.user).filter(id=page_id).exists(): + raise PermissionDenied + + submission = get_object_or_404(FormSubmission, id=submission_id) + page = get_object_or_404(Page, id=page_id) + + if request.method == 'POST': + submission.delete() + + messages.success(request, _("Submission deleted.")) + return redirect('wagtailforms:list_submissions', page_id) + + return render(request, 'wagtailforms/confirm_delete.html', { + 'page': page, + 'submission': submission + }) def list_submissions(request, page_id): form_page = get_object_or_404(Page, id=page_id).specific @@ -93,7 +110,10 @@ def list_submissions(request, page_id): for s in submissions: form_data = s.get_data() data_row = [s.submit_time] + [form_data.get(name) for name, label in data_fields] - data_rows.append(data_row) + data_rows.append({ + "model_id": s.id, + "fields": data_row + }) return render(request, 'wagtailforms/index_submissions.html', { 'form_page': form_page, diff --git a/wagtail/wagtailimages/image_operations.py b/wagtail/wagtailimages/image_operations.py index a84bc805b..498042df6 100644 --- a/wagtail/wagtailimages/image_operations.py +++ b/wagtail/wagtailimages/image_operations.py @@ -1,6 +1,7 @@ from __future__ import division import inspect +import math from wagtail.wagtailimages.exceptions import InvalidFilterSpecError @@ -158,7 +159,12 @@ class FillOperation(Operation): bottom = image_height # Crop! - willow.crop((int(left), int(top), int(right), int(bottom))) + willow.crop(( + int(math.floor(left)), + int(math.floor(top)), + int(math.ceil(right)), + int(math.ceil(bottom)) + )) # Get scale for resizing # The scale should be the same for both the horizontal and diff --git a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo index eaaed80a8..cb1778998 100644 Binary files a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po index d102241eb..63391207f 100644 --- a/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/bg/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo index 3516fd905..5ed597623 100644 Binary files a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po index 950554483..7030df47d 100644 --- a/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/ca/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.mo index b4af29573..7536cfa6c 100644 Binary files a/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.po index eebabe47b..a96ab94ce 100644 --- a/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/cs/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Czech (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Czech (http://www.transifex.com/torchbox/wagtail/language/" "cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo index d524516c5..5c6cd3bdd 100644 Binary files a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po index c43384f34..80fb77cf6 100644 --- a/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/de/LC_MESSAGES/django.po @@ -13,10 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 22:21+0000\n" -"Last-Translator: Tammo van Lessen \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,25 +27,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "Nicht unterstütztes Bildformat. Unterstützte Bildformate: %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "Kein gültiges %s Bild." - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "" -"Die Datei ist zu groß. Die maximale Dateigröße beträgt %(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "" -"Die Datei ist zu groß (%%(max_upload_size)s). Die maximale Dateigröße " -"beträgt %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -58,6 +39,14 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Unterstütze Formate: %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Nicht unterstütztes Bildformat. Unterstützte Bildformate: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Kein gültiges %s Bild." + msgid "Filter" msgstr "Filter" diff --git a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo index 84fb67be5..ad018a50b 100644 Binary files a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po index 983f82a33..929a149e0 100644 --- a/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/el/LC_MESSAGES/django.po @@ -6,15 +6,16 @@ # jim dal , 2014 # serafeim , 2014 # serafeim , 2014 +# dotoree , 2015 # Wasilis Mandratzis-Walz, 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,27 +26,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "" -"Δεν είναι μια υποστηριζόμενη μορφή εικόνας. Υποστηριζόμενες μορφές: %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "Μη έγκυρη %s εικόνα." - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "" -"Αυτό το αρχείο είναι πολύ μεγάλο. Μέγιστο μέγεθος αρχείου " -"%(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "" -"Αυτό το αρχείο είναι πολύ μεγάλο (%%(max_upload_size)s). Μέγιστο μέγεθος " -"αρχείου %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -58,6 +38,15 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Υποστηριζόμενες μορφές: %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "" +"Δεν είναι μια υποστηριζόμενη μορφή εικόνας. Υποστηριζόμενες μορφές: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Μη έγκυρη %s εικόνα." + msgid "Filter" msgstr "Φίλτρο" @@ -94,6 +83,12 @@ msgstr "Τίτλος" msgid "File" msgstr "Αρχείο" +msgid "Created at" +msgstr "Δημιουργήθηκε την" + +msgid "Uploaded by user" +msgstr "Ανεβασμένο από χρήστη" + msgid "Tags" msgstr "Ετικέτες" diff --git a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po index 41b789eb3..6f81e36c8 100644 --- a/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,38 +21,38 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "" -#: fields.py:16 -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "" - -#: fields.py:20 -#, python-format -msgid "Not a valid %s image." -msgstr "" - -#: fields.py:29 -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "" - -#: fields.py:35 -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "" - -#: fields.py:41 +#: fields.py:27 #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " "%(max_upload_size)s." msgstr "" -#: fields.py:52 +#: fields.py:34 #, python-format msgid "Supported formats: %(supported_formats)s." msgstr "" +#: fields.py:41 +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "" + +#: fields.py:45 +#, python-format +msgid "Not a valid %s image." +msgstr "" + +#: fields.py:49 +#, python-format +msgid "This file is too big (%%s). Maximum filesize %s." +msgstr "" + +#: fields.py:53 +#, python-format +msgid "This file is too big. Maximum filesize %s." +msgstr "" + #: forms.py:64 msgid "Filter" msgstr "" @@ -81,11 +81,11 @@ msgstr "" msgid "Resize to fill" msgstr "" -#: forms.py:74 models.py:62 +#: forms.py:74 models.py:64 msgid "Width" msgstr "" -#: forms.py:75 models.py:63 +#: forms.py:75 models.py:65 msgid "Height" msgstr "" @@ -93,23 +93,23 @@ msgstr "" msgid "Closeness" msgstr "" -#: models.py:60 templates/wagtailimages/images/usage.html:16 +#: models.py:62 templates/wagtailimages/images/usage.html:16 msgid "Title" msgstr "" -#: models.py:61 +#: models.py:63 msgid "File" msgstr "" -#: models.py:64 +#: models.py:66 msgid "Created at" msgstr "" -#: models.py:65 +#: models.py:67 msgid "Uploaded by user" msgstr "" -#: models.py:67 +#: models.py:69 msgid "Tags" msgstr "" @@ -176,75 +176,75 @@ msgid "Change image file:" msgstr "" #: templates/wagtailimages/images/add.html:4 -#: templates/wagtailimages/images/index.html:19 +#: templates/wagtailimages/images/index.html:20 msgid "Add an image" msgstr "" -#: templates/wagtailimages/images/add.html:15 +#: templates/wagtailimages/images/add.html:14 msgid "Add image" msgstr "" -#: templates/wagtailimages/images/add.html:29 -#: templates/wagtailimages/images/edit.html:46 +#: templates/wagtailimages/images/add.html:28 +#: templates/wagtailimages/images/edit.html:44 msgid "Save" msgstr "" #: templates/wagtailimages/images/confirm_delete.html:4 -#: templates/wagtailimages/images/confirm_delete.html:8 -#: templates/wagtailimages/images/edit.html:46 +#: templates/wagtailimages/images/confirm_delete.html:7 +#: templates/wagtailimages/images/edit.html:44 msgid "Delete image" msgstr "" -#: templates/wagtailimages/images/confirm_delete.html:16 +#: templates/wagtailimages/images/confirm_delete.html:15 msgid "Are you sure you want to delete this image?" msgstr "" -#: templates/wagtailimages/images/confirm_delete.html:19 +#: templates/wagtailimages/images/confirm_delete.html:18 msgid "Yes, delete" msgstr "" -#: templates/wagtailimages/images/edit.html:4 +#: templates/wagtailimages/images/edit.html:3 #: templates/wagtailimages/images/url_generator.html:4 #, python-format msgid "Editing image %(title)s" msgstr "" -#: templates/wagtailimages/images/edit.html:26 +#: templates/wagtailimages/images/edit.html:24 msgid "Editing" msgstr "" -#: templates/wagtailimages/images/edit.html:51 +#: templates/wagtailimages/images/edit.html:49 msgid "Focal point (optional)" msgstr "" -#: templates/wagtailimages/images/edit.html:52 +#: templates/wagtailimages/images/edit.html:50 msgid "" "To define this image's most important region, drag a box over the image " "below." msgstr "" -#: templates/wagtailimages/images/edit.html:52 +#: templates/wagtailimages/images/edit.html:50 msgid "Current focal point shown" msgstr "" -#: templates/wagtailimages/images/edit.html:71 +#: templates/wagtailimages/images/edit.html:69 msgid "URL Generator" msgstr "" -#: templates/wagtailimages/images/edit.html:78 +#: templates/wagtailimages/images/edit.html:76 msgid "Max dimensions" msgstr "" -#: templates/wagtailimages/images/edit.html:80 +#: templates/wagtailimages/images/edit.html:78 msgid "Filesize" msgstr "" -#: templates/wagtailimages/images/edit.html:81 +#: templates/wagtailimages/images/edit.html:79 msgid "File not found" msgstr "" #: templates/wagtailimages/images/index.html:5 -#: templates/wagtailimages/images/index.html:18 wagtail_hooks.py:74 +#: templates/wagtailimages/images/index.html:17 wagtail_hooks.py:31 msgid "Images" msgstr "" @@ -260,19 +260,19 @@ msgid "" "\"%(wagtailimages_add_image_url)s\">add one now
    ?" msgstr "" -#: templates/wagtailimages/images/url_generator.html:9 +#: templates/wagtailimages/images/url_generator.html:7 msgid "Generating URL" msgstr "" -#: templates/wagtailimages/images/url_generator.html:26 +#: templates/wagtailimages/images/url_generator.html:24 msgid "URL" msgstr "" -#: templates/wagtailimages/images/url_generator.html:29 +#: templates/wagtailimages/images/url_generator.html:27 msgid "Preview" msgstr "" -#: templates/wagtailimages/images/url_generator.html:35 +#: templates/wagtailimages/images/url_generator.html:33 msgid "" "Note that images generated larger than the screen will appear smaller when " "previewed here, so they fit the screen." @@ -307,26 +307,26 @@ msgstr "" msgid "Add multiple images" msgstr "" -#: templates/wagtailimages/multiple/add.html:13 +#: templates/wagtailimages/multiple/add.html:12 msgid "Add images" msgstr "" -#: templates/wagtailimages/multiple/add.html:18 +#: templates/wagtailimages/multiple/add.html:17 msgid "Drag and drop images into this area to upload immediately." msgstr "" -#: templates/wagtailimages/multiple/add.html:23 +#: templates/wagtailimages/multiple/add.html:22 msgid "Or choose from your computer" msgstr "" -#: templates/wagtailimages/multiple/add.html:48 +#: templates/wagtailimages/multiple/add.html:47 msgid "" "Upload successful. Please update this image with a more appropriate title, " "if necessary. You may also delete the image completely if the upload wasn't " "required." msgstr "" -#: templates/wagtailimages/multiple/add.html:49 +#: templates/wagtailimages/multiple/add.html:48 msgid "Sorry, upload failed." msgstr "" @@ -334,7 +334,7 @@ msgstr "" msgid "Update" msgstr "" -#: templates/wagtailimages/multiple/edit_form.html:15 views/images.py:129 +#: templates/wagtailimages/multiple/edit_form.html:15 views/images.py:130 msgid "Delete" msgstr "" @@ -342,40 +342,40 @@ msgstr "" msgid "Search images" msgstr "" -#: views/images.py:106 +#: views/images.py:110 #, python-brace-format msgid "Image '{0}' updated." msgstr "" -#: views/images.py:107 +#: views/images.py:111 msgid "Edit again" msgstr "" -#: views/images.py:111 +#: views/images.py:115 msgid "The image could not be saved due to errors." msgstr "" -#: views/images.py:128 +#: views/images.py:129 msgid "" "The source image file could not be found. Please change the source or delete " "the image." msgstr "" -#: views/images.py:221 +#: views/images.py:222 #, python-brace-format msgid "Image '{0}' deleted." msgstr "" -#: views/images.py:244 +#: views/images.py:248 #, python-brace-format msgid "Image '{0}' added." msgstr "" -#: views/images.py:245 +#: views/images.py:249 msgid "Edit" msgstr "" -#: views/images.py:249 +#: views/images.py:253 msgid "The image could not be created due to errors." msgstr "" diff --git a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo index 2f4f5e4e6..f96a36176 100644 Binary files a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po index ca712be7b..8c55e04eb 100644 --- a/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/es/LC_MESSAGES/django.po @@ -14,10 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 11:03+0000\n" -"Last-Translator: chimeno \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-27 01:25+0000\n" +"Last-Translator: José Alaguna \n" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,26 +28,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "No esta soportado el formato de imagen. Formatos soportados: %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "No es una imagen valida %s." - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "" -"Este archivo es demasiado grande. El tamaño máximo de archivo es: " -"%(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "" -"Este archivo es demasiado grande (%%(max_upload_size)s). El tamaño máximo de " -"archivo es: %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -60,6 +40,23 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Formatos soportados: %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "No esta soportado el formato de imagen. Formatos soportados: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "No es una imagen valida %s." + +#, python-format +msgid "This file is too big (%%s). Maximum filesize %s." +msgstr "" +"Este archivo es demasiado grande (%%s). El tamaño máximo de archivo es: %s." + +#, python-format +msgid "This file is too big. Maximum filesize %s." +msgstr "Este archivo es demasiado grande. El tamaño máximo de archivo es: %s." + msgid "Filter" msgstr "Filtro" diff --git a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo index b9b013457..c5cb5917b 100644 Binary files a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po index fbff49ea5..d63f2bf79 100644 --- a/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/fr/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 15:57+0000\n" -"Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,23 +25,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "Format d'image non supporté. Formats supportés : %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "Image %s non valide." - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "Le fichier est trop volumineux. Taille maximum %(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "" -"Le fichier est trop volumineux (%%(max_upload_size)s). Taille maximum %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -54,6 +37,14 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Formats supportés : %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Format d'image non supporté. Formats supportés : %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Image %s non valide." + msgid "Filter" msgstr "Filtre" diff --git a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo index 730e0cb09..4350f4460 100644 Binary files a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po index e0ae369b1..115319020 100644 --- a/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/gl/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.mo index e977a82e1..730d468a8 100644 Binary files a/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.po index e2d1cddcd..51d23d3ac 100644 --- a/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/he_IL/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-20 13:46+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailimages/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..a5b44b313 Binary files /dev/null and b/wagtail/wagtailimages/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..9f5ff93c2 --- /dev/null +++ b/wagtail/wagtailimages/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,175 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +# saevarom , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-31 20:23+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "GIF, JPEG, PNG" +msgstr "GIF, JPEG, PNG" + +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Ekki stuðningur við myndasniðið. Einungis stuðningur við: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Ekki gild %s mynd" + +msgid "Filter" +msgstr "Sía" + +msgid "Original size" +msgstr "Upprunaleg stærð" + +msgid "Width" +msgstr "Breidd" + +msgid "Height" +msgstr "Hæð" + +msgid "Title" +msgstr "Titill" + +msgid "File" +msgstr "Skrá" + +msgid "Created at" +msgstr "Búin til" + +msgid "Uploaded by user" +msgstr "Hlaðið upp af notanda" + +msgid "Choose an image" +msgstr "Veldu mynd" + +msgid "Search" +msgstr "Leita" + +msgid "Upload" +msgstr "Hlaða upp" + +msgid "Latest images" +msgstr "Nýjustu myndirnar" + +msgid "Choose a format" +msgstr "Veldu snið" + +msgid "Insert image" +msgstr "Setja inn mynd" + +msgid "Add an image" +msgstr "Bæta við mynd" + +msgid "Add image" +msgstr "Bæta við mynd" + +msgid "Save" +msgstr "Vista" + +msgid "Delete image" +msgstr "Eyða mynd" + +msgid "Are you sure you want to delete this image?" +msgstr "Ertu viss um að þú viljir eyða þessari mynd?" + +msgid "Yes, delete" +msgstr "Já, eyða" + +#, python-format +msgid "Editing image %(title)s" +msgstr "Breyti mynd %(title)s" + +msgid "Editing" +msgstr "Breyti" + +msgid "Focal point (optional)" +msgstr "Fókus svæði (valkvætt)" + +msgid "" +"To define this image's most important region, drag a box over the image " +"below." +msgstr "" +"Til að skilgreina mikilvægasta svæði myndarinnar, smelltu og dragðu kassa " +"yfir það svæði á myndinni fyrir neðan." + +msgid "Filesize" +msgstr "Skráarstærð" + +msgid "File not found" +msgstr "Skrá fannst ekki" + +msgid "Images" +msgstr "Myndir" + +msgid "URL" +msgstr "Slóð" + +msgid "Preview" +msgstr "Forskoðun" + +msgid "Type" +msgstr "Tegund" + +msgid "Status" +msgstr "Staða" + +msgid "Edit this page" +msgstr "Breyta þessari síðu" + +msgid "Add multiple images" +msgstr "Bæta við mörgum myndum" + +msgid "Add images" +msgstr "Bæta við myndum" + +msgid "Drag and drop images into this area to upload immediately." +msgstr "Dragðu myndir hingað til að hlaða þeim upp." + +msgid "Or choose from your computer" +msgstr "Eða veldu þær úr tölvunni þinni" + +msgid "Sorry, upload failed." +msgstr "Því miður tókst ekki að hlaða upp myndunum." + +msgid "Update" +msgstr "Uppfæra" + +msgid "Delete" +msgstr "Eyða" + +msgid "Search images" +msgstr "Leita að myndum" + +msgid "The image could not be saved due to errors." +msgstr "Ekki var hægt að vista myndina þar sem hún stóðst ekki villuprófanir" + +msgid "" +"The source image file could not be found. Please change the source or delete " +"the image." +msgstr "" +"Upprunamyndin fannst ekki. Vinsamlegast breyttu upprunanum eða eyddu skránni" + +msgid "The image could not be created due to errors." +msgstr "Ekki var hægt að búa myndina til þar sem hún stóðst ekki villuprófanir" + +msgid "Choose another image" +msgstr "Veldu aðra mynd" + +msgid "Edit this image" +msgstr "Breyta þessari mynd" diff --git a/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.mo index ba25c62c1..7917d4a94 100644 Binary files a/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.po index 1483b4614..d520dafda 100644 --- a/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 08:50+0000\n" -"Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,22 +22,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "Formato immagine non supportato. Formati supportati: %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "Immagine %s non valida" - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "File troppo grande. Dimensione massima consentita %(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "File troppo grande (%%(max_upload_size)s). Dimensione massima %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -50,6 +34,14 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Formati supportati: %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Formato immagine non supportato. Formati supportati: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Immagine %s non valida" + msgid "Filter" msgstr "Filtro" diff --git a/wagtail/wagtailimages/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..aca13326a Binary files /dev/null and b/wagtail/wagtailimages/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..8eb183fe2 --- /dev/null +++ b/wagtail/wagtailimages/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,306 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "GIF, JPEG, PNG" +msgstr "GIF, JPEG, PNG" + +#, python-format +msgid "" +"Supported formats: %(supported_formats)s. Maximum filesize: " +"%(max_upload_size)s." +msgstr "" +"지원 포맷: %(supported_formats)s. 최대 파일 사이즈: %(max_upload_size)s." + +#, python-format +msgid "Supported formats: %(supported_formats)s." +msgstr "지원 포맷: %(supported_formats)s" + +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "지원하지 않는 이미지 포맷입니다. 지원 포맷은 %s 입니다." + +#, python-format +msgid "Not a valid %s image." +msgstr "%s 는 사용 가능한 이미지가 아닙니다." + +msgid "Filter" +msgstr "필터" + +msgid "Original size" +msgstr "오리지날 사이즈" + +msgid "Resize to width" +msgstr "너비에 따른 사이즈 조정" + +msgid "Resize to height" +msgstr "높이에 따른 사이즈 조정" + +msgid "Resize to min" +msgstr "최소 사이즈에 따른 사이즈 조정" + +msgid "Resize to max" +msgstr "최대 사이즈에 따른 사이즈 조정" + +msgid "Resize to fill" +msgstr "채워넣기 위한 사이즈 조정" + +msgid "Width" +msgstr "너비" + +msgid "Height" +msgstr "높이" + +msgid "Closeness" +msgstr " 접근" + +msgid "Title" +msgstr "제목" + +msgid "File" +msgstr "파일" + +msgid "Created at" +msgstr "생성된 날짜" + +msgid "Uploaded by user" +msgstr "사용자에 의한 업로드" + +msgid "Tags" +msgstr "태그" + +msgid "Choose an image" +msgstr "이미지 선택" + +msgid "Search" +msgstr "검색" + +msgid "Upload" +msgstr "업로드" + +msgid "Popular tags" +msgstr "인기있는 태그" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"%(counter)s 개의 연관된 결과가 있습니다" + +msgid "Latest images" +msgstr "최근 이미지" + +msgid "Choose a format" +msgstr "포맷 선택" + +msgid "Insert image" +msgstr "이미지 삽입" + +#, python-format +msgid "" +"\n" +" %(total)s Image\n" +" " +msgid_plural "" +"\n" +" %(total)s Images\n" +" " +msgstr[0] "" +"\n" +"%(total)s 이미지" + +msgid "Change image file:" +msgstr "이미지 파일 변경" + +msgid "Add an image" +msgstr "이미지 추가" + +msgid "Add image" +msgstr "이미지 추가" + +msgid "Save" +msgstr "저장" + +msgid "Delete image" +msgstr "이미지 삭제" + +msgid "Are you sure you want to delete this image?" +msgstr "선택한 이미지를 정말 삭제할까요?" + +msgid "Yes, delete" +msgstr "네, 지우겠습니다" + +#, python-format +msgid "Editing image %(title)s" +msgstr "%(title)s 이미지 수정" + +msgid "Editing" +msgstr "수정중" + +msgid "Focal point (optional)" +msgstr "초점 (옵션)" + +msgid "" +"To define this image's most important region, drag a box over the image " +"below." +msgstr "" +"이미지의 중요한 영역을 정하려면, 박스를 이미지로 드래그하여 주시기 바랍니다." + +msgid "Current focal point shown" +msgstr "현재 보여지는 초점" + +msgid "URL Generator" +msgstr "URL 생성기" + +msgid "Max dimensions" +msgstr "최대 크기" + +msgid "Filesize" +msgstr "파일 사이즈" + +msgid "File not found" +msgstr "파일을 찾을 수 없습니다" + +msgid "Images" +msgstr "이미지" + +#, python-format +msgid "Sorry, no images match \"%(query_string)s\"" +msgstr "" +"죄송합니다. \"%(query_string)s\" 와 연관된 이미지 결과가 없습니다." + +#, python-format +msgid "" +"You've not uploaded any images. Why not add one now?" +msgstr "" +"업로드된 이미지가 없습니다. 지금 이미지를 추가 해 보시는건 어떨까요?" + +msgid "Generating URL" +msgstr "URL 생성" + +msgid "URL" +msgstr "URL" + +msgid "Preview" +msgstr "프리뷰" + +msgid "" +"Note that images generated larger than the screen will appear smaller when " +"previewed here, so they fit the screen." +msgstr "" +"여기 프리뷰에서는 화면 사이즈보다 크게 생성된 이미지는 화면 사이즈에 맞게 작" +"게 보여지게 됩니다." + +#, python-format +msgid "Usage of %(title)s" +msgstr "%(title)s 의 사용" + +msgid "Usage of" +msgstr "의 사용" + +msgid "Parent" +msgstr "상위" + +msgid "Type" +msgstr "타입" + +msgid "Status" +msgstr "상태" + +msgid "Edit this page" +msgstr "페이지 변경" + +msgid "Add multiple images" +msgstr "복수 이미지 추가" + +msgid "Add images" +msgstr "이미지 추가" + +msgid "Drag and drop images into this area to upload immediately." +msgstr "이 영역에 이미지를 드래그 앤 드롭하여 바로 업로드할 수 있습니다." + +msgid "Or choose from your computer" +msgstr "혹은 당신의 컴퓨터에서 선택하시기 바랍니다" + +msgid "" +"Upload successful. Please update this image with a more appropriate title, " +"if necessary. You may also delete the image completely if the upload wasn't " +"required." +msgstr "" +"성공적으로 업로드 되었습니다. 가능하면 이미지의 제목을 알맞게 변경하여 주시" +"기 바랍니다. 업로드가 필요없다면 이미지를 완전히 삭제할 수도 있습니다." + +msgid "Sorry, upload failed." +msgstr "죄송합니다, 업로드가 실패하였습니다." + +msgid "Update" +msgstr "업데이트" + +msgid "Delete" +msgstr "삭제" + +msgid "Search images" +msgstr "이미지 검색" + +#, python-brace-format +msgid "Image '{0}' updated." +msgstr "'{0}' 이미지가 업데이트 되었습니다." + +msgid "Edit again" +msgstr "재수정" + +msgid "The image could not be saved due to errors." +msgstr "에러로 인해 이미지를 저장할 수 없습니다." + +msgid "" +"The source image file could not be found. Please change the source or delete " +"the image." +msgstr "" +"소스 이미지 파일을 찾을 수 없습니다. 소스를 변경하거나 이미지를 삭제하여 주시" +"기 바랍니다." + +#, python-brace-format +msgid "Image '{0}' deleted." +msgstr "'{0}' 이미지가 삭제되었습니다." + +#, python-brace-format +msgid "Image '{0}' added." +msgstr "'{0}' 이미지가 추가 되었습니다." + +msgid "Edit" +msgstr "수정" + +msgid "The image could not be created due to errors." +msgstr "에러로 인해 이미지가 생성될 수 없습니다." + +msgid "Choose another image" +msgstr "다른 이미지 선택" + +msgid "Edit this image" +msgstr "이 이미지 수정" diff --git a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo index aecc9a870..1ef3f2e9f 100644 Binary files a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po index 4e8ead840..666e4301f 100644 --- a/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/mn/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Mongolian (http://www.transifex.com/projects/p/wagtail/" -"language/mn/)\n" +"Language-Team: Mongolian (http://www.transifex.com/torchbox/wagtail/language/" +"mn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailimages/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..4d04681ab Binary files /dev/null and b/wagtail/wagtailimages/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..28f49281a --- /dev/null +++ b/wagtail/wagtailimages/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,323 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 14:44+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "GIF, JPEG, PNG" +msgstr "GIF, JPEG, PNG" + +#, python-format +msgid "" +"Supported formats: %(supported_formats)s. Maximum filesize: " +"%(max_upload_size)s." +msgstr "" +"Støttede formater: %(supported_formats)s. Maksimal filstørrelse: " +"%(max_upload_size)s." + +#, python-format +msgid "Supported formats: %(supported_formats)s." +msgstr "Støttede formater: %(supported_formats)s." + +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Ikke et støttet bildeformat. Støttede formater: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Ikke et gyldig %s-bilde." + +#, python-format +msgid "This file is too big (%%s). Maximum filesize %s." +msgstr "Denne fila er for stor (%%s). Maksimal filstørrelse er %s." + +#, python-format +msgid "This file is too big. Maximum filesize %s." +msgstr "Denne fila er for stor. Maksimal filstørrelse er %s." + +msgid "Filter" +msgstr "Filter" + +msgid "Original size" +msgstr "Original størrelse" + +msgid "Resize to width" +msgstr "Endre til spesifisert bredde" + +msgid "Resize to height" +msgstr "Endre til spesifisert høyde" + +msgid "Resize to min" +msgstr "Dekk gitte dimensjoner" + +msgid "Resize to max" +msgstr "Pass innen gitte dimensjoner" + +msgid "Resize to fill" +msgstr "Endre til eksakte dimensjoner" + +msgid "Width" +msgstr "Bredde" + +msgid "Height" +msgstr "Høyde" + +msgid "Closeness" +msgstr "Nærhet til fokuspunkt" + +msgid "Title" +msgstr "Tittel" + +msgid "File" +msgstr "Fil" + +msgid "Created at" +msgstr "Opprettet" + +msgid "Uploaded by user" +msgstr "Opplastet av bruker" + +msgid "Tags" +msgstr "Tags" + +msgid "Choose an image" +msgstr "Velg et bilde" + +msgid "Search" +msgstr "Søk" + +msgid "Upload" +msgstr "Last opp" + +msgid "Popular tags" +msgstr "Populære tags" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Det er ett treff\n" +" " +msgstr[1] "" +"\n" +"Det er %(counter)s treff\n" +" " + +msgid "Latest images" +msgstr "Siste bilder" + +msgid "Choose a format" +msgstr "Velg et format" + +msgid "Insert image" +msgstr "Sett inn bilde" + +#, python-format +msgid "" +"\n" +" %(total)s Image\n" +" " +msgid_plural "" +"\n" +" %(total)s Images\n" +" " +msgstr[0] "" +"\n" +"%(total)s bilde\n" +" " +msgstr[1] "" +"\n" +"%(total)s bilder\n" +" " + +msgid "Change image file:" +msgstr "Endre bildefil:" + +msgid "Add an image" +msgstr "Legg til et bilde" + +msgid "Add image" +msgstr "Legg til bilde" + +msgid "Save" +msgstr "Lagre" + +msgid "Delete image" +msgstr "Slett bilde" + +msgid "Are you sure you want to delete this image?" +msgstr "Er du sikker på at du vil slette dette bildet?" + +msgid "Yes, delete" +msgstr "Ja, slett" + +#, python-format +msgid "Editing image %(title)s" +msgstr "Endrer bilde %(title)s" + +msgid "Editing" +msgstr "Endrer" + +msgid "Focal point (optional)" +msgstr "Fokuspunkt (valgfritt)" + +msgid "" +"To define this image's most important region, drag a box over the image " +"below." +msgstr "" +"For å definere bildets viktigste område, dra en boks over bildet under." + +msgid "Current focal point shown" +msgstr "Nåværende fokuspunkt vises" + +msgid "URL Generator" +msgstr "URL-generator" + +msgid "Max dimensions" +msgstr "Maksimale dimensjoner" + +msgid "Filesize" +msgstr "Filstørrelse" + +msgid "File not found" +msgstr "Fil ikke funnet" + +msgid "Images" +msgstr "Bilder" + +#, python-format +msgid "Sorry, no images match \"%(query_string)s\"" +msgstr "Beklager, ingen bilder samsvarer med \"%(query_string)s\"" + +#, python-format +msgid "" +"You've not uploaded any images. Why not add one now?" +msgstr "" +"Du har ikke lastet opp noen bilder. Hvorfor ikke laste opp et nå?" + +msgid "Generating URL" +msgstr "Genererer URL" + +msgid "URL" +msgstr "URL" + +msgid "Preview" +msgstr "Forhåndsvis" + +msgid "" +"Note that images generated larger than the screen will appear smaller when " +"previewed here, so they fit the screen." +msgstr "" +"Merk at bilder som genereres større enn skjermen vil fremstå mindre når de " +"forhåndsvises her, så de har plass på skjermen." + +#, python-format +msgid "Usage of %(title)s" +msgstr "Bruk av %(title)s" + +msgid "Usage of" +msgstr "Bruk av" + +msgid "Parent" +msgstr "Forelder" + +msgid "Type" +msgstr "Type" + +msgid "Status" +msgstr "Status" + +msgid "Edit this page" +msgstr "Rediger denne siden" + +msgid "Add multiple images" +msgstr "Legg til flere bilder" + +msgid "Add images" +msgstr "Legg til bilder" + +msgid "Drag and drop images into this area to upload immediately." +msgstr "Dra og slipp bilder i dette feltet for å laste opp umiddelbart." + +msgid "Or choose from your computer" +msgstr "Eller velg fra din datamaskin" + +msgid "" +"Upload successful. Please update this image with a more appropriate title, " +"if necessary. You may also delete the image completely if the upload wasn't " +"required." +msgstr "" +"Opplasting vellykket. Du kan oppdatere dette bildet me den mer passende " +"tittel, om nødvendig. Du kan også slette bildet dersom opplastingen ikke var " +"nødvendig." + +msgid "Sorry, upload failed." +msgstr "Beklager, opplasting feilet." + +msgid "Update" +msgstr "Oppdater" + +msgid "Delete" +msgstr "Slett" + +msgid "Search images" +msgstr "Søk i bilder" + +#, python-brace-format +msgid "Image '{0}' updated." +msgstr "Bildet \"{0}\" er oppdatert." + +msgid "Edit again" +msgstr "Endre igjen" + +msgid "The image could not be saved due to errors." +msgstr "Bildet kunne ikke lagres grunnet feil." + +msgid "" +"The source image file could not be found. Please change the source or delete " +"the image." +msgstr "Bildefila ble ikke funnet. Endre kilde for bildet eller slett det." + +#, python-brace-format +msgid "Image '{0}' deleted." +msgstr "Bildet \"{0}\" er slettet." + +#, python-brace-format +msgid "Image '{0}' added." +msgstr "Bildet \"{0}\" er lagt til." + +msgid "Edit" +msgstr "Endre" + +msgid "The image could not be created due to errors." +msgstr "Bildet kunne ikke opprettes grunnet feil." + +msgid "Choose another image" +msgstr "Velg et annet bilde" + +msgid "Edit this image" +msgstr "Endre dette bildet" diff --git a/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.mo index deba76e6a..6e061c9af 100644 Binary files a/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.po index 631f57eb7..d104480c3 100644 --- a/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/nl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-05-12 12:10+0000\n" -"Last-Translator: Brecht Dervaux \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Dutch (http://www.transifex.com/torchbox/wagtail/language/" "nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,10 +28,6 @@ msgstr "Geen ondersteund afbeeldingsformaat. Ondersteunde formaten: %s." msgid "Not a valid %s image." msgstr "Geen geldige %s afbeelding." -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "Dit bestand is te groot. Maximale bestandsgrootte %(max_upload_size)s." - msgid "Filter" msgstr "Filter" diff --git a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo index 5ab30e5e7..7adc8dcc8 100644 Binary files a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po index 1c7543048..67ba17c45 100644 --- a/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/pl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.mo index f071e4ba4..eb4bc66fb 100644 Binary files a/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.po index fd2d6f6bc..859a3305e 100644 --- a/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/pt_BR/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 11:42+0000\n" -"Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,22 +25,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "Não é um formato de imagem suportado. Formatos suportados: %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "Não é uma imagem %s válida." - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "Este arquivo é muito grande. Tamanho máximo %(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "Este arquivo é muito grande (%%(max_upload_size)s). Tamanho máximo %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -53,6 +37,14 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Formatos suportados: %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Não é um formato de imagem suportado. Formatos suportados: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Não é uma imagem %s válida." + msgid "Filter" msgstr "Filtro" diff --git a/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.mo index d75ca5766..4b8472edf 100644 Binary files a/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.po index 2143711e9..3bc55bbcd 100644 --- a/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/pt_PT/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-29 17:38+0000\n" -"Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,23 +24,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "Formato de imagem não suportado. Formatos suportados: %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "Imagem %s inválida." - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "O ficheiro é demasiado grande. Tamanho máximo %(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "" -"Este ficheiro é demasiado grande (%%(max_upload_size)s). Tamanho máximo %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -53,6 +36,14 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Formatos suportados: %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Formato de imagem não suportado. Formatos suportados: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Imagem %s inválida." + msgid "Filter" msgstr "Filtro" diff --git a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo index 724f7e231..2f533882f 100644 Binary files a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po index 03ab34575..107a35480 100644 --- a/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/ro/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-03 20:42+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -23,6 +23,17 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" +#, python-format +msgid "" +"Supported formats: %(supported_formats)s. Maximum filesize: " +"%(max_upload_size)s." +msgstr "" +"Formate suportate: %(supported_formats)s. Mărime maximă: %(max_upload_size)s." + +#, python-format +msgid "Supported formats: %(supported_formats)s." +msgstr "Formate suportate: %(supported_formats)s." + #, python-format msgid "Not a supported image format. Supported formats: %s." msgstr "Format de imagine neacceptat. Formate suportate: %s." @@ -31,6 +42,14 @@ msgstr "Format de imagine neacceptat. Formate suportate: %s." msgid "Not a valid %s image." msgstr "Imaginea %s nu este validă." +#, python-format +msgid "This file is too big (%%s). Maximum filesize %s." +msgstr "Acest fișier este prea mare (%%s). Mărime maximă: %s." + +#, python-format +msgid "This file is too big. Maximum filesize %s." +msgstr "Acest fișier este prea mare. Mărime maximă: %s." + msgid "Filter" msgstr "Filtrează" @@ -67,6 +86,12 @@ msgstr "Titlu" msgid "File" msgstr "Fișier" +msgid "Created at" +msgstr "Creat la" + +msgid "Uploaded by user" +msgstr "Încărcat de utlizator" + msgid "Tags" msgstr "Etichete" @@ -110,6 +135,28 @@ msgstr "Alege un format" msgid "Insert image" msgstr "Inserează imagine" +#, python-format +msgid "" +"\n" +" %(total)s Image\n" +" " +msgid_plural "" +"\n" +" %(total)s Images\n" +" " +msgstr[0] "" +"\n" +"%(total)s imagine" +msgstr[1] "" +"\n" +"%(total)s imagini" +msgstr[2] "" +"\n" +"%(total)s imagini" + +msgid "Change image file:" +msgstr "Schimbă fișierul imaginii:" + msgid "Add an image" msgstr "Adaugă o imagine" @@ -144,6 +191,15 @@ msgstr "Punctul focal curent este afișat" msgid "URL Generator" msgstr "Generator URL" +msgid "Max dimensions" +msgstr "Dimensiuni maxime" + +msgid "Filesize" +msgstr "Mărime fișier" + +msgid "File not found" +msgstr "Fișierul nu a fost găsit" + msgid "Images" msgstr "Imagini" @@ -213,6 +269,9 @@ msgstr "Caută imagini" msgid "Image '{0}' updated." msgstr "Imaginea '{0}' a fost actualizată." +msgid "Edit again" +msgstr "Editează din nou" + msgid "The image could not be saved due to errors." msgstr "Imaginea nu a fost salvată din cauza erorilor." @@ -224,8 +283,14 @@ msgstr "Imaginea '{0}' a fost ștearsă." msgid "Image '{0}' added." msgstr "Imaginea '{0}' a fost adăugată." +msgid "Edit" +msgstr "Editează" + msgid "The image could not be created due to errors." msgstr "Imaginea nu a fost creată din cauza erorilor." msgid "Choose another image" msgstr "Alege altă imagine" + +msgid "Edit this image" +msgstr "Editează această imagine" diff --git a/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.mo index 7ca4343d1..e60ffd9c8 100644 Binary files a/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.po index 6f1290254..c97ad5b59 100644 --- a/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/ru/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 18:49+0000\n" -"Last-Translator: mattwestcott \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 21:43+0000\n" +"Last-Translator: Eugene MechanisM \n" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,26 +27,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "Не поддерживаемый формат изображения. Поддерживаемые форматы: %s." - -#, python-format -msgid "Not a valid %s image." -msgstr "Невалидное %s изображение." - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "" -"Этот файл слишком большой. Максимально допустимый размер файла " -"%(max_upload_size)s." - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "" -"Этот файл слишком большой (%%(max_upload_size)s). Максимально допустимый " -"размер файла %s." - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -59,6 +39,22 @@ msgstr "" msgid "Supported formats: %(supported_formats)s." msgstr "Поддерживаемые форматы: %(supported_formats)s." +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "Не поддерживаемый формат изображения. Поддерживаемые форматы: %s." + +#, python-format +msgid "Not a valid %s image." +msgstr "Невалидное %s изображение." + +#, python-format +msgid "This file is too big (%%s). Maximum filesize %s." +msgstr "Файл слишком большой (%%s). Максимальный размер файла %s." + +#, python-format +msgid "This file is too big. Maximum filesize %s." +msgstr "Файл слишком большой. Максимальный размер файла %s." + msgid "Filter" msgstr "Фильтр" diff --git a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo index cf693d153..e3efa80f5 100644 Binary files a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po index 00b3cfc07..e31d2a49b 100644 --- a/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/zh/LC_MESSAGES/django.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.mo index ad3b0f8cd..e6062c2c2 100644 Binary files a/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.po index 1bf71e377..9a7c54667 100644 --- a/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailimages/locale/zh_CN/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 17:01+0000\n" -"Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,22 +22,6 @@ msgstr "" msgid "GIF, JPEG, PNG" msgstr "GIF, JPEG, PNG" -#, python-format -msgid "Not a supported image format. Supported formats: %s." -msgstr "不支持的图片格式。支持类型如下: %s" - -#, python-format -msgid "Not a valid %s image." -msgstr "无效的 %s图像" - -#, python-format -msgid "This file is too big. Maximum filesize %(max_upload_size)s." -msgstr "文件过大。最大限制为%(max_upload_size)s" - -#, python-format -msgid "This file is too big (%%(max_upload_size)s). Maximum filesize %s." -msgstr "文件过大 (%%(max_upload_size)s)。最大文件大小为%s。" - #, python-format msgid "" "Supported formats: %(supported_formats)s. Maximum filesize: " @@ -48,6 +32,14 @@ msgstr "支持的格式:%(supported_formats)s。最大文件大小:%(max_upl msgid "Supported formats: %(supported_formats)s." msgstr "支持的格式:%(supported_formats)s。" +#, python-format +msgid "Not a supported image format. Supported formats: %s." +msgstr "不支持的图片格式。支持类型如下: %s" + +#, python-format +msgid "Not a valid %s image." +msgstr "无效的 %s图像" + msgid "Filter" msgstr "过滤器" diff --git a/wagtail/wagtailimages/migrations/0008_image_created_at_index.py b/wagtail/wagtailimages/migrations/0008_image_created_at_index.py new file mode 100644 index 000000000..23dda8c91 --- /dev/null +++ b/wagtail/wagtailimages/migrations/0008_image_created_at_index.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailimages', '0007_image_file_size'), + ] + + operations = [ + migrations.AlterField( + model_name='image', + name='created_at', + field=models.DateTimeField(db_index=True, verbose_name='Created at', auto_now_add=True), + ), + ] diff --git a/wagtail/wagtailimages/models.py b/wagtail/wagtailimages/models.py index 032a6cfff..74af76aed 100644 --- a/wagtail/wagtailimages/models.py +++ b/wagtail/wagtailimages/models.py @@ -63,7 +63,7 @@ class AbstractImage(models.Model, TagSearchable): file = models.ImageField(verbose_name=_('File'), upload_to=get_upload_to, width_field='width', height_field='height') width = models.IntegerField(verbose_name=_('Width'), editable=False) height = models.IntegerField(verbose_name=_('Height'), editable=False) - created_at = models.DateTimeField(verbose_name=_('Created at'), auto_now_add=True) + created_at = models.DateTimeField(verbose_name=_('Created at'), auto_now_add=True, db_index=True) uploaded_by_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('Uploaded by user'), null=True, blank=True, editable=False) tags = TaggableManager(help_text=None, blank=True, verbose_name=_('Tags')) @@ -75,6 +75,17 @@ class AbstractImage(models.Model, TagSearchable): file_size = models.PositiveIntegerField(null=True, editable=False) + def is_stored_locally(self): + """ + Returns True if the image is hosted on the local filesystem + """ + try: + self.file.path + + return True + except NotImplementedError: + return False + def get_file_size(self): if self.file_size is None: try: @@ -92,7 +103,7 @@ class AbstractImage(models.Model, TagSearchable): @property def usage_url(self): - return reverse('wagtailimages_image_usage', + return reverse('wagtailimages:image_usage', args=(self.id,)) search_fields = TagSearchable.search_fields + ( @@ -107,8 +118,18 @@ class AbstractImage(models.Model, TagSearchable): # Open file if it is closed close_file = False try: + image_file = self.file + if self.file.closed: - self.file.open('rb') + # Reopen the file + if self.is_stored_locally(): + self.file.open('rb') + else: + # Some external storage backends don't allow reopening + # the file. Get a fresh file instance. #1397 + storage = self._meta.get_field('file').storage + image_file = storage.open(self.file.name, 'rb') + close_file = True except IOError as e: # re-throw this as a SourceImageIOError so that calling code can distinguish @@ -116,13 +137,13 @@ class AbstractImage(models.Model, TagSearchable): raise SourceImageIOError(text_type(e)) # Seek to beginning - self.file.seek(0) + image_file.seek(0) try: - yield WillowImage.open(self.file) + yield WillowImage.open(image_file) finally: if close_file: - self.file.close() + image_file.close() def get_rect(self): return Rect(0, 0, self.width, self.height) diff --git a/wagtail/wagtailimages/templates/wagtailimages/images/index.html b/wagtail/wagtailimages/templates/wagtailimages/images/index.html index dc6701dea..7f89b97ee 100644 --- a/wagtail/wagtailimages/templates/wagtailimages/images/index.html +++ b/wagtail/wagtailimages/templates/wagtailimages/images/index.html @@ -15,8 +15,13 @@ {% block content %} {% trans "Images" as im_str %} - {% trans "Add an image" as add_img_str %} - {% include "wagtailadmin/shared/header.html" with title=im_str add_link="wagtailimages:add_multiple" icon="image" add_text=add_img_str search_url="wagtailimages:index" %} + + {% if perms.wagtailimages.add_image %} + {% trans "Add an image" as add_img_str %} + {% include "wagtailadmin/shared/header.html" with title=im_str add_link="wagtailimages:add_multiple" icon="image" add_text=add_img_str search_url="wagtailimages:index" %} + {% else %} + {% include "wagtailadmin/shared/header.html" with title=im_str icon="image" search_url="wagtailimages:index" %} + {% endif %}
    diff --git a/wagtail/wagtailimages/tests/test_admin_views.py b/wagtail/wagtailimages/tests/test_admin_views.py index 4e215bb89..c8898c3bd 100644 --- a/wagtail/wagtailimages/tests/test_admin_views.py +++ b/wagtail/wagtailimages/tests/test_admin_views.py @@ -5,6 +5,7 @@ import json from django.test import TestCase, override_settings from django.utils.http import urlquote from django.core.urlresolvers import reverse +from django.contrib.auth import get_user_model from django.contrib.auth.models import Permission from django.core.files.uploadedfile import SimpleUploadedFile from django.template.defaultfilters import filesizeformat @@ -14,7 +15,7 @@ from django.template.defaultfilters import filesizeformat try: from django.utils.http import RFC3986_SUBDELIMS urlquote_safechars = RFC3986_SUBDELIMS + str('/~:@') -except ImportError: # < Django 1,8 +except ImportError: # < Django 1,8 urlquote_safechars = '/' from wagtail.tests.utils import WagtailTestUtils @@ -34,6 +35,7 @@ class TestImageIndexView(TestCase, WagtailTestUtils): response = self.get() self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'wagtailimages/images/index.html') + self.assertContains(response, "Add an image") def test_search(self): response = self.get({'q': "Hello"}) @@ -89,6 +91,19 @@ class TestImageAddView(TestCase, WagtailTestUtils): # Test that the file_size field was set self.assertTrue(image.file_size) + @override_settings(DEFAULT_FILE_STORAGE='wagtail.tests.dummy_external_storage.DummyExternalStorage') + def test_add_with_external_file_storage(self): + response = self.post({ + 'title': "Test image", + 'file': SimpleUploadedFile('test.png', get_test_image_file().file.getvalue()), + }) + + # Should redirect back to index + self.assertRedirects(response, reverse('wagtailimages:index')) + + # Check that the image was created + self.assertTrue(Image.objects.filter(title="Test image").exists()) + def test_add_no_file_selected(self): response = self.post({ 'title': "Test image", @@ -142,6 +157,28 @@ class TestImageEditView(TestCase, WagtailTestUtils): self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'wagtailimages/images/edit.html') + @override_settings(WAGTAIL_USAGE_COUNT_ENABLED=True) + def test_with_usage_count(self): + response = self.get() + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailimages/images/edit.html') + self.assertContains(response, "Used 0 times") + expected_url = '/admin/images/usage/%d/' % self.image.id + self.assertContains(response, expected_url) + + @override_settings(DEFAULT_FILE_STORAGE='wagtail.tests.dummy_external_storage.DummyExternalStorage') + def test_simple_with_external_storage(self): + # The view calls get_file_size on the image that closes the file if + # file_size wasn't prevously populated. + + # The view then attempts to reopen the file when rendering the template + # which caused crashes when certian storage backends were in use. + # See #1397 + + response = self.get() + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailimages/images/edit.html') + def test_edit(self): response = self.post({ 'title': "Edited", @@ -173,6 +210,26 @@ class TestImageEditView(TestCase, WagtailTestUtils): image = Image.objects.get(id=self.image.id) self.assertNotEqual(image.file_size, 100000) + @override_settings(DEFAULT_FILE_STORAGE='wagtail.tests.dummy_external_storage.DummyExternalStorage') + def test_edit_with_new_image_file_and_external_storage(self): + file_content = get_test_image_file().file.getvalue() + + # Change the file size of the image + self.image.file_size = 100000 + self.image.save() + + response = self.post({ + 'title': "Edited", + 'file': SimpleUploadedFile('new.png', file_content), + }) + + # Should redirect back to index + self.assertRedirects(response, reverse('wagtailimages:index')) + + # Check that the image file size changed (assume it changed to the correct value) + image = Image.objects.get(id=self.image.id) + self.assertNotEqual(image.file_size, 100000) + def test_with_missing_image_file(self): self.image.file.delete(False) @@ -304,6 +361,19 @@ class TestImageChooserUploadView(TestCase, WagtailTestUtils): # The form should have an error self.assertFormError(response, 'uploadform', 'file', "This field is required.") + @override_settings(DEFAULT_FILE_STORAGE='wagtail.tests.dummy_external_storage.DummyExternalStorage') + def test_upload_with_external_storage(self): + response = self.client.post(reverse('wagtailimages:chooser_upload'), { + 'title': "Test image", + 'file': SimpleUploadedFile('test.png', get_test_image_file().file.getvalue()), + }) + + # Check response + self.assertEqual(response.status_code, 200) + + # Check that the image was created + self.assertTrue(Image.objects.filter(title="Test image").exists()) + class TestMultipleImageUploader(TestCase, WagtailTestUtils): """ @@ -687,3 +757,50 @@ class TestPreviewView(TestCase, WagtailTestUtils): # Check response self.assertEqual(response.status_code, 400) + + +class TestEditOnlyPermissions(TestCase, WagtailTestUtils): + def setUp(self): + # Create an image to edit + self.image = Image.objects.create( + title="Test image", + file=get_test_image_file(), + ) + + # Create a user with change_image permission but not add_image + user = get_user_model().objects.create_user(username='changeonly', email='changeonly@example.com', password='password') + change_permission = Permission.objects.get(content_type__app_label='wagtailimages', codename='change_image') + admin_permission = Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin') + user.user_permissions.add(change_permission, admin_permission) + self.client.login(username='changeonly', password='password') + + def test_get_index(self): + response = self.client.get(reverse('wagtailimages:index')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailimages/images/index.html') + + # user should not get an "Add an image" button + self.assertNotContains(response, "Add an image") + + # user should be able to see images not owned by them + self.assertContains(response, "Test image") + + def test_get_add(self): + response = self.client.get(reverse('wagtailimages:add')) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + def test_get_edit(self): + response = self.client.get(reverse('wagtailimages:edit', args=(self.image.id,))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailimages/images/edit.html') + + def test_get_delete(self): + response = self.client.get(reverse('wagtailimages:delete', args=(self.image.id,))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailimages/images/confirm_delete.html') + + def test_get_add_multiple(self): + response = self.client.get(reverse('wagtailimages:add_multiple')) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) diff --git a/wagtail/wagtailimages/tests/test_image_operations.py b/wagtail/wagtailimages/tests/test_image_operations.py index 9e6ddc6a0..8269ab553 100644 --- a/wagtail/wagtailimages/tests/test_image_operations.py +++ b/wagtail/wagtailimages/tests/test_image_operations.py @@ -154,7 +154,7 @@ class TestFillOperation(ImageOperationTestCase): # Basic usage with an oddly-sized original image # This checks for a rounding precision issue (#968) ('fill-200x200', Image(width=539, height=720), [ - ('crop', ((0, 90, 539, 629), ), {}), + ('crop', ((0, 90, 539, 630), ), {}), ('resize', ((200, 200), ), {}), ]), @@ -258,7 +258,32 @@ class TestFillOperation(ImageOperationTestCase): ), [ # This operation could probably be optimised out ('crop', ((0, 0, 1500, 1500), ), {}), - ]) + ]), + + + # A few tests for single pixel images + + ('fill-100x100', Image( + width=1, + height=1, + ), [ + ('crop', ((0, 0, 1, 1), ), {}), + ]), + + # This one once gave a ZeroDivisionError + ('fill-100x150', Image( + width=1, + height=1, + ), [ + ('crop', ((0, 0, 1, 1), ), {}), + ]), + + ('fill-150x100', Image( + width=1, + height=1, + ), [ + ('crop', ((0, 0, 1, 1), ), {}), + ]), ] TestFillOperation.setup_test_methods() diff --git a/wagtail/wagtailimages/tests/test_models.py b/wagtail/wagtailimages/tests/test_models.py index 63f614bdd..9bd41dc7b 100644 --- a/wagtail/wagtailimages/tests/test_models.py +++ b/wagtail/wagtailimages/tests/test_models.py @@ -79,6 +79,13 @@ class TestImage(TestCase): self.assertEqual(self.image.focal_point_width, None) self.assertEqual(self.image.focal_point_height, None) + def test_is_stored_locally(self): + self.assertTrue(self.image.is_stored_locally()) + + @override_settings(DEFAULT_FILE_STORAGE='wagtail.tests.dummy_external_storage.DummyExternalStorage') + def test_is_stored_locally_with_external_storage(self): + self.assertFalse(self.image.is_stored_locally()) + class TestImagePermissions(TestCase): def setUp(self): diff --git a/wagtail/wagtailimages/tests/test_rich_text.py b/wagtail/wagtailimages/tests/test_rich_text.py index 473a6faab..b0ed55ce8 100644 --- a/wagtail/wagtailimages/tests/test_rich_text.py +++ b/wagtail/wagtailimages/tests/test_rich_text.py @@ -1,15 +1,16 @@ -from django.test import TestCase - from bs4 import BeautifulSoup from mock import patch +from django.test import TestCase + from wagtail.wagtailimages.rich_text import ImageEmbedHandler class TestImageEmbedHandler(TestCase): def test_get_db_attributes(self): soup = BeautifulSoup( - 'foo' + 'foo', + 'html5lib' ) tag = soup.b result = ImageEmbedHandler.get_db_attributes(tag) diff --git a/wagtail/wagtailimages/tests/tests.py b/wagtail/wagtailimages/tests/tests.py index bba1e1f9c..978e8d05b 100644 --- a/wagtail/wagtailimages/tests/tests.py +++ b/wagtail/wagtailimages/tests/tests.py @@ -182,6 +182,7 @@ class TestFrontendServeView(TestCase): # Check response self.assertEqual(response.status_code, 200) + self.assertTrue(response.streaming) self.assertEqual(response['Content-Type'], 'image/png') def test_get_invalid_signature(self): @@ -291,13 +292,20 @@ class TestGetImageForm(TestCase, WagtailTestUtils): def test_custom_image_model_without_admin_form_fields_raises_warning(self): self.reset_warning_registry() - with warnings.catch_warnings(record=True) as w: + with warnings.catch_warnings(record=True) as raw_warnings: form = get_image_form(CustomImageWithoutAdminFormFields) # Check that a RemovedInWagtail12Warning has been triggered - self.assertEqual(len(w), 1) - self.assertTrue(issubclass(w[-1].category, RemovedInWagtail12Warning)) - self.assertTrue("Add admin_form_fields = (tuple of field names) to CustomImageWithoutAdminFormFields" in str(w[-1].message)) + + # Ignore any ResourceWarnings. TODO: remove this when we've stopped ResourceWarnings from happening... + try: + clean_warnings = [w for w in raw_warnings if not issubclass(w.category, ResourceWarning)] + except NameError: # ResourceWarning only exists on Python >= 3.2 + clean_warnings = raw_warnings + + self.assertEqual(len(clean_warnings), 1) + self.assertTrue(issubclass(clean_warnings[-1].category, RemovedInWagtail12Warning)) + self.assertTrue("Add admin_form_fields = (tuple of field names) to CustomImageWithoutAdminFormFields" in str(clean_warnings[-1].message)) # All fields, including the not editable one should be on the form self.assertEqual(list(form.base_fields.keys()), [ diff --git a/wagtail/wagtailimages/views/chooser.py b/wagtail/wagtailimages/views/chooser.py index b96efdb84..c3967b8b8 100644 --- a/wagtail/wagtailimages/views/chooser.py +++ b/wagtail/wagtailimages/views/chooser.py @@ -3,10 +3,10 @@ import json from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404, render from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.contrib.auth.decorators import permission_required from wagtail.wagtailadmin.modal_workflow import render_modal_workflow from wagtail.wagtailadmin.forms import SearchForm +from wagtail.wagtailadmin.utils import permission_required from wagtail.wagtailsearch.backends import get_search_backends from wagtail.wagtailimages.models import get_image_model @@ -51,14 +51,14 @@ def chooser(request): # page number p = request.GET.get("p", 1) - images = Image.search(q, results_per_page=10, page=p) + images = Image.search(q, results_per_page=12, page=p) is_searching = True else: images = Image.objects.order_by('-created_at') p = request.GET.get("p", 1) - paginator = Paginator(images, 10) + paginator = Paginator(images, 12) try: images = paginator.page(p) @@ -80,7 +80,7 @@ def chooser(request): images = Image.objects.order_by('-created_at') p = request.GET.get("p", 1) - paginator = Paginator(images, 10) + paginator = Paginator(images, 12) try: images = paginator.page(p) diff --git a/wagtail/wagtailimages/views/frontend.py b/wagtail/wagtailimages/views/frontend.py index 7e78473df..341e5fdd0 100644 --- a/wagtail/wagtailimages/views/frontend.py +++ b/wagtail/wagtailimages/views/frontend.py @@ -2,7 +2,7 @@ from wsgiref.util import FileWrapper import imghdr from django.shortcuts import get_object_or_404 -from django.http import HttpResponse +from django.http import HttpResponse, StreamingHttpResponse from django.core.exceptions import PermissionDenied from wagtail.wagtailimages.models import get_image_model @@ -20,6 +20,6 @@ def serve(request, signature, image_id, filter_spec): rendition = image.get_rendition(filter_spec) rendition.file.open('rb') image_format = imghdr.what(rendition.file) - return HttpResponse(FileWrapper(rendition.file), content_type='image/' + image_format) + return StreamingHttpResponse(FileWrapper(rendition.file), content_type='image/' + image_format) except InvalidFilterSpecError: return HttpResponse("Invalid filter spec: " + filter_spec, content_type='text/plain', status=400) diff --git a/wagtail/wagtailimages/views/images.py b/wagtail/wagtailimages/views/images.py index 605d80733..277faf76c 100644 --- a/wagtail/wagtailimages/views/images.py +++ b/wagtail/wagtailimages/views/images.py @@ -1,18 +1,17 @@ import os -import json from django.shortcuts import render, redirect, get_object_or_404 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.contrib.auth.decorators import permission_required from django.core.exceptions import PermissionDenied from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers from django.core.urlresolvers import reverse, NoReverseMatch -from django.http import HttpResponse +from django.http import HttpResponse, JsonResponse from wagtail.wagtailcore.models import Site from wagtail.wagtailadmin.forms import SearchForm from wagtail.wagtailadmin import messages +from wagtail.wagtailadmin.utils import permission_required, any_permission_required from wagtail.wagtailsearch.backends import get_search_backends from wagtail.wagtailimages.models import get_image_model, Filter @@ -21,7 +20,7 @@ from wagtail.wagtailimages.utils import generate_signature from wagtail.wagtailimages.exceptions import InvalidFilterSpecError -@permission_required('wagtailimages.add_image') +@any_permission_required('wagtailimages.add_image', 'wagtailimages.change_image') @vary_on_headers('X-Requested-With') def index(request): Image = get_image_model() @@ -123,15 +122,9 @@ def edit(request, image_id): except NoReverseMatch: url_generator_enabled = False - try: - local_path = image.file.path - except NotImplementedError: - # Image is hosted externally (eg, S3) - local_path = None - - if local_path: + if image.is_stored_locally(): # Give error if image file doesn't exist - if not os.path.isfile(local_path): + if not os.path.isfile(image.file.path): messages.error(request, _("The source image file could not be found. Please change the source or delete the image.").format(image.title), buttons=[ messages.button(reverse('wagtailimages:delete', args=(image.id,)), _('Delete')) ]) @@ -162,23 +155,19 @@ def url_generator(request, image_id): }) -def json_response(document, status=200): - return HttpResponse(json.dumps(document), content_type='application/json', status=status) - - def generate_url(request, image_id, filter_spec): # Get the image Image = get_image_model() try: image = Image.objects.get(id=image_id) except Image.DoesNotExist: - return json_response({ + return JsonResponse({ 'error': "Cannot find image." }, status=404) # Check if this user has edit permission on this image if not image.is_editable_by_user(request.user): - return json_response({ + return JsonResponse({ 'error': "You do not have permission to generate a URL for this image." }, status=403) @@ -186,7 +175,7 @@ def generate_url(request, image_id, filter_spec): try: Filter(spec=filter_spec).operations except InvalidFilterSpecError: - return json_response({ + return JsonResponse({ 'error': "Invalid filter spec." }, status=400) @@ -203,7 +192,7 @@ def generate_url(request, image_id, filter_spec): # Generate preview url preview_url = reverse('wagtailimages:preview', args=(image_id, filter_spec)) - return json_response({'url': site_root_url + url, 'preview_url': preview_url}, status=200) + return JsonResponse({'url': site_root_url + url, 'preview_url': preview_url}, status=200) def preview(request, image_id, filter_spec): diff --git a/wagtail/wagtailimages/views/multiple.py b/wagtail/wagtailimages/views/multiple.py index 81540cec4..163e9bc41 100644 --- a/wagtail/wagtailimages/views/multiple.py +++ b/wagtail/wagtailimages/views/multiple.py @@ -1,13 +1,12 @@ -import json - from django.shortcuts import render, get_object_or_404 -from django.contrib.auth.decorators import permission_required from django.views.decorators.http import require_POST from django.core.exceptions import PermissionDenied from django.views.decorators.vary import vary_on_headers -from django.http import HttpResponse, HttpResponseBadRequest +from django.http import JsonResponse, HttpResponseBadRequest from django.utils.encoding import force_text +from wagtail.wagtailadmin.utils import permission_required + from wagtail.wagtailsearch.backends import get_search_backends from wagtail.wagtailimages.models import get_image_model @@ -16,10 +15,6 @@ from wagtail.wagtailimages.fields import ALLOWED_EXTENSIONS from wagtail.utils.compat import render_to_string -def json_response(document): - return HttpResponse(json.dumps(document), content_type='application/json') - - def get_image_edit_form(ImageModel): ImageForm = get_image_form(ImageModel) @@ -66,7 +61,7 @@ def add(request): image.save() # Success! Send back an edit form for this image to the user - return json_response({ + return JsonResponse({ 'success': True, 'image_id': int(image.id), 'form': render_to_string('wagtailimages/multiple/edit_form.html', { @@ -76,7 +71,7 @@ def add(request): }) else: # Validation error - return json_response({ + return JsonResponse({ 'success': False, # https://github.com/django/django/blob/stable/1.6.x/django/forms/util.py#L45 @@ -116,12 +111,12 @@ def edit(request, image_id, callback=None): for backend in get_search_backends(): backend.add(image) - return json_response({ + return JsonResponse({ 'success': True, 'image_id': int(image_id), }) else: - return json_response({ + return JsonResponse({ 'success': False, 'image_id': int(image_id), 'form': render_to_string('wagtailimages/multiple/edit_form.html', { @@ -143,7 +138,7 @@ def delete(request, image_id): image.delete() - return json_response({ + return JsonResponse({ 'success': True, 'image_id': int(image_id), }) diff --git a/wagtail/wagtailimages/wagtail_hooks.py b/wagtail/wagtailimages/wagtail_hooks.py index a7eeb5a43..a5f859695 100644 --- a/wagtail/wagtailimages/wagtail_hooks.py +++ b/wagtail/wagtailimages/wagtail_hooks.py @@ -4,7 +4,6 @@ from django.core import urlresolvers from django.utils.html import format_html, format_html_join from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.models import Permission -from django.contrib.contenttypes.models import ContentType from wagtail.wagtailcore import hooks from wagtail.wagtailadmin.menu import MenuItem @@ -24,7 +23,8 @@ def register_admin_urls(): class ImagesMenuItem(MenuItem): def is_shown(self, request): - return request.user.has_perm('wagtailimages.add_image') + return request.user.has_perm('wagtailimages.add_image') or request.user.has_perm('wagtailimages.change_image') + @hooks.register('register_admin_menu_item') def register_images_menu_item(): @@ -53,9 +53,8 @@ def editor_js(): @hooks.register('register_permissions') def register_permissions(): - image_content_type = ContentType.objects.get(app_label='wagtailimages', model='image') - image_permissions = Permission.objects.filter(content_type=image_content_type) - return image_permissions + return Permission.objects.filter(content_type__app_label='wagtailimages', + codename__in=['add_image', 'change_image']) @hooks.register('register_image_operations') @@ -84,6 +83,7 @@ class ImagesSummaryItem(SummaryItem): 'total_images': get_image_model().objects.count(), } + @hooks.register('construct_homepage_summary_items') def add_images_summary_item(request, items): items.append(ImagesSummaryItem(request)) diff --git a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo index 78cdc5006..2ced406ba 100644 Binary files a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po index adbd3c613..426eabed8 100644 --- a/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/bg/LC_MESSAGES/django.po @@ -9,11 +9,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo index 124842b10..dd9d30784 100644 Binary files a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po index 83f53b267..707ed86b0 100644 --- a/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/ca/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo index 04944ff0b..f6507d10f 100644 Binary files a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po index dda30f60f..6a9f4408a 100644 --- a/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/de/LC_MESSAGES/django.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Florian , 2015 # Johannes Spielmann , 2014 # Johannes Spielmann , 2014 # karlsander , 2014 @@ -13,10 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-13 18:48+0000\n" +"Last-Translator: Florian \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,6 +28,9 @@ msgstr "" msgid "Redirect from" msgstr "Weiterleiten von" +msgid "Site" +msgstr "Seite" + msgid "Permanent" msgstr "Permanent" @@ -44,6 +48,9 @@ msgstr "Zu einer Seite weiterleiten" msgid "Redirect to any URL" msgstr "Zu einer URL weiterleiten" +msgid "Redirect" +msgstr "Weiterleitung" + msgid "Add redirect" msgstr "Weiterleitung hinzufügen" diff --git a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo index 5f6419fc2..d6c916a0c 100644 Binary files a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po index c2e582bb1..202e41e9a 100644 --- a/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/el/LC_MESSAGES/django.po @@ -7,14 +7,15 @@ # NeotheOne , 2015 # serafeim , 2014 # serafeim , 2014 +# dotoree , 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-13 07:04+0000\n" +"Last-Translator: dotoree \n" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,6 +26,9 @@ msgstr "" msgid "Redirect from" msgstr "Ανακατεύθυνση από" +msgid "Site" +msgstr "Ιστότοπος" + msgid "Permanent" msgstr "Μόνιμη" @@ -42,6 +46,9 @@ msgstr "Ανακατεύθυνση σε σελίδα" msgid "Redirect to any URL" msgstr "Ανακατεύθυση σε κάποια διεύθυση" +msgid "Redirect" +msgstr "Ανακατεύθυνση" + msgid "Add redirect" msgstr "Προσθήκη ανακατεύθυνσης" diff --git a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po index 7a166776e..e31dbdbbf 100644 --- a/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,78 +17,78 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: models.py:12 +#: models.py:11 msgid "Redirect from" msgstr "" -#: models.py:13 +#: models.py:12 msgid "Site" msgstr "" -#: models.py:14 +#: models.py:13 msgid "Permanent" msgstr "" -#: models.py:14 +#: models.py:13 msgid "" "Recommended. Permanent redirects ensure search engines forget the old page " "(the 'Redirect from') and index the new page instead." msgstr "" -#: models.py:15 +#: models.py:14 msgid "Redirect to a page" msgstr "" -#: models.py:16 +#: models.py:15 msgid "Redirect to any URL" msgstr "" -#: models.py:71 +#: models.py:70 msgid "Redirect" msgstr "" -#: templates/wagtailredirects/add.html:3 templates/wagtailredirects/add.html:6 -#: templates/wagtailredirects/index.html:18 +#: templates/wagtailredirects/add.html:3 templates/wagtailredirects/add.html:5 +#: templates/wagtailredirects/index.html:17 msgid "Add redirect" msgstr "" -#: templates/wagtailredirects/add.html:14 -#: templates/wagtailredirects/edit.html:14 +#: templates/wagtailredirects/add.html:13 +#: templates/wagtailredirects/edit.html:13 msgid "Save" msgstr "" -#: templates/wagtailredirects/confirm_delete.html:4 +#: templates/wagtailredirects/confirm_delete.html:3 #, python-format msgid "Delete redirect %(title)s" msgstr "" -#: templates/wagtailredirects/confirm_delete.html:6 +#: templates/wagtailredirects/confirm_delete.html:5 msgid "Delete" msgstr "" -#: templates/wagtailredirects/confirm_delete.html:10 +#: templates/wagtailredirects/confirm_delete.html:9 msgid "Are you sure you want to delete this redirect?" msgstr "" -#: templates/wagtailredirects/confirm_delete.html:13 +#: templates/wagtailredirects/confirm_delete.html:12 msgid "Yes, delete" msgstr "" -#: templates/wagtailredirects/edit.html:4 +#: templates/wagtailredirects/edit.html:3 #, python-format msgid "Editing %(title)s" msgstr "" -#: templates/wagtailredirects/edit.html:6 +#: templates/wagtailredirects/edit.html:5 msgid "Editing" msgstr "" -#: templates/wagtailredirects/edit.html:15 +#: templates/wagtailredirects/edit.html:14 msgid "Delete redirect" msgstr "" #: templates/wagtailredirects/index.html:3 -#: templates/wagtailredirects/index.html:17 wagtail_hooks.py:25 +#: templates/wagtailredirects/index.html:16 wagtail_hooks.py:30 msgid "Redirects" msgstr "" diff --git a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo index 35c675a33..8339024d8 100644 Binary files a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po index 625b9af63..2ba33658c 100644 --- a/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/es/LC_MESSAGES/django.po @@ -13,10 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-22 02:20+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo index 3cb5fdab9..9699cd5b7 100644 Binary files a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po index 297aacdc3..5f0c15d38 100644 --- a/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/fr/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 15:57+0000\n" "Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo index 78861bff3..f0bb943de 100644 Binary files a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po index bed2dbc98..63e65366f 100644 --- a/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/gl/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.mo index b12afd6de..9c40b4521 100644 Binary files a/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.po index 21d781f5a..16d3a6322 100644 --- a/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/he_IL/LC_MESSAGES/django.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# bjesus , 2015 # lior abazon , 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-20 13:55+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-10 16:08+0000\n" +"Last-Translator: bjesus \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -52,6 +53,10 @@ msgstr "אתם בטוחים כי ברצונכם למחוק הפנייה זו?" msgid "Yes, delete" msgstr "כן, מחק" +#, python-format +msgid "Editing %(title)s" +msgstr "עריכת %(title)s" + msgid "Editing" msgstr "עריכה" diff --git a/wagtail/wagtailredirects/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..a97c6ad92 Binary files /dev/null and b/wagtail/wagtailredirects/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..45d92c090 --- /dev/null +++ b/wagtail/wagtailredirects/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-01 08:32+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Redirect from" +msgstr "Tilvísun frá" + +msgid "Site" +msgstr "Síðu" + +msgid "Permanent" +msgstr "Endanleg" + +msgid "" +"Recommended. Permanent redirects ensure search engines forget the old page " +"(the 'Redirect from') and index the new page instead." +msgstr "" +"Mælt með. Endanleg tilvísun passar upp á að leitarvélar gleymi eldri síðunni " +"(þaðan sem vísað er frá) og indexi nýju síðuna í staðinn." + +msgid "Redirect to a page" +msgstr "Tilvísun á síðu" + +msgid "Redirect to any URL" +msgstr "Tilvísun á slóð" + +msgid "Redirect" +msgstr "Tilvísun" + +msgid "Add redirect" +msgstr "Bæta við tilvísun" + +msgid "Save" +msgstr "Vista" + +#, python-format +msgid "Delete redirect %(title)s" +msgstr "Eyða tilvísun %(title)s" + +msgid "Delete" +msgstr "Eyða" + +msgid "Are you sure you want to delete this redirect?" +msgstr "Ertu viss um að þú viljir eyða þessari tilvísun?" + +msgid "Yes, delete" +msgstr "Já, eyða" + +#, python-format +msgid "Editing %(title)s" +msgstr "Breyti %(title)s" + +msgid "Editing" +msgstr "Breyti" + +msgid "Delete redirect" +msgstr "Eyða tilvísun" + +msgid "Redirects" +msgstr "Tilvísanir" + +msgid "From" +msgstr "Frá" + +msgid "To" +msgstr "Til" + +msgid "Type" +msgstr "Tegund" + +msgid "Edit this redirect" +msgstr "Breyta þessari tilvísun" + +msgid "Search redirects" +msgstr "Leita í tilvísunum" + +msgid "Edit" +msgstr "Breyta" + +msgid "The redirect could not be saved due to errors." +msgstr "" +"Ekki var hægt að búa til tilvísunina þar sem hún stóðst ekki villuprófanir" + +msgid "The redirect could not be created due to errors." +msgstr "" +"Ekki var hægt að búa til tilvísunina þar sem hún stóðst ekki villuprófanir" diff --git a/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.mo index ccadc001d..41b91fdec 100644 Binary files a/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.po index d5d291a10..e76ac7893 100644 --- a/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 08:59+0000\n" "Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..638fa3b4f Binary files /dev/null and b/wagtail/wagtailredirects/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..e2d584ad0 --- /dev/null +++ b/wagtail/wagtailredirects/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,143 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-07-23 12:30+0000\n" +"Last-Translator: Ji Han Chung \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Redirect from" +msgstr "리다이렉트 출처" + +msgid "Site" +msgstr "사이트" + +msgid "Permanent" +msgstr "영구적" + +msgid "" +"Recommended. Permanent redirects ensure search engines forget the old page " +"(the 'Redirect from') and index the new page instead." +msgstr "" +"권장사항입니다. 영구적인 리다이렉트는 검색 엔진이 오래된 페이지('리다이렉트 " +"출처')를 찾지 않도록 하며, 대신 새로운 페이지를 검색 하도록 합니다." + +msgid "Redirect to a page" +msgstr "페이지로 리다이렉트" + +msgid "Redirect to any URL" +msgstr "어떠한 URL로도 리다이렉트" + +msgid "Redirect" +msgstr "리다이렉트" + +msgid "Add redirect" +msgstr "리다이렉트 추가" + +msgid "Save" +msgstr "저장" + +#, python-format +msgid "Delete redirect %(title)s" +msgstr "%(title)s 리다이렉트 삭제" + +msgid "Delete" +msgstr "삭제" + +msgid "Are you sure you want to delete this redirect?" +msgstr "선택한 리다이렉트를 정말 삭제할까요?" + +msgid "Yes, delete" +msgstr "네, 지우겠습니다." + +#, python-format +msgid "Editing %(title)s" +msgstr "%(title)s 수정" + +msgid "Editing" +msgstr "수정중" + +msgid "Delete redirect" +msgstr "리다이렉트 삭제" + +msgid "Redirects" +msgstr "리다이렉트" + +msgid "From" +msgstr "로부터" + +msgid "To" +msgstr "에게" + +msgid "Type" +msgstr "타입" + +msgid "Edit this redirect" +msgstr "이 리다이렉트 수정" + +msgid "primary" +msgstr "중요한" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"%(counter)s 개의 연관된 결과가 있습니다" + +#, python-format +msgid "Sorry, no redirects match \"%(query_string)s\"" +msgstr "" +"죄송합니다. \"%(query_string)s\" 와 연관된 리다이렉트 결과가 없습니" +"다." + +#, python-format +msgid "" +"No redirects have been created. Why not add one?" +msgstr "" +"리다이렉트가 생성되지 않았습니다. 지금 리다이렉트를 추가 해 보시는건 어떨까요?" + +msgid "Search redirects" +msgstr "리다이렉트 검색" + +#, python-brace-format +msgid "Redirect '{0}' updated." +msgstr "'{0}' 리다이렉트가 업데이트 되었습니다." + +msgid "Edit" +msgstr "수정" + +msgid "The redirect could not be saved due to errors." +msgstr "에러로 인해 리다이렉트를 저장할 수 없습니다." + +#, python-brace-format +msgid "Redirect '{0}' deleted." +msgstr "'{0}' 리다이렉트가 삭제 되었습니다." + +#, python-brace-format +msgid "Redirect '{0}' added." +msgstr "'{0}' 리다이렉트가 추가 되었습니다." + +msgid "The redirect could not be created due to errors." +msgstr "에러로 인해 리다이렉트를 생성할 수 없습니다." diff --git a/wagtail/wagtailredirects/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..4f71bc36d Binary files /dev/null and b/wagtail/wagtailredirects/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..3f8e4a004 --- /dev/null +++ b/wagtail/wagtailredirects/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,147 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 14:42+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Redirect from" +msgstr "Videresend fra" + +msgid "Site" +msgstr "Nettsted" + +msgid "Permanent" +msgstr "Permanent" + +msgid "" +"Recommended. Permanent redirects ensure search engines forget the old page " +"(the 'Redirect from') and index the new page instead." +msgstr "" +"Anbefales. Permanent videresending sørger for at søkemotorer glemmer den " +"gamle siden (\"Videresend fra\") og indekserer den nye siden i stedet." + +msgid "Redirect to a page" +msgstr "Videresend til en side" + +msgid "Redirect to any URL" +msgstr "Videresend til URL" + +msgid "Redirect" +msgstr "Videresending" + +msgid "Add redirect" +msgstr "Legg til videresending" + +msgid "Save" +msgstr "Lagre" + +#, python-format +msgid "Delete redirect %(title)s" +msgstr "Slett videresending %(title)s" + +msgid "Delete" +msgstr "Slett" + +msgid "Are you sure you want to delete this redirect?" +msgstr "Er du sikker på at du vil slette denne videresendingen?" + +msgid "Yes, delete" +msgstr "Ja, slett" + +#, python-format +msgid "Editing %(title)s" +msgstr "Endrer %(title)s" + +msgid "Editing" +msgstr "Endrer" + +msgid "Delete redirect" +msgstr "Slett videresending" + +msgid "Redirects" +msgstr "Videresendinger" + +msgid "From" +msgstr "Fra" + +msgid "To" +msgstr "Til" + +msgid "Type" +msgstr "Type" + +msgid "Edit this redirect" +msgstr "Endre denne videresendingen" + +msgid "primary" +msgstr "primær" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Det er ett treff\n" +" " +msgstr[1] "" +"\n" +"Det er %(counter)s treff\n" +" " + +#, python-format +msgid "Sorry, no redirects match \"%(query_string)s\"" +msgstr "" +"Beklager, ingen videresendinger samsvarer med \"%(query_string)s\"" + +#, python-format +msgid "" +"No redirects have been created. Why not add one?" +msgstr "" +"Ingen videresendinger har blitt opprettet . Hvorfor ikke legge til en?" + +msgid "Search redirects" +msgstr "Videresendinger for søk" + +#, python-brace-format +msgid "Redirect '{0}' updated." +msgstr "Videresendingen \"{0}\" er oppdatert." + +msgid "Edit" +msgstr "Endre" + +msgid "The redirect could not be saved due to errors." +msgstr "Videresendingen kunne ikke lagres grunnet feil." + +#, python-brace-format +msgid "Redirect '{0}' deleted." +msgstr "Videresendingen \"{0}\" er slettet." + +#, python-brace-format +msgid "Redirect '{0}' added." +msgstr "Videresendingen \"{0}\" er lagt til." + +msgid "The redirect could not be created due to errors." +msgstr "Videresendingen kunne ikke opprettes grunnet feil." diff --git a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo index f59877d25..13dc6564a 100644 Binary files a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po index 1775f5448..b2933b059 100644 --- a/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/pl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.mo index 041021cee..d959d2096 100644 Binary files a/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.po index 22680b32b..e0eb6bcf3 100644 --- a/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/pt_BR/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 11:37+0000\n" "Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.mo index b3a5d90ca..2896972bd 100644 Binary files a/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.po index 0b4bc0cc1..c384f5e7d 100644 --- a/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/pt_PT/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-29 17:26+0000\n" "Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.mo index 1cfc69148..4066b21a6 100644 Binary files a/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.po index 1c9f9f13b..c4bbadbe8 100644 --- a/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/ro/LC_MESSAGES/django.po @@ -9,11 +9,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.mo index 608373443..7f729605b 100644 Binary files a/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.po index 138f46051..7c5951d58 100644 --- a/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/ru/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-28 07:06+0000\n" "Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.mo index 731896ee8..8935613a2 100644 Binary files a/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.po index f871845cb..e87332f51 100644 --- a/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/zh/LC_MESSAGES/django.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.mo index 6c80593db..07814ff4d 100644 Binary files a/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.po index f64828e86..08d179e24 100644 --- a/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailredirects/locale/zh_CN/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 17:09+0000\n" "Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailredirects/models.py b/wagtail/wagtailredirects/models.py index 88d40c23e..48a43346a 100644 --- a/wagtail/wagtailredirects/models.py +++ b/wagtail/wagtailredirects/models.py @@ -40,6 +40,9 @@ class Redirect(models.Model): @staticmethod def normalise_path(url): + # Strip whitespace + url = url.strip() + # Parse url url_parsed = urlparse(url) diff --git a/wagtail/wagtailredirects/tests.py b/wagtail/wagtailredirects/tests.py index 884ceb681..402100dec 100644 --- a/wagtail/wagtailredirects/tests.py +++ b/wagtail/wagtailredirects/tests.py @@ -20,6 +20,8 @@ class TestRedirects(TestCase): self.assertEqual(path, normalise_path('Hello/world.html/?foo=Bar&Baz=quux2')) # Trailing slashes are ignored self.assertEqual(path, normalise_path('/Hello/world.html?foo=Bar&Baz=quux2#cool')) # Fragments are ignored self.assertEqual(path, normalise_path('/Hello/world.html?Baz=quux2&foo=Bar')) # Order of query string parameters are ignored + self.assertEqual(path, normalise_path(' /Hello/world.html?foo=Bar&Baz=quux2')) # Leading whitespace + self.assertEqual(path, normalise_path('/Hello/world.html?foo=Bar&Baz=quux2 ')) # Trailing whitespace # Test against different paths self.assertNotEqual(path, normalise_path('/hello/world.html?foo=Bar&Baz=quux2')) # 'hello' is lowercase @@ -119,6 +121,7 @@ class TestRedirectsAddView(TestCase, WagtailTestUtils): redirects = models.Redirect.objects.filter(old_path='/test') self.assertEqual(redirects.count(), 1) self.assertEqual(redirects.first().redirect_link, 'http://www.test.com/') + self.assertEqual(redirects.first().site, None) def test_add_validation_error(self): response = self.post({ diff --git a/wagtail/wagtailredirects/views.py b/wagtail/wagtailredirects/views.py index 9f787a5fe..c07a7a28a 100644 --- a/wagtail/wagtailredirects/views.py +++ b/wagtail/wagtailredirects/views.py @@ -1,5 +1,4 @@ from django.shortcuts import render, redirect, get_object_or_404 -from django.contrib.auth.decorators import permission_required from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.utils.translation import ugettext as _ from django.views.decorators.vary import vary_on_headers @@ -7,6 +6,7 @@ from django.core.urlresolvers import reverse from wagtail.wagtailadmin.edit_handlers import ObjectList from wagtail.wagtailadmin.forms import SearchForm +from wagtail.wagtailadmin.utils import permission_required, any_permission_required from wagtail.wagtailadmin import messages from wagtail.wagtailredirects import models @@ -15,7 +15,7 @@ from wagtail.wagtailredirects import models REDIRECT_EDIT_HANDLER = ObjectList(models.Redirect.content_panels).bind_to_model(models.Redirect) -@permission_required('wagtailredirects.change_redirect') +@any_permission_required('wagtailredirects.add_redirect', 'wagtailredirects.change_redirect', 'wagtailredirects.delete_redirect') @vary_on_headers('X-Requested-With') def index(request): page = request.GET.get('p', 1) @@ -86,7 +86,7 @@ def edit(request, redirect_id): }) -@permission_required('wagtailredirects.change_redirect') +@permission_required('wagtailredirects.delete_redirect') def delete(request, redirect_id): theredirect = get_object_or_404(models.Redirect, id=redirect_id) @@ -100,7 +100,7 @@ def delete(request, redirect_id): }) -@permission_required('wagtailredirects.change_redirect') +@permission_required('wagtailredirects.add_redirect') def add(request): theredirect = models.Redirect() @@ -108,9 +108,7 @@ def add(request): if request.POST: form = form_class(request.POST, request.FILES) if form.is_valid(): - theredirect = form.save(commit=False) - theredirect.site = request.site - theredirect.save() + theredirect = form.save() messages.success(request, _("Redirect '{0}' added.").format(theredirect.title), buttons=[ messages.button(reverse('wagtailredirects:edit', args=(theredirect.id,)), _('Edit')) diff --git a/wagtail/wagtailredirects/wagtail_hooks.py b/wagtail/wagtailredirects/wagtail_hooks.py index 03f4eb845..3de51c4af 100644 --- a/wagtail/wagtailredirects/wagtail_hooks.py +++ b/wagtail/wagtailredirects/wagtail_hooks.py @@ -1,6 +1,7 @@ from django.core import urlresolvers from django.conf.urls import include, url from django.utils.translation import ugettext_lazy as _ +from django.contrib.auth.models import Permission from wagtail.wagtailcore import hooks from wagtail.wagtailredirects import urls @@ -17,9 +18,19 @@ def register_admin_urls(): class RedirectsMenuItem(MenuItem): def is_shown(self, request): - # TEMPORARY: Only show if the user is a superuser - return request.user.is_superuser + return ( + request.user.has_perm('wagtailredirects.add_redirect') + or request.user.has_perm('wagtailredirects.change_redirect') + or request.user.has_perm('wagtailredirects.delete_redirect') + ) + @hooks.register('register_settings_menu_item') def register_redirects_menu_item(): return RedirectsMenuItem(_('Redirects'), urlresolvers.reverse('wagtailredirects:index'), classnames='icon icon-redirect', order=800) + + +@hooks.register('register_permissions') +def register_permissions(): + return Permission.objects.filter(content_type__app_label='wagtailredirects', + codename__in=['add_redirect', 'change_redirect', 'delete_redirect']) diff --git a/wagtail/wagtailsearch/backends/db.py b/wagtail/wagtailsearch/backends/db.py index 2e789973e..e7e32fce0 100644 --- a/wagtail/wagtailsearch/backends/db.py +++ b/wagtail/wagtailsearch/backends/db.py @@ -22,10 +22,12 @@ class DBSearchQuery(BaseSearchQuery): return q - def get_q(self): - # Get filters as a q object - q = self._get_filters_from_queryset() + def get_extra_q(self): + # Run _get_filters_from_queryset to test that no fields that are not + # a FilterField have been used in the query. + self._get_filters_from_queryset() + q = models.Q() model = self.queryset.model if self.query_string is not None: @@ -57,10 +59,10 @@ class DBSearchQuery(BaseSearchQuery): class DBSearchResults(BaseSearchResults): def get_queryset(self): - model = self.query.queryset.model - q = self.query.get_q() + queryset = self.query.queryset + q = self.query.get_extra_q() - return model.objects.filter(q).distinct()[self.start:self.stop] + return queryset.filter(q).distinct()[self.start:self.stop] def _do_search(self): return self.get_queryset() diff --git a/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.mo index c925cc5ba..40b9d0f4f 100644 Binary files a/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.po index 3c045cff5..1c30c278a 100644 --- a/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/bg/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -22,68 +22,6 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Дума/Фраза за търсене" -msgid "Add editor's pick" -msgstr "Добави \"Избрано от Редактора\"" - -msgid "Save" -msgstr "Запази" - -#, python-format -msgid "Delete %(query)s" -msgstr "Изтрий %(query)s" - -msgid "Delete" -msgstr "Изтрий" - -msgid "Yes, delete" -msgstr "Да, изтрий го" - -#, python-format -msgid "Editing %(query)s" -msgstr "Редакция на %(query)s" - -msgid "Editing" -msgstr "Редактиране" - -msgid "Move up" -msgstr "Нагоре" - -msgid "Move down" -msgstr "Надолу" - -msgid "Add recommended page" -msgstr "Добави препоръчана страница" - -msgid "Search Terms" -msgstr "Фрази за търсене" - -msgid "Search term(s)" -msgstr "Дума/Фраза за търсене" - -msgid "Views (past week)" -msgstr "Преглед (последната седмица)" - -msgid "None" -msgstr "Нищо" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" Има едно съвпадение\n" -" " -msgstr[1] "" -"\n" -" Има %(counter)s съвпадения\n" -" " - msgid "Popular search terms" msgstr "Популярни думи за търсене" @@ -93,5 +31,8 @@ msgstr "Търсене" msgid "Terms" msgstr "Думи" +msgid "Views (past week)" +msgstr "Преглед (последната седмица)" + msgid "No results found" msgstr "Не са намерени резултати" diff --git a/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.mo index c8c12b4e6..b237947d1 100644 Binary files a/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.po index 6655034dc..b0c09df5f 100644 --- a/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/ca/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,69 +22,6 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Cerca paraula(es)/frases" -msgid "Add editor's pick" -msgstr "afegeix selecció dels editors" - -msgid "Save" -msgstr "Desa" - -#, python-format -msgid "Delete %(query)s" -msgstr "Esborra %(query)s" - -msgid "Delete" -msgstr "Esborra" - -msgid "Yes, delete" -msgstr "Si, esborra" - -#, python-format -msgid "Editing %(query)s" -msgstr "Editant %(query)s" - -msgid "Editing" -msgstr "Editant" - -msgid "Move up" -msgstr "Puja" - -msgid "Move down" -msgstr "Baixa" - -msgid "Add recommended page" -msgstr "Afegeix una pàgina recomanada" - -msgid "Search Terms" -msgstr "Termini de cerca" - -msgid "Search term(s)" -msgstr "Cerca paraula(es)" - -msgid "Views (past week)" -msgstr "Vistes(la setmana pasada)" - -msgid "Edit this pick" -msgstr "Edita aquesta selecció" - -msgid "None" -msgstr "Cap" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -"Hi ha una coincidència" -msgstr[1] "" -"\n" -"Hi han %(counter)s coincidències" - msgid "Popular search terms" msgstr "terminis de cerca populars" @@ -94,19 +31,8 @@ msgstr "Cercar" msgid "Terms" msgstr "Termes" +msgid "Views (past week)" +msgstr "Vistes(la setmana pasada)" + msgid "No results found" msgstr "No s'han trobat resultats" - -msgid "Search editor's picks" -msgstr "Cercar selecció del editor" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Selecció de l'editor per a '{0}' creada." - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Selecció de l'editor per '{0}' actualitzada." - -msgid "Editor's picks deleted." -msgstr "Selecció de l'editor esborrada." diff --git a/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.mo index cd2a48804..db3d6b39b 100644 Binary files a/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.po index 36001c0be..2b9f51fb5 100644 --- a/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/de/LC_MESSAGES/django.po @@ -13,10 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-28 22:38+0000\n" -"Last-Translator: Tammo van Lessen \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,154 +27,6 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Suchbegriffe/Phrase" -msgid "" -"Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." -msgstr "" -"Geben sie den vollständigen Suchbegriff ein.Um ihre Redaktionsempfehlungen " -"anzuzeigen, wird eine genaue Übereinstimmung benötigt.Wildcards sind NICHT " -"erlaubt." - -msgid "Please specify at least one recommendation for this search term." -msgstr "Bitte geben Sie mindestens einen Vorschlag für diesen Suchbegriff an." - -msgid "Page" -msgstr "Seite" - -msgid "Description" -msgstr "Beschreibung" - -msgid "Editor's Pick" -msgstr "Redaktionsempfehlung" - -msgid "Add editor's pick" -msgstr "Redaktionsempfehlung hinzufügen" - -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" -"\n" -"

    Hervorgehobene Suchergebnisse sind eine Möglichkeit, bestimmte " -"Seiten zu empfehlen die von sich aus nicht sehr weit oben in den " -"Suchergebnissen auftauchen würden. So könnte zum Beispiel ihre Spendenseite " -"auftauchen wenn nach dem Suchbegriff \"unterstützen\" gesucht wird." -"

    \n" -" " - -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"

    Im Eingabefeld \"Suchbegriffe/Phrasen\" müssen sie den " -"vollständigen und genauen Suchbegriff, inklusive eventueller " -"Rechtschreibfehler, eingeben, für den sie Seiten empfehlen möchten. Zur " -"Unterstützung können sie aus häufig verwendeten Suchbegriffen wählen.

    \n" -" " - -msgid "Save" -msgstr "Speichern" - -#, python-format -msgid "Delete %(query)s" -msgstr "%(query)s löschen" - -msgid "Delete" -msgstr "Löschen" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"Sind Sie sicher, dass Sie alle hervorgehobenen Suchergebnisse für diesen " -"Suchbegriff löschen wollen?" - -msgid "Yes, delete" -msgstr "Ja, löschen" - -#, python-format -msgid "Editing %(query)s" -msgstr "%(query)s bearbeiten" - -msgid "Editing" -msgstr "Bearbeiten" - -msgid "Move up" -msgstr "Nach oben" - -msgid "Move down" -msgstr "Nach unten" - -msgid "Promoted search result" -msgstr "Hervorgehobenes Suchergebnis" - -msgid "Add recommended page" -msgstr "Empfohlene Seite hinzufügen" - -msgid "Search Terms" -msgstr "Suchbegriffe" - -msgid "Promoted search results" -msgstr "Hervorgehobene Suchergebnisse" - -msgid "Add new promoted result" -msgstr "Neues hervorgehobenes Suchergebnis hinzufügen" - -msgid "Search term(s)" -msgstr "Suchbegriff/e" - -msgid "Promoted results" -msgstr "Hervorgehobene Suchergebnisse" - -msgid "Views (past week)" -msgstr "Aufrufe (letze Woche)" - -msgid "Edit this pick" -msgstr "Diese Empfehlung bearbeiten" - -msgid "None" -msgstr "Keine" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" Es gibt ein Ergebnis\n" -" " -msgstr[1] "" -"\n" -" Es gibt %(counter)s Ergebnisse\n" -" " - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" -"Leider gibt es keine hervorgehobenen Suchergebnisse, die zu \"" -"%(query_string)s\" passen." - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Es wurden keine hervorgehobenen Suchbegriffe angelegt. Warum fügen Sie nicht einen hinzu?" - msgid "Popular search terms" msgstr "Häufige Suchbegriffe" @@ -184,6 +36,9 @@ msgstr "Suche" msgid "Terms" msgstr "Begriffe" +msgid "Views (past week)" +msgstr "Aufrufe (letze Woche)" + msgid "No results found" msgstr "Keine Ergebnisse gefunden" @@ -192,26 +47,3 @@ msgstr "Datum" msgid "Choose from popular search terms" msgstr "Wählen Sie aus populären Suchbegriffen" - -msgid "Search editor's picks" -msgstr "Nach Redaktionsempfehlungen suchen" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Redaktionsempfehlungen für '{0}' erstellt." - -msgid "Edit" -msgstr "Bearbeiten" - -msgid "Recommendations have not been created due to errors" -msgstr "Empfehlungen konnten wegen eines Fehlers nicht erstellt werden" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Redaktionsempfehlungen für '{0}' geändert." - -msgid "Recommendations have not been saved due to errors" -msgstr "Empfehlungen wurden wegen eines Fehlers nicht gespeichert" - -msgid "Editor's picks deleted." -msgstr "Redaktionsempfehlungen gelöscht." diff --git a/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.mo index 0ebca7b8d..030c306e5 100644 Binary files a/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.po index 217c7ee71..bc4002fda 100644 --- a/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/el/LC_MESSAGES/django.po @@ -5,15 +5,16 @@ # Translators: # serafeim , 2014 # serafeim , 2014 +# dotoree , 2015 # Wasilis Mandratzis-Walz, 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,141 +25,8 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Όροι/φράση αναζήτησης" -msgid "" -"Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." -msgstr "" -"Συμπληρώστε το πλήρες κείμενο για αναζήτηση.\n" -"Για να εμφανιστεί η επιλογή των συντακτών σας\n" -"απαιτείται ακριβές ταίριασμα, δεν επιτρέπονται\n" -"αστεράκια." - -msgid "Please specify at least one recommendation for this search term." -msgstr "" -"Παρακαλείστε να διευκρινίσετε τουλάχιστον μία σύσταση για αυτόν τον όρο " -"αναζήτησης." - -msgid "Add editor's pick" -msgstr "Προσθήκη επιλογής συντακτών" - -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" -"\n" -"

    Οι επιλογές συντακτών είναι ένας τρόπος πρότασης συγκεκριμένων σελίδων οι " -"οποίες κανονικά δε θα βρίσκονται ψηλά στα αποτελέσματα της αναζήτησης.

    " - -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"\n" -"

    Το πεδίο \"όρος(οι)/φράσεις\" παρακάτω πρέπει να περιέχει το πλήρες και " -"ακριβές κείμενο για το οποίο θέλετε να παρέχετε προτεινόμενα αποτελέσματα, " -"συμπεριλαμβανομένων τυχόν ορθογραφικών λαθών. Προς βοήθεια, " -"μπορείτε να επιλέξετε όρους αναζήτησης που ήταν δημοφιλείς στους χρήστες.

    " - -msgid "Save" -msgstr "Αποθήκευση" - -#, python-format -msgid "Delete %(query)s" -msgstr "Διαγραφή %(query)s" - -msgid "Delete" -msgstr "Διαγραφή" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"Είστε σίγουρος ότι θέλετε να διαγράψετε όλες τις επιλογές συντακτών για τον " -"εν λόγω όρο αναζήτησης;" - -msgid "Yes, delete" -msgstr "Ναι, να διαγραφεί" - -#, python-format -msgid "Editing %(query)s" -msgstr "Επεξεργασία %(query)s" - -msgid "Editing" -msgstr "Διόρθωση" - -msgid "Move up" -msgstr "Πάνω" - -msgid "Move down" -msgstr "Κάτω" - -msgid "Promoted search result" -msgstr "Προωθείται το αποτέλεσμα αναζήτησης" - -msgid "Add recommended page" -msgstr "Προσθήκη προτεινόμενης σελίδας" - -msgid "Search Terms" -msgstr "Όροι αναζήτησης" - -msgid "Promoted search results" -msgstr "Προωθουνται τα αποτέλεσματα αναζήτησης" - -msgid "Add new promoted result" -msgstr "Προσθήκη νέου προωθείμενου αποτελέσματος" - -msgid "Search term(s)" -msgstr "Όροι αναζήτησης" - -msgid "Promoted results" -msgstr "Προωθημενα αποτελέσματα" - -msgid "Views (past week)" -msgstr "Εμφανίσεις (την περασμένη εβδομάδα)" - -msgid "Edit this pick" -msgstr "Διόρθωση" - -msgid "None" -msgstr "Καμία" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -"Βρέθηκε ένα αποτέλεσμα" -msgstr[1] "" -"\n" -"Βρέθηκαν %(counter)s αποτελέσματα" - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" -"Λυπούμαστε, καμία ανακατεύθυνση δε ταιριάζει με το \"%(query_string)s\"" - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Δεν υπάρχουν επιλογές συντακτών. Θέλετε να προσθέσετε μία;" +msgid "Query Daily Hits" +msgstr "Καθημερινές Εμφανίσεις Ερωτημάτων" msgid "Popular search terms" msgstr "Δημοφιλείς όροι αναζήτησης" @@ -169,6 +37,9 @@ msgstr "Αναζήτηση" msgid "Terms" msgstr "Όροι" +msgid "Views (past week)" +msgstr "Εμφανίσεις (την περασμένη εβδομάδα)" + msgid "No results found" msgstr "Δε βρέθηκαν αποτελέσματα" @@ -177,26 +48,3 @@ msgstr "Ημερομηνία" msgid "Choose from popular search terms" msgstr "Επιλέξτε από δημοφιλείς όρους αναζήτησης" - -msgid "Search editor's picks" -msgstr "Αναζήτηση επιλογών συντακτών" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Επιτυχής δημιουργία επιλογή συντακτών για το '{0}'." - -msgid "Edit" -msgstr "Επεξεργασία" - -msgid "Recommendations have not been created due to errors" -msgstr "Οι συστάσεις δεν έχουν δημιουργηθεί λόγω σφαλμάτων" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Επιτυχής διόθρωση επιλογής συντακτών για το '{0}'." - -msgid "Recommendations have not been saved due to errors" -msgstr "Οι συστάσεις δεν έχουν αποθηκευτεί λόγω σφαλμάτων" - -msgid "Editor's picks deleted." -msgstr "Επιτυχής διαγραφή επιλογής συντακτών." diff --git a/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.po index 38ee3cb37..56dce1413 100644 --- a/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,169 +17,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: forms.py:10 +#: forms.py:6 msgid "Search term(s)/phrase" msgstr "" -#: forms.py:11 +#: forms.py:7 msgid "" "Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." -msgstr "" - -#: forms.py:38 -msgid "Please specify at least one recommendation for this search term." +"Promoted Results to be displayed, wildcards are NOT allowed." msgstr "" #: models.py:73 msgid "Query Daily Hits" msgstr "" -#: models.py:78 -msgid "Page" -msgstr "" - -#: models.py:80 -msgid "Description" -msgstr "" - -#: models.py:87 -msgid "Editor's Pick" -msgstr "" - -#: templates/wagtailsearch/editorspicks/add.html:3 -#: templates/wagtailsearch/editorspicks/add.html:5 -msgid "Add editor's pick" -msgstr "" - -#: templates/wagtailsearch/editorspicks/add.html:10 -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" - -#: templates/wagtailsearch/editorspicks/add.html:14 -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" - -#: templates/wagtailsearch/editorspicks/add.html:28 -#: templates/wagtailsearch/editorspicks/edit.html:19 -msgid "Save" -msgstr "" - -#: templates/wagtailsearch/editorspicks/confirm_delete.html:3 -#, python-format -msgid "Delete %(query)s" -msgstr "" - -#: templates/wagtailsearch/editorspicks/confirm_delete.html:5 -#: templates/wagtailsearch/editorspicks/edit.html:20 -#: templates/wagtailsearch/editorspicks/includes/editorspicks_form.html:6 -msgid "Delete" -msgstr "" - -#: templates/wagtailsearch/editorspicks/confirm_delete.html:9 -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" - -#: templates/wagtailsearch/editorspicks/confirm_delete.html:12 -msgid "Yes, delete" -msgstr "" - -#: templates/wagtailsearch/editorspicks/edit.html:3 -#, python-format -msgid "Editing %(query)s" -msgstr "" - -#: templates/wagtailsearch/editorspicks/edit.html:5 -msgid "Editing" -msgstr "" - -#: templates/wagtailsearch/editorspicks/includes/editorspicks_form.html:4 -msgid "Move up" -msgstr "" - -#: templates/wagtailsearch/editorspicks/includes/editorspicks_form.html:5 -msgid "Move down" -msgstr "" - -#: templates/wagtailsearch/editorspicks/includes/editorspicks_form.html:10 -msgid "Promoted search result" -msgstr "" - -#: templates/wagtailsearch/editorspicks/includes/editorspicks_formset.html:16 -msgid "Add recommended page" -msgstr "" - -#: templates/wagtailsearch/editorspicks/index.html:3 -msgid "Search Terms" -msgstr "" - -#: templates/wagtailsearch/editorspicks/index.html:17 wagtail_hooks.py:25 -msgid "Promoted search results" -msgstr "" - -#: templates/wagtailsearch/editorspicks/index.html:18 -msgid "Add new promoted result" -msgstr "" - -#: templates/wagtailsearch/editorspicks/list.html:8 -msgid "Search term(s)" -msgstr "" - -#: templates/wagtailsearch/editorspicks/list.html:9 -msgid "Promoted results" -msgstr "" - -#: templates/wagtailsearch/editorspicks/list.html:10 -#: templates/wagtailsearch/queries/chooser/results.html:8 -msgid "Views (past week)" -msgstr "" - -#: templates/wagtailsearch/editorspicks/list.html:17 -msgid "Edit this pick" -msgstr "" - -#: templates/wagtailsearch/editorspicks/list.html:23 -msgid "None" -msgstr "" - -#: templates/wagtailsearch/editorspicks/results.html:5 -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -msgstr[1] "" - -#: templates/wagtailsearch/editorspicks/results.html:18 -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" - -#: templates/wagtailsearch/editorspicks/results.html:21 -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" - #: templates/wagtailsearch/queries/chooser/chooser.html:2 msgid "Popular search terms" msgstr "" @@ -192,6 +43,10 @@ msgstr "" msgid "Terms" msgstr "" +#: templates/wagtailsearch/queries/chooser/results.html:8 +msgid "Views (past week)" +msgstr "" + #: templates/wagtailsearch/queries/chooser/results.html:22 msgid "No results found" msgstr "" @@ -203,33 +58,3 @@ msgstr "" #: templates/wagtailsearch/queries/chooser_field.html:8 msgid "Choose from popular search terms" msgstr "" - -#: views/editorspicks.py:46 -msgid "Search editor's picks" -msgstr "" - -#: views/editorspicks.py:81 -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "" - -#: views/editorspicks.py:82 views/editorspicks.py:117 -msgid "Edit" -msgstr "" - -#: views/editorspicks.py:89 -msgid "Recommendations have not been created due to errors" -msgstr "" - -#: views/editorspicks.py:116 -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "" - -#: views/editorspicks.py:124 -msgid "Recommendations have not been saved due to errors" -msgstr "" - -#: views/editorspicks.py:142 -msgid "Editor's picks deleted." -msgstr "" diff --git a/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.mo index 1f200a5aa..d8e085006 100644 Binary files a/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.po index 7790a03e5..97390da34 100644 --- a/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/es/LC_MESSAGES/django.po @@ -13,10 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-22 02:15+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-27 01:27+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,156 +29,16 @@ msgstr "Término(s)/frase de búsqueda" msgid "" "Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." +"Promoted Results to be displayed, wildcards are NOT allowed." msgstr "" "Introduce la cadena completa de búsqueda a encontrar. Es \n" " necesaria una coincidencia exacta para que tus Selecciones del " "Editor sean \n" " mostradas, los comodines NO están permitidos." -msgid "Please specify at least one recommendation for this search term." -msgstr "" -"Por favor, especifique al menos una recomendación para este término de " -"búsqueda." - msgid "Query Daily Hits" msgstr "Consultas de acceso diarias" -msgid "Page" -msgstr "Página" - -msgid "Description" -msgstr "Descripción" - -msgid "Editor's Pick" -msgstr "Selección del editor" - -msgid "Add editor's pick" -msgstr "Añadir selección del editor" - -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" -"\n" -"

    Resultados promovidos son medios para recomendar páginas específicas que " -"pueden no aparecer en los primeros puestos de los resultados de búsqueda. " -"Por ejemplo: recomendar un sitio de donaciones utilizando términos menos " -"frecuentes como \"donar\".

    " - -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"

    El campo de \"término(s) de búsqueda/frase\", debe contener la búsqueda " -"completa y exacta para que se proporcionen los resultados recomendados, " -"incluyendo cualquier error de ortografía o error accidental del " -"usuario. Para ayudarte, puedes elegir entre los términos de búsqueda que han " -"sido más populares entre los usuarios de su sitio.

    " - -msgid "Save" -msgstr "Guardar" - -#, python-format -msgid "Delete %(query)s" -msgstr "Eliminar %(query)s" - -msgid "Delete" -msgstr "Eliminar" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"¿Esta seguro de querer borrar todos los resultados promocionados para este " -"termino de busqueda?" - -msgid "Yes, delete" -msgstr "Sí, eliminar" - -#, python-format -msgid "Editing %(query)s" -msgstr "Editando %(query)s" - -msgid "Editing" -msgstr "Editando" - -msgid "Move up" -msgstr "Subir" - -msgid "Move down" -msgstr "Bajar" - -msgid "Promoted search result" -msgstr "Resultados de busqueda promocionados" - -msgid "Add recommended page" -msgstr "Añadir página recomendada" - -msgid "Search Terms" -msgstr "Términos de búsqueda" - -msgid "Promoted search results" -msgstr "Resultados de busqueda promocionados" - -msgid "Add new promoted result" -msgstr "Agregar nuevo resultado promocionado" - -msgid "Search term(s)" -msgstr "Término(s) de búsqueda" - -msgid "Promoted results" -msgstr "Resultados promocionados" - -msgid "Views (past week)" -msgstr "Vistas (semana pasada)" - -msgid "Edit this pick" -msgstr "Editar esta selección" - -msgid "None" -msgstr "Ninguna" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" Hay una coincidencia\n" -" " -msgstr[1] "" -"\n" -" Hay %(counter)s coincidencias\n" -" " - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" -"Lo sentimos, resultados promovidos no encontrados \"%(query_string)s" -"\"" - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Resultados promovidos no han sido creados. ¿Por que no agregar uno?" - msgid "Popular search terms" msgstr "Términos de búsqueda popular" @@ -188,6 +48,9 @@ msgstr "Buscar" msgid "Terms" msgstr "Términos" +msgid "Views (past week)" +msgstr "Vistas (semana pasada)" + msgid "No results found" msgstr "No hay resultados" @@ -196,26 +59,3 @@ msgstr "Fecha" msgid "Choose from popular search terms" msgstr "Escoger de los términos de búsqueda populares" - -msgid "Search editor's picks" -msgstr "Buscar selecciones del editor" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Selecciones del editor para '{0}' creadas." - -msgid "Edit" -msgstr "Editar" - -msgid "Recommendations have not been created due to errors" -msgstr "Las recomendaciones no han sido creadas debido a errores " - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Selecciones del editor para '{0}' actualizadas." - -msgid "Recommendations have not been saved due to errors" -msgstr "Las recomendaciones no han sido guardadas debido a errores" - -msgid "Editor's picks deleted." -msgstr "Selecciones del editor para '{0}' eliminadas." diff --git a/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.mo index 2d3820dfb..1c1fdea45 100644 Binary files a/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.po index 630d3c1aa..10390e4b7 100644 --- a/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/fr/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 15:57+0000\n" -"Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,158 +25,9 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Terme(s)/phrase de recherche" -msgid "" -"Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." -msgstr "" -"Entrer la chaîne complète de recherche à utiliser. Une correspondance exacte " -"est obligatoire pour que votre résultat soit affiché, les caractères \"joker" -"\" ne sont pas autorisés." - -msgid "Please specify at least one recommendation for this search term." -msgstr "" -"Veuillez spécifier au moins une recommandation pour ce terme de recherche." - msgid "Query Daily Hits" msgstr "Nombre de requêtes journalières" -msgid "Page" -msgstr "Page" - -msgid "Description" -msgstr "Description" - -msgid "Editor's Pick" -msgstr "Résultat amélioré" - -msgid "Add editor's pick" -msgstr "Ajouter un résultat amélioré" - -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" -"\n" -"

    Les résultats améliorés sont un moyen de recommander des " -"pages spécifiques qui ne seraient pas arrivées naturellement en haut des " -"résultats de recherche. Ex: associer votre page de \"soutient\" à une " -"recherche utilisateur avec un terme moins explicite comme \"donner" -"\".

    \n" -" " - -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"

    Le champ \"Terme(s)/phrase de recherche\" ci-dessous doit " -"contenir la recherche complète et exacte pour laquelle vous souhaitez " -"fournir des résultats recommandés, ce qui comprend n'importe quelle " -"faute de frappe/erreur de l'utilisateur. Pour vous aider, vous pouvez " -"choisir parmi les termes de recherche populaires des utilisateurs de votre " -"site.

    \n" -" " - -msgid "Save" -msgstr "Enregistrer" - -#, python-format -msgid "Delete %(query)s" -msgstr "Supprimée %(query)s" - -msgid "Delete" -msgstr "Supprimer" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"Êtes-vous sûr de vouloir supprimer tous les résultats améliorés pour ce " -"terme de recherche" - -msgid "Yes, delete" -msgstr "Oui, supprimer" - -#, python-format -msgid "Editing %(query)s" -msgstr "Modification de %(query)s" - -msgid "Editing" -msgstr "Modification" - -msgid "Move up" -msgstr "Monter" - -msgid "Move down" -msgstr "Descendre" - -msgid "Promoted search result" -msgstr "Résultat de recherche amélioré" - -msgid "Add recommended page" -msgstr "Ajouter une page recommandée" - -msgid "Search Terms" -msgstr "Termes de recherche" - -msgid "Promoted search results" -msgstr "Résultats de recherche améliorés" - -msgid "Add new promoted result" -msgstr "Ajouter un nouveau résultat amélioré" - -msgid "Search term(s)" -msgstr "Terme(s) de recherche" - -msgid "Promoted results" -msgstr "Résultats améliorés" - -msgid "Views (past week)" -msgstr "Vues (semaine dernière)" - -msgid "Edit this pick" -msgstr "Éditer ce choix" - -msgid "None" -msgstr "Aucun" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" 1 correspondance " -msgstr[1] "" -"\n" -" %(counter)s correspondances " - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" -"Désolé, aucun résultat amélioré correspondant pour \"%(query_string)s\"" - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Aucun résultat amélioré n'a été créé. Pourquoi ne pas en ajouter un ?" - msgid "Popular search terms" msgstr "Termes de recherche populaires" @@ -186,6 +37,9 @@ msgstr "Rechercher" msgid "Terms" msgstr "Termes" +msgid "Views (past week)" +msgstr "Vues (semaine dernière)" + msgid "No results found" msgstr "Aucun résultat trouvé" @@ -194,26 +48,3 @@ msgstr "Date" msgid "Choose from popular search terms" msgstr "Choisir parmi les recherches populaires" - -msgid "Search editor's picks" -msgstr "Rechercher des résultats améliorés" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Résultat amélioré pour '{0}' créé." - -msgid "Edit" -msgstr "Modifier" - -msgid "Recommendations have not been created due to errors" -msgstr "Les recommandations n'ont pas été créées en raison d'erreurs" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Résultat amélioré pour '{0}' mis à jour." - -msgid "Recommendations have not been saved due to errors" -msgstr "Les recommandations n'ont pas été sauvegardées en raison d'erreurs" - -msgid "Editor's picks deleted." -msgstr "Résultat amélioré supprimé." diff --git a/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.mo index b86a0dc30..d9f3439e8 100644 Binary files a/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.po index 78149e202..3721c943c 100644 --- a/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/gl/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,71 +24,6 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Termo(s)/frase de busca" -msgid "Add editor's pick" -msgstr "Engadir selección do editor" - -msgid "Save" -msgstr "Gardar" - -#, python-format -msgid "Delete %(query)s" -msgstr "Eliminar %(query)s" - -msgid "Delete" -msgstr "Eliminar" - -msgid "Yes, delete" -msgstr "Sí, eliminar" - -#, python-format -msgid "Editing %(query)s" -msgstr "Editando %(query)s" - -msgid "Editing" -msgstr "Editando" - -msgid "Move up" -msgstr "Subir" - -msgid "Move down" -msgstr "Baixar" - -msgid "Add recommended page" -msgstr "Engadir páxina recomendada" - -msgid "Search Terms" -msgstr "Termos de busca" - -msgid "Search term(s)" -msgstr "Termos(s) de busca" - -msgid "Views (past week)" -msgstr "Vistas (semana pasada)" - -msgid "Edit this pick" -msgstr "Editar esta selección" - -msgid "None" -msgstr "Ningunha" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" Hai unha coincidencia\n" -" " -msgstr[1] "" -"\n" -" Hai %(counter)s coincidencias\n" -" " - msgid "Popular search terms" msgstr "Termos de busca popular" @@ -98,19 +33,8 @@ msgstr "Buscar" msgid "Terms" msgstr "Termos" +msgid "Views (past week)" +msgstr "Vistas (semana pasada)" + msgid "No results found" msgstr "Non hai resultados" - -msgid "Search editor's picks" -msgstr "Buscar seleccións do editor" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Seleccións do editor para '{0}' creadas." - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Seleccións do editor para '{0}' actualizadas." - -msgid "Editor's picks deleted." -msgstr "Seleccións do editor para '{0}' eliminadas." diff --git a/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.mo index af1c80154..c3c5563db 100644 Binary files a/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.po index 5bc7e3523..19c8a3cd5 100644 --- a/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/he_IL/LC_MESSAGES/django.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# bjesus , 2015 # lior abazon , 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-20 14:00+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,65 +23,6 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "חיפוש מושגים/משפט" -msgid "Please specify at least one recommendation for this search term." -msgstr "אנא ציין לפחות המלצה אחת למונח חיפוש זה" - -msgid "Page" -msgstr "עמוד" - -msgid "Description" -msgstr "תיאור" - -msgid "Editor's Pick" -msgstr "בחירת העורך" - -msgid "Add editor's pick" -msgstr "הוסף בחירת עורך" - -msgid "Save" -msgstr "שמור" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"האם אתם בטוחים כי ברצונכם למחוק את כל התוצאות המקודמות עבור מונח חיפוש זה?" - -msgid "Yes, delete" -msgstr "כן, מחק" - -msgid "Editing" -msgstr "עריכה" - -msgid "Move up" -msgstr "העבר מעלה" - -msgid "Move down" -msgstr "העבר מטה" - -msgid "Promoted search result" -msgstr "קדם תוצאת חיפוש" - -msgid "Add recommended page" -msgstr "הוסף עמוד מומלץ" - -msgid "Search Terms" -msgstr "מושגי חיפוש" - -msgid "Promoted search results" -msgstr "תוצאות חיפוש מקודמות " - -msgid "Add new promoted result" -msgstr "הוסף תוצאה מקודמת חדשה" - -msgid "Promoted results" -msgstr "תוצאות מקודמות " - -msgid "Edit this pick" -msgstr "ערוך בחירה זו" - -msgid "None" -msgstr "אף אחת" - msgid "Popular search terms" msgstr "מושגי חיפוש פופולארים" @@ -98,26 +40,3 @@ msgstr "תאריך" msgid "Choose from popular search terms" msgstr "בחירה ממושגי חיפוש פופולארים" - -msgid "Search editor's picks" -msgstr "חיפוש בבחירות העורך" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "בחירת העורך עבור '{0}' נוצרה" - -msgid "Edit" -msgstr "ערוך" - -msgid "Recommendations have not been created due to errors" -msgstr "המלצות לא נשמרו בעקבות שגיאה" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "בחירת העורך עבור '{0}' עודכנה" - -msgid "Recommendations have not been saved due to errors" -msgstr "ההמלצות לא נשמרו עקב שגיאות" - -msgid "Editor's picks deleted." -msgstr "בחירת העורך נמחקה" diff --git a/wagtail/wagtailsearch/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..248554275 Binary files /dev/null and b/wagtail/wagtailsearch/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..125d4dd30 --- /dev/null +++ b/wagtail/wagtailsearch/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-01 08:28+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Popular search terms" +msgstr "Vinsælir leitarfrasar" + +msgid "Search" +msgstr "Leita" + +msgid "Views (past week)" +msgstr "Síðuflettingar (síðust vikuna)" + +msgid "No results found" +msgstr "Engar niðurstöður fundust" + +msgid "Date" +msgstr "Dagsetning" + +msgid "Choose from popular search terms" +msgstr "Veldu úr vinsælum leitarfrösum" diff --git a/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.mo index 2a66005c6..3cda8599d 100644 Binary files a/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.po index 5de331a76..0f2b7a53f 100644 --- a/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/it/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-30 06:15+0000\n" -"Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,82 +23,9 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Cerca termine(i)/frase" -msgid "Please specify at least one recommendation for this search term." -msgstr "" -"Si prega di specificare almeno una raccomandazione per questo termine di " -"ricerca." - msgid "Query Daily Hits" msgstr "Query giornaliere" -msgid "Page" -msgstr "Pagina" - -msgid "Description" -msgstr "Descrizione" - -msgid "Save" -msgstr "Salva" - -#, python-format -msgid "Delete %(query)s" -msgstr "Elimina %(query)s" - -msgid "Delete" -msgstr "Elimina" - -msgid "Yes, delete" -msgstr "Si, elimina" - -#, python-format -msgid "Editing %(query)s" -msgstr "Modifica %(query)s" - -msgid "Editing" -msgstr "Modifica" - -msgid "Move up" -msgstr "Vai su" - -msgid "Move down" -msgstr "Vai giù" - -msgid "Add recommended page" -msgstr "Aggiungi pagina raccomandata" - -msgid "Search Terms" -msgstr "Termini di ricerca" - -msgid "Search term(s)" -msgstr "Termine(i) di ricerca" - -msgid "Views (past week)" -msgstr "Viste (scorsa settimana)" - -msgid "Edit this pick" -msgstr "Modifica questa scelta" - -msgid "None" -msgstr "Nessuno" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" C'è una corrispondenza\n" -" " -msgstr[1] "" -"\n" -" Ci sono %(counter)s corrispondenze\n" -" " - msgid "Popular search terms" msgstr "Termini di ricerca popolari" @@ -108,6 +35,9 @@ msgstr "Cerca" msgid "Terms" msgstr "Termini" +msgid "Views (past week)" +msgstr "Viste (scorsa settimana)" + msgid "No results found" msgstr "Nessun risultato" @@ -116,6 +46,3 @@ msgstr "Data" msgid "Choose from popular search terms" msgstr "Scegli tra un termine di ricerca popolare" - -msgid "Edit" -msgstr "Modifica" diff --git a/wagtail/wagtailsearch/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..e44a5ab2b Binary files /dev/null and b/wagtail/wagtailsearch/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..72c948443 --- /dev/null +++ b/wagtail/wagtailsearch/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-27 01:46+0000\n" +"Last-Translator: Ji Han Chung \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Search term(s)/phrase" +msgstr "검색어/문장" + +msgid "" +"Enter the full search string to match. An exact match is required for your " +"Promoted Results to be displayed, wildcards are NOT allowed." +msgstr "" +"매칭을 위해 검색어를 완전한 문장 형태로 입력하여 주세요. 홍보를 위한 결과를 " +"표시하기 위해서는 정확한 매칭이 요구되며, 와일드카드는 허용되지 않습니다." + +msgid "Query Daily Hits" +msgstr "일간 히트 쿼리" + +msgid "Popular search terms" +msgstr "인기있는 검색어" + +msgid "Search" +msgstr "검색" + +msgid "Terms" +msgstr "단어" + +msgid "Views (past week)" +msgstr "본 횟수(지난 주)" + +msgid "No results found" +msgstr "검색 결과가 없습니다" + +msgid "Date" +msgstr "날짜" + +msgid "Choose from popular search terms" +msgstr "인기있는 검색어로부터 선택" diff --git a/wagtail/wagtailsearch/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..64cd25eda Binary files /dev/null and b/wagtail/wagtailsearch/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..fffd1b3a0 --- /dev/null +++ b/wagtail/wagtailsearch/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 09:36+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Search term(s)/phrase" +msgstr "Søkeord/-frase" + +msgid "" +"Enter the full search string to match. An exact match is required for your " +"Promoted Results to be displayed, wildcards are NOT allowed." +msgstr "" +"Skriv inn fullstendig søkestreng som skal gi treff. Eksakt samsvar er " +"nødvendig for at ditt forfremmede resultat skal vises, jokertegn er ikke " +"tillatt." + +msgid "Query Daily Hits" +msgstr "Daglige søketreff" + +msgid "Popular search terms" +msgstr "Populære søkeord" + +msgid "Search" +msgstr "Søk" + +msgid "Terms" +msgstr "Søkeord" + +msgid "Views (past week)" +msgstr "Visninger (siste uke)" + +msgid "No results found" +msgstr "Ingen resultater funnet" + +msgid "Date" +msgstr "Dato" + +msgid "Choose from popular search terms" +msgstr "Velg blant populære søkeord" diff --git a/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.mo index d6a5e4973..b6c33731f 100644 Binary files a/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.po index 9eea01bab..2a914791c 100644 --- a/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/pl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,75 +24,6 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Frazy wyszukiwania" -msgid "Add editor's pick" -msgstr "Dodaj wybór redakcji" - -msgid "Save" -msgstr "Zapisz" - -#, python-format -msgid "Delete %(query)s" -msgstr "Usuń %(query)s" - -msgid "Delete" -msgstr "Usuń" - -msgid "Yes, delete" -msgstr "Tak, usuń" - -#, python-format -msgid "Editing %(query)s" -msgstr "Edycja %(query)s" - -msgid "Editing" -msgstr "Edytujesz" - -msgid "Move up" -msgstr "Przesuń w górę" - -msgid "Move down" -msgstr "Przesuń w dół" - -msgid "Add recommended page" -msgstr "Dodaj polecaną stronę" - -msgid "Search Terms" -msgstr "Frazy wyszukiwania" - -msgid "Search term(s)" -msgstr "Frazy wyszukiwania" - -msgid "Views (past week)" -msgstr "Odsłony (poprzedni tydzień)" - -msgid "Edit this pick" -msgstr "Edytuj ten wybór" - -msgid "None" -msgstr "Brak" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" Jedno dopasowanie\n" -" " -msgstr[1] "" -"\n" -" Są %(counter)s dopasowania\n" -" " -msgstr[2] "" -"\n" -" Jest %(counter)s dopasowań\n" -" " - msgid "Popular search terms" msgstr "Popularne wyszukiwania" @@ -102,19 +33,8 @@ msgstr "Szukaj" msgid "Terms" msgstr "Frazy" +msgid "Views (past week)" +msgstr "Odsłony (poprzedni tydzień)" + msgid "No results found" msgstr "Nie znaleziono" - -msgid "Search editor's picks" -msgstr "Szukaj wyborów redakcji" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Stworzono wybór redakcji dla '{0}'" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Zaktualizowano wybór redakcji dla '{0}'." - -msgid "Editor's picks deleted." -msgstr "Usunięto wybór redakcji." diff --git a/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.mo index 3f4f2a780..175c40a59 100644 Binary files a/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.po index eaa7228ba..11347b8c9 100644 --- a/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/pt_BR/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 11:36+0000\n" -"Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,153 +23,9 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Buscar termo(s)/frase" -msgid "" -"Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." -msgstr "" -"Digite o texto completo para procurar a correspondência. Uma correspondência " -"exata é necessária para que as Sugestões dos Editores sejam exibidas, " -"curingas NÃO serão permitidos." - -msgid "Please specify at least one recommendation for this search term." -msgstr "Especifique pelo menos uma recomendação para este termo de busca." - msgid "Query Daily Hits" msgstr "Acessos diários da query" -msgid "Page" -msgstr "Página" - -msgid "Description" -msgstr "Descrição" - -msgid "Editor's Pick" -msgstr "Escolha do editor" - -msgid "Add editor's pick" -msgstr "Adicionar sugestões do editor" - -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" -"\n" -"

    Resultados de busca promovidos são meios de recomendar páginas " -"específicas que pode não aparecer organicamente nos resultados. Ex. " -"recomendar sua página de doação principal para um usuário pesquisando com um " -"termo menos comum \"doando\".

    " - -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"

    O \"Termo(s)/frase da busca\" abaixo devem conter a busca exata e " -"completa para a qual você deseja provê resultados recomendados, " -"incluíndo qualquer erro de digitação ou do usuário. Para ajudar, " -"você pode escolher a partir de termos que são populares entre os usuários de " -"seu site

    " - -msgid "Save" -msgstr "Salvar" - -#, python-format -msgid "Delete %(query)s" -msgstr "Excluir %(query)s" - -msgid "Delete" -msgstr "Excluir" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"Você tem certeza que você quer excluir todos os resultados promovidos para " -"este termo?" - -msgid "Yes, delete" -msgstr "Sim, apague" - -#, python-format -msgid "Editing %(query)s" -msgstr "Editando %(query)s" - -msgid "Editing" -msgstr "Editando" - -msgid "Move up" -msgstr "Mover para cima" - -msgid "Move down" -msgstr "Mover para baixo" - -msgid "Promoted search result" -msgstr "Resultado promovido" - -msgid "Add recommended page" -msgstr "Adicionar recomendação para página" - -msgid "Search Terms" -msgstr "Procurar Termos" - -msgid "Promoted search results" -msgstr "Resultados promovidos" - -msgid "Add new promoted result" -msgstr "Adicionar um novo resultado promovido" - -msgid "Search term(s)" -msgstr "Procurar termo(s)" - -msgid "Promoted results" -msgstr "Resultados promovidos" - -msgid "Views (past week)" -msgstr "Visualizações (última semana)" - -msgid "Edit this pick" -msgstr "Editar sugestão do editor" - -msgid "None" -msgstr "Nenhum" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -" Há um resultado\n" -" " -msgstr[1] "" -"\n" -" Há %(counter)s resultados\n" -" " - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "Desculpe, nenhum resultado promovido com \"%(query_string)s\"" - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Nenhum resultado promovido foi criado. Por que não adicionar um?" - msgid "Popular search terms" msgstr "Termos populares de pesquisa" @@ -179,6 +35,9 @@ msgstr "Procurar" msgid "Terms" msgstr "Termos" +msgid "Views (past week)" +msgstr "Visualizações (última semana)" + msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -187,26 +46,3 @@ msgstr "Data" msgid "Choose from popular search terms" msgstr "Escolha a partir de termos populares" - -msgid "Search editor's picks" -msgstr "Procurar sugestões dos editores" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Sugestões dos editores para '{0}' criados." - -msgid "Edit" -msgstr "Editar" - -msgid "Recommendations have not been created due to errors" -msgstr "As recomendações não poderiam ser criadas devido a erros" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Sugestões do editor para '{0}' atualizado." - -msgid "Recommendations have not been saved due to errors" -msgstr "As recomendações não puderam ser salvas devido a erros" - -msgid "Editor's picks deleted." -msgstr "Sugestões do editor deletado." diff --git a/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.mo index 1c25c7d54..d0cba2ba6 100644 Binary files a/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.po index 7e4ded1ab..ed7086de1 100644 --- a/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/pt_PT/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-29 17:34+0000\n" -"Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,158 +24,9 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Pesquisar termo(s)/frase" -msgid "" -"Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." -msgstr "" -"Introduza o texto completo a pesquisar. É necessária uma correspondência " -"exata para apresentar as suas Escolhas do Editor, não são permitidos " -"wildcards." - -msgid "Please specify at least one recommendation for this search term." -msgstr "" -"Por favor especifique pelo menos uma recomendação para este termo de " -"pesquisa." - msgid "Query Daily Hits" msgstr "Acessos Diários da Pesquisa" -msgid "Page" -msgstr "Página" - -msgid "Description" -msgstr "Descrição" - -msgid "Editor's Pick" -msgstr "Escolha do Editor" - -msgid "Add editor's pick" -msgstr "Adicionar escolha do editor" - -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" -"\n" -"

    Os resultados de pesquisa promovidos servem para recomendar páginas " -"específicas que podem não aparecer bem posicionadas nos resultados de " -"pesquisa. Por exemplo, recomendar a sua página principal de donativos a um " -"utilizador que pesquisa um termo menos comum como \"dar\".

    \n" -" " - -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"

    O campo \"Pesquisar termo(s)/frase\" abaixo tem de conter a pesquisa " -"completa e exata para a qual pretende obter resultados recomendados, " -"incluindo quaisquer erros de ortografia/utilizador. Para facilitar, " -"pode escolher de entre os termos de pesquisa que são frequentemente usados " -"pelos utilizadores do seu site.

    \n" -" " - -msgid "Save" -msgstr "Guardar" - -#, python-format -msgid "Delete %(query)s" -msgstr "Apagar %(query)s" - -msgid "Delete" -msgstr "Apagar" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"Tem a certeza que quer apagar todos os resultados promovidos para este termo " -"de pesquisa?" - -msgid "Yes, delete" -msgstr "Sim, apagar" - -#, python-format -msgid "Editing %(query)s" -msgstr "A editar %(query)s" - -msgid "Editing" -msgstr "A editar" - -msgid "Move up" -msgstr "Mover para cima" - -msgid "Move down" -msgstr "Mover para baixo" - -msgid "Promoted search result" -msgstr "Resultado de pesquisa promovido" - -msgid "Add recommended page" -msgstr "Adicionar uma página recomendada" - -msgid "Search Terms" -msgstr "Pesquisar Termos" - -msgid "Promoted search results" -msgstr "Resultados de pesquisa promovidos" - -msgid "Add new promoted result" -msgstr "Adicionar novo resultado promovido" - -msgid "Search term(s)" -msgstr "Pesquisar termo(s)" - -msgid "Promoted results" -msgstr "Resultados promovidos" - -msgid "Views (past week)" -msgstr "Visualizações (última semana)" - -msgid "Edit this pick" -msgstr "Editar esta escolha" - -msgid "None" -msgstr "Nenhuma" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -"Encontrado um resultado\n" -" " -msgstr[1] "" -"\n" -"Encontrados %(counter)s resultados\n" -" " - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" -"Desculpe, nenhuma resultado promovido contém \"%(query_string)s\"" - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Não existem resultados promovidos. Porque não criar um?" - msgid "Popular search terms" msgstr "Termos de pesquisa populares" @@ -185,6 +36,9 @@ msgstr "Pesquisar" msgid "Terms" msgstr "Termos" +msgid "Views (past week)" +msgstr "Visualizações (última semana)" + msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -193,26 +47,3 @@ msgstr "Data" msgid "Choose from popular search terms" msgstr "Escolha entre os termos de pesquisa populares" - -msgid "Search editor's picks" -msgstr "Pesquisar nas escolhas do editor" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Escolhas do editor para '{0}' criadas." - -msgid "Edit" -msgstr "Editar" - -msgid "Recommendations have not been created due to errors" -msgstr "As recomendações não foram criadas devido a erros." - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Escolhas do editor para '{0}' atualizadas." - -msgid "Recommendations have not been saved due to errors" -msgstr "As recomendações não foram guardadas devido a erros." - -msgid "Editor's picks deleted." -msgstr "Escolhas do editor apagadas." diff --git a/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.mo index ec07f9a3e..a58082ec1 100644 Binary files a/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.po index e58541375..7b286337b 100644 --- a/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/ro/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-03 20:20+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -25,135 +25,16 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "Termeni/frază de căutare" -msgid "Please specify at least one recommendation for this search term." -msgstr "Introduceți cel puțin o recomandare pentru acest termen de căutare." - -msgid "Add editor's pick" -msgstr "Adaugă selecție editorială" - msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " +"Enter the full search string to match. An exact match is required for your " +"Promoted Results to be displayed, wildcards are NOT allowed." msgstr "" -"\n" -"

    Rezultatele de căutare promovate reprezintă o modalitate de recomandare a " -"paginilor care pot să nu apară în topul rezultatelor de căutare în mod " -"organic. De exemplu, recomandărea paginii principale de donații unui " -"utilizator care caută termenul mai puțin frecvent \"dare\".

    \n" -" " +"Introduceți șirul complet de căutare. Este nevoie de o potrivire exactă " +"pentru a afișa selecțiile \n" +"dvs. editoriale. Metacaractere NU sunt permise." -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"

    Câmpul \"Termeni/frază de căutare\" de mai jos trebuie să conțină șirul " -"exact pentru care doriți să furnizați rezultate recomandate. Includeți greșeli ortografice și alte greșeli. Puteți să alegeți din termenii de " -"căutare populari printre utilizatorii sitului dvs.

    " - -msgid "Save" -msgstr "Salvează" - -#, python-format -msgid "Delete %(query)s" -msgstr "Șterge %(query)s" - -msgid "Delete" -msgstr "Șterge" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"Sigur doriți să ștergeți toate rezultatele promovate pentru acest termen de " -"căutare?" - -msgid "Yes, delete" -msgstr "Da, șterge" - -#, python-format -msgid "Editing %(query)s" -msgstr "Editare %(query)s" - -msgid "Editing" -msgstr "Editare" - -msgid "Move up" -msgstr "Deplasează în sus" - -msgid "Move down" -msgstr "Deplasează în jos" - -msgid "Promoted search result" -msgstr "Rezultat de căutare promovat" - -msgid "Add recommended page" -msgstr "Adaugă pagină recomandată" - -msgid "Search Terms" -msgstr "Termeni de căutare" - -msgid "Promoted search results" -msgstr "Rezultate de căutare promovate" - -msgid "Add new promoted result" -msgstr "Adaugă rezultat promovat" - -msgid "Search term(s)" -msgstr "Termen de căutare" - -msgid "Promoted results" -msgstr "Rezultate promovate" - -msgid "Views (past week)" -msgstr "Vizualizări (ultima săptămână)" - -msgid "Edit this pick" -msgstr "Editează selecția" - -msgid "None" -msgstr "Nici una" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -"Există o potrivire" -msgstr[1] "" -"\n" -"Sunt %(counter)s potriviri" -msgstr[2] "" -"\n" -"Sunt %(counter)s potriviri" - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" -"Ne pare rău, \"%(query_string)s\" nu se potrivește cu nici un " -"rezultat promovat" - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Nu a fost creată nici o selecție editorială. De ce să nu adăugați una?" +msgid "Query Daily Hits" +msgstr "Interogări zilnice" msgid "Popular search terms" msgstr "Termeni populari de căutare" @@ -164,25 +45,14 @@ msgstr "Căutare" msgid "Terms" msgstr "Termeni" +msgid "Views (past week)" +msgstr "Vizualizări (ultima săptămână)" + msgid "No results found" msgstr "Nu sunt rezultate" -msgid "Search editor's picks" -msgstr "Caută selecții editoriale" +msgid "Date" +msgstr "Dată" -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Selecțiile editoriale pentru '{0}' au fost create." - -msgid "Recommendations have not been created due to errors" -msgstr "Recomandările nu au fost create din cauza erorilor." - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Selecțiile editoriale pentru '{0}' au fost actualizate." - -msgid "Recommendations have not been saved due to errors" -msgstr "Recomandările nu au fost salvate din cauza erorilor." - -msgid "Editor's picks deleted." -msgstr "Selecțiile editoriale au fost șterse" +msgid "Choose from popular search terms" +msgstr "Alege din termeni populari de căutare" diff --git a/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.mo index dfaab097b..61f78f0ca 100644 Binary files a/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.po index da6492e46..3dc34716d 100644 --- a/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/ru/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-28 07:46+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 21:44+0000\n" "Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,161 +29,15 @@ msgstr "Критерий поиска/фраза" msgid "" "Enter the full search string to match. An exact match is required for your " -"Editors Picks to be displayed, wildcards are NOT allowed." +"Promoted Results to be displayed, wildcards are NOT allowed." msgstr "" "Введите полный критерий поиска, для соответствия. Точное совпадение " "требуется для отображения вашей Выборки Редактора, подстановки не " "допускаются." -msgid "Please specify at least one recommendation for this search term." -msgstr "" -"Пожалуйста, сформулируйте по крайней мере, одну рекомендацию по этому " -"поисковому запросу." - msgid "Query Daily Hits" msgstr "Запрос Ежедневных Хитов" -msgid "Page" -msgstr "Страница" - -msgid "Description" -msgstr "Описание" - -msgid "Editor's Pick" -msgstr "Выбор редактора" - -msgid "Add editor's pick" -msgstr "Добавить подборку" - -msgid "" -"\n" -"

    Promoted search results are a means of recommending " -"specific pages that might not organically come high up in search results. E." -"g recommending your primary donation page to a user searching with the less " -"common term \"giving\".

    \n" -" " -msgstr "" -"\n" -"

    Продвигаемые поисковые запросы означают рекомендацию " -"конкретных страниц, которые, возможно, не попадут в поисковую выдачу, но " -"могут быть полезны. Например, рекомендация страницы пожертвований " -"пользователю, который ищет что-то с запросом \"даю\".

    \n" -" " - -msgid "" -"\n" -"

    The \"Search term(s)/phrase\" field below must contain " -"the full and exact search for which you wish to provide recommended results, " -"including any misspellings/user error. To help, you can choose from " -"search terms that have been popular with users of your site.

    \n" -" " -msgstr "" -"\n" -"

    \"Поисковый запрос(ы)/фраза\" в поле ниже должны " -"содержать полный и точный поисковый запросб для которого вы хотите " -"рекомендовать что-то, включая любые ошибки и опечатки которые может " -"допустить пользователь. Для помощи, вы можете выбрать из наиболее популярных " -"поисковых запросов, которые совершали пользователи вашего сайта.

    \n" -" " - -msgid "Save" -msgstr "Сохранить" - -#, python-format -msgid "Delete %(query)s" -msgstr "Удалить %(query)s" - -msgid "Delete" -msgstr "Удалить" - -msgid "" -"Are you sure you want to delete all promoted results for this search term?" -msgstr "" -"Вы уверены что вы хотите удалить все раскручиваемые результаты поиска для " -"этого поискового запроса?" - -msgid "Yes, delete" -msgstr "Да, удалить" - -#, python-format -msgid "Editing %(query)s" -msgstr "Редактирование %(query)s" - -msgid "Editing" -msgstr "Редактирование" - -msgid "Move up" -msgstr "Вверх" - -msgid "Move down" -msgstr "Вниз" - -msgid "Promoted search result" -msgstr "Раскручиваемый результат поиска" - -msgid "Add recommended page" -msgstr "Добавить рекомендованную страницу" - -msgid "Search Terms" -msgstr "Критерии поиска" - -msgid "Promoted search results" -msgstr "Раскручиваемые результаты поиска" - -msgid "Add new promoted result" -msgstr "Добавить новый раскручиваемый результат" - -msgid "Search term(s)" -msgstr "Критерии поиска" - -msgid "Promoted results" -msgstr "Раскручиваемые результаты" - -msgid "Views (past week)" -msgstr "Просмотров (прошлая неделя)" - -msgid "Edit this pick" -msgstr "Редактировать эту подборку" - -msgid "None" -msgstr "Ничего" - -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -"\n" -"Найдено одно совпадение" -msgstr[1] "" -"\n" -"Найдено %(counter)s совпадений" -msgstr[2] "" -"\n" -"Найдено %(counter)s совпадений" -msgstr[3] "" -"\n" -"Найдено %(counter)s совпадений" - -#, python-format -msgid "Sorry, no promoted results match \"%(query_string)s\"" -msgstr "" -"Извините, нет раскручиваемых результатов совпадающих с \"" -"%(query_string)s\"" - -#, python-format -msgid "" -"No promoted results have been created. Why not add one?" -msgstr "" -"Раскручиваемых поисковых запросов пока не создано. Почему бы не добавить один?" - msgid "Popular search terms" msgstr "Популярные критерии поиска" @@ -193,6 +47,9 @@ msgstr "Поиск" msgid "Terms" msgstr "Критерии" +msgid "Views (past week)" +msgstr "Просмотров (прошлая неделя)" + msgid "No results found" msgstr "Ничего не найдено" @@ -201,26 +58,3 @@ msgstr "Дата" msgid "Choose from popular search terms" msgstr "Выбрать из популярных поисковых запросов" - -msgid "Search editor's picks" -msgstr "Искать подборки" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "Подборка '{0}' создана." - -msgid "Edit" -msgstr "Правка" - -msgid "Recommendations have not been created due to errors" -msgstr "Рекомендации не были созданы из-за ошибок" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "Подборка '{0}' обновлена." - -msgid "Recommendations have not been saved due to errors" -msgstr "Рекомендации не были сохранены из-за ошибок" - -msgid "Editor's picks deleted." -msgstr "Подборка удалена." diff --git a/wagtail/wagtailsearch/locale/tr_TR/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/tr_TR/LC_MESSAGES/django.mo new file mode 100644 index 000000000..77d57469c Binary files /dev/null and b/wagtail/wagtailsearch/locale/tr_TR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/tr_TR/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/tr_TR/LC_MESSAGES/django.po new file mode 100644 index 000000000..90348a968 --- /dev/null +++ b/wagtail/wagtailsearch/locale/tr_TR/LC_MESSAGES/django.po @@ -0,0 +1,32 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# José Alaguna , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-29 07:48+0000\n" +"Last-Translator: José Alaguna \n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/torchbox/wagtail/" +"language/tr_TR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr_TR\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Search term(s)/phrase" +msgstr "Ifade(ler) ara" + +msgid "Popular search terms" +msgstr "Sevilen arama terimleri" + +msgid "Search" +msgstr "Ara" + +msgid "Terms" +msgstr "Terimler" diff --git a/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.mo index a587ce2cc..f75c4aa0e 100644 Binary files a/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.po index faf9933ff..d7f67cafd 100644 --- a/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/zh/LC_MESSAGES/django.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,53 +21,6 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "搜索关键词" -msgid "Add editor's pick" -msgstr "添加编辑精选" - -msgid "Save" -msgstr "保存" - -#, python-format -msgid "Delete %(query)s" -msgstr "删除Delete %(query)s" - -msgid "Delete" -msgstr "删除" - -msgid "Yes, delete" -msgstr "是的,删除" - -#, python-format -msgid "Editing %(query)s" -msgstr "编辑%(query)s" - -msgid "Editing" -msgstr "编辑" - -msgid "Move up" -msgstr "向上移动" - -msgid "Move down" -msgstr "向下移动" - -msgid "Add recommended page" -msgstr "添加推荐页" - -msgid "Search Terms" -msgstr "搜索关键词" - -msgid "Search term(s)" -msgstr "搜索关键词" - -msgid "Views (past week)" -msgstr "查看 (上周)" - -msgid "Edit this pick" -msgstr "编辑这个精选" - -msgid "None" -msgstr "没有" - msgid "Popular search terms" msgstr "流行的搜索关键词" @@ -77,16 +30,8 @@ msgstr "搜索" msgid "Terms" msgstr "关键词" +msgid "Views (past week)" +msgstr "查看 (上周)" + msgid "No results found" msgstr "没有找到任何结果" - -#, python-brace-format -msgid "Editor's picks for '{0}' created." -msgstr "编辑精选'{0}'已创建。" - -#, python-brace-format -msgid "Editor's picks for '{0}' updated." -msgstr "编辑精选'{0}'已更新。" - -msgid "Editor's picks deleted." -msgstr "编辑精选已删除" diff --git a/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.mo index 7058e7744..a0e79a42c 100644 Binary files a/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.po index 96643fb58..570987277 100644 --- a/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailsearch/locale/zh_CN/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 17:14+0000\n" -"Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,52 +23,8 @@ msgstr "" msgid "Search term(s)/phrase" msgstr "检索词" -msgid "Page" -msgstr "页面" - -msgid "Description" -msgstr "描述" - -msgid "Editor's Pick" -msgstr "编辑精选" - -msgid "Add editor's pick" -msgstr "增加编辑精选 " - -msgid "Save" -msgstr "保存" - -#, python-format -msgid "Delete %(query)s" -msgstr "删除%(query)s" - -msgid "Delete" -msgstr "删除" - -msgid "Yes, delete" -msgstr "是,删除" - -#, python-format -msgid "Editing %(query)s" -msgstr "编辑%(query)s" - -msgid "Editing" -msgstr "编辑" - -msgid "Move up" -msgstr "上移" - -msgid "Move down" -msgstr "下移" - -msgid "Search Terms" -msgstr "检索词" - msgid "Search" msgstr "搜索" msgid "Date" msgstr "日期" - -msgid "Edit" -msgstr "编辑" diff --git a/wagtail/wagtailsearch/signal_handlers.py b/wagtail/wagtailsearch/signal_handlers.py index 395e59967..3124948b6 100644 --- a/wagtail/wagtailsearch/signal_handlers.py +++ b/wagtail/wagtailsearch/signal_handlers.py @@ -10,7 +10,7 @@ def get_indexed_instance(instance): return # Make sure that the instance is in its class's indexed objects - if not type(indexed_instance).get_indexed_objects().filter(id=indexed_instance.id).exists(): + if not type(indexed_instance).get_indexed_objects().filter(pk=indexed_instance.pk).exists(): return return indexed_instance diff --git a/wagtail/wagtailsearch/views/frontend.py b/wagtail/wagtailsearch/views/frontend.py index 776d79fd5..8e477097a 100644 --- a/wagtail/wagtailsearch/views/frontend.py +++ b/wagtail/wagtailsearch/views/frontend.py @@ -1,8 +1,6 @@ -import json - from django.conf import settings from django.shortcuts import render -from django.http import HttpResponse +from django.http import JsonResponse from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from wagtail.wagtailcore import models @@ -66,7 +64,8 @@ def search( query = None search_results = None - if use_json: # Return a json response + if use_json: + # Return a json response if search_results: search_results_json = [] for result in search_results: @@ -78,9 +77,9 @@ def search( if hasattr(result_specific, attr) )) - return HttpResponse(json.dumps(search_results_json)) + return JsonResponse(search_results_json) else: - return HttpResponse('[]') + return JsonResponse([], safe=False) else: # Render a template if request.is_ajax() and template_ajax: template = template_ajax diff --git a/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.mo index a7854bb1b..fd9aa5dc5 100644 Binary files a/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.po index 6628f96bf..67dfd1579 100644 --- a/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/de/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-12 13:15+0000\n" -"Last-Translator: Wasilis Mandratzis-Walz\n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,30 +26,6 @@ msgstr "Wählen Sie eine Ursprungs-Seite" msgid "Choose a different root page" msgstr "Eine andere Ursprungs-Seite auswählen" -msgid "Delete site" -msgstr "Webseite löschen" - -msgid "Are you sure you want to delete this site?" -msgstr "Sind Sie sicher, dass Sie diese Webseite löschen möchten?" - -msgid "Yes, delete" -msgstr "Ja, löschen" - -msgid "Add site" -msgstr "Webseite hinzufügen" - -msgid "Save" -msgstr "Speichern" - -msgid "Editing" -msgstr "Bearbeiten" - -msgid "Sites" -msgstr "Webseiten" - -msgid "Add a site" -msgstr "Webseite hinzufügen" - msgid "Site" msgstr "Webseite" @@ -65,23 +41,5 @@ msgstr "Standard?" msgid "Default" msgstr "Standard" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Webseite '{0}' erstellt." - -msgid "Edit" -msgstr "Bearbeiten" - -msgid "The site could not be created due to errors." -msgstr "Aufgrund von Fehlern konnte die Webseite nicht erstellt werden." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Webseite '{0}' geändert." - -msgid "The site could not be saved due to errors." -msgstr "Aufgrund von Fehlern konnte die Webseite nicht gespeichert werden." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Webseite '{0}' gelöscht" +msgid "Sites" +msgstr "Webseiten" diff --git a/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.mo index 7515bf21f..eeba6f0b6 100644 Binary files a/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.po index 0f03fc9c3..865ce1696 100644 --- a/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/el/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-12 14:28+0000\n" -"Last-Translator: Wasilis Mandratzis-Walz\n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,30 +25,6 @@ msgstr "Επιλέξτε μια κεντρική σελίδα" msgid "Choose a different root page" msgstr "Επιλέξτε μια διαφορετική κεντρική σελίδα" -msgid "Delete site" -msgstr "Διαγραφή σελίδας" - -msgid "Are you sure you want to delete this site?" -msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την σελίδα;" - -msgid "Yes, delete" -msgstr "Ναι, να διαγραφεί" - -msgid "Add site" -msgstr "Προσθήκη σελίδας" - -msgid "Save" -msgstr "Αποθήκευση" - -msgid "Editing" -msgstr "Επεξεργασία" - -msgid "Sites" -msgstr "Σελιδες" - -msgid "Add a site" -msgstr "Προσθήκη σελιδας" - msgid "Site" msgstr "Σελιδα" @@ -64,23 +40,5 @@ msgstr "Προεπιλογή;" msgid "Default" msgstr "Προεπιλογή" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Η σελίδα '{0}' δημιουργήθηκε." - -msgid "Edit" -msgstr "Επεξεργασία" - -msgid "The site could not be created due to errors." -msgstr "Η σελίδα δεν μπορεί να δημιουργηθεί λόγω σφαλμάτων." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Έγινε η αποθήκευση της σελίδας '{0}'." - -msgid "The site could not be saved due to errors." -msgstr "Δεν ήταν δυνατή η αποθήκευση της σελίδας λόγω σφαλμάτων." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Η σελίδα '{0}' διαγράφηκε." +msgid "Sites" +msgstr "Σελιδες" diff --git a/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.po index 082cf3f7a..e1057f4bf 100644 --- a/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,84 +25,26 @@ msgstr "" msgid "Choose a different root page" msgstr "" -#: templates/wagtailsites/confirm_delete.html:3 -#: templates/wagtailsites/confirm_delete.html:7 -#: templates/wagtailsites/edit.html:25 -msgid "Delete site" -msgstr "" - -#: templates/wagtailsites/confirm_delete.html:11 -msgid "Are you sure you want to delete this site?" -msgstr "" - -#: templates/wagtailsites/confirm_delete.html:14 -msgid "Yes, delete" -msgstr "" - -#: templates/wagtailsites/create.html:4 templates/wagtailsites/create.html:9 -msgid "Add site" -msgstr "" - -#: templates/wagtailsites/create.html:21 templates/wagtailsites/edit.html:23 -msgid "Save" -msgstr "" - -#: templates/wagtailsites/edit.html:4 templates/wagtailsites/edit.html.py:9 -msgid "Editing" -msgstr "" - -#: templates/wagtailsites/index.html:3 templates/wagtailsites/index.html:5 -#: wagtail_hooks.py:24 -msgid "Sites" -msgstr "" - -#: templates/wagtailsites/index.html:7 -msgid "Add a site" -msgstr "" - -#: templates/wagtailsites/index.html:19 +#: templates/wagtailsites/index.html:11 msgid "Site" msgstr "" -#: templates/wagtailsites/index.html:26 +#: templates/wagtailsites/index.html:18 msgid "Port" msgstr "" -#: templates/wagtailsites/index.html:27 +#: templates/wagtailsites/index.html:19 msgid "Root page" msgstr "" -#: templates/wagtailsites/index.html:28 +#: templates/wagtailsites/index.html:20 msgid "Default?" msgstr "" -#: templates/wagtailsites/index.html:42 +#: templates/wagtailsites/index.html:34 msgid "Default" msgstr "" -#: views.py:31 -#, python-brace-format -msgid "Site '{0}' created." -msgstr "" - -#: views.py:32 views.py:54 -msgid "Edit" -msgstr "" - -#: views.py:36 -msgid "The site could not be created due to errors." -msgstr "" - -#: views.py:53 -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "" - -#: views.py:58 -msgid "The site could not be saved due to errors." -msgstr "" - -#: views.py:74 -#, python-brace-format -msgid "Site '{0}' deleted." +#: wagtail_hooks.py:30 +msgid "Sites" msgstr "" diff --git a/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.mo index 8861c33ff..af16c8580 100644 Binary files a/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.po index b5c45f169..20cad11a2 100644 --- a/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/es/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-17 11:59+0000\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,30 +26,6 @@ msgstr "Seleccionar una página inicial" msgid "Choose a different root page" msgstr "Seleccionar una página inicial diferente" -msgid "Delete site" -msgstr "Sitio borrado" - -msgid "Are you sure you want to delete this site?" -msgstr "Esta Usted seguro de querer eliminar este sitio?" - -msgid "Yes, delete" -msgstr "Si, borrar" - -msgid "Add site" -msgstr "Agregar sitio" - -msgid "Save" -msgstr "Guardar" - -msgid "Editing" -msgstr "Editando" - -msgid "Sites" -msgstr "Sitios" - -msgid "Add a site" -msgstr "Agregar un sitio" - msgid "Site" msgstr "Sitio" @@ -65,23 +41,5 @@ msgstr "Predeterminado?" msgid "Default" msgstr "Predeterminado" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Sitio '{0}' creado." - -msgid "Edit" -msgstr "Editar" - -msgid "The site could not be created due to errors." -msgstr "El sitio no puede ser creado debido a errores" - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Sitio '{0}' actualizado." - -msgid "The site could not be saved due to errors." -msgstr "El sitio no puede ser guardado debido a errores" - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Sitio '{0}' eliminado." +msgid "Sites" +msgstr "Sitios" diff --git a/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.mo index 59c4ca05b..821c27483 100644 Binary files a/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.po index 3446768eb..b4e240211 100644 --- a/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/fr/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 15:59+0000\n" -"Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,30 +25,6 @@ msgstr "Choisir une page racine" msgid "Choose a different root page" msgstr "Choisissez une page racine différente" -msgid "Delete site" -msgstr "Supprimer le site" - -msgid "Are you sure you want to delete this site?" -msgstr "Êtes-vous sûr de vouloir supprimer ce site ?" - -msgid "Yes, delete" -msgstr "Oui, supprimer" - -msgid "Add site" -msgstr "Ajout de site" - -msgid "Save" -msgstr "Enregistrer" - -msgid "Editing" -msgstr "Édition" - -msgid "Sites" -msgstr "Sites" - -msgid "Add a site" -msgstr "Ajouter un site" - msgid "Site" msgstr "Site" @@ -64,23 +40,5 @@ msgstr "Défaut ?" msgid "Default" msgstr "Défaut" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Site '{0}' créé." - -msgid "Edit" -msgstr "Modifier" - -msgid "The site could not be created due to errors." -msgstr "Le site n'a pas pu être créé à cause d'erreurs." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Site '{0}' mis à jour." - -msgid "The site could not be saved due to errors." -msgstr "Le site n'a pas pu être enregistré à cause d'erreurs." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Site '{0}' supprimé." +msgid "Sites" +msgstr "Sites" diff --git a/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.mo index e6b17fbbb..3e8d99af1 100644 Binary files a/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.po index 7a7f8a4a2..aedae35bb 100644 --- a/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/he_IL/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-20 14:02+0000\n" -"Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,30 +25,6 @@ msgstr "בחרו עמוד מקור" msgid "Choose a different root page" msgstr "בחרו עמוד מקור שונה" -msgid "Delete site" -msgstr "מחק אתר" - -msgid "Are you sure you want to delete this site?" -msgstr "האם אתם בטוחים כי ברצונכם למחוק את האתר?" - -msgid "Yes, delete" -msgstr "כן, מחק" - -msgid "Add site" -msgstr "הוספת אתר" - -msgid "Save" -msgstr "שמור" - -msgid "Editing" -msgstr "עריכה" - -msgid "Sites" -msgstr "אתרים" - -msgid "Add a site" -msgstr "הוספת אתר" - msgid "Site" msgstr "אתר" @@ -64,23 +40,5 @@ msgstr "ברירת מחדל?" msgid "Default" msgstr "ברירת מחדל" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "עמוד '{0}' נוצר" - -msgid "Edit" -msgstr "ערוך" - -msgid "The site could not be created due to errors." -msgstr "לא ניתן ליצור את האתר עקב שגיאות" - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "אתר '{0}' עודכן" - -msgid "The site could not be saved due to errors." -msgstr "לא ניתן לשמור את האתר בעקבות שגיאות " - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "אתר '{0}' נמחק" +msgid "Sites" +msgstr "אתרים" diff --git a/wagtail/wagtailsites/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..2338ac4eb Binary files /dev/null and b/wagtail/wagtailsites/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..3c4b78640 --- /dev/null +++ b/wagtail/wagtailsites/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# saevarom , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Choose a root page" +msgstr "Veldu rótar síðu" + +msgid "Choose a different root page" +msgstr "Veldu aðra rótar síðu" + +msgid "Site" +msgstr "Vefsvæði" + +msgid "Port" +msgstr "Port" + +msgid "Root page" +msgstr "Rótar síða" + +msgid "Default?" +msgstr "Sjálfgefin?" + +msgid "Default" +msgstr "Sjálfgefin" + +msgid "Sites" +msgstr "Vefsvæði" diff --git a/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.mo index 0ffdfb99f..be6ba813d 100644 Binary files a/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.po index 80b1ddbfc..0007a53a4 100644 --- a/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 09:11+0000\n" -"Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,30 +25,6 @@ msgstr "Scegli una pagina radice" msgid "Choose a different root page" msgstr "Scegli una pagina radice differente" -msgid "Delete site" -msgstr "Elimina sito" - -msgid "Are you sure you want to delete this site?" -msgstr "Sei sicuro di voler cancellare questo sito?" - -msgid "Yes, delete" -msgstr "Si, elimina" - -msgid "Add site" -msgstr "Aggiungi sito" - -msgid "Save" -msgstr "Salva" - -msgid "Editing" -msgstr "Modifica" - -msgid "Sites" -msgstr "Siti" - -msgid "Add a site" -msgstr "Aggiungi un sito" - msgid "Site" msgstr "Sito" @@ -64,23 +40,5 @@ msgstr "Default?" msgid "Default" msgstr "Default" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Sito '{0}' creato." - -msgid "Edit" -msgstr "Modifica" - -msgid "The site could not be created due to errors." -msgstr "Il sito non può essere creato a causa di errori." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Sito '{0}' aggiornato." - -msgid "The site could not be saved due to errors." -msgstr "Il sito non può essere salvato a causa di errori." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Sito '{0}' eliminato." +msgid "Sites" +msgstr "Siti" diff --git a/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.mo index 30603910c..e77cca8e3 100644 Binary files a/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.po index 38895abff..3e574be9c 100644 --- a/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/ja/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-03-06 12:16+0000\n" -"Last-Translator: mattwestcott \n" -"Language-Team: Japanese (http://www.transifex.com/projects/p/wagtail/" -"language/ja/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Japanese (http://www.transifex.com/torchbox/wagtail/language/" +"ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -25,30 +25,6 @@ msgstr "ルートページを選択" msgid "Choose a different root page" msgstr "他のルートページを選択" -msgid "Delete site" -msgstr "サイトを削除" - -msgid "Are you sure you want to delete this site?" -msgstr "このサイトを削除しますか?" - -msgid "Yes, delete" -msgstr "はい、削除します" - -msgid "Add site" -msgstr "サイトを追加" - -msgid "Save" -msgstr "保存" - -msgid "Editing" -msgstr "編集中" - -msgid "Sites" -msgstr "サイト一覧" - -msgid "Add a site" -msgstr "サイトを追加" - msgid "Site" msgstr "サイト" @@ -64,20 +40,5 @@ msgstr "デフォルト" msgid "Default" msgstr "デフォルト" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "'{0}'のサイトが作成されました。" - -msgid "The site could not be created due to errors." -msgstr "エラーが発生したため、サイトを作成できませんでした。" - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "'{0}'のサイトが更新されました。" - -msgid "The site could not be saved due to errors." -msgstr "エラーが発生したため、サイトを保存できませんでした。" - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "'{0}'のサイトを削除しました。" +msgid "Sites" +msgstr "サイト一覧" diff --git a/wagtail/wagtailsites/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..63ac73281 Binary files /dev/null and b/wagtail/wagtailsites/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..621e7e6f1 --- /dev/null +++ b/wagtail/wagtailsites/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Choose a root page" +msgstr "시작점이 되는 페이지 선택" + +msgid "Choose a different root page" +msgstr "다른 시작점이 되는 페이지 선택" + +msgid "Site" +msgstr "사이트" + +msgid "Port" +msgstr "포트" + +msgid "Root page" +msgstr "시작점이 되는 페이지" + +msgid "Default?" +msgstr "기본값?" + +msgid "Default" +msgstr "기본값" + +msgid "Sites" +msgstr "사이트" diff --git a/wagtail/wagtailsites/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..046339496 Binary files /dev/null and b/wagtail/wagtailsites/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..b38487a1b --- /dev/null +++ b/wagtail/wagtailsites/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-01 13:46+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Choose a root page" +msgstr "Velg en rotside" + +msgid "Choose a different root page" +msgstr "Velg en annen rotside" + +msgid "Site" +msgstr "Nettsted" + +msgid "Port" +msgstr "Port" + +msgid "Root page" +msgstr "Rotside" + +msgid "Default?" +msgstr "Standard?" + +msgid "Default" +msgstr "Standard" + +msgid "Sites" +msgstr "Nettsteder" diff --git a/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.mo index b1e01a1c6..fd047781d 100644 Binary files a/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.po index 0ff6dd41e..fb71ecc2b 100644 --- a/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/pt_BR/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-14 14:19+0000\n" -"Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,30 +26,6 @@ msgstr "Escolher uma página raiz" msgid "Choose a different root page" msgstr "Escolher outra página raiz" -msgid "Delete site" -msgstr "Excluir site" - -msgid "Are you sure you want to delete this site?" -msgstr "Você tem certeza que deseja apagar esse site?" - -msgid "Yes, delete" -msgstr "Sim, apagar" - -msgid "Add site" -msgstr "Adicionar site" - -msgid "Save" -msgstr "Salvar" - -msgid "Editing" -msgstr "Editando" - -msgid "Sites" -msgstr "Sites" - -msgid "Add a site" -msgstr "Adicionar um site" - msgid "Site" msgstr "Site" @@ -65,23 +41,5 @@ msgstr "Padrão?" msgid "Default" msgstr "Padrão" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Site '{0}' criado." - -msgid "Edit" -msgstr "Editar" - -msgid "The site could not be created due to errors." -msgstr "O site não pode ser criado devido a erros." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Site '{0}' atualizado." - -msgid "The site could not be saved due to errors." -msgstr "O site não pode ser salvo devido a erros." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Site '{0}' excluido." +msgid "Sites" +msgstr "Sites" diff --git a/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.mo index b7a2a5404..e591bdd70 100644 Binary files a/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.po index e18def160..fe4f6bb26 100644 --- a/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/pt_PT/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-29 17:19+0000\n" -"Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,30 +26,6 @@ msgstr "Escolher uma página raiz" msgid "Choose a different root page" msgstr "Escolher uma página raiz diferente" -msgid "Delete site" -msgstr "Apagar site" - -msgid "Are you sure you want to delete this site?" -msgstr "Tem a certeza que quer apagar este site?" - -msgid "Yes, delete" -msgstr "Sim, apagar" - -msgid "Add site" -msgstr "Adicionar site" - -msgid "Save" -msgstr "Guardar" - -msgid "Editing" -msgstr "A editar" - -msgid "Sites" -msgstr "Sites" - -msgid "Add a site" -msgstr "Adicionar site" - msgid "Site" msgstr "Site" @@ -65,23 +41,5 @@ msgstr "Pré-definido?" msgid "Default" msgstr "Pré-definido" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Site '{0}' criado." - -msgid "Edit" -msgstr "Editar" - -msgid "The site could not be created due to errors." -msgstr "Não foi possível criar o site devido a erros." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Site '{0}' atualizado." - -msgid "The site could not be saved due to errors." -msgstr "O site não pôde ser guardado devido a erros." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Site '{0}' apagado." +msgid "Sites" +msgstr "Sites" diff --git a/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.mo index a2cd934bd..5fda7dd1c 100644 Binary files a/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.po index 44bc9291f..c1ed1f3dc 100644 --- a/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/ro/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-03-06 12:16+0000\n" -"Last-Translator: mattwestcott \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,30 +26,6 @@ msgstr "Alege o pagină de bază" msgid "Choose a different root page" msgstr "Alege o altă pagină de bază" -msgid "Delete site" -msgstr "Șterge sit" - -msgid "Are you sure you want to delete this site?" -msgstr "Sigur doriți să ștergeți acest sit?" - -msgid "Yes, delete" -msgstr "Da, șterge" - -msgid "Add site" -msgstr "Adaugă sit" - -msgid "Save" -msgstr "Salveză" - -msgid "Editing" -msgstr "Editare" - -msgid "Sites" -msgstr "Site-uri" - -msgid "Add a site" -msgstr "Adaugă un sit" - msgid "Site" msgstr "Sit" @@ -65,20 +41,5 @@ msgstr "Implicit?" msgid "Default" msgstr "Implicit" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Site-ul '{0}' a fost creat." - -msgid "The site could not be created due to errors." -msgstr "Site-ul nu a fost creat din cauza erorilor." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Site-ul '{0}' a fost actualizat." - -msgid "The site could not be saved due to errors." -msgstr "Site-ul nu a fost salvat din cauza erorilor." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Site-ul '{0}' a fost șters." +msgid "Sites" +msgstr "Site-uri" diff --git a/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.mo index 118ad512b..32283542b 100644 Binary files a/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.po index 707d6395c..fff621b82 100644 --- a/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/ru/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-05 13:16+0000\n" -"Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,30 +27,6 @@ msgstr "Выберите корневую страницу" msgid "Choose a different root page" msgstr "Выбрать другую корневую страницу" -msgid "Delete site" -msgstr "Удалить сайт" - -msgid "Are you sure you want to delete this site?" -msgstr "Вы уверены, что хотите удалить этот сайт?" - -msgid "Yes, delete" -msgstr "Да, удалить" - -msgid "Add site" -msgstr "Добавить сайт" - -msgid "Save" -msgstr "Сохранить" - -msgid "Editing" -msgstr "Редактирование" - -msgid "Sites" -msgstr "Сайты" - -msgid "Add a site" -msgstr "Добавить сайт" - msgid "Site" msgstr "Сайт" @@ -66,23 +42,5 @@ msgstr "По умолчанию?" msgid "Default" msgstr "По умолчанию" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Сайт '{0}' создан." - -msgid "Edit" -msgstr "Правка" - -msgid "The site could not be created due to errors." -msgstr "Сайт не может быть создан из-за ошибок." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Сайт '{0}' обновлен." - -msgid "The site could not be saved due to errors." -msgstr "Сайт не может быть сохранен из-за ошибок." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Сайт '{0}' удален." +msgid "Sites" +msgstr "Сайты" diff --git a/wagtail/wagtailsites/locale/sv/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/sv/LC_MESSAGES/django.mo new file mode 100644 index 000000000..4ff44fbfa Binary files /dev/null and b/wagtail/wagtailsites/locale/sv/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/sv/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/sv/LC_MESSAGES/django.po new file mode 100644 index 000000000..557420b91 --- /dev/null +++ b/wagtail/wagtailsites/locale/sv/LC_MESSAGES/django.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ludwig Kjellström , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Swedish (http://www.transifex.com/torchbox/wagtail/language/" +"sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Choose a root page" +msgstr "Välj en topp-sida" + +msgid "Choose a different root page" +msgstr "Välj en annan topp-sida" + +msgid "Site" +msgstr "Webbplats" + +msgid "Port" +msgstr "Port" + +msgid "Root page" +msgstr "Topp-sida" + +msgid "Default?" +msgstr "Standardwebbplats?" + +msgid "Default" +msgstr "Standardwebbplats" + +msgid "Sites" +msgstr "Webbplatser" diff --git a/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.mo index 4a868f8bf..02b1b6a47 100644 Binary files a/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.po index 6b32cbab3..95076814b 100644 --- a/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/tr_TR/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-22 18:51+0000\n" -"Last-Translator: José Alaguna \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/torchbox/wagtail/" "language/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,30 +25,6 @@ msgstr "Bir kaynak sayfa seç" msgid "Choose a different root page" msgstr "Bir farklı kaynak sayfa seç" -msgid "Delete site" -msgstr "Site sil" - -msgid "Are you sure you want to delete this site?" -msgstr "Bu siteyi silmek istediğinizden emin misiniz?" - -msgid "Yes, delete" -msgstr "Evet, sil" - -msgid "Add site" -msgstr "site ekle" - -msgid "Save" -msgstr "Kayde" - -msgid "Editing" -msgstr "Düzeltiliyor" - -msgid "Sites" -msgstr "siteler" - -msgid "Add a site" -msgstr "Bir site ekle" - msgid "Site" msgstr "Site" @@ -64,23 +40,5 @@ msgstr "Varsayılan mı" msgid "Default" msgstr "Varsayılan" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "Site '{0}' oluşturuldu." - -msgid "Edit" -msgstr "Düzenle" - -msgid "The site could not be created due to errors." -msgstr "Sitesi hataları nedeniyle oluşturulan olamazdı." - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "Site '{0}' güncelleştirildi." - -msgid "The site could not be saved due to errors." -msgstr "Sitesi hataları nedeniyle kurtarılamadı." - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "Site '{0}' silindi." +msgid "Sites" +msgstr "siteler" diff --git a/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.mo index e264c7aa0..78fa80cde 100644 Binary files a/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.po index 7f10aeb45..69953d0d6 100644 --- a/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailsites/locale/zh_CN/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-29 16:39+0000\n" -"Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-26 13:37+0000\n" +"Last-Translator: Karl Hobley \n" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,30 +26,6 @@ msgstr "选择根页面" msgid "Choose a different root page" msgstr "选择另外一个根页面" -msgid "Delete site" -msgstr "删除站点" - -msgid "Are you sure you want to delete this site?" -msgstr "确认删除?" - -msgid "Yes, delete" -msgstr "是,删除" - -msgid "Add site" -msgstr "增加站点" - -msgid "Save" -msgstr "保存" - -msgid "Editing" -msgstr "编辑" - -msgid "Sites" -msgstr "站点" - -msgid "Add a site" -msgstr "增加站点" - msgid "Site" msgstr "站点" @@ -65,23 +41,5 @@ msgstr "默认?" msgid "Default" msgstr "默认" -#, python-brace-format -msgid "Site '{0}' created." -msgstr "站点'{0}'已创建" - -msgid "Edit" -msgstr "编辑" - -msgid "The site could not be created due to errors." -msgstr "无法创建站点。出现错误。" - -#, python-brace-format -msgid "Site '{0}' updated." -msgstr "站点'{0}'已更新" - -msgid "The site could not be saved due to errors." -msgstr "无法保存站点,出现错误。" - -#, python-brace-format -msgid "Site '{0}' deleted." -msgstr "站点'{0}'已删除" +msgid "Sites" +msgstr "站点" diff --git a/wagtail/wagtailsites/templates/wagtailsites/_form.html b/wagtail/wagtailsites/templates/wagtailsites/_form.html new file mode 100644 index 000000000..694ea4a00 --- /dev/null +++ b/wagtail/wagtailsites/templates/wagtailsites/_form.html @@ -0,0 +1,4 @@ +{% include "wagtailadmin/shared/field_as_li.html" with field=form.hostname %} +{% include "wagtailadmin/shared/field_as_li.html" with field=form.port %} +{% include "wagtailadmin/shared/field_as_li.html" with field=form.root_page %} +{% include "wagtailadmin/shared/field_as_li.html" with field=form.is_default_site %} diff --git a/wagtail/wagtailsites/templates/wagtailsites/confirm_delete.html b/wagtail/wagtailsites/templates/wagtailsites/confirm_delete.html deleted file mode 100644 index 39ccfe4f0..000000000 --- a/wagtail/wagtailsites/templates/wagtailsites/confirm_delete.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "wagtailadmin/base.html" %} -{% load i18n %} -{% block titletag %}{% trans "Delete site" %}{% endblock %} - -{% block content %} - {% trans "Delete site" as del_str %} - {% include "wagtailadmin/shared/header.html" with title=del_str subtitle=site.hostname icon="site" %} - -
    -

    {% trans "Are you sure you want to delete this site?" %}

    -
    - {% csrf_token %} - - -
    -{% endblock %} diff --git a/wagtail/wagtailsites/templates/wagtailsites/create.html b/wagtail/wagtailsites/templates/wagtailsites/create.html index 4fa93f91c..eebe065dd 100644 --- a/wagtail/wagtailsites/templates/wagtailsites/create.html +++ b/wagtail/wagtailsites/templates/wagtailsites/create.html @@ -1,27 +1,9 @@ -{% extends "wagtailadmin/base.html" %} -{% load i18n %} +{% extends "wagtailadmin/generic/create.html" %} -{% block titletag %}{% trans "Add site" %} {{ site.hostname }}{% endblock %} - -{% block content %} - - {% trans "Add site" as add_site_str %} - {% include "wagtailadmin/shared/header.html" with title=add_site_str icon="site" %} - -
    - {% csrf_token %} -
    -
      - {% include "wagtailadmin/shared/field_as_li.html" with field=form.hostname %} - {% include "wagtailadmin/shared/field_as_li.html" with field=form.port %} - {% include "wagtailadmin/shared/field_as_li.html" with field=form.root_page %} - {% include "wagtailadmin/shared/field_as_li.html" with field=form.is_default_site %} - -
    • -
    -
    - +{% block form %} + {% include "wagtailsites/_form.html" %} {% endblock %} + {% block extra_js %} {% include "wagtailadmin/pages/_editor_js.html" %} {% endblock %} diff --git a/wagtail/wagtailsites/templates/wagtailsites/edit.html b/wagtail/wagtailsites/templates/wagtailsites/edit.html index 28b36cd2e..e8c6898a9 100644 --- a/wagtail/wagtailsites/templates/wagtailsites/edit.html +++ b/wagtail/wagtailsites/templates/wagtailsites/edit.html @@ -1,32 +1,7 @@ -{% extends "wagtailadmin/base.html" %} -{% load i18n %} +{% extends "wagtailadmin/generic/edit.html" %} -{% block titletag %}{% trans "Editing" %} {{ site.hostname }}{% endblock %} - -{% block content %} - - {% trans "Editing" as editing_str %} - {% include "wagtailadmin/shared/header.html" with title=editing_str subtitle=site.hostname icon="site" %} - -
    -
    - {% csrf_token %} - -
      - {% include "wagtailadmin/shared/field_as_li.html" with field=form.hostname %} - {% include "wagtailadmin/shared/field_as_li.html" with field=form.port %} - {% include "wagtailadmin/shared/field_as_li.html" with field=form.root_page %} - {% include "wagtailadmin/shared/field_as_li.html" with field=form.is_default_site %} - -
    • - - {% if perms.wagtailcore.delete_site %} - {% trans "Delete site" %} - {% endif %} -
    • -
    - -
    +{% block form %} + {% include "wagtailsites/_form.html" %} {% endblock %} {% block extra_js %} diff --git a/wagtail/wagtailsites/templates/wagtailsites/index.html b/wagtail/wagtailsites/templates/wagtailsites/index.html index ddf0abc02..5e1346cd8 100644 --- a/wagtail/wagtailsites/templates/wagtailsites/index.html +++ b/wagtail/wagtailsites/templates/wagtailsites/index.html @@ -1,15 +1,7 @@ -{% extends "wagtailadmin/base.html" %} +{% extends "wagtailadmin/generic/index.html" %} {% load i18n %} -{% block titletag %}{% trans "Sites" %}{% endblock %} -{% block content %} - {% trans "Sites" as sites_str %} - {% if perms.wagtailcore.add_site %} - {% trans "Add a site" as add_a_site_str %} - {% include "wagtailadmin/shared/header.html" with title=sites_str add_link="wagtailsites:add" add_text=add_a_site_str icon="site" %} - {% else %} - {% include "wagtailadmin/shared/header.html" with title=sites_str icon="site" %} - {% endif %} +{% block listing %}
    + {% block parent_page_title %} {% endblock %} {% if parent_page.latest_revision_created_at %}
    {{ parent_page.latest_revision_created_at|timesince }} ago
    {% endif %}
    {{ parent_page.content_type.model_class.get_verbose_name }} + {% if not parent_page.is_root %} + {{ parent_page.content_type.model_class.get_verbose_name }} + {% endif %} + {% if not parent_page.is_root %} {% include "wagtailadmin/shared/page_status_tag.html" with page=parent_page %} @@ -42,8 +46,8 @@ {% for page in pages %} {% page_permissions page as page_perms %}
    {% if ordering == "ord" %}
    {% trans 'Drag' %}
    {% endif %}
    {% if orderable and ordering == "ord" %}
    {% trans 'Drag' %}
    {% endif %}
    {% block page_title %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list_explore.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list_explore.html index f9f4c3a64..c02da8241 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list_explore.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/listing/_list_explore.html @@ -9,6 +9,50 @@ {% endblock %} {% block post_parent_page_headers %} + + {% if parent_page %} + {% if parent_page.is_root %} +
    + {% if perms.wagtailcore.add_site %} + {% url 'wagtailsites:index' as wagtailsites_index_url %} +

    + {% blocktrans %} + The root level is where you can add new sites to your Wagtail installation. Pages created here will not be accessible at any URL until they are associated with a site. + {% endblocktrans %} + {% if wagtailsites_index_url %} + {% trans "Configure a site now." %} + {% endif %} +

    +

    + {% blocktrans %} + If you just want to add pages to an existing site, create them as children of the homepage instead. + {% endblocktrans %} +

    + {% else %} + {% blocktrans %} + Pages created here will not be accessible at any URL. To add pages to an existing site, create them as children of the homepage. + {% endblocktrans %} + {% endif %} +
    + {% if perms.wagtailcore.add_site %} + {% url 'wagtailsites:index' as wagtailsites_index_url %} + {% blocktrans %} + There is no site set up for this location. Pages created here will not be accessible at any URL until a site is associated with this location. + {% endblocktrans %} + {% if wagtailsites_index_url %} + {% trans "Configure a site now." %} + {% endif %} + {% else %} + {% blocktrans %} + There is no site record for this location. Pages created here will not be accessible at any URL. + {% endblocktrans %} + {% endif %} +
    - {% if ordering == "ord" %} - {% trans 'Order' %} {{ heading }}{% trans "Actions" %}
    {{ cell }} + + delete +
    diff --git a/wagtail/wagtailsites/tests.py b/wagtail/wagtailsites/tests.py index c506bc7a0..3d9f15fbe 100644 --- a/wagtail/wagtailsites/tests.py +++ b/wagtail/wagtailsites/tests.py @@ -238,7 +238,7 @@ class TestSiteDeleteView(TestCase, WagtailTestUtils): def test_simple(self): response = self.get() self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, 'wagtailsites/confirm_delete.html') + self.assertTemplateUsed(response, 'wagtailadmin/generic/confirm_delete.html') def test_nonexistant_redirect(self): self.assertEqual(self.get(site_id=100000).status_code, 404) @@ -319,7 +319,7 @@ class TestLimitedPermissions(TestCase, WagtailTestUtils): delete_url = reverse('wagtailsites:delete', args=(self.localhost.id,)) response = self.client.get(delete_url) self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, 'wagtailsites/confirm_delete.html') + self.assertTemplateUsed(response, 'wagtailadmin/generic/confirm_delete.html') def test_delete(self): delete_url = reverse('wagtailsites:delete', args=(self.localhost.id,)) diff --git a/wagtail/wagtailsites/urls.py b/wagtail/wagtailsites/urls.py index 2b4237ba9..d92861c46 100644 --- a/wagtail/wagtailsites/urls.py +++ b/wagtail/wagtailsites/urls.py @@ -2,8 +2,8 @@ from django.conf.urls import url from wagtail.wagtailsites import views urlpatterns = [ - url(r'^$', views.index, name='index'), - url(r'^add/$', views.create, name='add'), - url(r'^(\d+)/$', views.edit, name='edit'), - url(r'^(\d+)/delete/$', views.delete, name='delete'), + url(r'^$', views.Index.as_view(), name='index'), + url(r'^add/$', views.Create.as_view(), name='add'), + url(r'^(\d+)/$', views.Edit.as_view(), name='edit'), + url(r'^(\d+)/delete/$', views.Delete.as_view(), name='delete'), ] diff --git a/wagtail/wagtailsites/views.py b/wagtail/wagtailsites/views.py index 2475be0a2..30243e60c 100644 --- a/wagtail/wagtailsites/views.py +++ b/wagtail/wagtailsites/views.py @@ -1,80 +1,56 @@ -from django.shortcuts import render, redirect, get_object_or_404 -from django.contrib.auth.decorators import permission_required, user_passes_test -from django.utils.translation import ugettext as _ -from django.core.urlresolvers import reverse +from django.utils.translation import ugettext_lazy as __ from wagtail.wagtailcore.models import Site from wagtail.wagtailsites.forms import SiteForm -from wagtail.wagtailadmin import messages +from wagtail.wagtailadmin.views.generic import IndexView, CreateView, EditView, DeleteView -def user_has_site_model_perm(user): - for verb in ['add', 'change', 'delete']: - if user.has_perm('wagtailcore.%s_site' % verb): - return True - return False +class Index(IndexView): + any_permission_required = ['wagtailcore.add_site', 'wagtailcore.change_site', 'wagtailcore.delete_site'] + model = Site + context_object_name = 'sites' + template_name = 'wagtailsites/index.html' + add_url_name = 'wagtailsites:add' + add_permission_name = 'wagtailcore.add_site' + page_title = __("Sites") + add_item_label = __("Add a site") + header_icon = 'site' -@user_passes_test(user_has_site_model_perm) -def index(request): - sites = Site.objects.all() - return render(request, 'wagtailsites/index.html', { - 'sites': sites, - }) +class Create(CreateView): + permission_required = 'wagtailcore.add_site' + form_class = SiteForm + page_title = __("Add site") + success_message = __("Site '{0}' created.") + add_url_name = 'wagtailsites:add' + edit_url_name = 'wagtailsites:edit' + index_url_name = 'wagtailsites:index' + template_name = 'wagtailsites/create.html' + header_icon = 'site' -@permission_required('wagtailcore.add_site') -def create(request): - if request.method == 'POST': - form = SiteForm(request.POST) - if form.is_valid(): - site = form.save() - messages.success(request, _("Site '{0}' created.").format(site.hostname), buttons=[ - messages.button(reverse('wagtailsites:edit', args=(site.id,)), _('Edit')) - ]) - return redirect('wagtailsites:index') - else: - messages.error(request, _("The site could not be created due to errors.")) - else: - form = SiteForm() - - return render(request, 'wagtailsites/create.html', { - 'form': form, - }) +class Edit(EditView): + permission_required = 'wagtailcore.change_site' + model = Site + form_class = SiteForm + success_message = __("Site '{0}' updated.") + error_message = __("The site could not be saved due to errors.") + delete_item_label = __("Delete site") + edit_url_name = 'wagtailsites:edit' + index_url_name = 'wagtailsites:index' + delete_url_name = 'wagtailsites:delete' + delete_permission_name = 'wagtailcore.delete_site' + context_object_name = 'site' + template_name = 'wagtailsites/edit.html' + header_icon = 'site' -@permission_required('wagtailcore.change_site') -def edit(request, site_id): - site = get_object_or_404(Site, id=site_id) - - if request.method == 'POST': - form = SiteForm(request.POST, instance=site) - if form.is_valid(): - site = form.save() - messages.success(request, _("Site '{0}' updated.").format(site.hostname), buttons=[ - messages.button(reverse('wagtailsites:edit', args=(site.id,)), _('Edit')) - ]) - return redirect('wagtailsites:index') - else: - messages.error(request, _("The site could not be saved due to errors.")) - else: - form = SiteForm(instance=site) - - return render(request, 'wagtailsites/edit.html', { - 'site': site, - 'form': form, - }) - - -@permission_required('wagtailcore.delete_site') -def delete(request, site_id): - site = get_object_or_404(Site, id=site_id) - - if request.method == 'POST': - site.delete() - messages.success(request, _("Site '{0}' deleted.").format(site.hostname)) - return redirect('wagtailsites:index') - - return render(request, "wagtailsites/confirm_delete.html", { - 'site': site, - }) +class Delete(DeleteView): + permission_required = 'wagtailcore.delete_site' + model = Site + success_message = __("Site '{0}' deleted.") + index_url_name = 'wagtailsites:index' + delete_url_name = 'wagtailsites:delete' + page_title = __("Delete site") + confirmation_message = __("Are you sure you want to delete this site?") + header_icon = 'site' diff --git a/wagtail/wagtailsites/wagtail_hooks.py b/wagtail/wagtailsites/wagtail_hooks.py index ae837d5c6..a0e19bc51 100644 --- a/wagtail/wagtailsites/wagtail_hooks.py +++ b/wagtail/wagtailsites/wagtail_hooks.py @@ -1,6 +1,7 @@ from django.conf.urls import include, url from django.core import urlresolvers from django.utils.translation import ugettext_lazy as _ +from django.contrib.auth.models import Permission from wagtail.wagtailcore import hooks from wagtail.wagtailadmin.menu import MenuItem @@ -19,7 +20,7 @@ class SitesMenuItem(MenuItem): def is_shown(self, request): return ( request.user.has_perm('wagtailcore.add_site') - or request.user.has_perm('wagtailcore.edit_site') + or request.user.has_perm('wagtailcore.change_site') or request.user.has_perm('wagtailcore.delete_site') ) @@ -27,3 +28,9 @@ class SitesMenuItem(MenuItem): @hooks.register('register_settings_menu_item') def register_sites_menu_item(): return SitesMenuItem(_('Sites'), urlresolvers.reverse('wagtailsites:index'), classnames='icon icon-site', order=602) + + +@hooks.register('register_permissions') +def register_permissions(): + return Permission.objects.filter(content_type__app_label='wagtailcore', + codename__in=['add_site', 'change_site', 'delete_site']) diff --git a/wagtail/wagtailsnippets/edit_handlers.py b/wagtail/wagtailsnippets/edit_handlers.py index 0c3f26564..7ceadd1f0 100644 --- a/wagtail/wagtailsnippets/edit_handlers.py +++ b/wagtail/wagtailsnippets/edit_handlers.py @@ -4,40 +4,62 @@ from django.template.loader import render_to_string from django.contrib.contenttypes.models import ContentType from django.utils.safestring import mark_safe from django.utils.encoding import force_text +from django.core.exceptions import ImproperlyConfigured from wagtail.wagtailadmin.edit_handlers import BaseChooserPanel +from wagtail.wagtailcore.utils import resolve_model_string from .widgets import AdminSnippetChooser class BaseSnippetChooserPanel(BaseChooserPanel): object_type_name = 'item' - _content_type = None + _target_model = None + _target_content_type = None @classmethod def widget_overrides(cls): return {cls.field_name: AdminSnippetChooser( - content_type=cls.content_type(), snippet_type_name=cls.snippet_type_name)} + content_type=cls.target_content_type(), snippet_type_name=cls.get_snippet_type_name())} @classmethod - def content_type(cls): - if cls._content_type is None: - # TODO: infer the content type by introspection on the foreign key rather than having to pass it explicitly - cls._content_type = ContentType.objects.get_for_model(cls.snippet_type) + def target_model(cls): + if cls._target_model is None: + if cls.snippet_type: + try: + cls._target_model = resolve_model_string(cls.snippet_type) + except LookupError: + raise ImproperlyConfigured("{0}.snippet_type must be of the form 'app_label.model_name', given {1!r}".format( + cls.__name__, cls.snippet_type)) + except ValueError: + raise ImproperlyConfigured("{0}.snippet_type refers to model {1!r} that has not been installed".format( + cls.__name__, cls.snippet_type)) + else: + cls._target_model = cls.model._meta.get_field(cls.field_name).rel.to - return cls._content_type + return cls._target_model + + @classmethod + def target_content_type(cls): + if cls._target_content_type is None: + cls._target_content_type = ContentType.objects.get_for_model(cls.target_model()) + return cls._target_content_type def render_as_field(self): instance_obj = self.get_chosen_item() return mark_safe(render_to_string(self.field_template, { 'field': self.bound_field, self.object_type_name: instance_obj, - 'snippet_type_name': self.snippet_type_name, + 'snippet_type_name': self.get_snippet_type_name(), })) + @classmethod + def get_snippet_type_name(cls): + return force_text(cls.target_model()._meta.verbose_name) + class SnippetChooserPanel(object): - def __init__(self, field_name, snippet_type): + def __init__(self, field_name, snippet_type=None): self.field_name = field_name self.snippet_type = snippet_type @@ -45,6 +67,5 @@ class SnippetChooserPanel(object): return type(str('_SnippetChooserPanel'), (BaseSnippetChooserPanel,), { 'model': model, 'field_name': self.field_name, - 'snippet_type_name': force_text(self.snippet_type._meta.verbose_name), 'snippet_type': self.snippet_type, }) diff --git a/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.mo index 15a36fdcb..abd2bebb6 100644 Binary files a/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.po index 7ff7cd256..f8e461d66 100644 --- a/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/bg/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-03-06 12:15+0000\n" "Last-Translator: mattwestcott \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.mo index 29b588b9a..5c9a386f6 100644 Binary files a/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.po index 2370efaa4..b5947d00b 100644 --- a/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/ca/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-03-06 12:15+0000\n" "Last-Translator: mattwestcott \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.mo index baae03e63..68fa1f3df 100644 Binary files a/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.po index 26a3b9e83..4c275a076 100644 --- a/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/de/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-12 13:28+0000\n" "Last-Translator: Wasilis Mandratzis-Walz\n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.mo index 13d05fd51..341ed87d6 100644 Binary files a/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.po index c690a65a8..45ca77f5b 100644 --- a/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/el/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-12 13:48+0000\n" "Last-Translator: Wasilis Mandratzis-Walz\n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.po index 4abfa9eae..2be63170a 100644 --- a/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,17 +39,17 @@ msgstr "" msgid "Delete %(snippet_type_name)s - %(instance)s" msgstr "" -#: templates/wagtailsnippets/snippets/confirm_delete.html:6 -#: templates/wagtailsnippets/snippets/edit.html:20 +#: templates/wagtailsnippets/snippets/confirm_delete.html:5 +#: templates/wagtailsnippets/snippets/edit.html:19 msgid "Delete" msgstr "" -#: templates/wagtailsnippets/snippets/confirm_delete.html:10 +#: templates/wagtailsnippets/snippets/confirm_delete.html:9 #, python-format msgid "Are you sure you want to delete this %(snippet_type_name)s?" msgstr "" -#: templates/wagtailsnippets/snippets/confirm_delete.html:13 +#: templates/wagtailsnippets/snippets/confirm_delete.html:12 msgid "Yes, delete" msgstr "" @@ -58,12 +58,12 @@ msgstr "" msgid "New %(snippet_type_name)s" msgstr "" -#: templates/wagtailsnippets/snippets/create.html:6 +#: templates/wagtailsnippets/snippets/create.html:5 msgid "New" msgstr "" -#: templates/wagtailsnippets/snippets/create.html:17 -#: templates/wagtailsnippets/snippets/edit.html:17 +#: templates/wagtailsnippets/snippets/create.html:16 +#: templates/wagtailsnippets/snippets/edit.html:16 msgid "Save" msgstr "" @@ -72,7 +72,7 @@ msgstr "" msgid "Editing %(snippet_type_name)s - %(instance)s" msgstr "" -#: templates/wagtailsnippets/snippets/edit.html:6 +#: templates/wagtailsnippets/snippets/edit.html:5 msgid "Editing" msgstr "" @@ -85,7 +85,7 @@ msgstr "" msgid "Snippets %(snippet_type_name_plural)s" msgstr "" -#: templates/wagtailsnippets/snippets/type_index.html:10 +#: templates/wagtailsnippets/snippets/type_index.html:9 #, python-format msgid "Snippets %(snippet_type_name_plural)s" msgstr "" @@ -95,7 +95,7 @@ msgstr "" msgid "Add %(snippet_type_name)s" msgstr "" -#: templates/wagtailsnippets/snippets/type_index.html:23 +#: templates/wagtailsnippets/snippets/type_index.html:24 #, python-format msgid "" "No %(snippet_type_name_plural)s have been created. Why not \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.mo index 29802a16b..649269927 100644 Binary files a/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.po index e3f03d575..02470ab36 100644 --- a/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/fr/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-17 11:58+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.mo index 9e7614cad..274fedfb9 100644 Binary files a/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.po index 9f1732472..81397b635 100644 --- a/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/gl/LC_MESSAGES/django.po @@ -9,11 +9,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-03-06 12:15+0000\n" "Last-Translator: mattwestcott \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.mo index 304365af1..bd11b26f4 100644 Binary files a/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.po index ed42ba34a..c618e3508 100644 --- a/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/he_IL/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-20 14:04+0000\n" "Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..74e8f0c91 Binary files /dev/null and b/wagtail/wagtailsnippets/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..a82cc8a8a --- /dev/null +++ b/wagtail/wagtailsnippets/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,59 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +# saevarom , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-07-01 09:38+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Choose" +msgstr "Velja" + +msgid "Title" +msgstr "Titill" + +msgid "Delete" +msgstr "Eyða" + +msgid "Yes, delete" +msgstr "Já, eyða" + +msgid "Save" +msgstr "Vista" + +msgid "Parent" +msgstr "Yfirsíða" + +msgid "Type" +msgstr "Tegund" + +msgid "Status" +msgstr "Staða" + +msgid "Edit this page" +msgstr "Breyta þessari síðu" + +msgid "Edit" +msgstr "Breyta" + +#, python-format +msgid "Choose another %s" +msgstr "Velja aðra %s" + +#, python-format +msgid "Edit this %s" +msgstr "Breyta þessari %s" diff --git a/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.mo index 3bb89688a..4cdfe7f4b 100644 Binary files a/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.po index d1bfe96d3..eb846fad3 100644 --- a/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-30 06:32+0000\n" "Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..ad760b7f2 Binary files /dev/null and b/wagtail/wagtailsnippets/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..534a1250f --- /dev/null +++ b/wagtail/wagtailsnippets/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,141 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-07-23 11:58+0000\n" +"Last-Translator: Ji Han Chung \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Choose" +msgstr "선택" + +#, python-format +msgid "" +"You haven't created any %(snippet_type_name)s snippets. Why not create one now" +msgstr "" +"업로드된 %(snippet_type_name)s 콘텐츠가 없습니다. 지금 콘텐츠를 생성 해 보시는" +"건 어떨까요?" + +msgid "Title" +msgstr "제목" + +#, python-format +msgid "Delete %(snippet_type_name)s - %(instance)s" +msgstr "%(snippet_type_name)s - %(instance)s 삭제" + +msgid "Delete" +msgstr "삭제" + +#, python-format +msgid "Are you sure you want to delete this %(snippet_type_name)s?" +msgstr "이 %(snippet_type_name)s 콘텐츠를 정말 삭제할까요?" + +msgid "Yes, delete" +msgstr "네, 지우겠습니다." + +#, python-format +msgid "New %(snippet_type_name)s" +msgstr "새로운 %(snippet_type_name)s" + +msgid "New" +msgstr "새로운" + +msgid "Save" +msgstr "저장" + +#, python-format +msgid "Editing %(snippet_type_name)s - %(instance)s" +msgstr "%(snippet_type_name)s - %(instance)s 수정" + +msgid "Editing" +msgstr "수정중" + +msgid "Snippets" +msgstr "콘텐츠" + +#, python-format +msgid "Snippets %(snippet_type_name_plural)s" +msgstr "%(snippet_type_name_plural)s 콘텐츠" + +#, python-format +msgid "Snippets %(snippet_type_name_plural)s" +msgstr "%(snippet_type_name_plural)s 콘텐츠" + +#, python-format +msgid "Add %(snippet_type_name)s" +msgstr "%(snippet_type_name)s 추가" + +#, python-format +msgid "" +"No %(snippet_type_name_plural)s have been created. Why not add one?" +msgstr "" +"생성된 %(snippet_type_name_plural)s 콘텐츠가 없습니다. 지금 콘텐츠를 추가 해 보시는건 어떨까요?" + +#, python-format +msgid "Usage of %(title)s" +msgstr "%(title)s 의 사용" + +msgid "Usage of" +msgstr "의 사용" + +msgid "Parent" +msgstr "상위" + +msgid "Type" +msgstr "타입" + +msgid "Status" +msgstr "상태" + +msgid "Edit this page" +msgstr "페이지 변경" + +#, python-brace-format +msgid "{snippet_type} '{instance}' created." +msgstr "{snippet_type} '{instance}' 이 생성 되었습니다." + +msgid "Edit" +msgstr "수정" + +msgid "The snippet could not be created due to errors." +msgstr "에러로 인해 콘텐츠를 생성할 수 없습니다." + +#, python-brace-format +msgid "{snippet_type} '{instance}' updated." +msgstr "{snippet_type} '{instance}' 가 업데이트 되었습니다." + +msgid "The snippet could not be saved due to errors." +msgstr "에러로 인해 콘텐츠를 저장할 수 없습니다." + +#, python-brace-format +msgid "{snippet_type} '{instance}' deleted." +msgstr "{snippet_type} '{instance}' 가 삭제 되었습니다." + +#, python-format +msgid "Choose %s" +msgstr "%s 선택" + +#, python-format +msgid "Choose another %s" +msgstr "다른 %s 선택" + +#, python-format +msgid "Edit this %s" +msgstr "%s 수정" diff --git a/wagtail/wagtailsnippets/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..7a7951156 Binary files /dev/null and b/wagtail/wagtailsnippets/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..5bd202a77 --- /dev/null +++ b/wagtail/wagtailsnippets/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,140 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 14:42+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Choose" +msgstr "Velg" + +#, python-format +msgid "" +"You haven't created any %(snippet_type_name)s snippets. Why not create one now" +msgstr "" +"Du har ikke opprettet noen %(snippet_type_name)s-snutter. Hvorfor ikke lage en nå?" + +msgid "Title" +msgstr "Tittel" + +#, python-format +msgid "Delete %(snippet_type_name)s - %(instance)s" +msgstr "Slett %(snippet_type_name)s - %(instance)s" + +msgid "Delete" +msgstr "Slett" + +#, python-format +msgid "Are you sure you want to delete this %(snippet_type_name)s?" +msgstr "Er du sikker på at du vil slette denne %(snippet_type_name)s?" + +msgid "Yes, delete" +msgstr "Ja, slett" + +#, python-format +msgid "New %(snippet_type_name)s" +msgstr "Ny %(snippet_type_name)s" + +msgid "New" +msgstr "Ny" + +msgid "Save" +msgstr "Lagre" + +#, python-format +msgid "Editing %(snippet_type_name)s - %(instance)s" +msgstr "Redigerer %(snippet_type_name)s - %(instance)s" + +msgid "Editing" +msgstr "Redigerer" + +msgid "Snippets" +msgstr "Snutter" + +#, python-format +msgid "Snippets %(snippet_type_name_plural)s" +msgstr "Snutter %(snippet_type_name_plural)s" + +#, python-format +msgid "Snippets %(snippet_type_name_plural)s" +msgstr "Snutter %(snippet_type_name_plural)s" + +#, python-format +msgid "Add %(snippet_type_name)s" +msgstr "Legg til %(snippet_type_name)s" + +#, python-format +msgid "" +"No %(snippet_type_name_plural)s have been created. Why not add one?" +msgstr "" +"Ingen %(snippet_type_name_plural)s har blitt opprettet. Hvorfor ikke legge til en?" + +#, python-format +msgid "Usage of %(title)s" +msgstr "Bruk av %(title)s" + +msgid "Usage of" +msgstr "Bruk av" + +msgid "Parent" +msgstr "Forelder" + +msgid "Type" +msgstr "Type" + +msgid "Status" +msgstr "Status" + +msgid "Edit this page" +msgstr "Rediger denne siden" + +#, python-brace-format +msgid "{snippet_type} '{instance}' created." +msgstr "{snippet_type} \"{instance}\" opprettet." + +msgid "Edit" +msgstr "Rediger" + +msgid "The snippet could not be created due to errors." +msgstr "Snutten kunne ikke opprettes grunnet feil." + +#, python-brace-format +msgid "{snippet_type} '{instance}' updated." +msgstr "{snippet_type} \"{instance}\" oppdatert." + +msgid "The snippet could not be saved due to errors." +msgstr "Snutten kunne ikke lagres grunnet feil." + +#, python-brace-format +msgid "{snippet_type} '{instance}' deleted." +msgstr "{snippet_type} \"{instance}\" slettet." + +#, python-format +msgid "Choose %s" +msgstr "Velg %s" + +#, python-format +msgid "Choose another %s" +msgstr "Velg en annen %s" + +#, python-format +msgid "Edit this %s" +msgstr "Endre %s" diff --git a/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.mo index e92319311..af3a4f1ca 100644 Binary files a/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.po index 609b7a936..841cea49f 100644 --- a/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/pl/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-03-06 12:15+0000\n" "Last-Translator: mattwestcott \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.mo index 7e6a0f614..31a1ee0ca 100644 Binary files a/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.po index ec8bc4da4..390171041 100644 --- a/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/pt_BR/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-17 11:58+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.mo index f67225e9b..72e5353a5 100644 Binary files a/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.po index 38a01debb..827ce3b21 100644 --- a/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/pt_PT/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-29 17:27+0000\n" "Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.mo index 15f60daa0..babd1e187 100644 Binary files a/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.po index b40a0aaa9..08932c56b 100644 --- a/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/ro/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-03-06 12:15+0000\n" "Last-Translator: mattwestcott \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.mo index 7e85de113..b16d07586 100644 Binary files a/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.po index d63e9e388..81907d657 100644 --- a/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/ru/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-05 13:12+0000\n" "Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.mo index 53f2c4ee9..fad983ad8 100644 Binary files a/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.po index c00033a1e..9b5b43b1c 100644 --- a/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/zh/LC_MESSAGES/django.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-03-06 12:15+0000\n" "Last-Translator: mattwestcott \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.mo index 0c71577ee..ea2455321 100644 Binary files a/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.po index 2662e5357..8b0ba3eb3 100644 --- a/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/zh_CN/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 17:13+0000\n" "Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.mo b/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.mo index 86308142a..783dc6270 100644 Binary files a/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.mo and b/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.po b/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.po index 4fa5680f3..69fbc6592 100644 --- a/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.po +++ b/wagtail/wagtailsnippets/locale/zh_TW/LC_MESSAGES/django.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-17 11:58+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/torchbox/wagtail/" "language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/wagtail/wagtailsnippets/models.py b/wagtail/wagtailsnippets/models.py index 36bcc9a63..d851e068e 100644 --- a/wagtail/wagtailsnippets/models.py +++ b/wagtail/wagtailsnippets/models.py @@ -21,6 +21,10 @@ def get_snippet_content_types(): return SNIPPET_CONTENT_TYPES +def get_snippet_models(): + return SNIPPET_MODELS + + def register_snippet(model): if model not in SNIPPET_MODELS: model.get_usage = get_object_usage diff --git a/wagtail/wagtailsnippets/permissions.py b/wagtail/wagtailsnippets/permissions.py index 5a730909b..66e18df1f 100644 --- a/wagtail/wagtailsnippets/permissions.py +++ b/wagtail/wagtailsnippets/permissions.py @@ -1,33 +1,36 @@ -from django.contrib.auth.models import Permission +from django.contrib.auth import get_permission_codename +from django.contrib.contenttypes.models import ContentType -from wagtail.wagtailsnippets.models import get_snippet_content_types +from wagtail.wagtailsnippets.models import get_snippet_models -def user_can_edit_snippet_type(user, content_type): - """ true if user has any permission related to this content type """ - if user.is_active and user.is_superuser: - return True +def get_permission_name(action, model): + return "%s.%s" % (model._meta.app_label, get_permission_codename(action, model._meta)) - permission_codenames = content_type.permission_set.values_list('codename', flat=True) - for codename in permission_codenames: - permission_name = "%s.%s" % (content_type.app_label, codename) - if user.has_perm(permission_name): + +def user_can_edit_snippet_type(user, model_or_content_type): + """ true if user has 'add', 'change' or 'delete' permission on this model """ + if isinstance(model_or_content_type, ContentType): + model = model_or_content_type.model_class() + else: + model = model_or_content_type + + for action in ('add', 'change', 'delete'): + if user.has_perm(get_permission_name(action, model)): return True return False def user_can_edit_snippets(user): - """ true if user has any permission related to any content type registered as a snippet type """ - snippet_content_types = get_snippet_content_types() - if user.is_active and user.is_superuser: - # admin can edit snippets iff any snippet types exist - return bool(snippet_content_types) + """ + true if user has 'add', 'change' or 'delete' permission + on any model registered as a snippet type + """ + snippet_models = get_snippet_models() - permissions = Permission.objects.filter(content_type__in=snippet_content_types).select_related('content_type') - for perm in permissions: - permission_name = "%s.%s" % (perm.content_type.app_label, perm.codename) - if user.has_perm(permission_name): + for model in snippet_models: + if user_can_edit_snippet_type(user, model): return True return False diff --git a/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.html b/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.html index 7bc89c93b..1d7bf82e5 100644 --- a/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.html +++ b/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.html @@ -3,11 +3,20 @@ {% include "wagtailadmin/shared/header.html" with title=choose_str subtitle=snippet_type_name icon="snippet" %} diff --git a/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.js b/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.js index a82e6f62f..fe5cd2a18 100644 --- a/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.js +++ b/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/choose.js @@ -1,7 +1,5 @@ function initModal(modal) { - var listingUrl = $('#snippet-chooser-list', modal.body).data('url'); - function ajaxifyLinks(context) { $('a.snippet-choice', modal.body).click(function() { modal.loadUrl(this.href); @@ -15,27 +13,45 @@ function initModal(modal) { }); } - function setPage(page) { + var searchUrl = $('form.snippet-search', modal.body).attr('action'); + function search() { $.ajax({ - url: listingUrl, - data: { p: page }, - dataType: 'html', - success: function(data, status, xhr) { - var response = eval('(' + data + ')'); - $(modal.body).html(response.html); - - if (response.onload) { - response.onload(self); - } - - ajaxifyLinks($('#snippet-chooser-list')); + url: searchUrl, + data: {q: $('#id_q').val(), results: 'true'}, + success: function(data, status) { + $('#search-results').html(data); + ajaxifyLinks($('#search-results')); } }); - return false; } - ajaxifyLinks(modal.body); + function setPage(page) { + var dataObj = {p: page, results: 'true'}; + if ($('#id_q').length && $('#id_q').val().length) { + dataObj.q = $('#id_q').val(); + } + + $.ajax({ + url: searchUrl, + data: dataObj, + success: function(data, status) { + $('#search-results').html(data); + ajaxifyLinks($('#search-results')); + } + }); + return false; + } + + $('form.snippet-search', modal.body).submit(search); + + $('#id_q').on('input', function() { + clearTimeout($.data(this, 'timer')); + var wait = setTimeout(search, 50); + $(this).data('timer', wait); + }); + + ajaxifyLinks(modal.body); } diff --git a/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/list.html b/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/list.html deleted file mode 100644 index 819cd762f..000000000 --- a/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/list.html +++ /dev/null @@ -1,29 +0,0 @@ -{% load i18n %} - -{% url "wagtailsnippets:choose" content_type.app_label content_type.model as linkurl %} - -
    - - - - - - - - - - {% for snippet in items %} - - - - {% endfor %} - -
    {% trans "Title" %}
    - {% if choosing %} -

    {{ snippet }}

    - {% else %} -

    {{ snippet }}

    - {% endif %} -
    - -{% include "wagtailadmin/shared/pagination_nav.html" with items=items is_ajax=1 %} diff --git a/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/results.html b/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/results.html new file mode 100644 index 000000000..88d999c7c --- /dev/null +++ b/wagtail/wagtailsnippets/templates/wagtailsnippets/chooser/results.html @@ -0,0 +1,23 @@ +{% load i18n %} +{% if items %} + {% if is_searching %} +

    + {% blocktrans count counter=items.paginator.count %} + There is one match + {% plural %} + There are {{ counter }} matches + {% endblocktrans %} +

    + {% endif %} + + {% include "wagtailsnippets/snippets/list.html" with choosing=1 %} + + {% include "wagtailadmin/shared/pagination_nav.html" with items=items is_ajax=1 %} +{% else %} + {% if is_searching %} +

    {% blocktrans %}Sorry, no snippets match "{{ query_string }}"{% endblocktrans %}

    + {% else %} + {% url 'wagtailsnippets:add' content_type.app_label content_type.model as wagtailsnippets_create_snippet_url %} +

    {% blocktrans %}You haven't created any {{ snippet_type_name }} snippets. Why not create one now{% endblocktrans %}

    + {% endif %} +{% endif %} diff --git a/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/list.html b/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/list.html index 7b6e8ac89..930622b4d 100644 --- a/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/list.html +++ b/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/list.html @@ -22,6 +22,3 @@ {% endfor %} - - -{% include "wagtailadmin/shared/pagination_nav.html" with items=items is_ajax=is_ajax linkurl=linkurl %} diff --git a/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/results.html b/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/results.html new file mode 100644 index 000000000..3bb5ec29f --- /dev/null +++ b/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/results.html @@ -0,0 +1,24 @@ +{% load i18n %} +{% if items %} + {% if is_searching %} +

    + {% blocktrans count counter=items.paginator.count %} + There is one match + {% plural %} + There are {{ counter }} matches + {% endblocktrans %} +

    + {% endif %} + + {% include "wagtailsnippets/snippets/list.html" %} + + {% url 'wagtailsnippets:list' content_type.app_label content_type.model as wagtailsnippets_list_url %} + {% include "wagtailadmin/shared/pagination_nav.html" with items=items is_searching=is_searching linkurl=wagtailsnippets_list_url %} +{% else %} + {% if is_searching %} +

    {% blocktrans %}Sorry, no snippets match "{{ query_string }}"{% endblocktrans %}

    + {% else %} + {% url 'wagtailsnippets:add' content_type.app_label content_type.model as wagtailsnippets_create_url %} +

    {% blocktrans %}No {{ snippet_type_name_plural }} have been created. Why not add one?{% endblocktrans %}

    + {% endif %} +{% endif %} diff --git a/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/type_index.html b/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/type_index.html index 01ec20e23..68b7d4358 100644 --- a/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/type_index.html +++ b/wagtail/wagtailsnippets/templates/wagtailsnippets/snippets/type_index.html @@ -1,25 +1,47 @@ {% extends "wagtailadmin/base.html" %} {% load i18n %} {% block titletag %}{% blocktrans with snippet_type_name_plural=snippet_type_name_plural|capfirst %}Snippets {{ snippet_type_name_plural }}{% endblocktrans %}{% endblock %} + +{% block extra_js %} + +{% endblock %} + {% block content %}

    {% blocktrans with snippet_type_name_plural=snippet_type_name_plural|capfirst %}Snippets {{ snippet_type_name_plural }}{% endblocktrans %}

    + + {% if is_searchable %} +
    +
      + {% for field in search_form %} + {% include "wagtailadmin/shared/field_as_li.html" with field=field field_classes="field-small iconfield" input_classes="icon-search" %} + {% endfor %} +
    • +
    +
    + {% endif %}
    - {% blocktrans %}Add {{ snippet_type_name }}{% endblocktrans %} - {# TODO: figure out a way of saying "Add a/an [foo]" #} + {% if can_add_snippet %} + {% blocktrans %}Add {{ snippet_type_name }}{% endblocktrans %} + {# TODO: figure out a way of saying "Add a/an [foo]" #} + {% endif %}
    +
    - {% if items %} - {% include "wagtailsnippets/snippets/list.html" %} - {% else %} - {% url 'wagtailsnippets:add' content_type.app_label content_type.model as wagtailsnippets_create_url %} -

    {% blocktrans %}No {{ snippet_type_name_plural }} have been created. Why not add one?{% endblocktrans %}

    - {% endif %} +
    + {% include "wagtailsnippets/snippets/results.html" %} +
    {% endblock %} diff --git a/wagtail/wagtailsnippets/tests.py b/wagtail/wagtailsnippets/tests.py index 5e4932171..fa9d68b12 100644 --- a/wagtail/wagtailsnippets/tests.py +++ b/wagtail/wagtailsnippets/tests.py @@ -1,11 +1,17 @@ from django.test import TestCase from django.core.urlresolvers import reverse from django.test.utils import override_settings +from django.contrib.auth import get_user_model +from django.contrib.auth.models import Permission +from django.core.exceptions import ImproperlyConfigured + +from taggit.models import Tag from wagtail.tests.utils import WagtailTestUtils from wagtail.tests.testapp.models import Advert, SnippetChooserModel -from wagtail.tests.snippets.models import AlphaSnippet, ZuluSnippet, RegisterDecorator, RegisterFunction +from wagtail.tests.snippets.models import AlphaSnippet, ZuluSnippet, RegisterDecorator, RegisterFunction, SearchableSnippet from wagtail.wagtailsnippets.models import register_snippet, SNIPPET_MODELS +from wagtail.wagtailsnippets.edit_handlers import SnippetChooserPanel from wagtail.wagtailsnippets.views.snippets import ( get_snippet_edit_handler @@ -54,6 +60,56 @@ class TestSnippetListView(TestCase, WagtailTestUtils): def test_displays_add_button(self): self.assertContains(self.get(), "Add advert") + def test_not_searchable(self): + self.assertFalse(self.get().context['is_searchable']) + + +class TestSnippetListViewWithSearchableSnippet(TestCase, WagtailTestUtils): + def setUp(self): + self.login() + + # Create some instances of the searchable snippet for testing + self.snippet_a = SearchableSnippet.objects.create(text="Hello") + self.snippet_b = SearchableSnippet.objects.create(text="World") + self.snippet_c = SearchableSnippet.objects.create(text="Hello World") + + def get(self, params={}): + return self.client.get(reverse('wagtailsnippets:list', + args=('snippetstests', 'searchablesnippet')), + params) + + def test_simple(self): + response = self.get() + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsnippets/snippets/type_index.html') + + # All snippets should be in items + items = list(response.context['items'].object_list) + self.assertIn(self.snippet_a, items) + self.assertIn(self.snippet_b, items) + self.assertIn(self.snippet_c, items) + + def test_is_searchable(self): + self.assertTrue(self.get().context['is_searchable']) + + def test_search_hello(self): + response = self.get({'q': "Hello"}) + + # Just snippets with "Hello" should be in items + items = list(response.context['items'].object_list) + self.assertIn(self.snippet_a, items) + self.assertNotIn(self.snippet_b, items) + self.assertIn(self.snippet_c, items) + + def test_search_world(self): + response = self.get({'q': "World"}) + + # Just snippets with "World" should be in items + items = list(response.context['items'].object_list) + self.assertNotIn(self.snippet_a, items) + self.assertIn(self.snippet_b, items) + self.assertIn(self.snippet_c, items) + class TestSnippetCreateView(TestCase, WagtailTestUtils): def setUp(self): @@ -88,6 +144,23 @@ class TestSnippetCreateView(TestCase, WagtailTestUtils): self.assertEqual(snippets.count(), 1) self.assertEqual(snippets.first().url, 'http://www.example.com/') + def test_create_with_tags(self): + tags = ['hello', 'world'] + response = self.post(post_data={'text': 'test_advert', + 'url': 'http://example.com/', + 'tags': ', '.join(tags)}) + + self.assertRedirects(response, reverse('wagtailsnippets:list', + args=('tests', 'advert'))) + + snippet = Advert.objects.get(text='test_advert') + + expected_tags = list(Tag.objects.order_by('name').filter(name__in=tags)) + self.assertEqual(len(expected_tags), 2) + self.assertEqual( + list(snippet.tags.order_by('name')), + expected_tags) + class TestSnippetEditView(TestCase, WagtailTestUtils): fixtures = ['test.json'] @@ -133,6 +206,23 @@ class TestSnippetEditView(TestCase, WagtailTestUtils): self.assertEqual(snippets.count(), 1) self.assertEqual(snippets.first().url, 'http://www.example.com/edited') + def test_edit_with_tags(self): + tags = ['hello', 'world'] + response = self.post(post_data={'text': 'edited_test_advert', + 'url': 'http://www.example.com/edited', + 'tags': ', '.join(tags)}) + + self.assertRedirects(response, reverse('wagtailsnippets:list', + args=('tests', 'advert'))) + + snippet = Advert.objects.get(text='edited_test_advert') + + expected_tags = list(Tag.objects.order_by('name').filter(name__in=tags)) + self.assertEqual(len(expected_tags), 2) + self.assertEqual( + list(snippet.tags.order_by('name')), + expected_tags) + class TestSnippetDelete(TestCase, WagtailTestUtils): fixtures = ['test.json'] @@ -146,7 +236,7 @@ class TestSnippetDelete(TestCase, WagtailTestUtils): self.assertEqual(response.status_code, 200) def test_delete_post(self): - post_data = {'foo': 'bar'} # For some reason, this test doesn't work without a bit of POST data + post_data = {'foo': 'bar'} # For some reason, this test doesn't work without a bit of POST data response = self.client.post(reverse('wagtailsnippets:delete', args=('tests', 'advert', self.test_snippet.id, )), post_data) # Should be redirected to explorer page @@ -179,12 +269,51 @@ class TestSnippetChooserPanel(TestCase): '_SnippetChooserPanel') def test_render_as_field(self): - self.assertTrue(self.advert_text in self.snippet_chooser_panel.render_as_field()) + field_html = self.snippet_chooser_panel.render_as_field() + self.assertIn(self.advert_text, field_html) + self.assertIn("Choose advert", field_html) + self.assertIn("Choose another advert", field_html) def test_render_js(self): self.assertIn('createSnippetChooser("id_advert", "tests/advert");', self.snippet_chooser_panel.render_as_field()) + def test_target_content_type_from_string(self): + result = SnippetChooserPanel( + 'advert', + 'tests.advert' + ).bind_to_model(SnippetChooserModel).target_content_type() + self.assertEqual(result.name, 'advert') + + def test_target_content_type_from_model(self): + result = SnippetChooserPanel( + 'advert', + Advert + ).bind_to_model(SnippetChooserModel).target_content_type() + self.assertEqual(result.name, 'advert') + + def test_target_content_type_autodetected(self): + result = SnippetChooserPanel( + 'advert' + ).bind_to_model(SnippetChooserModel).target_content_type() + self.assertEqual(result.name, 'advert') + + def test_target_content_type_malformed_type(self): + result = SnippetChooserPanel( + 'advert', + 'snowman' + ).bind_to_model(SnippetChooserModel) + self.assertRaises(ImproperlyConfigured, + result.target_content_type) + + def test_target_content_type_nonexistent_type(self): + result = SnippetChooserPanel( + 'advert', + 'snowman.lorry' + ).bind_to_model(SnippetChooserModel) + self.assertRaises(ImproperlyConfigured, + result.target_content_type) + class TestSnippetRegistering(TestCase): def test_register_function(self): @@ -250,6 +379,55 @@ class TestSnippetChoose(TestCase, WagtailTestUtils): self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'wagtailsnippets/chooser/choose.html') + def test_not_searchable(self): + self.assertFalse(self.get().context['is_searchable']) + + +class TestSnippetChooseWithSearchableSnippet(TestCase, WagtailTestUtils): + def setUp(self): + self.login() + + # Create some instances of the searchable snippet for testing + self.snippet_a = SearchableSnippet.objects.create(text="Hello") + self.snippet_b = SearchableSnippet.objects.create(text="World") + self.snippet_c = SearchableSnippet.objects.create(text="Hello World") + + def get(self, params=None): + return self.client.get(reverse('wagtailsnippets:choose', + args=('snippetstests', 'searchablesnippet')), + params or {}) + + def test_simple(self): + response = self.get() + self.assertTemplateUsed(response, 'wagtailsnippets/chooser/choose.html') + + # All snippets should be in items + items = list(response.context['items'].object_list) + self.assertIn(self.snippet_a, items) + self.assertIn(self.snippet_b, items) + self.assertIn(self.snippet_c, items) + + def test_is_searchable(self): + self.assertTrue(self.get().context['is_searchable']) + + def test_search_hello(self): + response = self.get({'q': "Hello"}) + + # Just snippets with "Hello" should be in items + items = list(response.context['items'].object_list) + self.assertIn(self.snippet_a, items) + self.assertNotIn(self.snippet_b, items) + self.assertIn(self.snippet_c, items) + + def test_search_world(self): + response = self.get({'q': "World"}) + + # Just snippets with "World" should be in items + items = list(response.context['items'].object_list) + self.assertNotIn(self.snippet_a, items) + self.assertIn(self.snippet_b, items) + self.assertIn(self.snippet_c, items) + class TestSnippetChosen(TestCase, WagtailTestUtils): fixtures = ['test.json'] @@ -270,3 +448,123 @@ class TestSnippetChosen(TestCase, WagtailTestUtils): response = self.get(999999) self.assertEqual(response.status_code, 404) + + +class TestAddOnlyPermissions(TestCase, WagtailTestUtils): + fixtures = ['test.json'] + + def setUp(self): + self.test_snippet = Advert.objects.get(id=1) + + # Create a user with add_advert permission but not change_advert + user = get_user_model().objects.create_user(username='addonly', email='addonly@example.com', password='password') + add_permission = Permission.objects.get(content_type__app_label='tests', codename='add_advert') + admin_permission = Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin') + user.user_permissions.add(add_permission, admin_permission) + self.client.login(username='addonly', password='password') + + def test_get_index(self): + response = self.client.get(reverse('wagtailsnippets:list', + args=('tests', 'advert'))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsnippets/snippets/type_index.html') + + # user should get an "Add advert" button + self.assertContains(response, "Add advert") + + def test_get_add(self): + response = self.client.get(reverse('wagtailsnippets:add', + args=('tests', 'advert'))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsnippets/snippets/create.html') + + def test_get_edit(self): + response = self.client.get(reverse('wagtailsnippets:edit', + args=('tests', 'advert', self.test_snippet.id))) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + def test_get_delete(self): + response = self.client.get(reverse('wagtailsnippets:delete', args=('tests', 'advert', self.test_snippet.id, ))) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + +class TestEditOnlyPermissions(TestCase, WagtailTestUtils): + fixtures = ['test.json'] + + def setUp(self): + self.test_snippet = Advert.objects.get(id=1) + + # Create a user with change_advert permission but not add_advert + user = get_user_model().objects.create_user(username='changeonly', email='changeonly@example.com', password='password') + change_permission = Permission.objects.get(content_type__app_label='tests', codename='change_advert') + admin_permission = Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin') + user.user_permissions.add(change_permission, admin_permission) + self.client.login(username='changeonly', password='password') + + def test_get_index(self): + response = self.client.get(reverse('wagtailsnippets:list', + args=('tests', 'advert'))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsnippets/snippets/type_index.html') + + # user should not get an "Add advert" button + self.assertNotContains(response, "Add advert") + + def test_get_add(self): + response = self.client.get(reverse('wagtailsnippets:add', + args=('tests', 'advert'))) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + def test_get_edit(self): + response = self.client.get(reverse('wagtailsnippets:edit', + args=('tests', 'advert', self.test_snippet.id))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsnippets/snippets/edit.html') + + def test_get_delete(self): + response = self.client.get(reverse('wagtailsnippets:delete', args=('tests', 'advert', self.test_snippet.id, ))) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + +class TestDeleteOnlyPermissions(TestCase, WagtailTestUtils): + fixtures = ['test.json'] + + def setUp(self): + self.test_snippet = Advert.objects.get(id=1) + + # Create a user with delete_advert permission + user = get_user_model().objects.create_user(username='deleteonly', email='deleteeonly@example.com', password='password') + change_permission = Permission.objects.get(content_type__app_label='tests', codename='delete_advert') + admin_permission = Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin') + user.user_permissions.add(change_permission, admin_permission) + self.client.login(username='deleteonly', password='password') + + def test_get_index(self): + response = self.client.get(reverse('wagtailsnippets:list', + args=('tests', 'advert'))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsnippets/snippets/type_index.html') + + # user should not get an "Add advert" button + self.assertNotContains(response, "Add advert") + + def test_get_add(self): + response = self.client.get(reverse('wagtailsnippets:add', + args=('tests', 'advert'))) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + def test_get_edit(self): + response = self.client.get(reverse('wagtailsnippets:edit', + args=('tests', 'advert', self.test_snippet.id))) + # permission should be denied + self.assertRedirects(response, reverse('wagtailadmin_home')) + + def test_get_delete(self): + response = self.client.get(reverse('wagtailsnippets:delete', args=('tests', 'advert', self.test_snippet.id, ))) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'wagtailsnippets/snippets/confirm_delete.html') diff --git a/wagtail/wagtailsnippets/views/chooser.py b/wagtail/wagtailsnippets/views/chooser.py index ca1355fad..ac8dd6b26 100644 --- a/wagtail/wagtailsnippets/views/chooser.py +++ b/wagtail/wagtailsnippets/views/chooser.py @@ -1,11 +1,15 @@ import json -from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage +from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage from django.core.urlresolvers import reverse -from django.shortcuts import get_object_or_404 +from django.shortcuts import render, get_object_or_404 from django.utils.six import text_type +from django.utils.translation import ugettext as _ from wagtail.wagtailadmin.modal_workflow import render_modal_workflow +from wagtail.wagtailadmin.forms import SearchForm +from wagtail.wagtailsearch.index import class_is_indexed +from wagtail.wagtailsearch.backends import get_search_backend from wagtail.wagtailsnippets.views.snippets import get_content_type_from_url_params, get_snippet_type_name @@ -13,10 +17,32 @@ from wagtail.wagtailsnippets.views.snippets import get_content_type_from_url_par def choose(request, content_type_app_name, content_type_model_name): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) model = content_type.model_class() - snippet_type_name = get_snippet_type_name(content_type)[0] + snippet_type_name, snippet_type_name_plural = get_snippet_type_name(content_type) items = model.objects.all() + # Search + is_searchable = class_is_indexed(model) + is_searching = False + search_query = None + if is_searchable and 'q' in request.GET: + search_form = SearchForm(request.GET, placeholder=_("Search %(snippet_type_name)s") % { + 'snippet_type_name': snippet_type_name_plural + }) + + if search_form.is_valid(): + search_query = search_form.cleaned_data['q'] + + search_backend = get_search_backend() + items = search_backend.search(search_query, items) + is_searching = True + + else: + search_form = SearchForm(placeholder=_("Search %(snippet_type_name)s") % { + 'snippet_type_name': snippet_type_name_plural + }) + + # Pagination p = request.GET.get("p", 1) paginator = Paginator(items, 25) @@ -27,6 +53,16 @@ def choose(request, content_type_app_name, content_type_model_name): except EmptyPage: paginated_items = paginator.page(paginator.num_pages) + # If paginating or searching, render "results.html" + if request.GET.get('results', None) == 'true': + return render(request, "wagtailsnippets/chooser/results.html", { + 'content_type': content_type, + 'snippet_type_name': snippet_type_name, + 'items': paginated_items, + 'query_string': search_query, + 'is_searching': is_searching, + }) + return render_modal_workflow( request, 'wagtailsnippets/chooser/choose.html', 'wagtailsnippets/chooser/choose.js', @@ -34,6 +70,10 @@ def choose(request, content_type_app_name, content_type_model_name): 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'items': paginated_items, + 'is_searchable': is_searchable, + 'search_form': search_form, + 'query_string': search_query, + 'is_searching': is_searching, } ) diff --git a/wagtail/wagtailsnippets/views/snippets.py b/wagtail/wagtailsnippets/views/snippets.py index 01c2a8ad5..6a2cc7b48 100644 --- a/wagtail/wagtailsnippets/views/snippets.py +++ b/wagtail/wagtailsnippets/views/snippets.py @@ -3,16 +3,19 @@ from django.shortcuts import get_object_or_404, render, redirect from django.utils.encoding import force_text from django.utils.text import capfirst from django.contrib.contenttypes.models import ContentType -from django.core.exceptions import PermissionDenied from django.utils.translation import ugettext as _ from django.core.urlresolvers import reverse from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from wagtail.wagtailadmin.edit_handlers import ObjectList, extract_panel_definitions_from_model_class +from wagtail.wagtailadmin.utils import permission_denied from wagtail.wagtailsnippets.models import get_snippet_content_types -from wagtail.wagtailsnippets.permissions import user_can_edit_snippet_type +from wagtail.wagtailsnippets.permissions import get_permission_name, user_can_edit_snippet_type from wagtail.wagtailadmin import messages +from wagtail.wagtailadmin.forms import SearchForm +from wagtail.wagtailsearch.index import class_is_indexed +from wagtail.wagtailsearch.backends import get_search_backend # == Helper functions == @@ -86,14 +89,40 @@ def index(request): def list(request, content_type_app_name, content_type_model_name): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) - if not user_can_edit_snippet_type(request.user, content_type): - raise PermissionDenied - model = content_type.model_class() + + permissions = [ + get_permission_name(action, model) + for action in ['add', 'change', 'delete'] + ] + if not any([request.user.has_perm(perm) for perm in permissions]): + return permission_denied(request) + snippet_type_name, snippet_type_name_plural = get_snippet_type_name(content_type) items = model.objects.all() + # Search + is_searchable = class_is_indexed(model) + is_searching = False + search_query = None + if is_searchable and 'q' in request.GET: + search_form = SearchForm(request.GET, placeholder=_("Search %(snippet_type_name)s") % { + 'snippet_type_name': snippet_type_name_plural + }) + + if search_form.is_valid(): + search_query = search_form.cleaned_data['q'] + + search_backend = get_search_backend() + items = search_backend.search(search_query, items) + is_searching = True + + else: + search_form = SearchForm(placeholder=_("Search %(snippet_type_name)s") % { + 'snippet_type_name': snippet_type_name_plural + }) + # Pagination p = request.GET.get('p', 1) paginator = Paginator(items, 20) @@ -105,20 +134,33 @@ def list(request, content_type_app_name, content_type_model_name): except EmptyPage: paginated_items = paginator.page(paginator.num_pages) - return render(request, 'wagtailsnippets/snippets/type_index.html', { + # Template + if request.is_ajax(): + template = 'wagtailsnippets/snippets/results.html' + else: + template = 'wagtailsnippets/snippets/type_index.html' + + return render(request, template, { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'snippet_type_name_plural': snippet_type_name_plural, 'items': paginated_items, + 'can_add_snippet': request.user.has_perm(get_permission_name('add', model)), + 'is_searchable': is_searchable, + 'search_form': search_form, + 'is_searching': is_searching, + 'query_string': search_query, }) def create(request, content_type_app_name, content_type_model_name): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) - if not user_can_edit_snippet_type(request.user, content_type): - raise PermissionDenied - model = content_type.model_class() + + permission = get_permission_name('add', model) + if not request.user.has_perm(permission): + return permission_denied(request) + snippet_type_name = get_snippet_type_name(content_type)[0] instance = model() @@ -158,10 +200,12 @@ def create(request, content_type_app_name, content_type_model_name): def edit(request, content_type_app_name, content_type_model_name, id): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) - if not user_can_edit_snippet_type(request.user, content_type): - raise PermissionDenied - model = content_type.model_class() + + permission = get_permission_name('change', model) + if not request.user.has_perm(permission): + return permission_denied(request) + snippet_type_name = get_snippet_type_name(content_type)[0] instance = get_object_or_404(model, id=id) @@ -202,10 +246,12 @@ def edit(request, content_type_app_name, content_type_model_name, id): def delete(request, content_type_app_name, content_type_model_name, id): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) - if not user_can_edit_snippet_type(request.user, content_type): - raise PermissionDenied - model = content_type.model_class() + + permission = get_permission_name('delete', model) + if not request.user.has_perm(permission): + return permission_denied(request) + snippet_type_name = get_snippet_type_name(content_type)[0] instance = get_object_or_404(model, id=id) diff --git a/wagtail/wagtailusers/forms.py b/wagtail/wagtailusers/forms.py index 304655de2..fa1736068 100644 --- a/wagtail/wagtailusers/forms.py +++ b/wagtail/wagtailusers/forms.py @@ -7,7 +7,7 @@ from django.forms.models import inlineformset_factory from wagtail.wagtailcore import hooks from wagtail.wagtailadmin.widgets import AdminPageChooser from wagtail.wagtailusers.models import UserProfile -from wagtail.wagtailcore.models import UserPagePermissionsProxy, GroupPagePermission +from wagtail.wagtailcore.models import Page, UserPagePermissionsProxy, GroupPagePermission User = get_user_model() @@ -43,8 +43,13 @@ class UsernameForm(forms.ModelForm): class UserCreationForm(UsernameForm): - required_css_class = "required" + + error_messages = { + 'duplicate_username': _("A user with that username already exists."), + 'password_mismatch': _("The two password fields didn't match."), + } + is_superuser = forms.BooleanField( label=_("Administrator"), required=False, @@ -229,9 +234,8 @@ class GroupForm(forms.ModelForm): class GroupPagePermissionForm(forms.ModelForm): - def __init__(self, *args, **kwargs): - super(GroupPagePermissionForm, self).__init__(*args, **kwargs) - self.fields['page'].widget = AdminPageChooser() + page = forms.ModelChoiceField(queryset=Page.objects.all(), + widget=AdminPageChooser(show_edit_link=False)) class Meta: model = GroupPagePermission diff --git a/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.mo index cb14394aa..28603bcc7 100644 Binary files a/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.po index 551dbae07..e98a7d5ef 100644 --- a/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/bg/LC_MESSAGES/django.po @@ -9,17 +9,24 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Bulgarian (http://www.transifex.com/projects/p/wagtail/" -"language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/torchbox/wagtail/language/" +"bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Задължително. 30 знака или по-малко. Букви, цифри и @ / / + / -. / Само _." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Това поле може да съдържа само букви, числа и символите @/./+/-/_" + msgid "Administrator" msgstr "Администратор" @@ -28,6 +35,18 @@ msgstr "" "Ако има отметка, този потребител е в състояние да управлява потребителски " "акаунти." +msgid "Password" +msgstr "Парола" + +msgid "Leave blank if not changing." +msgstr "Остави празно, ако няма да се променя." + +msgid "Password confirmation" +msgstr "Подвърждение на парола" + +msgid "Enter the same password as above, for verification." +msgstr "Въведете същата парола, като по-горе, за проверка." + msgid "Email" msgstr "Имейл" @@ -43,28 +62,6 @@ msgstr "Потребител с това име вече съществува." msgid "The two password fields didn't match." msgstr "Паролите не съвпадат." -msgid "Username" -msgstr "Потребителско име" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Задължително. 30 знака или по-малко. Букви, цифри и @ / / + / -. / Само _." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Това поле може да съдържа само букви, числа и символите @/./+/-/_" - -msgid "Password" -msgstr "Парола" - -msgid "Leave blank if not changing." -msgstr "Остави празно, ако няма да се променя." - -msgid "Password confirmation" -msgstr "Подвърждение на парола" - -msgid "Enter the same password as above, for verification." -msgstr "Въведете същата парола, като по-горе, за проверка." - msgid "Administrators have the ability to manage user accounts." msgstr "" "Администраторите имат способността да менижират потребителските профили." @@ -93,6 +90,9 @@ msgstr "Потребители" msgid "Add a user" msgstr "Добави потребител" +msgid "Username" +msgstr "Потребителско име" + msgid "Level" msgstr "Ниво" diff --git a/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.mo index e30291413..edceddd78 100644 Binary files a/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.po index fc6337772..cf495c71f 100644 --- a/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/ca/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Catalan (http://www.transifex.com/torchbox/wagtail/language/" "ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,12 +20,31 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Requerit. 30 caràcters o menys. Lletres, números i només @/./+/-/_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Aquest valor només ha de contenir lletres, números i caràcters com @/./+/-/_." + msgid "Administrator" msgstr "Administrador" msgid "If ticked, this user has the ability to manage user accounts." msgstr "Si és marcat, aquest usuari podrà administrar comptes d'usuari" +msgid "Password" +msgstr "Contrasenya" + +msgid "Leave blank if not changing." +msgstr "Deixa-ho en blanc si no ha canviat." + +msgid "Password confirmation" +msgstr "Confirmació de contrasenya" + +msgid "Enter the same password as above, for verification." +msgstr "Introdueix la mateixa contrasenya, per verificació." + msgid "Email" msgstr "Email" @@ -41,28 +60,6 @@ msgstr "Ja existeix un usuari amb aquest nom" msgid "The two password fields didn't match." msgstr "Les contrasenyes no coincideixen" -msgid "Username" -msgstr "Nom d'usuari" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "Requerit. 30 caràcters o menys. Lletres, números i només @/./+/-/_." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "" -"Aquest valor només ha de contenir lletres, números i caràcters com @/./+/-/_." - -msgid "Password" -msgstr "Contrasenya" - -msgid "Leave blank if not changing." -msgstr "Deixa-ho en blanc si no ha canviat." - -msgid "Password confirmation" -msgstr "Confirmació de contrasenya" - -msgid "Enter the same password as above, for verification." -msgstr "Introdueix la mateixa contrasenya, per verificació." - msgid "Administrators have the ability to manage user accounts." msgstr "Els administrador poden manegar comptes d'usuari." @@ -90,6 +87,9 @@ msgstr "Usuaris" msgid "Add a user" msgstr "Afegeix un usuari" +msgid "Username" +msgstr "Nom d'usuari" + msgid "Level" msgstr "Nivell" diff --git a/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.mo index d671f50a5..0f1e7ae2d 100644 Binary files a/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.po index aa266deed..b0acf682d 100644 --- a/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/cs/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Czech (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Czech (http://www.transifex.com/torchbox/wagtail/language/" "cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,12 +19,34 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Povinné pole, maximálně 30 znaků. Povolené znaky: písmena bez diakritiky, " +"číslice, @, ., +, -, _." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Toto pole může obsahovat pouze písmena bez diakritiky, číslice, @, ., +, -, " +"_." + msgid "Administrator" msgstr "Administrátor" msgid "If ticked, this user has the ability to manage user accounts." msgstr "Povolí tomuto uživateli spravovat uživatelské účty." +msgid "Password" +msgstr "Heslo" + +msgid "Leave blank if not changing." +msgstr "Nevyplňuje, chcete-li zachovat současné heslo." + +msgid "Password confirmation" +msgstr "Potvrzení hesla" + +msgid "Enter the same password as above, for verification." +msgstr "Pro zabránění překlepům zadejte heslo ještě jednou." + msgid "Email" msgstr "E-mail" @@ -40,31 +62,6 @@ msgstr "Toto uživatelské jméno již existuje." msgid "The two password fields didn't match." msgstr "Zadaná hesla se neshodují." -msgid "Username" -msgstr "Uživatelské jméno" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Povinné pole, maximálně 30 znaků. Povolené znaky: písmena bez diakritiky, " -"číslice, @, ., +, -, _." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "" -"Toto pole může obsahovat pouze písmena bez diakritiky, číslice, @, ., +, -, " -"_." - -msgid "Password" -msgstr "Heslo" - -msgid "Leave blank if not changing." -msgstr "Nevyplňuje, chcete-li zachovat současné heslo." - -msgid "Password confirmation" -msgstr "Potvrzení hesla" - -msgid "Enter the same password as above, for verification." -msgstr "Pro zabránění překlepům zadejte heslo ještě jednou." - msgid "Administrators have the ability to manage user accounts." msgstr "Administrátoři mohou spravovat uživatelské účty." @@ -156,6 +153,9 @@ msgstr "Uživatelé" msgid "Add a user" msgstr "Přidat uživatele" +msgid "Username" +msgstr "Uživatelské jméno" + msgid "Level" msgstr "Úroveň" diff --git a/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.mo index 1e6945003..b63b444d3 100644 Binary files a/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.po index 957e7bd92..b75a3df86 100644 --- a/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/de/LC_MESSAGES/django.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Florian , 2015 # Johannes Spielmann , 2014 # Johannes Spielmann , 2014 # M0rph 3u5 , 2014 @@ -12,10 +13,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-06-28 22:36+0000\n" -"Last-Translator: Tammo van Lessen \n" -"Language-Team: German (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-19 19:08+0000\n" +"Last-Translator: Florian \n" +"Language-Team: German (http://www.transifex.com/torchbox/wagtail/language/" "de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,6 +24,16 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Erforderlich. Bis zu 30 Zeichen. Buchstaben, Zahlen und die Sonderzeichen \"@" +"\", \".\", \"+\", und \"_\"." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Dieser Wert darf nur Buchstaben, Zahlen und die Sonderzeichen \"@\", \".\", " +"\"+\", und \"_\" enthalten." + msgid "Administrator" msgstr "Administrator" @@ -30,6 +41,18 @@ msgid "If ticked, this user has the ability to manage user accounts." msgstr "" "Wenn ausgewählt hat der Benutzer die Möglichkeit Benutzerkonten zu verwalten." +msgid "Password" +msgstr "Passwort" + +msgid "Leave blank if not changing." +msgstr "Freilassen um nicht zu ändern." + +msgid "Password confirmation" +msgstr "Passwort wiederholen" + +msgid "Enter the same password as above, for verification." +msgstr "Geben Sie das gleiche Passwort wie oben zur Übrprüfung ein." + msgid "Email" msgstr "Email" @@ -45,31 +68,6 @@ msgstr "Es existiert bereits ein Benutzer mit diesem Benutzernamen." msgid "The two password fields didn't match." msgstr "Die beiden Passwortfelder stimmen nicht überein." -msgid "Username" -msgstr "Benutzername" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Pflicht. Bis zu 30 Zeichen. Buchstaben, Zahlen und die Sonderzeichen \"@\", " -"\".\", \"+\", und \"_\"." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "" -"Dieser Wert darf nur Buchstaben, Zahlen und die Sonderzeichen \"@\", \".\", " -"\"+\", und \"_\" enthalten." - -msgid "Password" -msgstr "Passwort" - -msgid "Leave blank if not changing." -msgstr "Freilassen um nicht zu ändern." - -msgid "Password confirmation" -msgstr "Passwort wiederholen" - -msgid "Enter the same password as above, for verification." -msgstr "Geben Sie das gleiche Passwort wie oben zur Übrprüfung ein." - msgid "Administrators have the ability to manage user accounts." msgstr "Administratoren haben die Möglichkeit Benutzerkonten zu verwalten." @@ -190,6 +188,9 @@ msgstr "Benutzer" msgid "Add a user" msgstr "Einen Benutzer hinzufügen" +msgid "Username" +msgstr "Benutzername" + msgid "Level" msgstr "Level" diff --git a/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.mo index 81de33acd..04fdbbbf5 100644 Binary files a/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.po index 3a55928a2..cbaf775d4 100644 --- a/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/el/LC_MESSAGES/django.po @@ -6,15 +6,16 @@ # NeotheOne , 2015 # serafeim , 2014 # serafeim , 2014 +# dotoree , 2015 # Wasilis Mandratzis-Walz, 2015 msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/wagtail/language/" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-08-13 07:05+0000\n" +"Last-Translator: dotoree \n" +"Language-Team: Greek (http://www.transifex.com/torchbox/wagtail/language/" "el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,6 +23,16 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Απαραίτητο. Λιγότερο από 30 χαρακτήρες. Επιτρέπονται μόνο γράμματα, αριθμοί " +"και οι χαρακτήρες @/./+/-/_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Η τιμή επιτρέπεται να έχει μόνο γράμματα, αριθμούς και τους χαρακτήρες @/./" +"+/-/_." + msgid "Administrator" msgstr "Διαχειριστής" @@ -30,6 +41,18 @@ msgstr "" "Αν επιλεγεί, ο συγκεκριμένος χρήστης έχει τη δυνατότητα διαχείρισης " "λογαριασμών χρηστών." +msgid "Password" +msgstr "Κωδικός" + +msgid "Leave blank if not changing." +msgstr "Αφήστε κενό αν δεν το αλλάζετε." + +msgid "Password confirmation" +msgstr "Επιβεβαίωση κωδικού." + +msgid "Enter the same password as above, for verification." +msgstr "Εισάγετε τον ίδιο κωδικό για επιβεβαίωση" + msgid "Email" msgstr "Email" @@ -45,31 +68,6 @@ msgstr "Υπάρχει ήδη χρήστης με το συγκεκριμένο msgid "The two password fields didn't match." msgstr "Τα δύο πεδία κωδικών δεν είναι ίδια." -msgid "Username" -msgstr "Όνομα χρήστη" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Απαραίτητο. Λιγότερο από 30 χαρακτήρες. Επιτρέπονται μόνο γράμματα, αριθμοί " -"και οι χαρακτήρες @/./+/-/_." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "" -"Η τιμή επιτρέπεται να έχει μόνο γράμματα, αριθμούς και τους χαρακτήρες @/./" -"+/-/_." - -msgid "Password" -msgstr "Κωδικός" - -msgid "Leave blank if not changing." -msgstr "Αφήστε κενό αν δεν το αλλάζετε." - -msgid "Password confirmation" -msgstr "Επιβεβαίωση κωδικού." - -msgid "Enter the same password as above, for verification." -msgstr "Εισάγετε τον ίδιο κωδικό για επιβεβαίωση" - msgid "Administrators have the ability to manage user accounts." msgstr "" "Οι Διαχειριστές έχουν τη δυνατότητα να διαχειρίζονται λογαριασμούς χρηστών." @@ -96,6 +94,9 @@ msgstr "Απορριφθείσες ειδοποιήσεις" msgid "Receive notification when your page edit is rejected" msgstr "Λήψη ειδοποίησης όταν σελίδα επεξεργασίας σας απορρίπτεται" +msgid "User Profile" +msgstr "Προφίλ Χρήστη" + msgid "Delete group" msgstr "Διαγραφή ομάδας" @@ -188,6 +189,9 @@ msgstr "Χρήστες" msgid "Add a user" msgstr "Προσθήκη χρήστη" +msgid "Username" +msgstr "Όνομα χρήστη" + msgid "Level" msgstr "Επίπεδο" diff --git a/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.mo index 4f1c9e124..23d85d9c4 100644 Binary files a/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.po index 859f5b8bb..0813db288 100644 --- a/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,67 +17,63 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: forms.py:22 forms.py:99 forms.py:158 -msgid "Administrator" -msgstr "" - -#: forms.py:24 -msgid "If ticked, this user has the ability to manage user accounts." -msgstr "" - -#: forms.py:27 forms.py:84 -msgid "Email" -msgstr "" - -#: forms.py:28 forms.py:85 -msgid "First Name" -msgstr "" - -#: forms.py:29 forms.py:86 -msgid "Last Name" -msgstr "" - -#: forms.py:72 -msgid "A user with that username already exists." -msgstr "" - -#: forms.py:73 -msgid "The two password fields didn't match." -msgstr "" - -#: forms.py:76 templates/wagtailusers/users/list.html:15 -msgid "Username" -msgstr "" - -#: forms.py:79 +#: forms.py:30 msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." msgstr "" -#: forms.py:81 +#: forms.py:34 msgid "This value may contain only letters, numbers and @/./+/-/_ characters." msgstr "" -#: forms.py:89 +#: forms.py:49 forms.py:135 forms.py:196 +msgid "Administrator" +msgstr "" + +#: forms.py:51 +msgid "If ticked, this user has the ability to manage user accounts." +msgstr "" + +#: forms.py:55 forms.py:125 msgid "Password" msgstr "" -#: forms.py:92 +#: forms.py:58 forms.py:128 msgid "Leave blank if not changing." msgstr "" -#: forms.py:94 +#: forms.py:60 forms.py:130 msgid "Password confirmation" msgstr "" -#: forms.py:96 +#: forms.py:62 forms.py:132 msgid "Enter the same password as above, for verification." msgstr "" -#: forms.py:101 forms.py:160 +#: forms.py:64 forms.py:120 +msgid "Email" +msgstr "" + +#: forms.py:65 forms.py:121 +msgid "First Name" +msgstr "" + +#: forms.py:66 forms.py:122 +msgid "Last Name" +msgstr "" + +#: forms.py:116 +msgid "A user with that username already exists." +msgstr "" + +#: forms.py:117 +msgid "The two password fields didn't match." +msgstr "" + +#: forms.py:137 forms.py:198 msgid "Administrators have the ability to manage user accounts." msgstr "" -#: forms.py:154 +#: forms.py:192 msgid "A group with that name already exists." msgstr "" @@ -110,48 +106,48 @@ msgid "User Profile" msgstr "" #: templates/wagtailusers/groups/confirm_delete.html:3 -#: templates/wagtailusers/groups/confirm_delete.html:7 -#: templates/wagtailusers/groups/edit.html:37 +#: templates/wagtailusers/groups/confirm_delete.html:6 +#: templates/wagtailusers/groups/edit.html:34 msgid "Delete group" msgstr "" -#: templates/wagtailusers/groups/confirm_delete.html:12 +#: templates/wagtailusers/groups/confirm_delete.html:11 #, python-format msgid "" "The group '%(group_name)s' has %(group_user_count)s users " "assigned." msgstr "" -#: templates/wagtailusers/groups/confirm_delete.html:16 +#: templates/wagtailusers/groups/confirm_delete.html:15 msgid "" "Deleting this group will revoke this group's permissions from all member " "users." msgstr "" -#: templates/wagtailusers/groups/confirm_delete.html:20 +#: templates/wagtailusers/groups/confirm_delete.html:19 msgid "Are you sure you want to delete this group?" msgstr "" -#: templates/wagtailusers/groups/confirm_delete.html:23 +#: templates/wagtailusers/groups/confirm_delete.html:22 msgid "Yes, delete" msgstr "" -#: templates/wagtailusers/groups/create.html:6 -#: templates/wagtailusers/groups/create.html:17 -#: templates/wagtailusers/groups/create.html:32 +#: templates/wagtailusers/groups/create.html:4 +#: templates/wagtailusers/groups/create.html:14 +#: templates/wagtailusers/groups/create.html:29 msgid "Add group" msgstr "" -#: templates/wagtailusers/groups/edit.html:6 -#: templates/wagtailusers/groups/edit.html:17 +#: templates/wagtailusers/groups/edit.html:4 +#: templates/wagtailusers/groups/edit.html:14 #: templates/wagtailusers/users/edit.html:4 -#: templates/wagtailusers/users/edit.html:8 +#: templates/wagtailusers/users/edit.html:7 msgid "Editing" msgstr "" -#: templates/wagtailusers/groups/edit.html:34 -#: templates/wagtailusers/users/edit.html:30 -#: templates/wagtailusers/users/edit.html:37 +#: templates/wagtailusers/groups/edit.html:31 +#: templates/wagtailusers/users/edit.html:31 +#: templates/wagtailusers/users/edit.html:38 msgid "Save" msgstr "" @@ -160,7 +156,7 @@ msgid "Object permissions" msgstr "" #: templates/wagtailusers/groups/includes/formatted_permissions.html:11 -#: templates/wagtailusers/groups/includes/formatted_permissions.html:47 +#: templates/wagtailusers/groups/includes/formatted_permissions.html:53 #: templates/wagtailusers/groups/list.html:6 #: templates/wagtailusers/users/list.html:7 msgid "Name" @@ -179,7 +175,7 @@ msgstr "" msgid "Delete" msgstr "" -#: templates/wagtailusers/groups/includes/formatted_permissions.html:41 +#: templates/wagtailusers/groups/includes/formatted_permissions.html:47 msgid "Other permissions" msgstr "" @@ -200,11 +196,11 @@ msgid "Add a page permission" msgstr "" #: templates/wagtailusers/groups/index.html:4 -#: templates/wagtailusers/groups/index.html:17 +#: templates/wagtailusers/groups/index.html:16 msgid "groups" msgstr "" -#: templates/wagtailusers/groups/index.html:18 +#: templates/wagtailusers/groups/index.html:17 msgid "Add a group" msgstr "" @@ -216,31 +212,35 @@ msgid "" msgstr "" #: templates/wagtailusers/users/create.html:4 -#: templates/wagtailusers/users/create.html:8 -#: templates/wagtailusers/users/create.html:35 +#: templates/wagtailusers/users/create.html:7 +#: templates/wagtailusers/users/create.html:36 msgid "Add user" msgstr "" -#: templates/wagtailusers/users/create.html:12 -#: templates/wagtailusers/users/edit.html:12 +#: templates/wagtailusers/users/create.html:11 +#: templates/wagtailusers/users/edit.html:11 msgid "Account" msgstr "" -#: templates/wagtailusers/users/create.html:13 -#: templates/wagtailusers/users/create.html:28 -#: templates/wagtailusers/users/edit.html:13 +#: templates/wagtailusers/users/create.html:12 +#: templates/wagtailusers/users/create.html:29 +#: templates/wagtailusers/users/edit.html:12 msgid "Roles" msgstr "" #: templates/wagtailusers/users/index.html:4 -#: templates/wagtailusers/users/index.html:17 wagtail_hooks.py:27 +#: templates/wagtailusers/users/index.html:16 wagtail_hooks.py:41 msgid "Users" msgstr "" -#: templates/wagtailusers/users/index.html:18 +#: templates/wagtailusers/users/index.html:17 msgid "Add a user" msgstr "" +#: templates/wagtailusers/users/list.html:15 +msgid "Username" +msgstr "" + #: templates/wagtailusers/users/list.html:22 msgid "Level" msgstr "" @@ -286,59 +286,59 @@ msgid "" "\">add some?" msgstr "" -#: views/groups.py:29 views/groups.py:36 +#: views/groups.py:22 views/groups.py:29 msgid "Search groups" msgstr "" -#: views/groups.py:87 +#: views/groups.py:80 #, python-brace-format msgid "Group '{0}' created." msgstr "" -#: views/groups.py:88 views/groups.py:113 views/users.py:87 views/users.py:108 +#: views/groups.py:81 views/groups.py:106 views/users.py:93 views/users.py:114 msgid "Edit" msgstr "" -#: views/groups.py:92 +#: views/groups.py:85 msgid "The group could not be created due to errors." msgstr "" -#: views/groups.py:112 +#: views/groups.py:105 #, python-brace-format msgid "Group '{0}' updated." msgstr "" -#: views/groups.py:117 +#: views/groups.py:110 msgid "The group could not be saved due to errors." msgstr "" -#: views/groups.py:135 +#: views/groups.py:128 #, python-brace-format msgid "Group '{0}' deleted." msgstr "" -#: views/users.py:31 views/users.py:38 +#: views/users.py:33 views/users.py:44 msgid "Search users" msgstr "" -#: views/users.py:86 +#: views/users.py:92 #, python-brace-format msgid "User '{0}' created." msgstr "" -#: views/users.py:91 +#: views/users.py:97 msgid "The user could not be created due to errors." msgstr "" -#: views/users.py:107 +#: views/users.py:113 #, python-brace-format msgid "User '{0}' updated." msgstr "" -#: views/users.py:112 +#: views/users.py:118 msgid "The user could not be saved due to errors." msgstr "" -#: wagtail_hooks.py:31 +#: wagtail_hooks.py:55 msgid "Groups" msgstr "" diff --git a/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.mo index 7c2e82cc1..34d1f4392 100644 Binary files a/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.po index a8e41f59b..50ed1bbc7 100644 --- a/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/es/LC_MESSAGES/django.po @@ -14,10 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-22 02:21+0000\n" "Last-Translator: José Alaguna \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Spanish (http://www.transifex.com/torchbox/wagtail/language/" "es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,6 +25,14 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obligatorio. 30 caracteres o menos. Letras, dígitos y @/./+/-/_ solamente." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Este valor debe contener sólo letras, números y los caracteres @/./+/-/_." + msgid "Administrator" msgstr "Administrador" @@ -33,6 +41,18 @@ msgstr "" "Si está marcado, este usuario tiene la capacidad de gestionar cuentas de " "usuario." +msgid "Password" +msgstr "Contraseña" + +msgid "Leave blank if not changing." +msgstr "Deja en blanco si no cambia." + +msgid "Password confirmation" +msgstr "Confirmación de contraseña" + +msgid "Enter the same password as above, for verification." +msgstr "Introduce la misma contraseña que arriba, para verificación." + msgid "Email" msgstr "Correo electrónico" @@ -48,29 +68,6 @@ msgstr "Un usuario con ese nombre ya existe." msgid "The two password fields didn't match." msgstr "Los dos campos de contraseña no coinciden." -msgid "Username" -msgstr "Nombre de usuario" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Obligatorio. 30 caracteres o menos. Letras, dígitos y @/./+/-/_ solamente." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "" -"Este valor debe contener sólo letras, números y los caracteres @/./+/-/_." - -msgid "Password" -msgstr "Contraseña" - -msgid "Leave blank if not changing." -msgstr "Deja en blanco si no cambia." - -msgid "Password confirmation" -msgstr "Confirmación de contraseña" - -msgid "Enter the same password as above, for verification." -msgstr "Introduce la misma contraseña que arriba, para verificación." - msgid "Administrators have the ability to manage user accounts." msgstr "" "Los administradores tienen la capacidad de gestionar cuentas de usuario." @@ -191,6 +188,9 @@ msgstr "Usuarios" msgid "Add a user" msgstr "Añadir un usuario" +msgid "Username" +msgstr "Nombre de usuario" + msgid "Level" msgstr "Nivel" diff --git a/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.mo index effb83613..388cf9bfe 100644 Binary files a/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.po index bdb8c0289..9e1b6280a 100644 --- a/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/fr/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 15:58+0000\n" "Last-Translator: Benoît Bar \n" -"Language-Team: French (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: French (http://www.transifex.com/torchbox/wagtail/language/" "fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,6 +21,14 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Requis. 30 caractères ou moins. Seulement des lettres, chiffres et @/./+/-/" +"_ ." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Cette valeur ne peut contenir que des lettres, chiffres et @/./+/-/_ ." + msgid "Administrator" msgstr "Administrateur" @@ -28,6 +36,18 @@ msgid "If ticked, this user has the ability to manage user accounts." msgstr "" "Si coché, cet utilisateur aura la capacité de gérer les comptes utilisateurs." +msgid "Password" +msgstr "Mot de passe" + +msgid "Leave blank if not changing." +msgstr "Laisser vide si il n'y a pas de changement." + +msgid "Password confirmation" +msgstr "Confirmation de mot de passe" + +msgid "Enter the same password as above, for verification." +msgstr "Entrer le même qu'au dessus, pour vérification." + msgid "Email" msgstr "E-mail" @@ -43,29 +63,6 @@ msgstr "Un utilisateur avec cet identifiant existe déjà." msgid "The two password fields didn't match." msgstr "Les deux champs mot de passe ne correspondent pas." -msgid "Username" -msgstr "Identifiant" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Requis. 30 caractères ou moins. Seulement des lettres, chiffres et @/./+/-/" -"_ ." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Cette valeur ne peut contenir que des lettres, chiffres et @/./+/-/_ ." - -msgid "Password" -msgstr "Mot de passe" - -msgid "Leave blank if not changing." -msgstr "Laisser vide si il n'y a pas de changement." - -msgid "Password confirmation" -msgstr "Confirmation de mot de passe" - -msgid "Enter the same password as above, for verification." -msgstr "Entrer le même qu'au dessus, pour vérification." - msgid "Administrators have the ability to manage user accounts." msgstr "Les administrateurs ont la capacité de gérer les comptes utilisateur." @@ -187,6 +184,9 @@ msgstr "Utilisateurs" msgid "Add a user" msgstr "Ajouter un utilisateur" +msgid "Username" +msgstr "Identifiant" + msgid "Level" msgstr "Niveau" diff --git a/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.mo index 78a01781b..9f9470f04 100644 Binary files a/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.po index d04cee921..d12a569a2 100644 --- a/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/gl/LC_MESSAGES/django.po @@ -10,17 +10,24 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/wagtail/" -"language/gl/)\n" +"Language-Team: Galician (http://www.transifex.com/torchbox/wagtail/language/" +"gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obrigatorio. 30 caracteres ou menos. Letras, díxitos e @/./+/-/_ soamente." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Este valor debe conter só letras, números e os caracteres @/./+/-/_." + msgid "Administrator" msgstr "Administrador" @@ -29,6 +36,18 @@ msgstr "" "Se está marcado, este usuario ten a capacidade de xestionar contas de " "usuario." +msgid "Password" +msgstr "Contrasinal" + +msgid "Leave blank if not changing." +msgstr "Deixa en branco se non cambia." + +msgid "Password confirmation" +msgstr "Confirmación de contrasinal" + +msgid "Enter the same password as above, for verification." +msgstr "Introduce a mesma contrasinal que arriba, para verificación." + msgid "Email" msgstr "Correo electrónico" @@ -44,28 +63,6 @@ msgstr "Un usuario con ese nome xa existe." msgid "The two password fields didn't match." msgstr "Os dous campos de contrasinal non coinciden." -msgid "Username" -msgstr "Nome de usuario" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Obrigatorio. 30 caracteres ou menos. Letras, díxitos e @/./+/-/_ soamente." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Este valor debe conter só letras, números e os caracteres @/./+/-/_." - -msgid "Password" -msgstr "Contrasinal" - -msgid "Leave blank if not changing." -msgstr "Deixa en branco se non cambia." - -msgid "Password confirmation" -msgstr "Confirmación de contrasinal" - -msgid "Enter the same password as above, for verification." -msgstr "Introduce a mesma contrasinal que arriba, para verificación." - msgid "Administrators have the ability to manage user accounts." msgstr "Os administradores teñen a capacidade de xestionar contas de usuario." @@ -93,6 +90,9 @@ msgstr "Usuarios" msgid "Add a user" msgstr "Engadir un usuario" +msgid "Username" +msgstr "Nome de usuario" + msgid "Level" msgstr "Nivel" diff --git a/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.mo index f2cb5b32a..712e91124 100644 Binary files a/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.po index 3938a3cfd..0a35f0b6f 100644 --- a/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/he_IL/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-20 14:13+0000\n" "Last-Translator: lior abazon \n" -"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Hebrew (Israel) (http://www.transifex.com/torchbox/wagtail/" "language/he_IL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,12 +19,30 @@ msgstr "" "Language: he_IL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "נחוץ. 30 תווים או פחות. אותיות, ספרות ו @/./+/-/_ בלבד" + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "ערך זה יכול להכיל אותיות, ספרות והתווים @/./+/-/_ בלבד" + msgid "Administrator" msgstr "מנהל" msgid "If ticked, this user has the ability to manage user accounts." msgstr "אם מסומן, המשתמש הזה מקבל את היכולת לנהל חשבונות משתמשים" +msgid "Password" +msgstr "סיסמא" + +msgid "Leave blank if not changing." +msgstr "השאירו ריק אם לא משנים" + +msgid "Password confirmation" +msgstr "אישור סיסמא" + +msgid "Enter the same password as above, for verification." +msgstr "הכניסו אותה סיסמא שוב, עבור וידוא" + msgid "Email" msgstr "דואר אלקטרוני" @@ -40,27 +58,6 @@ msgstr "שם משתמש קיים במערכת" msgid "The two password fields didn't match." msgstr "שתי הסיסמאות לא מתאימות" -msgid "Username" -msgstr "שם משתמש" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "נחוץ. 30 תווים או פחות. אותיות, ספרות ו @/./+/-/_ בלבד" - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "ערך זה יכול להכיל אותיות, ספרות והתווים @/./+/-/_ בלבד" - -msgid "Password" -msgstr "סיסמא" - -msgid "Leave blank if not changing." -msgstr "השאירו ריק אם לא משנים" - -msgid "Password confirmation" -msgstr "אישור סיסמא" - -msgid "Enter the same password as above, for verification." -msgstr "הכניסו אותה סיסמא שוב, עבור וידוא" - msgid "Administrators have the ability to manage user accounts." msgstr "מנהלים יכולים לנהל חשבונות משתמשים" @@ -162,6 +159,9 @@ msgstr "משתמשים" msgid "Add a user" msgstr "הוספת משתמש" +msgid "Username" +msgstr "שם משתמש" + msgid "Level" msgstr "רמה" diff --git a/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.mo index fa0720510..46b3ce523 100644 Binary files a/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.po index 8d17571d4..c4d4aef3d 100644 --- a/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/hr_HR/LC_MESSAGES/django.po @@ -8,11 +8,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-09 19:49+0000\n" "Last-Translator: Luka Matijević \n" -"Language-Team: Croatian (Croatia) (http://www.transifex.com/projects/p/" -"wagtail/language/hr_HR/)\n" +"Language-Team: Croatian (Croatia) (http://www.transifex.com/torchbox/wagtail/" +"language/hr_HR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -20,9 +20,20 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obavezno. 30 znakova ili manje. Dozvoljena su slova, brojevi i @/./+/-/_ " +"znakovi." + msgid "Administrator" msgstr "Administrator" +msgid "Password" +msgstr "Lozinka" + +msgid "Password confirmation" +msgstr "Potvrda lozinke" + msgid "Email" msgstr "Email" @@ -38,20 +49,6 @@ msgstr "Korisničko ime već postoji." msgid "The two password fields didn't match." msgstr "Lozinke nisu jednake." -msgid "Username" -msgstr "Korisničko ime" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Obavezno. 30 znakova ili manje. Dozvoljena su slova, brojevi i @/./+/-/_ " -"znakovi." - -msgid "Password" -msgstr "Lozinka" - -msgid "Password confirmation" -msgstr "Potvrda lozinke" - msgid "A group with that name already exists." msgstr "Grupa s danim imenom već postoji." @@ -120,3 +117,6 @@ msgstr "Korisnici" msgid "Add a user" msgstr "Dodaj korisnika" + +msgid "Username" +msgstr "Korisničko ime" diff --git a/wagtail/wagtailusers/locale/is_IS/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/is_IS/LC_MESSAGES/django.mo new file mode 100644 index 000000000..27004cdde Binary files /dev/null and b/wagtail/wagtailusers/locale/is_IS/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/is_IS/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/is_IS/LC_MESSAGES/django.po new file mode 100644 index 000000000..5829a7210 --- /dev/null +++ b/wagtail/wagtailusers/locale/is_IS/LC_MESSAGES/django.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Arnar Tumi Þorsteinsson , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-01 08:34+0000\n" +"Last-Translator: Arnar Tumi Þorsteinsson \n" +"Language-Team: Icelandic (Iceland) (http://www.transifex.com/torchbox/" +"wagtail/language/is_IS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is_IS\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Þarf að fylla út. 30 slög eða færri. Bókstafir, tölustafir og @/./+/-/_ er " +"leyft." + +msgid "Email" +msgstr "Email" + +msgid "First Name" +msgstr "Fornafn" + +msgid "Last Name" +msgstr "Eftirnafn" + +msgid "A user with that username already exists." +msgstr "Þetta notandanafn er þegar í notkun." + +msgid "The two password fields didn't match." +msgstr "Lykilorðareitirnir tveir stóðust ekki á" + +msgid "A group with that name already exists." +msgstr "Hópur með þessu nafni er þegar til." + +msgid "Delete group" +msgstr "Eyða hóp" + +msgid "Yes, delete" +msgstr "Já, eyða" + +msgid "Add group" +msgstr "Bæta við hóp" + +msgid "Editing" +msgstr "Breyti" + +msgid "Save" +msgstr "Vista" + +msgid "Name" +msgstr "Nafn" + +msgid "Add" +msgstr "Bæta við" + +msgid "Change" +msgstr "Breyta" + +msgid "Delete" +msgstr "Eyða" + +msgid "Page" +msgstr "Síða" + +msgid "groups" +msgstr "hópar" + +msgid "Add a group" +msgstr "Bæta við hóp" + +msgid "Add user" +msgstr "Bæta við notanda" + +msgid "Users" +msgstr "Notendur" + +msgid "Add a user" +msgstr "Bæta við notanda" + +msgid "Username" +msgstr "Notandanafn" + +msgid "Status" +msgstr "Staða" + +msgid "Active" +msgstr "Virkur" + +msgid "Inactive" +msgstr "Óvirkur" + +msgid "Search groups" +msgstr "Leita í hópum" + +msgid "Edit" +msgstr "Breyta" + +msgid "Search users" +msgstr "Leita í notendum" + +msgid "The user could not be created due to errors." +msgstr "" +"Ekki var hægt að búa til notandann þar sem hann stóðst ekki villuprófanir" + +msgid "The user could not be saved due to errors." +msgstr "" +"Ekki var hægt að búa til notandann þar sem hann stóðst ekki villuprófanir" + +msgid "Groups" +msgstr "Hópar" diff --git a/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.mo index 174d9e25c..1b6127b77 100644 Binary files a/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.po index fc739d091..f09874532 100644 --- a/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/it/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 09:40+0000\n" "Last-Translator: Giacomo Ghizzani \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Italian (http://www.transifex.com/torchbox/wagtail/language/" "it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +19,14 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obbligatorio. 30 caratteri o meno. Sono ammessi soltanto lettere, cifre e " +"@ / / + / -. / _." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Questo valore può contenere soltanto lettere, numeri e @/./+/-/_" + msgid "Administrator" msgstr "Amministratore" @@ -26,6 +34,18 @@ msgid "If ticked, this user has the ability to manage user accounts." msgstr "" "Se selezionata, l'utente ha la possibilità di gestire gli account utente." +msgid "Password" +msgstr "Password" + +msgid "Leave blank if not changing." +msgstr "Lascia vuoto se non lo cambi." + +msgid "Password confirmation" +msgstr "Conferma password" + +msgid "Enter the same password as above, for verification." +msgstr "Inserire la stessa password di sopra, per verifica." + msgid "Email" msgstr "Email" @@ -41,29 +61,6 @@ msgstr "Username esistente." msgid "The two password fields didn't match." msgstr "Le password non corrispondono" -msgid "Username" -msgstr "Username" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Obbligatorio. 30 caratteri o meno. Sono ammessi soltanto lettere, cifre e " -"@ / / + / -. / _." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Questo valore può contenere soltanto lettere, numeri e @/./+/-/_" - -msgid "Password" -msgstr "Password" - -msgid "Leave blank if not changing." -msgstr "Lascia vuoto se non lo cambi." - -msgid "Password confirmation" -msgstr "Conferma password" - -msgid "Enter the same password as above, for verification." -msgstr "Inserire la stessa password di sopra, per verifica." - msgid "Administrators have the ability to manage user accounts." msgstr "Gli amministratori hanno la possibilità di gestire gli account utente." @@ -183,6 +180,9 @@ msgstr "Utenti" msgid "Add a user" msgstr "Aggiungi un utente" +msgid "Username" +msgstr "Username" + msgid "Level" msgstr "Livello" diff --git a/wagtail/wagtailusers/locale/ko/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 000000000..afaf64a34 Binary files /dev/null and b/wagtail/wagtailusers/locale/ko/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/ko/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 000000000..53fb1badd --- /dev/null +++ b/wagtail/wagtailusers/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ji Han Chung , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-07-23 15:04+0000\n" +"Last-Translator: Ji Han Chung \n" +"Language-Team: Korean (http://www.transifex.com/torchbox/wagtail/language/" +"ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"필수사항. 15 자 이하로 작성하여야 하며 문자, 숫자 및 @/./+/-/_ 만 가능합니다." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "이 값은 오직 문자, 숫자 및 @/./+/-/_ 로 포함하였을 것입니다." + +msgid "Administrator" +msgstr "관리자" + +msgid "If ticked, this user has the ability to manage user accounts." +msgstr "" +"선택한 경우, 이 사용자는 사용자 계정을 관리할 수 있는 권한을 가지게 됩니다." + +msgid "Password" +msgstr "비밀번호" + +msgid "Leave blank if not changing." +msgstr "변경되지 않았으면 빈칸으로 남겨 두시기 바랍니다" + +msgid "Password confirmation" +msgstr "비밀번호 확인" + +msgid "Enter the same password as above, for verification." +msgstr "확인을 위해, 위의 비밀번호를 똑같이 적어주시기 바랍니다." + +msgid "Email" +msgstr "이메일" + +msgid "First Name" +msgstr "이름" + +msgid "Last Name" +msgstr "성" + +msgid "A user with that username already exists." +msgstr "이 사용자명은 이미 사용되고 있습니다." + +msgid "The two password fields didn't match." +msgstr "두 개의 비밀번호가 일치하지 않습니다." + +msgid "Administrators have the ability to manage user accounts." +msgstr "관리자는 사용자 계정을 관리할 수 있는 권한을 가지고 있습니다." + +msgid "A group with that name already exists." +msgstr "이 이름을 가진 그룹은 이미 사용하고 있습니다." + +msgid "Submitted notifications" +msgstr "제출된 알림" + +msgid "Receive notification when a page is submitted for moderation" +msgstr "페이지가 검토를 위해 제출되었을 때 알림을 받습니다" + +msgid "Approved notifications" +msgstr "승인된 알림" + +msgid "Receive notification when your page edit is approved" +msgstr "당신의 페이지 수정 건이 승인 되었을때 알림을 받습니다" + +msgid "Rejected notifications" +msgstr "부결 알림" + +msgid "Receive notification when your page edit is rejected" +msgstr "당신의 페이지 수정 건이 부결 되었을때 알림을 받습니다" + +msgid "User Profile" +msgstr "사용자 프로필" + +msgid "Delete group" +msgstr "그룹 삭제" + +#, python-format +msgid "" +"The group '%(group_name)s' has %(group_user_count)s users " +"assigned." +msgstr "" +"'%(group_name)s' 그룹엔 %(group_user_count)s 명의 사용자가 " +"할당되어 있습니다." + +msgid "" +"Deleting this group will revoke this group's permissions from all member " +"users." +msgstr "" +"이 그룹을 지우면 모든 멤버 유저들로부터 그룹의 퍼미션들이 폐지될 것입니다." + +msgid "Are you sure you want to delete this group?" +msgstr "이 그룹을 정말 삭제할까요?" + +msgid "Yes, delete" +msgstr "네, 지우겠습니다." + +msgid "Add group" +msgstr "그룹 추가" + +msgid "Editing" +msgstr "수정중" + +msgid "Save" +msgstr "저장" + +msgid "Object permissions" +msgstr "오브젝트 허가" + +msgid "Name" +msgstr "이름" + +msgid "Add" +msgstr "추가" + +msgid "Change" +msgstr "변화" + +msgid "Delete" +msgstr "삭제" + +msgid "Other permissions" +msgstr "다른 퍼미션" + +msgid "Page permissions" +msgstr "페이지 퍼미션" + +msgid "Page" +msgstr "페이지" + +msgid "Permission type" +msgstr "퍼미션 형태" + +msgid "Add a page permission" +msgstr "페이지 퍼미션 추가" + +msgid "groups" +msgstr "그룹" + +msgid "Add a group" +msgstr "그룹 추가" + +#, python-format +msgid "" +"There are no groups configured. Why not add some?" +msgstr "" +"그룹이 설정되어 있지 않습니다. 지금 그룹을 추가 하는건 어떨까요?" + +msgid "Add user" +msgstr "사용자 추가" + +msgid "Account" +msgstr "계정" + +msgid "Roles" +msgstr "역할" + +msgid "Users" +msgstr "사용자" + +msgid "Add a user" +msgstr "사용자 추가" + +msgid "Username" +msgstr "사용자명" + +msgid "Level" +msgstr "레벨" + +msgid "Status" +msgstr "상태" + +msgid "Admin" +msgstr "관리자" + +msgid "Active" +msgstr "활성화" + +msgid "Inactive" +msgstr "비활성화" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"%(counter)s 개의 연관된 결과가 있습니다" + +#, python-format +msgid "Sorry, no users match \"%(query_string)s\"" +msgstr "죄송합니다. \"%(query_string)s\" 와 연관된 사용자가 없습니다" + +#, python-format +msgid "" +"There are no users configured. Why not add some?" +msgstr "" +"사용자가 설정되어 있지 않습니다. 지금 사용자를 추가 하는건 어떨까요?" + +msgid "Search groups" +msgstr "그룹 검색" + +#, python-brace-format +msgid "Group '{0}' created." +msgstr "'{0}' 그룹이 생성 되었습니다." + +msgid "Edit" +msgstr "수정" + +msgid "The group could not be created due to errors." +msgstr "에러로 인해 그룹이 생성될 수 없습니다." + +#, python-brace-format +msgid "Group '{0}' updated." +msgstr "'{0}' 그룹이 업데이트 되었습니다" + +msgid "The group could not be saved due to errors." +msgstr "에러로 인해 그룹이 생성될 수 없습니다." + +#, python-brace-format +msgid "Group '{0}' deleted." +msgstr "'{0}' 그룹이 삭제 되었습니다." + +msgid "Search users" +msgstr "사용자 검색" + +#, python-brace-format +msgid "User '{0}' created." +msgstr "'{0}' 사용자가 생성되었습니다" + +msgid "The user could not be created due to errors." +msgstr "에러로 인해 사용자를 생성할 수 없습니다." + +#, python-brace-format +msgid "User '{0}' updated." +msgstr "'{0}' 사용자가 업데이트 되었습니다." + +msgid "The user could not be saved due to errors." +msgstr "에러로 인해 사용자를 저장할 수 없습니다." + +msgid "Groups" +msgstr "그룹" diff --git a/wagtail/wagtailusers/locale/nb/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 000000000..06d7f3aa9 Binary files /dev/null and b/wagtail/wagtailusers/locale/nb/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/nb/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..0b723ba4c --- /dev/null +++ b/wagtail/wagtailusers/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,269 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Eirik Krogstad , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Wagtail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-02 14:43+0000\n" +"Last-Translator: Eirik Krogstad \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/torchbox/wagtail/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Påkrevet. 30 tegn eller færre. Kun bokstaver, tall og tegnene @/./+/-/_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Denne verdien kan kun inneholde bokstaver, tall og tegnene @/./+/-/_." + +msgid "Administrator" +msgstr "Administrator" + +msgid "If ticked, this user has the ability to manage user accounts." +msgstr "" +"Ved kryss har denne brukeren mulighet til å administrere brukerkontoer." + +msgid "Password" +msgstr "Passord" + +msgid "Leave blank if not changing." +msgstr "La stå blankt om du ikke vil endre." + +msgid "Password confirmation" +msgstr "Passord (bekreft)" + +msgid "Enter the same password as above, for verification." +msgstr "Skriv inn samme passord som over for å verifisere" + +msgid "Email" +msgstr "E-post" + +msgid "First Name" +msgstr "Fornavn" + +msgid "Last Name" +msgstr "Etternavn" + +msgid "A user with that username already exists." +msgstr "En bruker med dette navnet eksisterer allerede." + +msgid "The two password fields didn't match." +msgstr "Passordfeltene stemmer ikke overens." + +msgid "Administrators have the ability to manage user accounts." +msgstr "Administratorer har mulighet til å administrere brukerkontoer." + +msgid "A group with that name already exists." +msgstr "En gruppe med det navnet eksisterer allerede." + +msgid "Submitted notifications" +msgstr "Varsel om sendt til godkjenning" + +msgid "Receive notification when a page is submitted for moderation" +msgstr "Motta varsel når en side blir sendt til godkjenning" + +msgid "Approved notifications" +msgstr "Varsel om godkjenning" + +msgid "Receive notification when your page edit is approved" +msgstr "Motta varsel når din sideredigering blir godkjent" + +msgid "Rejected notifications" +msgstr "Varsel om avvisning" + +msgid "Receive notification when your page edit is rejected" +msgstr "Motta varsel når din sideredigering blir avvist" + +msgid "User Profile" +msgstr "Brukerprofil" + +msgid "Delete group" +msgstr "Slett gruppe" + +#, python-format +msgid "" +"The group '%(group_name)s' has %(group_user_count)s users " +"assigned." +msgstr "" +"Gruppen \"%(group_name)s\" har %(group_user_count)s brukere." + +msgid "" +"Deleting this group will revoke this group's permissions from all member " +"users." +msgstr "Ved å slette denne gruppen fratas alle medlemmer gruppens rettigheter." + +msgid "Are you sure you want to delete this group?" +msgstr "Er du sikker på at du vil slette denne gruppen?" + +msgid "Yes, delete" +msgstr "Ja, slett" + +msgid "Add group" +msgstr "Legg til gruppe" + +msgid "Editing" +msgstr "Endrer" + +msgid "Save" +msgstr "Lagre" + +msgid "Object permissions" +msgstr "Objekttillatelser" + +msgid "Name" +msgstr "Navn" + +msgid "Add" +msgstr "Legg til" + +msgid "Change" +msgstr "Endre" + +msgid "Delete" +msgstr "Slett" + +msgid "Other permissions" +msgstr "Andre tillatelser" + +msgid "Page permissions" +msgstr "Sidetillatelser" + +msgid "Page" +msgstr "Side" + +msgid "Permission type" +msgstr "Tillatelsestype" + +msgid "Add a page permission" +msgstr "Legg til sidetillatelse" + +msgid "groups" +msgstr "grupper" + +msgid "Add a group" +msgstr "Legg til en gruppe" + +#, python-format +msgid "" +"There are no groups configured. Why not add some?" +msgstr "" +"Det er ingen grupper konfigurert. Hvorfor ikke legge en til?" + +msgid "Add user" +msgstr "Legg til bruker" + +msgid "Account" +msgstr "Konto" + +msgid "Roles" +msgstr "Roller" + +msgid "Users" +msgstr "Brukere" + +msgid "Add a user" +msgstr "Legg til en bruker" + +msgid "Username" +msgstr "Brukernavn" + +msgid "Level" +msgstr "Nivå" + +msgid "Status" +msgstr "Status" + +msgid "Admin" +msgstr "Admin" + +msgid "Active" +msgstr "Aktiv" + +msgid "Inactive" +msgstr "Inaktiv" + +#, python-format +msgid "" +"\n" +" There is one match\n" +" " +msgid_plural "" +"\n" +" There are %(counter)s matches\n" +" " +msgstr[0] "" +"\n" +"Det er ett treff\n" +" " +msgstr[1] "" +"\n" +"Det er %(counter)s treff\n" +" " + +#, python-format +msgid "Sorry, no users match \"%(query_string)s\"" +msgstr "Beklager, ingen brukere samsvarer med \"%(query_string)s\"" + +#, python-format +msgid "" +"There are no users configured. Why not add some?" +msgstr "" +"Det er ingen brukere konfigurert. Hvorfor ikke legge til noen?" + +msgid "Search groups" +msgstr "Søk i grupper" + +#, python-brace-format +msgid "Group '{0}' created." +msgstr "Gruppa \"{0}\" er opprettet." + +msgid "Edit" +msgstr "Endre" + +msgid "The group could not be created due to errors." +msgstr "Gruppa kunne ikke lagres grunnet feil." + +#, python-brace-format +msgid "Group '{0}' updated." +msgstr "Gruppa \"{0}\" er oppdatert." + +msgid "The group could not be saved due to errors." +msgstr "Gruppa kunne ikke lagres grunnet feil." + +#, python-brace-format +msgid "Group '{0}' deleted." +msgstr "Gruppa \"{0}\" er slettet." + +msgid "Search users" +msgstr "Søk blant brukere" + +#, python-brace-format +msgid "User '{0}' created." +msgstr "Brukeren \"{0}\" er opprettet." + +msgid "The user could not be created due to errors." +msgstr "Brukeren kunne ikke opprettes grunnet feil." + +#, python-brace-format +msgid "User '{0}' updated." +msgstr "Brukeren \"{0}\" er oppdatert." + +msgid "The user could not be saved due to errors." +msgstr "Brukeren kunne ikke lagres grunnet feil." + +msgid "Groups" +msgstr "Grupper" diff --git a/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.mo index bc53ba9d3..21a4f659f 100644 Binary files a/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.po index afd0e7cdf..b6cac5b1a 100644 --- a/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/pl/LC_MESSAGES/django.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Polish (http://www.transifex.com/torchbox/wagtail/language/" "pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,6 +21,13 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Wymagane. 30 lub mniej znaków. Tylko litery, liczby oraz znaki @/./+/-/_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Ta wartość może zawierać tylko litery, liczby oraz znaki @/./+/-/_. " + msgid "Administrator" msgstr "Administrator" @@ -29,6 +36,18 @@ msgstr "" "Zaznaczone oznacza, że użytkownik ma możliwość zarządzania kontami " "użytkowników" +msgid "Password" +msgstr "Hasło" + +msgid "Leave blank if not changing." +msgstr "Pozostaw puste w przypadku braku zmiany." + +msgid "Password confirmation" +msgstr "Potwierdzenie hasła" + +msgid "Enter the same password as above, for verification." +msgstr "W celu potwierdzenie wpisz to samo hasło co powyżej." + msgid "Email" msgstr "Email" @@ -44,28 +63,6 @@ msgstr "Użytkownik o tej nazwie już istnieje." msgid "The two password fields didn't match." msgstr "Hasła się nie zgadzają." -msgid "Username" -msgstr "Nazwa użytkownika" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Wymagane. 30 lub mniej znaków. Tylko litery, liczby oraz znaki @/./+/-/_." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Ta wartość może zawierać tylko litery, liczby oraz znaki @/./+/-/_. " - -msgid "Password" -msgstr "Hasło" - -msgid "Leave blank if not changing." -msgstr "Pozostaw puste w przypadku braku zmiany." - -msgid "Password confirmation" -msgstr "Potwierdzenie hasła" - -msgid "Enter the same password as above, for verification." -msgstr "W celu potwierdzenie wpisz to samo hasło co powyżej." - msgid "Administrators have the ability to manage user accounts." msgstr "Administratorzy mają możliwość zarządzania kontami użytkowników." @@ -102,6 +99,9 @@ msgstr "Użytkownicy" msgid "Add a user" msgstr "Dodaj użytkownika" +msgid "Username" +msgstr "Nazwa użytkownika" + msgid "Level" msgstr "Poziom" diff --git a/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.mo index 35831f27b..1e650a364 100644 Binary files a/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.po index c741e054c..bd7ee985e 100644 --- a/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/pt_BR/LC_MESSAGES/django.po @@ -12,10 +12,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 11:37+0000\n" "Last-Translator: Claudemiro Alves Feitosa Neto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/torchbox/" "wagtail/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,6 +23,14 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obrigatório. 30 caracteres ou menos. Somente letras, números e @/./+/-/_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Este valor pode conter somente letras, números e os caracteres @/./+/-/_." + msgid "Administrator" msgstr "Administrador" @@ -30,6 +38,18 @@ msgid "If ticked, this user has the ability to manage user accounts." msgstr "" "Se marcado, este usuário terá a habilidade de gerenciar contas de usuários." +msgid "Password" +msgstr "Senha" + +msgid "Leave blank if not changing." +msgstr "Deixe em branco se não estiver alterando." + +msgid "Password confirmation" +msgstr "Confirmação de senha" + +msgid "Enter the same password as above, for verification." +msgstr "Digite a mesma senha como acima, para verificação." + msgid "Email" msgstr "Email" @@ -45,29 +65,6 @@ msgstr "Um usuário com este nome já existe." msgid "The two password fields didn't match." msgstr "Os dois campos de senha não coincidem." -msgid "Username" -msgstr "Nome de usuário" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Obrigatório. 30 caracteres ou menos. Somente letras, números e @/./+/-/_." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "" -"Este valor pode conter somente letras, números e os caracteres @/./+/-/_." - -msgid "Password" -msgstr "Senha" - -msgid "Leave blank if not changing." -msgstr "Deixe em branco se não estiver alterando." - -msgid "Password confirmation" -msgstr "Confirmação de senha" - -msgid "Enter the same password as above, for verification." -msgstr "Digite a mesma senha como acima, para verificação." - msgid "Administrators have the ability to manage user accounts." msgstr "Administradores tem a habilidade de gerenciar contas de usuários." @@ -187,6 +184,9 @@ msgstr "Usuários" msgid "Add a user" msgstr "Adicionar um usuário" +msgid "Username" +msgstr "Nome de usuário" + msgid "Level" msgstr "Nível" diff --git a/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.mo index 3bd43755a..0bf65f14a 100644 Binary files a/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.po index 33c4cea21..686420e78 100644 --- a/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/pt_PT/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-29 17:37+0000\n" "Last-Translator: Tiago Henriques \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/torchbox/" "wagtail/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,6 +21,14 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obrigatório. 30 caracteres ou menos. Apenas letras, algarismos e @/./+/-/_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Este valor apenas pode conter letras, números e os caracteres @/./+/-/_." + msgid "Administrator" msgstr "Administrador" @@ -29,6 +37,18 @@ msgstr "" "Se selecionado, este utilizador terá permissão para gerir contas de " "utilizadores." +msgid "Password" +msgstr "Senha" + +msgid "Leave blank if not changing." +msgstr "Deixar em branco se não estiver a alterar." + +msgid "Password confirmation" +msgstr "Confirmação de senha" + +msgid "Enter the same password as above, for verification." +msgstr "Introduza a mesma senha como acima para verificação." + msgid "Email" msgstr "E-mail" @@ -44,29 +64,6 @@ msgstr "Já existe um utilizador com esse nome." msgid "The two password fields didn't match." msgstr "As senhas nos dois campos não coincidem." -msgid "Username" -msgstr "Utilizador" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Obrigatório. 30 caracteres ou menos. Apenas letras, algarismos e @/./+/-/_." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "" -"Este valor apenas pode conter letras, números e os caracteres @/./+/-/_." - -msgid "Password" -msgstr "Senha" - -msgid "Leave blank if not changing." -msgstr "Deixar em branco se não estiver a alterar." - -msgid "Password confirmation" -msgstr "Confirmação de senha" - -msgid "Enter the same password as above, for verification." -msgstr "Introduza a mesma senha como acima para verificação." - msgid "Administrators have the ability to manage user accounts." msgstr "Os administradores têm permissão para gerir contas de utilizadores." @@ -186,6 +183,9 @@ msgstr "Utilizadores" msgid "Add a user" msgstr "Adicionar um utilizador" +msgid "Username" +msgstr "Utilizador" + msgid "Level" msgstr "Nível" diff --git a/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.mo index 2e8e0f0c6..4e5e2d28c 100644 Binary files a/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.po index 802fdf44a..a686caca1 100644 --- a/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/ro/LC_MESSAGES/django.po @@ -10,11 +10,11 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" -"PO-Revision-Date: 2015-04-21 08:40+0000\n" -"Last-Translator: Karl Hobley \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/wagtail/" -"language/ro/)\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" +"PO-Revision-Date: 2015-09-03 20:06+0000\n" +"Last-Translator: Dan Braghis\n" +"Language-Team: Romanian (http://www.transifex.com/torchbox/wagtail/language/" +"ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -22,12 +22,30 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Obligatoriu. Până la 30 caractere. Numai litere, numere și @/./+/-/_" + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Această valoare poate conține numai litere, numere și @/./+/-/_" + msgid "Administrator" msgstr "Administrator" msgid "If ticked, this user has the ability to manage user accounts." msgstr "Acest utilizator poate gestiona conturi de utilizator dacă este bifat." +msgid "Password" +msgstr "Parolă" + +msgid "Leave blank if not changing." +msgstr "Lăsați liber dacă nu schimbați." + +msgid "Password confirmation" +msgstr "Confirmare parolă" + +msgid "Enter the same password as above, for verification." +msgstr "Introduceți aceeași parolă ca mai sus pentru verificare" + msgid "Email" msgstr "E-mail" @@ -43,42 +61,33 @@ msgstr "Un utilizator cu acest nume există deja." msgid "The two password fields didn't match." msgstr "Câmpurile de parolă nu se potrivesc." -msgid "Username" -msgstr "Nume utlizator" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "Obligatoriu. Până la 30 caractere. Numai litere, numere și @/./+/-/_" - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Această valoare poate conține numai litere, numere și @/./+/-/_" - -msgid "Password" -msgstr "Parolă" - -msgid "Leave blank if not changing." -msgstr "Lăsați liber dacă nu schimbați." - -msgid "Password confirmation" -msgstr "Confirmare parolă" - -msgid "Enter the same password as above, for verification." -msgstr "Introduceți aceeași parolă ca mai sus pentru verificare" - msgid "Administrators have the ability to manage user accounts." msgstr "Administratorii pot gestiona conturi de utilizator." msgid "A group with that name already exists." msgstr "Un grup cu acest nume există deja." +msgid "Submitted notifications" +msgstr "Notificări depuse" + msgid "Receive notification when a page is submitted for moderation" msgstr "Primește o notificăre când o pagină este trimisă pentru moderare" +msgid "Approved notifications" +msgstr "Notificări aprobate" + msgid "Receive notification when your page edit is approved" msgstr "Primește o notificare când modificarea paginii este aprobată" +msgid "Rejected notifications" +msgstr "Notificări respinse" + msgid "Receive notification when your page edit is rejected" msgstr "Primește o notificare când modificărea paginii este respinsă" +msgid "User Profile" +msgstr "Profil utilizator" + msgid "Delete group" msgstr "Șterge grup" @@ -90,6 +99,12 @@ msgstr "" "Grupul '%(group_name)s' are %(group_user_count)s " "utilizatori alocați." +msgid "" +"Deleting this group will revoke this group's permissions from all member " +"users." +msgstr "" +"Ștergerea acestui grup va revoca permsiunile de la toți utilizatorii membri." + msgid "Are you sure you want to delete this group?" msgstr "Sigur doriți să ștergeți acest grup?" @@ -123,6 +138,15 @@ msgstr "Șterge" msgid "Other permissions" msgstr "Alte permisiuni" +msgid "Page permissions" +msgstr "Permisiuni pagină" + +msgid "Page" +msgstr "Pagină" + +msgid "Permission type" +msgstr "Tip permisiune" + msgid "Add a page permission" msgstr "Adaugă permisiune de pagină" @@ -155,6 +179,9 @@ msgstr "Utilizatori" msgid "Add a user" msgstr "Adaugă un utilizator" +msgid "Username" +msgstr "Nume utlizator" + msgid "Level" msgstr "Nivel" @@ -210,6 +237,9 @@ msgstr "Caută grupuri" msgid "Group '{0}' created." msgstr "Grupul '{0}' a fost creat." +msgid "Edit" +msgstr "Editează" + msgid "The group could not be created due to errors." msgstr "Grupul nu a fost creat din cauza erorilor." diff --git a/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.mo index b87080812..46b2653c8 100644 Binary files a/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.po index 34d930387..be94e8d70 100644 --- a/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/ru/LC_MESSAGES/django.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-28 07:04+0000\n" "Last-Translator: Eugene MechanisM \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Russian (http://www.transifex.com/torchbox/wagtail/language/" "ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,6 +24,14 @@ msgstr "" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Обязательное. 30 символов или меньше. Только буквы, цифры и символы @/./+/-/" +"_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Это значение может содержать только буквы, цифры и @/./+/-/_ символы." + msgid "Administrator" msgstr "Администратор" @@ -32,6 +40,18 @@ msgstr "" "Если выбрано, этот пользователь имеет возможность управлять " "пользовательскими аккаунтами." +msgid "Password" +msgstr "Пароль" + +msgid "Leave blank if not changing." +msgstr "Оставьте пустым, если не изменяется." + +msgid "Password confirmation" +msgstr "Подтверждение пароля" + +msgid "Enter the same password as above, for verification." +msgstr "Введите такой же пароль, как выше, для подтверждения." + msgid "Email" msgstr "Адрес электронной почты" @@ -47,29 +67,6 @@ msgstr "Пользователь с таким именем пользовате msgid "The two password fields didn't match." msgstr "Два поля с паролями не совпадают." -msgid "Username" -msgstr "Имя пользователя" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "" -"Обязательное. 30 символов или меньше. Только буквы, цифры и символы @/./+/-/" -"_." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Это значение может содержать только буквы, цифры и @/./+/-/_ символы." - -msgid "Password" -msgstr "Пароль" - -msgid "Leave blank if not changing." -msgstr "Оставьте пустым, если не изменяется." - -msgid "Password confirmation" -msgstr "Подтверждение пароля" - -msgid "Enter the same password as above, for verification." -msgstr "Введите такой же пароль, как выше, для подтверждения." - msgid "Administrators have the ability to manage user accounts." msgstr "Администраторы имеют возможность управлять аккаунтами пользователей." @@ -189,6 +186,9 @@ msgstr "Пользователи" msgid "Add a user" msgstr "Добавить пользователя" +msgid "Username" +msgstr "Имя пользователя" + msgid "Level" msgstr "Уровень" diff --git a/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.mo index bff04c234..88c427286 100644 Binary files a/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.po index 4e0a25863..96c04c63c 100644 --- a/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/vi/LC_MESSAGES/django.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Vietnamese (http://www.transifex.com/torchbox/wagtail/" "language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,9 +19,27 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Cần nhập. 30 ký tự hoặc ít hơn. Chỉ chấp nhận kí tự, số và @/./+/-/_." + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Giá trị này chỉ chấp nhận ký tự, số và @/./+/-/_." + msgid "If ticked, this user has the ability to manage user accounts." msgstr "Nếu chọn, người dùng này có thể quản lý các tài khoản." +msgid "Password" +msgstr "Mật khẩu" + +msgid "Leave blank if not changing." +msgstr "Để trống nếu không thay đổi." + +msgid "Password confirmation" +msgstr "Xác nhận lại mật khẩu" + +msgid "Enter the same password as above, for verification." +msgstr "Nhập lại mật khẩu phía trên để xác nhận." + msgid "Email" msgstr "Email" @@ -37,27 +55,6 @@ msgstr "Người dùng với username này đã tồn tại." msgid "The two password fields didn't match." msgstr "Hai mật khẩu không giống nhau." -msgid "Username" -msgstr "Username" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "Cần nhập. 30 ký tự hoặc ít hơn. Chỉ chấp nhận kí tự, số và @/./+/-/_." - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "Giá trị này chỉ chấp nhận ký tự, số và @/./+/-/_." - -msgid "Password" -msgstr "Mật khẩu" - -msgid "Leave blank if not changing." -msgstr "Để trống nếu không thay đổi." - -msgid "Password confirmation" -msgstr "Xác nhận lại mật khẩu" - -msgid "Enter the same password as above, for verification." -msgstr "Nhập lại mật khẩu phía trên để xác nhận." - msgid "Administrators have the ability to manage user accounts." msgstr "Người điều hành có khả năng quản lý các tài khoản." @@ -115,6 +112,9 @@ msgstr "Người dùng" msgid "Add a user" msgstr "Thêm người dùng" +msgid "Username" +msgstr "Username" + msgid "Status" msgstr "Trạng thái" diff --git a/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.mo index 99c3feef2..860e6c0d2 100644 Binary files a/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.po index 83aec176a..917246885 100644 --- a/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/zh/LC_MESSAGES/django.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-04-21 08:40+0000\n" "Last-Translator: Karl Hobley \n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/wagtail/language/" +"Language-Team: Chinese (http://www.transifex.com/torchbox/wagtail/language/" "zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,12 +18,30 @@ msgstr "" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "必填,30个字符以内。仅字母,数字,数字和 @/./+/-/_" + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "这个值只能含有字母,数字,数字和 @/./+/-/_" + msgid "Administrator" msgstr "管理员" msgid "If ticked, this user has the ability to manage user accounts." msgstr "如果已选,这个用户将有权限管理用户账号" +msgid "Password" +msgstr "密码" + +msgid "Leave blank if not changing." +msgstr "留空如果不修改" + +msgid "Password confirmation" +msgstr "密码确认" + +msgid "Enter the same password as above, for verification." +msgstr "输入和上面一样的密码用于验证" + msgid "Email" msgstr "电子邮件" @@ -39,27 +57,6 @@ msgstr "一个用户已经占用那个用户名" msgid "The two password fields didn't match." msgstr "两个密码不匹配" -msgid "Username" -msgstr "用户名" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "必填,30个字符以内。仅字母,数字,数字和 @/./+/-/_" - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "这个值只能含有字母,数字,数字和 @/./+/-/_" - -msgid "Password" -msgstr "密码" - -msgid "Leave blank if not changing." -msgstr "留空如果不修改" - -msgid "Password confirmation" -msgstr "密码确认" - -msgid "Enter the same password as above, for verification." -msgstr "输入和上面一样的密码用于验证" - msgid "Administrators have the ability to manage user accounts." msgstr "管理员们有管理用户账号的权限" @@ -87,6 +84,9 @@ msgstr "用户" msgid "Add a user" msgstr "添加用户" +msgid "Username" +msgstr "用户名" + msgid "Level" msgstr "等级" diff --git a/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.mo b/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.mo index d2c588536..7a048690b 100644 Binary files a/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.mo and b/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.po b/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.po index 2a9b600c8..144b692cc 100644 --- a/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.po +++ b/wagtail/wagtailusers/locale/zh_CN/LC_MESSAGES/django.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: Wagtail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-21 09:39+0100\n" +"POT-Creation-Date: 2015-08-26 14:28+0100\n" "PO-Revision-Date: 2015-06-29 17:12+0000\n" "Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/wagtail/" +"Language-Team: Chinese (China) (http://www.transifex.com/torchbox/wagtail/" "language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,12 +21,30 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "必填。30字符以内。只能使用字母,数字和@/./+/-/_" + +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "只能使用字母,数字和@/./+/-/_字符。" + msgid "Administrator" msgstr "管理员" msgid "If ticked, this user has the ability to manage user accounts." msgstr "选中则此用户可以管理账户" +msgid "Password" +msgstr "密码" + +msgid "Leave blank if not changing." +msgstr "如不修改则留空" + +msgid "Password confirmation" +msgstr "确认密码" + +msgid "Enter the same password as above, for verification." +msgstr "键入同样的密码,以备验证。" + msgid "Email" msgstr "电子邮件" @@ -42,27 +60,6 @@ msgstr "此用户名已被占用" msgid "The two password fields didn't match." msgstr "密码字段不匹配" -msgid "Username" -msgstr "用户名" - -msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." -msgstr "必填。30字符以内。只能使用字母,数字和@/./+/-/_" - -msgid "This value may contain only letters, numbers and @/./+/-/_ characters." -msgstr "只能使用字母,数字和@/./+/-/_字符。" - -msgid "Password" -msgstr "密码" - -msgid "Leave blank if not changing." -msgstr "如不修改则留空" - -msgid "Password confirmation" -msgstr "确认密码" - -msgid "Enter the same password as above, for verification." -msgstr "键入同样的密码,以备验证。" - msgid "Administrators have the ability to manage user accounts." msgstr "管理员可以管理用户账户。" @@ -177,6 +174,9 @@ msgstr "用户" msgid "Add a user" msgstr "添加用户" +msgid "Username" +msgstr "用户名" + msgid "Level" msgstr "等级" diff --git a/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js b/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js new file mode 100644 index 000000000..ee1ccd411 --- /dev/null +++ b/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js @@ -0,0 +1,13 @@ +$(function() { + buildExpandingFormset('id_page_permissions', { + onInit: function(index) { + var deleteInputId = 'id_page_permissions-' + index + '-DELETE'; + var childId = 'inline_child_page_permissions-' + index; + $('#' + deleteInputId + '-button').click(function() { + /* set 'deleted' form field to true */ + $('#' + deleteInputId).val('1'); + $('#' + childId).fadeOut(); + }); + } + }); +}); diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/create.html b/wagtail/wagtailusers/templates/wagtailusers/groups/create.html index ec125511c..b5712e589 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/create.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/create.html @@ -33,9 +33,5 @@ {% endblock %} {% block extra_js %} - {% include "wagtailadmin/pages/_editor_js.html" %} - - + {% include "wagtailusers/groups/includes/group_form_js.html" %} {% endblock %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html b/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html index 55886f6ad..ddf76625a 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html @@ -41,9 +41,5 @@ {% endblock %} {% block extra_js %} - {% include "wagtailadmin/pages/_editor_js.html" %} - - + {% include "wagtailusers/groups/includes/group_form_js.html" %} {% endblock %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/formatted_permissions.html b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/formatted_permissions.html index b3f46e1ec..9a524c1e8 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/formatted_permissions.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/formatted_permissions.html @@ -20,17 +20,23 @@

    {{ content_perms_dict.object|capfirst }}

    {% with content_perms_dict.add as perm_tuple %} - + {% if perm_tuple %} + + {% endif %} {% endwith %} {% with content_perms_dict.change as perm_tuple %} - + {% if perm_tuple %} + + {% endif %} {% endwith %} {% with content_perms_dict.delete as perm_tuple %} - + {% if perm_tuple %} + + {% endif %} {% endwith %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/group_form_js.html b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/group_form_js.html new file mode 100644 index 000000000..d494ce946 --- /dev/null +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/group_form_js.html @@ -0,0 +1,13 @@ +{% load static compress %} + + +{% compress js %} + + + + +{% endcompress %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html index f6f56414d..f113231c8 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html @@ -1,17 +1,15 @@ {% load i18n %} - {% include "wagtailadmin/edit_handlers/field_panel_field.html" with field=form.page only %} + {% include "wagtailadmin/shared/field.html" with field=form.page only %} - {% include "wagtailadmin/edit_handlers/field_panel_field.html" with field=form.permission_type only %} + {% include "wagtailadmin/shared/field.html" with field=form.permission_type only %} {{ form.id }} - {{ form.ORDER }} {{ form.DELETE }} - + - diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html index 57eb59ace..7839da07b 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html @@ -1,7 +1,7 @@ {% load i18n wagtailadmin_tags %}

    {% trans "Page permissions" %}

    -{{ formset.management_form }}{# what is this? #} +{{ formset.management_form }} @@ -32,7 +32,7 @@