wagtail 6.1.2__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.
- wagtail/__init__.py +1 -1
- wagtail/admin/locale/ar/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/be/LC_MESSAGES/django.po +7 -7
- wagtail/admin/locale/be/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ca/LC_MESSAGES/django.po +51 -50
- wagtail/admin/locale/cs/LC_MESSAGES/django.po +10 -8
- wagtail/admin/locale/de/LC_MESSAGES/django.po +49 -47
- wagtail/admin/locale/dv/LC_MESSAGES/django.po +8 -8
- wagtail/admin/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/es/LC_MESSAGES/django.po +40 -39
- wagtail/admin/locale/es_419/LC_MESSAGES/django.po +8 -8
- wagtail/admin/locale/et/LC_MESSAGES/django.po +14 -12
- wagtail/admin/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fa/LC_MESSAGES/django.po +93 -19
- wagtail/admin/locale/fa/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/fa/LC_MESSAGES/djangojs.po +5 -1
- wagtail/admin/locale/fi/LC_MESSAGES/django.po +18 -18
- wagtail/admin/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fr/LC_MESSAGES/django.po +134 -46
- wagtail/admin/locale/gl/LC_MESSAGES/django.po +55 -54
- wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +13 -12
- wagtail/admin/locale/hr_HR/LC_MESSAGES/djangojs.po +2 -2
- wagtail/admin/locale/hu/LC_MESSAGES/django.po +45 -42
- wagtail/admin/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +53 -51
- wagtail/admin/locale/it/LC_MESSAGES/django.po +56 -55
- wagtail/admin/locale/ja/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/ko/LC_MESSAGES/django.po +18 -17
- wagtail/admin/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/nb/LC_MESSAGES/django.po +22 -22
- wagtail/admin/locale/nl/LC_MESSAGES/django.po +44 -41
- wagtail/admin/locale/pl/LC_MESSAGES/django.po +49 -47
- wagtail/admin/locale/pl/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +46 -26
- wagtail/admin/locale/pt_PT/LC_MESSAGES/django.po +21 -20
- wagtail/admin/locale/ro/LC_MESSAGES/django.po +51 -50
- wagtail/admin/locale/ru/LC_MESSAGES/django.po +60 -59
- wagtail/admin/locale/ru/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +15 -5
- wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sl/LC_MESSAGES/django.po +56 -39
- wagtail/admin/locale/sl/LC_MESSAGES/djangojs.po +2 -2
- wagtail/admin/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/django.po +117 -41
- wagtail/admin/locale/sv/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/djangojs.po +5 -2
- wagtail/admin/locale/tet/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/uk/LC_MESSAGES/django.po +11 -10
- wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +84 -13
- wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/admin/views/generic/base.py +3 -2
- wagtail/contrib/forms/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/redirects/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.po +5 -4
- wagtail/contrib/redirects/locale/el/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.po +18 -5
- wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/mn/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po +5 -5
- wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/redirects/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +9 -6
- wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.po +62 -8
- wagtail/contrib/search_promotions/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.po +9 -6
- wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/sk_SK/LC_MESSAGES/django.po +10 -1
- wagtail/contrib/settings/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/simple_translation/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/simple_translation/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/simple_translation/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/styleguide/locale/sk_SK/LC_MESSAGES/django.po +5 -1
- wagtail/contrib/styleguide/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/styleguide/locale/zh_Hans/LC_MESSAGES/django.po +3 -0
- wagtail/contrib/table_block/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.po +27 -1
- wagtail/contrib/table_block/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/table_block/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.po +29 -3
- wagtail/contrib/typed_table_block/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/fr/LC_MESSAGES/django.po +12 -1
- wagtail/contrib/typed_table_block/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/typed_table_block/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.po +14 -4
- wagtail/documents/locale/ar/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/be/LC_MESSAGES/django.po +11 -11
- wagtail/documents/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/documents/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ca/LC_MESSAGES/django.po +12 -11
- wagtail/documents/locale/cs/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/de/LC_MESSAGES/django.po +10 -8
- wagtail/documents/locale/el/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/es/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/et/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/fa/LC_MESSAGES/django.po +17 -8
- wagtail/documents/locale/fi/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/fr/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/hr_HR/LC_MESSAGES/django.po +14 -14
- wagtail/documents/locale/hu/LC_MESSAGES/django.po +12 -12
- wagtail/documents/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ja/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ko/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/lt/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/mi/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/mn/LC_MESSAGES/django.po +5 -4
- wagtail/documents/locale/nb/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/nl/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/pl/LC_MESSAGES/django.po +11 -11
- wagtail/documents/locale/pt_BR/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ru/LC_MESSAGES/django.po +9 -9
- wagtail/documents/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sk_SK/LC_MESSAGES/django.po +55 -12
- wagtail/documents/locale/sl/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/sv/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/th/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/tr/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/tr_TR/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/zh/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.po +11 -5
- wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/embeds/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/embeds/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/images/locale/ar/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/images/locale/ca/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/cs/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/cy/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/de/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/el/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/es/LC_MESSAGES/django.po +10 -10
- wagtail/images/locale/et/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/fa/LC_MESSAGES/django.po +28 -9
- wagtail/images/locale/fi/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/fr/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/hu/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ja/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ko/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/lt/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/nb/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/nl/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/pl/LC_MESSAGES/django.po +11 -11
- wagtail/images/locale/pt_BR/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ru/LC_MESSAGES/django.po +11 -11
- wagtail/images/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sk_SK/LC_MESSAGES/django.po +23 -8
- wagtail/images/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sl/LC_MESSAGES/django.po +24 -12
- wagtail/images/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sv/LC_MESSAGES/django.po +20 -8
- wagtail/images/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/th/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/tr/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/tr_TR/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/zh_Hans/LC_MESSAGES/django.po +49 -5
- wagtail/images/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/images/models.py +1 -0
- wagtail/images/tests/test_admin_views.py +32 -0
- wagtail/images/tests/test_image_operations.py +12 -0
- wagtail/images/tests/tests.py +27 -2
- wagtail/images/views/images.py +7 -3
- wagtail/images/views/serve.py +1 -0
- wagtail/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/fa/LC_MESSAGES/django.po +3 -0
- wagtail/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/fr/LC_MESSAGES/django.po +23 -4
- wagtail/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/sv/LC_MESSAGES/django.po +11 -2
- wagtail/locales/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/locales/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/search/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/fa/LC_MESSAGES/django.po +24 -0
- wagtail/search/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/search/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/search/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/search/tests/test_queries.py +24 -0
- wagtail/search/utils.py +6 -12
- wagtail/sites/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/snippets/locale/ca/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/de/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/fa/LC_MESSAGES/django.po +17 -1
- wagtail/snippets/locale/fr/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/gl/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/hu/LC_MESSAGES/django.po +7 -7
- wagtail/snippets/locale/is_IS/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/it/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/ko/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/nb/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/nl/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/snippets/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ro/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/ru/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.po +3 -0
- wagtail/snippets/locale/sl/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/sv/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.po +40 -1
- wagtail/tests/test_utils.py +28 -1
- wagtail/users/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/be/LC_MESSAGES/django.po +9 -9
- wagtail/users/locale/ca/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/cs/LC_MESSAGES/django.po +6 -6
- wagtail/users/locale/cy/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/de/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/es/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/et/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/fa/LC_MESSAGES/django.po +69 -7
- wagtail/users/locale/fi/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/fr/LC_MESSAGES/django.po +52 -11
- wagtail/users/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/hr_HR/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/hu/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/ja/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/lv/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/mn/LC_MESSAGES/django.po +5 -4
- wagtail/users/locale/nb/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/nl/LC_MESSAGES/django.po +6 -6
- wagtail/users/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/users/locale/pt_BR/LC_MESSAGES/django.po +9 -9
- wagtail/users/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/ru/LC_MESSAGES/django.po +11 -11
- wagtail/users/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/sk_SK/LC_MESSAGES/django.po +12 -5
- wagtail/users/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/sl/LC_MESSAGES/django.po +56 -12
- wagtail/users/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/sv/LC_MESSAGES/django.po +49 -10
- wagtail/users/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/zh_Hans/LC_MESSAGES/django.po +49 -5
- wagtail/users/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/utils/utils.py +26 -0
- wagtail-6.1.3.dist-info/METADATA +78 -0
- {wagtail-6.1.2.dist-info → wagtail-6.1.3.dist-info}/RECORD +402 -401
- {wagtail-6.1.2.dist-info → wagtail-6.1.3.dist-info}/WHEEL +1 -1
- wagtail-6.1.2.dist-info/METADATA +0 -78
- {wagtail-6.1.2.dist-info → wagtail-6.1.3.dist-info}/LICENSE +0 -0
- {wagtail-6.1.2.dist-info → wagtail-6.1.3.dist-info}/entry_points.txt +0 -0
- {wagtail-6.1.2.dist-info → wagtail-6.1.3.dist-info}/top_level.txt +0 -0
|
@@ -390,19 +390,19 @@ msgstr "Вибачте, жодне зображення не відповіда
|
|
|
390
390
|
|
|
391
391
|
#, python-format
|
|
392
392
|
msgid ""
|
|
393
|
-
"You haven't uploaded any images in this collection. Why not <a
|
|
394
|
-
"
|
|
393
|
+
"You haven't uploaded any images in this collection. Why not <a "
|
|
394
|
+
"href=\"%(wagtailimages_add_image_url)s\">upload one now</a>?"
|
|
395
395
|
msgstr ""
|
|
396
|
-
"Ви не завантажили жодного зображення до колекції. Чому б <a
|
|
397
|
-
"
|
|
396
|
+
"Ви не завантажили жодного зображення до колекції. Чому б <a "
|
|
397
|
+
"href=\"%(wagtailimages_add_image_url)s\">не завантажити якесь зараз</a>?"
|
|
398
398
|
|
|
399
399
|
#, python-format
|
|
400
400
|
msgid ""
|
|
401
|
-
"You haven't uploaded any images. Why not <a
|
|
402
|
-
"
|
|
401
|
+
"You haven't uploaded any images. Why not <a "
|
|
402
|
+
"href=\"%(wagtailimages_add_image_url)s\">upload one now</a>?"
|
|
403
403
|
msgstr ""
|
|
404
|
-
"Ви не завантажили жодного зображення. Чому б <a
|
|
405
|
-
"
|
|
404
|
+
"Ви не завантажили жодного зображення. Чому б <a "
|
|
405
|
+
"href=\"%(wagtailimages_add_image_url)s\">не завантажити якесь зараз</a>?"
|
|
406
406
|
|
|
407
407
|
msgid "Preview"
|
|
408
408
|
msgstr "Попередній перегляд"
|
|
Binary file
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
# Matt Westcott <matthew@torchbox.com>, 2022
|
|
15
15
|
# Vincent Zhao <zhaopu2008@gmail.com>, 2017
|
|
16
16
|
# Yin Guanhao <sopium@mysterious.site>, 2020-2021
|
|
17
|
+
# Yu Cheng, 2024
|
|
17
18
|
# 汇民 王 <whuim@qq.com>, 2017-2021
|
|
18
19
|
msgid ""
|
|
19
20
|
msgstr ""
|
|
@@ -21,7 +22,7 @@ msgstr ""
|
|
|
21
22
|
"Report-Msgid-Bugs-To: \n"
|
|
22
23
|
"POT-Creation-Date: 2024-05-02 10:04+0100\n"
|
|
23
24
|
"PO-Revision-Date: 2014-02-20 21:05+0000\n"
|
|
24
|
-
"Last-Translator:
|
|
25
|
+
"Last-Translator: Yu Cheng, 2024\n"
|
|
25
26
|
"Language-Team: Chinese (China) (http://app.transifex.com/torchbox/wagtail/"
|
|
26
27
|
"language/zh_CN/)\n"
|
|
27
28
|
"MIME-Version: 1.0\n"
|
|
@@ -47,6 +48,13 @@ msgstr "支持的格式:%(supported_formats)s。"
|
|
|
47
48
|
msgid "Not a supported image format. Supported formats: %(supported_formats)s."
|
|
48
49
|
msgstr "不支持的图片格式。支持类型如下: %(supported_formats)s"
|
|
49
50
|
|
|
51
|
+
#, python-format
|
|
52
|
+
msgid ""
|
|
53
|
+
"Not a valid .%(extension)s image. The extension does not match the file "
|
|
54
|
+
"format (%(image_format)s)"
|
|
55
|
+
msgstr ""
|
|
56
|
+
"不是有效的 .%(extension)s 图像。扩展名与文件格式不匹配 (%(image_format)s)"
|
|
57
|
+
|
|
50
58
|
#, python-format
|
|
51
59
|
msgid ""
|
|
52
60
|
"This file is too big (%(file_size)s). Maximum filesize %(max_filesize)s."
|
|
@@ -184,6 +192,11 @@ msgstr "是的,添加"
|
|
|
184
192
|
msgid "No, don't add"
|
|
185
193
|
msgstr "否,不添加"
|
|
186
194
|
|
|
195
|
+
#, python-format
|
|
196
|
+
msgid "Add 1 image to new collection"
|
|
197
|
+
msgid_plural "Add %(counter)s images to new collection"
|
|
198
|
+
msgstr[0] "将 %(counter)s 张图像添加到新集合"
|
|
199
|
+
|
|
187
200
|
msgid "Add images to collection"
|
|
188
201
|
msgstr "将图片添加到集合"
|
|
189
202
|
|
|
@@ -227,6 +240,13 @@ msgstr "否,不删除"
|
|
|
227
240
|
msgid "Popular tags"
|
|
228
241
|
msgstr "热门标签"
|
|
229
242
|
|
|
243
|
+
msgid ""
|
|
244
|
+
"Upload successful. However, your new image seems to be a duplicate of an "
|
|
245
|
+
"existing image. You may delete it if it wasn't required."
|
|
246
|
+
msgstr ""
|
|
247
|
+
"上传成功。但是,您上传的新图像似乎与现有图像重复。如果不需要,您可以将其删"
|
|
248
|
+
"除。"
|
|
249
|
+
|
|
230
250
|
msgid "Existing"
|
|
231
251
|
msgstr "已存在"
|
|
232
252
|
|
|
@@ -246,6 +266,9 @@ msgstr "最新图片"
|
|
|
246
266
|
msgid "Select %(title)s"
|
|
247
267
|
msgstr "选择 %(title)s"
|
|
248
268
|
|
|
269
|
+
msgid "You haven't uploaded any images in this collection."
|
|
270
|
+
msgstr "您尚未上传此集合中的任何图片。"
|
|
271
|
+
|
|
249
272
|
msgid ""
|
|
250
273
|
"Why not <a class=\"upload-one-now\" href=\"#tab-upload\" data-tab-"
|
|
251
274
|
"trigger>upload one now</a>?"
|
|
@@ -319,6 +342,9 @@ msgstr "未找到文件"
|
|
|
319
342
|
msgid "Usage"
|
|
320
343
|
msgstr "使用情况"
|
|
321
344
|
|
|
345
|
+
msgid "Sort by"
|
|
346
|
+
msgstr "排序方式"
|
|
347
|
+
|
|
322
348
|
msgid "Select all images in listing"
|
|
323
349
|
msgstr "选择列表中的所有图片"
|
|
324
350
|
|
|
@@ -328,16 +354,16 @@ msgstr "对不起,没有符合\"<em>%(query_string)s</em>\"的图片。"
|
|
|
328
354
|
|
|
329
355
|
#, python-format
|
|
330
356
|
msgid ""
|
|
331
|
-
"You haven't uploaded any images in this collection. Why not <a
|
|
332
|
-
"
|
|
357
|
+
"You haven't uploaded any images in this collection. Why not <a "
|
|
358
|
+
"href=\"%(wagtailimages_add_image_url)s\">upload one now</a>?"
|
|
333
359
|
msgstr ""
|
|
334
360
|
"此集合中还没有图片。为何不 <a href=\"%(wagtailimages_add_image_url)s\">上传一"
|
|
335
361
|
"个</a> ?"
|
|
336
362
|
|
|
337
363
|
#, python-format
|
|
338
364
|
msgid ""
|
|
339
|
-
"You haven't uploaded any images. Why not <a
|
|
340
|
-
"
|
|
365
|
+
"You haven't uploaded any images. Why not <a "
|
|
366
|
+
"href=\"%(wagtailimages_add_image_url)s\">upload one now</a>?"
|
|
341
367
|
msgstr ""
|
|
342
368
|
"还没上传图片呢。来<a href=\"%(wagtailimages_add_image_url)s\">上传一个</a>吧?"
|
|
343
369
|
|
|
@@ -347,6 +373,18 @@ msgstr "预览"
|
|
|
347
373
|
msgid "URL"
|
|
348
374
|
msgstr "URL"
|
|
349
375
|
|
|
376
|
+
msgid "Image URL"
|
|
377
|
+
msgstr "图片URL"
|
|
378
|
+
|
|
379
|
+
msgid "Copy URL"
|
|
380
|
+
msgstr "复制URL"
|
|
381
|
+
|
|
382
|
+
msgid "Copied to clipboard"
|
|
383
|
+
msgstr "已复制到剪贴板"
|
|
384
|
+
|
|
385
|
+
msgid "Copying to clipboard failed"
|
|
386
|
+
msgstr "复制到剪贴板失败"
|
|
387
|
+
|
|
350
388
|
msgid "Add multiple images"
|
|
351
389
|
msgstr "添加多个图片"
|
|
352
390
|
|
|
@@ -450,6 +488,12 @@ msgstr "标题: (A -> Z)"
|
|
|
450
488
|
msgid "Title: (Z -> A)"
|
|
451
489
|
msgstr "标题: (Z -> A)"
|
|
452
490
|
|
|
491
|
+
msgid "File size: (low to high)"
|
|
492
|
+
msgstr "文件大小:(从小到大)"
|
|
493
|
+
|
|
494
|
+
msgid "File size: (high to low)"
|
|
495
|
+
msgstr "文件大小:(从大到小)"
|
|
496
|
+
|
|
453
497
|
msgid "Images"
|
|
454
498
|
msgstr "图片"
|
|
455
499
|
|
|
@@ -223,16 +223,16 @@ msgstr "對不起,沒有符合\"<em>%(query_string)s</em>\"的圖片。"
|
|
|
223
223
|
|
|
224
224
|
#, python-format
|
|
225
225
|
msgid ""
|
|
226
|
-
"You haven't uploaded any images in this collection. Why not <a
|
|
227
|
-
"
|
|
226
|
+
"You haven't uploaded any images in this collection. Why not <a "
|
|
227
|
+
"href=\"%(wagtailimages_add_image_url)s\">upload one now</a>?"
|
|
228
228
|
msgstr ""
|
|
229
229
|
"此集合中還沒有圖片。為何不 <a href=\"%(wagtailimages_add_image_url)s\">上傳一"
|
|
230
230
|
"個</a> ?"
|
|
231
231
|
|
|
232
232
|
#, python-format
|
|
233
233
|
msgid ""
|
|
234
|
-
"You haven't uploaded any images. Why not <a
|
|
235
|
-
"
|
|
234
|
+
"You haven't uploaded any images. Why not <a "
|
|
235
|
+
"href=\"%(wagtailimages_add_image_url)s\">upload one now</a>?"
|
|
236
236
|
msgstr ""
|
|
237
237
|
"還沒上傳圖片呢。來<a href=\"%(wagtailimages_add_image_url)s\">上傳一個</a>吧?"
|
|
238
238
|
|
wagtail/images/models.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import datetime
|
|
2
2
|
import json
|
|
3
3
|
import urllib
|
|
4
|
+
from unittest.mock import patch
|
|
4
5
|
|
|
5
6
|
from django.conf import settings
|
|
6
7
|
from django.contrib.auth.models import Group, Permission
|
|
@@ -14,6 +15,8 @@ from django.utils.encoding import force_str
|
|
|
14
15
|
from django.utils.html import escape, escapejs
|
|
15
16
|
from django.utils.http import RFC3986_SUBDELIMS, urlencode
|
|
16
17
|
from django.utils.safestring import mark_safe
|
|
18
|
+
from willow.optimizers.base import OptimizerBase
|
|
19
|
+
from willow.registry import registry
|
|
17
20
|
|
|
18
21
|
from wagtail.admin.admin_url_finder import AdminURLFinder
|
|
19
22
|
from wagtail.images import get_image_model
|
|
@@ -3519,6 +3522,35 @@ class TestPreviewView(WagtailTestUtils, TestCase):
|
|
|
3519
3522
|
self.assertEqual(response.status_code, 200)
|
|
3520
3523
|
self.assertEqual(response["Content-Type"], "image/png")
|
|
3521
3524
|
|
|
3525
|
+
def test_preview_with_optimizer(self):
|
|
3526
|
+
"""
|
|
3527
|
+
Test that preview works with optimizers
|
|
3528
|
+
|
|
3529
|
+
Willow optimizers require
|
|
3530
|
+
"""
|
|
3531
|
+
|
|
3532
|
+
class DummyOptimizer(OptimizerBase):
|
|
3533
|
+
library_name = "dummy"
|
|
3534
|
+
image_format = "png"
|
|
3535
|
+
|
|
3536
|
+
@classmethod
|
|
3537
|
+
def check_library(cls):
|
|
3538
|
+
return True
|
|
3539
|
+
|
|
3540
|
+
@classmethod
|
|
3541
|
+
def process(cls, file_path: str):
|
|
3542
|
+
pass
|
|
3543
|
+
|
|
3544
|
+
# Get the image
|
|
3545
|
+
with patch.object(registry, "_registered_optimizers", [DummyOptimizer]):
|
|
3546
|
+
response = self.client.get(
|
|
3547
|
+
reverse("wagtailimages:preview", args=(self.image.id, "fill-800x600"))
|
|
3548
|
+
)
|
|
3549
|
+
|
|
3550
|
+
# Check response
|
|
3551
|
+
self.assertEqual(response.status_code, 200)
|
|
3552
|
+
self.assertEqual(response["Content-Type"], "image/png")
|
|
3553
|
+
|
|
3522
3554
|
def test_get_invalid_filter_spec(self):
|
|
3523
3555
|
"""
|
|
3524
3556
|
Test that an invalid filter spec returns a 400 response
|
|
@@ -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(
|
wagtail/images/tests/tests.py
CHANGED
|
@@ -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
|
|
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
|
|
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
|
"""
|
wagtail/images/views/images.py
CHANGED
|
@@ -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
|
-
|
|
295
|
-
|
|
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:
|
wagtail/images/views/serve.py
CHANGED
|
@@ -18,9 +18,9 @@ msgstr ""
|
|
|
18
18
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
19
19
|
"Content-Transfer-Encoding: 8bit\n"
|
|
20
20
|
"Language: be\n"
|
|
21
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
|
|
22
|
-
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) ||
|
|
23
|
-
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
21
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
22
|
+
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
|
|
23
|
+
"(n%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
24
24
|
|
|
25
25
|
msgid "Wagtail API v2"
|
|
26
26
|
msgstr "Wagtail API v2"
|
|
Binary file
|
|
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
|
|
|
@@ -17,8 +17,8 @@ msgstr ""
|
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Language: hr_HR\n"
|
|
20
|
-
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
|
|
21
|
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
|
20
|
+
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
21
|
+
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
|
22
22
|
|
|
23
23
|
msgid "Wagtail API v2"
|
|
24
24
|
msgstr "Wagtail API v2"
|
|
@@ -25,9 +25,9 @@ msgstr ""
|
|
|
25
25
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
26
26
|
"Content-Transfer-Encoding: 8bit\n"
|
|
27
27
|
"Language: pl\n"
|
|
28
|
-
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) &&
|
|
29
|
-
"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 &&
|
|
30
|
-
"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
|
28
|
+
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
|
|
29
|
+
"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
|
|
30
|
+
"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
|
31
31
|
|
|
32
32
|
msgid "Wagtail API v2"
|
|
33
33
|
msgstr "API Wagtail v2"
|
|
@@ -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@
|
|
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 ""
|
|
@@ -37,9 +37,9 @@ msgstr ""
|
|
|
37
37
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
38
38
|
"Content-Transfer-Encoding: 8bit\n"
|
|
39
39
|
"Language: ru\n"
|
|
40
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
|
|
41
|
-
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) ||
|
|
42
|
-
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
40
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
41
|
+
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
|
|
42
|
+
"(n%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
43
43
|
|
|
44
44
|
msgid "Wagtail API v2"
|
|
45
45
|
msgstr "Wagtail API v2"
|
|
@@ -24,8 +24,8 @@ msgstr ""
|
|
|
24
24
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
25
25
|
"Content-Transfer-Encoding: 8bit\n"
|
|
26
26
|
"Language: sl\n"
|
|
27
|
-
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 ||
|
|
28
|
-
"%100==4 ? 2 : 3);\n"
|
|
27
|
+
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
|
|
28
|
+
"n%100==4 ? 2 : 3);\n"
|
|
29
29
|
|
|
30
30
|
msgid "Wagtail API v2"
|
|
31
31
|
msgstr "Wagtail API v2"
|
|
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
|
|
|
@@ -22,9 +22,9 @@ msgstr ""
|
|
|
22
22
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
23
23
|
"Content-Transfer-Encoding: 8bit\n"
|
|
24
24
|
"Language: be\n"
|
|
25
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
|
|
26
|
-
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) ||
|
|
27
|
-
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
25
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
26
|
+
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
|
|
27
|
+
"(n%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
28
28
|
|
|
29
29
|
msgid "Wagtail locales"
|
|
30
30
|
msgstr "Лакалізацыі Wagtail "
|
|
@@ -21,8 +21,8 @@ msgstr ""
|
|
|
21
21
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
22
22
|
"Content-Transfer-Encoding: 8bit\n"
|
|
23
23
|
"Language: hr_HR\n"
|
|
24
|
-
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
|
|
25
|
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
|
24
|
+
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
25
|
+
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
|
26
26
|
|
|
27
27
|
msgid "Wagtail locales"
|
|
28
28
|
msgstr "Wagtail lokaliteti"
|
|
@@ -20,9 +20,9 @@ msgstr ""
|
|
|
20
20
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
21
21
|
"Content-Transfer-Encoding: 8bit\n"
|
|
22
22
|
"Language: pl\n"
|
|
23
|
-
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) &&
|
|
24
|
-
"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 &&
|
|
25
|
-
"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
|
23
|
+
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
|
|
24
|
+
"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
|
|
25
|
+
"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
|
26
26
|
|
|
27
27
|
msgid "Wagtail locales"
|
|
28
28
|
msgstr "Lokalizacje Wagtail"
|
|
@@ -21,9 +21,9 @@ msgstr ""
|
|
|
21
21
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
22
22
|
"Content-Transfer-Encoding: 8bit\n"
|
|
23
23
|
"Language: ru\n"
|
|
24
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
|
|
25
|
-
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) ||
|
|
26
|
-
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
24
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
25
|
+
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
|
|
26
|
+
"(n%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
27
27
|
|
|
28
28
|
msgid "Wagtail locales"
|
|
29
29
|
msgstr "Локали Wagtail"
|