wagtail 6.1.1__py3-none-any.whl → 6.1.3__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.
Files changed (147) hide show
  1. wagtail/__init__.py +1 -1
  2. wagtail/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
  3. wagtail/admin/locale/ca/LC_MESSAGES/django.po +1 -1
  4. wagtail/admin/locale/fa/LC_MESSAGES/django.mo +0 -0
  5. wagtail/admin/locale/fa/LC_MESSAGES/django.po +75 -1
  6. wagtail/admin/locale/fa/LC_MESSAGES/djangojs.mo +0 -0
  7. wagtail/admin/locale/fa/LC_MESSAGES/djangojs.po +5 -1
  8. wagtail/admin/locale/fr/LC_MESSAGES/django.mo +0 -0
  9. wagtail/admin/locale/fr/LC_MESSAGES/django.po +89 -3
  10. wagtail/admin/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  11. wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +228 -2
  12. wagtail/admin/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  13. wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +20 -1
  14. wagtail/admin/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  15. wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +11 -1
  16. wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
  17. wagtail/admin/locale/sl/LC_MESSAGES/django.po +97 -0
  18. wagtail/admin/locale/sv/LC_MESSAGES/django.mo +0 -0
  19. wagtail/admin/locale/sv/LC_MESSAGES/django.po +74 -0
  20. wagtail/admin/locale/sv/LC_MESSAGES/djangojs.mo +0 -0
  21. wagtail/admin/locale/sv/LC_MESSAGES/djangojs.po +5 -2
  22. wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  23. wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +71 -1
  24. wagtail/admin/static/wagtailadmin/js/telepath/widgets.js +1 -1
  25. wagtail/admin/views/generic/base.py +3 -2
  26. wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  27. wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.po +2 -2
  28. wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.mo +0 -0
  29. wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.po +14 -1
  30. wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  31. wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.mo +0 -0
  32. wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +5 -2
  33. wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  34. wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.po +6 -2
  35. wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.mo +0 -0
  36. wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.po +56 -2
  37. wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.mo +0 -0
  38. wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.po +5 -2
  39. wagtail/contrib/settings/locale/hi/LC_MESSAGES/django.po +1 -1
  40. wagtail/contrib/settings/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  41. wagtail/contrib/settings/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  42. wagtail/contrib/settings/locale/sk_SK/LC_MESSAGES/django.po +10 -1
  43. wagtail/contrib/settings/tests/generic/test_admin.py +144 -16
  44. wagtail/contrib/settings/tests/site_specific/test_admin.py +142 -17
  45. wagtail/contrib/settings/views.py +3 -0
  46. wagtail/contrib/simple_translation/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  47. wagtail/contrib/styleguide/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  48. wagtail/contrib/styleguide/locale/sk_SK/LC_MESSAGES/django.po +5 -1
  49. wagtail/contrib/styleguide/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  50. wagtail/contrib/styleguide/locale/zh_Hans/LC_MESSAGES/django.po +3 -0
  51. wagtail/contrib/styleguide/tests.py +33 -0
  52. wagtail/contrib/styleguide/views.py +4 -1
  53. wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.mo +0 -0
  54. wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.po +27 -1
  55. wagtail/contrib/table_block/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  56. wagtail/contrib/table_block/locale/is_IS/LC_MESSAGES/django.po +28 -2
  57. wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.mo +0 -0
  58. wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.po +27 -1
  59. wagtail/contrib/typed_table_block/locale/fr/LC_MESSAGES/django.mo +0 -0
  60. wagtail/contrib/typed_table_block/locale/fr/LC_MESSAGES/django.po +12 -1
  61. wagtail/contrib/typed_table_block/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  62. wagtail/contrib/typed_table_block/locale/is_IS/LC_MESSAGES/django.po +12 -1
  63. wagtail/contrib/typed_table_block/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  64. wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.mo +0 -0
  65. wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.po +12 -2
  66. wagtail/documents/locale/ca/LC_MESSAGES/django.mo +0 -0
  67. wagtail/documents/locale/ca/LC_MESSAGES/django.po +3 -2
  68. wagtail/documents/locale/fa/LC_MESSAGES/django.mo +0 -0
  69. wagtail/documents/locale/fa/LC_MESSAGES/django.po +9 -0
  70. wagtail/documents/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  71. wagtail/documents/locale/is_IS/LC_MESSAGES/django.po +17 -2
  72. wagtail/documents/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  73. wagtail/documents/locale/sk_SK/LC_MESSAGES/django.po +45 -2
  74. wagtail/documents/locale/sl/LC_MESSAGES/django.mo +0 -0
  75. wagtail/documents/locale/sl/LC_MESSAGES/django.po +11 -2
  76. wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  77. wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.po +7 -1
  78. wagtail/images/locale/fa/LC_MESSAGES/django.mo +0 -0
  79. wagtail/images/locale/fa/LC_MESSAGES/django.po +20 -1
  80. wagtail/images/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  81. wagtail/images/locale/is_IS/LC_MESSAGES/django.po +28 -2
  82. wagtail/images/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  83. wagtail/images/locale/sk_SK/LC_MESSAGES/django.po +15 -0
  84. wagtail/images/locale/sl/LC_MESSAGES/django.mo +0 -0
  85. wagtail/images/locale/sl/LC_MESSAGES/django.po +14 -2
  86. wagtail/images/locale/sv/LC_MESSAGES/django.mo +0 -0
  87. wagtail/images/locale/sv/LC_MESSAGES/django.po +14 -2
  88. wagtail/images/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  89. wagtail/images/locale/zh_Hans/LC_MESSAGES/django.po +45 -1
  90. wagtail/images/models.py +1 -0
  91. wagtail/images/tests/test_admin_views.py +32 -0
  92. wagtail/images/tests/test_image_operations.py +12 -0
  93. wagtail/images/tests/tests.py +27 -2
  94. wagtail/images/views/images.py +7 -3
  95. wagtail/images/views/serve.py +1 -0
  96. wagtail/locale/fa/LC_MESSAGES/django.mo +0 -0
  97. wagtail/locale/fa/LC_MESSAGES/django.po +3 -0
  98. wagtail/locale/fr/LC_MESSAGES/django.mo +0 -0
  99. wagtail/locale/fr/LC_MESSAGES/django.po +23 -4
  100. wagtail/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  101. wagtail/locale/is_IS/LC_MESSAGES/django.po +22 -2
  102. wagtail/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  103. wagtail/locale/sl/LC_MESSAGES/django.mo +0 -0
  104. wagtail/locale/sl/LC_MESSAGES/django.po +77 -0
  105. wagtail/locale/sv/LC_MESSAGES/django.mo +0 -0
  106. wagtail/locale/sv/LC_MESSAGES/django.po +11 -2
  107. wagtail/locales/locale/it/LC_MESSAGES/django.mo +0 -0
  108. wagtail/locales/locale/it/LC_MESSAGES/django.po +16 -17
  109. wagtail/search/locale/fa/LC_MESSAGES/django.mo +0 -0
  110. wagtail/search/locale/fa/LC_MESSAGES/django.po +24 -0
  111. wagtail/search/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  112. wagtail/search/locale/pt_BR/LC_MESSAGES/django.po +2 -2
  113. wagtail/search/tests/test_queries.py +24 -0
  114. wagtail/search/utils.py +6 -12
  115. wagtail/snippets/locale/fa/LC_MESSAGES/django.mo +0 -0
  116. wagtail/snippets/locale/fa/LC_MESSAGES/django.po +17 -1
  117. wagtail/snippets/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  118. wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  119. wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.po +3 -0
  120. wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  121. wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.po +40 -1
  122. wagtail/test/testapp/templates/tests/icons/single-quotes.svg +1 -0
  123. wagtail/tests/test_blocks.py +27 -0
  124. wagtail/tests/test_utils.py +28 -1
  125. wagtail/users/locale/fa/LC_MESSAGES/django.mo +0 -0
  126. wagtail/users/locale/fa/LC_MESSAGES/django.po +63 -1
  127. wagtail/users/locale/fr/LC_MESSAGES/django.mo +0 -0
  128. wagtail/users/locale/fr/LC_MESSAGES/django.po +44 -3
  129. wagtail/users/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  130. wagtail/users/locale/is_IS/LC_MESSAGES/django.po +44 -2
  131. wagtail/users/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  132. wagtail/users/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  133. wagtail/users/locale/sk_SK/LC_MESSAGES/django.po +8 -1
  134. wagtail/users/locale/sl/LC_MESSAGES/django.mo +0 -0
  135. wagtail/users/locale/sl/LC_MESSAGES/django.po +46 -2
  136. wagtail/users/locale/sv/LC_MESSAGES/django.mo +0 -0
  137. wagtail/users/locale/sv/LC_MESSAGES/django.po +41 -2
  138. wagtail/users/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  139. wagtail/users/locale/zh_Hans/LC_MESSAGES/django.po +45 -1
  140. wagtail/utils/utils.py +26 -0
  141. wagtail/widget_adapters.py +1 -1
  142. {wagtail-6.1.1.dist-info → wagtail-6.1.3.dist-info}/METADATA +1 -1
  143. {wagtail-6.1.1.dist-info → wagtail-6.1.3.dist-info}/RECORD +147 -145
  144. {wagtail-6.1.1.dist-info → wagtail-6.1.3.dist-info}/LICENSE +0 -0
  145. {wagtail-6.1.1.dist-info → wagtail-6.1.3.dist-info}/WHEEL +0 -0
  146. {wagtail-6.1.1.dist-info → wagtail-6.1.3.dist-info}/entry_points.txt +0 -0
  147. {wagtail-6.1.1.dist-info → wagtail-6.1.3.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,5 @@
1
1
  from io import BytesIO
2
+ from pathlib import Path
2
3
  from unittest.mock import patch
3
4
 
4
5
  from django.test import TestCase, override_settings
@@ -11,6 +12,7 @@ from wagtail.images.exceptions import (
11
12
  )
12
13
  from wagtail.images.image_operations import TransformOperation
13
14
  from wagtail.images.models import Filter, Image
15
+ from wagtail.images.shortcuts import get_rendition_or_not_found
14
16
  from wagtail.images.tests.utils import (
15
17
  get_test_image_file,
16
18
  get_test_image_file_avif,
@@ -693,6 +695,16 @@ class TestFormatFilter(TestCase):
693
695
 
694
696
  self.assertEqual(out.format_name, "ico")
695
697
 
698
+ def test_ico_rendition(self):
699
+ fil = Filter(spec="width-400|format-ico")
700
+ good_image = Image.objects.create(
701
+ title="Test image",
702
+ file=get_test_image_file(),
703
+ )
704
+
705
+ rendition = get_rendition_or_not_found(good_image, fil)
706
+ self.assertEqual(Path(rendition.file.name).suffix, ".ico")
707
+
696
708
  def test_webp_lossless(self):
697
709
  fil = Filter(spec="width-400|format-webp-lossless")
698
710
  image = Image.objects.create(
@@ -1,6 +1,8 @@
1
1
  import os
2
2
  import unittest
3
+ from io import BytesIO
3
4
 
5
+ import willow
4
6
  from django import forms, template
5
7
  from django.conf import settings
6
8
  from django.core.exceptions import ImproperlyConfigured, ValidationError
@@ -9,6 +11,11 @@ from django.test import TestCase, override_settings
9
11
  from django.test.signals import setting_changed
10
12
  from django.urls import reverse
11
13
  from taggit.forms import TagField, TagWidget
14
+ from willow.image import (
15
+ AvifImageFile,
16
+ PNGImageFile,
17
+ SvgImageFile,
18
+ )
12
19
  from willow.image import ImageFile as WillowImageFile
13
20
 
14
21
  from wagtail.images import get_image_model, get_image_model_string
@@ -359,6 +366,9 @@ class TestFrontendServeView(TestCase):
359
366
  self.assertEqual(response.status_code, 200)
360
367
  self.assertTrue(response.streaming)
361
368
  self.assertEqual(response["Content-Type"], "image/png")
369
+ # Ensure the file can actually be read
370
+ image = willow.Image.open(b"".join(response.streaming_content))
371
+ self.assertIsInstance(image, PNGImageFile)
362
372
 
363
373
  def test_get_svg(self):
364
374
  image = Image.objects.create(title="Test SVG", file=get_test_image_file_svg())
@@ -375,6 +385,9 @@ class TestFrontendServeView(TestCase):
375
385
  self.assertEqual(response.status_code, 200)
376
386
  self.assertTrue(response.streaming)
377
387
  self.assertEqual(response["Content-Type"], "image/svg+xml")
388
+ # Ensure the file can actually be read
389
+ image = willow.Image.open(BytesIO(b"".join(response.streaming_content)))
390
+ self.assertIsInstance(image, SvgImageFile)
378
391
 
379
392
  @override_settings(WAGTAILIMAGES_FORMAT_CONVERSIONS={"avif": "avif"})
380
393
  def test_get_avif(self):
@@ -392,6 +405,9 @@ class TestFrontendServeView(TestCase):
392
405
  self.assertEqual(response.status_code, 200)
393
406
  self.assertTrue(response.streaming)
394
407
  self.assertEqual(response["Content-Type"], "image/avif")
408
+ # Ensure the file can actually be read
409
+ image = willow.Image.open(b"".join(response.streaming_content))
410
+ self.assertIsInstance(image, AvifImageFile)
395
411
 
396
412
  def test_get_with_extra_component(self):
397
413
  """
@@ -412,6 +428,9 @@ class TestFrontendServeView(TestCase):
412
428
  self.assertEqual(response.status_code, 200)
413
429
  self.assertTrue(response.streaming)
414
430
  self.assertEqual(response["Content-Type"], "image/png")
431
+ # Ensure the file can actually be read
432
+ image = willow.Image.open(b"".join(response.streaming_content))
433
+ self.assertIsInstance(image, PNGImageFile)
415
434
 
416
435
  def test_get_with_too_many_extra_components(self):
417
436
  """
@@ -443,6 +462,9 @@ class TestFrontendServeView(TestCase):
443
462
  self.assertEqual(response.status_code, 200)
444
463
  self.assertTrue(response.streaming)
445
464
  self.assertEqual(response["Content-Type"], "image/png")
465
+ # Ensure the file can actually be read
466
+ image = willow.Image.open(b"".join(response.streaming_content))
467
+ self.assertIsInstance(image, PNGImageFile)
446
468
 
447
469
  def test_get_with_redirect_action(self):
448
470
  signature = generate_signature(self.image.id, "fill-800x600")
@@ -472,7 +494,7 @@ class TestFrontendServeView(TestCase):
472
494
 
473
495
  def test_get_with_custom_key(self):
474
496
  """
475
- Test that that the key can be changed on the view
497
+ Test that the key can be changed on the view
476
498
  """
477
499
  # Generate signature
478
500
  signature = generate_signature(self.image.id, "fill-800x600", key="custom")
@@ -488,10 +510,13 @@ class TestFrontendServeView(TestCase):
488
510
 
489
511
  # Check response
490
512
  self.assertEqual(response.status_code, 200)
513
+ # Ensure the file can actually be read
514
+ image = willow.Image.open(b"".join(response.streaming_content))
515
+ self.assertIsInstance(image, PNGImageFile)
491
516
 
492
517
  def test_get_with_custom_key_using_default_key(self):
493
518
  """
494
- Test that that the key can be changed on the view
519
+ Test that the key can be changed on the view
495
520
 
496
521
  This tests that the default key no longer works when the key is changed on the view
497
522
  """
@@ -1,8 +1,9 @@
1
1
  import os
2
+ from tempfile import SpooledTemporaryFile
2
3
 
3
4
  from django.conf import settings
4
5
  from django.core.exceptions import PermissionDenied
5
- from django.http import HttpResponse, JsonResponse
6
+ from django.http import FileResponse, HttpResponse, JsonResponse
6
7
  from django.shortcuts import get_object_or_404, redirect
7
8
  from django.template.response import TemplateResponse
8
9
  from django.urls import reverse
@@ -291,8 +292,11 @@ def preview(request, image_id, filter_spec):
291
292
  image = get_object_or_404(get_image_model(), id=image_id)
292
293
 
293
294
  try:
294
- response = HttpResponse()
295
- image = Filter(spec=filter_spec).run(image, response)
295
+ # Temporary image needs to be an instance that Willow can run optimizers on
296
+ temp_image = SpooledTemporaryFile(max_size=settings.FILE_UPLOAD_MAX_MEMORY_SIZE)
297
+ image = Filter(spec=filter_spec).run(image, temp_image)
298
+ temp_image.seek(0)
299
+ response = FileResponse(temp_image)
296
300
  response["Content-Type"] = "image/" + image.format_name
297
301
  return response
298
302
  except InvalidFilterSpecError:
@@ -65,6 +65,7 @@ class ServeView(View):
65
65
  mime_type = willow_image.mime_type
66
66
 
67
67
  # Serve the file
68
+ rendition.file.open("rb")
68
69
  return FileResponse(rendition.file, content_type=mime_type)
69
70
 
70
71
  def redirect(self, rendition):
Binary file
@@ -55,6 +55,9 @@ msgstr "رمزعبور"
55
55
  msgid "The password you have entered is not correct. Please try again."
56
56
  msgstr "رمزعبور وارد شده درست نیست. لطفا مجددا سعی کنید."
57
57
 
58
+ msgid "Comment"
59
+ msgstr "نظر"
60
+
58
61
  msgid "Locked"
59
62
  msgstr "قفل شده"
60
63
 
Binary file
@@ -16,7 +16,7 @@
16
16
  # nahuel, 2014
17
17
  # nahuel, 2014
18
18
  # Sebastien Andrivet <sebastien@andrivet.com>, 2016
19
- # Sébastien Corbin <seb.corbin@gmail.com>, 2023
19
+ # Sébastien Corbin <seb.corbin@gmail.com>, 2023-2024
20
20
  # Tom Dyson <tom@torchbox.com>, 2015
21
21
  msgid ""
22
22
  msgstr ""
@@ -24,7 +24,7 @@ msgstr ""
24
24
  "Report-Msgid-Bugs-To: \n"
25
25
  "POT-Creation-Date: 2024-05-02 10:04+0100\n"
26
26
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
27
- "Last-Translator: Sébastien Corbin <seb.corbin@gmail.com>, 2023\n"
27
+ "Last-Translator: Sébastien Corbin <seb.corbin@gmail.com>, 2023-2024\n"
28
28
  "Language-Team: French (http://app.transifex.com/torchbox/wagtail/language/"
29
29
  "fr/)\n"
30
30
  "MIME-Version: 1.0\n"
@@ -496,8 +496,8 @@ msgid ""
496
496
  "There may only be one in progress or needs changes workflow state per page/"
497
497
  "snippet."
498
498
  msgstr ""
499
- "Il ne peut y avoir qu'un seul état de workflow « en cours » ou « "
500
- "modifications nécessaires » par page/fragment."
499
+ "Il ne peut y avoir qu'un seul état de workflow « en cours » ou "
500
+ "« modifications nécessaires » par page/fragment."
501
501
 
502
502
  #, python-format
503
503
  msgid "Workflow '%(workflow_name)s' on %(model_name)s '%(title)s': %(status)s"
@@ -607,6 +607,9 @@ msgstr "permission de collection de groupe"
607
607
  msgid "group collection permissions"
608
608
  msgstr "permission de collection de groupe"
609
609
 
610
+ msgid "for content type"
611
+ msgstr "pour le type de contenu"
612
+
610
613
  msgid "uploaded by user"
611
614
  msgstr "transféré par l'utilisateur"
612
615
 
@@ -689,9 +692,25 @@ msgstr ""
689
692
  msgid "Public"
690
693
  msgstr "Publique"
691
694
 
695
+ msgid "Private, accessible with a shared password"
696
+ msgstr "Privé, accessible avec un mot de passe"
697
+
698
+ msgid "Private, accessible to any logged-in users"
699
+ msgstr "Privé, accessible à tout utilisateur connecté"
700
+
692
701
  msgid "Private, accessible to users in specific groups"
693
702
  msgstr "Privée, accessible aux utilisateurs dans des groupes spécifiques"
694
703
 
704
+ msgid "shared password"
705
+ msgstr "mot de passe partagé"
706
+
707
+ msgid ""
708
+ "Shared passwords should not be used to protect sensitive content. Anyone who "
709
+ "has this password will be able to view the content."
710
+ msgstr ""
711
+ "Les mots de passe partagé ne devraient pas être utilisés pour protéger du "
712
+ "contenu sensible. N'importe qui ayant ce mot de passe pourra voir le contenu."
713
+
695
714
  msgid "view restriction"
696
715
  msgstr "confidentialité"
697
716
 
Binary file
@@ -3,7 +3,7 @@
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  #
5
5
  # Translators:
6
- # Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, 2015-2018,2020-2021,2023
6
+ # Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, 2015-2018,2020-2021,2023-2024
7
7
  # saevarom <saevar@saevar.is>, 2019-2023
8
8
  msgid ""
9
9
  msgstr ""
@@ -11,7 +11,8 @@ msgstr ""
11
11
  "Report-Msgid-Bugs-To: \n"
12
12
  "POT-Creation-Date: 2024-05-02 10:04+0100\n"
13
13
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
14
- "Last-Translator: saevarom <saevar@saevar.is>, 2019-2023\n"
14
+ "Last-Translator: Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, "
15
+ "2015-2018,2020-2021,2023-2024\n"
15
16
  "Language-Team: Icelandic (Iceland) (http://app.transifex.com/torchbox/"
16
17
  "wagtail/language/is_IS/)\n"
17
18
  "MIME-Version: 1.0\n"
@@ -574,6 +575,9 @@ msgstr "safnheimild hóps"
574
575
  msgid "group collection permissions"
575
576
  msgstr "Myndasafns heimildir hóps"
576
577
 
578
+ msgid "for content type"
579
+ msgstr "fyrir efnistegund"
580
+
577
581
  msgid "uploaded by user"
578
582
  msgstr "hlaðið inn af"
579
583
 
@@ -655,9 +659,25 @@ msgstr ""
655
659
  msgid "Public"
656
660
  msgstr "Í birtingu"
657
661
 
662
+ msgid "Private, accessible with a shared password"
663
+ msgstr "Læst, aðgengilegt með sameiginlegu lykilorði "
664
+
665
+ msgid "Private, accessible to any logged-in users"
666
+ msgstr "Læst, aðgengileg fyrir alla innskráða notendur"
667
+
658
668
  msgid "Private, accessible to users in specific groups"
659
669
  msgstr "Læst, aðgengileg fyrir notendur í sérstökum grúppum"
660
670
 
671
+ msgid "shared password"
672
+ msgstr "Sameiginlegt lykilorð"
673
+
674
+ msgid ""
675
+ "Shared passwords should not be used to protect sensitive content. Anyone who "
676
+ "has this password will be able to view the content."
677
+ msgstr ""
678
+ "Sameiginleg lykilorð ættu ekki að vera notuð til þess að verja viðkvæmt "
679
+ "efni. Allir sem hafa aðgang að þessu lykilorði munu geta séð efnið."
680
+
661
681
  msgid "view restriction"
662
682
  msgstr "skoða takmörkun"
663
683
 
@@ -14,7 +14,7 @@
14
14
  # Luiz Boaretto <lboaretto@gmail.com>, 2016
15
15
  # Luiz Boaretto <lboaretto@gmail.com>, 2016-2018,2020-2021,2024
16
16
  # Marcio Mazza <marciomazza@gmail.com>, 2016
17
- # Rodrigo de Almeida Sottomaior Macedo <sottomaiormacedotec@gmail.com>, 2022
17
+ # Rodrigo de Almeida Sottomaior Macedo <sottomaiormacedotec@sottomaiormacedo.tech>, 2022
18
18
  # Thiago Cangussu <cng.thg@gmail.com>, 2014
19
19
  msgid ""
20
20
  msgstr ""
Binary file
@@ -131,6 +131,14 @@ msgstr "Ko je %(model_name)s zaklenjen, lahko spreminja le %(user)s"
131
131
  msgid "This %(model_name)s is currently awaiting moderation."
132
132
  msgstr "%(model_name)s trenutno čaka moderiranje"
133
133
 
134
+ #, python-brace-format
135
+ msgid ""
136
+ "This {model_name} is awaiting <b>'{task_name}'</b> in the "
137
+ "<b>'{workflow_name}'</b> workflow."
138
+ msgstr ""
139
+ "Ta {model_name} čaka na <b>'{task_name}'</b> v delovnem toku "
140
+ "<b>'{workflow_name}'.</b>"
141
+
134
142
  #, python-format
135
143
  msgid "Only reviewers for this task can edit the %(model_name)s."
136
144
  msgstr "Samo pregledovalci te naloge lahko urejajo %(model_name)s."
@@ -141,6 +149,18 @@ msgstr "Odklenjeno"
141
149
  msgid "Locked by workflow"
142
150
  msgstr "Zaklenjeni poteki dela"
143
151
 
152
+ #, python-format
153
+ msgid ""
154
+ "Reviewers can edit this %(model_name)s – lock it to prevent other reviewers "
155
+ "from editing"
156
+ msgstr ""
157
+ "Recenzenti lahko urejajo ta %(model_name)s- zaklenite ga, da preprečite "
158
+ "urejanje drugim recenzentom"
159
+
160
+ #, python-format
161
+ msgid "Only reviewers can edit and approve the %(model_name)s"
162
+ msgstr "Samo pregledovalci lahko urejajo in potrjujejo %(model_name)s"
163
+
144
164
  #, python-brace-format
145
165
  msgid ""
146
166
  "{model_name} '{title}' is locked and has been scheduled to go live at "
@@ -487,6 +507,10 @@ msgstr "zaključeno ob"
487
507
  msgid "finished by"
488
508
  msgstr "zaključil"
489
509
 
510
+ #, python-format
511
+ msgid "Task '%(task_name)s' on Revision '%(revision_info)s': %(status)s"
512
+ msgstr "Naloga '%(task_name)s' na reviziji '%(revision_info)s': %(status)s"
513
+
490
514
  msgid "Task state"
491
515
  msgstr "Stanje naloge"
492
516
 
@@ -523,6 +547,10 @@ msgstr "vnos v dnevnik"
523
547
  msgid "log entries"
524
548
  msgstr "vnosi v dnevnik"
525
549
 
550
+ #, python-format
551
+ msgid "The log action '%(action_name)s' has not been registered."
552
+ msgstr "Akcija dnevnika '%(action_name)s' ni bila registrirana."
553
+
526
554
  msgid "system"
527
555
  msgstr "sistem"
528
556
 
@@ -554,6 +582,12 @@ msgstr "dovoljenje za skupinsko zbiranje"
554
582
  msgid "group collection permissions"
555
583
  msgstr "dovoljenja za zbirke skupin"
556
584
 
585
+ msgid "for content type"
586
+ msgstr "za vrsto vsebine"
587
+
588
+ msgid "uploaded by user"
589
+ msgstr "ki jo je naložil uporabnik"
590
+
557
591
  #, python-format
558
592
  msgid "the %(model_name)s will also be deleted"
559
593
  msgstr "tudi %(model_name)s bo izbrisan"
@@ -571,6 +605,10 @@ msgstr "ne bo naredil nič"
571
605
  msgid "may prevent deletion"
572
606
  msgstr "lahko prepreči izbris"
573
607
 
608
+ #, python-format
609
+ msgid "will be set to a %(model_name)s specified by the system"
610
+ msgstr "bo nastavljen na %(model_name)s vrednost, ki jo določi sistem"
611
+
574
612
  msgid "will unset the reference"
575
613
  msgstr "bo razveljavilo referenco"
576
614
 
@@ -628,9 +666,25 @@ msgstr ""
628
666
  msgid "Public"
629
667
  msgstr "Javno"
630
668
 
669
+ msgid "Private, accessible with a shared password"
670
+ msgstr "Zasebno, dostopno s skupnim geslom"
671
+
672
+ msgid "Private, accessible to any logged-in users"
673
+ msgstr "Zasebno, dostopno vsem prijavljenim uporabnikom"
674
+
631
675
  msgid "Private, accessible to users in specific groups"
632
676
  msgstr "Zasebno, dostopno uporabnikom iz določenih skupin"
633
677
 
678
+ msgid "shared password"
679
+ msgstr "deljeno geslo"
680
+
681
+ msgid ""
682
+ "Shared passwords should not be used to protect sensitive content. Anyone who "
683
+ "has this password will be able to view the content."
684
+ msgstr ""
685
+ "Za zaščito občutljive vsebine ne smete uporabljati skupnih gesel. Vsakdo, ki "
686
+ "ima to geslo, si bo lahko ogledal vsebino."
687
+
634
688
  msgid "view restriction"
635
689
  msgstr "omejitev pogleda"
636
690
 
@@ -716,6 +770,12 @@ msgstr "Preimenovano"
716
770
  msgid "Revert"
717
771
  msgstr "Povrni"
718
772
 
773
+ #, python-format
774
+ msgid ""
775
+ "Reverted to previous revision with id %(revision_id)s from %(created_at)s"
776
+ msgstr ""
777
+ "Povrnjeno na prejšnjo revizijo z ID-jem %(revision_id)s od %(created_at)s"
778
+
719
779
  msgid "Reverted to previous revision"
720
780
  msgstr "Povrnjeno na prejšnjo revizijo"
721
781
 
@@ -800,6 +860,14 @@ msgstr "Stran je načrtovana za objavo"
800
860
  msgid "Unschedule publication"
801
861
  msgstr "Prekliči objavo"
802
862
 
863
+ #, python-format
864
+ msgid ""
865
+ "Revision %(revision_id)s from %(created_at)s unscheduled from publishing at "
866
+ "%(go_live_at)s."
867
+ msgstr ""
868
+ "Revizija %(revision_id)s iz %(created_at)s nenačrtovane objave na "
869
+ "%(go_live_at)s."
870
+
803
871
  #, python-format
804
872
  msgid "Page unscheduled for publishing at %(go_live_at)s"
805
873
  msgstr "Stran ni predvidena za objavo ob %(go_live_at)s"
@@ -830,6 +898,11 @@ msgstr "Posodobljena omejitev pogleda"
830
898
  msgid "Remove view restrictions"
831
899
  msgstr "Odstranite omejitve pogleda"
832
900
 
901
+ #, python-format
902
+ msgid "Removed the '%(restriction)s' view restriction. The page is public."
903
+ msgstr ""
904
+ "Odstranjena je bila omejitev pogleda '%(restriction)s'. Stran je javna."
905
+
833
906
  msgid "Removed view restriction"
834
907
  msgstr "Odstranjena omejitev ogleda"
835
908
 
@@ -906,6 +979,10 @@ msgstr "Izbrisal odgovor"
906
979
  msgid "Workflow: start"
907
980
  msgstr "Potek dela: začetek"
908
981
 
982
+ #, python-format
983
+ msgid "'%(workflow)s' started. Next step '%(task)s'"
984
+ msgstr "'%(workflow)s' je začel. Naslednji korak '%(task)s'"
985
+
909
986
  msgid "Workflow started"
910
987
  msgstr "Potek dela se je začel"
911
988
 
Binary file
@@ -4,7 +4,7 @@
4
4
  #
5
5
  # Translators:
6
6
  # Jim Brouzoulis <jim.brouzoulis@chalmers.se>, 2017
7
- # Martin Sandström <martin@marteinn.se>, 2020-2021,2023
7
+ # Martin Sandström <martin@marteinn.se>, 2020-2021,2023-2024
8
8
  # Philip Andersen <renegadevi@codeofmagi.net>, 2018-2019
9
9
  # Thomas Kunambi <kunambi@gmail.com>, 2016-2017,2021-2022
10
10
  msgid ""
@@ -13,7 +13,7 @@ msgstr ""
13
13
  "Report-Msgid-Bugs-To: \n"
14
14
  "POT-Creation-Date: 2024-05-02 10:04+0100\n"
15
15
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
16
- "Last-Translator: Martin Sandström <martin@marteinn.se>, 2020-2021,2023\n"
16
+ "Last-Translator: Martin Sandström <martin@marteinn.se>, 2020-2021,2023-2024\n"
17
17
  "Language-Team: Swedish (http://app.transifex.com/torchbox/wagtail/language/"
18
18
  "sv/)\n"
19
19
  "MIME-Version: 1.0\n"
@@ -101,6 +101,12 @@ msgstr "<b>'{title}' låstes</b> av <b>{user}</b> vid <b>{datetime}</b>."
101
101
  msgid "<b>'{title}' is locked</b>."
102
102
  msgstr "<b>'{title}' är låst</b>."
103
103
 
104
+ msgid "Locked by you"
105
+ msgstr "Låst av dig"
106
+
107
+ msgid "Locked by another user"
108
+ msgstr "Låst av en annan användare"
109
+
104
110
  #, python-format
105
111
  msgid "This %(model_name)s is currently awaiting moderation."
106
112
  msgstr "Denna %(model_name)s väntar på moderering."
@@ -583,6 +589,9 @@ msgstr "Publik"
583
589
  msgid "Private, accessible to users in specific groups"
584
590
  msgstr "Privat, åtkomligen för användare i specifika grupper"
585
591
 
592
+ msgid "shared password"
593
+ msgstr "delat lösenord"
594
+
586
595
  msgid "view restriction"
587
596
  msgstr "visningsrestriktion"
588
597
 
@@ -6,7 +6,7 @@
6
6
  # Translators:
7
7
  # Giacomo Ghizzani <giacomo.ghz@gmail.com>, 2021
8
8
  # Marco Badan <marco.badan@gmail.com>, 2021
9
- # Loic Teixeira, 2022
9
+ # tognee, 2024
10
10
  #
11
11
  #, fuzzy
12
12
  msgid ""
@@ -15,7 +15,7 @@ msgstr ""
15
15
  "Report-Msgid-Bugs-To: \n"
16
16
  "POT-Creation-Date: 2024-05-02 10:04+0100\n"
17
17
  "PO-Revision-Date: 2020-10-23 10:41+0000\n"
18
- "Last-Translator: Loic Teixeira, 2022\n"
18
+ "Last-Translator: tognee, 2024\n"
19
19
  "Language-Team: Italian (https://app.transifex.com/torchbox/teams/8009/it/)\n"
20
20
  "MIME-Version: 1.0\n"
21
21
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -34,7 +34,7 @@ msgid "Select a new language"
34
34
  msgstr "Seleziona una nuova lingua"
35
35
 
36
36
  msgid "This locale's language code is not supported"
37
- msgstr "Il codice lingua di questa localizzazione non è supportato"
37
+ msgstr "Il codice di questa lingua non è supportato"
38
38
 
39
39
  msgid "Yes, delete"
40
40
  msgstr "Si, elimina"
@@ -46,50 +46,49 @@ msgid ""
46
46
  "This locale's current language code is not supported. Please choose a new "
47
47
  "language or delete this locale."
48
48
  msgstr ""
49
- "La localizzazione del codice lingua attuale non è supportata. Scegli "
50
- "un'altra lingua o elimina questa localizzazione."
49
+ "Il codice della lingua corrente non è supportato. Scegli un'altra lingua o "
50
+ "elimina questa lingua."
51
51
 
52
52
  msgid "Locales"
53
53
  msgstr "Lingue"
54
54
 
55
55
  msgid "Add a locale"
56
- msgstr "Aggiungi una localizzazione"
56
+ msgstr "Aggiungi una lingua"
57
57
 
58
58
  msgid "Usage"
59
59
  msgstr "Utilizzo"
60
60
 
61
61
  msgid "Add locale"
62
- msgstr "Aggiungi localizzazione"
62
+ msgstr "Aggiungi lingua"
63
63
 
64
64
  #, python-format
65
65
  msgid "Locale '%(object)s' created."
66
- msgstr "Localizzazione '%(object)s' creata."
66
+ msgstr "Lingua '%(object)s' creata."
67
67
 
68
68
  #, python-format
69
69
  msgid "Locale '%(object)s' updated."
70
- msgstr "Localizzazione '%(object)s' aggiornata."
70
+ msgstr "Lingua '%(object)s' aggiornata."
71
71
 
72
72
  msgid "The locale could not be saved due to errors."
73
- msgstr "La localizzazione non può essere salvata per errori."
73
+ msgstr "La lingua non è stata salvata perche sono presenti errori."
74
74
 
75
75
  msgid "Delete locale"
76
- msgstr "Elimina localizzazione."
76
+ msgstr "Elimina lingua."
77
77
 
78
78
  #, python-format
79
79
  msgid "Locale '%(object)s' deleted."
80
- msgstr "Localizzazione '%(object)s' eliminata."
80
+ msgstr "Lingua '%(object)s' eliminata."
81
81
 
82
82
  msgid "Are you sure you want to delete this locale?"
83
- msgstr "Sei sicuro di voler eliminare questa localizzazione?"
83
+ msgstr "Sei sicuro di voler eliminare questa lingua?"
84
84
 
85
85
  msgid "This locale cannot be deleted because there are no other locales."
86
86
  msgstr ""
87
- "Questa localizzazione non può essere eliminata perché non sono presenti "
88
- "altre localizzazioni."
87
+ "Questa lingua non può essere eliminata perché non sono presenti altre lingue."
89
88
 
90
89
  msgid ""
91
90
  "This locale cannot be deleted because there are pages and/or other objects "
92
91
  "using it."
93
92
  msgstr ""
94
- "Questa localizzazione non può essere eliminata perché sono presenti altre "
95
- "pagine e/o oggetti che la stanno utilizzando."
93
+ "Questa lingua non può essere eliminata perché sono presenti altre pagine e/o "
94
+ "oggetti che la stanno utilizzando."
@@ -0,0 +1,24 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ #
5
+ # Translators:
6
+ # Bardia Khoshroo, 2024
7
+ # Mohammad Hossein Mojtahedi <Mhm5000@gmail.com>, 2017
8
+ msgid ""
9
+ msgstr ""
10
+ "Project-Id-Version: Wagtail\n"
11
+ "Report-Msgid-Bugs-To: \n"
12
+ "POT-Creation-Date: 2024-05-02 10:04+0100\n"
13
+ "PO-Revision-Date: 2014-02-19 21:18+0000\n"
14
+ "Last-Translator: Bardia Khoshroo, 2024\n"
15
+ "Language-Team: Persian (http://app.transifex.com/torchbox/wagtail/language/"
16
+ "fa/)\n"
17
+ "MIME-Version: 1.0\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+ "Content-Transfer-Encoding: 8bit\n"
20
+ "Language: fa\n"
21
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
22
+
23
+ msgid "Wagtail search"
24
+ msgstr "جستجوی وگتیل"
@@ -8,7 +8,7 @@
8
8
  # Gladson <gladsonbrito@gmail.com>, 2014
9
9
  # Luiz Boaretto <lboaretto@gmail.com>, 2016
10
10
  # Luiz Boaretto <lboaretto@gmail.com>, 2016
11
- # Rodrigo de Almeida Sottomaior Macedo <sottomaiormacedotec@gmail.com>, 2021
11
+ # Rodrigo de Almeida Sottomaior Macedo <sottomaiormacedotec@sottomaiormacedo.tech>, 2021
12
12
  msgid ""
13
13
  msgstr ""
14
14
  "Project-Id-Version: Wagtail\n"
@@ -16,7 +16,7 @@ msgstr ""
16
16
  "POT-Creation-Date: 2024-05-02 10:04+0100\n"
17
17
  "PO-Revision-Date: 2014-02-19 21:18+0000\n"
18
18
  "Last-Translator: Rodrigo de Almeida Sottomaior Macedo "
19
- "<sottomaiormacedotec@gmail.com>, 2021\n"
19
+ "<sottomaiormacedotec@sottomaiormacedo.tech>, 2021\n"
20
20
  "Language-Team: Portuguese (Brazil) (http://app.transifex.com/torchbox/"
21
21
  "wagtail/language/pt_BR/)\n"
22
22
  "MIME-Version: 1.0\n"