wagtail 7.2.1__py3-none-any.whl → 7.3rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wagtail/__init__.py +1 -1
- wagtail/actions/copy_for_translation.py +4 -2
- wagtail/admin/action_menu.py +4 -1
- wagtail/admin/api/actions/convert_alias.py +2 -2
- wagtail/admin/api/actions/copy.py +2 -2
- wagtail/admin/api/actions/copy_for_translation.py +2 -2
- wagtail/admin/api/actions/create_alias.py +2 -2
- wagtail/admin/api/actions/delete.py +1 -1
- wagtail/admin/api/actions/move.py +1 -1
- wagtail/admin/api/actions/publish.py +2 -2
- wagtail/admin/api/actions/revert_to_page_revision.py +2 -2
- wagtail/admin/api/actions/unpublish.py +1 -1
- wagtail/admin/api/filters.py +2 -2
- wagtail/admin/compare.py +22 -0
- wagtail/admin/forms/account.py +52 -1
- wagtail/admin/forms/comments.py +53 -0
- wagtail/admin/forms/models.py +36 -0
- wagtail/admin/forms/pages.py +7 -0
- wagtail/admin/forms/workflows.py +5 -2
- wagtail/admin/icons.py +4 -3
- wagtail/admin/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ar/LC_MESSAGES/django.po +35 -0
- wagtail/admin/locale/en/LC_MESSAGES/django.po +262 -234
- wagtail/admin/locale/en/LC_MESSAGES/djangojs.po +72 -43
- wagtail/admin/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/it/LC_MESSAGES/django.po +566 -6
- wagtail/admin/locale/it/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/it/LC_MESSAGES/djangojs.po +40 -2
- wagtail/admin/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/nl/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/django.po +330 -15
- wagtail/admin/locale/sv/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/djangojs.po +3 -2
- wagtail/admin/panels/comment_panel.py +1 -51
- wagtail/admin/panels/title_field_panel.py +3 -1
- wagtail/admin/static/wagtailadmin/css/core.css +1 -1
- wagtail/admin/static/wagtailadmin/js/bulk-actions.js +1 -1
- wagtail/admin/static/wagtailadmin/js/comments.js +1 -1
- wagtail/admin/static/wagtailadmin/js/core.js +1 -1
- wagtail/admin/static/wagtailadmin/js/core.js.LICENSE.txt +1 -1
- wagtail/admin/static/wagtailadmin/js/draftail.js +1 -1
- wagtail/admin/static/wagtailadmin/js/privacy-switch.js +1 -1
- wagtail/admin/static/wagtailadmin/js/sidebar.js +1 -1
- wagtail/admin/static/wagtailadmin/js/telepath/blocks.js +1 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js +1 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js.LICENSE.txt +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor.js +1 -1
- wagtail/admin/static/wagtailadmin/js/wagtailadmin.js +1 -1
- wagtail/admin/templates/wagtailadmin/base.html +1 -1
- wagtail/admin/templates/wagtailadmin/generic/edit_partials.html +100 -0
- wagtail/admin/templates/wagtailadmin/generic/form.html +26 -5
- wagtail/admin/templates/wagtailadmin/generic/includes/_loaded_revision_inputs.html +3 -0
- wagtail/admin/templates/wagtailadmin/generic/listing_results.html +1 -17
- wagtail/admin/templates/wagtailadmin/pages/create.html +14 -4
- wagtail/admin/templates/wagtailadmin/pages/edit.html +16 -3
- wagtail/admin/templates/wagtailadmin/pages/edit_partials.html +31 -0
- wagtail/admin/templates/wagtailadmin/pages/index_results.html +1 -9
- wagtail/admin/templates/wagtailadmin/shared/autosave/indicator.html +36 -0
- wagtail/admin/templates/wagtailadmin/shared/breadcrumbs.html +1 -1
- wagtail/admin/templates/wagtailadmin/shared/editing_sessions/list.html +2 -2
- wagtail/admin/templates/wagtailadmin/shared/editing_sessions/module.html +19 -3
- wagtail/admin/templates/wagtailadmin/shared/headers/_actions.html +5 -0
- wagtail/admin/templates/wagtailadmin/shared/headers/_history_icon_link.html +2 -2
- wagtail/admin/templates/wagtailadmin/shared/headers/slim_header.html +8 -9
- wagtail/admin/templates/wagtailadmin/shared/listing/filter_partials.html +19 -0
- wagtail/admin/templates/wagtailadmin/shared/side_panel_toggle.html +3 -3
- wagtail/admin/templates/wagtailadmin/shared/side_panels/includes/side_panel.html +3 -0
- wagtail/admin/templates/wagtailadmin/shared/side_panels/includes/status/privacy.html +18 -6
- wagtail/admin/templates/wagtailadmin/shared/side_panels/includes/status/usage.html +11 -4
- wagtail/admin/templates/wagtailadmin/shared/side_panels/includes/status/workflow.html +22 -1
- wagtail/admin/templates/wagtailadmin/shared/side_panels/preview.html +1 -0
- wagtail/admin/templates/wagtailadmin/shared/side_panels.html +1 -2
- wagtail/admin/templates/wagtailadmin/shared/unsaved_changes_warning.html +20 -20
- wagtail/admin/templates/wagtailadmin/userbar/base.html +2 -0
- wagtail/admin/templates/wagtailadmin/userbar/item_accessibility.html +1 -1
- wagtail/admin/templatetags/wagtailadmin_tags.py +6 -14
- wagtail/admin/tests/pages/test_create_page.py +298 -1
- wagtail/admin/tests/pages/test_custom_listing.py +48 -2
- wagtail/admin/tests/pages/test_edit_page.py +721 -7
- wagtail/admin/tests/pages/test_explorer_view.py +9 -5
- wagtail/admin/tests/pages/test_page_search.py +15 -0
- wagtail/admin/tests/pages/test_revisions.py +4 -0
- wagtail/admin/tests/test_account_management.py +88 -2
- wagtail/admin/tests/test_collections_views.py +15 -15
- wagtail/admin/tests/test_compare.py +34 -0
- wagtail/admin/tests/test_editing_sessions.py +230 -8
- wagtail/admin/tests/test_forms.py +192 -1
- wagtail/admin/tests/test_icon_sprite.py +22 -2
- wagtail/admin/tests/test_page_chooser.py +13 -13
- wagtail/admin/tests/test_reports_views.py +4 -1
- wagtail/admin/tests/test_userbar.py +69 -5
- wagtail/admin/tests/test_views_generic.py +5 -5
- wagtail/admin/tests/test_workflows.py +14 -12
- wagtail/admin/tests/viewsets/test_model_viewset.py +13 -0
- wagtail/admin/ui/autosave.py +5 -0
- wagtail/admin/ui/editing_sessions.py +3 -0
- wagtail/admin/ui/side_panels.py +19 -20
- wagtail/admin/userbar.py +48 -27
- wagtail/admin/views/bulk_action/dispatcher.py +2 -2
- wagtail/admin/views/chooser.py +6 -6
- wagtail/admin/views/editing_sessions.py +20 -7
- wagtail/admin/views/generic/__init__.py +1 -0
- wagtail/admin/views/generic/chooser.py +5 -5
- wagtail/admin/views/generic/mixins.py +143 -26
- wagtail/admin/views/generic/models.py +157 -27
- wagtail/admin/views/generic/ordering.py +1 -1
- wagtail/admin/views/generic/preview.py +4 -4
- wagtail/admin/views/home.py +3 -1
- wagtail/admin/views/pages/create.py +77 -29
- wagtail/admin/views/pages/edit.py +160 -34
- wagtail/admin/views/pages/preview.py +4 -4
- wagtail/admin/views/pages/revisions.py +3 -0
- wagtail/admin/views/pages/search.py +4 -4
- wagtail/admin/views/pages/usage.py +2 -2
- wagtail/admin/views/tags.py +2 -2
- wagtail/admin/views/workflows.py +73 -54
- wagtail/admin/viewsets/model.py +34 -8
- wagtail/admin/widgets/button.py +11 -4
- wagtail/admin/widgets/chooser.py +6 -4
- wagtail/admin/widgets/slug.py +1 -1
- wagtail/api/v2/filters.py +27 -21
- wagtail/api/v2/pagination.py +4 -4
- wagtail/api/v2/views.py +7 -7
- wagtail/blocks/list_block.py +0 -8
- wagtail/blocks/migrations/migrate_operation.py +8 -1
- wagtail/blocks/stream_block.py +2 -10
- wagtail/blocks/struct_block.py +192 -12
- wagtail/compat.py +2 -2
- wagtail/contrib/forms/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/it/LC_MESSAGES/django.po +40 -2
- wagtail/contrib/frontend_cache/backends/azure.py +6 -6
- wagtail/contrib/frontend_cache/backends/cloudfront.py +2 -2
- wagtail/contrib/frontend_cache/utils.py +1 -1
- wagtail/contrib/redirects/forms.py +1 -1
- wagtail/contrib/redirects/locale/en/LC_MESSAGES/django.po +14 -14
- wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.po +15 -2
- wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.po +16 -3
- wagtail/contrib/redirects/middleware.py +11 -7
- wagtail/contrib/redirects/models.py +17 -1
- wagtail/contrib/redirects/tests/test_import_admin_views.py +3 -3
- wagtail/contrib/redirects/tests/test_redirects.py +56 -8
- wagtail/contrib/search_promotions/locale/en/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +43 -2
- wagtail/contrib/search_promotions/tests.py +1 -1
- wagtail/contrib/search_promotions/views/settings.py +24 -25
- wagtail/contrib/settings/jinja2tags.py +2 -2
- wagtail/contrib/settings/locale/en/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/it/LC_MESSAGES/django.po +6 -2
- wagtail/contrib/settings/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/sv/LC_MESSAGES/django.po +3 -2
- wagtail/contrib/settings/tests/generic/test_admin.py +118 -2
- wagtail/contrib/settings/tests/site_specific/test_admin.py +78 -15
- wagtail/contrib/settings/tests/site_specific/test_model.py +2 -2
- wagtail/contrib/settings/views.py +7 -0
- wagtail/contrib/simple_translation/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/simple_translation/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/simple_translation/locale/it/LC_MESSAGES/django.po +5 -2
- wagtail/contrib/styleguide/locale/en/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/styleguide/tests.py +2 -0
- wagtail/contrib/styleguide/views.py +4 -5
- wagtail/contrib/table_block/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/ar/LC_MESSAGES/django.po +5 -1
- wagtail/contrib/table_block/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/it/LC_MESSAGES/django.po +5 -2
- wagtail/contrib/typed_table_block/blocks.py +37 -0
- wagtail/contrib/typed_table_block/locale/en/LC_MESSAGES/django.po +10 -10
- wagtail/contrib/typed_table_block/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/sv/LC_MESSAGES/django.po +4 -3
- wagtail/contrib/typed_table_block/tests.py +108 -0
- wagtail/coreutils.py +4 -4
- wagtail/documents/__init__.py +4 -4
- wagtail/documents/locale/en/LC_MESSAGES/django.po +15 -15
- wagtail/documents/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/it/LC_MESSAGES/django.po +32 -2
- wagtail/documents/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sv/LC_MESSAGES/django.po +32 -4
- wagtail/documents/models.py +1 -1
- wagtail/documents/tests/test_admin_views.py +19 -4
- wagtail/documents/tests/test_search.py +0 -2
- wagtail/documents/tests/test_views.py +6 -4
- wagtail/documents/views/bulk_actions/add_tags.py +1 -1
- wagtail/embeds/finders/facebook.py +3 -3
- wagtail/embeds/finders/instagram.py +3 -3
- wagtail/embeds/finders/oembed.py +7 -2
- wagtail/embeds/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/embeds/oembed_providers.py +8 -0
- wagtail/embeds/tests/test_embeds.py +35 -0
- wagtail/images/__init__.py +4 -4
- wagtail/images/admin_urls.py +3 -3
- wagtail/images/blocks.py +1 -1
- wagtail/images/formats.py +2 -2
- wagtail/images/image_operations.py +2 -2
- wagtail/images/locale/en/LC_MESSAGES/django.po +44 -40
- wagtail/images/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/it/LC_MESSAGES/django.po +50 -4
- wagtail/images/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/nl/LC_MESSAGES/django.po +3 -3
- wagtail/images/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sv/LC_MESSAGES/django.po +49 -6
- wagtail/images/models.py +11 -10
- wagtail/images/templates/wagtailimages/images/index_results.html +1 -1
- wagtail/images/templates/wagtailimages/images/url_generator.html +17 -38
- wagtail/images/templates/wagtailimages/images/url_generator_output.html +28 -0
- wagtail/images/templatetags/wagtailimages_tags.py +4 -4
- wagtail/images/tests/test_admin_views.py +432 -59
- wagtail/images/tests/test_image_operations.py +2 -2
- wagtail/images/tests/test_models.py +0 -2
- wagtail/images/views/bulk_actions/add_tags.py +1 -1
- wagtail/images/views/images.py +72 -39
- wagtail/locale/en/LC_MESSAGES/django.po +103 -105
- wagtail/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/it/LC_MESSAGES/django.po +105 -2
- wagtail/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/sv/LC_MESSAGES/django.po +95 -12
- wagtail/locales/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/locales/locale/it/LC_MESSAGES/django.po +13 -2
- wagtail/locales/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/locales/locale/sv/LC_MESSAGES/django.po +4 -3
- wagtail/locales/tests.py +5 -5
- wagtail/models/i18n.py +4 -6
- wagtail/models/media.py +18 -0
- wagtail/models/pages.py +65 -11
- wagtail/models/reference_index.py +15 -0
- wagtail/models/revisions.py +40 -12
- wagtail/models/workflows.py +0 -3
- wagtail/permission_policies/base.py +2 -2
- wagtail/permission_policies/collections.py +2 -2
- wagtail/project_template/requirements.txt +2 -2
- wagtail/search/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/signal_handlers.py +1 -0
- wagtail/sites/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/sites/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/sites/locale/sv/LC_MESSAGES/django.po +3 -2
- wagtail/sites/tests.py +7 -7
- wagtail/snippets/action_menu.py +2 -1
- wagtail/snippets/locale/en/LC_MESSAGES/django.po +23 -13
- wagtail/snippets/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/sv/LC_MESSAGES/django.po +12 -1
- wagtail/snippets/tests/test_chooser_block.py +197 -0
- wagtail/snippets/tests/test_chooser_panel.py +149 -0
- wagtail/snippets/tests/test_chooser_views.py +375 -0
- wagtail/snippets/tests/test_chooser_widget.py +22 -0
- wagtail/snippets/tests/test_compare_revisions_view.py +167 -0
- wagtail/snippets/tests/test_copy_view.py +38 -0
- wagtail/snippets/tests/test_create_view.py +1159 -0
- wagtail/snippets/tests/test_delete_view.py +225 -0
- wagtail/snippets/tests/test_edit_view.py +2882 -0
- wagtail/snippets/tests/test_history_view.py +182 -0
- wagtail/snippets/tests/test_index_view.py +105 -0
- wagtail/snippets/tests/test_list_view.py +786 -0
- wagtail/snippets/tests/test_locking.py +28 -0
- wagtail/snippets/tests/test_permissions.py +167 -0
- wagtail/snippets/tests/test_preview.py +3 -3
- wagtail/snippets/tests/test_revert_view.py +343 -0
- wagtail/snippets/tests/test_snippet_models.py +112 -0
- wagtail/snippets/tests/test_unpublish_view.py +228 -0
- wagtail/snippets/tests/test_unschedule_view.py +151 -0
- wagtail/snippets/tests/test_viewset.py +38 -5
- wagtail/snippets/views/snippets.py +78 -30
- wagtail/snippets/widgets.py +2 -2
- wagtail/templatetags/wagtailcore_tags.py +2 -2
- wagtail/test/dummy_external_storage.py +1 -1
- wagtail/test/testapp/fixtures/test.json +22 -0
- wagtail/test/testapp/fixtures/test_empty.json +2 -0
- wagtail/test/testapp/fixtures/test_explorable_pages.json +10 -0
- wagtail/test/testapp/fixtures/test_specific.json +9 -0
- wagtail/test/testapp/migrations/0059_nopromotepage.py +25 -0
- wagtail/test/testapp/models.py +7 -0
- wagtail/test/testapp/views.py +5 -0
- wagtail/test/utils/page_tests.py +7 -7
- wagtail/test/utils/wagtail_factories/builder.py +2 -2
- wagtail/tests/streamfield_migrations/test_migrations.py +35 -0
- wagtail/tests/test_blocks.py +321 -61
- wagtail/tests/test_collection_model.py +12 -0
- wagtail/tests/test_page_model.py +190 -1
- wagtail/tests/test_page_privacy.py +5 -0
- wagtail/tests/test_reference_index.py +42 -0
- wagtail/tests/test_revision_model.py +118 -1
- wagtail/tests/test_utils.py +2 -2
- wagtail/users/locale/en/LC_MESSAGES/django.po +14 -14
- wagtail/users/locale/id_ID/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/id_ID/LC_MESSAGES/django.po +6 -2
- wagtail/users/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/it/LC_MESSAGES/django.po +14 -2
- wagtail/users/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/sv/LC_MESSAGES/django.po +48 -17
- wagtail/users/tests/test_admin_views.py +39 -25
- wagtail/users/utils.py +4 -1
- wagtail/users/views/groups.py +19 -5
- wagtail/users/wagtail_hooks.py +1 -1
- wagtail/utils/loading.py +2 -2
- wagtail-7.3rc1.data/data/AGENTS.md +21 -0
- wagtail-7.3rc1.data/data/CHANGELOG.txt +4941 -0
- wagtail-7.3rc1.data/data/CODE_OF_CONDUCT.md +71 -0
- wagtail-7.3rc1.data/data/CONTRIBUTORS.md +999 -0
- wagtail-7.3rc1.data/data/SPONSORS.md +55 -0
- {wagtail-7.2.1.dist-info → wagtail-7.3rc1.dist-info}/METADATA +6 -6
- {wagtail-7.2.1.dist-info → wagtail-7.3rc1.dist-info}/RECORD +310 -280
- {wagtail-7.2.1.dist-info → wagtail-7.3rc1.dist-info}/WHEEL +1 -1
- wagtail/images/static/wagtailimages/js/image-url-generator.js +0 -1
- wagtail/snippets/tests/test_snippets.py +0 -6377
- {wagtail-7.2.1.dist-info → wagtail-7.3rc1.dist-info}/entry_points.txt +0 -0
- {wagtail-7.2.1.dist-info → wagtail-7.3rc1.dist-info}/licenses/LICENSE +0 -0
- {wagtail-7.2.1.dist-info → wagtail-7.3rc1.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
#
|
|
6
6
|
# Translators:
|
|
7
7
|
# Loic Teixeira, 2022
|
|
8
|
-
# Marco Badan <marco.badan@gmail.com>,
|
|
8
|
+
# Marco Badan <marco.badan@gmail.com>, 2026
|
|
9
9
|
#
|
|
10
10
|
#, fuzzy
|
|
11
11
|
msgid ""
|
|
@@ -14,7 +14,7 @@ msgstr ""
|
|
|
14
14
|
"Report-Msgid-Bugs-To: \n"
|
|
15
15
|
"POT-Creation-Date: 2025-10-23 16:45+0100\n"
|
|
16
16
|
"PO-Revision-Date: 2021-04-21 08:38+0000\n"
|
|
17
|
-
"Last-Translator: Marco Badan <marco.badan@gmail.com>,
|
|
17
|
+
"Last-Translator: Marco Badan <marco.badan@gmail.com>, 2026\n"
|
|
18
18
|
"Language-Team: Italian (https://app.transifex.com/torchbox/teams/8009/it/)\n"
|
|
19
19
|
"MIME-Version: 1.0\n"
|
|
20
20
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
@@ -60,6 +60,9 @@ msgstr[0] "Traduci la pagina genitore."
|
|
|
60
60
|
msgstr[1] "Traduci le pagine genitori."
|
|
61
61
|
msgstr[2] "Traduci le pagine genitori."
|
|
62
62
|
|
|
63
|
+
msgid "Can submit translations"
|
|
64
|
+
msgstr "Può inviare traduzioni"
|
|
65
|
+
|
|
63
66
|
msgid "Submit"
|
|
64
67
|
msgstr "Invia"
|
|
65
68
|
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date:
|
|
11
|
+
"POT-Creation-Date: 2026-01-21 18:00+0000\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -34,26 +34,26 @@ msgstr ""
|
|
|
34
34
|
msgid "Delete image"
|
|
35
35
|
msgstr ""
|
|
36
36
|
|
|
37
|
-
#: views.py:
|
|
37
|
+
#: views.py:113 wagtail_hooks.py:20
|
|
38
38
|
msgid "Styleguide"
|
|
39
39
|
msgstr ""
|
|
40
40
|
|
|
41
|
-
#: views.py:
|
|
41
|
+
#: views.py:121
|
|
42
42
|
msgid "Success message"
|
|
43
43
|
msgstr ""
|
|
44
44
|
|
|
45
|
-
#: views.py:
|
|
45
|
+
#: views.py:123 views.py:131 views.py:139
|
|
46
46
|
msgid "View live"
|
|
47
47
|
msgstr ""
|
|
48
48
|
|
|
49
|
-
#: views.py:
|
|
49
|
+
#: views.py:124 views.py:132 views.py:140
|
|
50
50
|
msgid "Edit"
|
|
51
51
|
msgstr ""
|
|
52
52
|
|
|
53
|
-
#: views.py:
|
|
53
|
+
#: views.py:129
|
|
54
54
|
msgid "Warning message"
|
|
55
55
|
msgstr ""
|
|
56
56
|
|
|
57
|
-
#: views.py:
|
|
57
|
+
#: views.py:137
|
|
58
58
|
msgid "Error message"
|
|
59
59
|
msgstr ""
|
|
@@ -24,6 +24,8 @@ class TestStyleGuide(WagtailTestUtils, TestCase):
|
|
|
24
24
|
|
|
25
25
|
def test_icons(self):
|
|
26
26
|
def register_icons(icons):
|
|
27
|
+
# The hook should receive the existing icons as an argument
|
|
28
|
+
self.assertIn("wagtailadmin/icons/wagtail.svg", icons)
|
|
27
29
|
return icons + [
|
|
28
30
|
"tests/icons/single-quotes.svg", # id='icon-single-quotes'
|
|
29
31
|
]
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import itertools
|
|
2
1
|
import os
|
|
3
2
|
import re
|
|
4
3
|
from collections import defaultdict
|
|
@@ -150,10 +149,10 @@ class IndexView(WagtailAdminTemplateMixin, TemplateView):
|
|
|
150
149
|
return context
|
|
151
150
|
|
|
152
151
|
def get_icons(self):
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
)
|
|
152
|
+
registered_icons = []
|
|
153
|
+
for fn in hooks.get_hooks("register_icons"):
|
|
154
|
+
registered_icons = fn(registered_icons)
|
|
155
|
+
registered_icons = sorted(registered_icons)
|
|
157
156
|
all_icons = defaultdict(list)
|
|
158
157
|
for icon_path in registered_icons:
|
|
159
158
|
folder, filename = os.path.split(icon_path)
|
|
Binary file
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# This file is distributed under the same license as the PACKAGE package.
|
|
4
4
|
#
|
|
5
5
|
# Translators:
|
|
6
|
+
# Abdullah Bamuhrez <bamuhrez@gmail.com>, 2025
|
|
6
7
|
# Ahmed Miske Sidi Med <boutien321@gmail.com>, 2020
|
|
7
8
|
# ultraify media <ultraify@gmail.com>, 2018
|
|
8
9
|
msgid ""
|
|
@@ -11,7 +12,7 @@ msgstr ""
|
|
|
11
12
|
"Report-Msgid-Bugs-To: \n"
|
|
12
13
|
"POT-Creation-Date: 2025-10-23 16:45+0100\n"
|
|
13
14
|
"PO-Revision-Date: 2016-05-11 20:23+0000\n"
|
|
14
|
-
"Last-Translator:
|
|
15
|
+
"Last-Translator: Abdullah Bamuhrez <bamuhrez@gmail.com>, 2025\n"
|
|
15
16
|
"Language-Team: Arabic (http://app.transifex.com/torchbox/wagtail/language/"
|
|
16
17
|
"ar/)\n"
|
|
17
18
|
"MIME-Version: 1.0\n"
|
|
@@ -58,3 +59,6 @@ msgstr "عنوان يحدد الموضوع العام للجدول، ومفيد
|
|
|
58
59
|
|
|
59
60
|
msgid "Table"
|
|
60
61
|
msgstr "جدول"
|
|
62
|
+
|
|
63
|
+
msgid "Select a header option"
|
|
64
|
+
msgstr "حدد خيار عنوان"
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date:
|
|
11
|
+
"POT-Creation-Date: 2026-01-21 18:00+0000\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
Binary file
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# Giacomo Ghizzani <giacomo.ghz@gmail.com>, 2016
|
|
7
7
|
# giammi <gian-maria.daffre@giammi.org>, 2018
|
|
8
8
|
# giammi <gian-maria.daffre@giammi.org>, 2018
|
|
9
|
-
# Marco Badan <marco.badan@gmail.com>, 2021,2024
|
|
9
|
+
# Marco Badan <marco.badan@gmail.com>, 2021,2024,2026
|
|
10
10
|
# Stefano Marchetto <airbatum@gmail.com>, 2020
|
|
11
11
|
msgid ""
|
|
12
12
|
msgstr ""
|
|
@@ -14,7 +14,7 @@ msgstr ""
|
|
|
14
14
|
"Report-Msgid-Bugs-To: \n"
|
|
15
15
|
"POT-Creation-Date: 2025-10-23 16:45+0100\n"
|
|
16
16
|
"PO-Revision-Date: 2016-05-11 20:23+0000\n"
|
|
17
|
-
"Last-Translator:
|
|
17
|
+
"Last-Translator: Marco Badan <marco.badan@gmail.com>, 2021,2024,2026\n"
|
|
18
18
|
"Language-Team: Italian (http://app.transifex.com/torchbox/wagtail/language/"
|
|
19
19
|
"it/)\n"
|
|
20
20
|
"MIME-Version: 1.0\n"
|
|
@@ -63,3 +63,6 @@ msgstr ""
|
|
|
63
63
|
|
|
64
64
|
msgid "Table"
|
|
65
65
|
msgstr "Tabella"
|
|
66
|
+
|
|
67
|
+
msgid "Select a header option"
|
|
68
|
+
msgstr "Seleziona un'opzione per l'header"
|
|
@@ -324,6 +324,43 @@ class BaseTypedTableBlock(Block):
|
|
|
324
324
|
|
|
325
325
|
return content
|
|
326
326
|
|
|
327
|
+
def extract_references(self, value):
|
|
328
|
+
"""
|
|
329
|
+
Extract references from all cells in the typed table block.
|
|
330
|
+
|
|
331
|
+
This method scans all table cells and yields any references found in blocks
|
|
332
|
+
that support reference extraction (e.g., RichTextBlock with embedded images,
|
|
333
|
+
PageChooserBlock, etc.).
|
|
334
|
+
"""
|
|
335
|
+
if not value:
|
|
336
|
+
return
|
|
337
|
+
|
|
338
|
+
for row_index, row in enumerate(value.row_data):
|
|
339
|
+
for col_index, (column, cell_value) in enumerate(
|
|
340
|
+
zip(value.columns, row["values"])
|
|
341
|
+
):
|
|
342
|
+
block = column["block"]
|
|
343
|
+
for (
|
|
344
|
+
model,
|
|
345
|
+
object_id,
|
|
346
|
+
model_path,
|
|
347
|
+
content_path,
|
|
348
|
+
) in block.extract_references(cell_value):
|
|
349
|
+
# Format paths to include table structure information
|
|
350
|
+
# model_path describes the field structure (for migrations/schema)
|
|
351
|
+
# content_path describes the specific instance location
|
|
352
|
+
model_path = (
|
|
353
|
+
f"rows.item.values.{col_index}.{model_path}"
|
|
354
|
+
if model_path
|
|
355
|
+
else f"rows.item.values.{col_index}"
|
|
356
|
+
)
|
|
357
|
+
content_path = (
|
|
358
|
+
f"rows.{row_index}.values.{col_index}.{content_path}"
|
|
359
|
+
if content_path
|
|
360
|
+
else f"rows.{row_index}.values.{col_index}"
|
|
361
|
+
)
|
|
362
|
+
yield model, object_id, model_path, content_path
|
|
363
|
+
|
|
327
364
|
class Meta:
|
|
328
365
|
default = None
|
|
329
366
|
icon = "table"
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date:
|
|
11
|
+
"POT-Creation-Date: 2026-01-21 18:00+0000\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -18,40 +18,40 @@ msgstr ""
|
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
20
20
|
|
|
21
|
-
#: blocks.py:
|
|
21
|
+
#: blocks.py:386
|
|
22
22
|
msgid "Caption"
|
|
23
23
|
msgstr ""
|
|
24
24
|
|
|
25
|
-
#: blocks.py:
|
|
25
|
+
#: blocks.py:388
|
|
26
26
|
msgid ""
|
|
27
27
|
"A heading that identifies the overall topic of the table, and is useful for "
|
|
28
28
|
"screen reader users."
|
|
29
29
|
msgstr ""
|
|
30
30
|
|
|
31
|
-
#: blocks.py:
|
|
31
|
+
#: blocks.py:390
|
|
32
32
|
msgid "Add column"
|
|
33
33
|
msgstr ""
|
|
34
34
|
|
|
35
|
-
#: blocks.py:
|
|
35
|
+
#: blocks.py:391
|
|
36
36
|
msgid "Add row"
|
|
37
37
|
msgstr ""
|
|
38
38
|
|
|
39
|
-
#: blocks.py:
|
|
39
|
+
#: blocks.py:392
|
|
40
40
|
msgid "Column heading"
|
|
41
41
|
msgstr ""
|
|
42
42
|
|
|
43
|
-
#: blocks.py:
|
|
43
|
+
#: blocks.py:393
|
|
44
44
|
msgid "Insert column"
|
|
45
45
|
msgstr ""
|
|
46
46
|
|
|
47
|
-
#: blocks.py:
|
|
47
|
+
#: blocks.py:394
|
|
48
48
|
msgid "Delete column"
|
|
49
49
|
msgstr ""
|
|
50
50
|
|
|
51
|
-
#: blocks.py:
|
|
51
|
+
#: blocks.py:395
|
|
52
52
|
msgid "Insert row"
|
|
53
53
|
msgstr ""
|
|
54
54
|
|
|
55
|
-
#: blocks.py:
|
|
55
|
+
#: blocks.py:396
|
|
56
56
|
msgid "Delete row"
|
|
57
57
|
msgstr ""
|
|
Binary file
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
#
|
|
6
6
|
# Translators:
|
|
7
7
|
# Tomas Walch <tomas@alternaliv.se>, 2021
|
|
8
|
+
# Jonathan Lindén, 2025
|
|
8
9
|
#
|
|
9
10
|
#, fuzzy
|
|
10
11
|
msgid ""
|
|
@@ -13,7 +14,7 @@ msgstr ""
|
|
|
13
14
|
"Report-Msgid-Bugs-To: \n"
|
|
14
15
|
"POT-Creation-Date: 2025-10-23 16:45+0100\n"
|
|
15
16
|
"PO-Revision-Date: 2021-10-15 16:05+0000\n"
|
|
16
|
-
"Last-Translator:
|
|
17
|
+
"Last-Translator: Jonathan Lindén, 2025\n"
|
|
17
18
|
"Language-Team: Swedish (https://app.transifex.com/torchbox/teams/8009/sv/)\n"
|
|
18
19
|
"MIME-Version: 1.0\n"
|
|
19
20
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
@@ -34,10 +35,10 @@ msgid "Insert column"
|
|
|
34
35
|
msgstr "Infoga kolumn"
|
|
35
36
|
|
|
36
37
|
msgid "Delete column"
|
|
37
|
-
msgstr "
|
|
38
|
+
msgstr "Radera kolumn"
|
|
38
39
|
|
|
39
40
|
msgid "Insert row"
|
|
40
41
|
msgstr "Infoga rad"
|
|
41
42
|
|
|
42
43
|
msgid "Delete row"
|
|
43
|
-
msgstr "
|
|
44
|
+
msgstr "Radera rad"
|
|
@@ -372,6 +372,114 @@ class TestTableBlock(TestCase):
|
|
|
372
372
|
|
|
373
373
|
self.assertEqual(content, expected_content)
|
|
374
374
|
|
|
375
|
+
def test_extract_references(self):
|
|
376
|
+
"""Test that extract_references extracts references from RichTextBlock and PageChooserBlock cells"""
|
|
377
|
+
from wagtail.models import Page
|
|
378
|
+
from wagtail.test.testapp.models import SimplePage
|
|
379
|
+
|
|
380
|
+
# Create actual test pages for the PageChooserBlock
|
|
381
|
+
root_page = Page.objects.get(depth=1)
|
|
382
|
+
test_page_1 = SimplePage(
|
|
383
|
+
title="Test Page 1", slug="test-page-1", content="test"
|
|
384
|
+
)
|
|
385
|
+
root_page.add_child(instance=test_page_1)
|
|
386
|
+
test_page_2 = SimplePage(
|
|
387
|
+
title="Test Page 2", slug="test-page-2", content="test"
|
|
388
|
+
)
|
|
389
|
+
root_page.add_child(instance=test_page_2)
|
|
390
|
+
|
|
391
|
+
# Create a block with RichTextBlock and PageChooserBlock columns
|
|
392
|
+
block = TypedTableBlock(
|
|
393
|
+
[
|
|
394
|
+
("rich_text", blocks.RichTextBlock()),
|
|
395
|
+
("page", blocks.PageChooserBlock()),
|
|
396
|
+
]
|
|
397
|
+
)
|
|
398
|
+
|
|
399
|
+
# Create test data with embedded image in rich text and page reference
|
|
400
|
+
# Rich text with embedded image (id=123)
|
|
401
|
+
rich_text_html = '<p>Some text <embed embedtype="image" id="123" format="left" alt="Test image" /> more text</p>'
|
|
402
|
+
|
|
403
|
+
table_data = {
|
|
404
|
+
"columns": [
|
|
405
|
+
{"type": "rich_text", "heading": "Description"},
|
|
406
|
+
{"type": "page", "heading": "Link"},
|
|
407
|
+
],
|
|
408
|
+
"rows": [
|
|
409
|
+
{"values": [rich_text_html, test_page_1.pk]}, # Row 0
|
|
410
|
+
{"values": ["<p>Plain text</p>", test_page_2.pk]}, # Row 1
|
|
411
|
+
],
|
|
412
|
+
"caption": "Test table",
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
value = block.to_python(table_data)
|
|
416
|
+
references = list(block.extract_references(value))
|
|
417
|
+
|
|
418
|
+
# We should get references for:
|
|
419
|
+
# 1. Image from RichTextBlock in row 0, column 0 (if RichText processing works)
|
|
420
|
+
# 2. Page from PageChooserBlock in row 0, column 1
|
|
421
|
+
# 3. Page from PageChooserBlock in row 1, column 1
|
|
422
|
+
|
|
423
|
+
# Check that we got at least some references
|
|
424
|
+
self.assertGreater(
|
|
425
|
+
len(references), 0, "Expected at least some references to be extracted"
|
|
426
|
+
)
|
|
427
|
+
|
|
428
|
+
# Extract and verify page references (these should definitely work)
|
|
429
|
+
page_refs = [
|
|
430
|
+
ref
|
|
431
|
+
for ref in references
|
|
432
|
+
if ref[0] == Page and ref[2].startswith("rows.item.values.1")
|
|
433
|
+
]
|
|
434
|
+
self.assertEqual(len(page_refs), 2, "Expected 2 page references")
|
|
435
|
+
|
|
436
|
+
# Check first page reference (row 0, column 1)
|
|
437
|
+
page_ref_0 = [ref for ref in page_refs if ref[3].startswith("rows.0.")][0]
|
|
438
|
+
model, object_id, model_path, content_path = page_ref_0
|
|
439
|
+
self.assertEqual(model, Page)
|
|
440
|
+
self.assertEqual(object_id, str(test_page_1.pk))
|
|
441
|
+
self.assertEqual(model_path, "rows.item.values.1")
|
|
442
|
+
self.assertEqual(content_path, "rows.0.values.1")
|
|
443
|
+
|
|
444
|
+
# Check second page reference(row 1, column 1)
|
|
445
|
+
page_ref_1 = [ref for ref in page_refs if ref[3].startswith("rows.1.")][0]
|
|
446
|
+
model, object_id, model_path, content_path = page_ref_1
|
|
447
|
+
self.assertEqual(model, Page)
|
|
448
|
+
self.assertEqual(object_id, str(test_page_2.pk))
|
|
449
|
+
self.assertEqual(model_path, "rows.item.values.1")
|
|
450
|
+
self.assertEqual(content_path, "rows.1.values.1")
|
|
451
|
+
|
|
452
|
+
# Extract and verify the image reference from rich text (if it exists)
|
|
453
|
+
# The image reference model will be from wagtail.images.models.AbstractImage
|
|
454
|
+
image_refs = [
|
|
455
|
+
ref for ref in references if ref[2].startswith("rows.item.values.0.")
|
|
456
|
+
]
|
|
457
|
+
# If RichText processing is working correctly, we should get 1 image reference
|
|
458
|
+
# However, this depends on RichText conversion during to_python
|
|
459
|
+
if len(image_refs) > 0:
|
|
460
|
+
model, object_id, model_path, content_path = image_refs[0]
|
|
461
|
+
# The image reference comes from the RichTextBlock in column 0
|
|
462
|
+
self.assertTrue(model_path.startswith("rows.item.values.0."))
|
|
463
|
+
self.assertTrue(content_path.startswith("rows.0.values.0."))
|
|
464
|
+
self.assertEqual(object_id, "123")
|
|
465
|
+
|
|
466
|
+
def test_extract_references_empty_table(self):
|
|
467
|
+
"""Test that extract_references handles empty tables gracefully"""
|
|
468
|
+
block = TypedTableBlock(
|
|
469
|
+
[
|
|
470
|
+
("rich_text", blocks.RichTextBlock()),
|
|
471
|
+
]
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
# Test with None value
|
|
475
|
+
references = list(block.extract_references(None))
|
|
476
|
+
self.assertEqual(references, [])
|
|
477
|
+
|
|
478
|
+
# Test with empty table
|
|
479
|
+
empty_table = block.to_python({"columns": [], "rows": [], "caption": ""})
|
|
480
|
+
references = list(block.extract_references(empty_table))
|
|
481
|
+
self.assertEqual(references, [])
|
|
482
|
+
|
|
375
483
|
|
|
376
484
|
class TestBlockDefinitionLookup(TestCase):
|
|
377
485
|
def test_block_lookup(self):
|
wagtail/coreutils.py
CHANGED
|
@@ -70,7 +70,7 @@ def resolve_model_string(model_string, default_app=None):
|
|
|
70
70
|
if isinstance(model_string, str):
|
|
71
71
|
try:
|
|
72
72
|
app_label, model_name = model_string.split(".")
|
|
73
|
-
except ValueError:
|
|
73
|
+
except ValueError as e:
|
|
74
74
|
if default_app is not None:
|
|
75
75
|
# If we can't split, assume a model in current app
|
|
76
76
|
app_label = default_app
|
|
@@ -80,7 +80,7 @@ def resolve_model_string(model_string, default_app=None):
|
|
|
80
80
|
"Can not resolve {!r} into a model. Model names "
|
|
81
81
|
"should be in the form app_label.model_name".format(model_string),
|
|
82
82
|
model_string,
|
|
83
|
-
)
|
|
83
|
+
) from e
|
|
84
84
|
|
|
85
85
|
return apps.get_model(app_label, model_name)
|
|
86
86
|
|
|
@@ -376,10 +376,10 @@ def multigetattr(item, accessor):
|
|
|
376
376
|
ValueError, # invalid literal for int()
|
|
377
377
|
KeyError, # current is a dict without `int(bit)` key
|
|
378
378
|
TypeError, # unsubscriptable object
|
|
379
|
-
):
|
|
379
|
+
) as e:
|
|
380
380
|
raise AttributeError(
|
|
381
381
|
f"Failed lookup for key [{bit}] in {current!r}"
|
|
382
|
-
)
|
|
382
|
+
) from e
|
|
383
383
|
|
|
384
384
|
if callable(current):
|
|
385
385
|
if getattr(current, "alters_data", False):
|
wagtail/documents/__init__.py
CHANGED
|
@@ -22,12 +22,12 @@ def get_document_model():
|
|
|
22
22
|
model_string = get_document_model_string()
|
|
23
23
|
try:
|
|
24
24
|
return apps.get_model(model_string, require_ready=False)
|
|
25
|
-
except ValueError:
|
|
25
|
+
except ValueError as e:
|
|
26
26
|
raise ImproperlyConfigured(
|
|
27
27
|
"WAGTAILDOCS_DOCUMENT_MODEL must be of the form 'app_label.model_name'"
|
|
28
|
-
)
|
|
29
|
-
except LookupError:
|
|
28
|
+
) from e
|
|
29
|
+
except LookupError as e:
|
|
30
30
|
raise ImproperlyConfigured(
|
|
31
31
|
"WAGTAILDOCS_DOCUMENT_MODEL refers to model '%s' that has not been installed"
|
|
32
32
|
% model_string
|
|
33
|
-
)
|
|
33
|
+
) from e
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date:
|
|
11
|
+
"POT-Creation-Date: 2026-01-21 18:00+0000\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -23,7 +23,7 @@ msgid "Wagtail documents"
|
|
|
23
23
|
msgstr ""
|
|
24
24
|
|
|
25
25
|
#: forms.py:25 views/bulk_actions/add_to_collection.py:13 views/chooser.py:92
|
|
26
|
-
#: views/documents.py:
|
|
26
|
+
#: views/documents.py:137
|
|
27
27
|
msgid "Collection"
|
|
28
28
|
msgstr ""
|
|
29
29
|
|
|
@@ -151,7 +151,7 @@ msgid "Delete documents"
|
|
|
151
151
|
msgstr ""
|
|
152
152
|
|
|
153
153
|
#: templates/wagtaildocs/bulk_actions/confirm_bulk_delete.html:18
|
|
154
|
-
#: views/documents.py:
|
|
154
|
+
#: views/documents.py:321
|
|
155
155
|
msgid "Are you sure you want to delete this document?"
|
|
156
156
|
msgid_plural "Are you sure you want to delete these documents?"
|
|
157
157
|
msgstr[0] ""
|
|
@@ -219,7 +219,7 @@ msgstr ""
|
|
|
219
219
|
msgid "File not found"
|
|
220
220
|
msgstr ""
|
|
221
221
|
|
|
222
|
-
#: templates/wagtaildocs/documents/edit.html:25 views/documents.py:
|
|
222
|
+
#: templates/wagtaildocs/documents/edit.html:25 views/documents.py:127
|
|
223
223
|
msgid "Usage"
|
|
224
224
|
msgstr ""
|
|
225
225
|
|
|
@@ -340,7 +340,7 @@ msgid_plural ""
|
|
|
340
340
|
msgstr[0] ""
|
|
341
341
|
msgstr[1] ""
|
|
342
342
|
|
|
343
|
-
#: views/bulk_actions/delete.py:9 views/documents.py:
|
|
343
|
+
#: views/bulk_actions/delete.py:9 views/documents.py:287
|
|
344
344
|
msgid "Delete"
|
|
345
345
|
msgstr ""
|
|
346
346
|
|
|
@@ -355,11 +355,11 @@ msgid_plural "%(num_parent_objects)d documents have been deleted"
|
|
|
355
355
|
msgstr[0] ""
|
|
356
356
|
msgstr[1] ""
|
|
357
357
|
|
|
358
|
-
#: views/chooser.py:87 views/documents.py:
|
|
358
|
+
#: views/chooser.py:87 views/documents.py:119
|
|
359
359
|
msgid "File"
|
|
360
360
|
msgstr ""
|
|
361
361
|
|
|
362
|
-
#: views/chooser.py:88 views/documents.py:
|
|
362
|
+
#: views/chooser.py:88 views/documents.py:122
|
|
363
363
|
msgid "Created"
|
|
364
364
|
msgstr ""
|
|
365
365
|
|
|
@@ -379,38 +379,38 @@ msgstr ""
|
|
|
379
379
|
msgid "Documents"
|
|
380
380
|
msgstr ""
|
|
381
381
|
|
|
382
|
-
#: views/documents.py:
|
|
382
|
+
#: views/documents.py:114
|
|
383
383
|
msgid "Title"
|
|
384
384
|
msgstr ""
|
|
385
385
|
|
|
386
|
-
#: views/documents.py:
|
|
386
|
+
#: views/documents.py:202
|
|
387
387
|
msgid "The document could not be created due to errors."
|
|
388
388
|
msgstr ""
|
|
389
389
|
|
|
390
|
-
#: views/documents.py:
|
|
390
|
+
#: views/documents.py:224
|
|
391
391
|
#, python-format
|
|
392
392
|
msgid "Document '%(document_title)s' added."
|
|
393
393
|
msgstr ""
|
|
394
394
|
|
|
395
|
-
#: views/documents.py:
|
|
395
|
+
#: views/documents.py:232
|
|
396
396
|
msgid "The document could not be saved due to errors."
|
|
397
397
|
msgstr ""
|
|
398
398
|
|
|
399
|
-
#: views/documents.py:
|
|
399
|
+
#: views/documents.py:261
|
|
400
400
|
#, python-format
|
|
401
401
|
msgid "Document '%(document_title)s' updated"
|
|
402
402
|
msgstr ""
|
|
403
403
|
|
|
404
|
-
#: views/documents.py:
|
|
404
|
+
#: views/documents.py:285
|
|
405
405
|
msgid ""
|
|
406
406
|
"The file could not be found. Please change the source or delete the document."
|
|
407
407
|
msgstr ""
|
|
408
408
|
|
|
409
|
-
#: views/documents.py:
|
|
409
|
+
#: views/documents.py:309
|
|
410
410
|
msgid "Delete document"
|
|
411
411
|
msgstr ""
|
|
412
412
|
|
|
413
|
-
#: views/documents.py:
|
|
413
|
+
#: views/documents.py:327
|
|
414
414
|
#, python-format
|
|
415
415
|
msgid "Document '%(document_title)s' deleted."
|
|
416
416
|
msgstr ""
|
|
Binary file
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# giammi <gian-maria.daffre@giammi.org>, 2018
|
|
8
8
|
# giammi <gian-maria.daffre@giammi.org>, 2018
|
|
9
9
|
# LB (Ben Johnston) <mail@lb.ee>, 2019
|
|
10
|
-
# Marco Badan <marco.badan@gmail.com>, 2021-2024
|
|
10
|
+
# Marco Badan <marco.badan@gmail.com>, 2021-2024,2026
|
|
11
11
|
# Sandro Badalamenti <sandro@mailinator.com>, 2019
|
|
12
12
|
msgid ""
|
|
13
13
|
msgstr ""
|
|
@@ -15,7 +15,7 @@ msgstr ""
|
|
|
15
15
|
"Report-Msgid-Bugs-To: \n"
|
|
16
16
|
"POT-Creation-Date: 2025-10-23 16:45+0100\n"
|
|
17
17
|
"PO-Revision-Date: 2014-02-20 21:06+0000\n"
|
|
18
|
-
"Last-Translator:
|
|
18
|
+
"Last-Translator: Marco Badan <marco.badan@gmail.com>, 2021-2024,2026\n"
|
|
19
19
|
"Language-Team: Italian (http://app.transifex.com/torchbox/wagtail/language/"
|
|
20
20
|
"it/)\n"
|
|
21
21
|
"MIME-Version: 1.0\n"
|
|
@@ -172,6 +172,15 @@ msgstr "Non hai ancora caricato alcun documento in questa raccolta."
|
|
|
172
172
|
msgid "You haven't uploaded any documents."
|
|
173
173
|
msgstr "Non hai ancora caricato alcun documento."
|
|
174
174
|
|
|
175
|
+
msgid ""
|
|
176
|
+
"Why not <a class=\"upload-one-now\" href=\"#tab-upload\" data-action=\"w-"
|
|
177
|
+
"tabs#select:prevent\" data-w-tabs-target=\"trigger\" data-w-tabs-focus-"
|
|
178
|
+
"param=\"true\">upload one now</a>?"
|
|
179
|
+
msgstr ""
|
|
180
|
+
"Perché non<a class=\"upload-one-now\" href=\"#tab-upload\" data-action=\"w-"
|
|
181
|
+
"tabs#select:prevent\" data-w-tabs-target=\"trigger\" data-w-tabs-focus-"
|
|
182
|
+
"param=\"true\">caricarne uno adesso</a>?"
|
|
183
|
+
|
|
175
184
|
msgid "Change document:"
|
|
176
185
|
msgstr "Cambia documento"
|
|
177
186
|
|
|
@@ -224,6 +233,18 @@ msgstr ""
|
|
|
224
233
|
"Non hai caricato alcun documento. Perché non <a "
|
|
225
234
|
"href=\"%(wagtaildocs_add_document_url)s\">ne carichi uno adesso</a>?"
|
|
226
235
|
|
|
236
|
+
#, python-format
|
|
237
|
+
msgid ""
|
|
238
|
+
"%(total)s Document <span class=\"w-sr-only\">created in %(site_name)s</span>"
|
|
239
|
+
msgid_plural ""
|
|
240
|
+
"%(total)s Documents <span class=\"w-sr-only\">created in %(site_name)s</span>"
|
|
241
|
+
msgstr[0] ""
|
|
242
|
+
"%(total)s Documento <span class=\"w-sr-only\">creato in %(site_name)s</span>"
|
|
243
|
+
msgstr[1] ""
|
|
244
|
+
"%(total)s Documenti <span class=\"w-sr-only\">creati in %(site_name)s</span>"
|
|
245
|
+
msgstr[2] ""
|
|
246
|
+
"%(total)s Documenti <span class=\"w-sr-only\">creati in %(site_name)s</span>"
|
|
247
|
+
|
|
227
248
|
msgid "Add multiple documents"
|
|
228
249
|
msgstr "Aggiungi documenti multipli"
|
|
229
250
|
|
|
@@ -326,6 +347,9 @@ msgstr "Documenti"
|
|
|
326
347
|
msgid "Title"
|
|
327
348
|
msgstr "Titolo"
|
|
328
349
|
|
|
350
|
+
msgid "The document could not be created due to errors."
|
|
351
|
+
msgstr "Non è stato possibile creare il documento a causa errori."
|
|
352
|
+
|
|
329
353
|
#, python-format
|
|
330
354
|
msgid "Document '%(document_title)s' added."
|
|
331
355
|
msgstr "Documento '%(document_title)s' aggiunto."
|
|
@@ -337,6 +361,12 @@ msgstr "Il documento non può essere salvato a causa di errori."
|
|
|
337
361
|
msgid "Document '%(document_title)s' updated"
|
|
338
362
|
msgstr "Documento '%(document_title)s' aggiornato"
|
|
339
363
|
|
|
364
|
+
msgid ""
|
|
365
|
+
"The file could not be found. Please change the source or delete the document."
|
|
366
|
+
msgstr ""
|
|
367
|
+
"Il file non è stato trovato. Modifica la sorgente oppure elimina il "
|
|
368
|
+
"documento."
|
|
369
|
+
|
|
340
370
|
msgid "Delete document"
|
|
341
371
|
msgstr "Elimina documento"
|
|
342
372
|
|
|
Binary file
|