From 6d7af0d6172c467de725d06bf8de7ae1c52e7945 Mon Sep 17 00:00:00 2001 From: Fabian Braun Date: Wed, 20 Nov 2024 18:40:27 +0100 Subject: [PATCH] feat: added re-usable Link widget and JSON endpoint (#229) * feat: endpoint for urls, link widget * Update test action * Fix linting issues * More liniting * fix: v3 compatibility * Add two step select2 internal link widget * Fix linting issues * Fix tests and dependencies * Fix migration and link_is_optional * Remove unused blank parameter * Update changelog * feat: autodetect linkable models through their admin * Fix v3 compat with GrouperModelAdmin * Add tests for endpoint * Fix for v3 * Try again * Update codecov action * Fix test.yml syntax error * Update tests * Test template tags * Update validator tests * Update tag tests * Fix migration * Fix migration test and add tests for Django 5.1 * Update migration test for v3 * Remove test with Django 5.1 and django CMS 3.11 (since they are not compatible) * Add test for migration of anchor-only link. * Add tests for third-party app endpoints * Update translations * Add tests for link widget and compiled translations * Mark untestable lines * Simplified manager retrieval * Improved endpoint tests * Allow simplified setting ``DJANGOCMS_LINK_LINKABLE_MODELS``. * Recover django 4.2 compat * Update readme * Small simplification * Add a nocover for current tests * Update readme * Update classifiers * Add `to_link` template tag * Set correct default for empty link * Add ``DJANGOCMS_LINK_ALLOWED_LINK_TYPES`` config * feat: Allow for `get_link_queryset` method in model admin * Add `DJANGOCMS_LINK_MINIMUM_INPUT_LENGTH` setting * Update tests * Simplify site detection * Update README * remove legacy code * Remove more legacy code * Add some type annotations * Add no cover for an unreachable line in tests * Update README.rst * Update README.rst * Add link icon to plugin (for djangocms_text dropdown) * fix tests * fix: Empty model list not added to URL endpoint result * fix tests * Add `DJANGOCMS_LINK_PAGINATE_BY` setting * fix: LinkField defaulted to `blank=True` * Add static files to `MANIFEST.in` * Remove tests from installation * Optimize `Page` queryset * Fix: restore v3 compatibility * fix: Update GitHub action versions * fix: Run migration test * fix: Do not initialize `REGISTERED_ADMINS` with model setting * Update django-cms dependency * Avoid skipping the migration test * feat: LinkDict (syntactic sugar) * More detailed link types * feat: improve test coverage and use pytest * Update checkout action * Remove django-app-helper from dependencies * Move to pyproject.toml * fix license description in pyproject.toml * Update workflows * Fix flake8 action * Fix precommit flake8 * fix: Setuptools in py39 * Update README * Remove test debug code * add __str__ to LinkDict * Fix pyproject.toml, typo in Changelog * Fix README.rst * Update readme * Some clarifications in the README * One more readme clarification * Update pyproject.toml and tox.ini * Update .github/workflows/test.yml Co-authored-by: Mark Walker * Move coverage config to pyproject.toml * Better slicing of endpoint querysets * Fix update tests --------- Co-authored-by: Mark Walker --- .coveragerc | 18 - .github/workflows/lint.yml | 2 +- .github/workflows/test.yml | 25 +- .pre-commit-config.yaml | 14 + .tx/config | 13 +- CHANGELOG.rst | 14 +- MANIFEST.in | 2 + README.rst | 209 ++++++++-- conftest.py | 113 +++++ djangocms_link/__init__.py | 2 +- djangocms_link/admin.py | 273 ++++++++++++ djangocms_link/apps.py | 50 +++ djangocms_link/cms_plugins.py | 83 ++-- djangocms_link/fields.py | 387 +++++++++++++++++- djangocms_link/fields_select2.py | 50 --- djangocms_link/forms.py | 36 -- djangocms_link/helpers.py | 119 +++++- .../locale/af/LC_MESSAGES/django.mo | Bin 419 -> 378 bytes .../locale/af/LC_MESSAGES/django.po | 146 ++++--- .../locale/ar/LC_MESSAGES/django.mo | Bin 2348 -> 1246 bytes .../locale/ar/LC_MESSAGES/django.po | 151 +++---- .../locale/be/LC_MESSAGES/django.mo | Bin 558 -> 517 bytes .../locale/be/LC_MESSAGES/django.po | 146 ++++--- .../locale/bg/LC_MESSAGES/django.mo | Bin 519 -> 478 bytes .../locale/bg/LC_MESSAGES/django.po | 148 ++++--- .../locale/bn/LC_MESSAGES/django.mo | Bin 517 -> 476 bytes .../locale/bn/LC_MESSAGES/django.po | 148 ++++--- .../locale/ca/LC_MESSAGES/django.mo | Bin 543 -> 471 bytes .../locale/ca/LC_MESSAGES/django.po | 127 +++--- .../locale/cmn/LC_MESSAGES/django.mo | Bin 423 -> 382 bytes .../locale/cmn/LC_MESSAGES/django.po | 146 ++++--- .../locale/cs/LC_MESSAGES/django.mo | Bin 618 -> 547 bytes .../locale/cs/LC_MESSAGES/django.po | 127 +++--- .../locale/cs_CZ/LC_MESSAGES/django.mo | Bin 518 -> 0 bytes .../locale/cs_CZ/LC_MESSAGES/django.po | 126 ------ .../locale/cy/LC_MESSAGES/django.mo | Bin 460 -> 419 bytes .../locale/cy/LC_MESSAGES/django.po | 146 ++++--- .../locale/da/LC_MESSAGES/django.mo | Bin 538 -> 467 bytes .../locale/da/LC_MESSAGES/django.po | 127 +++--- .../locale/de/LC_MESSAGES/django.mo | Bin 2230 -> 2660 bytes .../locale/de/LC_MESSAGES/django.po | 159 +++---- .../locale/el/LC_MESSAGES/django.mo | Bin 559 -> 480 bytes .../locale/el/LC_MESSAGES/django.po | 127 +++--- .../locale/en/LC_MESSAGES/django.mo | Bin 2056 -> 840 bytes .../locale/en/LC_MESSAGES/django.po | 170 ++++---- .../locale/en_GB/LC_MESSAGES/django.mo | Bin 440 -> 399 bytes .../locale/en_GB/LC_MESSAGES/django.po | 146 ++++--- .../locale/en_HK/LC_MESSAGES/django.mo | Bin 435 -> 0 bytes .../locale/en_HK/LC_MESSAGES/django.po | 126 ------ .../locale/en_US/LC_MESSAGES/django.mo | Bin 439 -> 398 bytes .../locale/en_US/LC_MESSAGES/django.po | 146 ++++--- .../locale/eo/LC_MESSAGES/django.mo | Bin 419 -> 378 bytes .../locale/eo/LC_MESSAGES/django.po | 146 ++++--- .../locale/es/LC_MESSAGES/django.mo | Bin 417 -> 415 bytes .../locale/es/LC_MESSAGES/django.po | 148 ++++--- .../locale/es_AR/LC_MESSAGES/django.mo | Bin 561 -> 0 bytes .../locale/es_AR/LC_MESSAGES/django.po | 130 ------ .../locale/es_BO/LC_MESSAGES/django.mo | Bin 527 -> 0 bytes .../locale/es_BO/LC_MESSAGES/django.po | 130 ------ .../locale/es_DO/LC_MESSAGES/django.mo | Bin 444 -> 0 bytes .../locale/es_DO/LC_MESSAGES/django.po | 126 ------ .../locale/et/LC_MESSAGES/django.mo | Bin 540 -> 469 bytes .../locale/et/LC_MESSAGES/django.po | 127 +++--- .../locale/eu/LC_MESSAGES/django.mo | Bin 510 -> 469 bytes .../locale/eu/LC_MESSAGES/django.po | 148 ++++--- .../locale/fa/LC_MESSAGES/django.mo | Bin 1295 -> 917 bytes .../locale/fa/LC_MESSAGES/django.po | 143 ++++--- .../locale/fa_IR/LC_MESSAGES/django.mo | Bin 429 -> 0 bytes .../locale/fa_IR/LC_MESSAGES/django.po | 126 ------ .../locale/fi/LC_MESSAGES/django.mo | Bin 1103 -> 835 bytes .../locale/fi/LC_MESSAGES/django.po | 141 ++++--- .../locale/fi_FI/LC_MESSAGES/django.mo | Bin 433 -> 0 bytes .../locale/fi_FI/LC_MESSAGES/django.po | 126 ------ .../locale/fr/LC_MESSAGES/django.mo | Bin 2048 -> 1216 bytes .../locale/fr/LC_MESSAGES/django.po | 158 +++---- .../locale/fr_CA/LC_MESSAGES/django.mo | Bin 430 -> 0 bytes .../locale/fr_CA/LC_MESSAGES/django.po | 126 ------ .../locale/fr_FR/LC_MESSAGES/django.mo | Bin 2125 -> 0 bytes .../locale/fr_FR/LC_MESSAGES/django.po | 135 ------ .../locale/ga/LC_MESSAGES/django.mo | Bin 453 -> 412 bytes .../locale/ga/LC_MESSAGES/django.po | 146 ++++--- .../locale/gl/LC_MESSAGES/django.mo | Bin 514 -> 473 bytes .../locale/gl/LC_MESSAGES/django.po | 148 ++++--- .../locale/gu/LC_MESSAGES/django.mo | Bin 418 -> 377 bytes .../locale/gu/LC_MESSAGES/django.po | 146 ++++--- .../locale/he/LC_MESSAGES/django.mo | Bin 606 -> 521 bytes .../locale/he/LC_MESSAGES/django.po | 150 ++++--- .../locale/hi/LC_MESSAGES/django.mo | Bin 516 -> 475 bytes .../locale/hi/LC_MESSAGES/django.po | 148 ++++--- .../locale/hr/LC_MESSAGES/django.mo | Bin 612 -> 1133 bytes .../locale/hr/LC_MESSAGES/django.po | 147 ++++--- .../locale/hu/LC_MESSAGES/django.mo | Bin 548 -> 477 bytes .../locale/hu/LC_MESSAGES/django.po | 127 +++--- .../locale/id/LC_MESSAGES/django.mo | Bin 413 -> 372 bytes .../locale/id/LC_MESSAGES/django.po | 146 ++++--- .../locale/is/LC_MESSAGES/django.mo | Bin 536 -> 495 bytes .../locale/is/LC_MESSAGES/django.po | 148 ++++--- .../locale/is_IS/LC_MESSAGES/django.mo | Bin 457 -> 0 bytes .../locale/is_IS/LC_MESSAGES/django.po | 126 ------ .../locale/it/LC_MESSAGES/django.mo | Bin 417 -> 1220 bytes .../locale/it/LC_MESSAGES/django.po | 149 ++++--- .../locale/ja/LC_MESSAGES/django.mo | Bin 543 -> 467 bytes .../locale/ja/LC_MESSAGES/django.po | 127 +++--- .../locale/ka/LC_MESSAGES/django.mo | Bin 519 -> 478 bytes .../locale/ka/LC_MESSAGES/django.po | 148 ++++--- .../locale/kk/LC_MESSAGES/django.mo | Bin 414 -> 373 bytes .../locale/kk/LC_MESSAGES/django.po | 146 ++++--- .../locale/km/LC_MESSAGES/django.mo | Bin 514 -> 473 bytes .../locale/km/LC_MESSAGES/django.po | 148 ++++--- .../locale/ko/LC_MESSAGES/django.mo | Bin 409 -> 368 bytes .../locale/ko/LC_MESSAGES/django.po | 146 ++++--- .../locale/ko_KR/LC_MESSAGES/django.mo | Bin 546 -> 0 bytes .../locale/ko_KR/LC_MESSAGES/django.po | 130 ------ .../locale/ku_IQ/LC_MESSAGES/django.mo | Bin 526 -> 0 bytes .../locale/ku_IQ/LC_MESSAGES/django.po | 130 ------ .../locale/lt/LC_MESSAGES/django.mo | Bin 2239 -> 1258 bytes .../locale/lt/LC_MESSAGES/django.po | 151 +++---- .../locale/lt_LT/LC_MESSAGES/django.mo | Bin 569 -> 0 bytes .../locale/lt_LT/LC_MESSAGES/django.po | 126 ------ .../locale/lv/LC_MESSAGES/django.mo | Bin 452 -> 411 bytes .../locale/lv/LC_MESSAGES/django.po | 146 ++++--- .../locale/mn/LC_MESSAGES/django.mo | Bin 419 -> 378 bytes .../locale/mn/LC_MESSAGES/django.po | 146 ++++--- .../locale/mn_MN/LC_MESSAGES/django.mo | Bin 436 -> 0 bytes .../locale/mn_MN/LC_MESSAGES/django.po | 126 ------ .../locale/ms/LC_MESSAGES/django.mo | Bin 408 -> 367 bytes .../locale/ms/LC_MESSAGES/django.po | 146 ++++--- .../locale/mt/LC_MESSAGES/django.mo | Bin 490 -> 449 bytes .../locale/mt/LC_MESSAGES/django.po | 146 ++++--- .../locale/nb/LC_MESSAGES/django.mo | Bin 427 -> 386 bytes .../locale/nb/LC_MESSAGES/django.po | 146 ++++--- .../locale/nl/LC_MESSAGES/django.mo | Bin 2091 -> 1154 bytes .../locale/nl/LC_MESSAGES/django.po | 155 +++---- .../locale/no/LC_MESSAGES/django.mo | Bin 512 -> 471 bytes .../locale/no/LC_MESSAGES/django.po | 148 ++++--- .../locale/pap/LC_MESSAGES/django.mo | Bin 422 -> 0 bytes .../locale/pap/LC_MESSAGES/django.po | 126 ------ .../locale/pl/LC_MESSAGES/django.mo | Bin 689 -> 618 bytes .../locale/pl/LC_MESSAGES/django.po | 127 +++--- .../locale/pt/LC_MESSAGES/django.mo | Bin 543 -> 522 bytes .../locale/pt/LC_MESSAGES/django.po | 129 +++--- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 2071 -> 0 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 134 ------ .../locale/pt_PT/LC_MESSAGES/django.mo | Bin 569 -> 0 bytes .../locale/pt_PT/LC_MESSAGES/django.po | 130 ------ .../locale/ro/LC_MESSAGES/django.mo | Bin 551 -> 510 bytes .../locale/ro/LC_MESSAGES/django.po | 148 ++++--- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 475 -> 0 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 126 ------ .../locale/ru/LC_MESSAGES/django.mo | Bin 2632 -> 1450 bytes .../locale/ru/LC_MESSAGES/django.po | 151 +++---- .../locale/sk/LC_MESSAGES/django.mo | Bin 584 -> 543 bytes .../locale/sk/LC_MESSAGES/django.po | 148 ++++--- .../locale/sk_SK/LC_MESSAGES/django.mo | Bin 508 -> 0 bytes .../locale/sk_SK/LC_MESSAGES/django.po | 126 ------ .../locale/sl/LC_MESSAGES/django.mo | Bin 471 -> 430 bytes .../locale/sl/LC_MESSAGES/django.po | 146 ++++--- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 584 -> 0 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 130 ------ .../locale/sq/LC_MESSAGES/django.mo | Bin 418 -> 1032 bytes .../locale/sq/LC_MESSAGES/django.po | 143 ++++--- .../locale/sq_AL/LC_MESSAGES/django.mo | Bin 434 -> 0 bytes .../locale/sq_AL/LC_MESSAGES/django.po | 126 ------ .../locale/sr/LC_MESSAGES/django.mo | Bin 491 -> 450 bytes .../locale/sr/LC_MESSAGES/django.po | 146 ++++--- .../locale/sr@latin/LC_MESSAGES/django.mo | Bin 603 -> 0 bytes .../locale/sr@latin/LC_MESSAGES/django.po | 130 ------ .../locale/sv/LC_MESSAGES/django.mo | Bin 540 -> 469 bytes .../locale/sv/LC_MESSAGES/django.po | 127 +++--- .../locale/ta/LC_MESSAGES/django.mo | Bin 574 -> 486 bytes .../locale/ta/LC_MESSAGES/django.po | 127 +++--- .../locale/th/LC_MESSAGES/django.mo | Bin 407 -> 366 bytes .../locale/th/LC_MESSAGES/django.po | 146 ++++--- .../locale/th_TH/LC_MESSAGES/django.mo | Bin 424 -> 0 bytes .../locale/th_TH/LC_MESSAGES/django.po | 126 ------ .../locale/tlh/LC_MESSAGES/django.mo | Bin 418 -> 0 bytes .../locale/tlh/LC_MESSAGES/django.po | 126 ------ .../locale/tr/LC_MESSAGES/django.mo | Bin 544 -> 473 bytes .../locale/tr/LC_MESSAGES/django.po | 127 +++--- .../locale/tr_TR/LC_MESSAGES/django.mo | Bin 431 -> 0 bytes .../locale/tr_TR/LC_MESSAGES/django.po | 126 ------ .../locale/ug/LC_MESSAGES/django.mo | Bin 409 -> 375 bytes .../locale/ug/LC_MESSAGES/django.po | 148 ++++--- .../locale/uk/LC_MESSAGES/django.mo | Bin 784 -> 706 bytes .../locale/uk/LC_MESSAGES/django.po | 127 +++--- .../locale/ur/LC_MESSAGES/django.mo | Bin 414 -> 373 bytes .../locale/ur/LC_MESSAGES/django.po | 146 ++++--- .../locale/vi/LC_MESSAGES/django.mo | Bin 413 -> 372 bytes .../locale/vi/LC_MESSAGES/django.po | 146 ++++--- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 430 -> 0 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 126 ------ .../locale/zh-Hans/LC_MESSAGES/django.mo | Bin 431 -> 390 bytes .../locale/zh-Hans/LC_MESSAGES/django.po | 146 ++++--- .../locale/zh/LC_MESSAGES/django.mo | Bin 410 -> 369 bytes .../locale/zh/LC_MESSAGES/django.po | 146 ++++--- .../locale/zh_CN.GB2312/LC_MESSAGES/django.mo | Bin 447 -> 0 bytes .../locale/zh_CN.GB2312/LC_MESSAGES/django.po | 126 ------ .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 553 -> 0 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 130 ------ .../locale/zh_TW/LC_MESSAGES/django.mo | Bin 519 -> 0 bytes .../locale/zh_TW/LC_MESSAGES/django.po | 130 ------ djangocms_link/migrations/0017_link_link.py | 47 +++ ...chor_remove_link_external_link_and_more.py | 36 ++ djangocms_link/models.py | 211 ++-------- .../static/djangocms_link/link-widget.css | 76 ++++ .../static/djangocms_link/link-widget.js | 42 ++ .../djangocms_link/admin/link_widget.html | 6 + .../djangocms_link/default/link.html | 16 +- djangocms_link/templatetags/__init__.py | 0 .../templatetags/djangocms_link_tags.py | 24 ++ djangocms_link/validators.py | 102 ++++- preview.gif | Bin 53723 -> 472656 bytes pyproject.toml | 124 ++++++ setup.cfg | 29 -- setup.py | 55 +-- tests/requirements/base.txt | 6 +- tests/requirements/dj51_cms41.txt | 4 + tests/settings.py | 50 +-- tests/test_endpoint.py | 302 ++++++++++++++ tests/test_fields.py | 135 +++++- tests/test_link_dict.py | 99 +++++ tests/test_migrations.py | 125 +++++- tests/test_models.py | 158 ++++--- tests/test_plugins.py | 107 +++-- tests/test_validators.py | 65 ++- tests/utils/admin.py | 8 + tests/utils/cms_config.py | 6 + tests/utils/models.py | 13 + tests/utils/templates/base.html | 9 + tests/utils/templates/fullwidth.html | 8 + tests/utils/templates/page.html | 8 + tests/utils/urls.py | 23 ++ tox.ini | 25 +- 233 files changed, 8097 insertions(+), 7988 deletions(-) delete mode 100644 .coveragerc create mode 100755 conftest.py create mode 100644 djangocms_link/admin.py create mode 100644 djangocms_link/apps.py delete mode 100644 djangocms_link/fields_select2.py delete mode 100644 djangocms_link/forms.py delete mode 100644 djangocms_link/locale/cs_CZ/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/cs_CZ/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/en_HK/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/en_HK/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/es_AR/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/es_AR/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/es_BO/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/es_BO/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/es_DO/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/es_DO/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/fa_IR/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/fa_IR/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/fi_FI/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/fi_FI/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/fr_CA/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/fr_CA/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/fr_FR/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/fr_FR/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/is_IS/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/is_IS/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/ko_KR/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/ko_KR/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/ku_IQ/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/ku_IQ/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/lt_LT/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/lt_LT/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/mn_MN/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/mn_MN/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/pap/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/pap/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/pt_BR/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/pt_BR/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/pt_PT/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/pt_PT/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/ro_RO/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/ro_RO/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/sk_SK/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/sk_SK/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/sl_SI/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/sl_SI/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/sq_AL/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/sq_AL/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/sr@latin/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/sr@latin/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/th_TH/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/th_TH/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/tlh/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/tlh/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/tr_TR/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/tr_TR/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/vi_VN/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/vi_VN/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/zh_CN.GB2312/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/zh_CN.GB2312/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/zh_CN/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/zh_CN/LC_MESSAGES/django.po delete mode 100644 djangocms_link/locale/zh_TW/LC_MESSAGES/django.mo delete mode 100644 djangocms_link/locale/zh_TW/LC_MESSAGES/django.po create mode 100644 djangocms_link/migrations/0017_link_link.py create mode 100644 djangocms_link/migrations/0018_remove_link_anchor_remove_link_external_link_and_more.py create mode 100644 djangocms_link/static/djangocms_link/link-widget.css create mode 100644 djangocms_link/static/djangocms_link/link-widget.js create mode 100644 djangocms_link/templates/djangocms_link/admin/link_widget.html create mode 100644 djangocms_link/templatetags/__init__.py create mode 100644 djangocms_link/templatetags/djangocms_link_tags.py create mode 100644 pyproject.toml delete mode 100644 setup.cfg create mode 100644 tests/requirements/dj51_cms41.txt create mode 100644 tests/test_endpoint.py create mode 100644 tests/test_link_dict.py create mode 100644 tests/utils/admin.py create mode 100644 tests/utils/cms_config.py create mode 100644 tests/utils/models.py create mode 100644 tests/utils/templates/fullwidth.html create mode 100644 tests/utils/templates/page.html create mode 100644 tests/utils/urls.py diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 405c6ddc..00000000 --- a/.coveragerc +++ /dev/null @@ -1,18 +0,0 @@ -[run] -branch = True -source = djangocms_link -omit = - migrations/* - tests/* - -[report] -exclude_lines = - pragma: no cover - def __repr__ - if self.debug: - if settings.DEBUG - raise AssertionError - raise NotImplementedError - if 0: - if __name__ == .__main__.: -ignore_errors = True diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d1c3a769..521cb88e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,7 +14,7 @@ jobs: with: python-version: 3.9 - name: Install flake8 - run: pip install --upgrade flake8 + run: pip install --upgrade flake8 flake8-pyproject - name: Run flake8 uses: liskin/gh-problem-matcher-wrap@v1 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 96f8208d..a7db4aa3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,32 +8,45 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.10", "3.11", "3.12"] # latest release minus two + python-version: [ "3.9", "3.10", "3.11", "3.12"] requirements-file: [ dj42_cms311.txt, dj42_cms41.txt, dj50_cms311.txt, dj50_cms41.txt, + dj51_cms41.txt, ] os: [ ubuntu-20.04, ] + exclude: + - requirements-file: dj50_cms311.txt + python-version: 3.9 + - requirements-file: dj50_cms41.txt + python-version: 3.9 + - requirements-file: dj51_cms311.txt + python-version: 3.9 + - requirements-file: dj51_cms41.txt + python-version: 3.9 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip + pip install -U setuptools pip install -r tests/requirements/${{ matrix.requirements-file }} python setup.py install - - name: Run coverage - run: coverage run setup.py test + - name: Run test coverage + run: coverage run -m pytest - name: Upload Coverage to Codecov - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} # required diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 727984e6..cfdbd626 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -24,6 +24,7 @@ repos: rev: 7.1.1 hooks: - id: flake8 + additional_dependencies: [Flake8-pyproject] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 @@ -35,3 +36,16 @@ repos: rev: 5.13.2 hooks: - id: isort + + - repo: https://github.com/tox-dev/pyproject-fmt + rev: v2.5.0 + hooks: + - id: pyproject-fmt + + - repo: https://github.com/rstcheck/rstcheck + rev: v6.2.4 + hooks: + - id: rstcheck + additional_dependencies: + - sphinx==6.1.3 + - tomli==2.0.1 diff --git a/.tx/config b/.tx/config index c9dbea70..dac38c67 100644 --- a/.tx/config +++ b/.tx/config @@ -1,8 +1,11 @@ [main] host = https://www.transifex.com -[djangocms-link.djangocms_link] -file_filter = djangocms_link/locale//LC_MESSAGES/django.po -source_file = djangocms_link/locale/en/LC_MESSAGES/django.po -source_lang = en -type = PO +[o:divio:p:djangocms-link:r:djangocms_link] +file_filter = djangocms_link/locale//LC_MESSAGES/django.po +source_file = djangocms_link/locale/en/LC_MESSAGES/django.po +source_lang = en +type = PO +replace_edited_strings = false +keep_translations = false + diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5c709c32..4800829f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,8 +2,20 @@ Changelog ========= +5.0.0 (unreleased) +================== + +* Major refactor +* New re-usable LinkWidget, LinkFormField, and LinkField +* New re-usable JSON endpoint for internal links +* New template tags (``get_url`` tag and ``to_url`` filter) to convert link + fields into URLs. This allows multiple LinkFields per model +* Fixed cross-site linking which reduces the number situations of the hostname + needing to be part of a link +* Dropped django-select2 dependency in favor of django admin's autocomplete + 4.0.0 (2024-07-22) -================ +================== * Added support for django CMS 4.1 * Added support for python 3.10 to 3.12 diff --git a/MANIFEST.in b/MANIFEST.in index 6f8e058e..d21543ea 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,4 +2,6 @@ include LICENSE include README.rst recursive-include djangocms_link/locale * recursive-include djangocms_link/templates * +recursive-include djangocms_link/static * recursive-exclude * *.py[co] +recursive-exclude tests * diff --git a/README.rst b/README.rst index 91424bda..5b34bea0 100644 --- a/README.rst +++ b/README.rst @@ -2,17 +2,15 @@ django CMS Link =============== -|pypi| |build| |coverage| +|pypi| |coverage| |python| |django| |djangocms| |djangocms4| -**django CMS Link** is a plugin for `django CMS `_ that +**django CMS Link** is a plugin for `django CMS `_ that allows you to add links on your site. This plugin supports child plugins. If you add an other plugin as a child it will take this content instead of the link name as the content of the link. -This addon is compatible with `Divio Cloud `_ and is also available on the -`django CMS Marketplace `_ -for easy installation. +This addon is compatible with `Divio Cloud `_. .. image:: preview.gif @@ -39,12 +37,13 @@ Documentation See ``REQUIREMENTS`` in the `setup.py `_ file for additional dependencies: -|python| |django| |djangocms| +django CMS Link has a weak dependency on django Filer. If +`django Filer `_ +is installed and configured appropriately, django CMS Link will allow linking +files. * Django Filer 1.7 or higher - -Make sure `django Filer `_ -is installed and configured appropriately. +* djangocms-atrributes-field 1.0 or higher Installation @@ -60,6 +59,9 @@ For a manual install: Configuration ------------- +Link templates +.............. + Note that the provided templates are very minimal by design. You are encouraged to adapt and override them to your project's requirements. @@ -73,11 +75,89 @@ setting: ('feature', _('Featured Version')), ] -You'll need to create the `feature` folder inside ``templates/djangocms_link/`` +You'll need to create the ``feature`` folder inside ``templates/djangocms_link/`` otherwise you will get a *template does not exist* error. You can do this by copying the ``default`` folder inside that directory and renaming it to ``feature``. +Link types +........... + +By default, django CMS Link provides three major link types: internal, external, +and file link (if django-filer is installed). + +Phone links or email links can be entered by using the ``tel:`` or ``mailto:`` +scheme, respectively, in the external link field. + +By changing the ``DJANGOCMS_LINK_ALLOWED_LINK_TYPES`` setting you can limit +the type of links accepted. The default is:: + + DJANGOCMS_LINK_ALLOWED_LINK_TYPES = [ + 'internal_link', # Pages and other models + 'external_link', # Hand-typed URLs + 'file_link', # Files from django-filer + 'tel', # Phone numbers as external links using the tel: scheme + 'mailto', # Email addresses as external links using the mailto: scheme + 'anchor', # Anchors in the current page as external links using # + ] + +Linkable models +............... + +*Added in version 5:* + +By default, django CMS Link will autodetect which Django or Django CMS models it +can create internal links to. To make a model appear in the list of internal +links, you need to + +* register a model admin for the model and provide a ``search_fields`` + attribute. django CMS Link uses the same search logic as the Django admin. +* provide a ``get_absolute_url()`` method on the model. This method should + return the URL of the model instance. + +If you do not want to use auto detection, you can provide a list of models +in the ``DJANGOCMS_LINKABLE_MODELS`` setting using dotted strings:: + + DJANGOCMS_LINKABLE_MODELS = [ + 'myapp.mymodel', + ] + +Attention: ``Page`` objects are always linkable. + +django CMS Link will use the model admin's ``get_queryset`` method to retrieve +the list of objects. If you want to add custom filters, sorting or site +handling, you can add a ``get_link_queryset`` method to the model admin:: + + class MyModelAdmin(admin.ModelAdmin): + def get_link_queryset(self, request, site_id): + """Only used by djangocms-link: returns queryset to select link targets from.""" + qs = self.get_queryset(request) + return qs.filter(is_public=True) + +Large search-sets +.................. + +If you have a large number of internally linkable models, you can use the +``DJANGOCMS_LINK_MINIMUM_INPUT_LENGTH`` setting to require a minimum number of +characters typed before the search is triggered. The higher the number, the +smaller the average result set size. The default is 0:: + + # Require at least 2 characters to be typed before searching for pages + DJANGOCMS_LINK_MINIMUM_INPUT_LENGTH = 2 + +By default django CMS Link will paginate the search results. You can change the +page size by setting the ``DJANGOCMS_LINK_PAGINATE_BY`` setting. +The default is 50:: + + # Show 100 results per "page" + DJANGOCMS_LINK_PAGINATE_BY = 100 + +Note, that in the admin paginated search results repeat the modle verbose name. + + +Non-standard hostnames +...................... + To support environments where non-standard URLs would otherwise work, this project supports the defining of an additional RegEx pattern for validating the host-portion of the URL. @@ -98,16 +178,53 @@ Either of these might accept a URL such as: If left undefined, the normal Django URLValidator will be used. -Django Select2 -~~~~~~~~~~~~~~ +Link fields +----------- -This plugin supports `django-select2 `_ -for simpler use of internal links. You need to manually enable it by: +*Added in version 5:* -* run ``pip install django-select2`` -* add ``django_select2`` to your ``INSTALLED_APPS`` -* add ``url(r'^select2/', include('django_select2.urls')),`` to your ``urls.py`` -* set ``DJANGOCMS_LINK_USE_SELECT2 = True`` in your ``settings.py`` +django CMS Link provides a re-usable link model field, form field and form +widget. This allows you to use the link field in your own models or admin forms. + +.. code-block:: python + + from djangocms_link.fields import LinkField, LinkFormField, LinkWidget + + class MyModel(models.Model): + link = LinkField() # or LinkField(blank=True) for optional links + + class MyForm(forms.Form): + link = LinkFormField(required=False) + +``LinkField`` is a subclass of ``JSONField`` and stores the link data as +``djangocms_link.helpers.LinkDict``, a direct subclass of ``dict``. +(An empty link will be ``{}``.) + +To render the link field in a template, convert the ``LinkDict`` to string, +use the ``LinkDict`` property ``url`` or the new template tag ``to_url``. +The ``type`` property returns the link type:: + + {# Variant 1 #} + {% if obj.link %} + Link available {# str(obj.link) gives the URL #} + {% endif %} + + {# Variant 2 #} + {% if obj.link %} + Link {# explicitly get the URL #} + {% endif %} + + {% if obj.link.type == "external_link" %} {# evaluate link type #} + External link + {% endif %} + + +To turn the ``LinkField``'s ``LinkDict`` dictionary into a URL in python code, +use the ``url`` property. (It will hit the database if needed. Results are +cached.):: + + obj = MyModel.objects.first() + url = obj.link.url Running Tests @@ -118,35 +235,45 @@ You can run tests by executing:: virtualenv env source env/bin/activate pip install -r tests/requirements.txt - python setup.py test + pytest -.. |pypi| image:: https://badge.fury.io/py/djangocms-link.svg - :target: http://badge.fury.io/py/djangocms-link -.. |build| image:: https://travis-ci.org/divio/djangocms-link.svg?branch=master - :target: https://travis-ci.org/divio/djangocms-link -.. |coverage| image:: https://codecov.io/gh/divio/djangocms-link/branch/master/graph/badge.svg - :target: https://codecov.io/gh/divio/djangocms-link - -.. |python| image:: https://img.shields.io/badge/python-3.5+-blue.svg - :target: https://pypi.org/project/djangocms-link/ -.. |django| image:: https://img.shields.io/badge/django-2.2,%203.0,%203.1-blue.svg - :target: https://www.djangoproject.com/ -.. |djangocms| image:: https://img.shields.io/badge/django%20CMS-3.7%2B-blue.svg - :target: https://www.django-cms.org/ - +Upgrading from version 4 or lower +--------------------------------- -Updating from `cmsplugin-filer `_ --------------------------------------------------------------------------------- +django CMS Link 5 is a rewrite of the plugin. If you are updating from +version 4 or lower, you will notice -Historically, `cmsplugin-filer` was used to create file, folder, image, link, teaser & video plugins on your django CMS projects. Now `cmsplugin-filer` has been archived, you can still migrate your old instances without having to copy them manually to the new `djangocms-` plugins. +* the **new re-usable link widget**, greatly simplifying the user interface +* an **improved management of multi-site situations**, essentially avoiding the + unnecessary additon of the host name to the URL in plugin instances that + are not in a page placeholder (such as links on aliases or static placeholder) +* a **re-usable admin endpoint** for querying available links which can be used + by other apps such as djangocms-text. +* Links are generated by template tags or template filters instead of the + model's ``get_link()`` method. This allows multiple links in future models. The + ``get_link()`` method on the plugin's model is still available for backwards + compatibility. -There's a third-party management command that supports your migration: +Migrations should automatically existing plugin instances to the new model +fields. -`migrate_cmsplugin_filer.py `_ +**WARNING:** We strongly recommend to backup your database before updating to +version 5. The migration is tested but they do remove unused fields from +the database. If you encounter any issues, please report them on +`GitHub `_. -This management command is only a starting point. It *has* worked out of the box for some people, but we encourage you to read the code, understand what it does, and test it on a development environment before running it on your production server. +.. |pypi| image:: https://badge.fury.io/py/djangocms-link.svg + :target: http://badge.fury.io/py/djangocms-link +.. |coverage| image:: https://codecov.io/gh/django-cms/djangocms-link/branch/master/graph/badge.svg + :target: https://codecov.io/gh/django-cms/djangocms-link -The management command is only configured to transfer your `cmsplugin_link`, `cmsplugin_file`, `cmsplugin_folder` and `cmsplugin_image` plugins to modern `djangocms_*` plugins. If you need to transfer other `cmsplugin_*` plugins, you'll have to write your own code. +.. |python| image:: https://img.shields.io/badge/python-3.10+-blue.svg + :target: https://pypi.org/project/djangocms-link/ +.. |django| image:: https://img.shields.io/badge/django-4.2,%205.0,%205.1-blue.svg + :target: https://www.djangoproject.com/ +.. |djangocms| image:: https://img.shields.io/badge/django%20CMS-3.11%2B-blue.svg + :target: https://www.django-cms.org/ +.. |djangocms4| image:: https://img.shields.io/badge/django%20CMS-4-blue.svg + :target: https://www.django-cms.org/ -Alternatively you can use the `deprecate_cmsplugin_filer `_ app, which only adds a small migration that transfer the old `cmsplugin-filer` plugins instances to the new `djangocms-` plugins. diff --git a/conftest.py b/conftest.py new file mode 100755 index 00000000..a7663e4e --- /dev/null +++ b/conftest.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python +import os +import sys + +import django +from django.conf import global_settings, settings +from django.test.utils import get_runner + +from tests.settings import HELPER_SETTINGS + + +CMS_APP = [ + "cms", + "menus", + "easy_thumbnails", + "treebeard", + "sekizai", + "djangocms_link", +] +CMS_APP_STYLE = [] +CMS_PROCESSORS = [] +CMS_MIDDLEWARE = [ + "cms.middleware.user.CurrentUserMiddleware", + "cms.middleware.page.CurrentPageMiddleware", + "cms.middleware.toolbar.ToolbarMiddleware", + "cms.middleware.language.LanguageCookieMiddleware", +] + +INSTALLED_APPS = ( + [ + "django.contrib.contenttypes", + "django.contrib.auth", + "django.contrib.sessions", + "django.contrib.sites", + "django.contrib.staticfiles", + ] + + CMS_APP_STYLE + + ["django.contrib.admin", "django.contrib.messages"] + + CMS_APP +) +DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": ":memory:"}} +TEMPLATE_CONTEXT_PROCESSORS = [ + "django.template.context_processors.debug", + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.contrib.messages.context_processors.messages", +] + CMS_PROCESSORS +TEMPLATES = [ + { + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [ + os.path.join(os.path.dirname(__file__), "templates"), + # insert your TEMPLATE_DIRS here + ], + "APP_DIRS": True, + "OPTIONS": { + "context_processors": TEMPLATE_CONTEXT_PROCESSORS, + }, + }, +] +MIDDLEWARE = [ + "django.middleware.http.ConditionalGetMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.middleware.locale.LocaleMiddleware", + "django.middleware.common.CommonMiddleware", +] + CMS_MIDDLEWARE +SITE_ID = 1 +LANGUAGE_CODE = "en" +LANGUAGES = (("en", "English"),) +STATIC_URL = "/static/" +MEDIA_URL = "/media/" +MIGRATION_MODULES = {} +URL_CONF = "tests.utils.urls" + + +def pytest_configure(): + INSTALLED_APPS.extend(HELPER_SETTINGS.pop("INSTALLED_APPS")) + + settings.configure( + default_settings=global_settings, + **{ + **dict( + INSTALLED_APPS=INSTALLED_APPS, + TEMPLATES=TEMPLATES, + DATABASES=DATABASES, + SITE_ID=SITE_ID, + LANGUAGE_CODE=LANGUAGE_CODE, + LANGUAGES=LANGUAGES, + MIGRATION_MODULES=MIGRATION_MODULES, + ROOT_URLCONF=URL_CONF, + STATIC_URL=STATIC_URL, + MEDIA_URL=MEDIA_URL, + SECRET_KEY="Secret!", + MIDDLEWARE=MIDDLEWARE, + ), + **HELPER_SETTINGS, + } + ) + django.setup() + + +if __name__ == "__main__": + pytest_configure() + + argv = ["tests"] if sys.argv is None else sys.argv + tests = argv[1:] if len(argv) > 1 else ["tests"] + TestRunner = get_runner(settings) + test_runner = TestRunner() + failures = test_runner.run_tests(tests) + sys.exit(bool(failures)) diff --git a/djangocms_link/__init__.py b/djangocms_link/__init__.py index d6497a81..10daf977 100644 --- a/djangocms_link/__init__.py +++ b/djangocms_link/__init__.py @@ -1 +1 @@ -__version__ = '4.0.0' +__version__ = "5.0.0a1" diff --git a/djangocms_link/admin.py b/djangocms_link/admin.py new file mode 100644 index 00000000..f2b10a11 --- /dev/null +++ b/djangocms_link/admin.py @@ -0,0 +1,273 @@ +from django.apps import apps +from django.conf import settings +from django.contrib import admin +from django.core.exceptions import FieldError, PermissionDenied +from django.db.models import OuterRef, Q, Subquery +from django.http import Http404, JsonResponse +from django.urls import path +from django.utils.translation import gettext as _ +from django.views.generic.list import BaseListView + +from cms import __version__ +from cms.models import Page +from cms.utils import get_language_from_request + +from . import models +from .fields import LinkFormField, LinkWidget +from .helpers import get_manager + + +_version = int(__version__.split(".")[0]) +if _version >= 4: + from cms.admin.utils import GrouperModelAdmin + from cms.models import PageContent +else: + from cms.models import Title as PageContent + + class GrouperModelAdmin: + pass + + +REGISTERED_ADMIN = [] # Will be set by djangocms_link.apps.DjangoCmsLinkConfig.ready + + +class AdminUrlsView(BaseListView): + """Handle AutocompleteWidget's AJAX requests for data.""" + + paginate_by = getattr(settings, "DJANGOCMS_LINK_PAGINATE_BY", 50) + admin_site = None + + def get(self, request, *args, **kwargs): + """ + Return a JsonResponse with search results as defined in + serialize_result(), by default: + { + results: [{id: "123" text: "foo"}], + pagination: {more: true} + } + """ + if request.GET.get("g"): + # Get name of a reference + return self.get_reference(request) + + self.term, self.language, self.site = self.process_request(request) + + if not self.has_perm(request): + raise PermissionDenied + + qs_list = [self.get_queryset()] + self.add_admin_querysets(qs_list) + self.object_list = self.get_paginated_multi_qs(qs_list) + context = self.get_context_data() + results = self.get_optgroups(context) + return JsonResponse( + { + "results": results, + "pagination": {"more": context["page_obj"].has_next()}, + } + ) + + def get_page(self): + page_kwarg = self.page_kwarg + page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 + try: + page_number = int(page) + except ValueError: + raise Http404( + _("Page is not “last”, nor can it be converted to an int.") + ) + return page_number + + def get_paginated_multi_qs(self, qs_list): + """ + Paginate multiple querysets and return a result list. + """ + if len(qs_list) == 1: + # Only one qs, just use regular pagination + return qs_list[0] + # Slize all querysets, evaluate and join them into a list + max_items = self.get_page() * self.paginate_by + return sum((list(qs[:max_items]) for qs in qs_list), start=[]) + + def get_reference(self, request): + try: + model_str, pk = request.GET.get("g").split(":") + app, model = model_str.split(".") + model = apps.get_model(app, model) + model_admin = self.admin_site._registry.get(model) + if model_str == "cms.page" and _version >= 4 or model_admin is None: + obj = get_manager(model).get(pk=pk) + if model_str == "cms.page": + language = get_language_from_request(request) + obj.__link_text__ = obj.get_admin_content(language).title + return JsonResponse(self.serialize_result(obj)) + + if hasattr(model_admin, "get_link_queryset"): + obj = model_admin.get_link_queryset(self.request, None).get(pk=pk) + else: + obj = model_admin.get_queryset(self.request).get(pk=pk) + return JsonResponse(self.serialize_result(obj)) + except Exception as e: + return JsonResponse({"error": str(e)}) + + def get_optgroups(self, context): + results = [] + model = {} + previous_model = None + for obj in context["object_list"]: + if obj._meta.verbose_name_plural != previous_model or not model: + if model: # Don't add the initial empty model + results.append(model) + previous_model = obj._meta.verbose_name_plural + model = { + "text": previous_model.capitalize(), + "children": [], + } + model["children"].append(self.serialize_result(obj)) + if model: + results.append(model) + return results + + def serialize_result(self, obj): + """ + Convert the provided model object to a dictionary that is added to the + results list. + """ + return { + "id": f"{obj._meta.app_label}.{obj._meta.model_name}:{obj.pk}", + "text": getattr(obj, "__link_text__", str(obj)) or str(obj), + "url": obj.get_absolute_url(), + "verbose_name": str(obj._meta.verbose_name).capitalize(), + } + + def get_queryset(self): + """Return queryset based on ModelAdmin.get_search_results().""" + try: + # django CMS 4.2+ + qs = ( + PageContent.admin_manager.filter(language=self.language) + .filter( + Q(title__icontains=self.term) | Q(menu_title__icontains=self.term) + ) + .current_content() + ) + qs = ( + Page.objects.filter(pk__in=qs.values_list("page_id", flat=True)) + .order_by("path") + .annotate( + __link_text__=Subquery( + qs.filter(page_id=OuterRef("pk")).values("title")[:1] + ) + ) + ) + if self.site: + qs = qs.filter(site_id=self.site) + except (AttributeError, FieldError): + # django CMS 3.11 - 4.1 + qs = ( + get_manager(PageContent, current_content=True) + .filter(language=self.language) + .filter( + Q(title__icontains=self.term) | Q(menu_title__icontains=self.term) + ) + ) + qs = ( + Page.objects.filter(pk__in=qs.values_list("page_id", flat=True)) + .order_by("node__path") + .annotate( + __link_text__=Subquery( + qs.filter(page_id=OuterRef("pk")).values("title")[:1] + ) + ) + ) + if self.site: + qs = qs.filter(node__site_id=self.site) + return qs + + def add_admin_querysets(self, qs): + for model_admin in REGISTERED_ADMIN: + try: + # hack: GrouperModelAdmin expects a language to be temporarily set + if isinstance(model_admin, GrouperModelAdmin): # pragma: no cover + model_admin.language = self.language + if hasattr(model_admin, "get_link_queryset"): + # Allow model admins to define get_link_queryset to do additional + # filtering, sorting and potentially custom site selection + new_qs = model_admin.get_link_queryset(self.request, self.site) + else: + new_qs = model_admin.get_queryset(self.request) + if hasattr(model_admin.model, "site") and self.site: + new_qs = new_qs.filter( + Q(site_id=self.site) | Q(site__isnull=True) + ) + elif hasattr(model_admin.model, "sites") and self.site: + new_qs = new_qs.filter(sites__id=self.site) + new_qs, search_use_distinct = model_admin.get_search_results( + self.request, new_qs, self.term + ) + if search_use_distinct: # pragma: no cover + new_qs = new_qs.distinct() + + qs.append(new_qs) + except Exception: # pragma: no cover + # Still report back remaining urls even if one model fails + pass + + return qs + + def process_request(self, request): + """ + Validate request integrity, extract and return request parameters. + """ + term = request.GET.get("term", request.GET.get("q", "")).strip("  ").lower() + site = request.GET.get( + "app_label", "" + ) # Django admin's app_label is abused as site id + try: + site = int(site) + except ValueError: + site = None + language = get_language_from_request(request) + return term, language, site + + def has_perm(self, request, obj=None): + """Check if user has permission to access the related model.""" + if obj is None: + return True + model_admin = self.admin_site._registry.get(obj.__class__) + if model_admin is None: + return False + return model_admin.has_view_permission(request, obj=obj) + + +class LinkAdmin(admin.ModelAdmin): + """The LinkAdmin class provides the endpoint for getting the urls. It is not visible in the + admin interface.""" + + global_link_form_widget = LinkWidget + global_link_form_field = LinkFormField + global_link_url_name = None + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.global_link_url_name = f"{self.opts.app_label}_{self.opts.model_name}_urls" + + def has_module_permission(self, request): # pragma: no cover + # Remove from admin + return False + + def get_urls(self): + # Only url endpoint public, do not call super().get_urls() + return [ + path( + "urls", + self.admin_site.admin_view(self.url_view), + name=self.global_link_url_name, + ), + ] + + def url_view(self, request): + return AdminUrlsView.as_view(admin_site=self.admin_site)(request) + + +admin.site.register(models.Link, LinkAdmin) diff --git a/djangocms_link/apps.py b/djangocms_link/apps.py new file mode 100644 index 00000000..475df7bd --- /dev/null +++ b/djangocms_link/apps.py @@ -0,0 +1,50 @@ +from django.apps import AppConfig, apps +from django.conf import settings +from django.contrib.admin import ModelAdmin +from django.core.exceptions import ImproperlyConfigured +from django.utils.translation import gettext_lazy as _ + + +class DjangoCmsLinkConfig(AppConfig): + name = "djangocms_link" + verbose_name = _("django CMS Link") + + def ready(self): + # Only scan admins after all apps are loaded + from django.contrib import admin + + from djangocms_link import admin as link_admin + + linkable_models = getattr(settings, "DJANGOCMS_LINKABLE_MODELS", "auto") + + if linkable_models == "auto": # pragma: no cover + # Autoconfig? Check the admin registry for suitable admins + link_admin.REGISTERED_ADMIN = [] + for _admin in admin.site._registry.values(): + if _admin.model._meta.app_label == "cms": + # Skip CMS models + continue + # search_fields need to be defined in the ModelAdmin class, and the model needs to have + # a get_absolute_url method. + if getattr(_admin, "search_fields", []) and hasattr( + _admin.model, "get_absolute_url" + ): + link_admin.REGISTERED_ADMIN.append(_admin) + else: + # turn model config into model admin instances + admins = [] + for model in linkable_models: + if isinstance(model, str): + model = apps.get_model(model) + if not hasattr(model, "get_absolute_url"): # pragma: no cover + raise ImproperlyConfigured( + f"{model.__name__} needs to implement get_absolute_url method" + ) + admin = admin.site._registry[model] + if admin not in admins: + admins.append(admin) + elif not isinstance(model, ModelAdmin): # pragma: no cover + raise ImproperlyConfigured( + 'DJANGOCMS_LINK_LINKABLE_MODELS must be a list of string "app_label.model_name"' + ) + link_admin.REGISTERED_ADMIN = admins diff --git a/djangocms_link/cms_plugins.py b/djangocms_link/cms_plugins.py index bba3f8df..cd42e21d 100644 --- a/djangocms_link/cms_plugins.py +++ b/djangocms_link/cms_plugins.py @@ -1,72 +1,57 @@ -from django.contrib.sites.models import Site +from django.contrib.sites.shortcuts import get_current_site from django.utils.translation import gettext_lazy as _ from cms.plugin_base import CMSPluginBase from cms.plugin_pool import plugin_pool -from .forms import LinkForm +from .helpers import get_link from .models import Link class LinkPlugin(CMSPluginBase): model = Link - form = LinkForm - name = _('Link') + name = _("Link") text_enabled = True + text_icon = ( + '' + ) allow_children = True fieldsets = [ - (None, { - 'fields': ( - 'name', - ('external_link', 'internal_link'), - ) - }), - (_('Link settings'), { - 'classes': ('collapse',), - 'fields': ( - ('mailto', 'phone'), - ('anchor', 'target'), - ('file_link'), - ), - }), - (_('Advanced settings'), { - 'classes': ('collapse',), - 'fields': ( - 'template', - 'attributes', - ) - }), + ( + None, + { + "fields": ( + "name", + "link", + "target", + ) + }, + ), + ( + _("Advanced settings"), + { + "classes": ("collapse",), + "fields": ( + "template", + "attributes", + ), + }, + ), ] - @classmethod - def get_render_queryset(cls): - queryset = super().get_render_queryset() - return queryset.select_related('internal_link') - def get_render_template(self, context, instance, placeholder): - return f'djangocms_link/{instance.template}/link.html' + return f"djangocms_link/{instance.template}/link.html" def render(self, context, instance, placeholder): - context['link'] = instance.get_link() + context["link"] = get_link( + instance.link, getattr(get_current_site(context["request"]), "id", None) + ) return super().render(context, instance, placeholder) - def get_form(self, request, obj=None, **kwargs): - form_class = super().get_form(request, obj, **kwargs) - - if obj and obj.page and hasattr(obj.page, 'site') and obj.page.site: - site = obj.page.site - elif self.page and hasattr(self.page, 'site') and self.page.site: - site = self.page.site - else: - site = Site.objects.get_current() - - class Form(form_class): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.for_site(site) - - return Form - plugin_pool.register_plugin(LinkPlugin) diff --git a/djangocms_link/fields.py b/djangocms_link/fields.py index 53e8865d..8fee574b 100644 --- a/djangocms_link/fields.py +++ b/djangocms_link/fields.py @@ -1,13 +1,384 @@ +from __future__ import annotations + +import json + +from django.apps import apps from django.conf import settings +from django.contrib.admin import site +from django.contrib.admin.widgets import SELECT2_TRANSLATIONS, AutocompleteSelect +from django.contrib.sites.models import Site +from django.db import models +from django.db.models import JSONField, ManyToOneRel +from django.forms import Field, MultiWidget, Select, TextInput, URLInput +from django.utils.translation import get_language +from django.utils.translation import gettext_lazy as _ + +from cms.utils.urlutils import admin_reverse + +from djangocms_link.helpers import LinkDict, get_manager + + +try: + from filer.fields.file import AdminFileWidget, FilerFileField + from filer.models import File +except (ModuleNotFoundError, ImportError): # pragma: no cover + File = None + +from djangocms_link.validators import AnchorValidator, ExtendedURLValidator + + +MINIMUM_INPUT_LENGTH = getattr(settings, "DJANGOCMS_LINK_MINIMUM_INPUT_LENGTH", 0) + + +class LinkAutoCompleteWidget(AutocompleteSelect): + def __init__(self, attrs: dict | None = None): + super().__init__(None, None, attrs) + + def get_internal_obj(self, values: list[str | None]) -> list[models.Model | None]: + internal_obj = [] + for value in values: + if value: + model_path, pk = value.split(":", 1) + model = apps.get_model(*model_path.split(".", 1)) + internal_obj.append(get_manager(model).filter(pk=pk).first()) + else: + internal_obj.append(None) + return internal_obj + + def optgroups(self, name: str, value: str, attr: str | None = None): + default = (None, [], 0) + groups = [default] + has_selected = False + selected_choices = set(value) + if not self.is_required and not self.allow_multiple_selected: + default[1].append(self.create_option(name, "", "", False, 0)) + + for option_value, option_label in zip(value, self.get_internal_obj(value)): + selected = str(option_value) in value and ( + has_selected is False or self.allow_multiple_selected + ) + has_selected |= selected + index = len(default[1]) + subgroup = default[1] + subgroup.append( + self.create_option( + name, option_value, option_label, selected_choices, index + ) + ) + return groups + + def get_url(self): + return admin_reverse("djangocms_link_link_urls") + + def build_attrs(self, base_attrs: dict, extra_attrs: dict | None = None) -> dict: + """ + Set select2's AJAX attributes. + + Attributes can be set using the html5 data attribute. + Nested attributes require a double dash as per + https://select2.org/configuration/data-attributes#nested-subkey-options + """ + attrs = super(Select, self).build_attrs(base_attrs, extra_attrs=extra_attrs) + attrs.setdefault("class", "") + i18n_name = getattr( + self, "i18n_name", SELECT2_TRANSLATIONS.get(get_language()) + ) # Django 3.2 compat + attrs.update( + { + "data-ajax--cache": "true", + "data-ajax--delay": 250, + "data-ajax--type": "GET", + "data-ajax--url": self.get_url(), + "data-theme": "admin-autocomplete", + "data-allow-clear": json.dumps(not self.is_required), + "data-placeholder": "", # Allows clearing of the input. + "data-minimum-input-length": MINIMUM_INPUT_LENGTH, + "lang": i18n_name, + "class": attrs["class"] + + (" " if attrs["class"] else "") + + "admin-autocomplete", + } + ) + return attrs + + +class SiteAutocompleteSelect(AutocompleteSelect): + no_sites = None + + def __init__(self, attrs: dict | None = None): + # Hack: Pretend that the user is selecting a site for a Page object + # and use Django admin's autocomplete widget + try: + from cms.models.pagemodel import TreeNode + + field = TreeNode._meta.get_field("site") + except ImportError: # pragma: no cover + # django CMS 4.2+ + from cms.models import Page + + field = Page._meta.get_field("site") + super().__init__(field, site, attrs) + + def optgroups(self, name: str, value: str, attr: dict | None = None): + default = (None, [], 0) + groups = [default] + has_selected = False + selected_choices = set(value) + default[1].append(self.create_option(name, "", "", False, 0)) + + site = Site.objects.get_current() + option_value, option_label = site.pk, str(site) + + selected = str(option_value) in value and ( + has_selected is False or self.allow_multiple_selected + ) + has_selected |= selected + index = len(default[1]) + subgroup = default[1] + subgroup.append( + self.create_option( + name, option_value, option_label, selected_choices, index + ) + ) + return groups + + +# Configure the LinkWidget +link_types = { + "internal_link": _("Internal link"), + "external_link": _("External link/anchor"), +} +if File: + link_types["file_link"] = _("File link") + +# Get the allowed link types from the settings +allowed_link_types = getattr( + settings, + "DJANGOCMS_LINK_ALLOWED_LINK_TYPES", + ("internal_link", "external_link", "file_link", "anchor", "mailto", "tel"), +) + +# Adjust example uri schemes to allowed link types +example_uri_scheme = ( + "'https://'" + + (", 'tel:'" if "tel" in allowed_link_types else "") + + (", or 'mailto:'" if "mailto" in allowed_link_types else "") +) + +# Show anchor sub-widget only for internal_link +_mapping = {key: key for key in link_types.keys()} +_mapping["anchor"] = "internal_link" + +# Remove disallowed link types +link_types = { + key: value for key, value in link_types.items() if key in allowed_link_types +} + +# Create the available widgets +_available_widgets = { + "always": Select( + choices=list(link_types.items()), + attrs={ + "class": "js-link-widget-selector", + "data-help": _( + "No destination selected. Use the dropdown to select a destination." + ), + }, + ), # Link type selector + "external_link": URLInput( + attrs={ + "widget": "external_link", + "placeholder": _("https://example.com or #anchor"), + "data-help": _( + "Provide a link to an external URL, including the schema such as {}. " + "Optionally, add an #anchor (including the #) to scroll to." + ).format(example_uri_scheme), + }, + ), # External link input + "internal_link": LinkAutoCompleteWidget( + attrs={ + "widget": "internal_link", + "data-help": _( + "Select from available internal destinations. Optionally, add an anchor to scroll to." + ), + "data-placeholder": _("Select internal destination"), + }, + ), # Internal link selector + "anchor": TextInput( + attrs={ + "widget": "anchor", + "placeholder": _("#anchor"), + "data-help": _("Provide an anchor to scroll to."), + } + ), +} +if File: + _available_widgets["file_link"] = AdminFileWidget( + rel=ManyToOneRel(FilerFileField, File, "id"), + admin_site=site, + attrs={ + "widget": "file_link", + "data-help": _("Select a file as destination."), + }, + ) + + +class LinkWidget(MultiWidget): + template_name = "djangocms_link/admin/link_widget.html" + data_pos = {} + number_sites = None + default_site_selector = getattr(settings, "DJANGOCMS_LINK_SITE_SELECTOR", False) + + class Media: + js = ("djangocms_link/link-widget.js",) + css = {"all": ("djangocms_link/link-widget.css",)} + + def __init__(self, site_selector: bool | None = None): + if site_selector is None: + site_selector = LinkWidget.default_site_selector + + widgets = [ + widget + for key, widget in _available_widgets.items() + if key == "always" or _mapping[key] in link_types + ] + if site_selector and "internal_link" in allowed_link_types: + index = next( + i + for i, widget in enumerate(widgets) + if widget.attrs.get("widget") == "internal_link" + ) + widgets.insert( + index, + SiteAutocompleteSelect( + attrs={ + "class": "js-link-site-widget", + "widget": "site", + "data-placeholder": _("Select site"), + }, + ), + ) # Site selector + + # Remember which widget expets its content at which position + self.data_pos = { + widget.attrs.get("widget"): i for i, widget in enumerate(widgets) + } + super().__init__(widgets) + + def get_context(self, name: str, value: str | None, attrs: dict) -> dict: + if not self.is_required: + self.widgets[0].choices = [("empty", "---------")] + self.widgets[0].choices + context = super().get_context(name, value, attrs) + context["widget"]["subwidgets"] = { + widget["attrs"].get("widget", "link-type-selector"): widget + for widget in context["widget"]["subwidgets"] + } + if File and "file_link" in allowed_link_types: + del context["widget"]["subwidgets"]["file_link"] + index = next( + i + for i, widget in enumerate(self.widgets) + if widget.attrs.get("widget") == "file_link" + ) + context["filer_widget"] = self.widgets[index].render( + name + f"_{index}", value[index], attrs + ) + return context + + +class LinkFormField(Field): + widget = LinkWidget + external_link_validators = [ + ExtendedURLValidator(allowed_link_types=allowed_link_types) + ] + internal_link_validators = [] + file_link_validators = [] + anchor_validators = [AnchorValidator()] + + empty_values = [None, {}] + + def __init__(self, *args, **kwargs): + kwargs.setdefault("help_text", _("Select a link type and provide a link.")) + kwargs.setdefault("initial", {}) + kwargs.pop("encoder", None) # Passed from LinkField's JSONField parent class + kwargs.pop("decoder", None) # but not needed + super().__init__(*args, **kwargs) + + def prepare_value(self, value: dict) -> list[str | None]: + if isinstance(value, list): + return value + multi_value = len(self.widget.widgets) * [None] + if "external_link" in value: + pos = self._get_pos("external_link") + multi_value[0] = "external_link" + multi_value[pos] = value["external_link"] + elif "internal_link" in value: + pos = self._get_pos("internal_link") + anchor_pos = self._get_pos("anchor") + multi_value[0] = "internal_link" + multi_value[pos] = value["internal_link"] + multi_value[anchor_pos] = value.get("anchor", "") + elif "file_link" in value: + multi_value[0] = "file_link" + pos = self._get_pos("file_link") + multi_value[pos] = str(value["file_link"]) + return multi_value + + def to_python(self, value: list[str | None]) -> dict: + """Turn MultiWidget list data into LinkField dict format""" + if not value: + return LinkDict() + + link_type = value[0] + pos = self._get_pos(link_type) + if not pos: # No link type selected + return LinkDict() + pos_anchor = self._get_pos("anchor") + + python = LinkDict({link_type: value[pos]} if value[pos] else {}) + if python and link_type == "internal_link" and pos_anchor and value[pos_anchor]: + python["anchor"] = value[pos_anchor] + return python + + def run_validators(self, value: LinkDict): + """Check for _validators property and run the validators""" + for link_type in link_types: + if link_type in value: + self.validators = getattr(self, f"{link_type}_validators", []) + super().run_validators(value[link_type]) + if "anchor" in value: + self.validators = getattr(self, "anchor_validators", []) + super().run_validators(value["anchor"]) + + def _get_pos(self, link_type): + """Returns the position of the different link type widgets""" + return self.widget.data_pos.get(link_type) + + +class LinkField(JSONField): + """A link is a JSON field with a default LinkFormField""" + + def __init__(self, *args, **kwargs): + kwargs.setdefault("default", dict) + kwargs.setdefault("help_text", "-") # Help text is set by the widget + super().__init__(*args, **kwargs) + def formfield(self, **kwargs): + kwargs.setdefault("form_class", LinkFormField) + return super().formfield(**kwargs) -def is_select2_enabled(): - use_select2 = getattr(settings, 'DJANGOCMS_LINK_USE_SELECT2', False) - is_installed = 'django_select2' in settings.INSTALLED_APPS - return use_select2 and is_installed + def get_prep_value(self, value): + if isinstance(value, dict): + # Drop any cached value without changing the original value + return super().get_prep_value(dict(**{ + key: val for key, val in value.items() if key != "__cache__" + })) + return super().get_prep_value(value) + def from_db_value(self, value, expression, connection): + value = super().from_db_value(value, expression, connection) + return LinkDict(value) -if is_select2_enabled(): - from djangocms_link.fields_select2 import Select2PageSearchField as PageSearchField # noqa -else: - from cms.forms.fields import PageSelectFormField as PageSearchField # noqa + def to_python(self, value): + value = super().to_python(value) + return LinkDict(value) diff --git a/djangocms_link/fields_select2.py b/djangocms_link/fields_select2.py deleted file mode 100644 index 7b98a661..00000000 --- a/djangocms_link/fields_select2.py +++ /dev/null @@ -1,50 +0,0 @@ -from django import forms - -from cms.models import Page - -from django_select2.forms import ModelSelect2Widget - -from djangocms_link.helpers import get_queryset_manager - - -class Select2PageSearchFieldMixin: - search_fields = [ - 'title_set__title__icontains', - 'title_set__menu_title__icontains', - 'title_set__slug__icontains' - ] - - def label_from_instance(self, obj): - return obj.get_title() - - -class Select2PageSelectWidget(Select2PageSearchFieldMixin, ModelSelect2Widget): - site = None - - # show entries when clicking on it - def build_attrs(self, base_attrs, extra_attrs=None): - default_attrs = {"data-minimum-input-length": 0} - default_attrs.update(base_attrs) - attrs = super().build_attrs(default_attrs, extra_attrs=extra_attrs) - return attrs - - def get_queryset(self): - # django CMS < 4 - base_queryset = get_queryset_manager(Page.objects) - if self.site: - return base_queryset.on_site(self.site) - return base_queryset.all() - - # we need to implement jQuery ourselves, see #180 - class Media: - js = ( - "https://code.jquery.com/jquery-3.5.1.slim.min.js", - ) - - -class Select2PageSearchField(forms.ModelChoiceField): - widget = Select2PageSelectWidget() - - def __init__(self, *args, **kwargs): - kwargs['queryset'] = self.widget.get_queryset() - super().__init__(*args, **kwargs) diff --git a/djangocms_link/forms.py b/djangocms_link/forms.py deleted file mode 100644 index 6700ff09..00000000 --- a/djangocms_link/forms.py +++ /dev/null @@ -1,36 +0,0 @@ -from django.forms.models import ModelForm -from django.utils.translation import gettext_lazy as _ - -from djangocms_attributes_field.widgets import AttributesWidget - -from djangocms_link.helpers import get_queryset_manager - -from .fields import PageSearchField -from .models import Link - - -class LinkForm(ModelForm): - internal_link = PageSearchField( - label=_('Internal link'), - required=False, - ) - - def for_site(self, site): - # override the internal_link fields queryset to contains just pages for - # current site - # this will work for PageSelectFormField - from cms.models import Page - self.fields['internal_link'].queryset = get_queryset_manager(Page.objects).on_site(site) - # set the current site as a internal_link field instance attribute - # this will be used by the field later to properly set up the queryset - # this will work for PageSearchField - self.fields['internal_link'].site = site - self.fields['internal_link'].widget.site = site - - class Meta: - model = Link - exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.fields['attributes'].widget = AttributesWidget() diff --git a/djangocms_link/helpers.py b/djangocms_link/helpers.py index e507114c..00d4aeb4 100644 --- a/djangocms_link/helpers.py +++ b/djangocms_link/helpers.py @@ -1,4 +1,115 @@ -def get_queryset_manager(base): - if hasattr(base, "drafts"): - return base.drafts() - return base +from __future__ import annotations + +from django.apps import apps +from django.contrib.sites.models import Site +from django.db import models + + +try: + from filer.models import File +except (ModuleNotFoundError, ImportError): # pragma: no cover + File = None + + +def get_manager(model: models.Model, current_content: bool = False) -> models.Manager: + if hasattr(model, "admin_manager"): + return ( + model.admin_manager.current_content() + if current_content + else model.admin_manager + ) + return model.objects + + +def get_rel_obj(internal_link: str) -> models.Model | None: + if ":" in internal_link: + model, pk = internal_link.split(":", 1) + model = apps.get_model(*model.split(".", 1)) + return get_manager(model).filter(pk=pk).first() + + +def get_link(link_field_value: dict, site_id: int | None = None) -> str | None: + if not link_field_value: + return None + if "external_link" in link_field_value: + if link_field_value["external_link"].startswith("tel:"): + return link_field_value["external_link"].replace(" ", "") + return link_field_value["external_link"] or None + + if "__cache__" in link_field_value: + return link_field_value["__cache__"] or None + + if "internal_link" in link_field_value: + obj = get_rel_obj(link_field_value["internal_link"]) + elif "file_link" in link_field_value: + obj = get_rel_obj("filer.file:" + str(link_field_value["file_link"])) + else: # pragma: no cover + return None + + if hasattr(obj, "get_absolute_url"): + # Access site id if possible (no db access necessary) + if site_id is None: + site_id = Site.objects.get_current().id + obj_site_id = getattr( + obj, "site_id", getattr(getattr(obj, "node", None), "site_id", None) + ) + link_field_value["__cache__"] = obj.get_absolute_url() # Can be None + if obj_site_id and obj_site_id != site_id: + ref_site = Site.objects._get_site_by_id(obj_site_id).domain + link_field_value["__cache__"] = ( + f"//{ref_site}{link_field_value['__cache__']}" + ) + if link_field_value["__cache__"]: + link_field_value["__cache__"] += link_field_value.get("anchor", "") + elif hasattr(obj, "url"): + link_field_value["__cache__"] = obj.url + else: + link_field_value["__cache__"] = None + return link_field_value["__cache__"] + + +class LinkDict(dict): + """dict subclass with two additional properties: url and type to easily infer the link type and + the url of the link. The url property is cached to avoid multiple db lookups.""" + + def __init__(self, initial=None, **kwargs): + anchor = kwargs.pop("anchor", None) + super().__init__(**kwargs) + if initial: + if isinstance(initial, dict): + self.update(initial) + elif isinstance(initial, str): + self["external_link"] = initial + elif isinstance(initial, File): + self["file_link"] = initial.pk + elif isinstance(initial, models.Model): + self["internal_link"] = ( + f"{initial._meta.app_label}.{initial._meta.model_name}:{initial.pk}" + ) + self["__cache__"] = initial.get_absolute_url() + if anchor: + self["anchor"] = anchor + self["__cache__"] += anchor + + @property + def url(self): + return get_link(self) or "" + + @property + def type(self): + for key in ("internal_link", "file_link"): + if key in self: + return key + if "external_link" in self: + if self["external_link"].startswith("tel:"): + return "tel" + if self["external_link"].startswith("mailto:"): + return "mailto" + if self["external_link"].startswith("#"): + return "anchor" + return "external_link" + return "" + + def __str__(self): + """If inserted into a Django template, expand the url.""" + return self.url diff --git a/djangocms_link/locale/af/LC_MESSAGES/django.mo b/djangocms_link/locale/af/LC_MESSAGES/django.mo index 73686466eafe466e95d035d4dc897af43c9daa1f..419543d1266d997680e905625250e16455c7642d 100644 GIT binary patch delta 21 dcmZ3?{EKOV3ZuhB)xe4KJ(v><3MRhV2>?`K2#){& delta 60 zcmeyxw3vB<3S;I()j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNeo7%;n|f6A$hL04x>~ZU6uP diff --git a/djangocms_link/locale/af/LC_MESSAGES/django.po b/djangocms_link/locale/af/LC_MESSAGES/django.po index a622e683..de90c97e 100644 --- a/djangocms_link/locale/af/LC_MESSAGES/django.po +++ b/djangocms_link/locale/af/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Afrikaans (https://www.transifex.com/divio/teams/58664/af/)\n" +"Language-Team: Afrikaans (https://app.transifex.com/divio/teams/58664/af/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: af\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/ar/LC_MESSAGES/django.mo b/djangocms_link/locale/ar/LC_MESSAGES/django.mo index 73efaaeebbee853dac06d50d8b137fb1316accd9..13fdb9b8e6d8f34ff2bed03469fe33886bb8c367 100644 GIT binary patch delta 407 zcmYk%FHgfz6o=u{wd-2gU~2_}hChOYAP{^6f}n(b0#pTpur&*T1jQH{)CmehGK*M( zM+||%js&xy=MWe|2=9RkPV(#1+k12F>0LAqyW_~a7HWnhF99Fk@tJ%QyYR^sna5YO{SUMuztIM* z(RBgWa1K+n#u?iA6I{l#!dtWfhQ$9~JxqQ8UZyar literal 2348 zcmai!-)|IE6vwZMimM{x@A&HomOx;3XA3Ru(ycCZ!A43OT>46;J9l?SW@px!*)0tr zv8A-NMu>?#X=0FIOQnU<0M_`b|9~%d5@Vt-y!xQ;e$UKyTOJHIz5BW6-gD2-+xcVL zrpp53Rm?Xqf5&XY{N@q-VCatu(GRA<=fSg0egQrK`CITb_&t~aw>>7rli-`+Hn0tR z4(tM-0Y3nr1y43v1b0LJq$z(5Zi0NhDKCNVLjD3A_bPfxm)$Zveq>0f#}ZhXmgOC%{+0E8uJ3D#&sC z26BDwH{~>pu$?@9SnoKP0W07;;MFF70r4m9$h3SgTzEe9*du*vmE zo@uVxevXFr6gw>M*p<1--rX+)Eo`f^_q3t`ilRs7+aqXnY1%YRc)C1{@K3OvA zb^zM4Yy=YdP|fh9^WawC)*KA{qI5&~68kS9lX?oK4MSf#EqQ3;cZo@LAxtCm& z&%-j#?7_fA|5{F*hd8$OvtFD*u7T^I7$rKZpX1!mrq59oVT?#BTMg+X#ULt&oXL@+ z=z?Rqqpd9;v99e6RbWUA+0yXkT7W1~R6J0uzU4X@ z8p<91Fn2Uh!}${*^$#9ToRBrw3$y{hY?<1jdfC?sZiW&=g9YudCyfA?v_2TiP`jS) z*7O6KzK_y+rlWI@-mdFV)K18T#m3k5IyJppOLvgoozc7Y=opD(h977J&v1N%=6V@A zWcU@sqoWnWG@KGvJ!w4|NXLJ_%xy^)-D>Y%c6tDJopRkMORXS{YKC&2F=7>IS0xB) zekPR~9UV;uY}qQwGkh;)S`Euh1<>|W9bKKB`%{LO+MO8aAIPs)BAwI|hg~$!L11Gw zWEh~cDU{A~4pI@p;dy6I7LI6L>w4^_Bt0$f6kUFj8R{Cbf>wkXGQ7l)UH1%IJK}m( zKSNF}68&uFL5i1IC!5vjJ<G&@a~4QLR|}|qDZe3mXqOUvBRs-pZx#BRn}xvaLz@IFa3y(X|*ii zeHmfij4hsLZ>aPXduvvOkb5&D6bSv948II7a$1q)*j!7O-L&*69Ou$3vU504cjJV@ zY2?_t(W+r<54k+hxhVGKwGLef&!e1?$~^>jg~AzNk-Lm$!Q+IwM|e9^(Z?+63qEH_ z5tVW=4vFgs`IbT@Z{SIw01A(Si`~+Iv=Sw^t}IY8^d%gRUP{zu^k6~Vjvgm!*h~uP VA!9Uj1, 2017\n" -"Language-Team: Arabic (https://www.transifex.com/divio/teams/58664/ar/)\n" +"Language-Team: Arabic (https://app.transifex.com/divio/teams/58664/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "رابط" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "إعدادات الربط" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "إعدادات متقدمة" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "رابط داخلي" -#: models.py:27 +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" + +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "" + +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" + +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" +msgstr "" + +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." +msgstr "" + +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" + +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "" + +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "" + +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "" + +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." +msgstr "" + +#: djangocms_link/fields.py:215 +msgid "Select site" +msgstr "" + +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "" + +#: djangocms_link/models.py:24 msgid "Default" msgstr "افتراضي" -#: models.py:44 +#: djangocms_link/models.py:41 msgid "Open in new window" msgstr "فتح في نافذة جديدة" -#: models.py:45 +#: djangocms_link/models.py:42 msgid "Open in same window" msgstr "فتح في نفس النافذة" -#: models.py:46 +#: djangocms_link/models.py:43 msgid "Delegate to parent" msgstr "إنابة إلى الأصل" -#: models.py:47 +#: djangocms_link/models.py:44 msgid "Delegate to top" msgstr "إنابة إلى الأعلى" -#: models.py:65 +#: djangocms_link/models.py:61 msgid "Template" msgstr "قالب" -#: models.py:71 +#: djangocms_link/models.py:67 msgid "Display name" msgstr "الاسم الظاهر" -#: models.py:77 -msgid "External link" -msgstr "رابط خارجي" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "يغلَّب على الرابط الخارجي في حال إضافته." - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "مثبت الرابط" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"يُلحق حصراً بآخر الرابط الداخلي أو الخارجي. يجب أن لا يُسبق بالرمز " -"\"#\"." - -#: models.py:109 -msgid "Email address" -msgstr "بريد إلكتروني" - -#: models.py:114 -msgid "Phone" -msgstr "هاتف" - -#: models.py:120 +#: djangocms_link/models.py:77 msgid "Target" msgstr "المستهدَف" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "صفات" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "يمكن إعطاء واحداً فقط من {0} أو {1}." - -#: models.py:258 -msgid "Please provide a link." -msgstr "يُرجى تزويد رابط." +#: djangocms_link/models.py:118 +msgid "Link is required." +msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "%(anchor_field_verbose_name)s غير مسموح به سويا‏ً مع %(field_name)s" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" +msgstr "" -#~ msgid "At least one link is required." -#~ msgstr "مطلوب رابط واحد على الأقل." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "" diff --git a/djangocms_link/locale/be/LC_MESSAGES/django.mo b/djangocms_link/locale/be/LC_MESSAGES/django.mo index 8b27f89bc1afc8661fee90784846863732c7909d..1e7e8ff5f4e9010c93e7c3d82ff42eb3cfb9f59f 100644 GIT binary patch delta 22 ecmZ3-(#kSHh4J)6)xe4KJ(&{=3O2rWW&{9SzX)Ie delta 61 zcmZo=S;sO#h4ITo)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% RgNemH%;n|f8xJ`%0sunM5=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/bg/LC_MESSAGES/django.mo b/djangocms_link/locale/bg/LC_MESSAGES/django.mo index f5067d28ba8cb3504e18d5ac6a66116b874aea9d..1377b3cc4aa203d3bb9db546b80ea622c9a8b1e1 100644 GIT binary patch delta 34 ocmZo?xyL*~hqsE6fgy~6fq@5zFHW?Knz*NlIkBK%vLoX$0F-12wg3PC delta 73 zcmcb|+|DvVhj%d}149@C0|O5b|C(qSr52*=T$Gwvl9`{U>ylWKYNcRgU}&jpV6JOm btYBzhWoo8vU}Ru0aY8F|d3pI{3C3dpw}}(J diff --git a/djangocms_link/locale/bg/LC_MESSAGES/django.po b/djangocms_link/locale/bg/LC_MESSAGES/django.po index d427bcfe..e268efcd 100644 --- a/djangocms_link/locale/bg/LC_MESSAGES/django.po +++ b/djangocms_link/locale/bg/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Bulgarian (https://www.transifex.com/divio/teams/58664/bg/)\n" +"Language-Team: Bulgarian (https://app.transifex.com/divio/teams/58664/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "Връзка" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/bn/LC_MESSAGES/django.mo b/djangocms_link/locale/bn/LC_MESSAGES/django.mo index e558c458151e8de9e55ef3582c10809a49395f20..e9a579bd00a9ead7546e384762434e8dba29560c 100644 GIT binary patch delta 34 ocmZo=xx+j`hqr=}fgy~6fq@5z&rh_Bnz*NdIkBK%vOVK50F!hHssI20 delta 73 zcmcb^+{!XRhj$?(149@C0|O5b|CneQr52*=T$Gwvl9`{U>ylWKYNcRgU}&jpV6JOm btYBzhWoo8vU}Ru0aY8e5d3pI{F~(y6wP6#o diff --git a/djangocms_link/locale/bn/LC_MESSAGES/django.po b/djangocms_link/locale/bn/LC_MESSAGES/django.po index 051f30a9..009cea72 100644 --- a/djangocms_link/locale/bn/LC_MESSAGES/django.po +++ b/djangocms_link/locale/bn/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Bengali (https://www.transifex.com/divio/teams/58664/bn/)\n" +"Language-Team: Bengali (https://app.transifex.com/divio/teams/58664/bn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "লিংক" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/ca/LC_MESSAGES/django.mo b/djangocms_link/locale/ca/LC_MESSAGES/django.mo index 6bdbaa870fb0c28fa8bd8a9e185c5d88965cd567..034b2c0f8aac55c3f9a3d6bc3a2c0aa66a88aa87 100644 GIT binary patch delta 87 zcmbQwa-G@no)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlL3PuKoFd)qi#OHx*AYx#c V7$`O|*Jk3S2Ij5{UFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih4 j11nQAZ380%gNYNGnaj(|CyOy2, 2016\n" -"Language-Team: Catalan (https://www.transifex.com/divio/teams/58664/ca/)\n" +"Language-Team: Catalan (https://app.transifex.com/divio/teams/58664/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Enllaç" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telèfon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "Es requereix com a mínim un enllaç." diff --git a/djangocms_link/locale/cmn/LC_MESSAGES/django.mo b/djangocms_link/locale/cmn/LC_MESSAGES/django.mo index dc22dadc3bac10e8f0cb3e54ef0bf697df31eff6..e40fe7b4f2b60161c0402db18d538886a371c022 100644 GIT binary patch delta 21 dcmZ3^{EumZ3Zu(J)xe4K1DO*G3MPKu0svKx2&e!6 delta 60 zcmeyzw48Z@3S;g>)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNel<%;n|f6Hjdc052C3hX4Qo diff --git a/djangocms_link/locale/cmn/LC_MESSAGES/django.po b/djangocms_link/locale/cmn/LC_MESSAGES/django.po index 8cadc3c8..822488c0 100644 --- a/djangocms_link/locale/cmn/LC_MESSAGES/django.po +++ b/djangocms_link/locale/cmn/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Chinese (Mandarin) (https://www.transifex.com/divio/teams/58664/cmn/)\n" +"Language-Team: Chinese (Mandarin) (https://app.transifex.com/divio/teams/58664/cmn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cmn\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/cs/LC_MESSAGES/django.mo b/djangocms_link/locale/cs/LC_MESSAGES/django.mo index b47fc49a62602cde2ffa4d63e6bf6b5c93516bc0..3dec974650fc2d85387fdf031b6d4f3a7540eda0 100644 GIT binary patch delta 88 zcmaFGvY5s3o)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLV~h+8VL%!rFALNF2G~Ycugu9dlwq!RBB_entS%Tns<} delta 157 zcmZ3?@`@$!o)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vpzh`7%$bs@>m>3w? zf$St84HRZzp6DpXl98X6Ix*BvEkxJ3C^fMpGe1w)C9x#cO2Np$&{EgHT-U%@!O+0U g)J)sJ$iQIYghuA_^773hjQoroA*ng3Y592!0I4M##{d8T diff --git a/djangocms_link/locale/cs/LC_MESSAGES/django.po b/djangocms_link/locale/cs/LC_MESSAGES/django.po index a9dd3d48..4269987d 100644 --- a/djangocms_link/locale/cs/LC_MESSAGES/django.po +++ b/djangocms_link/locale/cs/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Czech (https://www.transifex.com/divio/teams/58664/cs/)\n" +"Language-Team: Czech (https://app.transifex.com/divio/teams/58664/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Odkaz" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "Je vyžadován alespoň jeden odkaz." diff --git a/djangocms_link/locale/cs_CZ/LC_MESSAGES/django.mo b/djangocms_link/locale/cs_CZ/LC_MESSAGES/django.mo deleted file mode 100644 index 511fe1a5a48ea72d51ebd70976f13251128ffc77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmZWkO-~y!5Tz=oJ#y}0Dp8b(PS%?*HV)egwgE*nO_Xjqa6x8cHm(wTWjh4;AN(tR zLw`$W6Nwyn($man-t#>FJJ^5OBYYr!A|4Vy62B5F#Kc!x_NZ2xH%zSgD|3&-8D2~4 zl+hd}XX(}1d{EWnJ6#u952FsS9%u0}BLqK%E>@zDm`SnZkUq@dtW*phU@jZ;jPe4-OI;DZkFLpJtz};a=Wk-cf0K{cem+HSPw?S(O~z%sKJ8N zXfL(L?5U*SUOxJ;TnMH6kk5s6(kFki3ygQV>e9WmIMBJ7DP3@g@05QF&0%vZm@HOS zEbzkErQ@K>&FGSLAGU2$(~u+(!O;<{9 diff --git a/djangocms_link/locale/cs_CZ/LC_MESSAGES/django.po b/djangocms_link/locale/cs_CZ/LC_MESSAGES/django.po deleted file mode 100644 index ef03c2b6..00000000 --- a/djangocms_link/locale/cs_CZ/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Czech (Czech Republic) (https://www.transifex.com/divio/teams/58664/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/cy/LC_MESSAGES/django.mo b/djangocms_link/locale/cy/LC_MESSAGES/django.mo index ab92bbebfe6312e01bd6debce3735ca00c564395..56abdc7e39633fb7dbb9a7d409b95c3c11b7671e 100644 GIT binary patch delta 21 dcmX@ZyqI}{3S;I()xe4KU6>OK3MM{#1^`o@2(SPE delta 60 zcmZ3?e1>^~3ge`Ss)1@Dy3R$Zi6xo&dAcr%C8<^lMh1qKx(4RD2F41823DqK+6G1j Q1`~_jnaj(|C+>X)04cc=j{pDw diff --git a/djangocms_link/locale/cy/LC_MESSAGES/django.po b/djangocms_link/locale/cy/LC_MESSAGES/django.po index fde9132f..653f6be7 100644 --- a/djangocms_link/locale/cy/LC_MESSAGES/django.po +++ b/djangocms_link/locale/cy/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Welsh (https://www.transifex.com/divio/teams/58664/cy/)\n" +"Language-Team: Welsh (https://app.transifex.com/divio/teams/58664/cy/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cy\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/da/LC_MESSAGES/django.mo b/djangocms_link/locale/da/LC_MESSAGES/django.mo index 0930a153eb462d396f2146183ba570b48b04163e..14ccf09a7c50596e212461842e15d9f9c86bd8ce 100644 GIT binary patch delta 87 zcmbQma+%rjo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLaz+M*Fev{VkPSo(3=;#z TCg$2qyj0JeSWqxIgmE7LzswB} delta 156 zcmcc2Jc}jpo)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vpFJNR~$N|zIab6|{ z26iAV1f+q&49pW9#aJ@(^HL{<+Np);Iv1rTmSpDV>AEDAq*^H$85mmX8kp-E7%LbW hSecq>8yFcFOq|ffTwY#2S(I@fM@VW;YFd6C0{}0Q8%F>D diff --git a/djangocms_link/locale/da/LC_MESSAGES/django.po b/djangocms_link/locale/da/LC_MESSAGES/django.po index 2633931f..d3b3c20f 100644 --- a/djangocms_link/locale/da/LC_MESSAGES/django.po +++ b/djangocms_link/locale/da/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Danish (https://www.transifex.com/divio/teams/58664/da/)\n" +"Language-Team: Danish (https://app.transifex.com/divio/teams/58664/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Link" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/de/LC_MESSAGES/django.mo b/djangocms_link/locale/de/LC_MESSAGES/django.mo index 7be5340eaed492b861e0adc4fd7685b32dd2b57a..a4939469382bbcc220402af304a4a250cbc33877 100644 GIT binary patch literal 2660 zcmai#&u<$=6vwBu{4xbf%g^$o4@YepHESnTTcvJOHEo5#DVYIwH*hF7-{qI&b)c^eQ(~r z{CsfV#{%OuJg?x{zek7(@Gp?ZrwpudX1!qA%Zv$lgAA%o& z_rRmzMTp=$wn2V>2V4a|2YKJ0AjfqGhv7&u24br?0rLDQkoC@ke8sGp{S5~DfD3T| z59{N*;PDh5&IiXbIyhH6khWYe|K@XXJ$XHG4me)U2@j5yb?}|OgokT`2g*e}hX=Cq z!J4^##F#X#ZeqpxNSoWF9mU!?Z8{gkT-d{!3dt$&G2_IX_f|JEubh}yZJ9+Lj8sQ@ zMLwZaT4i=m`6Lzd+NF`aLq^6*)Qwk`B=uyZL+YQsdot}NMv=+lrm~{G340?WVtLiR z{eq5EJ|Py_-C$W9!nkhq&8lm<&HM=q}TrDEIlfuM=l7ujDo{^cuSg2LYJ4;C@+mccGaeY zg{rh566qa$0!Yv;R7S8E1~-&-$a9TW<}P2IyHckc_0_e-}8^E=6tTUPE|uyohU6WF4cD;o32ciE+@Dc14X#b8hKP|6`9lK9JRXA;=7++ zZ!82eJ9d0bTiKv)S_v0%jb@tK4;9u>Go_U%voZ=65*xc3nKXZOvnS6{@pJaLq1R_= zdg5G(yU%TWI>@*^==3y&sC~jsk zneDr+F3b!qC^ol{gZ88q`ciI?pr!oR`kdKP8qT>(UD>`Ld48ce)`v>(s3v?2=BWX{ z?Zlu-#Usl_v%&;dTQ%P*xEgd(enqqDFXw#Wb5pB` zWac_*WBYD5@|9vn$28w>Tfvet+xOWfw@{{nzKB+psd$)(?XTNyg9sL5>O=}hj3jBW z#;R#6V;zuHv@MvSZ4DB@?dx`wIo(sVRrbxF1R(b0iMF0{+*e{v}DQ dp`=HA3G^D2xfB1}wwka?AqB0WNNxY?`5RPw=CuF- literal 2230 zcmai!%WoS+9LEP}d6;+0qdX*j1S%zJ){j6#>Lw9x<5X6gCbXs?4n$+`*dDSwV`gUU zrll8p=!FZ1p30#I;Kr2;l{iE~{1yBKaN){@?{C+6ArLF?emt+=<2&=4-;N!*EAYIE z_jSC#<2{M@!9)1q*?3rp7We`9Ja})yAHYY^{u$f?e*sJ2+#^Cf1}=fez$W-C_%Zkt zH~^mpvk7m5PoVuZI1AnbXTV=4<9~uj(B==XI|{xH9tYX}0(cy}2p$DD!IwYNSe;3@D8@DlhWn1IiK*Flc& z4#+y(1zFSkU=93fGX4jM5X4^~$Ir%j{5Z&QG{M)vPeDu(H^3?I%Srn?5I^w)K9em% ztI&Ygv(_)-#dhTLfILpl6;kFtIWMGF=n8WD95efS4lnOBKfGTDAI^uL7x2EE|0_PP z0IVJ7FHTNN(;Zm1+0!bCH%H2KtXG>xrfSBM_GD}znIv|sVhXme!azA1>oA~`)5V%% zu2@X8+2R$c_FkL*vS`F37{@xVLO_ofjog=L42R0Zo?wecGRYKKlWddh1=!|JZSc>? zgsdZVee$2}mubb)qDq$$)?x+3)NYc+iX;u4f;0G`skf%cZ>Jrbltm*1r#o3tUaY8| z%#r{msxN~=J~Wh0nZsSd4#kT0!$fWq=O&t|)CtKrcFKFvJQ$By)rlgGOtgB4z>ai` zgt@~bq#lp8yc00y3)zYB?A^kD==24xoYi9RDCb1zC*QY{q+2)>Rh#oiP04`(rkQx-h5O&6V*;r z^-R6GaH@)@bV>RUwVgB`p;=d_hUu%s(uy{k7G>Tj<80{nV?ENg+#M{><}R_)^fTF4 zQCrEhP8XC*rJ?CT2t!}5RL0|RIj~*bQ`gH~n^tlIm4Mm4a(ZEY{@qHfDl?_E)>?C4 zhg!K>I&ZOc24QUvkzc^RRv?@$K3(VK2fu z#j3QCWKJg0s&%QalNshszchE2ioZ+KhTdGF+RWL~|JHUusfK@)F&W(*1X3=MStm@2 zy678OH;^V)W?3}dSZS0cYN)A=4=PDAXlzj6Tgr*mod^AZXbpXYIV4kRVjVhgqvXdK zBQ{1Y6lWbRKGG-{Q>Jq|z$%ycmeQuEad_q}9N^M`39jy|d39q!Uv>C=?^U_D8W5v& zvG^oQ$?SaF9UweItBS*Phyk^)6^cHeU^_Uu|1sV$Hu)WbE)8uZm9siO3Ez2vU= z6CIZPat0mY(9_78;s#)8`3`^%y?ui;Rt|fD%ZKlQOr?9G?EKj487R_9sh=nufCGZ< ej, 2016 # Angelo Dini , 2019 +# Fabian Braun , 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2019\n" -"Language-Team: German (https://www.transifex.com/divio/teams/58664/de/)\n" +"Last-Translator: Fabian Braun , 2024\n" +"Language-Team: German (https://app.transifex.com/divio/teams/58664/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "django CMS Link" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Link" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Link-Einstellungen" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "Erweiterte Einstellungen" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "Interner Link" -#: models.py:27 +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "Externer Link/Anker" + +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "Datei Link" + +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "Kein Ziel ausgewählt. Ziel im Dropdown-Menü auswählen." + +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" +msgstr "https://beispiel.de oder #anker" + +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." +msgstr "" +"Link zu einer externen URL angeben, inklusive Schema wie z.B. \"https://\", " +"\"tel:\" oder \"mailto:\". Optional einen \"#anker\" hinzufügen (inklusive " +"#)." + +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" +"Aus den verfügbaren internen Zielen auswählen. Optional einen Anker " +"hinzufügen." + +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "Internes Ziel auswählen" + +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "#anker" + +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "Anker angeben, der angesprungen wird." + +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." +msgstr "Datei als Ziel auswählen." + +#: djangocms_link/fields.py:215 +msgid "Select site" +msgstr "Site auswählen" + +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "Link-Typ auswählen und Ziel angeben." + +#: djangocms_link/models.py:24 msgid "Default" msgstr "Standard" -#: models.py:44 +#: djangocms_link/models.py:41 msgid "Open in new window" msgstr "In neuem Fenster öffnen" -#: models.py:45 +#: djangocms_link/models.py:42 msgid "Open in same window" msgstr "Im gleichen Fenster öffnen" -#: models.py:46 +#: djangocms_link/models.py:43 msgid "Delegate to parent" msgstr "Zum nächsten Fenster delegieren" -#: models.py:47 +#: djangocms_link/models.py:44 msgid "Delegate to top" msgstr "Zum obersten Fenster delegieren" -#: models.py:65 +#: djangocms_link/models.py:61 msgid "Template" msgstr "Template" -#: models.py:71 +#: djangocms_link/models.py:67 msgid "Display name" msgstr "Anzeigename" -#: models.py:77 -msgid "External link" -msgstr "Externer Link" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "Überschreibt den externen Link, falls angegeben." - -#: models.py:93 -msgid "File link" -msgstr "Datei Link" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "Nutzt eine Datei als Link." - -#: models.py:102 -msgid "Anchor" -msgstr "Anker" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"Fügt den Wert am Ende des internen oder externen Links an. Bitte " -"kein vorangehendes \"#\" Symbol angeben." - -#: models.py:109 -msgid "Email address" -msgstr "E-Mail-Adresse" - -#: models.py:114 -msgid "Phone" -msgstr "Telefon" - -#: models.py:120 +#: djangocms_link/models.py:77 msgid "Target" msgstr "Verweis" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "Attribute" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Nur eines von {0} oder {1} darf angegeben werden." +#: djangocms_link/models.py:118 +msgid "Link is required." +msgstr "Der Link ist ein Pflichtfeld." -#: models.py:258 -msgid "Please provide a link." -msgstr "Es muss ein Link angegeben werden." - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "%(anchor_field_verbose_name)s ist mit %(field_name)s nicht erlaubt" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" +msgstr "Gültigen Anker angeben" -#~ msgid "At least one link is required." -#~ msgstr "Es muss mindestens ein Link angegeben werden." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "Gültige Telefonnummer angeben" diff --git a/djangocms_link/locale/el/LC_MESSAGES/django.mo b/djangocms_link/locale/el/LC_MESSAGES/django.mo index 5a4eae668350d9362b89481195510ab4786119a8..8d934fb83ed73b1bfed0f827804e5826bc5e8aa8 100644 GIT binary patch delta 87 zcmZ3_@_^a#o)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLGDZf5Fd!`i#AktQAYx#c V7$`O|*Jk3SI_AWJg2};*X8_Em4M_k1 delta 164 zcmaFByq+cSo)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vp&u3&{$N|zqK+MC$ zz`zfr<$*L%n1OksqZms@eqQRtP&>5{UFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih4 r11nQAZ380%gNYLwnaj(|CyOwi5ePZA{oL+zYtOfx?>x8n+, 2016\n" -"Language-Team: Greek (https://www.transifex.com/divio/teams/58664/el/)\n" +"Language-Team: Greek (https://app.transifex.com/divio/teams/58664/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Σύνδεσμος" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Tηλέφωνο" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/en/LC_MESSAGES/django.mo b/djangocms_link/locale/en/LC_MESSAGES/django.mo index 153304bd0a80773ef77c0fc81c54af6c0295f544..a036668d14f8d352aff18b775361439220802b3d 100644 GIT binary patch literal 840 zcmd6kPi_-27{v!DrA);F#0mlWP&ZV_31xw*NrO6VChdrsB+8#kuyZqJVwl*2?L_4u z+=4Y{;1VD>0~?k+6Ho*v;FEsy?D6ySC;Q8-jrRfSI=Bl8a07e*zP^H+;2XFNzJohp z>(a`%1Kq%U59)nSq1(_?=zZuIdIT)+>mM(#ay~(Q&S$7U?+4W9Y+hOUwxK@f9@OXT zLJ<)_f=zH0`0{;YYp?~b0iW?##l@1VsVK+_=cFoakSHe%aa!_97KFu_HvjyrXIcqT zi}|@QLF)aAS5!&$CdmGLNLn)D?Lrz+G=h<+#MF_MP6RXOY8y41;)2iXN;IZ=PTJ7U z@1q7rzlN8k1v?YQO06Oq#K+I$lZ4Ka;VA9*!l9_OaV)o`EZEVav}~*+3I}~Q6iey% zunu=3q8CX#WO<);Vmj?ddHU#Ozn6p=w~mbsSGM9#n~1uTETdkWCv=eHahe^*oz5^B zjh?}($^|b48w);F3n%ef07OjTu Rhl(DwX>Yd`2LIoq{si3<+E4%h literal 2056 zcmeH`&u<$=6vqc>`C%wOS|ETpJe5Xj)UN9U0l{^nY~xL_YR9hQRKO(~d&l=3m*pk9#>2TuJP;KT(932^}~+_)hjRpQ76PTb1(*-n#QId`NtpPkt^@4fGv-9Jtq z`$}NE0echn7i8>=V7cBA;pU@?gtOncXaSK!sBJw!t`l2 zy$*1#tWPYSm8LheZnv*hmhMiJ>sqgNjU1^ZPui2Qfn=81J(W_h0~LnK(Vh-NT0A>D zGxHUdOq&~gVx+y-X0RsWbb{bG=T!*U@gkn)5^5gRlIT}^SpS}`8-*4-QnDnwS!hnlhipAPlr8ia_g)?5Bqep zbemgtbNM!nP<>a?Ku?q@iY6M4R*_MAxIB~Ey$4$!5)bxTLj)47Oi8Z})IbKOE{cwH zxPH-5BeW*K&Dl>>FGRI8x~`np)|9CgZ(NP9By>G#Z`Ybzg|^DA3sJ)lbQ)bA4}8?I zWh%6qooK@;8E`17B3PMLO3Uv@rT3!J+q7INzw_?7(n_fW$Ed9)nuE{%K1$+t)M!T4 zm_BHh8?|#EH@A{PUHTApoHQP#Sy!gboqCv6T(PPVt#;A#eAIZ#nY z$x)f=@z#|cF1b>#uV=bw-Qds%r8a7fbwW~wn(ZBcT-}}G+-hbJt8rc8< diff --git a/djangocms_link/locale/en/LC_MESSAGES/django.po b/djangocms_link/locale/en/LC_MESSAGES/django.po index 6804924f..a4603d79 100644 --- a/djangocms_link/locale/en/LC_MESSAGES/django.po +++ b/djangocms_link/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,120 +16,124 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" -#: cms_plugins.py:15 +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Link" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Link settings" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "Advanced settings" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "Internal link" -#: models.py:27 -msgid "Default" -msgstr "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" -#: models.py:44 -msgid "Open in new window" -msgstr "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "" -#: models.py:45 -msgid "Open in same window" -msgstr "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" -#: models.py:46 -msgid "Delegate to parent" -msgstr "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" +msgstr "https://example.com or #anchor" -#: models.py:47 -msgid "Delegate to top" -msgstr "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll " +"to." +msgstr "" -#: models.py:65 -msgid "Template" -msgstr "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" -#: models.py:71 -msgid "Display name" -msgstr "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "" -#: models.py:77 -msgid "External link" -msgstr "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "" -#: models.py:81 -#, fuzzy -#| msgid "Provide a valid URL to an external website." -msgid "Provide a link to an external source." -msgstr "Provide a valid URL to an external website." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "If provided, overrides the external link." +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." +msgstr "" -#: models.py:93 -msgid "File link" -msgstr "File link" +#: djangocms_link/fields.py:215 +msgid "Select site" +msgstr "Select site" -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "If provided links a file from the filer app." +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "" -#: models.py:102 -msgid "Anchor" -msgstr "Anchor" +#: djangocms_link/models.py:24 +msgid "Default" +msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:41 +msgid "Open in new window" +msgstr "" + +#: djangocms_link/models.py:42 +msgid "Open in same window" msgstr "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -#: models.py:109 -msgid "Email address" -msgstr "Email address" +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Phone" +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" -msgstr "Target" +msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" -msgstr "Attributes" +msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Only one of {0} or {1} may be given." +msgstr "" -#: models.py:258 -msgid "Please provide a link." -msgstr "Please provide a link." +#: djangocms_link/models.py:118 +msgid "Link is required." +msgstr "Link is required." -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" +msgstr "Enter a valid anchor" -#~ msgid "At least one link is required." -#~ msgstr "At least one link is required." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "Enter a valid phone number" diff --git a/djangocms_link/locale/en_GB/LC_MESSAGES/django.mo b/djangocms_link/locale/en_GB/LC_MESSAGES/django.mo index 625abdf47ba1862fbc7ef54d3fc2847f36eb0f38..8bcafdcf112b1623c7df68e3a527d053c83922fc 100644 GIT binary patch delta 21 dcmdnN+|N8gg)wxZYT(5A;mnBz1rvYn2LMm~2y*}c delta 60 zcmeBY-oZRUg|Tj;YM@$(u5(dpVo7Fxo~}z`Nvf5Ck%6J5u7SC(fw6+2ft9J5wt Q!NlSy=JN9Li5K<*037rZQUCw| diff --git a/djangocms_link/locale/en_GB/LC_MESSAGES/django.po b/djangocms_link/locale/en_GB/LC_MESSAGES/django.po index a9a213d7..b3e119b9 100644 --- a/djangocms_link/locale/en_GB/LC_MESSAGES/django.po +++ b/djangocms_link/locale/en_GB/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: English (United Kingdom) (https://www.transifex.com/divio/teams/58664/en_GB/)\n" +"Language-Team: English (United Kingdom) (https://app.transifex.com/divio/teams/58664/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/en_HK/LC_MESSAGES/django.mo b/djangocms_link/locale/en_HK/LC_MESSAGES/django.mo deleted file mode 100644 index c10213f29897c92c433aaace159b44102ac72adb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmYL^&rSj{5XLon+M{O=W8wjV!*)^DrGx|GA_S2Qu3SxpveZDkY0JL{@%4NbyO_Y2 z{5qY?H=XJ4)#cBb)4Ai?aqGBn+&KzGj=d{3Tr50CC0c#+sm1;bCtMq$B!#5i8MI$w zn8f4v{^-pc^IU0*Lz9UaKCLr@siNQ|qZB)uGwYi0nORPuMuG;CMigU6 zwrVw#M$GxHI#nxwCN@I(*0mbH9);n9&*f)t;FrB&e;A*B7gUMYQPOg0G2Q2GYs+`m z&zDTdCQKJh8*W=4X&0lDub4FF8e=(CGa)ky(U-8tjVT;vdC79E*%G@-uM7p5A5zn* RHR1o-DoMC$K~QdbXMaMYdH4VT diff --git a/djangocms_link/locale/en_HK/LC_MESSAGES/django.po b/djangocms_link/locale/en_HK/LC_MESSAGES/django.po deleted file mode 100644 index 9dc120a1..00000000 --- a/djangocms_link/locale/en_HK/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: English (Hong Kong) (https://www.transifex.com/divio/teams/58664/en_HK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_HK\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/en_US/LC_MESSAGES/django.mo b/djangocms_link/locale/en_US/LC_MESSAGES/django.mo index 4294557ae486ef3468ace018fbf5a16f0f21b72e..d65310638ebfb3b12f290557c9847839cafb37a9 100644 GIT binary patch delta 21 dcmdna+{ZjYg)wBJYT(5AVa$mI1rvYl2LMmK2yOrX delta 60 zcmeBU-p)Khg|T*`YM@$(u5(dpVo7Fxo~}z`Nvf5Ck%6J5u7SC(fw6+2ft9J5wt Q!NlT7=JN9LiRbqN031IOO#lD@ diff --git a/djangocms_link/locale/en_US/LC_MESSAGES/django.po b/djangocms_link/locale/en_US/LC_MESSAGES/django.po index 8179f5e0..0075cb12 100644 --- a/djangocms_link/locale/en_US/LC_MESSAGES/django.po +++ b/djangocms_link/locale/en_US/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: English (United States) (https://www.transifex.com/divio/teams/58664/en_US/)\n" +"Language-Team: English (United States) (https://app.transifex.com/divio/teams/58664/en_US/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_US\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/eo/LC_MESSAGES/django.mo b/djangocms_link/locale/eo/LC_MESSAGES/django.mo index 7ab61d69a8f41dc71ca655bc3b51c29d9c5b66b9..744f213f9ff1e79ec22aac4ee1a61fb1dd1e517d 100644 GIT binary patch delta 21 dcmZ3?{EKOV3ZuhB)xe4KJ(v><3MRhV2>?`K2#){& delta 60 zcmeyxw3vB<3S;I()j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNeo7%;n|f6A$hL04x>~ZU6uP diff --git a/djangocms_link/locale/eo/LC_MESSAGES/django.po b/djangocms_link/locale/eo/LC_MESSAGES/django.po index 69fd56b9..c7d4cf08 100644 --- a/djangocms_link/locale/eo/LC_MESSAGES/django.po +++ b/djangocms_link/locale/eo/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Esperanto (https://www.transifex.com/divio/teams/58664/eo/)\n" +"Language-Team: Esperanto (https://app.transifex.com/divio/teams/58664/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/es/LC_MESSAGES/django.mo b/djangocms_link/locale/es/LC_MESSAGES/django.mo index a326e6707103fca67a554e09c431ae23d3d7f77c..dee95407146bf1ee4400057480b05ab6bc7cc440 100644 GIT binary patch delta 82 zcmZ3;JfC@j3S;U-)xe4K-Ix;#3MRf-Vq@qvl$c|ir(kQVV5nfPV4z^7kf)$% c3uLIN0a>aFh6Z2&QeXg7Ul2j`NBLhQAT?2Dn17ih411nQAZ380% mgNenS%;n|f6ZbC>HL_MH$SEyK%(2zTQ&6;3Fx0f>VgLZ;$QL;P diff --git a/djangocms_link/locale/es/LC_MESSAGES/django.po b/djangocms_link/locale/es/LC_MESSAGES/django.po index 1125fd51..89e4183a 100644 --- a/djangocms_link/locale/es/LC_MESSAGES/django.po +++ b/djangocms_link/locale/es/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Spanish (https://www.transifex.com/divio/teams/58664/es/)\n" +"Language-Team: Spanish (https://app.transifex.com/divio/teams/58664/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/es_AR/LC_MESSAGES/django.mo b/djangocms_link/locale/es_AR/LC_MESSAGES/django.mo deleted file mode 100644 index a2c86927d7c0b2b7c4863ddb38f90b21e09ef8fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 561 zcmYL_Pma?t6vhn-)DbTX)-Wui`)Etu3z45=O2?sPZ^hhWVS zxCdw9B_q*K`swqt-aq^AlarqW^#FN_oFNa9CDQ5(a)Jn?z273g?-5d?KSJO>A&=3Y zqvLhg2aRBOr=`;0NmdyxNoLJAS$MkG&}(U(GMYn{%s(XWQ@BpoSBuM!!CE%Pdb)C@ z+R%6V($U;-2(rtZ&aD(4i|D!VlEaV?I5sAH}C^$QUNlwY*Vn^J892*@O;8 zz$ToHPZ=s$3g>BVg?6>@#&Sq>DQg4gN-KCRx**(O@OGnalnIOK&5L$qjFr0Fi&D~D ziXDfmMrh?K=q0w4+AA&k(5t*}9FL;I;SllS$|bm$pMA, YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Spanish (Argentina) (https://www.transifex.com/divio/teams/58664/es_AR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_AR\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "Enlace" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "Teléfono" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "Se requiere al menos un enlace" diff --git a/djangocms_link/locale/es_BO/LC_MESSAGES/django.mo b/djangocms_link/locale/es_BO/LC_MESSAGES/django.mo deleted file mode 100644 index 1db60479d55a4211822494901f1cbba1504a7fbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmYL_(N5bi6o$hDXv*cTxj4IP1x}ofhSsHswggm-uAyYToxIef-cmcVUCJJ053(2H zSvbig`b(eeUpoIe$A0~E_}4>yKu(Y|O|QA)aO3d|ww6+9y#LXrIyEDMk7B+&YpOu58Jj zHVj6p5T%A2sU%$T#sn)g*DLufb&#*G&gzjdCRMTJg&>*W8wQURSJJMbHP$6o@;0>A z&Q+F$;cmAJTs=ZQiI*VPo3QB>It<#d+l%A#P}m>idD!-6(^<0rl_;S8L@Os0F8Qaz z*E;dy!m8v_4Ip20V}%=j&u&R?Usq3h5{4uy*SLAXp!ZX{_k9^Ov;4H&8eWoHZ8nyH bsv2vDodNv64qFO74, YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Spanish (Bolivia) (https://www.transifex.com/divio/teams/58664/es_BO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_BO\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "Enlace" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/es_DO/LC_MESSAGES/django.mo b/djangocms_link/locale/es_DO/LC_MESSAGES/django.mo deleted file mode 100644 index 335c84b0b4d96e271825e1b91412636705c36c6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmYL^&rSj{5XLcj+M{O=W8wjV!*)^DrDPAtA43!&uyQqJDN7Bso3;yh^&NaYpT(jH ze914Jrr*qb{kgpOE;*e!t{gXxbH}aYpvdv%9-Hnwc#axt^}$n%g9XmGHbO}X<96q{ z{nUe5Z!#T>UcCv=m9{uEnONXskr_-B1#dh`u%kJ%t_i!$atd`4G?6?Yxr2bvMpz|v zLYxsNd@ByaPreXI6N3hjCM8joIC(EjW(CVQCY)_3OmilMSwXq0HbRP&NpMMu`C6nE zD6g!|4fXxqZdbFKNh6kgUrW`-Ux=+xzI8K<--yES-sk4MJMt^ua4_thz8Tbr*HO}P zX)*cCU3|;;*3Z{W$QGn4rVY38Thhnq, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Spanish (Dominican Republic) (https://www.transifex.com/divio/teams/58664/es_DO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_DO\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/et/LC_MESSAGES/django.mo b/djangocms_link/locale/et/LC_MESSAGES/django.mo index 9d2a58b3c0999bdfed24896dd9c0e1657919a150..c24cbb1e6fc6ef334586ec4509478b09009f202d 100644 GIT binary patch delta 87 zcmbQka+TTfo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLN=62TFev{5kPSo(3=;#z TCg$2qywu2?SWqxIjBy_T!MqI{ delta 156 zcmcc0JclLlo)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vpFJfe1$N|zIaegKS z26iAV0;GY$49pW9#aJ@(^HL{<+Np);Iv1rTmSpDV>AEDAq*^H$85mmX8kp-E7%LbW hSecq>8yFcFOq|fdTwY#2S)6enM@VW;YFd6C0{}Ek8&v=R diff --git a/djangocms_link/locale/et/LC_MESSAGES/django.po b/djangocms_link/locale/et/LC_MESSAGES/django.po index 01414b41..256d0bbe 100644 --- a/djangocms_link/locale/et/LC_MESSAGES/django.po +++ b/djangocms_link/locale/et/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Estonian (https://www.transifex.com/divio/teams/58664/et/)\n" +"Language-Team: Estonian (https://app.transifex.com/divio/teams/58664/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Link" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/eu/LC_MESSAGES/django.mo b/djangocms_link/locale/eu/LC_MESSAGES/django.mo index 1add583d1938e0d4c11fb2c8b977394f99f99c14..8b8f0a890e4e9703b45640d5b3ee50bc4e2072f2 100644 GIT binary patch delta 34 ocmeyze3f~E4sSUl149@C0|OfnpPOhIHE~Zpb7DckWIM(K0HN0k3jhEB delta 73 zcmcc0{EvBp4(|d+28J*O1_m}D{yxz%N-ad!xhOTUBr`ux*Cnwe)k?w0z|d0Hz+BhB bSi#W1%G6BTz{tR0;)EvV^78V@qKpRs(!~@L diff --git a/djangocms_link/locale/eu/LC_MESSAGES/django.po b/djangocms_link/locale/eu/LC_MESSAGES/django.po index e093204a..80635513 100644 --- a/djangocms_link/locale/eu/LC_MESSAGES/django.po +++ b/djangocms_link/locale/eu/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Basque (https://www.transifex.com/divio/teams/58664/eu/)\n" +"Language-Team: Basque (https://app.transifex.com/divio/teams/58664/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "Esteka" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/fa/LC_MESSAGES/django.mo b/djangocms_link/locale/fa/LC_MESSAGES/django.mo index 8ca4d62380e03604431c869d1b4c079f99931f02..0bfa16e54d71135ede69e4c6b80022fa5df952a5 100644 GIT binary patch delta 341 zcmX|*J4*vW6h`mvj;;n3O+qRK1s}1twGnGUD;o=g2_i@cBv>gS;3LI?$Ploww_F6V z62V{L%r2zx7ie$cxhh^boO#^&=3W;Dad%iW1EC5q3&$`C&!F`IGw=!869pnMp2FH! z!3HnlB3{KMypBilHXg&f_zd=8j{PwF$?M7&iwO?m==Wh6>qk{w#cO}w!y0&jH88y$dg+ wTB~K3qPI#vPqN!A%@gr2dEy>@&po&&yJ;5eso9zKS1$EEargc_OMPFy0oJKHt^fc4 delta 715 zcmYk2&ubGw6vrn&G;RG6ZJ{DW7%wp(E8B=I?X8*~1kr*DUdLv%i|a;qr%g)_C9vHp z21J)$L@%O-1~Etvdi4(wFQPLEdhmbfsR#YObqhZD&gZ?iZ{B-5TZJbh>%T_xTMTv# zDnT!x6Xa)bz*fNH;3{|!d<>3&&%grs5(l))j;0^g!&5PkQVrpe1MPjFh4QukTj#ybh5JtrIKK zIa^;APj`zqy@kbw&t{eKo!d)F2COFUh$UCCx%WiE_WU89=q)Q zA6=mo9XyaqIo{nMu4F2u`Nf7O*}N-7Ao&BovFy|(7fFM2@wLp=@(t^fFNJa%o>db{ z&hV-|F>TpXmVKU2*fSR<&)QYnj-O{9<(kcAT+aR|geL0u^oMvad-9BarQzxwt~-Oa z*?>Z3LLlmIbNya-@bTTC9gpQsk9SR^KT#F3UA|uxS98}d>aGb*%S5=VKbn^A@If05 g_G`G=Fq?xm(*11{!Raxxse7iybjO7Ko_War0=ZqW$^ZZW diff --git a/djangocms_link/locale/fa/LC_MESSAGES/django.po b/djangocms_link/locale/fa/LC_MESSAGES/django.po index 99e516a3..9518c221 100644 --- a/djangocms_link/locale/fa/LC_MESSAGES/django.po +++ b/djangocms_link/locale/fa/LC_MESSAGES/django.po @@ -12,120 +12,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Fariman Ghaedi , 2018\n" -"Language-Team: Persian (https://www.transifex.com/divio/teams/58664/fa/)\n" +"Language-Team: Persian (https://app.transifex.com/divio/teams/58664/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "پیوند" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "تنظیمات لینک" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "تنظیمات پیشرفته" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "لینک داخلی" -#: models.py:27 -msgid "Default" -msgstr "پیشفرض" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" -#: models.py:44 -msgid "Open in new window" -msgstr "باز کردن در پنجره تازه" +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "" -#: models.py:45 -msgid "Open in same window" -msgstr "باز کردن در همان پنجره" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" -msgstr "الگو" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" -msgstr "لینک خارجی" +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" -msgstr "لنگر" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" +msgstr "پیشفرض" + +#: djangocms_link/models.py:41 +msgid "Open in new window" +msgstr "باز کردن در پنجره تازه" + +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "باز کردن در همان پنجره" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:109 -msgid "Email address" -msgstr "آدرس ایمیل" +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "تلفن" +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "الگو" -#: models.py:120 +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "هدف" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "ویژگی" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." -msgstr "لطفا یک لینک مهیا کنید" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#~ msgid "At least one link is required." -#~ msgstr "‌حداقل یک لینک مورد نیاز است." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "" diff --git a/djangocms_link/locale/fa_IR/LC_MESSAGES/django.mo b/djangocms_link/locale/fa_IR/LC_MESSAGES/django.mo deleted file mode 100644 index e4d4f675b1ff40c55ed681b19b46b2dd96c2f6bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 429 zcmYL^-%i3X6vi=nwM(zP=!F*$JhVfZTL~tL!z_v{b8>6yD5D12r7eGa5MR${vBLzu zed-|6}Kdw%xQa5`~ZI4&Khjw?s4&|%zVJmQ!atq`d`God@Ht7=L zjF9n-s2@N20w59iJwzf(!Zva8UYIP`tmKe$wsJA*JWQfyqM2-==EB;_P>i?RZO6JJ zBj$Y9Dbxzj#6~D=U6;YVFbHn&oP8u2Zh7Nm93MaCcZfGs(sF4b|E^qM%Xb!6OD1F= z6$_>fw}bb51mV$FPnvTLu`JX~$daP)Q`kdTiuSX-bh*}S2_vOfh9X(*w`S1oqyKWy Ml;{rmt-jaz17E&)ApigX diff --git a/djangocms_link/locale/fa_IR/LC_MESSAGES/django.po b/djangocms_link/locale/fa_IR/LC_MESSAGES/django.po deleted file mode 100644 index 6720b36d..00000000 --- a/djangocms_link/locale/fa_IR/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Persian (Iran) (https://www.transifex.com/divio/teams/58664/fa_IR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa_IR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/fi/LC_MESSAGES/django.mo b/djangocms_link/locale/fi/LC_MESSAGES/django.mo index 804655979a7d87b8fedb47e3d3784875b8921400..5883e379bdd0d5875a3e67e3dead73a364f8306c 100644 GIT binary patch delta 310 zcmX@lahR?Co)F7a1|Z-BVi_P#0b*VtUIWA+@BoMff%qX1vjg#GAO^|*24WT<=451G z5CYPCKw20`D*|aYAZ-eyIe@ecknRIwS0DzNbA<^a{|rbAFfc?hyoCz<1JWWu1+2^v zS_(+B0{Qwt8f2jGCOa}pNx7t^C6?xtFnH#bq!#5R z<|yQ3=4CVZ0Ex-V7&RteVf3Bs#WamMv7lh`W2Vz={yC{7rNxu)GfPh9WYH4w&d*3m UWpFG`Eh$OODJ{s)$Vy}Y0M5-WO#lD@ delta 599 zcmYk2JxIe)6op^fs`X#1i&!L+C{jrM#UF&Cf<;k5ot&b5n%Bgal9$kK-JIN_gWxE* zIVuQF9R+o86U4#M#m&LNb88SUocHD4yqtSTt?@BgeN81!8L9(HL&s1L^bJuhYm9Y+ zd9V@O0h_>GupKN$tVBEl6PTYw{TY}-e+iQBE!Y4)fbgrbXFMb^cmZ#qcZe3A$A1@H zfwcG z3~;|*@UK@J&St0uiqT}w5z^L$(hr4FLLSVsoZPcqk1g_jGjM#ibZ81kHwy)iE5(*7 zKKF*D>FD$w%S*I>-71af&=vQ6n5nQ`8*13FT*n{9AP3plHLd`j?`?$wF;c&C?j`*l4})B_5*9QbB_Q3 diff --git a/djangocms_link/locale/fi/LC_MESSAGES/django.po b/djangocms_link/locale/fi/LC_MESSAGES/django.po index b47579c3..6e205fba 100644 --- a/djangocms_link/locale/fi/LC_MESSAGES/django.po +++ b/djangocms_link/locale/fi/LC_MESSAGES/django.po @@ -12,120 +12,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Ville-Eemeli Käkelä , 2018\n" -"Language-Team: Finnish (https://www.transifex.com/divio/teams/58664/fi/)\n" +"Language-Team: Finnish (https://app.transifex.com/divio/teams/58664/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Linkki" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Linkin asetukset" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "Sisäinen linkki" -#: models.py:27 -msgid "Default" -msgstr "Oletus" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" -#: models.py:44 -msgid "Open in new window" -msgstr "Avaa uuteen ikkunaan" +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "" -#: models.py:45 -msgid "Open in same window" -msgstr "Avaa samaan ikkunaan" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" -msgstr "Asettelupohja" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "" + +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:77 -msgid "External link" -msgstr "Ulkoinen linkki" +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:102 -msgid "Anchor" -msgstr "Ankkuri" +#: djangocms_link/models.py:24 +msgid "Default" +msgstr "Oletus" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:41 +msgid "Open in new window" +msgstr "Avaa uuteen ikkunaan" + +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "Avaa samaan ikkunaan" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:109 -msgid "Email address" -msgstr "Sähköpostiosoite" +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Puhelin" +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "Asettelupohja" -#: models.py:120 +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "Kohde" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/fi_FI/LC_MESSAGES/django.mo b/djangocms_link/locale/fi_FI/LC_MESSAGES/django.mo deleted file mode 100644 index 075f76268d9241322e3b29a5cbd65143cfd2dae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmYL^-%i3X6vj1rwM(zPsEHR4Jgh^RTgfgE!7Pd_IJq@-E2Cz#OIsK|h_C0f*kJ-+ z@=MQ2zw__+;{4~t>eO;+xwf2HZY+%gOKm?x`!=3~5+%P_W+2XC!Ib7w5R?o@&%>uN zT8!s!@$A)^vq~xhQ(f>J9yW!BR1)MQvlK>(QDckXks3x&4|^ftd%(BI!=&$ba1Uc^ zggM*truot50}jFKBODSObg-54LPfEm1%s5)H9-?D1lKFnvO!5j-bSsJF_k8+Ti12h zC@M5xvRyZmYd7axE?r{_wc8JT|IS_Vk4fydooPHBA8+%z*cnM-m@trjS9WK^cE+tr z%EbU>E2=az(R(_9;OJ{6Et!I`$Yjn%K~V6?&0$}H_OqO%+$dVYM5?tWNL2e&N4)|1 P52KbqR}u2s1Lx!qZ0LDx diff --git a/djangocms_link/locale/fi_FI/LC_MESSAGES/django.po b/djangocms_link/locale/fi_FI/LC_MESSAGES/django.po deleted file mode 100644 index f65e536f..00000000 --- a/djangocms_link/locale/fi_FI/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Finnish (Finland) (https://www.transifex.com/divio/teams/58664/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/fr/LC_MESSAGES/django.mo b/djangocms_link/locale/fr/LC_MESSAGES/django.mo index 6e085c5cb263558cfc743e6c818fd38b55231bdb..f8a972ba486a85f6c5d0bd8d66267062dd49c4f2 100644 GIT binary patch delta 635 zcmY+<&o2W(6bJBOw`lz=O&pLs2^$ijt%F2c^(#b>_!BH$OiZ`U7KtATiL*EiiG+iL zgDWnM690gcgM&D__zNWB`=&kc(%H|v+39<4k6NC>hwrWSxj-~ybz+@iwPQ6@;eptI zQ79|!!wB*dSPL&;E4+qW;{i6nXBdVruo1pN8-7B*{{`EGI258)p$cX-(Y zx$&!2{=+BaLf?=ZhfysCqZJ*<1EebXJmf)^A$}r{M>h;$7d(R@?thOB7kq^1YXUv~ z1%EMr4Hx9#M)g=cI1e4d`Wu+t)I>=$bQ8Z!E9q~NEKy#TO445+6B9XoS{>DG)@0|5 zR37mKG3Rf2f$yqvwtyr3VfE==dr@E7BSSN)5J=ajX-~<$T}rQ&^TC|S$Jg_&RD-L9 z{MY~`~nu*q_ZMQw#{W`|Q$RNH~8GJQT}G8CtS12VfrKV^}QBJ1XJ$HA_b5^)pd zyID%$LNXQ6KOsk7)hsy+((`G@3rd9H*W~Jk^a5cHrTGZYB>K2^qG?L5C{HXFa?iK$ E7juPb9RL6T literal 2048 zcmai!&u<$=6vu~BpcrUr`FWtyqcmzlv-Y|)A$5O9CO;seX`;mGflD>mJObml!J}Z%GX)+2XTh%# z!yLGX@sBVL`u_ogpW`qN>raEX!4JWp>pmFtKLXzbe<=A27~*&Wz6JgPhIkIa_%wJ7 z4CC`4wiHb;=v)Cqd|!a?gI|Fs!3W?g;Lqj!uVB#gCy1Z;8-L{yU^LMl;tVbLMY@YP z!#MZ}T9Fd*I{M4#kXPsciWbf$_&tgq;s`D1eY%A^5L(Djh;gsIgNL9kPX>?ij~6w9I(Mk#eMsCz+;Z$O(DVW#3~6U|~T(d_qGCywBY1~Sc=j81n+c07ECNu}|mWlF{p-zlGi|0*pR zy2RNP$huSmVcJgfgh^80GB(3Lbn1gs@aoJfOS=@BXfwEG!JnKIx)ljDF>~4a~nN4 z5*sN?$9n>iq9TQ&B`wZTv^YbI9%k0u7jRM-(2XS3`P~zDVt!w79~Tw_7XG!hv1bro%Q`)@>86U4s^Ol;2m_ppLC< zq`8%8v|?=L8l?Nh&|N-vktUCqr!`%n`pm`3e^;VD!_MQfI+8ikqTF~ya=`8Xt-;Ol zsGA~RSQv_NJSvLNvS{8kC<;nts6fsw;lz zohb^BzbvW|!Y0*-C6mJAq6pzX8YyxV_dC`cYU=JSjaETZ%d+w_44TEpB@oA(c^; zHqiA{jKx4~NGr4PLl6IiPfJLG*w(1jJjK{esxvRDv(LGw@gta0VzeHQP@?(3DoY8j z2c$Bz<^xW#ZHIMX`HTe)AR9kI, YEAR. # # Translators: -# Doryan R, 2019 +# a270031086f2a0d3514bc0cb507b48f6, 2019 +# Florian Delizy , 2021 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Doryan R, 2019\n" -"Language-Team: French (https://www.transifex.com/divio/teams/58664/fr/)\n" +"Last-Translator: Florian Delizy , 2021\n" +"Language-Team: French (https://app.transifex.com/divio/teams/58664/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Lien" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Paramètres de lien" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "Réglages avancés" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "Lien interne" -#: models.py:27 +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" + +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "Lien vers le fichier" + +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" + +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" +msgstr "" + +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." +msgstr "" + +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" + +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "" + +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "" + +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "" + +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." +msgstr "" + +#: djangocms_link/fields.py:215 +msgid "Select site" +msgstr "" + +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "" + +#: djangocms_link/models.py:24 msgid "Default" msgstr "Défaut" -#: models.py:44 +#: djangocms_link/models.py:41 msgid "Open in new window" msgstr "Ouvrir dans une nouvelle fenêtre" -#: models.py:45 +#: djangocms_link/models.py:42 msgid "Open in same window" msgstr "Ouvrir dans la même fenêtre" -#: models.py:46 +#: djangocms_link/models.py:43 msgid "Delegate to parent" msgstr "Déléguer au parent" -#: models.py:47 +#: djangocms_link/models.py:44 msgid "Delegate to top" msgstr "Délégué au sommet" -#: models.py:65 +#: djangocms_link/models.py:61 msgid "Template" msgstr "Modèle" -#: models.py:71 +#: djangocms_link/models.py:67 msgid "Display name" msgstr "Afficher un nom" -#: models.py:77 -msgid "External link" -msgstr "Lien externe" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "Si fourni, remplace le lien externe." - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "Ancre" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"Ajoute la valeur uniquement après le lien interne ou externe. N'incluez " -"pas le symbole \"#\" précédent." - -#: models.py:109 -msgid "Email address" -msgstr "Adresse électronique" - -#: models.py:114 -msgid "Phone" -msgstr "Téléphone" - -#: models.py:120 +#: djangocms_link/models.py:77 msgid "Target" msgstr "Cible" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "Les attributs" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Un seul des {0} ou {1} peut être donné." - -#: models.py:258 -msgid "Please provide a link." -msgstr "S'il vous plaît fournir un lien." +#: djangocms_link/models.py:118 +msgid "Link is required." +msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "%(anchor_field_verbose_name)sn'est pas autorisé avec%(field_name)s" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" +msgstr "" -#~ msgid "At least one link is required." -#~ msgstr "Au moins un lien est requis." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "" diff --git a/djangocms_link/locale/fr_CA/LC_MESSAGES/django.mo b/djangocms_link/locale/fr_CA/LC_MESSAGES/django.mo deleted file mode 100644 index f43668c6241bf981f75bfde0de23004467840f62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmYL^-%i3X6vj1rwM(zP=!F*$JhVfZTL~sOharkAIJq@-E29S5r7eGa5MR${vBLzu ze8F+yS{kKB3*9MLL8y zBTV^5)Q=y10gwp%E+P>nVT(9bZh?!&sYof-&+R9Ljx7%&o zY9@`C^IbbvD_n?;P}sVd!QC(jZt+}y!~@*)#-nj^{F&b-UaX|$(n9uKxs5H~SzIld zkUf+ym^R$@-?JfvM_)Z@&NU=5SA~!zMd7Eghixg^&+^jcTC*h#m0lT&WVOGVey4~2 OkNt*3_sDPdypun-ns`V6 diff --git a/djangocms_link/locale/fr_CA/LC_MESSAGES/django.po b/djangocms_link/locale/fr_CA/LC_MESSAGES/django.po deleted file mode 100644 index 9d034577..00000000 --- a/djangocms_link/locale/fr_CA/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: French (Canada) (https://www.transifex.com/divio/teams/58664/fr_CA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr_CA\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/fr_FR/LC_MESSAGES/django.mo b/djangocms_link/locale/fr_FR/LC_MESSAGES/django.mo deleted file mode 100644 index 8da5bc0e94e032ac3030b2c36d2375ead75eac96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2125 zcmai!L2MgE6ov;VPz)3(6e>ieN85-*&D!fiQrB&ROyWR9(?p4zYc%$b?P=FD&djXc zQ1!-z14m8;!3otpaOA`R$yYAiI8;a+xpU&g|JF{@ss~0|e>>whZ~ph*y#4d!v2O&% zX*}=Yd4y*M&$rLu2P1w~h&8Ybz5(8y@@wz~%)bY3gFk`=@Z@tsya=8FPl7YxYhVR@ z1^f(r6}&lR3!KAzZ#usZ9>aVzo&N-$$NU$N{rv^L3H}2<4<3i{+u#Y1^~`|B!FljL zVpsroF#jFKtYa2NZ-Et%_pgIZa2tFH{26>1{1xPU{03eC{{~tADFk-{JPY!?3|7FU z>3j&{Nbx1eI==#|;CJBr;2+=_@L!P6ISsMzg6Bcj^D&6OL>-)#0JBN%IZhtz7wOL9 zqc(DG*2j2l6oaa;d+vMjRfVFYm#LTQTt*&*u zZLQK|cc5I;dbMk0PtAGKo{SA7)6@=CLcw-a=qg7;9lA6#JJ~a_6<1SjZu5?w_FkLL zlBgvEILAJ(Lcod_wfrnm>-UvOJi!+YWSS|mCfz654)D#3+ThK|l&m9lXZp_mi?m|t zs_HF4*3}XS(^i@#iX`=&!eKav&Yn9%Pb9GsyZ?##6x}Q zlzDO~*uGfNzMsl{;@CvJCv{3PNu2Ut)F0O)*4jAN4s@cDd9p~K!|NonCxwf(gP1rD zasA-uC^;LP18b0sHrE)l_^4s4RM^~TM9WUefKAZ~oK@*!T)rH|m!kMXD#z7@#S8JpIEG=g zr3RXvAK5KN@#UzzK=I{jT)7Zq6s}7jqK1>kLz;C}swGY%WYi3|w5R6T|0S52P9{4l zYAD&O(khDB>eB2gHn!9p&2~fR`)a8)91e?tz3H~PQ*7B@DbWLMO99(_X`!;X_))3t zc2~DbbA|P__4-i)%Eh>_Y*8}I%bAL2Fyl-ScA8tmz2Wg}_!GHJq+*pyE8#t-1dljN=)kMeGHO4M#y zbdSS5%~I7vIw<`B1~_jo)8sRa1%;cH-%D;)T;OclwI~-it4CTU-3m*uJ1{v%GNWWX zLT4WJsAnC#iarfu89DCY-~_w*h?YbH9yIJze_Dq~p-%G-=#kV`CeMqwVSD(tv~{aH z9^s?JU93n&+|}qq=$>?{65E<^k-UP!@n{|qJ9(7U@ek}2^=~OkvPr-P8*?v{kCw_^ zK9SI=wb(w)U}m7v-Rnl8 diff --git a/djangocms_link/locale/fr_FR/LC_MESSAGES/django.po b/djangocms_link/locale/fr_FR/LC_MESSAGES/django.po deleted file mode 100644 index 39d3756b..00000000 --- a/djangocms_link/locale/fr_FR/LC_MESSAGES/django.po +++ /dev/null @@ -1,135 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Assma Buifruri , 2017 -# Adrien Delhorme, 2017 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Adrien Delhorme, 2017\n" -"Language-Team: French (France) (https://www.transifex.com/divio/teams/58664/fr_FR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr_FR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "Lien" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Paramètres du lien" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "Paramètres avancés" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "Lien interne" - -#: models.py:27 -msgid "Default" -msgstr "Par défaut" - -#: models.py:44 -msgid "Open in new window" -msgstr "Ouvrir dans une nouvelle fenêtre" - -#: models.py:45 -msgid "Open in same window" -msgstr "Ouvrir dans la même fenêtre" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "Charger dans le cadre parent" - -#: models.py:47 -msgid "Delegate to top" -msgstr "Charger dans le corps entier de la fenêtre" - -#: models.py:65 -msgid "Template" -msgstr "Modèle" - -#: models.py:71 -msgid "Display name" -msgstr "Nom affiché" - -#: models.py:77 -msgid "External link" -msgstr "Lien externe" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "Si renseigné, sera utilisé à la place du lien externe" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "Ancre" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"Ajouter seulement l'ancre qui suit le lien interne ou externe, sans" -" le signe # au début." - -#: models.py:109 -msgid "Email address" -msgstr "Adresse e-mail" - -#: models.py:114 -msgid "Phone" -msgstr "Téléphone" - -#: models.py:120 -msgid "Target" -msgstr "Cible" - -#: models.py:126 -msgid "Attributes" -msgstr "Attributs" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Seulement un des deux champs {0} ou {1} doit être rempli." - -#: models.py:258 -msgid "Please provide a link." -msgstr "Veuillez indiquer un lien." - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" -"%(anchor_field_verbose_name)s ne peut être utilisé en même temps que " -"%(field_name)s" - -#~ msgid "At least one link is required." -#~ msgstr "Au moins un lien est requis" diff --git a/djangocms_link/locale/ga/LC_MESSAGES/django.mo b/djangocms_link/locale/ga/LC_MESSAGES/django.mo index 38daeb910406a77f4951f957363b2cef341d8925..41898af1302e75269de1b4ace8eb6b854eb72816 100644 GIT binary patch delta 21 dcmX@gJcoIL3S-hl)xe4KU6>OK3MM|g4**gf2$TQ- delta 60 zcmbQke3W^D3S;*~)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNeoN%;n|f6ZhT+03`(ya{vGU diff --git a/djangocms_link/locale/ga/LC_MESSAGES/django.po b/djangocms_link/locale/ga/LC_MESSAGES/django.po index 8b60fa1a..5f49f66a 100644 --- a/djangocms_link/locale/ga/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ga/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Irish (https://www.transifex.com/divio/teams/58664/ga/)\n" +"Language-Team: Irish (https://app.transifex.com/divio/teams/58664/ga/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ga\n" "Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/gl/LC_MESSAGES/django.mo b/djangocms_link/locale/gl/LC_MESSAGES/django.mo index c60be34f51b2c7f0f479a5f37a6c2cd7b57a17b9..3e910eaa6c5465656d7150a58222f6ed3e5471bd 100644 GIT binary patch delta 34 ocmZo-xyd|1hqscEfgy~6fq?^vFHE$Inz*NtIkBK%vIFBG0Fsmmpa1{> delta 73 zcmcb~+{7|Lhj$Sp149@C0|N&T|D0$Ur52*=T$Gwvl9`{U>ylWKYNcRgU}&jpV6JOm btYBzhWoo8vU}Ru0aY74od3pI{amGUcvq=-E diff --git a/djangocms_link/locale/gl/LC_MESSAGES/django.po b/djangocms_link/locale/gl/LC_MESSAGES/django.po index f55e1266..bda88f5b 100644 --- a/djangocms_link/locale/gl/LC_MESSAGES/django.po +++ b/djangocms_link/locale/gl/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Galician (https://www.transifex.com/divio/teams/58664/gl/)\n" +"Language-Team: Galician (https://app.transifex.com/divio/teams/58664/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "Ligazón" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/gu/LC_MESSAGES/django.mo b/djangocms_link/locale/gu/LC_MESSAGES/django.mo index e5c560bd6a7b8b9ae51142ec17f2b11911bb0a4d..fbd9472c34366eb1fc6475cc172af26656ead237 100644 GIT binary patch delta 21 dcmZ3){F7;d3Zwl*)xe4K-I)^$3MRhX2>?_f2#Npz delta 60 zcmey#w1|0v3S-7Z)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNemn%;n|f6A$bJ04renot " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/he/LC_MESSAGES/django.mo b/djangocms_link/locale/he/LC_MESSAGES/django.mo index d70e9a851bf197fe9986adafdfc5fd3fbba1b30a..6d5c6856900ba77a72bea22d20d2efd9dd0da502 100644 GIT binary patch delta 54 zcmcb|(#bMGhj%3-149@C0|N&TGfcFMnz*N)IkBK%vK`|RM&rqk8J&2IthpGj&$&MH J`hx4r832e95i|e* delta 137 zcmeBVxyLd=hxZ>N149@C0|N&ThfcJNQVY>_E=o--$;{8wbxABqwNfxLFtpS)FxNFO zRxmWMGBwjSFfuThIH8HTyu5s}DB}`FlgYanoh&u-6jXr<6l`r33>4JV6u?|0o*ht9 aQ^8)rNWn_M*qV#s`kd=CuP?a1oB;qjOe2N> diff --git a/djangocms_link/locale/he/LC_MESSAGES/django.po b/djangocms_link/locale/he/LC_MESSAGES/django.po index c4aec7b8..22b89884 100644 --- a/djangocms_link/locale/he/LC_MESSAGES/django.po +++ b/djangocms_link/locale/he/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Hebrew (https://www.transifex.com/divio/teams/58664/he/)\n" +"Language-Team: Hebrew (https://app.transifex.com/divio/teams/58664/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" +"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "לינק" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/hi/LC_MESSAGES/django.mo b/djangocms_link/locale/hi/LC_MESSAGES/django.mo index 80cc5d4fa1e32a338fe900943d11e8fd63e9900f..9649925ebe84b3124cec2487f2ead0bba02eaa88 100644 GIT binary patch delta 34 ocmZo+xy?L5hqsK8fgy~6fq@r@&rYylWKYNcRgU}&jpV6JOm btYBzhWoo8vU}Ru0aY7?=d3pI{5ys;Hv;-5X diff --git a/djangocms_link/locale/hi/LC_MESSAGES/django.po b/djangocms_link/locale/hi/LC_MESSAGES/django.po index b15fcf5d..209d9aea 100644 --- a/djangocms_link/locale/hi/LC_MESSAGES/django.po +++ b/djangocms_link/locale/hi/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Hindi (https://www.transifex.com/divio/teams/58664/hi/)\n" +"Language-Team: Hindi (https://app.transifex.com/divio/teams/58664/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr " लिंक" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/hr/LC_MESSAGES/django.mo b/djangocms_link/locale/hr/LC_MESSAGES/django.mo index 88f3b8dd31ecb81a75c7636dc43cf0ac841485dd..42d3290b19edb8be19811c688a83058c062b5aef 100644 GIT binary patch literal 1133 zcmY+CJ!}&(6vxdsgl`Z`NIV7*6z)e<&+p6j`*vje3kEp=Jpp|NJqrB;^>Ski zV~4>ySOOn{yTE1e2&lk=;8SoP_#E5=z6AG!Z@}%~d(iuT0Db;1;7;&6xEuTlzJ>mR z`g*Un4ejqh@Am=pai73L;8)Ps{Q({We}g`5KZ^PKC&A<3$QrMLzW@7cTmn&QVA~7s zfcpM@&t8y@ZH4+={=RS@h<~Te;(Pb~v074a)e;F=;ha=$%WBRUxs*F$*^F4`dFsGa zw7C=HG-ccf^}osKjLk@!rTj4|-V$WC0ZQ)o`^pMvH)-ZZSv|Lb6f_uVPsZ~sk+VsuZ^;x<%yLhL*aJ#f9GHqNi zZ`(2nuH|hTG<8g+#zL?t3h85l8RUwo5=Ik2crl2^DZChmljlN6=@z#xXd138Dryr` zEfrl$wU+GZLblE$tWtrOYUjKyf~MfTn5K>9PI5(OJI-Y`E|+v)re?7+3F{MVD8=eMp+VpHpDjRHV^}-YlmsNE-3aizK z&YU5?3{O>~h^|mb@W%dfwX%M6sXFGDX9sSVqL7|E8HT_o96?Nkn95X%-R7AQi4v4) z>v+)>7^}flN%nvzT9d9^Ka_-!Mz-Hk%W4EkC~=%$rD3{rMyBvcD^? BAo&0Q delta 225 zcmaFM@q{Joo)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vpzhY!y$N|zI@o**v z26iAF1Ehh%U~_;J1CR>=KACyh3;`MWd6Pdd+N*`=Iv1rTmSpDV>AEDAq*^H$85mmX z8kp-E7%LbWSecq>8yFcFOx9ttR?kaM&B<4A$;``Cut@}S^iqHvhm_2+%zVA%3_Bf= fX0ypvOiIk<<>i~_Gchvqf^7>)%}Gtm&tm`p4#q7E diff --git a/djangocms_link/locale/hr/LC_MESSAGES/django.po b/djangocms_link/locale/hr/LC_MESSAGES/django.po index f03a0af6..b4545f4c 100644 --- a/djangocms_link/locale/hr/LC_MESSAGES/django.po +++ b/djangocms_link/locale/hr/LC_MESSAGES/django.po @@ -4,127 +4,140 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Angelo Dini , 2016 +# Aleks Acimovic, 2022 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Croatian (https://www.transifex.com/divio/teams/58664/hr/)\n" +"Last-Translator: Aleks Acimovic, 2022\n" +"Language-Team: Croatian (https://app.transifex.com/divio/teams/58664/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -#: cms_plugins.py:15 -msgid "Link" -msgstr "Link" - -#: cms_plugins.py:26 -msgid "Link settings" +#: djangocms_link/apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 +msgid "Link" +msgstr "Poveznica" + +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" -msgstr "" +msgstr "Napredne postavke" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" -msgstr "" +msgstr "Interna poveznica" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" -msgstr "" +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "Poveznica na datoteku" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" +#: djangocms_link/models.py:24 +msgid "Default" +msgstr "Zadano" -#: models.py:109 -msgid "Email address" -msgstr "" +#: djangocms_link/models.py:41 +msgid "Open in new window" +msgstr "Otvori u novom prozoru" + +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "Otvori u istom prozoru" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "Delegiraj roditelju" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "Delegiraj na vrh" + +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "Predložak" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "Naziv za prikaz" -#: models.py:120 +#: djangocms_link/models.py:77 msgid "Target" -msgstr "" +msgstr "Odredište" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" -msgstr "" +msgstr "Atributi" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "Potrebna je barem jedna poveznica" diff --git a/djangocms_link/locale/hu/LC_MESSAGES/django.mo b/djangocms_link/locale/hu/LC_MESSAGES/django.mo index 68e9821012ec586c084ec21bbfd1792dbae7a236..adfe7fd46c43250ff1960b42cc90a8c2e4da4aa5 100644 GIT binary patch delta 87 zcmZ3&a+lfho)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLDnqLn1OksqZms@eqQRtP&>5{UFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih4 i11nQAZ380%gNYMbnaj(|CrdCM, 2016\n" -"Language-Team: Hungarian (https://www.transifex.com/divio/teams/58664/hu/)\n" +"Language-Team: Hungarian (https://app.transifex.com/divio/teams/58664/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Hivatkozás" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/id/LC_MESSAGES/django.mo b/djangocms_link/locale/id/LC_MESSAGES/django.mo index f013e9305d55dc7a3f126e71a9493db96540230d..c80fe01f3d79e2fe453f03895ca7a406d5c2c175 100644 GIT binary patch delta 21 dcmbQs{Dol2j`NBLhQAT?2Dn17ih411nQAZ380% QgNemH%;n|f6Ax_y04Ns{R{#J2 diff --git a/djangocms_link/locale/id/LC_MESSAGES/django.po b/djangocms_link/locale/id/LC_MESSAGES/django.po index 1d6aece3..931f12c5 100644 --- a/djangocms_link/locale/id/LC_MESSAGES/django.po +++ b/djangocms_link/locale/id/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Indonesian (https://www.transifex.com/divio/teams/58664/id/)\n" +"Language-Team: Indonesian (https://app.transifex.com/divio/teams/58664/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/is/LC_MESSAGES/django.mo b/djangocms_link/locale/is/LC_MESSAGES/django.mo index 6cb95d1b13b77f2d3e1e0a2fc182ee02f26d3525..504f0fcd37eef9dd7e7a2c0dd57d58692c869cbd 100644 GIT binary patch delta 35 pcmbQi@}7Bu4&MYu28J*O1_pK@e$F`2DstkUCg#L~g2|4I*8!kz3K9SS delta 74 zcmaFQJcDI|4&P2j28J*O1_pK@7GRoa6{!}Y>s*wYSdy8ar|Xhfl4_-3WMF8iYhbQx cV60$hU}b8iZD3?zFmXaFb9s6BWC_OW0GNmq8vp, 2016\n" -"Language-Team: Icelandic (https://www.transifex.com/divio/teams/58664/is/)\n" +"Language-Team: Icelandic (https://app.transifex.com/divio/teams/58664/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "Hlekkur" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/is_IS/LC_MESSAGES/django.mo b/djangocms_link/locale/is_IS/LC_MESSAGES/django.mo deleted file mode 100644 index 143f29b4e066d4ddab5bcd0e77a603bbc971cf47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457 zcmYL_T~ER=6oxf=wM(zPI3}7v^so+Pj*?v{(@aC&R%Rz?l9OIton_zzzB_xvpu zHS#7;dQSSDkM`?e|8vJ_*Kz1LcI-LM92-TB4|myi=f?A|RI4|hTTBXk=Gq7)DWu)r zZTF@R&;8M3@^J5sc%`((p(#aySM$, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Icelandic (Iceland) (https://www.transifex.com/divio/teams/58664/is_IS/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: is_IS\n" -"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/it/LC_MESSAGES/django.mo b/djangocms_link/locale/it/LC_MESSAGES/django.mo index 6077b52c34cec05a9ca3a83c4b5b91f1814628ac..c01f9528ac70ef13969e165c2a9f1efd5d46b57f 100644 GIT binary patch literal 1220 zcmZvbOK%e~5XToNuTVggA`mYP5>z1AWK(EKw@o3mDT-)mR6-Bj+{D?KZtRuqq)p)~ za07wFh0g#-E=YU<#E}E%Ubt}N#NTQ9h}4lLzx8-LGagTV4-LHYAg7_1p>Lt*p@RqT z18IO~K+)qXFopFS@F@5J90EUqF2)yd5d01v2Y-Mk!C&A2xCuJ{Kj2x=JLq{wfMM_$ zcnSQ7z3ZUM`|XhDodbV@F5V{S^8N*{fd9a&-~|Lf1>Of;+&ORPe5JWF2-T#UP0;I8WFO4cUPA;6$`ma!cbEfBV;t~ z6>4oJtGq^rTMLWv3f5||(z4umv%Jn)u?1ruG0Vv+N|@%d-(*$d%?gvmtV5DDxi=?b zPA-*Kl9p@9;;q%ZGc6`ul8_|%8m$RgQ)@dWgTvdl3eyp{UWGRi*K)6{)k|KreyQd! zb8Uo@A(aa=PYREVv|LT052awb}GuE$YCJizw9a4v_u6Afjq)o!&*fr>( zxfNk|N(>2$a@^7^_UDvtnvi7DU7GyeN!t3%OUmadOAja@?9;V8K1N3Hb%V05PeI@u z0yt#hFglsqXRJ!iL>bFA&~iZxBevn*aC@}G&SVu5Eiegj%&0CTH)s@@R>HMV8vgt2 z!X&E#@4+z}1_RkdB8~U*W)$8i!U#!NT|Bt-*+h33`yID(U>sYLk!-2`2C0F8$;wQ2Y9YGLMX8A; znfZCTE{P?nRtiQ2hL*Yp=DG&P3Wf$&re@j(Mg|6xi{D5hRsFAfo WK~8B=Vvemwo`RySf}y507Xtv|DjKQ) diff --git a/djangocms_link/locale/it/LC_MESSAGES/django.po b/djangocms_link/locale/it/LC_MESSAGES/django.po index ad03dbe4..ea3d6515 100644 --- a/djangocms_link/locale/it/LC_MESSAGES/django.po +++ b/djangocms_link/locale/it/LC_MESSAGES/django.po @@ -3,124 +3,141 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# Translators: +# yakky , 2019 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Italian (https://www.transifex.com/divio/teams/58664/it/)\n" +"Last-Translator: yakky , 2019\n" +"Language-Team: Italian (https://app.transifex.com/divio/teams/58664/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: cms_plugins.py:15 -msgid "Link" +#: djangocms_link/apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 +msgid "Link" +msgstr "Collegamento" -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" -msgstr "" +msgstr "Impostazioni avanzate" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" -msgstr "" +msgstr "Collegamento interno" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" -msgstr "" +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "Collegamento a file" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" +#: djangocms_link/models.py:24 +msgid "Default" +msgstr "Default" -#: models.py:109 -msgid "Email address" -msgstr "" +#: djangocms_link/models.py:41 +msgid "Open in new window" +msgstr "Apri in una nuova finestra" -#: models.py:114 -msgid "Phone" -msgstr "" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "Apri nella stessa finestra" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "Apri nella finestra superiore" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "Apri nella finestra principale" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "Template" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "Testo mostrato" + +#: djangocms_link/models.py:77 msgid "Target" -msgstr "" +msgstr "Apertura" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" -msgstr "" +msgstr "Attributi" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" -msgstr "" +msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/ja/LC_MESSAGES/django.mo b/djangocms_link/locale/ja/LC_MESSAGES/django.mo index 63af47403033fba8aaaff6e0140bd626eb9813a9..dffce96f8f79944880776cc52aadfb286681e4e4 100644 GIT binary patch delta 87 zcmbQwa+%rjo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLB1Q&=Fd)qd#3zAlAYx#c V7$`O|*Jk3SM&`tVg2`cwdjP=e4G{nU delta 161 zcmcc2Jf9`-o)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vp&t_y`$N|!vK+M6! zz`z5fg@80rn1OksqZms@eqQRtP&>5{UFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih4 o11nQAZ380%gNYMbn9Iw{CyO)g;e9!K_luPqpHE%&w0}DT0OKJcSO5S3 diff --git a/djangocms_link/locale/ja/LC_MESSAGES/django.po b/djangocms_link/locale/ja/LC_MESSAGES/django.po index 17a018ad..a79eb04f 100644 --- a/djangocms_link/locale/ja/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ja/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Japanese (https://www.transifex.com/divio/teams/58664/ja/)\n" +"Language-Team: Japanese (https://app.transifex.com/divio/teams/58664/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "リンク" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "電話番号" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "少なくとも1つのリンクが必要" diff --git a/djangocms_link/locale/ka/LC_MESSAGES/django.mo b/djangocms_link/locale/ka/LC_MESSAGES/django.mo index 99671cd6a3fdde90d86dc37c424d4daafc94f5e9..13807bf7e91aafef6a389499279241c04b6e800e 100644 GIT binary patch delta 34 ocmZo?xyL*~hqs)Ofgy~6fq@^0&rP(9nz*NtIkBK%vIFCB0F)F7vH$=8 delta 73 zcmcb|+|DvVhj#%Z149@C0|P%0f1hX>r52*=T$Gwvl9`{U>ylWKYNcRgU}&jpV6JOm btYBzhWoo8vU}Ru0aY74od3pI{amM2Sw!{;< diff --git a/djangocms_link/locale/ka/LC_MESSAGES/django.po b/djangocms_link/locale/ka/LC_MESSAGES/django.po index 20fc1f8b..ba695437 100644 --- a/djangocms_link/locale/ka/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ka/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Georgian (https://www.transifex.com/divio/teams/58664/ka/)\n" +"Language-Team: Georgian (https://app.transifex.com/divio/teams/58664/ka/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ka\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "ბმული" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/kk/LC_MESSAGES/django.mo b/djangocms_link/locale/kk/LC_MESSAGES/django.mo index 671b1e9bb7e5b5d43ba7929695b9e6aa300c244a..455aea1499212ed39c690c31413fd9ef36d9d24c 100644 GIT binary patch delta 21 dcmbQo{FP~f3ZwNz)xe4KU6~UL3MM|^4gga#2zUSh delta 60 zcmey$G>>_L3S-Jd)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNel+%;n|f6ZdTg04SdlR{#J2 diff --git a/djangocms_link/locale/kk/LC_MESSAGES/django.po b/djangocms_link/locale/kk/LC_MESSAGES/django.po index f17815a5..f979c424 100644 --- a/djangocms_link/locale/kk/LC_MESSAGES/django.po +++ b/djangocms_link/locale/kk/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Kazakh (https://www.transifex.com/divio/teams/58664/kk/)\n" +"Language-Team: Kazakh (https://app.transifex.com/divio/teams/58664/kk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kk\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/km/LC_MESSAGES/django.mo b/djangocms_link/locale/km/LC_MESSAGES/django.mo index 242bf9a3662021178994285930a9f08e7ae3a88f..c327d55c9f94f3c03b3474eb46a4f77fc68c4e83 100644 GIT binary patch delta 34 ocmZo-xyd|1hc};*fgy~6fk6m}k4?0Unz*NqIkBK%vMu9L0FjLelK=n! delta 73 zcmcb~+{7|Lhj#`e149@C1A`C{zn^Fsr52*=T$Gwvl9`{U>ylWKYNcRgU}&jpV6JOm btYBzhWoo8vU}Ru0aY7?=d3pI{5yqncu)GtS diff --git a/djangocms_link/locale/km/LC_MESSAGES/django.po b/djangocms_link/locale/km/LC_MESSAGES/django.po index 7c84823e..df543461 100644 --- a/djangocms_link/locale/km/LC_MESSAGES/django.po +++ b/djangocms_link/locale/km/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Khmer (https://www.transifex.com/divio/teams/58664/km/)\n" +"Language-Team: Khmer (https://app.transifex.com/divio/teams/58664/km/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: km\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "ឈ្នាប់" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/ko/LC_MESSAGES/django.mo b/djangocms_link/locale/ko/LC_MESSAGES/django.mo index e0427013c0a07abca2b00c07ca77cb9482425a12..3cb7f94438d429d0dbf0db2ef8eead92b397314b 100644 GIT binary patch delta 21 dcmbQq{DEnL3ZvOX)xe4KU6~UL3MM|^1OQSX2xI^N delta 60 zcmeysG?RIP3S<04)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNel+%;n|f6ZdTb03|~bLjV8( diff --git a/djangocms_link/locale/ko/LC_MESSAGES/django.po b/djangocms_link/locale/ko/LC_MESSAGES/django.po index a4c3e127..a0351e3b 100644 --- a/djangocms_link/locale/ko/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ko/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Korean (https://www.transifex.com/divio/teams/58664/ko/)\n" +"Language-Team: Korean (https://app.transifex.com/divio/teams/58664/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/ko_KR/LC_MESSAGES/django.mo b/djangocms_link/locale/ko_KR/LC_MESSAGES/django.mo deleted file mode 100644 index 89f61d2bb8e5c4d7f5116faf05b698c2c336cc6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 546 zcmYL_!EO^V5QYsD4tqr0;4sHl#k=0pEQv!9Ax%+~gs#HUE0~S5G2PfJ+iA+3M*tyi z+_+Xe5D$RLJ21PE$Vi`lk2Ukp*uU@ZeI*!okVnWdau=B(b-YLR5P{V93*_f5LQ2$o z$b;KkeTa(JjSmXJbQ=?;FG#vHT9VY7k23dkG^gj%I%PD6v_Ba4Uk%}WID0cXdmYSV zWvr)DSExCCxh@>d42K{+%jm#L;jxLH2roGtvA9FoQ_7w|%y=s~WJio)A)U!fRh#eX z63RL>ZUO6X);?qy!9+MuGb^+!g*TQ%Ul+18aH6z=XQD~MIVLaW>Qb37Up{|ak4&&r z7i&>Snn|(ZFgCcBhW$nlV1Ma-<#-frHk;7b{%Rqw!rZK)#whaG<)T(QNsgln^KLwg z4ua`uI^2Cp9I{|ww3iw;{8Zsny}a^KRSKoMkS~RG()ZqGr?kDRt0yg_r9+(?T)W`V y{-FH-WjQpng0x&)QPNXmSB`_On$-2;E^LoI)(yzbx9dN@uF1`h&wsyvA^!jeznGo? diff --git a/djangocms_link/locale/ko_KR/LC_MESSAGES/django.po b/djangocms_link/locale/ko_KR/LC_MESSAGES/django.po deleted file mode 100644 index 69d9245b..00000000 --- a/djangocms_link/locale/ko_KR/LC_MESSAGES/django.po +++ /dev/null @@ -1,130 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Korean (Korea) (https://www.transifex.com/divio/teams/58664/ko_KR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko_KR\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "연결" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "전화" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "최소 하나의 링크가 필요합니다." diff --git a/djangocms_link/locale/ku_IQ/LC_MESSAGES/django.mo b/djangocms_link/locale/ku_IQ/LC_MESSAGES/django.mo deleted file mode 100644 index 3dc647c60daa85007579592cc29c8d83d9179a4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 zcmYL_L2uJA6vqSFB$Oj(4v$-_&52WJXx$ajbsdVfvaEz&kx9MOEVVP+S;rl5;>w5M z!uJ_Sd=_4UwEm@^?7#H>?>+nP)4d-a>M`;RIYjo6BcxG^>>-!PuScG@#PbQVj{&p~ zYVxhlrMmV~qd$w>kz_@d!dR&lgLE=Io4lRDa<+J%T)guaqSD5Zxh>?19M^>QFb@>c2~U%x(VM#h*_Ma>IAGQl?t&T6xgb`71x z@S84l*3MOyh2eI)4P4V-UWvOP*PF0y6go`Vus?|7m*I8&F}V!8{ydq_c3%<&)SqhQ zgu)HKRQOaU?p#=vT&fY|Yi_J?;}6*>8SLtsNms&, YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Kurdish (Iraq) (https://www.transifex.com/divio/teams/58664/ku_IQ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ku_IQ\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "لینک" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/lt/LC_MESSAGES/django.mo b/djangocms_link/locale/lt/LC_MESSAGES/django.mo index e27ae197d2af0dcd60494cd97b73b503cc1b710f..e641f11759c41c6d7e3255741c955cfdcf6de069 100644 GIT binary patch delta 437 zcmYk&Jxjw-6vpwBCVlmdv_er7JE*wmC?ZZyR#b3t&?(Xmp)o0~LUE}$irYm5brAgm zf}4X5>Q@ja>DzoNSNXE!1$&nwTwPK05SnRoj z8SeKmi4Dx+5e}ije!Rs2yh8^cQP(}Ap8tjkk*2g6q?q``U-C`#gn9L8-N#R#>56V%2oFpoDljt{;0chvJ*Xvu2#YjgwMbUN3rwRkS{&{?bv#)+2x zssE)-#fUkKO`Dv(oGpg?=`rVteZ>c*!HT``$BxlGFORNGoLKy lxBQYHzML1rgQymjJlW`KHd70(U#SOPU0$!f-5?4X{Q(<@Jn;Yk literal 2239 zcma)+TW=dh6vqcBP)sRM?w5)~Ayq=N_Bw6S#Ela|lR{{7QE>Z&RE@J^XX@RVWoFi? zX)EzkiI+a2sA?t13lc)K4+!ysc(NsU;{zZhzC%9%|5-biiU$~Z{o6A;=ghgxoWG77 z_=;h?iswx{f8rU!bN3PaVT6w|wg{HN=fP_O-U6S1{59ADzXc26k;fQ&5KYs%w@DK1Qa2%6QgR|gU;Cb*xum!#jegVD#-T}S6 zpTYOQ-$5Ve0}wxU08V&64}oQnz*oRE@F;i%d=C5)^y_YeUhfCc`|%SvC;_DYUOrAg z{Cb3z$LVG7ulErt$!&Ulgp=nH$cL|uw|^Lq_tOtwkNv}+0Y7}6U&`P5f8KAOYhO1u zG|bidhBlWQQpC~awlH;V#bw14F=9ztQrZ!ZW4$RNa=IzphA^}#-3AQ}_jUSf*>o&b z%WEXkTB({dY%XfUIP|P=4l|a`<$JNYG!-hc1Y6YRaVAKsxI?_*VB1ehg*U}x(uTy< z!MnF#qG5I*yg`K~>oru$P z;>Gu)zF1t>$;_zV@iY`wGviGW)C5l|bO9$c<4STx!yC?}wo)o>Zf+KxH!U0Ds@E+= zvMqJVLBp2DCnqLOm10*KDJ(56E$pSDTnr0mHL9oJStmt^4y7$2cT%09^$l)tzN;5& z=Yq+-b$*+MFu{Ua*ZxdaXtFNdu9p>xU12rO43C3z+9b9@D$PY(J#~iquhn5iLr5Z3 zt5l}r$7vvkG(+Vnx_+Jd-$Rs}?sdBb)uJL8wd{jUp;xP-Q;D7JJ)i+}*Nh4w6e!8D?Dv zw+)S=C5*H5(nS6h`d8!+vN=BtAi7Ut(UVFc1@k6?tOCItu}VKPiP$p4np_l z!{6J|^tO9H!c?2f&!bFV;XV~9Z*%zS)4~>F(Q-yBh`#Ogw$XjKZz=eOMD(LT4)Pqa zkA=h{hp-(Vr4)Sy8hSU}+k=JOn?-i1pN?JC<$;MlHCp&yUTd<2^a%yukh#3ga8u`b zqw)2ldhdHgytA|Q$&nE^9ZV{oAu2&JZkpIP@BC!SySL=t*BbKF&`M+Pq+iH97L;P2 S<8TJI+_K&`ydG=##Qp)&wPi&B diff --git a/djangocms_link/locale/lt/LC_MESSAGES/django.po b/djangocms_link/locale/lt/LC_MESSAGES/django.po index ba3c1a30..70c60ed6 100644 --- a/djangocms_link/locale/lt/LC_MESSAGES/django.po +++ b/djangocms_link/locale/lt/LC_MESSAGES/django.po @@ -12,122 +12,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Matas Dailyda , 2017\n" -"Language-Team: Lithuanian (https://www.transifex.com/divio/teams/58664/lt/)\n" +"Language-Team: Lithuanian (https://app.transifex.com/divio/teams/58664/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt\n" "Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Nuoroda" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Nuorodos nustatymai" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "Išplėstiniai nustatymai" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "Vidinė nuoroda" -#: models.py:27 +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" + +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "" + +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" + +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" +msgstr "" + +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." +msgstr "" + +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" + +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "" + +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "" + +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "" + +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." +msgstr "" + +#: djangocms_link/fields.py:215 +msgid "Select site" +msgstr "" + +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "" + +#: djangocms_link/models.py:24 msgid "Default" msgstr "Numatytasis" -#: models.py:44 +#: djangocms_link/models.py:41 msgid "Open in new window" msgstr "Atidaryti naujame lange" -#: models.py:45 +#: djangocms_link/models.py:42 msgid "Open in same window" msgstr "Atidaryti tame pačiame lange" -#: models.py:46 +#: djangocms_link/models.py:43 msgid "Delegate to parent" msgstr "Nukreipti į tėvinį elementą" -#: models.py:47 +#: djangocms_link/models.py:44 msgid "Delegate to top" msgstr "Nukreipti į viršų" -#: models.py:65 +#: djangocms_link/models.py:61 msgid "Template" msgstr "Šablonas" -#: models.py:71 +#: djangocms_link/models.py:67 msgid "Display name" msgstr "Atvaizduojamas pavadinimas" -#: models.py:77 -msgid "External link" -msgstr "Išorinė nuoroda" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "Jei pateikta, perrašo išorinę nuorodą." - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "Ankeris" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"Prideda reikšmė po vidinės ar išorinės nuorodos. Nepridėkite\"#\" " -"simbolio pradžioje." - -#: models.py:109 -msgid "Email address" -msgstr "Elektroninio pašto adresas" - -#: models.py:114 -msgid "Phone" -msgstr "Telefono numeris" - -#: models.py:120 +#: djangocms_link/models.py:77 msgid "Target" msgstr "Tikslas" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "Atributai" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Tik vienas iš {0} arba {1} gali būti pateiktas." - -#: models.py:258 -msgid "Please provide a link." -msgstr "Pateikite nuorodą." +#: djangocms_link/models.py:118 +msgid "Link is required." +msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "%(anchor_field_verbose_name)s negalimas kartu su %(field_name)s" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" +msgstr "" -#~ msgid "At least one link is required." -#~ msgstr "Reikalinga bent viena nuoroda." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "" diff --git a/djangocms_link/locale/lt_LT/LC_MESSAGES/django.mo b/djangocms_link/locale/lt_LT/LC_MESSAGES/django.mo deleted file mode 100644 index 9043ab23b133ae5c965927d69ff130037d1cdf12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 569 zcma)2!A=`75T$BQd+fP~snnvZ=w$6c(p`rI(KJ*MNr}=e*UC-I#wf8@wnM1IZ}5Bk zN;?}Mx%Np?J#?IcTX~4k@uaxuJ z8Uf?8-o@FsK3w%DKL(fIqlv1l3pnznp5d2O>9Mc^qVZ*cJ*Q+K6MmIJ31~5%A^VK% z5I7U<&H-yNMnasZTV03mbRA?F@;0zcu=IctqMC6@w*I?PwnXlbCatz&4+ zL#Vt+lJ$Ds3{D!auhm_1YM04O-)fr#a{Hv6b~;DNBK#T_NgRy^qyFxJyvd@TH9?tx z#h;2659%%?)k131h3Q;6uR{K_ILCCSt0!G6hkY}(Gi^!%>2DpjOAFY{ipGnTlM6hz zZs`S>YSa4ss0&YJ-Z1cyeh2a#IPCAkbI;%ecn0_P@O01M7&wpN6c~sX5uD`Es!h)s a$9We2R|cnyjR)T66nF|P0f%un+WQApJCy1G diff --git a/djangocms_link/locale/lt_LT/LC_MESSAGES/django.po b/djangocms_link/locale/lt_LT/LC_MESSAGES/django.po deleted file mode 100644 index f23d3604..00000000 --- a/djangocms_link/locale/lt_LT/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/divio/teams/58664/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/lv/LC_MESSAGES/django.mo b/djangocms_link/locale/lv/LC_MESSAGES/django.mo index 361b015c49d785d52a645ccb879877dda8c7d55d..ddad4d6804c3879053db62d55e1b09624731a1f5 100644 GIT binary patch delta 21 dcmX@YJezrf3S;6#)xe4K-Ix;#3MRg|0{~I@2$BE* delta 60 zcmbQue1v&|3S-wq)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNenS%;n|f6ZhW%03>S?aR2}S diff --git a/djangocms_link/locale/lv/LC_MESSAGES/django.po b/djangocms_link/locale/lv/LC_MESSAGES/django.po index c6d49a90..90517862 100644 --- a/djangocms_link/locale/lv/LC_MESSAGES/django.po +++ b/djangocms_link/locale/lv/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Latvian (https://www.transifex.com/divio/teams/58664/lv/)\n" +"Language-Team: Latvian (https://app.transifex.com/divio/teams/58664/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/mn/LC_MESSAGES/django.mo b/djangocms_link/locale/mn/LC_MESSAGES/django.mo index c30183052ec24d7b698b30ab4386965413412b48..9e8a3a51c2f9d181e86bbed5f18a7ebc34cd7919 100644 GIT binary patch delta 21 dcmZ3?{EKOV3ZuhB)xe4KJ(v><3MRhV2>?`K2#){& delta 60 zcmeyxw3vB<3S;I()j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNeo7%;n|f6A$hL04x>~ZU6uP diff --git a/djangocms_link/locale/mn/LC_MESSAGES/django.po b/djangocms_link/locale/mn/LC_MESSAGES/django.po index 0585a3a1..4b424cba 100644 --- a/djangocms_link/locale/mn/LC_MESSAGES/django.po +++ b/djangocms_link/locale/mn/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Mongolian (https://www.transifex.com/divio/teams/58664/mn/)\n" +"Language-Team: Mongolian (https://app.transifex.com/divio/teams/58664/mn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/mn_MN/LC_MESSAGES/django.mo b/djangocms_link/locale/mn_MN/LC_MESSAGES/django.mo deleted file mode 100644 index 4cf06b39e1df22efc918f59157390b4ba7ad7a3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmYL^%T59@6oxUnnx$(OHE{vKLpvzrP{IOnFhmC?II=Z$rVKUEPTF$O_we<677IrB zlP^6d{m<>^{Or5pbmF*hTscl1*N&Y+$CvwTyLaa~DADSJXBLJzOu05fNs5wQ|Ec#F zp=mUE8IDKZgqKQNh)p4KxL*|pQbm!Mj8o`q&a5kf2WB}%P2#tK+yS{kKB29kPMU-` zBTV>O?3y2a0gyKMEkxRsgmvQNJu_LXSivFXY)Mh9WT6&66azq6t=F`;8qv}w|FVv;t{TS@i2~#=lKod^_8?-T1Y=jx3=Y5i^~NQ zvV*cY(}vsbYdV1N=-W-2aSf5oR4!yeQTQ(GVP%T;v%F-n(rf_(rI&^xS?*KQZFbOK P*sV%**+qV><5hkEHfVb8 diff --git a/djangocms_link/locale/mn_MN/LC_MESSAGES/django.po b/djangocms_link/locale/mn_MN/LC_MESSAGES/django.po deleted file mode 100644 index 502ffa9e..00000000 --- a/djangocms_link/locale/mn_MN/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Mongolian (Mongolia) (https://www.transifex.com/divio/teams/58664/mn_MN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mn_MN\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/ms/LC_MESSAGES/django.mo b/djangocms_link/locale/ms/LC_MESSAGES/django.mo index a6431fca7be58f93a467bec8a705f4f331e8d871..11584e94c59e46dc96bf1e59b1a36df2e51cb7ed 100644 GIT binary patch delta 21 dcmbQi{GMro3Zv;n)xe4KU6>OK3MM|=1OQRs2wwmI delta 60 zcmaFQG=q793S-l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNeoN%;n|f6ZdWc03?nQJ^%m! diff --git a/djangocms_link/locale/ms/LC_MESSAGES/django.po b/djangocms_link/locale/ms/LC_MESSAGES/django.po index 43c166ec..2c2d8483 100644 --- a/djangocms_link/locale/ms/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ms/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Malay (https://www.transifex.com/divio/teams/58664/ms/)\n" +"Language-Team: Malay (https://app.transifex.com/divio/teams/58664/ms/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ms\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/mt/LC_MESSAGES/django.mo b/djangocms_link/locale/mt/LC_MESSAGES/django.mo index a0bdd7f329a4615007438ce86d8d0bfe9aba80fa..8fefb5d1d43ac0d892b42214c16136048fed0007 100644 GIT binary patch delta 22 ecmaFGe2{s93S;|3)xe4K-Ix;#3O2rAVgvwT%?L{X delta 61 zcmX@e{EB&k3gd=}s)1@Dy3R$Zi6xo&dAcr%C8<^lMh1qKx(4RD2F41823DqK+6G1j R1`~@tnaj(|H|}R*1OQKc5-I=y diff --git a/djangocms_link/locale/mt/LC_MESSAGES/django.po b/djangocms_link/locale/mt/LC_MESSAGES/django.po index 7d929df0..31f0c39d 100644 --- a/djangocms_link/locale/mt/LC_MESSAGES/django.po +++ b/djangocms_link/locale/mt/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Maltese (https://www.transifex.com/divio/teams/58664/mt/)\n" +"Language-Team: Maltese (https://app.transifex.com/divio/teams/58664/mt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mt\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/nb/LC_MESSAGES/django.mo b/djangocms_link/locale/nb/LC_MESSAGES/django.mo index 2214c8ef5a8d6b32d0e527cee51d3afccc96c9d6..847e2f3f3469c2b611f3cac0b64347aadeea8ac6 100644 GIT binary patch delta 21 dcmZ3@+{8RVh0$Z8YT(5A0nCX71rtB*1OQC)2si)$ delta 60 zcmZo-Ud=o~g|Tp=YM@$(u5(dpVo7Fxo~}z`Nvf5Ck%6J5u7SC(fw6+2ft9J5wt Q!NlTV=JN9Li6?gg02BEV7XSbN diff --git a/djangocms_link/locale/nb/LC_MESSAGES/django.po b/djangocms_link/locale/nb/LC_MESSAGES/django.po index aa99c46a..36a28a2a 100644 --- a/djangocms_link/locale/nb/LC_MESSAGES/django.po +++ b/djangocms_link/locale/nb/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Norwegian Bokmål (https://www.transifex.com/divio/teams/58664/nb/)\n" +"Language-Team: Norwegian Bokmål (https://app.transifex.com/divio/teams/58664/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/nl/LC_MESSAGES/django.mo b/djangocms_link/locale/nl/LC_MESSAGES/django.mo index fa86461d5d187052260eed9abf28ec94af97277b..8b272cd38b1512bec298300bc36c1d99115fb33a 100644 GIT binary patch delta 516 zcmY+=J4nM&6oBDtlfJZ8`v8>|X+c4xxH&1JMFc??b#RR|YBWuY$s!5`cX7B1f{V_M zotzy6L2yb6)EsL|R}w zE4W|B{VVP%++RO}2d?;0A=be<_#Ak5!q34c(EbM80lxz);K|2?coIAXo&=}BXTb&V zY49@m40vP0E;xhs?MeG9@Ce%XC++XSx6%Fqm=QoymS1j zT(feC@)gKhs(~2V&4vj{B?peM7}k-e-#RV*Zr-t3RWw6zx-$&q#Txb0FbiNtsS1RA zu)1Ib?K5rg}uCDmG9#IcnBEqSwbeQSN= zTID(otP9aqpXwxff0+8HZ5y((xzUbR9jSmx(Hep^P6ZnU_ll64cOp z|DGL&%-Wr5*XAp;#k!bo(xFNzYLm(va%~v8eL39^Vc;9J+IT#!29B+Jbcd(a5sRfHdDE}ezkQ_i+VM#tXgcJfwbKLatzqp8j7dQ1=;N@hXcNRqkS=2 zI2gyv^vFdm)3tmk8*-te!@j_VG+AXc8#^_dHm z|6x>30VkSLLVZ+mNRVMi8*C2A93TJFu$M>`jwJ^}Y2yQBI58<17ZV9kA~>`ZD6NUBCt>zYeW-RV2M?#xXVmQnFCW~0aNpp! zXG)X9>oED)qK-zU$YJE!{sn64Fs1+i diff --git a/djangocms_link/locale/nl/LC_MESSAGES/django.po b/djangocms_link/locale/nl/LC_MESSAGES/django.po index e574efad..4b6116f6 100644 --- a/djangocms_link/locale/nl/LC_MESSAGES/django.po +++ b/djangocms_link/locale/nl/LC_MESSAGES/django.po @@ -6,131 +6,140 @@ # Translators: # Angelo Dini , 2016 # Evelijn Saaltink , 2016 -# Heimen Stoffels , 2019 +# Heimen Stoffels , 2019 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Heimen Stoffels , 2019\n" -"Language-Team: Dutch (https://www.transifex.com/divio/teams/58664/nl/)\n" +"Last-Translator: Heimen Stoffels , 2019\n" +"Language-Team: Dutch (https://app.transifex.com/divio/teams/58664/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Link" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Linkinstellingen" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "Geavanceerde instellingen" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "Interne link" -#: models.py:27 +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" + +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "Bestandslink" + +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" + +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" +msgstr "" + +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." +msgstr "" + +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" + +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "" + +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "" + +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "" + +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." +msgstr "" + +#: djangocms_link/fields.py:215 +msgid "Select site" +msgstr "" + +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "" + +#: djangocms_link/models.py:24 msgid "Default" msgstr "Standaard" -#: models.py:44 +#: djangocms_link/models.py:41 msgid "Open in new window" msgstr "Openen in nieuw venster" -#: models.py:45 +#: djangocms_link/models.py:42 msgid "Open in same window" msgstr "Openen in hetzelfde venster" -#: models.py:46 +#: djangocms_link/models.py:43 msgid "Delegate to parent" msgstr "Naar ouder delegeren" -#: models.py:47 +#: djangocms_link/models.py:44 msgid "Delegate to top" msgstr "Naar bovenkant delegeren" -#: models.py:65 +#: djangocms_link/models.py:61 msgid "Template" msgstr "Sjabloon" -#: models.py:71 +#: djangocms_link/models.py:67 msgid "Display name" msgstr "Getoonde naam" -#: models.py:77 -msgid "External link" -msgstr "Externe link" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "Als je dit opgeeft, dan overschrijft het de externe link." - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "Anker" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"Voegt alleen een waarde toe na een interne of externe link. Voeg " -"geen \"#\"-teken toe aan het begin." - -#: models.py:109 -msgid "Email address" -msgstr "E-mailadres" - -#: models.py:114 -msgid "Phone" -msgstr "Telefoonnummer" - -#: models.py:120 +#: djangocms_link/models.py:77 msgid "Target" msgstr "Doel" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "Eigenschappen" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Er mag slechts één van {0} of {1} worden gegeven." - -#: models.py:258 -msgid "Please provide a link." -msgstr "Voer een link in." +#: djangocms_link/models.py:118 +msgid "Link is required." +msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -"%(anchor_field_verbose_name)s is niet toegestaan in combinatie met " -"%(field_name)s" -#~ msgid "At least one link is required." -#~ msgstr "Minimaal één link nodig." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "" diff --git a/djangocms_link/locale/no/LC_MESSAGES/django.mo b/djangocms_link/locale/no/LC_MESSAGES/django.mo index 5dba54b1b63cc1795f491916a9392280e6a78e35..8e946b161469fb1899c5eb09e9f386d046cd69ef 100644 GIT binary patch delta 34 ocmZo*xz0R6hqsE6fgy~6fq@l>FHW?Knz*NlIkBK%vLoYu0Fnv`ng9R* delta 73 zcmcc4+`uwHhj%d}149@C0|P4%|C(qSr52*=T$Gwvl9`{U>ylWKYNcRgU}&jpV6JOm btYBzhWoo8vU}Ru0aY8F|d3pI{3C8^ZvHTOF diff --git a/djangocms_link/locale/no/LC_MESSAGES/django.po b/djangocms_link/locale/no/LC_MESSAGES/django.po index aa052e44..e9e37424 100644 --- a/djangocms_link/locale/no/LC_MESSAGES/django.po +++ b/djangocms_link/locale/no/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Norwegian (https://www.transifex.com/divio/teams/58664/no/)\n" +"Language-Team: Norwegian (https://app.transifex.com/divio/teams/58664/no/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: no\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "Lenke" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/pap/LC_MESSAGES/django.mo b/djangocms_link/locale/pap/LC_MESSAGES/django.mo deleted file mode 100644 index 70be89813edf96716bc1e6f7d313d2cfafb7f48b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422 zcmYL^&rSj{5XLcj+M{O=HSqw!p~gh$hfVGvGn@qJB!hvK!ebLW3NJZnv#<;74%iI|8Sg|*)@BTi zFqK(F8d^G H^n%(irm}W> diff --git a/djangocms_link/locale/pap/LC_MESSAGES/django.po b/djangocms_link/locale/pap/LC_MESSAGES/django.po deleted file mode 100644 index de1f0d5f..00000000 --- a/djangocms_link/locale/pap/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Papiamento (https://www.transifex.com/divio/teams/58664/pap/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pap\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/pl/LC_MESSAGES/django.mo b/djangocms_link/locale/pl/LC_MESSAGES/django.mo index 58fefa8abc526b47c9cf15e8dacd50841e5c55ea..a90c25646447e246f139ce49d208c3312c4d9aac 100644 GIT binary patch delta 88 zcmdnU`ijNzo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxj#PN1SN5Dml$KsFylWKYNcRgU}&jpV6JOmtYBzh hWoo8vU}Ru0aY7Swd3pI}QN~b4j*!%x)U^CO1^}BN8}I-C diff --git a/djangocms_link/locale/pl/LC_MESSAGES/django.po b/djangocms_link/locale/pl/LC_MESSAGES/django.po index 852635b2..88b66036 100644 --- a/djangocms_link/locale/pl/LC_MESSAGES/django.po +++ b/djangocms_link/locale/pl/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Polish (https://www.transifex.com/divio/teams/58664/pl/)\n" +"Language-Team: Polish (https://app.transifex.com/divio/teams/58664/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Odnośnik" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "Wymagany jest co najmniej 1 odnośnik." diff --git a/djangocms_link/locale/pt/LC_MESSAGES/django.mo b/djangocms_link/locale/pt/LC_MESSAGES/django.mo index 72d367a7ea2c04f8f57effb18f14f86824e687ce..a3641606a5da6a646d3e163ac50fd95d80ba062e 100644 GIT binary patch delta 165 zcmbQw(#7I0c=6u>M)O$B=(*9yo}1c|Gu c0a>aFh6Z2&QERVY2vlHX&Bfr8nU~D~05QrPIRF3v delta 183 zcmeBTna>h3=A!G4a{{7j1>$G ztW3?c4U7y7CQfK$E-x>iEXlY;*~nUw!e diff --git a/djangocms_link/locale/pt/LC_MESSAGES/django.po b/djangocms_link/locale/pt/LC_MESSAGES/django.po index 1465e41f..a75494b4 100644 --- a/djangocms_link/locale/pt/LC_MESSAGES/django.po +++ b/djangocms_link/locale/pt/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Portuguese (https://www.transifex.com/divio/teams/58664/pt/)\n" +"Language-Team: Portuguese (https://app.transifex.com/divio/teams/58664/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Link" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefone" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "É necessária no mínimo uma ligação." diff --git a/djangocms_link/locale/pt_BR/LC_MESSAGES/django.mo b/djangocms_link/locale/pt_BR/LC_MESSAGES/django.mo deleted file mode 100644 index 5834f98e18a694b2c3c5f53840d732cc80b162da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2071 zcmai!&u<(x6vqt|TDDN2{HpjNJpmDkn%SLgNt$fah;5S6h_+d!+a8I$JD!c(8GEoj zyA4$@ToFf3AR&ZA)e9FuT)3^oi33Lt2nmjG;lLlj_wA3SMU}AR`OLGP-!J?5x1$F> z5g5lXU%~tpa|ZLXhw#CO9~NR0tb@;hHz)iUd<^pE;C1jTumT=^M2LgntKd;^27C%! z0-pfSgHM82ChUT9kl&xkpMnP<-gU^EhfRBQQp!@=O1mt*Tz(e3X z_$_i+0MA4I6UrRNNhrMpu7Moqd*BY3f{%kgPS$@0UxfS%$ohYS9RFc#V*kfLmgm7Y z!R3i8LAVqKyloPU5XgMWc=Ar4}Z*N@;cIRZ%I+H;;f*gwiW z(qs8BCfi0y#M79Z2ixK}ri0H0F2oT`t^*H_|K7oOfCtx^W1J4ogKN#_CT3=(>F!#$ zlWLVEJALIk)~g*Ob2aBldonhV%rZMr2?g6zVOKdC=&(yOv*SHuU9pmBbDekO+Iww! ztD>3oVI2Fs3IQu#G)KNfvnZ5FJi!+AWmYP(Cfg&K2H56BZSZGgM%IzKG5KfvRa&>S zqViRQwNeA2+Re&Dk)*;YID;R0?e*8l@8unvRYfxdr#od(UaYHBmRSHZ)ssOXA1b6% z=KiH%3$dMvj0~edqoH!40 zVfxuG&KB3e8Wba?oAE8q{bv0Z|X@DrvsDz>|9nMj-RgN43)SSJhx*^(3qN~bzZB2t(&9!%%?`+W3jqS^uTbC-^ zs<19Z7ky7B(b=-+qqc2OrM1LowP` zea*)A^%kReIjS#EyxfSFj>j043(|+E?WFMt&AJAyYt^&VvZkwPCF$8}!N1bjw|jgn z)vnD~=h^8g>@~eo_EgkXGDivsxa^e*6_`Eis-XSZu}m5ZAfH})%2uf~-%i^DVsbgw|h0ViEUDYZFG-CgN$ z-OpTUpNp3E_1IIYT(n`jmak}omO47zjkrN0UzJu?I+;c1tjm3aOfeGunG>gJ{Cj5B z&??pEPFMb?an0~cOT#-Io@SPORE;^x$0!Xslz__X2=8(~b#qb-CRlaGHHnwETNf+DdsCh3Tx_i1; zLm$nX>Km3@mwR^9vet{1OdOO&v*WbGTSTejTkcCFrmdTgPoDkpLb#ZQwDN39OFOQ#ms1OS&eF%24HT&XRKF b^Si5UJYMOjxl#30_W8?!, YEAR. -# -# Translators: -# Angelo Dini , 2016 -# Diego Ponci , 2017 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Diego Ponci , 2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/divio/teams/58664/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "Link" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Configurações do link" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "Configurações avançadas" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "Link interno" - -#: models.py:27 -msgid "Default" -msgstr "Padrão" - -#: models.py:44 -msgid "Open in new window" -msgstr "Abrir em nova janela" - -#: models.py:45 -msgid "Open in same window" -msgstr "Abrir na mesma janela" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "Abrir no frame superior" - -#: models.py:47 -msgid "Delegate to top" -msgstr "Abrir na página principal" - -#: models.py:65 -msgid "Template" -msgstr "Template" - -#: models.py:71 -msgid "Display name" -msgstr "Nome exibido" - -#: models.py:77 -msgid "External link" -msgstr "Link externo" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "Se fornecido, substitui o link externo." - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "Âncora" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"Acrescenta o valor somente após o link interno ou externo. Não " -"inclui o prefixo \"#\"." - -#: models.py:109 -msgid "Email address" -msgstr "Endereço de e-mail" - -#: models.py:114 -msgid "Phone" -msgstr "Telefone" - -#: models.py:120 -msgid "Target" -msgstr "Target" - -#: models.py:126 -msgid "Attributes" -msgstr "Atributos" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Apenas um de {0} ou {1} deve ser informado." - -#: models.py:258 -msgid "Please provide a link." -msgstr "Por favor forneça um link." - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" -"%(anchor_field_verbose_name)s não é permitido junto com %(field_name)s" - -#~ msgid "At least one link is required." -#~ msgstr "Pelo menos um link é necessário." diff --git a/djangocms_link/locale/pt_PT/LC_MESSAGES/django.mo b/djangocms_link/locale/pt_PT/LC_MESSAGES/django.mo deleted file mode 100644 index 02be7f6ff90727ef1ed98053a9077e3539f75cb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 569 zcmYL`O^(wr6o3s35{krzH4DS4)!@V_)6k|AQ92n^(K1m9!xB8nYw97jBioq{2jL8y zfD>>J&caJ7(Ihu{Juv>h59k_{5~O% zP;=B6?)so2=pJM#)pwF^wE~hFeFM2;i-KK&u~Ms;rnC8n+53cECF@U%%a7g~YHb`_ z*-{qlT~k_?>6m)yWyam2ld`bf!wEG(DF}($}JM`~sb~g}jy8&$n-0v?C*|RAnPd zU>S%V9)RmMWdjyy?_i6nPkUSEY8wZ^e!ur!J4SBc&d>EO==uc?i)}C*MbTMMyRT^$ z^u5($l^kCt^tm_J%7MZ~f7E!fgF6@0m5^#e^Q|xz-1KvH!A8ftcG3n6OH{6L`!c4Z zYw7;)9Mf)=msX7t6}!-8XJe}B&b8CQgdWUkPtj*n8ulk1NmKy_{`}JP3tW>7D%iB2 F`48PyoqGTP diff --git a/djangocms_link/locale/pt_PT/LC_MESSAGES/django.po b/djangocms_link/locale/pt_PT/LC_MESSAGES/django.po deleted file mode 100644 index cd2e508a..00000000 --- a/djangocms_link/locale/pt_PT/LC_MESSAGES/django.po +++ /dev/null @@ -1,130 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Portuguese (Portugal) (https://www.transifex.com/divio/teams/58664/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "Endereço Web" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "Telefone" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/ro/LC_MESSAGES/django.mo b/djangocms_link/locale/ro/LC_MESSAGES/django.mo index c530f29ba6a8352b71b809bfbf0b2d349eca7729..078e6e3ae6ba59b592031e8a5694aa7fae60a47e 100644 GIT binary patch delta 35 pcmZ3^@{f6f4&Ne128J*O1_l-&{>eDeDstkUM&`tVg2@hy&jF`O3SR&K delta 74 zcmeyzyqsl%4&P};28J*O1_l-&R$`iH6{!}Y>s*wYSdy8ar|Xhfl4_-3WMF8iYhbQx cV60$hU}b8iZD3?zFmXZ)b9s6BWO2sl0I2;FXaE2J diff --git a/djangocms_link/locale/ro/LC_MESSAGES/django.po b/djangocms_link/locale/ro/LC_MESSAGES/django.po index 447adfcf..fbb03534 100644 --- a/djangocms_link/locale/ro/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ro/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Romanian (https://www.transifex.com/divio/teams/58664/ro/)\n" +"Language-Team: Romanian (https://app.transifex.com/divio/teams/58664/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "Link" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/ro_RO/LC_MESSAGES/django.mo b/djangocms_link/locale/ro_RO/LC_MESSAGES/django.mo deleted file mode 100644 index 7bdf42b9518f17d77b6786f81089c20a2ad28131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 475 zcmYL^-A=+V6vs7swM(zPsELv-dRPa7TgfDdV2C1QPH#TmHcD_1DzqfF{QZ_1oa!u z$Hqeoy|t2;PVd=CST2=;uFm)n?q->WR1)O$dnq&(qsBJDJvEG=5)LB3H-O71z@$>W z#3hWa5fV1%>*0G}6>tPW1>uO`@Df`&PgGG_`1?Q~oF&jm&7G^H?17)ZZzd$eIo z<%Vqv&-pEW{OUrE!9*LB=SwE t<8lrCr?D&IIH+Udx~{kgFun~UZ?)PMag4n}!4+pVdS1Om0?(^C2Y=JzgK+== diff --git a/djangocms_link/locale/ro_RO/LC_MESSAGES/django.po b/djangocms_link/locale/ro_RO/LC_MESSAGES/django.po deleted file mode 100644 index f3c4f99a..00000000 --- a/djangocms_link/locale/ro_RO/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Romanian (Romania) (https://www.transifex.com/divio/teams/58664/ro_RO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/ru/LC_MESSAGES/django.mo b/djangocms_link/locale/ru/LC_MESSAGES/django.mo index 1a25782cd2ed4bfa4e409a089759df7b7be7cd3c..5e43e807686b6c89e778c838836c18702deaa639 100644 GIT binary patch delta 403 zcmYk&u}cDB7{~GFyi+@^%(KX$zy_r$hlaq>hBCUjAqX5AB0VG`!o~i8wx_0Ws;NPQ znq6FicE@O~ttkkHzK=Ha!0$fy-o5X8&wDS6kLk`^;N1!}Pgck^$&oR!+I2*-So`x3 zQ;eIK#7hkD3NxrUi}yH(ee`gEHgAZw{|FNz9r@&Dh6i6bCO@Re_}djJ<0`8cFvMj% z!Y#bO3ifaVKX486@o57Uw0(B4giW;X+@LksMMw6gr?HdJ&E$o3ZN+{<58@MB$oxs! zpZZ^E1~H=TSV?nkHK;}B$7fN!QD~e*r?SsQ-`#aBdZFHVZMWWPJ>}!ujy@+2bd-G6 Nf?w7LKh(|C(k~6=FgO4J literal 2632 zcmaJ>O>7%Q6ds^JF;JjTKmych!BwJW?X{bviEF!rCV_~yiGo`pai})&*jc*Xb$8cx zqqb7h6cyB;REVDVDHN%K3nU?Fo#v-!ZnFm@gb)%J&Kx)c-Uc~bG4?3% z72sB26!;Xd2lxc=E#Q;DBMlq}w&Q%FasCvz3FmJc=kI{8;k*JQzTbh*0{;R&4BQOk z=Yd;*lus168Q1}gBBw6kyEwmxmsHmRFb@0$Ncl#P>|NkC;M2gLfG+_50PY3;4NL*M zK^g;|0KNqLvVkkWL7aaE?f`CoEUdE+xE<%iz)qkIr1)P0cL9F{ZUO!YOalJ_f`TQH z6zQ}N*k}Pxq4rcKEvg@-DSJ9Uj^{Z%kVMr0Dy0QV-&j;DN>MSXAG9b=>!KN;MLKU& zyYPqfAg!ryEZSz+;}ed1tY8W&f2=CpF~<|fY@;OFJ#Kp3c6@GFmQxdX?mI={PY9RS zOn-t$+d`kvmZdGzK29Db)ALNbm}PzWD#+pI3E#(!$NE$()>keIJMVFD@v31}1b1v} zk{bmd+;nN$*x81~9hZxfjXm+lc)!EbqLf8i={OLk<5ndvxWUV=KrqDNJ73+&y~)y; zW5rmX@4Mz$#TOpy7X_nY`9Mn)4PT%hUN&4|-+SddW!7(cWy_f4R2v&88K%XJeBKqF z#|B#SVM7JPb*g4w2^-RZ3@sYj*Z}+`9z>f}$zB4p@I5H~Aj_YfOyrP-c-l!BkE$5_o zWMnv}9dL!=!%6E0S&Aq1M6agr)$~0)p{KgKck4-AhoLqqswR;)?YcF+S4(tpy*H)z z?AEa&2My2Ha;{-}NX>Cmd>FmrgQhpZ)6Ve%@byW<&Wn>Vx03CkV0+;)-_hIhEyL!62JL7I8-X1wLbZDR{ zK_aF{4mjwVjf^JCD9uMpzbhg7K(QwIRbb6)ivYD=?dvE*3J$MmjJ!U!shW$JVf<5i{ ze*OQKLaxe1E*IpQyc(9`8{AQI2&AQ*@hX; zA-8#W&unA}IuL^nE}WvEf@R{Jr@Dd<=~pgsS;uW%-J(c}wum?3yOtvAG4+X(pEoii zS;CK%5@;hl7%p)L0@@WsLI&!~CFjF>E+9=L5o7YIidC0$D(XchuOm$ev!b#lJCfuI z-7l)779akPL$Et;oX6%M) zKsYw^$!-h?eYRC|ZiNa`wvCn`hc7T~ccAFS^%jwl>i-I4Q>riC$4bp8EFfl!*$w(1 rpz!nXTvdYs1I!I{TB6h?G-_yeD;$EB5|ku2iGltl-@tDUWJL5YGxZ2$ diff --git a/djangocms_link/locale/ru/LC_MESSAGES/django.po b/djangocms_link/locale/ru/LC_MESSAGES/django.po index b4ceb114..9a3b8a11 100644 --- a/djangocms_link/locale/ru/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ru/LC_MESSAGES/django.po @@ -12,122 +12,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Oleg Fish , 2017\n" -"Language-Team: Russian (https://www.transifex.com/divio/teams/58664/ru/)\n" +"Language-Team: Russian (https://app.transifex.com/divio/teams/58664/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Ссылка" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "Настройки ссылки" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "Дополнительные настройки" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "Внутренняя ссылка" -#: models.py:27 +#: djangocms_link/fields.py:27 +msgid "External link/anchor" +msgstr "" + +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "" + +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." +msgstr "" + +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" +msgstr "" + +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." +msgstr "" + +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." +msgstr "" + +#: djangocms_link/fields.py:188 +msgid "Select internal destination" +msgstr "" + +#: djangocms_link/fields.py:194 +msgid "#anchor" +msgstr "" + +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." +msgstr "" + +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." +msgstr "" + +#: djangocms_link/fields.py:215 +msgid "Select site" +msgstr "" + +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." +msgstr "" + +#: djangocms_link/models.py:24 msgid "Default" msgstr "По умолчанию" -#: models.py:44 +#: djangocms_link/models.py:41 msgid "Open in new window" msgstr "Открыть в новом окне" -#: models.py:45 +#: djangocms_link/models.py:42 msgid "Open in same window" msgstr "Открыть в том же окне" -#: models.py:46 +#: djangocms_link/models.py:43 msgid "Delegate to parent" msgstr "Передать в родительский фрейм" -#: models.py:47 +#: djangocms_link/models.py:44 msgid "Delegate to top" msgstr "Передать в окно верхнего уровня" -#: models.py:65 +#: djangocms_link/models.py:61 msgid "Template" msgstr "Шаблон" -#: models.py:71 +#: djangocms_link/models.py:67 msgid "Display name" msgstr "Название для отображения" -#: models.py:77 -msgid "External link" -msgstr "Внешняя ссылка" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "Если указана, замещает внешнюю ссылку." - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "Якорь" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" -"Якорь добавляется только после внешней или внутренней ссылки. Не " -"надо добавлять символ \"#\" в начале." - -#: models.py:109 -msgid "Email address" -msgstr "Адрес эл. почты" - -#: models.py:114 -msgid "Phone" -msgstr "Телефон" - -#: models.py:120 +#: djangocms_link/models.py:77 msgid "Target" msgstr "Цель" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "Атрибуты" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "<ссылка отсутствует>" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "Только {0} или {1} можно задать." - -#: models.py:258 -msgid "Please provide a link." -msgstr "Пожалуйста, укажите ссылку." +#: djangocms_link/models.py:118 +msgid "Link is required." +msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "%(anchor_field_verbose_name)s не допускается вместе с %(field_name)s" +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" +msgstr "" -#~ msgid "At least one link is required." -#~ msgstr "Как минимум одна ссылка необходима." +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" +msgstr "" diff --git a/djangocms_link/locale/sk/LC_MESSAGES/django.mo b/djangocms_link/locale/sk/LC_MESSAGES/django.mo index 583e7b3bd0b4b8afe56a5e6b941efede6ba29544..a890c0a08a98d4f48bda3f24ebab3f0f9a8c0376 100644 GIT binary patch delta 35 pcmX@XGM{CF4(}mG28J*O1_o9jmYirAHE~Zpb7DckW;;eMMgW=72%!J~ delta 74 zcmbQwa)M=o4)1G528J*O1_o9jcA97zr52*=T$Gwvl9`{U>ylWKYNcRgU}&jpV6JOm ctYBzhWoo8vU}Ru0aY7Swd3pI}QARFC0JKyRsQ>@~ diff --git a/djangocms_link/locale/sk/LC_MESSAGES/django.po b/djangocms_link/locale/sk/LC_MESSAGES/django.po index 86cc890f..a356b992 100644 --- a/djangocms_link/locale/sk/LC_MESSAGES/django.po +++ b/djangocms_link/locale/sk/LC_MESSAGES/django.po @@ -11,120 +11,160 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Slovak (https://www.transifex.com/divio/teams/58664/sk/)\n" +"Language-Team: Slovak (https://app.transifex.com/divio/teams/58664/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk\n" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" -#: cms_plugins.py:15 +#: apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: cms_plugins.py:15 models.py:73 msgid "Link" msgstr "Odkaz" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/sk_SK/LC_MESSAGES/django.mo b/djangocms_link/locale/sk_SK/LC_MESSAGES/django.mo deleted file mode 100644 index 5d185dafd1b33e2ae40348905103b7f0c7afd622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmZ9H&u$tq5XMtAr#7NtQ2l6NKXYxn#S8}14{Fj<7iUo7f$eL$4_1K@`gS1W= z&0%!Y8QlEr!b5jF>EHhf#xgh73E3{K{`C6HpRX9@{WkOGbE^NfjW<7K-kCQ=I4u<_<_xQJ{!h(*`UTTl& zTTVB7`Rc=bDU@!*bRn#hKKY&YFg|j{rn$7()l)N5I^z&ODSx<^!){kFTCS~FV$ax> z5_UI_Gwbm@C71B5@2v~0lLT{xTcEmcdhRURQJ%g1nLAu2k5+*zlJJ@TDcvZ F{0I7=hsgi{ diff --git a/djangocms_link/locale/sk_SK/LC_MESSAGES/django.po b/djangocms_link/locale/sk_SK/LC_MESSAGES/django.po deleted file mode 100644 index b534aec0..00000000 --- a/djangocms_link/locale/sk_SK/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Slovak (Slovakia) (https://www.transifex.com/divio/teams/58664/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/sl/LC_MESSAGES/django.mo b/djangocms_link/locale/sl/LC_MESSAGES/django.mo index 4afa8c9cfd385424fa9b4b325c242a39d4d7c7cb..05e3aaebf6684c2a24016e2a941e1d8df0d63960 100644 GIT binary patch delta 21 dcmcc4ypDN-3S-Gc)xe4KJ(v><3MRgK3jkIh2;cw! delta 60 zcmZ3-e4TlM3gg^~s)1@Dy3R$Zi6xo&dAcr%C8<^lMh1qKx(4RD2F41823DqK+6G1j Q1`~_Dnaj(|CmwtY05L%lzW@LL diff --git a/djangocms_link/locale/sl/LC_MESSAGES/django.po b/djangocms_link/locale/sl/LC_MESSAGES/django.po index 583d1000..11727207 100644 --- a/djangocms_link/locale/sl/LC_MESSAGES/django.po +++ b/djangocms_link/locale/sl/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Slovenian (https://www.transifex.com/divio/teams/58664/sl/)\n" +"Language-Team: Slovenian (https://app.transifex.com/divio/teams/58664/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/sl_SI/LC_MESSAGES/django.mo b/djangocms_link/locale/sl_SI/LC_MESSAGES/django.mo deleted file mode 100644 index b43cb2d73df621e0f8aa94ed1fd09f47f10d13f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 584 zcmYL_-)_?|6vhJ@63QjlT$~%ER+|&2e?sdnjM8N)ZnIYV9`=SZy-IYGW4|DJi?3coLr3k;xrQk`#f zE!9siHTs9h9ht4kN*F7(Vvvp}pT-}ju$nHGvzyQULR8u~GPi|XlMlPXl1wx3)0>P; zjNlGKGN8LPS|VKBXN>v5_pqUe=c%`(i?eB4~e zExFT%!B`cd)Nm=4gmd1QV2$SeTJEI|^3A)mdSr}ARqS{nNGAA}!LrnQp(Iz(dOWtF zwQ;VpEDR5aL*VKu@>bjhx!#7&b)mzo4f}&Q?uEAeww#4+e?FT}j}H?C)SqbOgu*?4 zRrteB+_|tSxl|*_H{4j^lCRkn865lSNw>m~sme7jUoaSam+on02F)x#Eq8{Ov~V5!?4`Cf`o@|*9u_aBP! BpUMCL diff --git a/djangocms_link/locale/sl_SI/LC_MESSAGES/django.po b/djangocms_link/locale/sl_SI/LC_MESSAGES/django.po deleted file mode 100644 index 214814a0..00000000 --- a/djangocms_link/locale/sl_SI/LC_MESSAGES/django.po +++ /dev/null @@ -1,130 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/divio/teams/58664/sl_SI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "Povezava" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/sq/LC_MESSAGES/django.mo b/djangocms_link/locale/sq/LC_MESSAGES/django.mo index f1d290a6128d6af93f24984ccb2b8e4f7fdc55c4..29af75118101fbe82bf9b496027d371579af47d4 100644 GIT binary patch literal 1032 zcmYL{&2AGh5XW68U*SuX142T`+*-kAlZsa9wy8+lw2f#<6w-<#PIkI+vhi+hryn4} zg##BZNJzW@;?O666R0O1feTN-190T;ByC3;{dUGPe~;JxGco>&!LGya!Qa7e!T-XY z<;I3_e#B)kgZvhF3494&1KZ#gun#(|x8OMV0h|Cog15mh;6?Bocp3ZwzJdRO-$cBA zp0T^&3(&1=(CNPh-THg*2KX6tx?e%3_Z_?g{sixXzd_gkZ?ry!VX(zu#&e)MgVS~9 z&fyHDgC3`M6@CHk%$>)XI}clkrRs8NcuyK5RkX-T;hs<}3b`R`kuj`ft(MKcCBs%| zNAzRMR-{Q|ambbE5nGipai_y7%92(h9!483RZU58skowjzAsgn?4PC#non{Kp(C=a zK|SbNVl|y~sAauM=xviWGEo7qm6o5D*2;XlTz_7vKFic8O|H|OPNcy2Dp6&~hbnGIpA*U&;4?3n0)FOgBQ%a>xZf-f`& z(UVjsk;b5=y(`mfqNBw}(3^JcD(Z`fyatJ0z)NvcC@B=5Y+IX}!1qO(X04N#J9Ln3 zB|SfsdouAY>Wx2Bn4Nv>n_Yh@vsu|JpPe$F&1IGo{78lA4pWS8>A?EJ`rF+%`L;y|QX0AucW8g{HKpGX~u3W@>R?i`ZLDbk77_rGwBEr|0?bvpA{v zgCfsQ&1c-R2-_XOdwmrpYLV47Mg2IIxG;Ns#Cyj_mO7@5%P)=I2CE4zUPT>3AF(nj zG*>94E@opJPL6n2XiG7jgv6VgR5;KXRi{tbSO9SbP|^}egVeylPx# diff --git a/djangocms_link/locale/sq/LC_MESSAGES/django.po b/djangocms_link/locale/sq/LC_MESSAGES/django.po index e9726508..8ee722bb 100644 --- a/djangocms_link/locale/sq/LC_MESSAGES/django.po +++ b/djangocms_link/locale/sq/LC_MESSAGES/django.po @@ -3,124 +3,141 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# Translators: +# Besnik Bleta , 2020 +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Albanian (https://www.transifex.com/divio/teams/58664/sq/)\n" +"Last-Translator: Besnik Bleta , 2020\n" +"Language-Team: Albanian (https://app.transifex.com/divio/teams/58664/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: djangocms_link/apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 +msgid "Link" +msgstr "Lidhje" -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" -msgstr "" +msgstr "Rregullime të mëtejshme" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" -msgstr "" +msgstr "Lidhje e brendshme" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" -msgstr "" +#: djangocms_link/fields.py:30 +msgid "File link" +msgstr "Lidhje kartele" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" +#: djangocms_link/models.py:24 +msgid "Default" +msgstr "Parazgjedhje" + +#: djangocms_link/models.py:41 +msgid "Open in new window" +msgstr "Hape në dritare të re" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "Hape në të njëjtën dritare" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: djangocms_link/models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "Gjedhe" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "Emër në ekran" + +#: djangocms_link/models.py:77 msgid "Target" -msgstr "" +msgstr "Objektiv" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" -msgstr "" +msgstr "Atribute" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" -msgstr "" +msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/sq_AL/LC_MESSAGES/django.mo b/djangocms_link/locale/sq_AL/LC_MESSAGES/django.mo deleted file mode 100644 index dde71438457f29b1cf6aee572e009efdd48f7c8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmYL^%T59@6oxUnnx$(OHE{vKLpvzrP%;ZdFhr3Fj%-btDMJmkV_Pmhh_C0f*g*q- z@}=jb|GE8~pM6)HP8=7GE61th+EFTW?A&MDy`|@%SgQ}7S{P<9<=O}(DT=$jr|x4P zP5YDA;rPXy@Iq+|Ba@2^?$^12L{a3$;{6M{K7W>ph%?|nt OqpC!g5%Oytuks7q6nVw~ diff --git a/djangocms_link/locale/sq_AL/LC_MESSAGES/django.po b/djangocms_link/locale/sq_AL/LC_MESSAGES/django.po deleted file mode 100644 index 224ee71d..00000000 --- a/djangocms_link/locale/sq_AL/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Albanian (Albania) (https://www.transifex.com/divio/teams/58664/sq_AL/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sq_AL\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/sr/LC_MESSAGES/django.mo b/djangocms_link/locale/sr/LC_MESSAGES/django.mo index 6c0bc8db81b7bb31c2f270c38a9287192a599e12..0503856a2dc81d7c62812283e72c55341d0e3198 100644 GIT binary patch delta 22 ecmaFOe29613S-Aa)xe4K-Ix;#3O2rAW&{9Y2nbIA delta 61 zcmX@a{F-@!3ggC!s)1@Dy3R$Zi6xo&dAcr%C8<^lMh1qKx(4RD2F41823DqK+6G1j R1`~@tnaj(|H|}R<1OQMi5-tD$ diff --git a/djangocms_link/locale/sr/LC_MESSAGES/django.po b/djangocms_link/locale/sr/LC_MESSAGES/django.po index ee5d884d..de923596 100644 --- a/djangocms_link/locale/sr/LC_MESSAGES/django.po +++ b/djangocms_link/locale/sr/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Serbian (https://www.transifex.com/divio/teams/58664/sr/)\n" +"Language-Team: Serbian (https://app.transifex.com/divio/teams/58664/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/sr@latin/LC_MESSAGES/django.mo b/djangocms_link/locale/sr@latin/LC_MESSAGES/django.mo deleted file mode 100644 index fde40783468a304b4fcda3c270c187fee0a283d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 603 zcmYLH(QeZ)6b)#+3 zUTXB6$Q_xk$Wj<9wPKKt#$QKYCa|0=uBTVu{Dr8rab#`_xgwvpg(aD0;HOs^85_YJ zhR6kXfPofAu0R^<9K1({!pN7e4JvIqCj3_)lK1I+&+n9+k M(`gTUuXzOj0I{Q@)c^nh diff --git a/djangocms_link/locale/sr@latin/LC_MESSAGES/django.po b/djangocms_link/locale/sr@latin/LC_MESSAGES/django.po deleted file mode 100644 index dc9c7ed9..00000000 --- a/djangocms_link/locale/sr@latin/LC_MESSAGES/django.po +++ /dev/null @@ -1,130 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Serbian (Latin) (https://www.transifex.com/divio/teams/58664/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "Link" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/sv/LC_MESSAGES/django.mo b/djangocms_link/locale/sv/LC_MESSAGES/django.mo index 14a54320e6c39c32b80eb6c0cdc15cfad01c60c8..eae17268b51b89945c5b9f05508c00bfff34339b 100644 GIT binary patch delta 87 zcmbQka+TTfo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlL3PuKoFdz+*KM!OB5d*`- VK(UFrHWM#3FeeriOb%t-4*3w? zfou^V4HRZzp6DpXl98X6Ix*BvEkxJ3C^fMpGe1w)C9x#cO2Np$&{EgHT-U%@!O+0U f)J)sJ$iQIYgl6XQ^76@IjQcr4Qgc$%^79w~Guazc diff --git a/djangocms_link/locale/sv/LC_MESSAGES/django.po b/djangocms_link/locale/sv/LC_MESSAGES/django.po index 490e1a52..6b478a6e 100644 --- a/djangocms_link/locale/sv/LC_MESSAGES/django.po +++ b/djangocms_link/locale/sv/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Swedish (https://www.transifex.com/divio/teams/58664/sv/)\n" +"Language-Team: Swedish (https://app.transifex.com/divio/teams/58664/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Länk" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/ta/LC_MESSAGES/django.mo b/djangocms_link/locale/ta/LC_MESSAGES/django.mo index 8f357dfb19411db933331dd683816d57e8ebbe5f..06ce80fa77bfdd100ff2ebf8acdf5d6c10029652 100644 GIT binary patch delta 87 zcmdnT@{HN>o)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLGDZf5Fd!`f#AktQAYx#c V7$`O|*Jk3SI_AWJg2};*mjKjv4Qc=Y delta 173 zcmaFHypJXDo)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vp&u3&{$N|z4K+MAg zp;du2P?&*vqN5l~Mt)xE#85l65MAe@)Wnj^{5)Nk#FA7i1tSAPOI-tVT?1nULjx;Q yGi?JS1A~bZ8kx(>%O{I4UXpyUZpnl7T@Ti6da%CZ!Mars*0(=cH|xQ={R{x>*D7xS diff --git a/djangocms_link/locale/ta/LC_MESSAGES/django.po b/djangocms_link/locale/ta/LC_MESSAGES/django.po index f8147656..b696c723 100644 --- a/djangocms_link/locale/ta/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ta/LC_MESSAGES/django.po @@ -11,120 +11,133 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 14:11+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" "Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Tamil (https://www.transifex.com/divio/teams/58664/ta/)\n" +"Language-Team: Tamil (https://app.transifex.com/divio/teams/58664/ta/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ta\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "தொடுப்பு" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "தொலைபேசி" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/th/LC_MESSAGES/django.mo b/djangocms_link/locale/th/LC_MESSAGES/django.mo index 0482c7bee746988fe552dd65e8d1b779c2e8b55e..927e5d88a572ba832dce5491d5f6a7851729f384 100644 GIT binary patch delta 21 dcmbQv{ElgY3ZuzH)xe4KotYC03MM|?1OQQ>2wDID delta 60 zcmaFIG@W^Z3S;a<)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNem%%;n|f6ZdQa03+EFIRF3v diff --git a/djangocms_link/locale/th/LC_MESSAGES/django.po b/djangocms_link/locale/th/LC_MESSAGES/django.po index f7d74459..3a57d263 100644 --- a/djangocms_link/locale/th/LC_MESSAGES/django.po +++ b/djangocms_link/locale/th/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Thai (https://www.transifex.com/divio/teams/58664/th/)\n" +"Language-Team: Thai (https://app.transifex.com/divio/teams/58664/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/th_TH/LC_MESSAGES/django.mo b/djangocms_link/locale/th_TH/LC_MESSAGES/django.mo deleted file mode 100644 index d98aefc37e509116a810b5eda111d2453f498c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmYL^O;5rw7{@Vs+R?Lz9y~zsp&iQHN;n`6C5kLKxth9_Q8U`5EiZl$zn-7PP80Yi zzqU`F|MSwH^Rw@U(~0B4ap^d9Tsdlm4(XDSyKB!uiB_LHvoOhF!L<=eQj`owPs4{8 zE#mp>WcK3Cd8M?4sVPJbcbmdMswnc3SqdY~nRP{Q&n%~?OZ*7PEs$&E6WR;fq)Ui1 z!klkK-TdeafJET;5Q!)W+r-IxX0q6@fPbtkA(olSg)ArvKZHGO>w46)yrkS{R>D~6wV_B>f1w%pef0kv IkiOUW1qXw7SO5S3 diff --git a/djangocms_link/locale/th_TH/LC_MESSAGES/django.po b/djangocms_link/locale/th_TH/LC_MESSAGES/django.po deleted file mode 100644 index 78a8fe31..00000000 --- a/djangocms_link/locale/th_TH/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Thai (Thailand) (https://www.transifex.com/divio/teams/58664/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/tlh/LC_MESSAGES/django.mo b/djangocms_link/locale/tlh/LC_MESSAGES/django.mo deleted file mode 100644 index a9d406059c6e05cb9d854a23430bd9cc9dc27fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418 zcmYL^-%i3X6vi=nwM(zP=!F*$JhVfZqXZMgVF)4%PVVbgwwlo{ZTaJa_D z&?;KKO&71;l2=Mwn44T=@VLzlB#I(0UL-KqoLScdPt0+A;i!XUWAwk&YVn@{J_X&=8sys?s&OAE8 z@5uzhldt|~%{4?aRhbJyQTQS3F{7JN7G7L#H7jAF^u|ymtH06=y94xp9X2I;Kz?iB GHGTo0Yjr6A diff --git a/djangocms_link/locale/tlh/LC_MESSAGES/django.po b/djangocms_link/locale/tlh/LC_MESSAGES/django.po deleted file mode 100644 index 52f43376..00000000 --- a/djangocms_link/locale/tlh/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Klingon (https://www.transifex.com/divio/teams/58664/tlh/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tlh\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/tr/LC_MESSAGES/django.mo b/djangocms_link/locale/tr/LC_MESSAGES/django.mo index 2fa7b1172abda39fafa523fe2ea87da4f359dd05..8e35fe6ec6a4e35d4baa63a1a2c18147d351753d 100644 GIT binary patch delta 87 zcmZ3$a+BHdo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLaz+M*Fd)qZ#OHu)AYx#c V7$`O|*Jk3S2Ij5{UFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih4 i11nQAZ380%gNYNGnaj(|CyOy2<_Jm6NlnYoV*mg, 2016\n" -"Language-Team: Turkish (https://www.transifex.com/divio/teams/58664/tr/)\n" +"Language-Team: Turkish (https://app.transifex.com/divio/teams/58664/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Bağlantı" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Telefon" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/tr_TR/LC_MESSAGES/django.mo b/djangocms_link/locale/tr_TR/LC_MESSAGES/django.mo deleted file mode 100644 index 33d3af81402071a7bb0c7915c19887d0a36976b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmYL^T~ER=6oxT+wM(zP=!F*$Jgh^RTL~tJ!w^N5Ik`1;E29eS(sq3O5dWUP#ZD7= zlP5hVeb3j=`Pp~F>cnzkxwM>Gt}L|zOJzSp`_`U=VkJLWW?+)ToGHzvASfP=o`#PR znn%g&WcK1Dtdz>YR2Mvl`>N28N`jntmcmFeYHSfaP{Ro7VlM=I3-}s&nDqQM?qY0> zkgyG}n;(5X;1IkX!Xd#y8(TTgR1_607^IA@2}&#V#q|<3>wxWBsJS$z)WmhS+ik}v zDl}iPT_=-kH|HBJU1RIC+Y5aE#x?3aP283C+;T;^ z=%Z{&m1bt}mX0Af`szswrXUiT%(*BC3O=|wtZRGJvz&NUDY}BORBKI;DF0GD==RZn OIA{uVhrCwbY5W4pTzQEA diff --git a/djangocms_link/locale/tr_TR/LC_MESSAGES/django.po b/djangocms_link/locale/tr_TR/LC_MESSAGES/django.po deleted file mode 100644 index 3bf61281..00000000 --- a/djangocms_link/locale/tr_TR/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Turkish (Turkey) (https://www.transifex.com/divio/teams/58664/tr_TR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/ug/LC_MESSAGES/django.mo b/djangocms_link/locale/ug/LC_MESSAGES/django.mo index 130e8797c0def738f80ab6383a5595116f818ff6..d8e565088e36c0931857ae747c493f00dafbcf9d 100644 GIT binary patch delta 58 zcmbQq{GDln3Zv~r)xe4K&4en`GfImTG%`v`3W}}t^%DyUCO%&xYGkcYkW*Tem}9Gv Or=V!7V5n)$#Q*?YFcRnh delta 90 zcmey)G?RIP3S<04)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% ugNenKLYe6qr9}!F86_nJ#a8loQ_buTwv{op{DJ@FOu{E&fVgLZq@f%72 diff --git a/djangocms_link/locale/ug/LC_MESSAGES/django.po b/djangocms_link/locale/ug/LC_MESSAGES/django.po index 45096550..52a38c7e 100644 --- a/djangocms_link/locale/ug/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ug/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Uighur (https://www.transifex.com/divio/teams/58664/ug/)\n" +"Language-Team: Uyghur (https://app.transifex.com/divio/teams/58664/ug/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ug\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/uk/LC_MESSAGES/django.mo b/djangocms_link/locale/uk/LC_MESSAGES/django.mo index 2f8c51df13df5e71f596a04c2d56905f8e5a849f..07019e3a21a06591d61176608e1c5f1fdfd8fc6c 100644 GIT binary patch delta 88 zcmbQhc8JySo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlL2%w@cAT0#M>w#=WAk8o_ WP;6qZ&BRMh%!vgBo5LAbF#-U;qzv5v delta 164 zcmX@aI)N?lo)F7a1|VPtVi_Pd0b*7l_5orLNC09MAWj5gka!vpH!?9W, 2016\n" -"Language-Team: Ukrainian (https://www.transifex.com/divio/teams/58664/uk/)\n" +"Language-Team: Ukrainian (https://app.transifex.com/divio/teams/58664/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\n" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" -#: cms_plugins.py:15 +#: djangocms_link/apps.py:7 +msgid "django CMS Link" +msgstr "" + +#: djangocms_link/cms_plugins.py:15 djangocms_link/models.py:73 msgid "Link" msgstr "Посилання" -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 +#: djangocms_link/cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: djangocms_link/fields.py:26 djangocms_link/forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: djangocms_link/fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: djangocms_link/fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: djangocms_link/fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: djangocms_link/fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: djangocms_link/fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: djangocms_link/fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: djangocms_link/fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: djangocms_link/fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: djangocms_link/fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: djangocms_link/fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: djangocms_link/fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: djangocms_link/fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: djangocms_link/models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: djangocms_link/models.py:41 +msgid "Open in new window" msgstr "" -#: models.py:114 -msgid "Phone" -msgstr "Телефон" +#: djangocms_link/models.py:42 +msgid "Open in same window" +msgstr "" + +#: djangocms_link/models.py:43 +msgid "Delegate to parent" +msgstr "" + +#: djangocms_link/models.py:44 +msgid "Delegate to top" +msgstr "" -#: models.py:120 +#: djangocms_link/models.py:61 +msgid "Template" +msgstr "" + +#: djangocms_link/models.py:67 +msgid "Display name" +msgstr "" + +#: djangocms_link/models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: djangocms_link/models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: djangocms_link/models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: djangocms_link/models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: djangocms_link/validators.py:50 +msgid "Enter a valid anchor" msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: djangocms_link/validators.py:84 +msgid "Enter a valid phone number" msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "Принаймні, одне посилання не потрібно." diff --git a/djangocms_link/locale/ur/LC_MESSAGES/django.mo b/djangocms_link/locale/ur/LC_MESSAGES/django.mo index da1d3da2a70eea811bb62f2c2b945e18fa2a0135..49e0e8512479392e3132a4ee6ace8c9f75861686 100644 GIT binary patch delta 21 dcmbQo{FP~f3ZwNz)xe4KotYC03MM|?2>??e2zCGf delta 60 zcmey$G>>_L3S-Jd)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNem%%;n|f6Zh-{04R+TRR910 diff --git a/djangocms_link/locale/ur/LC_MESSAGES/django.po b/djangocms_link/locale/ur/LC_MESSAGES/django.po index 6c988c25..4cdbaa7d 100644 --- a/djangocms_link/locale/ur/LC_MESSAGES/django.po +++ b/djangocms_link/locale/ur/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Urdu (https://www.transifex.com/divio/teams/58664/ur/)\n" +"Language-Team: Urdu (https://app.transifex.com/divio/teams/58664/ur/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/vi/LC_MESSAGES/django.mo b/djangocms_link/locale/vi/LC_MESSAGES/django.mo index 28cbcb66bd049264beff4f582466ba473a72f7f0..6becf3833a30f0db599ff0524a87d94afd7daa87 100644 GIT binary patch delta 21 dcmbQs{Dol2j`NBLhQAT?2Dn17ih411nQAZ380% QgNemH%;n|f6Ax_y04Ns{R{#J2 diff --git a/djangocms_link/locale/vi/LC_MESSAGES/django.po b/djangocms_link/locale/vi/LC_MESSAGES/django.po index 257dd48c..0363bc5f 100644 --- a/djangocms_link/locale/vi/LC_MESSAGES/django.po +++ b/djangocms_link/locale/vi/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Vietnamese (https://www.transifex.com/divio/teams/58664/vi/)\n" +"Language-Team: Vietnamese (https://app.transifex.com/divio/teams/58664/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/vi_VN/LC_MESSAGES/django.mo b/djangocms_link/locale/vi_VN/LC_MESSAGES/django.mo deleted file mode 100644 index 9d12dc036e7bccd9cfec428f8260819aba5e7431..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmYL^O;5rw7{@hw+R?Lz9y~zsp&iQHN;n{bAqp%wcQth@qlUFhTVDJiemy^n9VYNk ze(Ce1|L5)Z>hkBz>D+PcxN%%KZXLBkhjpKkduz{8u~uI^voOga<=O}(DT)Wfm%;N0 zrK82$WIpp2yi(f2)D$9z$4y}%Q51RcJb|I+%(^0YVwO|XA$|np0mvQl3GD_g(jmkd zVZpbeZhrCwKqBzFh(wfxE#l<8GFfa`!6D(Sq$m~KN>*~iQKOF0jFnB)SXo;cit%o@ zYg^5v5lg;rXR5@x*b0TMD>k?r2EjevijQ=Lo8ELX9i8s;+r%3xX}PqJd{=I7%l8&n zYbIn5WhK8mW1% diff --git a/djangocms_link/locale/vi_VN/LC_MESSAGES/django.po b/djangocms_link/locale/vi_VN/LC_MESSAGES/django.po deleted file mode 100644 index 1f352519..00000000 --- a/djangocms_link/locale/vi_VN/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/divio/teams/58664/vi_VN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/zh-Hans/LC_MESSAGES/django.mo b/djangocms_link/locale/zh-Hans/LC_MESSAGES/django.mo index b545cdf8ba519e6f2a8f6e5f7aab8059965c60e7..8893fb6623f0fe3b1b4581cf04f927a803d50721 100644 GIT binary patch delta 21 dcmZ3_+{QdXh0$lCYT(5Afy{{o1rtB-0RT Q!NlSa=JN9LiKq4e02Znot " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/zh/LC_MESSAGES/django.mo b/djangocms_link/locale/zh/LC_MESSAGES/django.mo index 7dc5a1281c4e22976eb6368f8b82541f70c8dfa8..099e54a90db567190d1084eed267dead8ee454ef 100644 GIT binary patch delta 21 dcmbQm{E=yb3ZwZ%)xe4K-Ix;#3MRhT1OQTC2x$NS delta 60 zcmey!G>dtH3S+`V)j+inUFV|I#FEVXJYAQ>l2j`NBLhQAT?2Dn17ih411nQAZ380% QgNenS%;n|f6ZdZd044YmNB{r; diff --git a/djangocms_link/locale/zh/LC_MESSAGES/django.po b/djangocms_link/locale/zh/LC_MESSAGES/django.po index d427bca9..f8c5ea69 100644 --- a/djangocms_link/locale/zh/LC_MESSAGES/django.po +++ b/djangocms_link/locale/zh/LC_MESSAGES/django.po @@ -8,119 +8,159 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" +"POT-Creation-Date: 2024-10-27 13:38+0100\n" "PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Chinese (https://www.transifex.com/divio/teams/58664/zh/)\n" +"Language-Team: Chinese (https://app.transifex.com/divio/teams/58664/zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: cms_plugins.py:15 -msgid "Link" +#: apps.py:7 +msgid "django CMS Link" msgstr "" -#: cms_plugins.py:26 -msgid "Link settings" +#: cms_plugins.py:15 models.py:73 +msgid "Link" msgstr "" -#: cms_plugins.py:34 +#: cms_plugins.py:27 msgid "Advanced settings" msgstr "" -#: forms.py:15 models.py:85 +#: fields.py:26 forms.py:15 msgid "Internal link" msgstr "" -#: models.py:27 -msgid "Default" +#: fields.py:27 +msgid "External link/anchor" msgstr "" -#: models.py:44 -msgid "Open in new window" +#: fields.py:30 +msgid "File link" msgstr "" -#: models.py:45 -msgid "Open in same window" +#: fields.py:169 +msgid "No destination selected. Use the dropdown to select a destination." msgstr "" -#: models.py:46 -msgid "Delegate to parent" +#: fields.py:175 +msgid "https://example.com or #anchor" msgstr "" -#: models.py:47 -msgid "Delegate to top" +#: fields.py:177 +msgid "" +"Provide a link to an external URL, including the schema such as 'https://', " +"'tel:', or 'mailto:'. Optionally, add an #anchor (including the #) to scroll" +" to." msgstr "" -#: models.py:65 -msgid "Template" +#: fields.py:186 +msgid "" +"Select from available internal destinations. Optionally, add an anchor to " +"scroll to." msgstr "" -#: models.py:71 -msgid "Display name" +#: fields.py:188 +msgid "Select internal destination" msgstr "" -#: models.py:77 -msgid "External link" +#: fields.py:194 +msgid "#anchor" msgstr "" -#: models.py:89 -msgid "If provided, overrides the external link." +#: fields.py:195 +msgid "Provide an anchor to scroll to." msgstr "" -#: models.py:93 -msgid "File link" +#: fields.py:206 +msgid "Select a file as destination." msgstr "" -#: models.py:97 -msgid "If provided links a file from the filer app." +#: fields.py:215 +msgid "Select site" msgstr "" -#: models.py:102 -msgid "Anchor" +#: fields.py:249 +msgid "Select a link type and provide a link." msgstr "" -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." +#: models.py:24 +msgid "Default" msgstr "" -#: models.py:109 -msgid "Email address" +#: models.py:41 +msgid "Open in new window" +msgstr "" + +#: models.py:42 +msgid "Open in same window" +msgstr "" + +#: models.py:43 +msgid "Delegate to parent" msgstr "" -#: models.py:114 -msgid "Phone" +#: models.py:44 +msgid "Delegate to top" msgstr "" -#: models.py:120 +#: models.py:61 +msgid "Template" +msgstr "" + +#: models.py:67 +msgid "Display name" +msgstr "" + +#: models.py:77 msgid "Target" msgstr "" -#: models.py:126 +#: models.py:83 msgid "Attributes" msgstr "" -#: models.py:151 +#: models.py:109 msgid "" msgstr "" -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." +#: models.py:118 +msgid "Link is required." msgstr "" -#: models.py:258 -msgid "Please provide a link." +#: validators.py:50 +msgid "Enter a valid anchor." msgstr "" -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" +#: validators.py:84 +msgid "Enter a valid phone number" msgstr "" -#~ msgid "At least one link is required." +#~ msgid "Link settings" +#~ msgstr "" + +#~ msgid "If provided, overrides the external link." +#~ msgstr "" + +#~ msgid "If provided links a file from the filer app." +#~ msgstr "" + +#~ msgid "" +#~ "Appends the value only after the internal or external link. Do not " +#~ "include a preceding \"#\" symbol." +#~ msgstr "" + +#~ msgid "Email address" +#~ msgstr "" + +#~ msgid "Phone" +#~ msgstr "" + +#~ msgid "Only one of {0} or {1} may be given." +#~ msgstr "" + +#~ msgid "" +#~ "%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" #~ msgstr "" diff --git a/djangocms_link/locale/zh_CN.GB2312/LC_MESSAGES/django.mo b/djangocms_link/locale/zh_CN.GB2312/LC_MESSAGES/django.mo deleted file mode 100644 index bc68c87745dec4e94cdbe2e2ae2e5824bf37c90c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447 zcmYk1Pfx-y7{)Pr+R?Lz9y~zsW!;dum2iLwgeb7!4 zOW_-t`YiwS-tuP2~-H+8vJZbzz-I_BVjr*rfy#{t-DGU<^ z()Yq{VA#R9#hP-_MvE0ynwidXI)L!xD+ex_g1%VDjEkJ0@Rgh6?+N-p(n;1^Mb|Kp VYNH7f#qU*jyf*qPJGkvsegJ(Gd>jA( diff --git a/djangocms_link/locale/zh_CN.GB2312/LC_MESSAGES/django.po b/djangocms_link/locale/zh_CN.GB2312/LC_MESSAGES/django.po deleted file mode 100644 index 490bfe65..00000000 --- a/djangocms_link/locale/zh_CN.GB2312/LC_MESSAGES/django.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Language-Team: Chinese (China) (GB2312) (https://www.transifex.com/divio/teams/58664/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/locale/zh_CN/LC_MESSAGES/django.mo b/djangocms_link/locale/zh_CN/LC_MESSAGES/django.mo deleted file mode 100644 index 7310df3ea400f051492f1bf0914ac18a37ca1720..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 553 zcmYL_&u`N(6vqt=4iP6LZaet6X*hAl8d{ekO4gx@c8f~b6-??T9;qGK?z-*9Kfn%y zBN7)RZk!M|{uFL7_%C?LB>JR}-VeR^zR&)7XYB(5y8)~NJHSm~1l0BlSOYjv*Jr?& zYY3I#Zvl6&BXk@5I(R5Id%z(`uWTgM8aQ*tPbm0B^J^y6p!rvrRA zm^>dI?0XYYY2(P)=5k7&EOJXy&9Ijoq$D#iGa$$H$_OzK>hE>(1wikBsRoJ6l5B, YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Chinese (China) (https://www.transifex.com/divio/teams/58664/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "链接" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "电话号码" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "请提供最少一个链接" diff --git a/djangocms_link/locale/zh_TW/LC_MESSAGES/django.mo b/djangocms_link/locale/zh_TW/LC_MESSAGES/django.mo deleted file mode 100644 index a201854aaa98e8bf0e3ec20ce19a386ad67eb56d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519 zcmYL_!EVz)5QYsZ9DL;5!yH?+W3LM_$)-VsG(`~&HNk`=Vbt1LBlul@WWy8{+4^AXw7*kZ1#B z@6_fyT`2uI$gKG!3y-rEE~RzKXb#zU@@o8Y3d`x@?dMuoVL*Q#y4t4om$FzEpsaMnL!r0_yG zkGU1v)xsOgVXRA88#q&1!Kvs>v?B9-rLL8Uit5>MJ2IuDE;pi-m`kzdFsYQ5PQpPh z)K=(2IHGDW^XcwWl8A*9 zqrKF$<84Ea_43BYO)ZojLQx6pq#wP@&#}L&YbRYvi&I?~TD;`Y|ET=kx*WP$VODRf fsPWv`wd0_h&bm=Dg#XtO8-~H(uRs3$`WE~Hv-grd diff --git a/djangocms_link/locale/zh_TW/LC_MESSAGES/django.po b/djangocms_link/locale/zh_TW/LC_MESSAGES/django.po deleted file mode 100644 index af15a9c4..00000000 --- a/djangocms_link/locale/zh_TW/LC_MESSAGES/django.po +++ /dev/null @@ -1,130 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Angelo Dini , 2016 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-03 10:56+0200\n" -"PO-Revision-Date: 2016-09-15 09:08+0000\n" -"Last-Translator: Angelo Dini , 2016\n" -"Language-Team: Chinese (Taiwan) (https://www.transifex.com/divio/teams/58664/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: cms_plugins.py:15 -msgid "Link" -msgstr "連結" - -#: cms_plugins.py:26 -msgid "Link settings" -msgstr "" - -#: cms_plugins.py:34 -msgid "Advanced settings" -msgstr "" - -#: forms.py:15 models.py:85 -msgid "Internal link" -msgstr "" - -#: models.py:27 -msgid "Default" -msgstr "" - -#: models.py:44 -msgid "Open in new window" -msgstr "" - -#: models.py:45 -msgid "Open in same window" -msgstr "" - -#: models.py:46 -msgid "Delegate to parent" -msgstr "" - -#: models.py:47 -msgid "Delegate to top" -msgstr "" - -#: models.py:65 -msgid "Template" -msgstr "" - -#: models.py:71 -msgid "Display name" -msgstr "" - -#: models.py:77 -msgid "External link" -msgstr "" - -#: models.py:89 -msgid "If provided, overrides the external link." -msgstr "" - -#: models.py:93 -msgid "File link" -msgstr "" - -#: models.py:97 -msgid "If provided links a file from the filer app." -msgstr "" - -#: models.py:102 -msgid "Anchor" -msgstr "" - -#: models.py:105 -msgid "" -"Appends the value only after the internal or external link. Do not " -"include a preceding \"#\" symbol." -msgstr "" - -#: models.py:109 -msgid "Email address" -msgstr "" - -#: models.py:114 -msgid "Phone" -msgstr "" - -#: models.py:120 -msgid "Target" -msgstr "" - -#: models.py:126 -msgid "Attributes" -msgstr "" - -#: models.py:151 -msgid "" -msgstr "" - -#: models.py:246 -#, python-brace-format -msgid "Only one of {0} or {1} may be given." -msgstr "" - -#: models.py:258 -msgid "Please provide a link." -msgstr "" - -#: models.py:264 -#, python-format -msgid "" -"%(anchor_field_verbose_name)s is not allowed together with %(field_name)s" -msgstr "" - -#~ msgid "At least one link is required." -#~ msgstr "" diff --git a/djangocms_link/migrations/0017_link_link.py b/djangocms_link/migrations/0017_link_link.py new file mode 100644 index 00000000..cd8f9505 --- /dev/null +++ b/djangocms_link/migrations/0017_link_link.py @@ -0,0 +1,47 @@ +# Generated by Django 4.2.16 on 2024-10-24 19:46 + +from django.db import migrations + +import djangocms_link.fields + + +def forward(apps, schema_editor): + Link = apps.get_model("djangocms_link", "Link") + links = Link.objects.all() + for link in links: + if link.external_link: + anchor = "#" + link.anchor if link.anchor else "" + link.link = {"external_link": link.external_link + anchor} + elif link.internal_link: + opt = link.internal_link._meta + link.link = {"internal_link": f"{opt.app_label}.{opt.model_name}:{link.internal_link.pk}"} + if link.anchor: + link.link["anchor"] = "#" + link.anchor + elif link.file_link: + link.link = {"file_link": str(link.file_link.pk)} + elif link.phone: + link.link = {"external_link": f"tel:{link.phone}"} + elif link.mailto: + link.link = {"external_link": f"mailto:{link.mailto}"} + elif link.anchor: + link.link = {"external_link": "#" + link.anchor} + Link.objects.bulk_update(links, ["link"]) + + +def backward(apps, schema_editor): + raise NotImplementedError("Cannot reverse this migration.") + + +class Migration(migrations.Migration): + dependencies = [ + ("djangocms_link", "0016_alter_link_cmsplugin_ptr"), + ] + + operations = [ + migrations.AddField( + model_name="link", + name="link", + field=djangocms_link.fields.LinkField(default={}, verbose_name="Link"), + ), + migrations.RunPython(forward, backward, elidable=True), + ] diff --git a/djangocms_link/migrations/0018_remove_link_anchor_remove_link_external_link_and_more.py b/djangocms_link/migrations/0018_remove_link_anchor_remove_link_external_link_and_more.py new file mode 100644 index 00000000..ce847aa6 --- /dev/null +++ b/djangocms_link/migrations/0018_remove_link_anchor_remove_link_external_link_and_more.py @@ -0,0 +1,36 @@ +# Generated by Django 4.2.16 on 2024-10-24 19:59 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("djangocms_link", "0017_link_link"), + ] + + operations = [ + migrations.RemoveField( + model_name="link", + name="anchor", + ), + migrations.RemoveField( + model_name="link", + name="external_link", + ), + migrations.RemoveField( + model_name="link", + name="file_link", + ), + migrations.RemoveField( + model_name="link", + name="internal_link", + ), + migrations.RemoveField( + model_name="link", + name="mailto", + ), + migrations.RemoveField( + model_name="link", + name="phone", + ), + ] diff --git a/djangocms_link/models.py b/djangocms_link/models.py index fab94772..61635211 100644 --- a/djangocms_link/models.py +++ b/djangocms_link/models.py @@ -2,52 +2,49 @@ Enables the user to add a "Link" plugin that displays a link using the HTML tag. """ + from django.conf import settings -from django.contrib.sites.models import Site from django.core.exceptions import ValidationError from django.db import models from django.utils.encoding import force_str from django.utils.translation import gettext from django.utils.translation import gettext_lazy as _ -from cms.models import CMSPlugin, Page +from cms.models import CMSPlugin from djangocms_attributes_field.fields import AttributesField -from filer.fields.file import FilerFileField +from .fields import LinkField +from .helpers import get_link from .validators import IntranetURLValidator # Add additional choices through the ``settings.py``. def get_templates(): choices = [ - ('default', _('Default')), + ("default", _("Default")), ] choices += getattr( settings, - 'DJANGOCMS_LINK_TEMPLATES', + "DJANGOCMS_LINK_TEMPLATES", [], ) return choices -HOSTNAME = getattr( - settings, - 'DJANGOCMS_LINK_INTRANET_HOSTNAME_PATTERN', - None -) +HOSTNAME = getattr(settings, "DJANGOCMS_LINK_INTRANET_HOSTNAME_PATTERN", None) TARGET_CHOICES = ( - ('_blank', _('Open in new window')), - ('_self', _('Open in same window')), - ('_parent', _('Delegate to parent')), - ('_top', _('Delegate to top')), + ("_blank", _("Open in new window")), + ("_self", _("Open in same window")), + ("_parent", _("Delegate to parent")), + ("_top", _("Delegate to top")), ) class AbstractLink(CMSPlugin): # used by django CMS search - search_fields = ('name', ) + search_fields = ("name",) # allows link requirement to be changed when another # CMS plugin inherits from AbstractLink @@ -58,68 +55,31 @@ class AbstractLink(CMSPlugin): ] template = models.CharField( - verbose_name=_('Template'), + verbose_name=_("Template"), choices=get_templates(), default=get_templates()[0][0], max_length=255, ) name = models.CharField( - verbose_name=_('Display name'), - blank=True, - max_length=255, - ) - # re: max_length, see: http://stackoverflow.com/questions/417142/ - external_link = models.CharField( - verbose_name=_('External link'), - blank=True, - max_length=2040, - validators=url_validators, - help_text=_('Provide a link to an external source.'), - ) - internal_link = models.ForeignKey( - Page, - verbose_name=_('Internal link'), - blank=True, - null=True, - on_delete=models.SET_NULL, - help_text=_('If provided, overrides the external link.'), - ) - file_link = FilerFileField( - verbose_name=_('File link'), - blank=True, - null=True, - on_delete=models.SET_NULL, - help_text=_('If provided links a file from the filer app.'), - ) - # other link types - anchor = models.CharField( - verbose_name=_('Anchor'), - blank=True, - max_length=255, - help_text=_('Appends the value only after the internal or external link. ' - 'Do not include a preceding "#" symbol.'), - ) - mailto = models.EmailField( - verbose_name=_('Email address'), + verbose_name=_("Display name"), blank=True, max_length=255, ) - phone = models.CharField( - verbose_name=_('Phone'), - blank=True, - max_length=255, + + link = LinkField( + verbose_name=_("Link"), ) # advanced options target = models.CharField( - verbose_name=_('Target'), + verbose_name=_("Target"), choices=TARGET_CHOICES, blank=True, max_length=255, ) attributes = AttributesField( - verbose_name=_('Attributes'), + verbose_name=_("Attributes"), blank=True, - excluded_keys=['href', 'target'], + excluded_keys=["href", "target"], ) # Add an app namespace to related_name to avoid field name clashes @@ -128,7 +88,7 @@ class AbstractLink(CMSPlugin): # https://github.com/divio/django-cms/issues/5030 cmsplugin_ptr = models.OneToOneField( CMSPlugin, - related_name='%(app_label)s_%(class)s', + related_name="%(app_label)s_%(class)s", parent_link=True, on_delete=models.CASCADE, ) @@ -140,132 +100,27 @@ def __str__(self): return self.name or str(self.pk) def get_short_description(self): - if self.name and self.get_link(): - return f'{self.name} ({self.get_link()})' - return self.name or self.get_link() or gettext('') - - def get_link(self): - if self.internal_link: - ref_page = self.internal_link - link = ref_page.get_absolute_url() + link = self.get_link() + if self.name and link: + return f"{self.name} ({link})" + return self.name or link or gettext("") - # simulate the call to the unauthorized CMSPlugin.page property - cms_page = self.placeholder.page if self.placeholder_id else None - - # first, we check if the placeholder the plugin is attached to - # has a page. Thus the check "is not None": - if cms_page is not None: - if getattr(cms_page, 'node', None): - cms_page_site_id = getattr(cms_page.node, 'site_id', None) - else: - cms_page_site_id = getattr(cms_page, 'site_id', None) - # a plugin might not be attached to a page and thus has no site - # associated with it. This also applies to plugins inside - # static placeholders - else: - cms_page_site_id = None - - # now we do the same for the reference page the plugin links to - # in order to compare them later - if cms_page is not None: - if getattr(cms_page, 'node', None): - ref_page_site_id = ref_page.node.site_id - else: - ref_page_site_id = ref_page.site_id - # if no external reference is found the plugin links to the - # current page - else: - ref_page_site_id = Site.objects.get_current().pk - - if ref_page_site_id != cms_page_site_id: - ref_site = Site.objects._get_site_by_id(ref_page_site_id).domain - link = f'//{ref_site}{link}' - - elif self.file_link: - link = self.file_link.url - - elif self.external_link: - link = self.external_link - - elif self.phone: - link = 'tel:{}'.format(self.phone.replace(' ', '')) - - elif self.mailto: - link = f'mailto:{self.mailto}' - - else: - link = '' - - if (not self.phone and not self.mailto) and self.anchor: - link += f'#{self.anchor}' - - return link + def get_link(self, site_id=None): + return get_link(self.link, site_id) def clean(self): super().clean() - field_names = ( - 'external_link', - 'internal_link', - 'mailto', - 'phone', - 'file_link', - ) - anchor_field_name = 'anchor' - field_names_allowed_with_anchor = ( - 'external_link', - 'internal_link', - ) - - anchor_field_verbose_name = force_str( - self._meta.get_field(anchor_field_name).verbose_name) - anchor_field_value = getattr(self, anchor_field_name) - - link_fields = { - key: getattr(self, key) - for key in field_names - } - link_field_verbose_names = { - key: force_str(self._meta.get_field(key).verbose_name) - for key in link_fields.keys() - } - provided_link_fields = { - key: value - for key, value in link_fields.items() - if value - } - - if len(provided_link_fields) > 1: - # Too many fields have a value. - verbose_names = sorted(link_field_verbose_names.values()) - error_msg = _('Only one of {0} or {1} may be given.').format( - ', '.join(verbose_names[:-1]), - verbose_names[-1], - ) - errors = {}.fromkeys(provided_link_fields.keys(), error_msg) - raise ValidationError(errors) - - if (len(provided_link_fields) == 0 - and not self.anchor - and not self.link_is_optional): - + if not self.link_is_optional and not self.link: raise ValidationError( - _('Please provide a link.') + force_str(_("Link is required.")), + code="required", ) - if anchor_field_value: - for field_name in provided_link_fields.keys(): - if field_name not in field_names_allowed_with_anchor: - error_msg = _('%(anchor_field_verbose_name)s is not allowed together with %(field_name)s') % { - 'anchor_field_verbose_name': anchor_field_verbose_name, - 'field_name': link_field_verbose_names.get(field_name) - } - raise ValidationError({ - anchor_field_name: error_msg, - field_name: error_msg, - }) + def __init__(self, *args, **wkargs): + super().__init__(*args, **wkargs) + self._meta.get_field("link").blank = self.link_is_optional class Link(AbstractLink): - class Meta: abstract = False diff --git a/djangocms_link/static/djangocms_link/link-widget.css b/djangocms_link/static/djangocms_link/link-widget.css new file mode 100644 index 00000000..9a70b123 --- /dev/null +++ b/djangocms_link/static/djangocms_link/link-widget.css @@ -0,0 +1,76 @@ +.link-widget { + width: 100%; + display: block; + margin-bottom: 0.5em; + .link-type-selector { + margin-inline-end: 1em; + display: inline-block; + width: calc(25% - 1em); + flex-shrink: 2; + select { + width: 100%; + min-width: unset; + } + } + .external_link, .internal_link, .file_link, .anchor, .site { + display: none; + padding: 0; + select, input { + width: 100%; + } + span.select2 { + display: inline-block; + width: 100% !important; + } + } + .external_link { + width: 75%; + } + .internal_link { + width: calc(60% - 1em); + margin-inline-end: 1em; + } + .anchor { + width: 15%; /* end of line, no 1em margin to remove */ + } + .file_link { + margin-top: 0.5em; + } + &[data-type="external_link"] .external_link, + &[data-type="internal_link"] .internal_link, + &[data-type="internal_link"] .site, + &[data-type="internal_link"] .anchor + { + display: inline-block; + } + &[data-type="file_link"] .file_link { + display: block; + width: 100%; + } + &[data-type="file_link"] .link-type-selector, + &[data-type="empty"] .link-type-selector{ + margin-inline-end: 0; + } + + &:has(.site) { + /* if site subwidget is present, arrange widgets in two lines */ + .site { + width: 75%; + margin-inline-end: 0; + margin-bottom: 0.5em; + } + .internal_link { + width: calc(60% - 1em); + margin-inline-start: 25%; + margin-inline-end: 1em; + } + .anchor ( + margin-top: -3em; + ) + ) + } + + .select2-container .select2-selection--single { + height: 2.55em; + } +} diff --git a/djangocms_link/static/djangocms_link/link-widget.js b/djangocms_link/static/djangocms_link/link-widget.js new file mode 100644 index 00000000..47e737fa --- /dev/null +++ b/djangocms_link/static/djangocms_link/link-widget.js @@ -0,0 +1,42 @@ +/* eslint-env es11 */ +/* jshint esversion: 11 */ +/* global document django */ + +document.addEventListener('DOMContentLoaded' , () => { + 'use strict'; + + const updateSelection = (el) => { + const widget = el.closest('.link-widget'); + const help = widget.closest('.form-row')?.querySelector('div.help'); + widget.dataset.type = el.value; + + if (help) { + if (el.value === 'empty') { + help.textContent = el.dataset.help || ''; + } else { + help.textContent = widget.querySelector(`[widget="${el.value}"]`)?.dataset.help || ''; + } + } + }; + for (let item of document.querySelectorAll('.js-link-widget-selector')) { + updateSelection(item); + item.addEventListener("change", (e) => { + updateSelection(e.target); + e.target.closest('.link-widget').querySelector('input[widget="anchor"]').value = ''; + }); + } + + // If site widget changes, clear internal link widget + for (let item of document.querySelectorAll('.js-link-site-widget')) { + console.warn(item); + django.jQuery(item).on('change', e => { + const site_select2 = django.jQuery(e.target); + const internal_link_select2 = site_select2.closest('.link-widget').find('[widget="internal_link"]'); + internal_link_select2.attr('data-app-label', site_select2.val()); + internal_link_select2.val(null).trigger('change'); + }); + item.addEventListener("change", (e) => { + console.warn(e.target.closest('.link-widget').querySelector('[widget="internal_link"]')); + }); + } +}); diff --git a/djangocms_link/templates/djangocms_link/admin/link_widget.html b/djangocms_link/templates/djangocms_link/admin/link_widget.html new file mode 100644 index 00000000..7480e7c5 --- /dev/null +++ b/djangocms_link/templates/djangocms_link/admin/link_widget.html @@ -0,0 +1,6 @@ +{% spaceless %}{% endspaceless %} diff --git a/djangocms_link/templates/djangocms_link/default/link.html b/djangocms_link/templates/djangocms_link/default/link.html index fb7f277b..27815549 100644 --- a/djangocms_link/templates/djangocms_link/default/link.html +++ b/djangocms_link/templates/djangocms_link/default/link.html @@ -1,17 +1,3 @@ {% load cms_tags %}{% spaceless %} - {# this needs to be in one line for rendering purpose #} -{% endspaceless %}{% for plugin in instance.child_plugin_instances %}{% render_plugin plugin %}{% empty %}{{ instance.name }}{% endfor %}{% spaceless %} - -{% endspaceless %}{% comment %} -# https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a - {{ instance.name }} - {{ link }} or {{ instance.get_link }} summarizes: - {{ instance.external_link }} - {{ instance.internal_link }} - {{ instance.anchor }} - {{ instance.mailto }} - {{ instance.phone }} - {{ instance.target }} - {{ instance.attributes_str }} -{% endcomment %} \ No newline at end of file +{% endspaceless %}{% if link %}{% for plugin in instance.child_plugin_instances %}{% render_plugin plugin %}{% empty %}{{ instance.name }}{% endfor %}{% else %}{% for plugin in instance.child_plugin_instances %}{% render_plugin plugin %}{% empty %}{{ instance.name }}{% endfor %}{% endif %} \ No newline at end of file diff --git a/djangocms_link/templatetags/__init__.py b/djangocms_link/templatetags/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/djangocms_link/templatetags/djangocms_link_tags.py b/djangocms_link/templatetags/djangocms_link_tags.py new file mode 100644 index 00000000..764fdd3d --- /dev/null +++ b/djangocms_link/templatetags/djangocms_link_tags.py @@ -0,0 +1,24 @@ +from django import template + +from djangocms_link.helpers import LinkDict, get_link + + +try: + from filer.models import File +except (ImportError, ModuleNotFoundError): # pragma: no cover + + class File: + pass + + +register = template.Library() + + +@register.filter +def to_url(value): + return get_link(value) or "" + + +@register.filter +def to_link(value): + return LinkDict(value) diff --git a/djangocms_link/validators.py b/djangocms_link/validators.py index c456d694..4fed5ff9 100644 --- a/djangocms_link/validators.py +++ b/djangocms_link/validators.py @@ -1,6 +1,9 @@ import re -from django.core.validators import URLValidator +from django.core.exceptions import ValidationError +from django.core.validators import EmailValidator, URLValidator +from django.utils.deconstruct import deconstructible +from django.utils.translation import gettext as _ class IntranetURLValidator(URLValidator): @@ -14,29 +17,96 @@ class IntranetURLValidator(URLValidator): DJANGOCMS_LINK_INTRANET_HOSTNAME_PATTERN = r'[a-z,0-9,-]{1,15}' """ - ul = '\u00a1-\uffff' # unicode letters range (must be a unicode string, not a raw string) + ul = "\u00a1-\uffff" # unicode letters range (must be a unicode string, not a raw string) # IP patterns - ipv4_re = r'(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}' - ipv6_re = r'\[[0-9a-f:\.]+\]' # (simple regex, validated later) + ipv4_re = ( + r"(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}" + ) + ipv6_re = r"\[[0-9a-f:\.]+\]" # (simple regex, validated later) # Host patterns - hostname_re = r'[a-z' + ul + r'0-9](?:[a-z' + ul + r'0-9-]*[a-z' + ul + r'0-9])?' - domain_re = r'(?:\.[a-z' + ul + r'0-9]+(?:[a-z' + ul + r'0-9-]*[a-z' + ul + r'0-9]+)*)*' - tld_re = r'\.[a-z' + ul + r']{2,}\.?' - host_re = '(' + hostname_re + domain_re + tld_re + '|localhost)' + hostname_re = r"[a-z" + ul + r"0-9](?:[a-z" + ul + r"0-9-]*[a-z" + ul + r"0-9])?" + domain_re = ( + r"(?:\.[a-z" + ul + r"0-9]+(?:[a-z" + ul + r"0-9-]*[a-z" + ul + r"0-9]+)*)*" + ) + tld_re = r"\.[a-z" + ul + r"]{2,}\.?" + host_re = "(" + hostname_re + domain_re + tld_re + "|localhost)" def __init__(self, intranet_host_re=None, **kwargs): super().__init__(**kwargs) if intranet_host_re: self.host_re = ( - '(' + self.hostname_re + self.domain_re + self.tld_re + - '|' + intranet_host_re + '|localhost)' + "(" + + self.hostname_re + + self.domain_re + + self.tld_re + + "|" + + intranet_host_re + + "|localhost)" ) self.regex = re.compile( - r'^(?:[a-z0-9\.\-]*)://' - r'(?:\S+(?::\S*)?@)?' - r'(?:' + self.ipv4_re + '|' + self.ipv6_re + '|' + self.host_re + ')' - r'(?::\d{2,5})?' - r'(?:[/?#][^\s]*)?' - r'$', re.IGNORECASE) + r"^(?:[a-z0-9\.\-]*)://" + r"(?:\S+(?::\S*)?@)?" + r"(?:" + self.ipv4_re + "|" + self.ipv6_re + "|" + self.host_re + ")" + r"(?::\d{2,5})?" + r"(?:[/?#][^\s]*)?" + r"$", + re.IGNORECASE, + ) + + +@deconstructible +class AnchorValidator: + message = _("Enter a valid anchor") + code = "invalid" + + def __call__(self, value: str): + value = value.lstrip("#") + if not value: + return value + if not isinstance(value, str) or len(value) > 100: + raise ValidationError(self.message, code=self.code, params={"value": value}) + + if not re.match(r"^[a-zA-Z0-9_\-]+$", value): + raise ValidationError(self.message, code=self.code, params={"value": value}) + return value + + +class ExtendedURLValidator(IntranetURLValidator): + # Phone numbers don't match the host regex in Django's validator, + # so we test for a simple alternative. + tel_re = r"^tel\:[0-9 \#\*\-\.\(\)\+]+$" + + def __init__(self, allowed_link_types: list = None, **kwargs): + self.allowed_link_types = allowed_link_types + super().__init__(**kwargs) + + def __call__(self, value: str): + if not isinstance(value, str) or len(value) > self.max_length: + raise ValidationError(self.message, code=self.code, params={"value": value}) + if self.unsafe_chars.intersection(value): + raise ValidationError(self.message, code=self.code, params={"value": value}) + # Check if just an anchor + if value.startswith("#") and ( + self.allowed_link_types is None or "anchor" in self.allowed_link_types + ): + return AnchorValidator()(value) + # Check if the scheme is valid. + scheme = value.split(":")[0].lower() + if scheme == "tel" and ( + self.allowed_link_types is None or "tel" in self.allowed_link_types + ): + if re.match(self.tel_re, value): + return + else: + raise ValidationError( + _("Enter a valid phone number"), + code=self.code, + params={"value": value}, + ) + if scheme == "mailto" and ( + self.allowed_link_types is None or "mailto" in self.allowed_link_types + ): + return EmailValidator()(value[7:]) + return super().__call__(value) diff --git a/preview.gif b/preview.gif index c49da778be69b8863199e23ee81133c404ac6219..969c224f61ee666808dd0d2b6f84d3555965b4b7 100644 GIT binary patch literal 472656 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[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

(47u!#CH0I8HCcCc&c3H=UtE$Y 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

  • _rE(^rF4d&D*RsG5;s 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�IVV6*N*YWqVF4p_HsM6Nf=qQz}6hAlmyj!)scgCla`hhDRpSx8k!lmxjQNd+|&Ts&qRr zu(STRNO`yT0Lya7mU4ZGlg~&W4U6>XlRh)0n8$|A&nMp#`Jc2l3!-ccNv#0T28CA$ zc?TxTe!bp!9Wa2yrNX!2<$CN`{j$Kg#bA3H40w$njspEKpjy!G4bTrnp?B<3pC;R5 z&P!p<0g-PJ;*tIUgx%qP?X2PhxbFrYEbz*OVPNDkay-@?^eUKY)0L20;rGy2zUibb zqkPD#JRF*Kq+pB3JvYX>{;ynhv{uo+Nu4wTl0~j)B;g;n1LV(q zJ@RQ5LD8HV9ue`sxs=8W20s|j<=HNj$v!UEiK=ge2t2e=uV4gpUsNS%1YkC_rhH@vD8QXp|q02O6ClsUBzQA zB4yZ&6jbH2a@vzv1(AxNaAb1H!!}i(k+?LJ=RT;%@7I$iS$w=>t6vl!wR$3%QOMcd zo2RE|_P*NiNeu30Nqs4w^e(egls(@g#;oJ`WOdij}@7ffc z=FtYJ?M%o9q|?BRnVM_xM~(TpNsK_c>X+ zoPNlJ>#Qy>0%a_#oQuO&>f}6X(_{PErz>Vz(Y8>BfN5Id^c0`@>F%mhf_$g#1ea1+ z=F9y?qF#=;n>}i) z({QeTAvAsu^2pr48uNQRavZ7CGfgPIIaPdktfjDItC;d}z(Ob>W0tDppf)U{=`bN| zzLVX7VdV4v+35iz)dP*TwajIX1}?U|xb{XqmTYT^amF7X%IKo{{2P{t^lk4;Y9CHN zsmb|$6#t{Xg%9Um{z#*lxd3O*Iuct#?J?m`?#EWhpqus_#y!B{kI|eRkgr7hxI>37yggl z1_JzMA>=75AxoYg9B_@K&l~@|ry_STyobZUduJ&JixD-tfXBl7dnx1^b7!r(ZR5gt z$m3>q?oN5Gz1M)_H_DH@ooQDVie;$N3tVQrL_EoxoMY7t=bNlv#WNq3b1ppFZ#$jH$Th0P($?R(F# z=#PkIX;_rbQQ9(;CxX20i>fN zvXEA(NNcDVBpw(%G?+_+xW-3^2}3H*6=EcMn|Klt_JVH9!tQci#t6kk3FRa;W>#Kd{;!2lghbsT7&16fd(_ z0YGV?BGMx%eOVExgesK}VVB`Z?km?^t1w+CkK&K0F{&(bjkJl4Tv@3!JE^vqDXIjI zl&VFS`Nh$DtCirx|bt|;z!%$-iP?nbovc- zSE`N94fPa8qbMP9Cy`@pt=xDV1LSf@rR`fWd z+GM}nl*CwrhfLYf5PHB#?UR{$)rr9O^s!j{fdw;-t*orYr0AsswP<6RiQVzDi}8)+ zAuLsOY?tBUnGuafobQbET}~RmB_@5nCx%!@R}NYyT%n}OLAdkTaOgydFx(m&-aL;e z15JFUB-jijTb9uT@oT-_9kRYq%locwWDUJg3L+MfMoWwj)yb*MgHo4?E*zD<6Ckmq zxv+_}$zW8c!O%0c#Hl3ShSnJ2p_t%djl-<`U!`(4m6Jo)rQcEEn?{5U^x7;p+EVMW zLfS=fS^bnZBK=a3XaLJ%U%RGL(n_hNAVV?8Nh!z&eqRvUuLWg2)Va4w&c>v(%r}Pg z&^+^oQoqth^Kr38*y%p@*AEgper_y$p`PZAo)(e5Hj};%zrOC1PZ|%g zg=m8w&<2sYV8^y%lZ#;M!jSj6^v#}BsC*KB@Jee?Nmq}^;2D#FHNV00Lp@b{UK;e1eP44wZ&HMFpKp7`QSSy73!6GdCb-4YZ@ue>8=S zHDKTsV;DaDSvC1fRFa|JxZ!Y~A+El*|BWG>X#Umu7mHKFz$Zq*>PFIRMx1_{A^t|; zF-H8)=Fxj6`Vn15(c?xqdGn`rMlm-=NFw6^wwc}Ut)ZI+@#@CO<_jZh^Q|&EDKWyqR03m<<7(JzRPk0iB}F)6BT8nl9ZJO<$nu}_+t zqG!RlcsnCw$Dq+Sq+=^k%U``?ZLN zdGkkC=KZx6MM|8wwCPs_jkVv*7n7ksVHV@_X1denq_0ZxhL zJzwE?)W7K8u__-)j~mK2WHpkuF^szZ^V73_rS$i%0KOoH3ch65|Df(JgW3xBwc#hh z-3eYSxEHNZptu((?(XhT2*KT*;_mLnp-6#3fdWNRthg6#$&j>R-TLc1u_4V@5c^hc!nobPY}~#q{n=wxhd2=)Mv>9%$Oa%oi$V8s=uUmvr2XYZS7$V|EgXm;}XSaa`&&Yoon_hcM++*gD$oE9$+^ zn(W*Frt{SyqYX3zYAb*Cbr0DX`xzt~W_8+DjTkhs9<)?(mKX$3huZI+02Al(Y}{)) zZ3NlOg|WYUM0MD(G#_I`T;!QI{xD?k14U|!*X1>p>_9@iC1tn#0&HYrG$ zv3c)nMf4b-+MJw}=Pamxp*c=^~tUv$U z8+>Wtc%v!00P1d}Ry@kQTT5jwg=cYIO1qG=pyZ zeRut|$xugqn2W6t@kJ&Z^D9UQ^(Bw|F0YoI=$7FuZT8adEsdaXO3pkD3n(Xmj&})$ zX_}Hq;mqy{Ak{wQEj3Oeq&yO~J2{HEEeShX8oEL`rO-c2rX0R*0~vX*r^Q0K8$q)w z*6*}_mX*7ppXaYzw6Ge-oPRijJ0x%?Ifn=styuvMVfH0o`?xw!*SX;{yQlZ6xV(L! zrYfiBif3i9(6fY%<3}k*I{wpLXFMGzewK~zV=e<1PB+&3*MCoMHQ$(i?c>fm$w_zS zR(IoWhn(KH z%w_hwbAPLI$_c`czUSC~(p7wdG{>%-0_TgLoP zChYAnMSxo+`K4r}y@Wu;v5<2@6m((qY^m;&ll3Pm1_4>W>%BGLLA?KQ=B$z298-5= zCVWK#!}tzRCC|* z8opJMn%7nze&saTd3kcPCj6|4-QRkSO#FaI{QmF7ANyNQBums}g!DffrM9;dVs>Uc zw#cFp3%UG_OlHtTPuQEguuSjBUoJeA-lj>{+yQSu0@$>4cQBtk;WI<&C#fuZ7pdlXNxsdYv!n<#`;(#uas*tGSKz zm`~!elR%DP8Ny{tg_vB}56>r$*D(QyCl(YG&bx=1`_A#OENlYr^7Q>q7Qy3pZpAQ{ z2h;xUURmre7o_;VWsX=!^{HNrXT>_uJC{eY>;|*HAJX3X@%aBJN54vBMaBr=rWKW1 z8Q!0}TsRb+8%=h$!UOO`j7Hzbd_hDR&R*E7b)CN6XvXlaGfyeWG=J`Me@^?G&m<1P z4Zkgc2i}I4Z+_Tg8aho3b`WU((AaSEvEPt;dF{`O08{yZt;M}1*`JY{kBA5s9;$~j zZ@-em^}Nky#KziYn|~qiP4&Lt&yMqNHhyKnCyDUwMTARLr2mx2+#7FG$r-|L8K!U1 zF-<`j#Hi@Nq4Y3)4y>?788|s63Oj$LW%M9(s6N!s48S!c8-f)g);Yh+JOmry@QU6~ zF06?GBL}ODjl?KQU|Lfxu`3ICQ$u57%L5J5>0B`^;}F;8*z`;z3cf;SR}PI-wg!qo z%wyI@9(>fk%b{Itlw7@9(&POY`Y^5mWB#b5T^>|)V{L7%1CfK(5ZrEcOH730cg|2@ z44l$C#n_P=3mX_2jwhU~3$-cbI_4X(DmQDS_ljX=>`zR?iPOVQCFbubYMSVK<8Yz% zxE>a-xh-hj0cK?baa(bCy-M?dJ&J|lSKEySTpA7klT5K~u9`L!POhZOYwpGOFB%o+ zdpBWktX$sbZSanVyv>yJJ)_c9zQXShSRpRrHFY$T`ECr-Yg!FJ6(d}b&|dJNw{~jg5}-E1i- zLDlk9$Zxniz%G38UIPn~)|x$+b09eYmmp-$ zl=-mv+v>X-{R{Y_yN+O$zLXAgBqhq2m1LR(zaA=m0+%tVB&v8d27S4v9;-&Beq4-J zwGtkwq{7E~*|`)mzt*Y-VKI&>NQ&1lD2kpdk*Op*%ge829tT2Sc?cWBQ_bu_5pYvl z2>N$((HH0k62{6bsr4DJv6QXR-1Yzo1@AmfE28iP706%76f%|256L=K*w=ZRI5$YB zrvwY1{%|qsaYffse!w32C}B6xaj3+-w>!{^W)^5s4)!2}1ik-&K%+#VCy|auX&8J} zlk=P?FR7`ZUXRjdM;7%z**iEACS&+uXf#cCK ztIFPJ4=&PCpVOl;ita4i3#*qnl$xk*+0>XIRr7iYj~T+1J7;)@^`1+h)5ugsV}`?t z-D-joXJ()?KH~?)wp~RnNzb?LSi9cxY~|fgefoK}{!SVKm8#H(d+dU$+k2bBLLz(H z+``AU{o{$(4j&E7xG5;30?w!mYAsB(;DLNiN}Ba)p<{sZ6amzqqsa=2f0V8nl?Z>V zr)O|C3`|q^2F&Y;Yil+fh(aX6KiQ1zP|bOXI-)1*I(^KV5MGWNQv7`~UkK|04)37A z*C}z)qMaJpyM%2xuZTu)_6{&1wSYV$T{B`(DEQpik}Qq^mr1iJ3H8V2K(#Bnsfwa1 zq!u2NZ0G0;%AU>bOMNpijc2h|6os4+4mW%uq-ZA|Cy?x*JEz6*MEL@f4qD2{W8X@urH$s{$pB6ZLoZTfb)d_nubn2p)GDCEHjoEd~6j@~v4OQjva<0MwdBQ{lXGj^ucJ>YvytxO1YFBB4!z*s2!3byJ*st zQYPGcE4}~?X@323lVY01w`q6DwDBHh(Qca(3sI@uzC{Jbu4s^EQwDp=IK>qWGYF3# z7e+iub~EZP#IjgMm1hxg2}hw*)Z^^6?ZzIoKE1OB;Rh|I#OT25xk{a^tQw?|47af2u_>`B<1 zm~g^}^Hv3tfSyI}GNQ^mR{?yq(hU7b{q5Wzx7u8VB7{P4nG&W?FB>A>`H4 zg>JT#nFF#yACr$k+}sWuqm^5v7}APPQ)|}GGq16q$amfZgs{ACmT1}C*Wvozlz%ra zONMS6!)PptQ|K$D@p$R@@gxUVEhm;-5n&6IH2IqtG##oIrG>^yQXYd=;wP~`pTeOn z|E0-vsrenmn&V}{e&k;;2hWi7FyT@Tr+V-E-#g(P#**g=UomrsU6(m&w49v1L$)w! z>imSf1?nPtlXax6Uf_oC+)#Zn!B*AP{7!Vp4sNga^cNwP`ZH+0+wUi8=>2(}(&fC+f zc)44ZR^hl_I8Oc2XUZ8&m%h%4?qB+<3`1R6pRXVJ7#Ef~Ddi9P*k5y$srLy6|J#o2 zDoRld$<_H$cda=HK6Z(CL=)^8;!RyhQzZUNZNO}#IjUfM?p8Fz%FP-(BFXbI^x4>p zoL%2yx{WJrG{bFir?LzZX}8##XkxYkoNpwm8FohOuUiz$zAWyXRjQrrz1G2+O;5PE zH5`=PdZ#d&z0g_tEaGID>Sh1MSPtre;jV;<1A_RyPdwAw$pL?tMCU8F^ho8yGrEs5 z($OLsK|Wr<&$k@6PInWUeU}-C{#Sd?3wW;WjlJJuF&V$)eV9uPQen&OC7;y4ugvKC z?ai@vWbZ)nHL~w1g^Vf^WqpekNG_I^^v6 zjli3SC7-_P=Rto@I-aoAp8aj4I9F7@*D)ls4+}=Tqu4zu&3-PdEK< zuALGQf3NxxPlz`F^uk4_XODQB2NatZMJXHy)PJ!GQN-y{WeZVN>CvHu$%Rbem`3D@t5gh|D3!;dahv8tF{$kP8_k*cl7qwC65czm`!gab`x-lW+{5T&2 zMMM!r0t0165!wp|j3E=!4LGTOra}mA=4;Jw%2G9Oc^y08RkAL*GKrq!AepUXvo0u~ zYh+S%s?*akiIwS8*G4B&2-&i4}Z_{U`@UpGQ zOA?BvpyvElJ%$2Z5JEyM6hU?jb77WMzSg8)oHx|MVdP0~W0s4tHRH=D5zA+KQEqXC z$3$w)NbOwAdT-DjkDyAmRi2O@k^Yn4h$&}Jk9p{+t|vJzqA@*zI)zomB*juH#l!q| z691()oQjU=)ud|FV*K?olaD2V?yIxMaCi0=W;Yv4HFzMJ!n-)#mi)3i ze=ewNgoqmtw%sKpIQR#++?cGF7qqgpgrZXw#eNw54u5A2QCM7Zx+i25gBXsL8O}g% zCCfe`w-|I&7x+zD|5@$xEk143@%oT$d7o5xGKywL^&T#-KenP+yV{!l%t)2RO1s=j zKi{Z2fnT+37Yp%uwRy7Kiq7hX)z!9Ae`kd?J>$FTE_z zd*#ljEcc@<1&-x?i!A*=8C=LK+~`={t@FWA3Fqt^BpYQf6-!-NSiQ6>yo@V$xhrx7 zSvksz9A#~GR9L+eSp708{Mzw6A~bxAw|s_5J@Z)u$0`C@D!j>K{O1c5|F9f!!KG&^ zf}dESlMt=FU-@g)!IPFymP#1Uz8F5+0_lEGf=;jiTex;*czbE?T7?gB<+dc%J%AT%Wm2S+QVO^Es%#MVxGK1K&BC4_y*t0XL zvh&$<%Bymy3VO&63I%10JS!7t_LG*XK5iWB?6S=krR4Fj=RdI*qF1wi+8_K~6~iohpR?(~zM6_YfXc3Ni-U>0 zrbXPr8D{TedRR$}4FEvzBx~B8ISpe}y(g$Yex){VvKNWq&L^#JUstPP1lpdwm%Z8<)xyt14xRowql^cm#+-oT+Bv!t#P8z~(8(aSQ~92KEo0q+s?+hJW4|`% zf=1nvbKTWSbx<)|m3!TC!pXiK_XLc)Hl=R0p4+tuMHj zu#eVn>NbbUfB097uO6>mo@~<9Z~8mM&Dbq4)^97;t)SP`i}UPCIm4-r%UHNp=Mhf3 z-u26Sb!*P`KmBJk8}(=P zN5`j5XHPsAQV!>r$Y}{(3m0!oRD~az(S@u_I9-2lkd#V63^#yJedra?t_5Y$_Sh~V=Aoqy;%`QB~g zt4Is7i318w-HMN(KZDv@@}g?--JTBJ2ASVz!^lM&$@oxFbQ>`V+`Li{jnz4g_x8oW znh9*2QSt#7G>>qUh6of2fUBv?Ate9=P$cviy;a3=3F9S7yl|$vIDh@~RNLj!xB=*k z1~F~8QEUQIpxAZrxob4U)n7;mUXaSEqrNmwu_LC&u`5h z`=MmPCE=Q$vJ@G@&4bc5{RSa}jy8jSA;ZsYhO<{FQj5&;_9DNn2^#U$fl?d7YYIi;pcDZeLK_EwX9j*i&E;YiC z%Do&mZbzmyEY^aFobRIR!ft9JUOF9KCL-Q89o{Y?J{UB%6fqQ`_$oM)9z8#;EWCXx zI{X_%kTqxl{UU)S?H-Xn#qz?d89tnYE{~%k!M7d32oWeoC)D6Ju%pT$m}_+GSJIRId&YASi4eq#ZqlL550+Lt2Wf@c&3639rpd`5M z%W*@d0XNha6+Yd_7ZcM!R)9}7wLidRKeWEf@43G|=Kv5c22pp_KN`_be5ifqSJ&^w zvDR$hQ_8~CCL+|zW_$!Y2u@OQ!o#Sez*_oCs2|6?@RwLw4DU82e3W)B$` z2|;0!;0FevvbmC1de!z|Jsw{2l(mu5BcNoK4WPKL4hJ`W835>RLik5IQ)2h0?MIp` z;=5JN)PsuxM-QB-b51Q79@791I{?*JfIl@GMDub~r+0L?gU_a+tfsvsc)sW;I=#j} zTJ6z-0+6ry$RF$OC+Z$xCrPadV>_F_wFiEo0O)JNfQ2tXo`cNH10yYuOji+PnZ3Rv zf#9rHjU5-9(g2i#nK_hiIJ~b>m^8`c0AHvFL}VVwOQYI2p&-&26dEW*ckoleWk2gc zyixCJ!|NYvw=%uDs~&-A4s3foHN`Dr6S2*8avIb}p9*vbfxS{7t{!*?7{nFOR`6=3 zB%m{(N57}n=+h8L{X4v12Ht~^qAqA2#(5&U_T8f%*khIWrTJmR;>nFh;+GE1ttt#y z`^bLvjmAY1L^D9r5%gnI{Pfq8%hac;Z?F0B>!Vx*H%fk!(|^!^_6ck__~}vM!T`j< z1h}RKY|~40QESdr{NCd2E3lM=qx?PK!`XWVxDMvs4wD15KC&A;9Av$DFnP21JfUFx zoINAIl5`|3R z4^&?EizwXut|zN81F7sfEN#=54#=6U&rM)@s+FqFtMGj3?8|+pA4*P#%;RuqW=N8S ziQc3AAWR1v8=>k7IbLo?ovZ%HOn7S05z*n}^ZPH^DoQ*N4b)U!{KF#%t3}R`GGw^7 z5VwvS6?WWP%V=;6K+y>x9KwVkdzi7gdkKeU82O;XN7kAOVn5tluvmW?1FOpwks&gf zEz9Til{->l2c3v=b*%v?8oe(4=byE22e9c_SF9w^>yd1-lDDJ;PX57<5^;v>i7@W^1b9 z?Yt}Dk)Lx|UDro-RNJfE+n9Pq+_rzkDsVy8mQGL1ODCqMVJ`=pQh ztoL{R!&bp(^40f=AN;W@w;YYS?J9Bu0?x*0gJ~|uAq9Evn?tI3j>VME*2;!b6O!!; z*Y{ps%&WYi{k`zs*zlw6|+sn;(5l{Z%PF2BtP>ob(mM^G@RA z&OY8F_C5yFJ?xhimekt_b^!4U<{NXfJ<(kfjUPGkP?ekP-_ILu+@oN47JhhjXE zTkJeXqF6hvZK{=JS&>y|Fsq-;L3fn&G^JvkqKEmxmMsnFi6|+AbcY^GPyQ_(adNcQ z4uX+#MP5#v7|9#$Fth6^C>ax{W-siph^;871retek(NPZth-;Fszq#D6w^)I$?EhG zXEdela(Veo;&8l6x96Osvs+Ozc_Pjl%q!!zh?;6W5PS($XnC;51w_3MQT$&40VOT@C}uU7|pY5~~aK8^`) za7?k!20W1z0?8^#udv2&kwschH2YGNtLl+-jfD$etX{R;tH&CXmQZ>bOJ7tDhG}b+ zFpwR{E7(tBuU>q7Y%Ldft}T|?M_SIGexPi}QB9stn*P9SBQUL}QSd}sDZaZe`Wi8* z7>-U>rSSexDw1lf_=coZDg98Z>TtT8F0J6zYy0#eM6cUk7xuj=$y^ESNvWUYnJ*Bz!K_X+t>t&J6{`&pd4 zxk8gmDt>i&+?c#2JAA^j<%RBa5P56C?y+J3mHxN7M<2?F;vAD?Ou8yH^|r+1IG*6X_j7~l5Y#%#B71s)ifkRWBY`^B>l-(F555;WR7 z9?8z3;3yN&Gm62>=dLiyHTW_2@*q*h`4#;uGaQpUZ?duT2(h&ncs>*(3_Rw+qX$|5 z0-X_dZMS;yUUP7N=O}MRQ3nF_ERFFppk~XRMu{-;g&$Ltj}keeW2T)4ude z?X_eL?wC-^aQ7_X>dP^voYGsm%;@?el-fsF_QJ@~J$K3Kc>(3Lo%U6Zn2a28g;wLN z5n1kmq0P%p%2~ZW_AHNXs8VL zO(VJxZoglKcF5WDLeb52+3>N=C-aW7V(s76dh7PjQ~l=f2&(U0&NQ_( zQ~R1I50>5JH;vIo$2k}JpZXG7d>ot{ZQf9?&f$|a|5aKbNfle3jgVopWpHu{re2FH z_AYP0Io3irs7(xQ=NJEO)M@;o!T5IZM>Ana$cGpl{N*7Y+lvSsWm6ET{2+@jVNEv`mq{mOo?Hu%@i8LsRU3OfO`+#cA>7K0bcv0t2%%3J%r?*o zpO8xzzapHIn*}nBK4c3(AW9%T>I`cmEcaI)>$)%rx8+5p0-q@lLL&2Vt&Pi5lQ;L< zw73|`>Ik6g-4M37l>c~7V+F6%AU0ROHtK^=o{zyGj?Vt~AAzHHm=sa0-(XOb`odEq zfblu42+2MzAu!)A|7s!!buxE1oQn`01fPSE-55oC8W`^sCPKkCsAW2iMJjm}FVyvi z0c=Ddc;Nm77GDyq#e^Q6qHq9RV2(uG5eg#tIzZk17lxNs_=9~JfaA>&i|0s>ABrWm zzOosVwQ96NV&gsf{EUi+4+r%6o$vh1r<>n3Z#W)Kg=*;&?q-Eg^$Pwn(zbWciv=~p8PT%&9g#BSSiq6;- z&br4g#1Hj23yHg>sw^*@^$oX042OZ1Fg{Gz^H#vQ;V@b2fDlU&@%b!flR8eFC63`+ z0d>{wH9pksq%*@ooQ-qltX=H15tP3!yyz~Qoik_S;lR>ip_~y!t24e(0;`7U9$O*m zUg3{%XEb4kJ(d9i%R!KB0-=Bz3c#5}7zn?SAhdKQ*`kL#pX1|LV7U;156ZFXoR;=x z_kE@CIg!!G(j#%#ziX~Mr>;DPMZ~=WIH!qt2ubJ7JwAjo-zkR~PWu4a`7GtVD=2mj zkylU705D~?0C&#e^u9Z+oH@Kn*kwtk$PMG`lR2a(I<1G|u!QJ9VT1u7a&vkV&!j)& zr|8kHpt}M3T_`KA0KRPzsR2DY%oVgJfyPpZszpfP@s3Gk-rjp|#Gn6cUyb5k73c0; zTtd~b(3zP%L@#HDjDr8bUFzC<5cNupU^)!N#Nu4Toh4w17?toe1;V=NN_(ri8#hAH zU#ijyfYgl&rIe9l@S%M!r3e`!xsgC?b^%ENe|b8Cb=^QWPy#>#p)ZIWFoWh@#3%wF z32;RNUE=vN64oU#9nJIDj4=s0wIQ0hIqnI#@Ef0&5;;`9-gy^cFE(OZT@v{fvsBIL zTMm(}qF(0BQO3GZ#m*kUhJHUd^Dw6he4HbTX+Dg(Abg&}!8t6nf5GktqSi|UmN&6J zxPk8^kUIe%e2Xzy=}Ed%SO?q*l6blNiqTlLI1AB~+(4KK^2%2{1tc$?vG7h! z&%sW}R>NqNQuw;iUP40oUe{yaC-DC~#io?tU##Q5Cse%qO5BN$hUcNin0nUR!m3t( zU5QGt?jhPqFD~;9Med4L#e;p8pUvrvova?W3?fvwgXsqneK$a2J4mA8#_4y(X+T8Y ztcGG5LN3+B72*m~HwCAWpdd=saZ5;KG)c|MQ$JO=l$GKOSGn^DCV^hp-x-q_n!W{2 zlk9xeeC5)5)}4gQkB?_kB75>xh>`w$MDuV5BrHBFL{D!@!4KNNWB;qhPANew`4xxi zt19W&D|f+D+agp?Lim>%sSh4tMgcen0M3)b$|i{J4J4ULFwT*YxzbXT440wC8$JF^ z9ReeWWaj8^VbwiTYEQH2O*h$M{68D6iSyJ&(SdzVjkR`^vIGoGl;6bF;( zlw$XU{KmBNbOWGm&bnkP8#n7ejdgpuc3Dddod*tizEf6r#+0Qv3pH1}u|(5;lDY(A z#B&L#KV#S>a|D_7ky*Kro4(K359G&oTe1mm=kX$E#u8?SF4-n(V};*f6=2%sF4-Z= zSA?|n3o`6$gjb8n7t5FIJ2D(R@EoR99D1}JKMODP3G2U%cl@U9#5C=QxSm@gciwKF zSvxjQ<+f|dheU*VG$B;wm}TU-kc z=*TQ;%?#)V7xsb!KWFBTWCqTPeEb6b@Vz4!*%rTfo4p1O`UNhK7kTo|usZM=-HP(h z9TKiY8Wa*xj4UY5GL(QKghVvNgC0wrf&B##ZEZoBH4DbM44W22v6S%I(Fs0KQfQWA zO)ADl_?u#oE{Ca6gcFHk1VS-ffh_hw^ip*w z<3=gcOeo>fVoQH0TvWP-)mQwrveSJiF+{T=uP8Gp^)i4u@rdONG2F}=xlBL5bi@Zr z3aD7tg>TklXO_c#7C%>Zl}&cGSn5a09L_9|fN4aDSjM}^$OgUc=6guB6i=;$jP_^j zsD0sf%8(*@@aa7{BLgO37KS?m7QQd$Q+9$;b_Ay>p}sjGb5yU*HWk6S_$APzGa#L%U}AT%7L{1X=b1I8`UrME?bd?4M2YQFUS#ak*Z#t6Nr2lR`*XjAFz zr=|giK_P*IU?>CGc=u#g9>jBC5V`0bB3UDnUC2v;!T|*-1MnRO$yp@Oa&jSm{7D4| zhu7fH4DzDcX&XDO7ea4}qhErfI;7GL7=QhUEm|+k z5;Er@^A%UF-t@RirRs4%pT{viijDKr})4u-B(f8#9oh#E8lO>W;)P!cI5sZ{R-YuQrR{*W079@FxB{h@jIP zUhu2&bi=ujpC`nG;|;0JLa*6xa-nY?uyW|Jb%7LN^vEj(nLj;Npd`^a6|tuzW)PH2 z1BgK%Lgr1sdHZQIv}cJ^m(=lR=Q~qUd*JdBJxXD~C_g-tm44&|@Bl4R<@HSzv-Uj& zuYL|##X24fG1Ds1lEGX62JK?EBdZNwSM5sm1-sMDzATyj_>IID+Ym;UB>~Np0P9K- zM^I3t6=JN>QWVo*i0cz47qk~3JJ6*+A9m<>_7W= zXz zLs5rH4XUDm>MvODkSDM!`%_Q&uWg{wiDcx-kNm!kKEJOYb9=Ie+^Aw+=1cQzu6lc4 zi6K6{D)5tda~7yO=``W=9AW3hQ&mVYySXUX<+*NE|! zL9gJ?bxzRcAgsVAqTsH?I63jzy_!u$U1vdQfA6+<=I^Hm8N_*8!S=g~N5AgCfr7!x zV4vFlKP0|4bDJ>DNXN?Tzf%)`Nsc3dpsaxqR2-^TQG7*1unhde{Sc<&k!Vs*{oW{k zixIjQ+|>y_hSKq5W~H20(J7V)bQ~NE`y%F~lnhuZ+q-J5i4^2)(&T;(O|VkEK-}-J zHSF77X@+v{ix1dB)eBWxHTs`ogld-R414_lVhh(UH(6rnufETyuF=7$xn3^fuV3pT z@wkJBOqp`yQn8i(!4W+V!=Zu;mhC7Oa%Le@_g}g^xZf3}`4D{={g$qpm(Iqmg7czv zf38$1S3Lej+u>p@+Ub0tVEge(tHX~z?f@q#4#IuB zV$C}R>5=3@-CfVOm)3d$5cuM~cNaTTxo;Blt5x#ko~zY6(?0huRrvO!Kk-ff)89Xj zkBG!oa}lkP-YlHlILa&{a+>+862F@$eE=3mr)lVw zTe(>bNBy{YEKeWiwl=2z7F{%ic-Pe1c68h#QTz$hGD)huJvK`4#&SFU`=G3e`CD-; zt27N&1*^Dv3Oyz-9CWYjK;^9w?R4`51?z0Lv6yqShXwH|#3N|0TH=--D z8|o(ZI1RLytP)lrWedy^RLJ3H49}!(NrE`GU1^G{qFq^rag1Ggj`O5lMSc*rePwZi zqJ33)evEx}b^WA$O?}_Peo^G=byl*RYQ=7WVa_=7hrGGN?AjrGCC8>Qx>(2NNuDXk zmKkvzr`CB@C8xF}V??Y|`>OMlQ^!USj&tW$f|7IBSI|^;o!(wGXK3%uA!pG5x`Xql zn~hkPzK7E(m;R?G9M=I5LEc&KQCaSf?x1!hy~6Cl-1=U0HD$L^a+5f>F)EiYZlCFb zaoxum6P4X3SPJ6YCpj9vxKHu)<9d7%m{op0LG*TMW7tT*@Z&H{+}C47h(N`2PWD;6 z=e#2CwC6X~H+WtPf*7qFoNo`)og zi~cOUHT<(*f-@Unx!}YwH+K1muCW#+zRtxHTe}z74aJW$NRtvh{D@Y7_IBb{= zdOYnX2>x?9s}}tCW-~GP>EUcP7#VRQ7yuw|#;C{ncX1efU-9apxQ>O$`i((MMOPSU zZ6O+O)F7^XV+e+&4ruuMAilF}7&BK9mRi&hX|-!Om*Y>=x66YBEQAq)wMBR?QNuKc zu92^fiwJ@-N9eKLqNKTsi4vnmm^s{{l^u&o3NT06BGen2iE1OM_J1kb!^6YK?t*XMzOAmV?(FO!k@l;rtN+$rfPCA39cYDx z5dB5le2ehp{irz7i1$`6jWUJI2D!Ed3T0rxYkNrsBGYR~$S~uTt>0e87wdznRO^5@ zG%OucK{|_5oets^R+-IB?5Xd6?gAhHU3pSmVjqi_uY*;HNXYDc1+Z~meK7E{;KwB* zBE^vvOS2#&i6J9OejbNfiHcGM!b+&ABy1)mXvW7wM?*u$!*A(t>A=AFG%!YpKhf8c zKRwOxPt=|p`DwZS-;{MuPR{>TS+_?X&fXp#9?0GY?|?ARfM`$;0vBlo_dfkkW!)#b z);FfkFRn#8a!ny&PbK5Ga?X=>?zMW}lXl^ge$kUl+^B29SWv;HdD)Y7<&$I0Q&7=Q z-KmcRc#$^P#c?EhEjI+1 zkkC4`<0-7`DYg+=tZ*0A`8)R0Q(Eg)O6y%x|I>eR>#2iJxnocH<4^z1T`!$_svP=V zHS<)qc3bxqQL}N=H2Ki-?Wu9|rgI6=yNvi>_4WTsum69$>*I?D!%Gh%YfqD_H{+X# zk)7ZF0@%O&M9l7A|HEM4{RhLoc<{8m^SFL=wR(W~m&E>G4fg-k*OA}*?USpYCr^iG z7dsdK)Yq^6LtjT6>>^GM{-v*<-#q=ke?nYe{QpQ_M=I-)|5VoNLNN(e^~aM^|DmkE zSo^%7K_3>S03eRwFLEZfh2Q(51RBYGIqmLb5i-SBH=Z_DQ% zrvJZJ*2UtuNq0L5Lz-!Ar{0pTr|kU?Wu4r9Kdqyc9iIC#1@bEo%h`OYDD6L+tMa@L z4=S{qyC#a`7)foUFf~Y-EB}kK-nvA!%NOIWu_0N(m_{j+v&``iW!>SpX`IEOh9%~d zBcr79fx@nF@*m3jvUSZ#`lUyCgms8C#f9hJm-*erZ`F_=2&Ahsev+?bke5{?=E{!)(q#H$veEFjjb2GPjQpE=OfMNLN&-FMO0dkjtj?X`vt3IB5e?IjR7fG!TjJ8;? zaz(8A{;Ip(D2zccc#QUf=tTh-QSUnzv)5E0V8TE%W>!2wKD(4$$EMNr90??~j_28Q z$U^Aa%*tvIbs7#<)OKdwtnD~`C=0^C?bJ1JHG{$la6Rr8W7N6;AVP{NED&Z?z9q{@ z!;4)oCi6J}j7MJx{WzW*`|BKAuD+CFwEy()t!)9%)7_R5<=BqwDrhV%$c9)JY!rnU z{d48QC=3K(x_)KBAtaOl;$>l?Ks%s7Eo4@RbDnzufWAwM<%j7?pC%dtMWY~~Gy~8H zRCll*Gi=lUIHJ3gl^-fgJ`1aiP2ui?_A%5ohO60cK5qHEcvwuN&(1O_M&%P7q=hn~ z0VDtjR38aE@@Nu5DD-1WWi&TeAu!>G>17fSeM-+ofly+A>{$|k-FgUT_W5_dzN8Tz zinG{`a}eqm(NcpzGaO^xqKh@m5N^|Wc{<#;6iH^WqT0zg9NYO9Bk*v}jPsTygnV9-qxHysrK7ABGgc-BW@jWAtE%k`oXCi*6X!udKQp;NCFfHPagpD0NeD;=6ab|3ZiS>9Y{`m_ly7Ki7{{T{1ucXiZ z^-pEJ9W>0S*6|<8`aDuupP`(bjmV{-Ds^NKh4AcnquJVk;0h4b$(Dc-C8V<6sHVvy z0aNOh;k4>PD(m#V!|*T((LtoLZt9L>gjCiAd-?vMtV(? z-5c8fQ(39lUGW}bzxrMDm`1Q&(_c)I*tOONl>`|iOAWz{|QDn+A3YOB^J+9%ey{kMW? z)?rc-_!a(=h%d1b*=_Ht$ubADO6n5Ek3yxWQoG!XfzIGA`{{W?p^z9}nZnr( zFje!~)rEgxFWd}z_7;j`7K_U(`hFsSCPF&;GgM{#TXr!yPgQ({C7|J9{aiQ=eEuhc zulI#QbB0%{APsL-QH8DL6kd!-IOpSQcF7uSC+ZVYW&-T0QE*(x2rCcgr+igKQ}xb= zarU0d@Dqsvy1OpEm^d@}t4>mcTGyn>*jf91z;}R}ZsWH$ETiuBYR=iN8RQDM%%?R8 z;nc42SudObo4{Z4YA-(fBg3bIh79iwzJ5tp{atPFT0t31HCIS?SrhR0$awa}#NKb0 zdW^tBQ?;H|R-T)J7O}mkw~wp8RByRD{%%VqK7Ku#x$P^tK2^ndu~ydS(@*_$&W!qM zr2v1Wp6Tf#=~>ZMUdA zUz7Oh*lg)xQjYd_%j~Dq%o*W=?Z4Nc%}?i%{f(2e6&I6Jw#0EIj=mG5(myAZZ4SU53E^)n&TT1V>)VXcG- z>V^gk!D5ltdKo#tEll_>RO0SAV$MZOp6F#I)@xC28j3LGvx$)S}S7(NKrGaF?t| zm(Fk$$w-Ifuz}_HF-;h?2XQ?ks4NuC=gM zY;t9=c4zF!cwkmkgl1Iict=#JZrn_zf2FN+b!C**Roqfmz$ekz0g9NKtk~~&@im$8 zLeg&rd}9~Jqv2Tzi5SrY`|*c&3CTXlO1-Gs@wju}#G|`s&7uicE%8-%k-v43lzUPj zYl5|Gf@$IVHQ$73`6PS=ugk0m-1{WbZ13Z&kfHGiq_X}VoID|#OhcKX0FIZ#Okwm( z;gn1HMv=51mBN#4Pp6Q0dY2;DWe-+>Q6i!vg}PGtC?oMi3HQcR@Fr5F?KC*BlAi0O zDf;QivBylYB`Hy+vy!Fe+@*1|r|V*gi>!o;t;Fcvr$@D>OEE^@U?P=uDRVt{BfSip zm5ln-3`?x^cf?|zSU?UY?r&H-TxulLMx5KSE2OoTa5@i_K)Zfn^H*0rg{UDP?Z-shzh4Sxizd<3AGG4yF>GWCo5W#wF; z(GT8xtHlIp;^a!r0FY~t296AO(U6-w0PC`uYSNjXxwEs)04P&PnLnJ&pm}t1nXI09 z0ZfHxZ3XDDpq-K2C&4_!t=v5B+zM~2q>N}iHBv=O-3cB64SBU7iCT5(-9);OBaoe7|04` z3zFD^V02J5*pyf_ld}X!PWteRM%$>}H?4MfHSzxA8V?aUQ zvdrs8;om%<$w!%YACP%%zYcR`ulPYEkIUa)<+1j({vT)qpDMoW7l)Ai47V@a@dKo< z0N!m0r}qRlC0qH%zt4KhvVD-wt+Q6wr;!?KWTN=jqP zv$v`N%y~5irJE!o2Oq1Ce`KBr)hfIr z%oym#kc|Ey&FB@Q0JOtt6Bvb=m|?4Rg4QFi^FLUI~?!0DsW4WSD3ITuKJrL>H3jRpZtHZy7KzO{C% zO{Yao$;VCZ?R@P_p%O9iTq8{$?aiL;=HAR$XJyTS!Y!k{jc!UU(abEat3P8_TY!4a zs?AC9CoO4)AxZ7Nl1EkP?X3mWjeYWT@{+;-hqB(@RD{pJLK8lxJHlYSzuGCW1E@2fz-o{QlRDo-QU&Dn1C*`(2nZw z|FPEBv>Lj!+PFuJEJX`|bL>qU>oLaZ`D5rh6P-5prmy4m$)&_P(dMXI zH|0XgY3-W0j8b{V>G+I(y?ablJ!<^5-$yK;>C=ET-$ol@PumnhyYsO_fh9$$gYJ^K zMIEQJ?;=;4D>p8i*3gLd@y`G0F!L14;}5uIN}YO~11`ZxgpkHE^VPB*BdestiO zg?3k@6z$j<&S{8IIowttaoJ&P<|T0br66%_O6GV(R-??nVP;EN?L`?ovEnPj*Xeec zz^o?xgujSnONZD+ycN1r#jO%;M0S}5?=;EE??e{uzY4P$A7?c}XOYQgG(!PI6LX12 zbLw@Il$EoZMQ9O*%E%W_vGogXJ-&z7ZuE3(upx5R-7o;jrnMGo!^vwzcgWwz&wt%X3EZJQ->DVZ31QteSKf_r+J#^1ZxHBVR!*S!xeGV3+wI#q zO^6I&-Q(`u$?OQeFWnRF+@W~C2{9Rx4(k59zN7uQOV>G0+@#&mx%Yv5p9HkatGYkA z`bWSh#q9IGkxBQ<(ym%=pL)l<^G2sl-mZ^ot7YfG$H_fYvE`u8?E-o0VUz!*tovdd zzMtsbSD|ZG2?g*Tsp1?N%O9y&99hO3#cudmvwG!z4#8;Iwnu9zc~4u+c1)UgT!GP2 zd7kyt`MCW2xbEL^3C3ch>Pb!BN!jE{%f?CG@{y^}PC?!gNzmzV&~~p_ibmd_3cXW> zl+zipGwiC2u_})v^fOB3v$c&gP|(>2xl<+@cQjv_kSa= zvohe$@$QdyJI{J2@LwkJ+ql;6{y9IqcSK62M7YLB&A)ipbphJEz<^y~QC#APU*f>9 zT*xmB`7VBG5_|(+zK2~>Qe07sU(qJ&6@R`Y?%I+4%mFMCKnlK~rMTvTiC^=WUZeiS zLJGNJVqYg@k70$K#8_N|#c!ldZ!lc0N~^B1Glsl9j`fkQWhrho#BXU5uL-MfeAAap zn^#)-@KV6HW)yc8u#3CYYrSftdMBvy?@P zyL#i(x*Q6#9!rCtfYoT9Hy^!kADe7LV-P$_5}z7OpUbnW~U zC2yHh@div^&|nmerq|6B%dPn;Rl$M3s!1&%&>qaIu5TCd%Gdp{G`#iAS2URPnA&yW zk>~Gfm1(v7*}s$vYFEqo7e)}kS~Xxp4d!2bu_OME%kNjI z49lgdLU1%Hy7NpilO{c<1(EDr_|&dk5|tF2gqafPi?ZSSK+aZZcZNz6kJHB~y3$HE zi#Ca+1{vHh$VM2W;oV!3MByMjsFpntH1-xpp*ETVP!Z)*H#+}WnLp93p%4ap3V@dN z8$QlgS+6df8UEkO`d`!T5F|``qooV;{!i=}ECOkc%TZV^3VYJiMMUwW_@kiJblORH zWIS5REhG>;Jc!Sl%M}^|hscRe#0aaQ#D!a8t8@-s2k_36QsnTR;rM%gG}LzTqXHCO zzbWhA5{;KQF5i^(Mwf$)^=F@p?SVuFm^Y_n7%GL-0@?I}bSxov(*Xx$^@n{>!(S;Z$>Q^jx>4>o zWnELtO@_eG^HSz?(n0yx@e-*lS0a76yjX&BZbc{7C5;&)62S$ggrWV3#Rx(?Pq(0< zGXg>(Ytq_Y94nFU2*JBlgV+`->c8v|mdTKq#<9sVZ^CrR9uU@@^gpA3CM&t{=g>U^J`kW9+@^#jh(Ga5gJzhLFHc zlkiRjS6?P!oP8GM9cozWi(Va%B0QI|HypwT`vO5{xida}txAm=qj)JYw+;Ty+Xu@e zDFQ#Mo}H59UDNe|>N@hvS6nJf@xA+1Mj$0+s)`XcV8@PKCDR~vRC%I=y{QqaAt<$e zlmHbqlgqNKP`Ftdmh!Xd$-bgqbg2tlSA030M5*h37 z+%_$?OjUWk5a81J{O|M0?NT4-R7T7z=YAWmZlK$bkNvAI!!%z4-AC8q*B0xJjk5~O z16VTLrlbgsi#@#jI^5?pbw7C}vdam2q(_kRZ2p#Oe!c5glMexLjdJwGb8lQAq*>_k z|MT5TjhgnV=KZp6{mJc1kiWZ^OX2LjYUk zZuFd&Y(GgTCIk`tYB4zY-}5~z7=R3cBG8(_p)%B(Wl=MBq6op5}(c?n^+BoYm>2qJw1B%q=K)u{pYvuN1s2M<`&< z924Iz^j%P~e4GIQA)Y7%BNq75#}%JWEFG&^Y=K|tE5l-=9%r~`LHO%Ih9gov z-jddmc*0kfr&K+`!OD_!{Xtfsl#^=1JTD))S@3cC+?6s04&(JfP6D|uSj>tN6YWPI zF_ab*|8bmNbqByzVU8XaJ!U0D4_3C(Nc|9M;d3ls-816sC|0y7N5&|xRjQE=FH#JT zzO49GaQ$X)<`B|Ck@;#uh+Jz2=s!IwnT38&U1c&QoIF6ft*rj^*KqrKUzg9YLL+-N zm!3rpCMfT~=9+={(JJsgMYB;@Cp@%*Lrw{M9s%7k;P4bbX$Y-1;gT-3khD^s67=~=hTSZh46o0QcVq=Umf6A=uROG4e)N-v z1uG_d=$`=;R6gj8+vtQ_C19f^_~}@eVtG&Wf4E_ZO@b?jBmTwMW2D{#ztpRP1T(BK zfjiOdCP}Y}S|u~N zmEcb+!p|2tw)op^3fpHNV78HjN5@8yO0$U4bfS}A^PbQAuvll3?wp*ED|DO!`&$_B zZq4gV=64e~HJHAvj|nXVbUE3GN594OMW#D+K4lAI_(6&y7TW~70G{}RY$VmYzzhq- z2bL1oB0tQKKah&M2^2n8Gn4=Vi!^xR0mh#2zYutBN}9p`Lj*K;^?0eWHxlHqPam@V zt78R@xRue4UA|!7BD`pldg>=!uV zg-)k`Pb^E_ci_nMjGl1V)H|627vy0mE2qWUySFgXDlKDVd0aB^rPgo)CWhqkEhfZ? zBiN#Mpv(t3 zAax@N8#&@=B%?86xib|R#m#!U{v{wGM> z$r0_MR$XuS+w7iwB~0vYw0><>MNVwuF|QTX#thZ{g!wlO_xv#*Hb?mME_XMW-%3Ih z8zQ=Jf`HG6thUOW{|?bqfF>0ggzb3mA3H|iC)_>Ds^p}KglSyy#W zm54=0^KrhSrXcLGS?sWv4fMf+qbc;NT7wd~6pXCx3&(pH0V_KZ83a>u220w(A0r{;C!-!kBy?*knTe9%}3?n{70(19tC^iTsg@kH^q0t}? z`Ad?+$EY5qA$1ePw)e!HNOEq4#~sqCq9SmVp>hyq8p>leOU5-}BdGY|h6w;K`vxwh zB6W*p>Y+K+<rn$L$!Igk&1ZWU0td$FW3IhNB~Q;+5UNL30?4WFRIj z5!0V#XKi4TqMr>C5yIE(xO(h3WnuMLaM2<_9F|`&9?gjS6Fy1O2IdnaVU}OWpo)&G zuK65}R`_4WuH4uVI0kT}aZA0FME{FAlGYZ7uN1Nc^n?5h*I&W7WUFfBy?h;9TxtWT zG8|(i3D*Hm$9t=MWypZx65{vqaGiLxyAf25L$M#l13Dsc9HF9lRkO590W_B}LtujCOx?Yuc#JcxRB2O5ej! ziawX$$Gn*GUP5ZYKx()`YPiW9s-={+CnY)!|+MfS(uKzF!ujdWz+ z&19s8OxKIpHP2wHG_d(aw)|Ah7}Rlps`wbM){vz93Yr))io5%$W+gwspEY*k`CA15 z=?Pae?m)VH7A_}4{$ZrN08;m|U|8xPjd90R4;9y(VI**xMo9Tks7#3%TM`|{Tb#yA zW&|Xcj(fxdU(c#qxyE+kYRsLYx&|tL=K%KY(IfsD{~VI@%ky{F>hJG2lfHXObVeGX z5)k9@PIIiTY9X+S>lo9m8p6C#Z_0Xtx}JXlmP8~UYRFr4OQJlqNM!UVxBb`(_&$7` zg0+{zGq&1&%!^BAx}!KiBu-nj*RumPq($sb5~v+Ge@Qdz*CAG;HO5RHIo_hIhomm9 z5@-HZ&d6BP`0F?o3&cu0Za8oO#Y?eqd{B+G%R&@FKc|U6H)9Oaa>3Wau?EriBo*RpDA6F3 zLL3E1Z}?QT&4}T9(%8AjI~e`myk*IZu`%RgTq7zWrvXbthdeXfOAU^7*6P>ntK*W* zSr4Z%q*X-C9%<B+%^8ijQsi=16f*Mt`29$pDC^ITf)UrTu)W=eVWN7D??)(O< zxzx(>AYRfc5k&g&x0By;mFRK}TZ|dxaKOdUdJkHttsU4MytAbsk@C}$G;KXOPDraX zY7D-fW5n;D51l!mvMX{yBc4$nt_Vr<=P zDoO2R+HvHfarV68uuD?$^8QX8JeAYk8?Z>-AVypcCx79?zo~@Hr1ZEkWE$3r)er4|XrC>5IY_oLk_AgtoVOS&o<<$xohPBDYrut-@hK-e0&{sLOTzPNnqfGL^ z5RI&*m8$M6n~itPA%EhREf6HkEM6@PF$g&K0csn6OfYQoU#&Y(_cixZwPe*z$D%DG z>7NClUt?_HQNzAnzEfJxNMwX+7w+r*6I=Qd?(i?P;wkiFm9^OPBIklNn7}p?S zD2R~*Gi|pxvcn1N8LE!Ytg1H`HT`3?tax@6Fb6|0_aD|*jF@lRi2IfRL@c7hyd?HQbYuZ2e0OJJ zQ0DiK$5?Lb>=Gs^d{AAoSPwT$jwFD>44ui7{lNPUbNe48&Riy%A7isIHQWzk2NRZk zahyNK!n(y&B>?J|(E5EaRnMSEC0JIv^^!5rZ&?13Ym&ZJprz)4{PM4QSm)8xKf9Eb-*)(eY zj_xWV+IcLVji-AXNAE(M5wQ{!(9TXG9oRT=Y>v+1%baa7ToyB;8<>tmC8BZdLQXEf zZcZ1_?Hq5aUgA-l6v@o-2s)HP&wsbXzCNIy+5q0ErJOgRO;26u{D_Zxa1ED$!yd}R zImpY?a-+L zC5P!uJ*xSPcfH*e_)Zu%9o0W(e^rMz##~HHUcw)`b233iFg$WO3{( zi^RLcGSEo0mvz@&K9Y9~f%g-t=STLtOgk<|ihCDpZ|7iQJD9hH>26hWj8bfj`5wLR z;-FPp+`G!S?$o$4oyl{ z1{i4zG<{Wc%LQVdIklBNK=0!$Psft}0wa7Vx@m0Be#vq>1EYff8k|0K68X}RIuG02 zXo>sC6Iyt=c%ed}Lj|_;fl#(B85$w~ZvdnDq&VbZ(-vRA_xm|y->H(JIA*~(WV78a zECgh`WVWr)?j=OzmWb;7PU@FA_aMMVgny$85E(MWZs%8~3uL>1?<#xlu=6k52z7V~ zZS@Uko(e}cgCY~XpqOcDy!8mq#j$M#RH1;_wplncpSm7G*@%#lAO6%G#9d1w|N0)+ zniw~H5MJID_cO}Arkd@y`*&Oe`bK-tTECmS)R>UNM~H0}E8q!sjP=w|hW1Sk9DxcQgW|EHz_w!1zsom}VELts^3}W`s9`DawCnA10ak}WoKQfs9khk% zwGs98^ggKb5dO9qNaGY}cJ4>7OVc@m=IR0Y_K=k13+0W;%z@mqH|?N6f(@$SrNmbNv~qj z=6m$`=YWvIOb3J6{)RxKxXICNr{QBNeQs7i5o`7hfo7R{iK6y}1W1qb9Z~f1j`i4L z9Xg38HUe_!ml~|Lz`{d-I6@$HoN6x1l_qE4Hor*BBvgmR=;`>({ile|2?Y5B-kVft7o@VZEBH_ zH{hXHNHtDcr#765>sA5rd4Z(JznA9Cq1YVHEYK=)tU86b39`iRaA3NGNWO~<{Bnh` zJTzbYgOY&_G|F$Md`}>m6NpU+UiQL{R2u)(6F~@yshuJ;wgO}M#ll6$Yr&jmaHWPp z2*_#{c!vWaY)+vw68Pv1=79j`v>0#HGd$DK+@yzr2)uVU7V%kI_>qb2$+o*b2-q>- zlBxZd0A76@StA74q5v8MbZSj=BEq~hYA=%lSo9Ptwm}S)sxhrV(wAIN$yZhcRe_`s z(SRUy}nz4e?u5I(=9f14+=pw zD2zm3-s9Q2XCao1fZrDpM*5@aj~c6Tl32xgt}h=^MI%!8DG=p?%4oS*&PToxLd8gs zB^M&h?Id}qq!_%bEDpb>7{>Br`Ju(G9Dx(+P$)`nwD*oGpVCoS3gB1laiy0;=jSvA zwQtY0^*I0FX=$iyYj-G3tm1W1IMpg>X0rf#=z&Dat_Z+_5&$6*ZbytB!iO3KdKC68 z{C*%u4H5##>I!ezn6U;45y*kY)&C9vD|PQ7`66OW^loqNa!Aek3aTq%FOmtrQ#d{_ zY?%3y)&uH@=h6Z(=GJ(j?KX5PpfdtORE1~PuDUI~8{17ndX33*eFZW+P|>Uuhaew=q(X2ufT-BJ{A@ec$~m9JSQAQr-{ zZR0ht9$|h-i`zaKe%i=}$-}^!t;yP_u`owB7HWo)tbfqBXxkv4CG-}arO;<$M4_;6 zL()n5;k~^6n~v*W*Cfoevi#DT9<+541XILPPls&ppca^BYR4N-er|uRv7{5@uh^{J zryr?RK4Z;4@vaFOtsu1g;Rp(bQ9Ve0u?&9rltuc9p6mRJP)kx6VLHITph@oRWNxMHePPsYs@obK9_3&~lW(@a;L;luS-&(KTKOV|Ue@^Eff43-S;0At3?KS`4$Mnc>$9X~L2nYz~){)FOpr zn6TtlfzZ9IRYcV_o!)Gb&sG!Czg~r%~shz#|7!hf|Xgt-EA|W5tw5eJFiP4FKw8o@$brImOcx6Kj0o z4EU)>_%wjl$U6YcIn||yY0+mGp;xA8s%MdL7b@09hu{`^jv8oYp*C#L~|>ZO(4(J0`a#)l5(tN=*NKFFmVI zZdH1Smt1ED{$O>4?nP-nS>aquo@cjLNUUxoN2n;2=J-Q*Mrv3l87?H^ZsIHAG~?QP zp=NeRta9{t4Y0W)Oh^jd5*HvXFOg{XyJxBaZu8rSycdeP`XH|db;!EJWH!?kXE&W` z4LNvNs859lMSqI;4;;$Q?@&AV8jy61+Mi`jc1A=AT3#l(_jr|m%Cx_WSsQvl`hR!n zXHY_Zv8?YX5JXTq6j{$PXdFK34Sd=w4Ej|jiJmewn=()cy8S>=Tc4We3&$u)JW3hW zGc2_LWS};%q9Pr^EA@2ziPbVr(mI9rdch2`#O;HRtm8ChE$~|1>(@z$`ISeclHPI^ z8ngl&LprSZ0+gp?m;w@nv2FqHD)rc3i# zK%E)1U8ztv!E9|Id6cVp42sH*B585Tj2E%YXHIUumw6nH{f#%VZXy`P!hs4H` z7GUe}(f*PjNYtgsDQaPkJ9^VE40ZL)h-c6D$(YNG=XKX1$VuphVJl zUP!`nvE-<5wp27v%U})3ieGM}DBB_y`180Wb7>>TY0JiKKWk*DO+@hjW|$PSxs@<_ z<+oB_fGvimdk}f%o;_|~4>beG6~yWW2YL*Cs;anWTlXGxixO+A@9#>cjp614WEiDG zbiIG%$kUngGp)=o4q{YcO|HPRK7nfjkk(4?*r32CYW*I?-E}q|oKA?8R{$v!$7cKl z0nkjq|GPzGsRU2tUr&GFfxb^(!*M5&a;{IuVUavFp{bu2 z`MhURJ7Xx?#Wc12Vc`ZgSmaI*C-c87t z!laDm=}7#cgL)34Wv03)B${x1LX8K5UR%C8Gmx<;b3cuv79Idd{?~xl;aP zPXo#(ao!!yI_)rlkAgk3sJhysU+qwIe%S>_%Pheo_ng1BQz-CAx~qNp;}B~AqzZ_Q zWKC&Pp}0Vl^p^Wm7Sw^C2aKYqXdrjNvVP2btohWi{>v%IHEf;ILfjH&KG*hx6f7FP z;)S=0uDho&bu9Y6GdYI-MZG;!#ZzCVdwQ(f+OWr(uvdSrM|(u$2AvXnUA`s71Y|rd z3P3zm`p6iL(xgDdqcJcX!#bQhoRBc~CzqAQct8t%TyzbdV;#bX%*0+D>(>a0i^FQQE?LslER|%A5a-4`$skC5-c_rv3 zg7`%n#-m|&V6b3X)9on1@Z5fDh6h%LJfp%%OWuAZ)q$G{5@#CgVR&*kRkkulOh>qW z&&H=M3fW8pQGL?0k^aBdD`h?Cf0y-E=Q018{Z?YcY@z(Ny0&EGx=}8Zw!3Uz9-iO_ z$yY9mI_#L0YD{gBOsg8-HXqUEJvYrS(NCi!$w`)`IyaVclcaan&iLGJ4&y>bW30O^SC(yM z0-}JJC_m0M4b*X^!G8K_0#%zr+^4-TyIi^&klk=q2K8Y>XJxe7JX^g8^IbOC({ zQ91E|G~y&9E7k&)6rZA;9dzJ>`x-&A)EkBS=3Tz05hv>ExYB^|J zbu(eisnEBaDx$b7w>A7|7t7y>Pe|2ozo039WIIHr!EmD7)n@JNd-LqV2c!zJ$#6XyuW)qBvyC_F3d>8fXaEu{B7+fP zu;puGBL?tkO-E*pFad?}h)M6G4iTA;ZtzBJE~yupAJE%W0A2T_f$&gKVTg z)BAKb`$qVkN2DHtU%IS|dnSO?%Sw`31+w%=ONdOiv`Ev$u+fQ0*_kFH9A^S zdK{_!wLdZ{3^A)51yji+%O>SU#*`+-4i=E;3nb}jjBR@=D@+VAV1#c-n+++K4?)%m zu$7#uG=`)og=V9Jm0R~wHMVSJagvmX-B8RCIP|7WIA zcIGl@+WNQ9`-<9-MTr%7CXRnN9VffdeQSd-DB^u9ABsJj+Q>C=%1ad0|B1-?L5gL% zxQ)g<%cOd|uwJ%*8xm2)M*Rw6{(>}GoQ-BsG{@!-+w`_t38TaylAis81q=$olxK7p zddd9G7{13DRplK|NQ*i$j4i6qtmOo*$VSeH{E=xAmscQ2B^)znf&1T0P$WSb+ zi+E6}*gK4(=O`1LUrvB?@HtYkrKOg8ILSA%6BBf-oMdJS&DJwN-XHn!-8traoy@&o z#a{8D=|^1Yq*`E-&AR$wfM4N@osJARFjcAzJ;4T1 zLn7P`XHzjPTvHjb`IS+YLq?h>;s(^WV-aqW2Q!gIoC(Cs{zD+WL(+ek(XU}g*@#u8 zf){~YN21dad)$dwqu8J2=qzUk-h)@)C8#?8Y$%AJD(Y&#_Hv(Gk_Uafy$4I+@T83FaI|K7Q7W~;!VxNc%xtbC|h;<{KAs##QA z1Sr+K-nqPh!-)juk*=$*4sm>)IZ&f&P!nq;%~p}}$B<32(5h>s-ctZ6q@mMEKg<6D z7hPWnBGE0SQBD-4|F}w*DM=qY!E|V;>0mQ|@7Qq|YH`>(artX;#X0fh+;E>c@MoPj ziB#rvY6)C8I|W%D+&PJ&IPLbU(ADzYVmV2C`surw3CB!)tS<==IA2xw=1Edy&i`U7 z)xQ7BNpW9G0lR!H5idX+NwR}440 zb}m&sXYcwB(doIU3>{Y0TZAdy3&NYq+Lb(^djCsV=jFHbL~`I+z-W+DW3!T; zO%C~dWAytTgdB9F{qI)wI&Jc(SXDt`3LOqrs@=pU-T;j=5%Q%`KcCm&d!s=Vhk97O zgdvyY?rK`JWX%YLoqNB1q4j+Uo{WAP_Q-5lLA1eihDz#A22;4b%!0w2vd-URDb6R; z%*z~A|EYtkZHhtu0w!HwNOAB2&$wbp{fmUR_f4uaE+P`_1`(?yO0DRrQ&B&7ImWQ=*hEe;80@nI*|tQw z2t*y!2iZ3NbN5lwuQPCGoLue$39AT+{Ia?PbB9`Uzt_6#Nh2b=z1rNsa2_S9A9G=X1t@I= z!R}vIqY(E6y_q?JLfPz3Iu&gdzlADO{eHTf!Ft=G7lo?t+p1UZD`AH}9qy}OZM77_ zbqCE})m$e#LjR7RelWB*s0lYpdDbwj)&Pxab%mRK+M8GFgHC{rEHYKN0S&>zZQtA5 zX7B2PVfE@zQ0|gktHX0EFo0oGxbvXB^RIB%eR~&7xErOT8&jl*u%m}Uq*u+&z42MP zw_SetxjyH)O-*D#SA;sM{pxtE!*Z+1uw&@WC5pRfbl4iq@gL3?8U5ZNW$|*59MC`8 zK04Gf{yVUfGf-Bz<5NTbm`C8R*^b|^z{V5)NvXhWACV~v(HTwQvBZEaf=|C0MCas0 z%M$}Rg@4VNiZ0wg&6viF8Gc#_7F`Nxn-Z7lIC*hOjTVafwNm|>oA~Oz7dYYo4*+x% z*Z*4I{FJHYTx`$hVZq^L5-7GV z2NT=375miwX_^1u9|y6+C^1I{vCZoKshm$+W3LBsVkga=2B|^wcb^7*J{=2pp1djR z2)y&DLcu@9whzQEP`aX41J$2J|8zATBS0_M#ji2DR8LnohB}W@U;DlV{a^^bw(Ytz zmT%>Zq4V~riabA;$KsRxQa~3lgQI8g=Nh4>QNaOOHR(}miK&R<&ub}Mc~D9q#s8L&)cht-$!@NwMU4!y zD~Myjf4u>)_sU;|C})xFkD#!u_s7XMN6RnLYk$pHvHxL}UIfS?#T%r)6yl*bN`~8w zID3HOw_AK~Ffqfv2qeI?w2foi?HR=E!1yrdCXMP>jp z3}6ifPnrmf5f0kyIUsw6avhx26*|#glFS{Z5MtSl)r-$aLbe3`-`a2eEVc0X|ywLbpQLl$%Q8Sa~kj;%3qQqpbIEt=UX`l}zP>5z6#f8w1Q+>+U!r;c{=LFr+;_k^XgL3u`*cj` zf0T7m9I-=@h(KA(Ekq^(ag_5&|7Sx(B*CSg{YrMWvp7na$eXg>gyHQD&b{RG1rv5+ z*-?`HMm5Y#X@1$K6#U=Hx+LBXR*arB&3o(^1+5*NtR-m%G3;3N|Ea8F$LY`Q5VS50 zFytY#!Uv`s7NhhaaQy@l1jHDFs7WM$VSjc@+a){FlM~*+PV}4GegC*5C;tCX)>&vt zvEjuy`J&=?xGj@;-~a&6ZMr@IO;S32Ma?{%^dDM(KIkti{!e9HeMFWgtAb7zTZ)it zKZ5<`3TOsEU~nb^Be>6`7I?l?WFcMaC`PXjo_u@}%|EgL1-){MaSc!g-% z|6N&k=KlI>G=ellIAv8=pEVhHC@Z+4o*0BzOeI?8H+6$!e8pwCi$~8n#`qPChW9NN z`%PIl(9GGu`z|<7qd-@lk{XMf$;`SBVuiI$vRmJL71BP|$Xe0*E_RzG!h1w_iBjZ| zf>|o(WT{d3rmP3ySD52Fka358$t&H<9}4`z0EacJn}A>CmVRP%G&)t6!2``kwN(r= zn9Q(ot<3Xu=sEr`WxY0rm5#y6daS-^?|a~D2?VCtw_aFWfHd2Wfc54~iEODvu1O<+ zPe$2X;S!TIPyeH=FH)z#nPq;~|E^e5j)7l5(s8Q5^*p#n4uCg?cEe#Lp-t0ww^Xme zBVI%U*gFW?rqjFKq1UWl?8aN&>4Gp%}^m!vf5|agoWB) zRtbN>`vJqDwF9k$h40>)c1&Tg*m;6n3uo_-Il4~kP0;??GczRK>VtP5?6b>^+dhs=A}^he}>k~rjLbw+!F5OhN}pD<#o2S zg^GjiSPALgRM+rQbMg+{`}WEK>fD#98jEcF_7-ElvJymG$$$?)MN8n)mv(13Ta{ry zJ(sI_R?3UAINB$IIOiKyl5T*a((x2BD#AC+iwI@u6M}aTfDDN%bZB77UZ`r7pk~cp zw@WB57wf7*KLPtp40cD0w{A5(n47}2No{{Ua7`HcD~Xk?z!^c+yBI};ooCmtpA?y| z4zBXpkY#HK4bs$(qr)HFKee6fM?S}&teN4PdMZ1O96l*u68Y!326>%7B8yONGB%M66JA|q(wOb1HF>rX;;{U5%I@prf!eJ( z#i=s?gyZ1%>(1Kn{Qlj2Ywfiz{ATEcBztf1>ij|Gy(_>_`DJf7BTXW{_cCJmdD(A+ zYvhZGUFzZ?0nC!&Imf?*MI`Js!7HkJohi?`<-Wr$s9nCsHxQd%{Rs}uj0`^T#dApf z{Z&ZXZ3Qvpr0hAh9N9MCpodv99}Bp}h{GdUYPgB!VN$M6iV60Axq5|z{`H~WgdahrtP6|!g_T3xtPiO(_)cT`>BQ9Zv%&sV z0hCxsbIl5C2 z;aNfxKt<2Uhf?pssYd13{^<3C)o1~Iz*w0^l29NHCFniCk&GIbvfwKEBN5McDuF`a za1E6_3e`*v6_=#v8n~AXoVfu3HA|p#AE38)f2xzljDo{hX8_^3Vv!dC*DyU&R6!yW z?^4fO$-sIfp>B~$ILy;H?AW;6>bU&LxWd!8;@Egn(}b@QOgY=T>MGi@-Yf$MZYVbCtUCE(GWqH>`6l-J{ON_X z8q&DwaxGNiuJE*-WQyl$3K%vef(9iDm(ux= z(YhSGNm5>@Q)qVz5)=FU$Lt$rPxg_-1HyQ|PJ@XfeUGE)H;;b~@b=1)$Mf z0}Tcr4L*}AO5Hzdr5HM>bnl$5u6aH%_-QbGap!KrrZ=`Q3r{h$oAHfzr#l7HWoa-s zUvWvyI?G9c%SEHf#gNLyJj=yC%h`j<5vIX{lFHKB z&+(|iBc~|{UvFk}#f?tKqmasLsL7{%{S}hRraQ~)Fw4h}z_%&S=U2(*GRq&V$>FXE z@vdk5h%1nYEBFW&h^jO6ofSyM75a9~oZ-Rtl^eHLR;XT6xH?ow)Pt|uL%2^@*B)X_6c5qF*qNx;%D`Ffp9twR9Om78J9GNS-`IQ4sHWO*?{g=FB=m&d4WLLbic(doG*OV=izpzV0qG!w5_$Dnp6>__oh-r#X>KcJm-1Od1uYMXV$Fs&d1rG*nHTFb>CrK*Z$vEe!mVD zt8QbfzI3bc*KHEyJFRl@qpaqiATI;B{BC%U+W8!Bvw7vimT;>y{U%?9S>g$z?d| zPC4FdaJ9M^01L#;mrNGqjNzk9;$n0;il-#~!Kd-}E+e3L#V0 zSzS{1S;I5#d6?*knp`Apsc_DRvKPAIA9DzG7uF3uSvlrmSbUnd4l>yt(39f*B(B8V4p5dl`UnV{4S)U0vICo=yPe|$BX7jr-=I^@e z#ewpUviDxsr#%#dH)Fh`LRqMNDIlRpA78MSvaf$5UzZQaUxm$PcRbk5Z{0Mwx8BeD zs(W&y>)V4b5wtu}oe!n-{k3Ij6>zj2b~HAbUe2FEZ5X9BlQr%!dFq7QD7)^FT~|&F z&C>pP1AtNS1(6y-D1e7FHrjWE9bww|+o$vsFHqlRM+5jWE%=0m9)$2I(<&fD*d_X< zngSLbeiOow)TRjTE~pd$8#w@D016>H3iVDth&}lSu#7T&*A(nJ2HM36yKV=IRAIYr zN3p5A@xnKFXeJ(36KuZk_pHJ7G6QYTE{J>0LzuzqR)SaH%TLN;{X$P^mckOTv}lfm zL=C5B!jfJa_{0Ifx=k|>jsH{^3Il5X^hj@TjR8TzgBBQ)g@3xYViGSXb4f>mR%BVI zr@$RidLp15Xa)!_Dz0(g|6qYWXHk zoq%_GRsg9U7a|Mu^8Vrd+7zYCMu(*ph}H>TIs<2x|`}_q!@>GX`&Ukiud26U>fomTlbUv@On zM;HVBjdB|>g=vNQTqYpAI>Apek?Qso)S1j$1!#~8@^L2fCJ}9$l_&0wx14)5S&c6r ze`wytH{#Dk&k3|P=BxSUhQ#NE46|P6b6O(LZ(~6KTi*Ii>MGmvJ0k0foYR_r^7?4v zw0S=(-u5;{S+8>0KN?3bd?9lYY2uYN9F{3qSjcE8wG;z5N%&I4Dv z8%;IWRA|35%$(1Z=uW4uALg;4Q<$F zJZQ=1m5X>I=;`yjc*UZUP(%aErh-rw=G;XBO{V)U;~!++6XlN5AGO9AW<6$%+* z3|C>sWo72d()NVosYOweTQ7gKzo z)EpST17g=5(9O)Ut>DX;%i^%>cx^Sf&LOgv#ni->76qbJkRsZS3~bEv$u&J|UKkn> z7;Z#$4dmqSHFiDc?v7HS^|%;GbL`P*o+hKD8{EuicM829%65PCWoAxqeqfP@O6)a& z&2P1^oGbJ43N%usPZ~pCE#EJjH!khbKh2)C_bedUqA^4)#jw@uGDALgMU%o}oy8k#e=g>Mk!jP+{=cN9qif?CeSX^~LzA>Peu)<|V0GZMXHm7VXbfsCh zt@^!MX3eh8n&5HxUB<>1pxpe711=ZvgqhWC~jJ zeX;SNYLQ3g*&kWTaD_Aj+#Rc3iPln7DSui_@TPEB^-oWx>=&nkHJkTv0!u~tSDn-N zeZ6nluxY6<-&aXDmDxb%Jb91`+Q^>R)ziN%EQd|+0f5wdLhGZYti z#QKB6c9%{6N0NVg9IKt|YQ3g;xaDZ-Nhagd;{j;?Z{dzz&9pmuVfHuZQ>vlR)cESC z(Jj&ZzpLlJ8B8{HZTCz`ukP78etWU^z;^%R%--^unA3%WXSe)Z^M9;bAB0>uEYCOy zKYtj$e3-QC6m=ma?!r;d^3gq$qd4yU{QTo`lEcee6Nbyjjrk`VlQy>+Tw;_?>N`$` zmQOqOtOTx~s+{dMPo6ERSuWe2+Y6j;ET7+adH&OubX9YVmNEjO$!m%+=Q;c}juD zr&KZ}qXp`g3K2rdg&Oe}6a!A#Q^vLQF2()dDC_mS33AnIy-AI^o{n5(wPcOgx4HH> z*~+E%pp)aX@?E$4^>?nd@Ia?C`t>ee&4SR9>F5J#qL%OC<*%xCx@6Ye$o2DB@5}x# z$~wu@q@|&Be)K+vq4$D9^>zq&e?W1^u;SSOKiCPXZf-j;S{*$uazlP~Ccgl5c{LW^V zsPKbKS${rYwrKeEOO%bzP2L#C6dj3KCfw&SxuS$EY3+yUCN?gwQukG2^3!fRP(8vs zBo4gDp!D=dB@ZMIJj!|Ut~n=*Fd4m&fL@AmdJ)hfxNJ9ZL)bCX`);#SK_qXikbx&> zG$AkMKPc-hbwb$*j0$ARdYA05hm=LMfvPz-pZb4M)E0T`O9C z47ye}JVHS9(xKVKnQ~8J-D;LRuG}#%;4JDzYSihFDeDy^1qkD9;DNp*yR&j=C7H7R z1H$Gk)kl7{*LWQ~_>ShOSM+4>fQmXU!2R9v{Xq4L&|k?a&1A~DE0ncl-pOg*U3=%1 z?Ry%Jp4NxzKUGd_;yuce*kxdyyn*pj_ouTR;ld68@xQXq+xhrqu%vyT{$dq+4;afOyI<$%b8=d|=CTMg8 zYU-s4D=wK*RGFXs{iaP>B8FC|WSbG+Z}#K;E0`m&3iVQk^3QF&!xMih{He_+Q`Qlu zR7Erh6dXdt#M?)#(%3gqUJ*=*k;Dl`*;TF5b?U2y!m9#U%cnpw`eg##>x{2zR4)l4 zZ^CsD)M+K^ED;E-EwE0lN+@Kh^j7i6TVrl~OzII5v;!%{cOjMVMD9&HQ92Yq1q&fu z05FkQNsc#oA;L#ZidJRee+jaegR?aNk>W}KhpjUJ;WXEhl3Ag#@*_(1NDX{7cp6P3 zY*(J>T&4@C!OzRo#rTCZgi#c%>B`WHMTB0_l9cp{IurKi>2Sx3VK7kbB!6sYlp$&z z8l)UaDM*ZRFe9?`YV}A2g@)#~OWIRY^Il;2tf~AsH8{*sS&)8>a@!>g)P2~+pS+5d zpnVAv_sEyy2`` z?mc8JrZp(NZ`IMrW%q#XNK$Q2Cj1uesfi8}6YYfe{6-?-$+ zTzi4KP<5dcCBT&K2*`JgQifteX>#oVAlZWkszgTJ&e-07X(56tbn>Ywp-d15+6Sly ztoJ7#n^3AoU;~WH`<2&bhGivajWFPA_;AS}=}>OCA<8|dS4b`(`~vDFdyoc{*MypE z*?g9C(5w~w$YQ+5=Pu4_1+2omi!F>)k-kMIawYOH&D}?;HEad_hB5G~0vYv2x8-hM zO2fo!$rMnT;=`E3L2;A!RcNT+qTC+pT1FR6nzATEx!qaBI8oh5*->T9%Lp;2y95~O ztqR>Pdd#CVL26GveuY+)#MmR^)9S(WS&)6S+tP0}WZf-}O+?hFPu1r&Z4)IVEFccX z{OJW%a#=vb|qagT|KLr`;ikPG7nyF&J8IVEwT|~&SMF=}v8^(^*{I}D?fjdlfNt^& z1?LJDhF+zy(fUc3$9C_o5&=Y8^~OLYuI{mYD5@@6wUmIO4Ygad>G$hG9>&p@Q?Fw1 zhc(JQZ|1X;btx*@`z4-8fi&SgEbi}!klUg0HpRNA3s%yvK3}b2qhV<6C(8sF@@lwf zKARu8n$R*i&}fn*=c0tGE8j)p?2LswJBmfZ%w=zov*a05=20Tubxb*(vmN-=*GbC9 zqq?`aC`bPyz3e58mDIl-TgQ&XzIy7^X%LRHgU@Hh1+ogM4qcjVebP`IkdSUmapHjF z*(aJg(C9Ju@V&n-R#W*+$|;V^X7pWb-RrlNk1Z9GM90*VsZy#eLb!@uTIST=Cp>jb zpBLG<-B>c&_5?R@acLq?mWnI&X9SsFtg+SDF}_fTp-~cq*ji7DO=`Yhuw3Q7$J`yW zwj0%`v&eWbdB^$24AK0<63^4-g0Ek$1g`3SKG~k`aIp5Y<)FP}GkX2Xf;A#}V17k9 zBV{P5;_@T;IMOFb%v7Co@LMk(h?iW^tenSf!R(N=doc7~WQT9PL@3VWqA z(sQVnVF45NmqabB^Gu0_F{3oW&8~C(J3&8B0^{91zEuSM43=zL^z8{ zCAwezAXPf5vh9ljg;(fbt6x8Tf}9d>{OlCi_+2E~{-l`Ir*ph@DK)ch%a-9}h<5$Y z68+g=jMv1>x8Q@2Y7GKk<#CT=?pB-RyI(_|G;^a=h@!9V(-7dYRI3pxEP*>UtS>HKeb$l1=*j+12u(&13Z`QOTpv!6+%({CZ9)1MtA z5(5S#grU$PVJMw3pEsUUu_ON!FiSv#hNpuf>z^-7Kc{jIWs45wC<*2259Qemy#Np6 z6ABa13cKVSb~!psxFk%pKTLcxOcEY0EfjuLEBu;sxNLN|yigcTKZZ^y)GhQm0v^HG zgkq9rQEI{{ltk$EN9b)v+=F8cgs_HMSYv0bX*Bk3bcB*~1l=Y^86KL<_TWVgyLA)R zDLT@nB+|7%(tR`XDLl$UDC(J3l(%z~Z*-J@NmO8e)bq`#5O{Q`P;|IfG}bvfDmprF z2Ai*GJ1FiOK1Y$=i&{hsPEO#lF;veT9!sZ;Gbn4^3o` z?35)%ly9O+gyL$o;_98_8l&TyOX6DlN@x9LRebMm)CGkW3@gFwh zKf)8ngc61}QRV%yZ#QErwIbNABrI+wEW;C5g%a1b62CYnZbT<;l_Y*EiD!36NIs07 z(Gq*$l;Gl&bP%0%RFZVkpLDjFM1tc$!Z-?T9G^o%JuLFKP{giK42&v{k}4S~oXn)1 z%;J*F7L&|Tnk=z~qaVQiD#1B3#_(vTTyjad9Frnknj$)oBEFR(NtG%soO+dweeUNd{hiRrW7AHfKS-MCsAc3XJv+JXW<31GGnr`O0#kXvhudF z@~N^5wzAT-v!VRiuVb=HOS8)dvfplHSI%a?63*eH%BgqBX^hEfF3o8j$cdKE8D>NL zhp~gN&-q_olsG%S#C3zbbS<1im`M-% zhMIPJ1lqda?qcIK#FNTOFqQ4GABa79aIk00i#JtO#O|c$MX~V@@6yHCf=@NG)RdJU ztQ*H$=Cv0>wSg*(5G%c}(QO2c2`xQROP!6HS_7bE^1ZK4Lq~^<1hK~6N75sZNLn1* zi~EeejG;ay_id4MG?{4zsR%@a!F?^8f3+p_32pw^vzeqcO$dEbG{t@Zy{J-74|K*zM{LR~n%Bt$B+q7y}wX4l7>aR7gYDT;xUcDXD z6Q$mkuGUbKObrsnQi3L@Xrsl&^VC3BA{Lh+A~E3kNXm^gYN`>OGziigK}p@xJQ%sN zu(Wa}^?^R?s*C`!&HMYpH3e01XbWYeV~PHh10^j5r5QY|lh7%9`L+?Q%P1I1%faJB z`?%V!liF_e^!bAV&tBRLCQ3T5uC-T8EO6xtGvdlZJd2u<6h_(^NDnD~IsR{_xU=(kRLOI_l zKYK49s*4H*C=?pS;VYvtAQ!5&sY`vT00;sDyM;Sp(E45AQ|c8KweMgsWo#!44lx;9 z9Y#GU%9SJyvJnTD9Ev&Hc0QwpaBoEd>@t>%GQ2C>pBqxU!yH5e?Fj5~Km(-83`HOx z2CK&-O73L7w!Ta|z$pjpC?dNWMqFhO6WSIP=r7^1$cYkk1PCN$JOvVynL(LRL8>e~ zzAt_Dv9yBq4!05c7#3Z0Zz5LW^MK7{V_}cN|Fvu<{ zPY6;IEvF@;RQ60+U#Q_qI0<+_sXwn44SxifokU}a>84lI)@~};vnsnF6Aul1V)BF% zm?*2w*zLl&mFYu4+*QP6B`PT`FqPNK6_k|%G9l8JU;D18l+jh9iauwT6)^Gr*}Rfk zo0nNWc;@fYJy5jpxWl8b4TVf=rEJVe4GUAl>E26OMC6Ua7~=DKjqdHNyZGKMQ4x5R zlR4aZy_^=titcd~5w=sl0v6j{2jTQAEMHMxlM(=d#5DP{1SNbPWfPt-S%u?_HM5Y7 zZzr?L?mAwlK*A9#>iHMS0we5ZMIsWfOOS3saCmK|P3!l2Pce!>OXH7gJ8p*6 z#|Op>Rq7-r9wC+UNn>EF^UyFvpORrr_tx20W+M==-x@-^F>NFz-9;ju0DlI3Zi;1;`(%Z!W9&mx@P2Flk2_VNXYL8qI?;3VD^Blp{o{*%JMjh~LiN$s^e5GCKUjP(4fwri{c|0ZAy3)ROmVI-*aF>_1X}{Xqa=O3u7GuPz*`8)WhkY>ZKc@au=O+5M!t_6&SYTgOns zrj~-8piC)&4uzxZsHNK<>P5}TrkdQN;94QFxmGC%^ccCTCv4w%N?lJ&_K`?lz;$X; z7Sv_w?3J5e-JVcV4&$b^FW1s77k=-jb%7H6AC1eae`@wDa0DO#E&xluAvZ4M3TDa@;gn0i_M&*f3#)d|V9$g7G{PdVX#2o$APGxP z9gR!!rRUYBPE5!0W@+cdr2FO<63WKLil6{P z7_$&iicKoN6_suP{0C}vxSK?Xf=#L3_G+1bBFO1Ox=2eZ!ymh59^? z_kWHJ2#E>A#CU~eKaYLsA6MxgUlowtj%=%@r>F1=+zCjU$Ao)+T2X(z9RU^NMo{%E$EZL4J`5IgPEu!pKROMl8<$iqC->mcGs|Z!WBD z&wV{x{&xQ3!|?9-_@BjvFJHc_e*N)z^ZWMp_Ugv&*KdD6@0@LZ-`o0mxbyquU~}W> z$B*B?fB)lAJ3Kqt+xzcKga7-V<^TT)|IaHx*1~;*rwK&Sa!5NgIgjy|6#S!w)5+DU zF6@nCzxsHgzxrigBKR9Z2CvW8og`#fW;IarN;ip5llM;3?yCc`QpMO`VVmPO5by!Kre-e}!c@szTK`#<_u+}vuN9E4Z7<$_aN#kd zr#VtUHLd?nw!niTbp7t`4iXHxg0Mu*s2J!%xLB5Vvn*R=-;du?e90|^p;2d|aMrJr zCPw_+5D9%2tkfo_e#Ppu@>>D8qOZzu-c!;6MSIZgtwhRa7oVK+d48dUDx+=!o_;Dq zPy{Byq2Y*xEXd3b;Hvhu@(k@@>8l>X2^c}|rWf8Q5m{w`ImMp;83i1Li5ERmSyEG_zW-TWv&DHLk^)>h z7DeBFxj&(5OAd%2kBnnLY7J?QYPS5duTsQ2n{cTd$S5$K+b8{~G$U&M$fRH`XE4W2 znLwy3kSqA5C7xlJ?ZQXR$` z+}~Nw>b-;7c>|W05q&drU8cOeZm>+GaC#}0QKeZSJN3=1kL5ODNpu{kMOkd_FE7CW%Tri5J1#(0g@J9`)%Gyg*i_jZ5oKikWL1@wi` zo<%=_&Io2FWzuJFP2*AV!<7iOCx@$1^LYnrdMozsle~JNho8y)<hADGk959j8{>W0 zf#{@nzDk_lQ{~zIg4(^v8V0zBEDL9bYuoKY5+alp>izTlWVcU} zbowK80!-;g`sI7u0GAg==iq$d45~#0bE1Ref7z&_R>E8B?L*i(<{420EReE_VIL+y zW#w+9pzSHSn&vs8W%Ei5irf$@VU%htDXcBKSgH5|S|_b;&bi%4x#0qO525z(Abkqo zs}vBDWSA;T!_P2@v?cmXJPYgfWa%px;k2*%)rCxc#mWRNxiEseP$@VyZs9`8`3==@ z{8+qn5kIS?8RBv*Bt|RVo_lEXJrAd2f?p6{b7EI7f?p+?FdogWts2QjJ?if%=Ew`X z(kC0KlMwl4ovYffPeY<6QDEyO8%0*K3cq?vLXZP^0Iz)c{!bw>Hvz6>A&pI{i-|^J zaDfMEJc;fjqOGF@^Rz;BL4i2`dEqMVVJxb4G4)T8;g4u@15#x5r*J&;NAyKQ1J zo?K4L!d+<&bFD$=j0U}w>D@|wV)88ei;UByz|ub3$G?+oCnj$v0ug*gQhXo6?XQW> zlHThq8D!STY>2kcelQZbl7^lr<~R0N!SMdg8EJdScO*Y%DI#-m-qDG!U_ZmzZBNeR*|TqYw+mGvb3GMMrn!k}nB?;BYgoKMQ6U zurl#gg~zzaz)H6E@#lDxhmLm#O0j@4O^kz<0T1;`aRj|OfYo@(y-hJj^U15yBOZXf zu$ZX4?Om=drVMEHY9)mk6U7Xx zU)2@(#-j|O-Cf$7QfX2`VZhYjP{r>U;IFu{kBJn(JUR_vnZv745?aj) zQO2uPnJlyOu+%|K6JC!J#1JLuP7^6dfS-aaURb4Sw9{3> zA&dp2_>oUdL15+3nr*`<_=F~{ARI8H8np*Kn8MbK@zha=;kdg~Q`uEkldReE8v-~R zJg+NzLilGDq%@PS&pfgF!Wjytb)2}qTgt8Ew!)gxJm`(DRrb@*waQWM;)|)$a+Vrf zoaAd?&>%W0-kFC-7fkYT>;ZC$Gv_UPV@h?)PSSckyj){#(rE~?~}Z+mMk^cI`fUe+=*GQF9B!e?Y#FEKMtLo!OltI zvV9D1*zSAcCG%O>iRHmU$}}^*XFmc-Co30>NIuI$i+66GudRH5qt16>ZQ=wPdo2pC zujr`bWfiDMf5*88fr6!^;QSf^{0s*bCV+j3P%*M`2~Dy08Y&_M-OHq)H46~~D1ECa znRbDzL?~qwl)*W~cO?|TPQj`bwwDPN!9jfi3Tyq4v&$5$W+Ae>01JV_ULPb6P>R`w z$YLn=HXtlgpsRK;UsUM6X{dx8hz181@qx_?l+!X0X*1{b|qS>Pi@K|dNsTx%m8zJwos$hrBU>ih;8!9SH zE;_<2I?^xNtY4y(9~K)OWly@~KVgq_kc;%K1ww>Ee9_qKrkLEBm=}jJ1ol`m=CH^t zw%9MW1RlHEC*lY9e^kTCCLQzLG{#m6iZ6jR;p1AG;@W27-W`&CZ}DAn@jYho@BQN6 zHO2b+A#C6=RYEbTo5A){(8q}AKy<S@_~UMMGWf5;n||_WhC$@kz%*iCc%a{o&W%s33REVtzG3pW$E&LUB8$Ng=32 zy5=MVM>1n`f;zuYd|l!xBaTTLr$vTAIm6)E$@VjdKmZvtU7Sr2mQR*AN;&M8 zLRQC<@WG=qQNE;Z0OJP>ASTf9#RXR3M5z)3+0z)dQZYcPPIH=&_Qk7PNx@#w0HHWN zv@AP;0^gr=WgQ<`~Gnv9v_^=~bU^Mw01s6YyPdvioII>dYvy_|3n-4ejOGrJ; z;J2qZd?tHL5y`+8_XH!$Ed{zufCe>Z37F$6wDBQF*>u&x_Az+DW_(&!PD^u6+YvsH z0DC-&`1?9*=O9CFA5fFJ`K9*ih5)X{Iny@_#8?GPnCDGwanj-PW}5-}6<~o1v|O53 zL9)-I0YG%byrnH*#XoPuUtvl6#V$wwZ~6Sc=K1^n`G@9tRA?X!0feE!RCal#<6hzq zLGLJ(y3{gLn_vb+`JAiQbJVVDp~&1~m4~%*2$2HD09k}Zfi4k3&soT?Pt2PJAGc$4^}l_p(4&ssI%$tCB6t!CAyrCaa=Q z#1dP0_qa%(^A&wrq1aqu*lwY8!1dU5Lc$-p>qm(RTTmnYbo%X={uD*r7DbP;iq6PxC3#H0l<<`nR|AU}z$q63Fjy2DH$&nLfQ4&LH#$)Gl zaGa$nWiNeKD2-cQhbf0xhrdixC{3D8f5BN+s8H6L1+zn!;&osRg-D#1NuEww6=!*k zLV2olSxIc^YRa|T*qpk#@^{DOuL8;f6y7wol(7{=2~)ipYSDK7%F*>5870K{P0_Qc|0E=Nhy7<2CuCm zlrVs(C7);&F!Ni_GYqCg;O<;Qs$q-#VBYAA;&k9ACM<<}1VdVlmdBbzcbl$i zH}*{N$c*w@5E=y$jtd@*gn2|YYh&MjmF}gBnkQCBB843d^1%t>p=cdvE3&g(+*K4V zVH^}@2bP??AhQA+oaZU3r+`Z-Nz{X>F@Vr054C=sHzg7v$vRRa8oI-Q+qe19*!C{A z<^q26TZ*o5JMf2b3vmSK2IV`rve^1OVr$;w0r z``e75kxq-(Y~7M=ZOT^fnpCV&!hgPx9*yH-KSgx3c6QNJt{NjNLcyNH&8LBU zG60Ca(-59)5(a=gPr7>JF3fXvDC+kU*^r{1eQ*-7`zu)>z*U>hyI)a+M&9w9S$J#!|KB2f-m_s*DlK>&o0d+?sC@J?RQ2q6WW?6lN+;>RyAv<1hci;Sh(3fbGK{uP)e7;S;ETp1hPQzmQeR$rr>w9t+gTW`s@BT(- zEk%>H(&Vqtz2$x&v4Q5T^{V*#vtDoXg1y+yR`5JbP(^RkH@6RSW26yT#dt&JMxaPq zeD}QK=Ee4QrTUs+(>I$Y%@@UHpk zjmRZzmW+J5^JNNGk&G!Hbtvz2nCHDQL@9{k4aPmZL9?aK`=y<}DIoV7Q{r-WVw(ec zP%9Pt<^=(_OyVike`3dkC`Y^B5Rqvkdw-$us+S$T;V-Qsh>p7vwbni0rCHY*&(=U-^>YL{G@8%nOZ+d zcZg*8fn@%XWHm~1_(XCYCwWbhp3Rc{CyxSVNiBSQ?V_R`SEPy8WV&xC_37#i+&36D zHywZGIUW3*oP5W}$75o${~aj!ukj7?C_&82$++T$=+ceY@~x;hzv63-aW#LE>rXP9 zPsq`ALCbdd94U5zl(Kl1vqB;ePs{pF-}ax91MJqZ)50}U`Daq?S5o~ZsdbYy7ajSf ztc;vwlVfahZoROu&^vQBym;3Ad9QPuH1wS``ja&G^?Y&X&%`ci_BZM0(BSUJk>3;J ze-{?k*VoC3^_TDG>wBc{yT7;pp6?uz4mUTBfBq!L)qnQS|DKRe_Ycm`&&jL(f4Rt$ z0`6gMZr0XTR+bhP{{OEg1!`(@!rUVwqhsUi+TV2$JG;7jdf)f;4-5_sCp0ug#l(G> zn4FrPnVp+oSX^38`iLECUHQ7PxwZXm=lhSJYt5h9e(vob93CB?oG$(PJbp~YtyM+n z42SQXjk8GoXOb&D(dEzbKa$*MY(tlHYrno6NF^t^!)!IH)g0G$-{fl77Jta;vG^pK z(W?>1CO)ykty5Pr_A>KH!g&1p}t5F!&5RKiXsJBFN+=LIxrM8?;0|;_+RIPAv53@6@Vwr2Vy7HRP$vB zpTu%^Vk*_)eNv0FeX6GZ3kl0PnUp)tb=$*L4~Aa2BeU%@b8pH9=Q=54AhDEx`@0pA z5&(*|If8C$^Pi1s*+A>Ms|Ra~xaSN_1}Ffumg)^b5MPafmPW_RZ7YqBE4FjIZh7Y3 zAitExb~5STxu=`dv_lSRFjt#3d4zt;tJ*#VrA=!DrwFqGK@bz?RV*_{v}MrrhrXPr z^r~`8{>%2xYcWEsMSR#Sp-18LQrn~N!%!~-`6=At7#n&TRK{A8GL&j07Oo?-$|`f+ z`2h)7F%WzK6y?FPa7HFBU#_SJGp=X29TF%WDE6Ci#`~iS!VSHN{bmfdHd|kF(4SHs z=6X%JyjFO&RJ!pZ=zgkGJ_ah{EEz)oc(Win<-T)a{Ppe4i*Ywawu+)|>ukNkFS)oB z=lWQDDbDEO!!q4Q*l(AX6qjw6y=mCqF0Xno^6gFC)ML>yP32$M*KJU0kxTa%M0Tor zSY3Cj`?F&sxZ1Cmm%8Wj%nUFMn7DqgpLsMS!ZG4Qvr(B0aouK+6GIc5H;c=EwCpr| z`_a1lUi4?%-znFh?VEx)6_^J8u{!q>^i;TR+?{>9luL}*&FVI@w%d)+6#Lb~Z0h!l z)XVPl=GS{}MXP95c_BnZsR7*W3U1{l{|^Ql=S~eaI$yCr!!pxue?D-nclFZK+d9leo?Db9YxUiB&8<4KjWCmQ#~P% zw%e{SYy9wH%0D*%n6b}sKUnk|x68Pv=h$)x$55PsvHHtS@;uzOc`Ri8x?`? zD?;d7cZej7*6$HJPfmZa9Q^Rz9e#aHX{J{|vi+B}*o$cTce0hw%|D8|%TYYV<|~ud zW$Oymj#xz(ZqsjS=3*Ge`+iojQi?6g?+-n#>@Z$@AOQzaAeIl^Fapo4-4xwXD?N}Z ziX-_dMR`By`Yx>H%)CnIOqU15DkV)ZR~Ud)L-iD9zJw~E1LWcKY)~W}_4$u5sUmIY zg$9*qaTLgX7sU`H0B|Y00mwFc`j4;JxihNhEZK>myG@D`n_AMkZ5lMSY~3QP(O#cE z^=zF^L&5BJx)#oA;0$Nw(;4!JEkgMO0#cWjK+4h1bkTuF!x;sC0Zk7Izj_iXCN_t$ zCbW(^k2b5$;48StUh4=ab-+@JkWBBo&fW{xzOE#wNsCZs-ed2$b>D!5BP>v}(wW4F zKgNYKF;wIH-R!2D(yoy8o#7UgYmg7QQ0!$9SD95@P_AFv9P^ z(P_>pt=V`7V2~&sn*1eg9Xw2l3LW?m1OF3J;)NHu4y1h;$?C;h|HYXy^@$3e)aA%c;;% z@69klp24xifWI$MbfsFFI-gQJWw7h3syt>hLxErayb|HO6eq+d8+_f3ps)$j3?zmt z>`vrcS9OBe36zQ3gpyllrMI5xPjI_+=HKX7VY{O7iiYck(vvDj>*43U*x;i(pe;XnoZO@#~J|y@MR8^$p^XC*HaXk9JL}-+g}_V znN=D*wRBET@x()p1;)NY@yV{39$N8TaNACh5+3S!o`5Dvtz^JFkfByzyD}qXhgazX z@!imViqr@T$>+a@Y=P9O*e@5Y@9OJXN+njuyIzZ6_zVK>=yV|>>z7zg4q2F=L|~on zeCB8Jhx0Z`C;lNkuoVB+rw{dvQ{)r5&v7(pR>7K*-u79rPsDT~p$2b^{QOl4Kcs82 zi=RG?yE6WD7>ItBn^pAa`n){rlNWTkUz9dJ4IhkPo@l&ySnG82_0h-ByMKijXf4#_ zj>m9`bw!u;wsb6yKjBB}ie=kfB;+2B=mz(&%IR(2&pDnbxm#am`eECo^?0%>vHp#d z-ZzW+u2 zW_hJ+ZJKlPZ$`rp4NW(6-2`3iVY>UBC3^}#d|FQycM}`iHuQe_QEW0jr1xzbHC;b z_h?_$wTm0FeeIs`*YLJGAMQ2}JKg=0J)iqka04<(R+Fg6#M5cJ_V783{3+x*+tj*u zT>H!>PWY+nvQ9^XxQPfSuUPB4!N-=V#*w`W-?Xjlnda&84<5mc&v%^fwa!hyLsvPe z?zn|Cbg$h#Xqi9zG2x>qxRQAA?&RzzhM}!(?*%jIwJUf#>|Wa%+sDKAKht+JR$A9D z-#Z$#wE2arjQA}1@n|IQ{Exv$rAyZtjz8s`|1Ei{*w}hs;U4PdUR6^2j+3qXnA+fO zmfwxBn`|JA_Uyl-VrQ{7cBbDHVAxo_i*gB|3D`L<(6F%4-%T z=p2gb4}cwdU7iV(5W)yMW0nO&CC$RG9|lXqNul{wp|UgKH=~0XHr-!)``t2&xa}7t zFBGBJZ;B=>9#;VUf1_M8tcf4i43D*F!dlH>Z8iZ00BnbjaFh$xHj`4r2L^qKVBE$2 z8|8Y!qZsT!jQY@r_$Ug$$h=TY5DSP|>VHJJ)>@!Dgs9m5kRU&H-6qpW_Lvm8nD7#C zoL|iEjgXtuELXL{a9aP7m* z^;XNcnw;dyMb(h;)iyw`SV6Bb;q{H6yn|>fCxpLT# z>W2=rS`E?DQe&MFa!AlX-3iDr>Im* zKT3ZoN=g@y6As2lOuI`J=PL!}!)5wYfyB+zP32RqIPjSp>BsO4#1Zz6GNqXxRIrMK zWy8T7P}n=AkUPx~BPpnn6i7cBWNZhuAI0lCgYE60#;6o}J5U}6^fCf_8BJ+l1)-G3 z`XZo4B@o?}Om{7iAqr}&pZT;TJ&YqaSQG!V$;87C`c4}wO2AwAf&GDO!~QgXG}Hme zqDO%JQ843Os6PfwPXLdbQ+ncHY~+ZCkoO1&D<6RPuVjr=fog=Ij8gfGK)zv24l@eo zi>6#?&PKy?yEq8mnz;-|F;D$qtQhP?M3zMp#NRF>B@1Q>VBNNW+eZyLP62e-Q!) zlcdJdZ|9E6LycTOhQvJoD#(a-o&&CQ$-MZU2-Z~u1f-T0Qs;M=zb;lFjF-e>si^Gb z?|YO$@^r8ayU+m_tl2TtL+7QST?sv=#Do*;fQDV3gXqISwZdQ{L^SIz^eHjT=s3j) zD4>_hF*+=Ds45WFc|-CqTM!8@r50Dfktn(i2)pnoBm#D>jlDx8SURUa#efA7uO96J zZLuXg0}#FyLXQH}7Y*jKqx9DYhbmCAN`XC5P!18;MFe=#CEGyjt>Izm|H0f_MYZw% z>)Q!If(Lg>DP9V+PzptgyF)2%#ob+kyK9S-;!-HZo!~CTo#3v87SEf0e|!J8pTCD$ zD+iOw%$m9G=ej=+oFDBeAcv^AV&(G>gYbA=hy}k&mNjEIJsn0SWhg!@$KfnQ_ZlES zk@sFDp>-$+0sz`BfQ?lWNFeF4B1M2DuoG9xQ;|}SToeuPj~r`sJjVjUGXT#b_+#!T z^70>QnQqjFKj<uqOQ8@);8RGkmKKmcw_4>IKt_jRsay3_ zq|6A6;wTVqeORR`Q0MF8`W_qbM82|*KO7(O{nJ}C4sD>xFrpsAD$ZrGA>qy`fU5D` z=ihb(^|;ZI#lkRTLqz^vdH(*91v)8Zf>28b_~D< z{LFkmz0@}5*#_5j@E8h8J8at-j$O}e|NXn7ud(bauwa*}16JOCxum@*AF@r=u`AGV zwbT*k)?uB|aeLTyf7pRO@&Pd77hstLvTcv>gh6oZFpvCwdc$y++uS_E30gZlc{_Oq zG!+}0$d+4-`NF7uyRx=Bb0WIfeS_J2V_#5rb6$6Cu^_s6ZG(7P_U^oSqDRZ;b7+WIRUfh)Xw_3nMN*Dp%U-ef14#;AiGqV^t)8jAgP%tRf{qeeS_X4tJU&qm6;ONR>kXB} zxEE&)eQR|qUmmK;a{W#{Tsz`Yqc_|r=+cli+?v&rot50XG~6W^&~cwCCpa=7=!{EI zxp_M{ct3(C-D-<7Iz7^QEfpJSRQFzQbeX+9=pNCULN&4?IQENa^jdywueE(NdK9iO zuzx@H(|inwGkzIkcahb9l{N15XLQlm`Ay+C;Dzl{{aEOE>teLSW`Ye?+XT+a1m430 zgytuq&`)ChpUBZwZnq+!lVf341i)CSLo8<K7TaG zDKzCXImzQURNZ9XjlFq(z=wh9oNK!3*FT^kQC4AJfed`5p1rDsGEOaO?_L2jG|+I4_t0QcA@TbOi9K(AZXi z_$Qe1`T*Em)Cec!UQvsJ3F?{;U}2*rAx78rMUg}px?mNE&IMGNz3jFHR&~=T{-Gi? z1KR!p)&)GXURmZpTW)Gw(w`Vv8O1(cK{F2O&wuz?sE>&`@oe~bt~nco30?UJaIsr1P6Xg^El{IkHqlgK8iBq(tP22yhey$| zs{n$|fcX_P^2+tHuOLiFB?b%u(t`moCKTM(*D(CW3x2LY;%>aHf(PisU*fIaKdgyK zu3cqY{!zr#O)$pJ1v#l=yu@3wT0!pVfQ&FV6@=czLN~ksi+T0y#{SE3xga`@IahtM zHxra5raNf<%UKU|1&JaMjLovAQu8Z2V^woTaZ3rE3uZYOkBXF*$HcsJyHJ{)?w4CS z3A3?~ExWV1i1S@}`$<=nj1z|&15~}tEj5vy&0N7BTh%^j}6Yv}83c~NONokKw$sm?)&nFfhCjvK{ z1huvA73y)wOKA0&*YT)dn9`~Z#5Q*F2KkQ>VtzAN za7bMBp*gfNSjTc%#GyNN%)!9EqW48z*+C(Thmys?gaMpq5i20{$9*rrF@NQuvk)~J z=cf0{9yA+NaekOnzlR!szG1)SbcDGgyp-+-($C#48v}7A&pJF%>QAT(h^WRUfV`Ye zQ9A%vb*C1qr?q2$BTmkE@}_JIT_`y_-Y!nUPEXvCx&FDbq+4X*}G$e>Uv}B zF>UuzcdN%Q4_AGg6KK9x!_u80N^pI#SK%e$!+VYU>#s#i*V)j=a3plZ~6j=Ia}1_k`hOw6Q;XYC)`>e z+1PyrXXiY$wqJLf*q6e;-hH)9Zh*m1w9)Oa*c7+&^ZT9o@wMZ_-N%rV?yn0J<43Sn z5c#9So5$Ou0FLm7TgLIV%MW)GZg+40yy`Xpe*=SUy@Eq*-9o&O{Vx3|yXb@jyVyi8 z+n~rOTfK~=?2zQBU^o4gki693^!%ujeEs;+>YCcR`i91)=9bp~n%N?TM+WWE3z6|J zGXE7G{kPB-zP_=!wf#4=Z5p@zIW;qPaPjN%-$UDn)uWRV?e3lLe?wa$HobwWui~bF z78xS))35)b-$oFv6I{wv7yJ|2>g|_i_jrJ`hyE4X@;w#vk##a1`y%pJzpZ^LlR*;A z_E*21D(;Q@9fH(vk)ds%9LcA@`mIqn?J}kM-_Uld?7bB4{$hjU=8)ggEOX^s&tC^C z!wuip{${pFv$tx!JA&xB!ARqe&HjXE@;M4ke=}Qdo7It~nw@4B@n~AbX4bvQ67_Ne z{R^JMIb>!#i`ez9KVE8du_&)-X*gYjS)Jo4wKkqFbjLq8922y^*qO+e@3{4CzB-%_ z&>SCYYw<{0>WF@#Oly37u{Txz!Nb4p?$4RWDULR8`@`L}TXVrFFS5Q2Se!I~qLPxY zLD88?;GSTPJ$UfcYw&sqF)6cgD7m@kQYfYSp0PExKg&jhW2g)=v<)&diDIt@&qQ(b zvE-|8jahESa?eC;#t8sgOwT@Y6Cm(%-vaQKm|Fy( zzh%XOhY`L{Ru~tl7S!>`jP&!Jfvl zqzUGrdrtPY)*4hYgf4f~h(#IAjxQjhbBOCzJ7iCbiE7kM=X(Gb2Y~eQ*js|-$|UiV zlAb$4ckrswzW7%!v6Xn8Ep*d;KgjL=;>VOA-2t+&HR?Qm)f|djRnKNsu@N>b4nV)o zt;Wwa`F1{xAQ_SRlEP8O^)+}I%8AdvH`M!0rz%kdScF&BOUKWy!aSmo+<%^1Q9mSt z=ufIoWNWVBQ1G3;IXDokzfKX2uoIbSYoR{6M>1h!18__=@#m zpzFW*w<@8(qEm{*2BPIttNh>Kxb1($m_{5{2(bk3u+ zM)F7-26{QXe@639qp;_dV9Wf(k1$lor<@z;<83~VbyV2!r%x?;lJ_#sb0nYk&p^NM z?Rm5d^`<|x2b()BFDgKxfSzn{K=v@aI*UoM6B+2wy*A`jx-QaSI7M9HvLmEj8~#lN zo6JrGLvr@U$VeLiB!#kq5zbG6Gcm?^_H?j1l3$r{oMJvkPXH~QOKNiKvqExa0Qwdb zhysC;aPP9%N4EGRJ*ue^|Db>;X)`n6}R?K<*ZwjI#v918}F z^9t6)HNr@t1c201gYP9Zuyu_zrhOCM(cl0~fh+)JKP(M&9H^SxrWloyrb@ZVYkTYN)3>iEuZxZz;9P8F`q#Nwhaf9 zg@Wle&s=WX9CpMPqF-5K8E;u=Y@ZrLD6pxW&wyS)=)Q+bE_7_ogbmmmS5I}N)GWfF z?^ihM?6mA`mJ*QVzuEW2xFYyk&!IGyPxb6rM1UoU0ARs!**j4AjP1nS&f7mtAC9`T zi-+}s4_;+QOn;I}ZU!Bz4WXk{QOfsH>87nd|M7X7qtJU%W4pc+V9E&d+!m;zxwoy< z++=zc?`GIc2+gc3tkAdUQwHueU_&Rx02v3fA6KHW1?WT^2u6(dbgsL|Ir5BjBb&Qk zUHS`vMNF2sUOZWbm!)963_|0Ak{hS$%;SynD4C@f}zkK zO@H~Bp(ci4x&Xu|=q{mWsQtWMun#T^hJ5%5v)!wxC*(4vvA7;K!gIlXGct_VJze!j z-7)600RXI8@A-46Nu_6oYg5A8hb6^n^g8+@r@Gu&O4L*qg^EQ%{a5WpIkv1{;g;wu zl)XSwo|N(5b$61{<$plLc4Q)e8eF4qCU|uv(rqI9N`C+|jNAbde9;*jrvQ|av%!pV zZXZgc_h?ne+>h9sZc*d`y!Fhvn@47%yUm5IN@ai%3dLqhH_Z`JXw9?iS>9SVfK_&> zcZ2t)J;8xR8)IE#zoPx)!|N)HmF+TYR$RJ+P;B2Y{RXD&tT;9IqDXpjvLqs#TGIO zof}1mUwP8_O95Ihhq<}p|1Gq=-{Bi?8uJ+Y)m2ifj01~y+fOfXUvl6qtVnxv?hHb? zGy=*EN0X9652WY>*9ry#XU@COD?C;XbmnzCdkrvXwOaAizk3^Og{4D)PHETHxy&VgKf>5%WtNXKvf6HtI9?uh$M?}_yUEPS(qL>74jXu-< zliB9tx9v$QBQslnE=;~VJRvPt9>TC+#eXwf<-5hD$KQ<}_e-IT_WHxmiBoW1jF4)4 zx!a&ZTn{L>U!-&1tu`3^8i{YeEdCqXB5u>19_8(x5_n*r-i9IV28Lv? z8MICW3$qbQ+(^06;7v{Xu7L|POeK&ugR&QdO?L^U^u+GnBs@wEVrvXyM~1f7L0sg) zulRy_kfE(-F#DcxFa-QhEf5E}oR6$<0)Y4cihrLyVQy}YY-J)VnH3ck&CSi>@bK{b{QS?K>;Kgb_;0cRS~eYHoT*h#UT&pr zd8;FPhs>*Sj5@kEf}(j5sFI0-EWjv;SpgtPKDlSzmo1zz{HwJaAFYvNL1 y;!8F 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 PHu9B}jAjYOP<}P$5<`!1= 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

    n;J>8sLL(hlexq5EB!l6s85ND?%lb#vh)LSj*Bk zUIVg-0Cf0gqwpXwl&twa{Y_Zk?>005HGeOaaveSDHVXpPcPb*!u?eFW4gwcnATf|j z=u;h=C9aRjOVI4d*6eI#H^FF+Z;2!t%dKOU;1LZXAY|Fy0`M!#oZ#o~6gns=VPD9Q zvPpK_one=@OdS-;#Xn8vbq72WDm|eY6XSw50mOvtvck*F1`)XFMB=3RNgm2oVk$INFcf&`7M&S4Nl6%s z^D@7DqS1Oyhl29R=O@C-%BC!5{&FJsEnLG^MpKMI)m8+qlN;fC4kN!fyf{p9NTA)2 zA&=dUWtI}IU)ex=m7O*%C^pSB^_VJiTK(Ay@Lt6b6NzNf*{lWDUL{rxQ3wrfew|uF zl?z{yv`MKBe7mCunmH-JxDDke}Sh+GllHPKsh#&hXL?8QSu82BfN4G zEmxv7IR*lDD;1QOsDNsq=PJ=6^sW?^gKErgl8mXt`aEVXH+H9cYoapmz$y)OcX&?=bp=<=ej zPQ_ZrjfsMdBI9;rWOZbbIV6l01X1$i`8J4MnKym~_Sx*UkwH=3Zt zp|nPJI=!oH?Uja+aQk~Fcoba{7Oa%7M&IEQCiKbqevIl0S>)4CU0Momcp?&KYbb;) zG20Q?a_YyIy51=eZVz^resL73(f!0$d*hp!OrZPVZQ3w7>c+wl#_MwFLeR^s{e zD)omoT(0_Dwofhm(FTA?z`nZ26i@f3qW&{5!PzaMr2>`bAAup?<-i@MA zWTuvX_LOJL7IBr|Xz&7H1e4y%QhJj6Eg|o>agf~~%EZN$Ve5(zzn>1&zTuG6p1XZ& z{t+uZD;|W95mc>PYhKy_lvNPg>L>Vc`KJ{>hXeZoY5>GqV_TnaF54pesbM~U|*Nb}v32oT3~gTt_({|5o%g>2UbdGQ1) z{PFwQ5}+#S&yh|`oX&YF!++lL{qpB0?oo4z^iaLl&;_v&=2qPZUVo#d5IHjUuQVW4 z9V7MdVC&&f$LBC-1S%uzkmsKvFP?$&WpLaij z3?WDj@k)2FB@_2ug@NOR2k8W>c?AcrhK2tZ1YDFKE~ox8#_K0*dLTrCj67)-#=q?6 zzwpntEMiYOJWnU8*(=J8JTgQwQtvn@D=hN5Dbh~|KFvB>C6a9-r94oOlFcGDd7 zr+a!@F?I^;*#AJl2nyq)@Ve6Mw6`2eW@Jt5abS$N_Ja5(az&${IGVh;(1*DHK*0Ej zr(OZ`d_pkg#D51&5ZWk``r}dg=sx0xeIHTwAgNK0KjpV0A(g1dcwDzC8XP6->vUtY?+{bl+d=gsQ)y4qhi)*ROtb* zKT;DjQj>KvI9xKM#*jnSQZ%14>iM%m@iOB$GK<^N3^_7H%QI2?Go8vaYGtDub+d=Z zLYom8TM-iz#?m@}0K5NY>7J!B(r1U^BkX%+uearBJORcKnJ3DVrrNT~*0Sd4;}+=C zzx>TyK}0Z{joiflb&v0b!bZ5k8yTycS~Qjo8D2;$|B-vjPfx#=3D<|6m4Sc^0L=6L zLRrs~=7mcM=ZZ>Cd!^5P|C^1BnAZuFy=0R&po?He25otoN2OPQJq$2Y@%z&j^%pS% zS1)(AJintaKjSR_>fe1-gaYk_LhFShFaHYy)+>_sF8Z2TB-dV~uwJC}QlvsqtoGj! zuy?UeX0cv-vB7$=(Mz%Me?!1}C6?YL)|n-??Irf>#FTOrJoK3)y7}rqG7LqJwRaUduQ5-1DND+}{3`)>$1dc7?6r7WJHJW-%LS+87Q0D!5NguPziW}7*U zScsolYEoAUUMq#rcvqCICj-~Y+wnO)ZF37=J{RfbF=tdXdspJORkZQvg5?s~2`cL| zbJNF4c_J%^y{nGOD&Ky@;~`ZQGE~8|V-H1EE$US_l~v)4SLK~o8M9Z;>s2ljfcFW0 zuIiQkda39cuYTUGHuzC^@DBoJ2sk<~Ka2q9SAhTYf-muF-qvf-_-d-pf7M3TJm%Gu zoYx>^{Ts;Eb~4nS$2 z22*s@Gcj6FMWxdC)MIYc5m(eR`!w(g>ayCEc6--w=p)k;rtu3lN+D|s`hbOB8#o#B z^mH2}^cx{6giW1pjgOg)az4o7K6z>#O$Nvk8XJ`&e`~cjV02&e4SkxeH+a8Y)QSi; zE2uPIXEwVCwjeY#Pn|cb09xEST72y|JUXhqUSYg9T0-<&p?|lq6Sg}2>ml1VguS-L z`!I#uHAQx`D#+)=yf!9uv}OA+BoQ_{=(kC;wdUymoAc8Bx=1U?f+_N82fwy|No@CO zZEul4C@eI>6KtZigONvq5)eyM8{>>SJ@?O<$fwCfn^=$w2d8X;`2tn8c;>{=8g znAzy4nrIz7Z(Z8x+U~$#iRx;q?CP87+VSZ=CB&84kceRHp3myOCG3&L?B3Uhxnb;i z&gy~SiT6DE^t`Dgu5wd%c*?U(ndXV0FF_=(MHapOW`fz;v(%AaO z^m})_d-2}-$P5q(h`NY2!Q{UEbSQ|FOzoeu`&r)lzhafP@RxRE)+KNBPS{3JUDfLu-SVSz1oYP9 zci9|3G#WN^_!))nE~6ty{;DAW~K)tDeOmafp5^45@+J(i2ok;T-I^EL)4 zGHB2DtuHhfuRv)l?W`;B9IxGMsYa=*A)07rYH3iYZStMyoNQ`~uIbpE=r?HWsRH*2 zO^*6D3{6&#WKT{L)lXbjO}$BdQlDD(oqCaFxBm%P*__%|0HW_sZ7Bc~sHT^q0pB?R zOOqZ(lmPz~u_XhmD+5_KjA^W-a*18Qk^<*bw7yO66f~REd-Tj&r+uZ+j1J6fXvxg) zMA_rZDRjUrx+1$_{tUVwAf*-XDGBgwKl6`M3YDEvW1DsFo%$e(SjwJ-i7>(X{e$LR zkc4@D#vnvgXh7UxfLeYC)qc3&4uM1rPmCBSgAZik2e2CpixV#vCM}A^2tvM2Ey5X- ze`QWX#sKb00yyH!MNxqwt#A@ua0nQ{a*ZYSUXSJ9B;S}}S;ZE|I+x&fJvnX#bsX@X zVV1tO|UzzRFrO62?31ZG%|#}&@0 zAfrnbV|%cs;IO&Slr7t;$CL|4UIA&^lCR=oO3q5jZ*E^yaq!eq5HV2Wb}@}})o{w2 z?RHw7ZABQtlQVwR$?r$UmNN%vwL)kW+LDLEc`1Q-!`E=-N0%At?uN&f(Xt=^)xr8>fXBun7tfBb>}yvWl6T*rvI~4rqoK*%ZoMN_G%_ zYg%Uqg)$p$y7g|`_3le6ed|)(RuF;dL*2QH`6c$2E@40LCuTs4sG6n?pASe8TEQmqzg+}esH1|qNTrQ&Vdk?r?(?d297ZoE%RZ>@4p?O&q; zOJcMStM{%{j@_o1wzzuwMNOi6Ox@Zz!OG7(UkU9)h`sS?U*e(L!DRTbLLtw+; zU1!;{X*^d~xf;DZuS2@H&fWO?wgm)Vx__M6ZwqhxZ$lri!~5?|f{(Ktmv*mDKe~?( zKdu6|Zn1x_ZlN6p`yamw&ks3Xg&8?^I2=dEo?)S%MRgef1Fl;+SFqHVGp4r`77v2E zPN}}#eV@JFn7-R{xYq=oCxFkzSl8}yZ!)&nvJ`6|#+B`wzJuD?gO-8_BiqL^F~>Lo z50bUlaB=s{#}^CN8#hFklE%U|h5WEPw_I_THUa0EBCAD7dox!V216nCbe^zf5;^U!1B zg{9(c`!_bk-Lo1l3GF_f^*R3I)HQBV2j-7d(cQx~k0u0;*y#lq{SN>Q2>p0@q6qMC zGKlCI4_7+ORNfN5c?{@&-b(&MzI`tde+>}Pgsa29i2s(K6wRh@i`)vRfI*Og<7kzA;4MkzT zKj@;0)b>+TcZ~uEg%@`aqm^qp47g9u2EpH#Y9*ZP4FL=BwCUnKXkeec&0eH%;hekU z%75VCp5M?fSnfON{%P%g+T|wR8J{X~EZ!YH1{V*7xoRK4U+68GE&UMF|I;U%_UA_f zml%Fnqb(bwW2VUK1TIBYL<4eb#NNfL`=^%=Xn16FY+S+xem*uPPEx*q5HKkl=ci8y z2tt(hf>;0mN(gP7ewt7AKM1&{p{1i|U}R!up(af~j`kS2!3&gUwE#UYh4 zOk};iau4Q>X2+fW7=0T2CX4xNkwQzQzSkH27hIJh z)*v`68U=l`-uxs%oHGK8*)I|avearG(4mEa3cPOLNmQ3Z@~dUOCXOBG%8VzlDhytK z?Xb&@FOr;4{GSl;j(9AVTS4FsU9P38NI~x+_{YjJI^5P}2bc+(~ zL*2LGab;OwAYYF50`Skf{PPekUWna$RR}T6N8mI(zwv~c6 zgd#vk96Kxml8^B&Lp=41<%YFy6Zp5(rkhiby;s#zD_eGg2*LUuJi%66-V|P-pn$*y zGX6h!1T~$Z6aujY(a?w1Eu9EHU!1A&?#HbN61)y@7p{A$P=sB$`{kH?X|tTNL!d0{ zDzV;V=!Es&#GR`n2 z(C8Ad5jv%wV>sZluGBI)qGYkTN-#JNy10?#UxjX_><=?Y6k%H3>iY9;wI0N+v@?#& zQ-I6StQVL=Aaz0-`a4J)_^KPly5($Mcp2Zee>5=G(o=77JR`MTHY|{wETBj+b94F> zcYuFs!&kVk3}8d1SI{;EJ-RJ!I^=iPHS3@+w=f;WBqL|8Tx(_agg41)4kyDgd}L(U z@rbo+)P{x0>Ro-RX{em9elL6zH4syu%zQfP=!EpL<5n^D-s4fY#1|j??W+HCfM1kO zdam3pMs~Ywfq2fEcf!cT#NncN4 z(fyqX$TySPUk*`sGiC`G45;pO@OXT`Bd8Vrg`&2Q0yLBVbT}qVK+{nlQ$`vQi3Y0w zQ84C>A-Y8ZN5)2r;g189ppx~THL>lC)Riz6Ps2H2q#3k@{$IOkS86{fDcmj5zOs+xcZks#wsPWR00M4BANeVJiK5h}s z7(;5`6-0a+!cDOL8f#}ky z#%UOdM%is$nDTb4Z?SlGR3;tl)3+(dRCg4~ZJZROvClQFxczO@yy@rdzRzLxyRiGV z6O<;lPi^wUYGd;O`dQ@yHcN#3@AfMNUmubYTQK3}F8@)BSny?z3#P2{7dXCwVM4b1 z^~w!gt-HSe2?1jl;-O+rFNDa@&3q_n4sa;JJEBf@emdYA`3C{V`E+i5mN)BR9bOMb z<~*RRi63Bob9VQ;JfxN6A6LueI0X5EaR!olqD%jXEwZ~AyK$$Nl;#3v4DiTTt3E74q0tBB;?8k+vZTwwVeo;!8u*r z;avYfV5NP#>9eYX&Aq9>aIJJrf#{UJ5vAbTxDihSc~vwN?EOkL%YCg`4Eovp`t*n+ zPfN$ul~eF*$4s|+W8I|&GvUk9lD}h}C*i*HfZ+ChE^pV+uAOVcdcVQ)L%YL!gfphtKmifZ`&@`FTNqh>yuz@v)L1t#!BMpYb7h6x#niRF?q-P zBxUc-BNy6kMkaj|pSN5LE3R=n$NxaU-FTjy`K&qD>92%`IuP!s4p+yALQ3H?imkTc z-|sH`K)(b|(jOKNe`6}mgfH}V1Xen(A8UezFHK1W*CrgF8VZH4Y`+O^Y+OIJ326vco35So=1X39tuc>&*Yt6779fkD{x-{(Q@!JH6l;-zl5*soL)B$ME=-0`LWUc za(43+`ptps?HECV;!ij5DECbS2fsIt4jTA(*<9rD_0-q-!RScEjK6;ePVC6sYBVjhu!$>+qq>}V6BY!mzn@`R#2Li79u zLy{hM@)f3h*2aIe*S&yE6T(Xql9znf2a}vK4Z<%wU&Xfh!b0oMEYMf>#irixYj2F?`fO`FIf z#K#c@`SBF2ou-WU1?-pmcyFexNQJ}_1@B9+AMO-0HslcUeP%~RmTL(%v;!__Gxq7g ze;hDRHx!S5AEBO6t#}Tn-V&}Y;omkWURyH(FqA-d%0C@P5Q~z{i;{VG5B47u%t8^k zM%F7#A@pL#UVHEv=1>%i3LS+CeUkE)`#^Y~f?ij=>QkZIxj8{?(Sy#R z5_B=zLlJ!&l}lfd%inf>8ejxYdwV1+*v@DLf=Ew!HJD<(4l>>;6*Z(Bpr`)_y~{-xZipGG*W zghwS-MSlw;hmfH{!z@I^D{2i59SE1r(d; zkst+~+W}`I!x(xQF~s6X#NrD20lgPmpuw1Xv5W#cAOa{B3<54z4!8uN8`%3E=MDAS z4X@McbN43r4@MMJLVcy`U#_$)vKr;-WrVTmpRXKf9vvFDYR=qqNEIiXW}2Co8yG%O z&!!t?0(JNQJB7%FtIZ8Hqb`&%RO!I!YMBz@WKiMvHj+_JaOFY35EP zhf(P28HreUsURHlh0Sq?t!7%%<|{noBQqqc)(YIzZ7K`LvrVq*mG#oFWjp91`wj}R z_z$~L2Ecqe6Rv?nza#Ugivvn$C7nVQ6katQ-*uSdRsG$MFLwCafN=itB64DI<(lUqZ zx_{@K`#gcY_CI^Ay*}}Juc#x{A2&|T=zuK$zLv*Q`WmyfyXrRZi9{l&o>X}(e#l5m z=*9az@FLoPxzzR`D=`=MF^^K5HG14D*t0DQEJWEh3t<Y#x(DL8OXmCg7gChW_xpWFUKmG%W6;bm3emvIsdRE)l|?Uev_X#PO@ zY`o}dFe#mM=*os=`Z_zfNCdeXbu347KmI%Tyc+q2Lc(cFhHr+34@U@!Y^ap2s}p%9 z?RU=8IauEyQ3G(nSTQTmZ0yhvEr@oJ^1t|OJyqyLcEp_$WCQ9%iP@-*$>mZ^uE8tj;?Ux!!L-He zI_%30=5b}OHFh{ig%Ql!uyAov&e*V2@hzyFkFYe-e&h)uaYB)!nZd@LiG;jd0J=$F z*s4y?e)7aaxTJ0z!+W4^Us+ip+)Ns>z30yR4K|puj(o_S23 zgbS7-KaE33h|EbH{_`Vi^qELh9E?6eP9xr6r%8T0_Gk#0{e(+Xz=!74e7znUa)~W` zi47H$Jbi|u^o;$mmV^nGRM;TSU;4#~)pE3ya|neit|Z3)tnSKndxIZixBQ?%#rN*h zcH~#$TD)!<J1t`SWE7u4v#NI6?YWR*ZD(~{Az>kU4I5==b(D9?_Pw#p{#?9 zZz_--)T~oE{{bHrc&E4q>`0otK`Fy{if+WUe4U8a5P-l1dn^fL~ z^mCMWdzuf{(!@a+vVuaSZd960{Kd8?U-3dZM!tqN4p|0b79R-)wxGE3Kx!K=$(oHU zo}DB+DML@fF3R1;F_b|?a~MRLmwK=PR!thg582#kh(Br8yDm4ha-*=aMEkaD zMAn>9$n6NRB?ySzBe6vzJwg%WVtjWku<()KlvRzf#(-WB>i8$g(_M}fPpGJIx8#t% zt8%Rl2?5i)w!&;hZH}IHk)1kU!3bNhz6-s0;N*Y_$OfQ-9-u?#H9gL3B(uA=*{+6V ze}%J7j~JxlUY#0vcses;I7tdYRBt}Vxxfs6psYVrG?c-QD^v0?2Lg<_TlgI+gH>u7 zzvQyo5mtr_!PHKhAJnd1z30-fLB}D6slT;5IB<3*fx4ow`9;2r3xIrCvz>d_N~d+D zh6587;*GmwgQ?@H6T4XCRVC!+U#mD=ctSQ|UihW%+YIBHKV^~%Z_ zoUGxnYwthmoNYN-h2p5n87j!odk9^)wFN+Z z4_)jWy!CKzFf4t9Zbocvor;qhV~L=LenM-|o4S)mw>W`nLr+48C{2{IIB0NkxRd4A ze(FUV_@j4EUS~vrbH}7gnZ<|4pu7BY(_G{arA95~fpU#fZwEt4Mh3`u%3 z?K~^#eO<^Y4$}d_L=odBp3K4nVbji*NYM`tUwdn83QX?eOx%|o)XG|2%YU*&cbZq= zK-LPqhiknDvnngEZ;Evr#*m!!N{vbgcsbY-k$6Vi#EJLosMw=_^A2Pwd)2kTFSYB! ze8%3N3hp#^YAoYH;KSZTiD_^8pJ7P(hV}Gx`sQf#_sS$M)JlkD?HlYq2GI6w2n=vW6Hc_tFt4f z)nLbc2?h4%i{u6@|ALqgw_8wRuJ)&|K0`ZD2*jf+P0OEE85E%xqr!PpcygXq>U2lG ztemgb>-7GY=@tkO5mQQadB2szr?d6Jq&G&5AYxI;&u0H%6#ZWa_(kw_bTBK5QJoV? z*uq?+z?rXJ1;E^@-E7YeMU?-jc+WP5B?W=1XyK8hzr1gKu;C zG9}|Ay6^rT{p>W-d*L62wwx3f>2$C5TDMc3bu9)tf-;@|%D|Kz^Qi{2;8dz=LA|s< zi+x*gHNhU^x)UidY9~Nvx=p{B=JJF=^$W8FMAuPaT}7ffk8`x0j4 z`47!BUJ74chCJw*IT>;IA3_WbNW*%1lppjW&>{J&3pOa4EMA!=U(0!zBBq>QK0H1o z{dpjfdT4*@N4RssM?bE=NyeXa%%SpY?N_=e)+`r!Aj8u9GFk6_CLvlm*a zFc$8{OkqC`H4?^zM3z-$c7JT^^1@h!gCt%Fj^L87A}MSiyDy6|o$)Z~6c`!hO?Hzp zmJg`Yda-7@8*J%$D|3Na5Sn$ES79-C0e3X~g_Ye5}1Z+F)5Lj3cwO6^)&x@MyyVj4F zNZ+^b1zmSn^A@+wMstywOC6$kN?e>zss@ZrV7N+p?=MUSARm#cg%AHwyr*4o{@N$E zQ#;kjE(>H`(_p?KfYsVvGUOd>ur%JZ6BvDHoUIkaBqWIK2k21qu~ftRYcQv1IZ?+Z z)&D;T_`#B15>pF7M-{JUH1n&SMC%p9JIC;qto$1eOJ3F#LKv|i$7|!>BHp4*w4KsZHrN8$VarWtrA_7R+zUnM)eMy)1t)8aC}F`{sRGXpfbHt zA8Gy+il>kFypSvJmQ*K}H=>HM^kr?t_;b()hNYuYq2AjRJ2;T>Tiu)@V?@S6$|c7; zfrV(S?49GNOYWuk9Q9$ur0>B+oHjjc%=eMu2@z+XBd)#9=;yVJ8q-0o-`6E*v44a| zHZl()qsygv6-FbL0StjrdT2fClqS(^KGR&#vpI;erv`BmmmNFbOP#RD4%bq_zYI$M zw2P>995SG`<^~Gbvkc0=<*-W_-}3Ddrq8=pDB0yI{kfhkRd9p=Gx+AyxV?K-Ns@`eG1=tIfqUx$1Ghr}&M)E;lFCYIDI3yToxIVj+9td_ zq}^J?&lL1033z+nq}6lf;0XdYKC&?7)cn=e;a;2e!pc0YQ)MFaZ|*O)5G%Sv zr1sdri|g4+UUQ4+*OUqUXDUNV^L7v}^B2rQUZb7ee94tThIGEky`$Xx(OHUpAlU_u zz8lJv$?saMsZ|_iGL2c3y6G=vna1=#@TuxAY4XaR52MEN1CEZ3LO7XlT(<8i|B$$Q zZ#cc-Av9SUd*ZL@PA{|H+B@0)#g&(cTjG%a5L_mScc2#a1Of9jSE$Aue5~}ItFmvd zG{ig98uOlSdh(AQVh;5Vy%)Mpnrj1&4~ncxW)M6r^>Hyrrkp-Y-|br(^YD%>6)Bhc z2eFIs*sQvB+Pb_3nv*(ZhLcl$ifrpTvo7|ph1dlR~9%LI-r)@)$J^B&E+23~D_y)tu zo#HEfx49fdET!!&6gJ5RSObhk^db-j=FDx+IKxzF`1T!g5Hn`e{~O*w)`R+{zbn0iz1uNTqsGphi2B0_YkYQ z#2zV>?TfbX%a8<19kwqq?v^g-A;c{n|Iz|AZi3m#0u6>k)o0A@%0rxX^xaat7-d6h z!a|RWL;2Ce{1*Aucf#ISnz@wgNV0^qd4&B*3xm~%$&rM|X>mKCMU)Jg5Xhj2rH8+6 z3-{LYpFj)r6^o}O{Qa_=2It~oRC@`k8M5ig=ajbmpgWaLRUF#_&VMv zFa!sb$fy=eZWV##%unK7!qH<$WR^-?>0_=Nz|dnzK>~@Ntg!T!_zgvp81hs0Oj3OZ znA-_cByN+TR*?=73MOswW?IRgJd^d}ld(aG=I0v?L_6pSBsQu`eB_z%SH4er4FO?SshMU)<72>yodvZ9J_!IQN&7DAgEI&-d@3H z1SeyMwA|sc#TTZC67WUl=P$DaMo{34;>1KIOj=i>id3d_JQs~9r;7wHdM9{@`g+03 z6R24s?zYpLbO-xf-Wf^pAET1QdTINn5g#TN5a$gJ zv|?41Z)Jsp+2JWEKUtpY4RjS`bnR^v+6_{=iKW)fant#5iu5Y%N?Ng!X^{%rv$k0B zI<<-hD*9Bs4hnLe!cCppoF!_-k;-7>x?rO8c->ku_7{pGY(QlPs&QQ%q9en*)$k63 z$Qw*5!bYS6yt8JNjjSy^>>LxVXvOJqobLRY*6Q8q;#+CvpBaIKQM745YB3UO2}i3H zGYD|tELaB(#FZ6o2MLBaFQ+NenK!$+A$$pm1v(k|?NbOC0%hY*LEUn_l~o;zQt1qN zdY4$|-eC^-J{=sLPl}Z)ZNy?0)z5EJ9+sK%`fcL##037MqVVOydOrC0VM%rtSV#{K z1Hy&_d^NT%3T(&V#KvJ7!J4PQpvWZ(e&83%K3?CG6? z$-RdDj&`_of$M*QD>FMp8CK%%OuBoOWtoNj1SDc66?k%{nb~?+P+5gp z`p#q2+IID#^Nn&t2Go`M@%x$Uoom@}$9SPBsyM@hUDf=AS=op&ew_(w-^5~@T1K({ zlwY0cz6EdSzh-xVtGX)KsQ4CqAtgr{c#)$L@X>$bldejmO^8Y;{A-<8VK_D*wwyZr zy|Bkdh&__6FcJ~xHAxcFbJqF&dv*+CwYRHCvemCB@aUjaNoMYFX5%6uKt1T(HIlPL zURqhF(Z^2?;<>AP?UfQP zb>@pYM_|eCA{!Q?dn8uCgsHE( z{dJjhA$mpKcFi9zn-MvQCe(`qib*I{q7{TSQ5_WF^7^gv2sQnuqH@;ZB!v~hJ*Z;3%U{OhN*Uu5~7^5ePHF9fMq zo1QfegTE(t1kbEi(3O@jc|ILh~AAm+tYL(_TAXagN`Jtp{_)gy_CNf84a@e1pf) zn0C-5=2aX~2jImJ%~3m;iFGMzH`@Q)5Qu$B)dkbk0pr%dZrx8sJX~qQy+P%akeWI^ zmH8H*LKnp{*5w_}p2@eJK(s*(GV$>jk7F?yRwu5@{N}z{v7lTTHi?0=A27aRYRB>} zy3w<{Jm!9?o@2X9fv!umndYp+;t;6CA1sP({-nE>Vu0`pg4EuZr;GULpKQ}$>}0k^ zTjRE6b8DFM#C|y-wB|Ydu3tfxyfxWAo3c!9hEs6lIhAsk7+tyU^zi$o{KVnv$f$M0 z*Vp^(2F-u*OV0I1g>)zNRx%#%(@3>R#v_RiavM{0u#z7(UG+z~b+)cLs%T*)<{PKq zbVo_LMl-&z*VX;u@SaVwo1WpxWJPYVDQ9x{rFo|J&gl`Z(=77MOrho#IJr!g`9GzX zwmgfOAXEUNM2n9rv2EeI$cTvvu8s??{1c@Wcz0+1^vGmbY-v+A$D%hXS9SqX=`4)9 zX5WTYoPq#3QPr?q&A_ouy-Mk(vp}YdLYqy1)nRVGT(aSJVRrzx)h_yENZ?-k+wyLy zjP;m}z-i7t%%tX+2QP+zY-Ur7VL&7ggZ}oujqOXl>Ag7FHs8~<-P30Vl`JV+j#wg> zAWM~Q37!5{_c3cO0z5Es_mVD;3yZKZkMNwG`wPTE)#&yW;a$%6`<@7eu7H3Lha3E` z8{>({sI|dgk2kCS4?lQ~rwx5ZPR~o(*ZEY}XD9y=6`rq1_O8YK;X>vu(5^#h+xQ6{ zy{#V(9kdYksedMukr%zg+j93WnI6;2Z@#ZB(W!;w%j2^Ggq(qG7+jdN`agwo55?B* zB_V87L{Wo`{1tlqSre>+969Qh^PI27l&t=L5U`yq6K=%SPrSUbmGGg&EM~qte=?(d zx@g+qaNK+xFwUFN5hzx~aItL3HnVx@4vR(EE~{m^<<6GemI-zdLwPvB#{x zEBz7o>;CuJzvr=MwFfDQfPpdKpXp%a{UTW6g8LrQI`lU4*k(Ul!b61Q622l!4xc1o zIrWmo0>@VHYM=({e<0v<=I`nHR0o#H4Bt@DUpegjiukaroXsCb#BF_P8E=Ah`1Kj0 zj=uIae(C!pws2$6JIHf4lrv1Kp?Kq=#J^1^ALT#sZqVBuUUC0wbMBq`UXULc)P;u) zv}IlM81{OjY*LF~LpHuf8oq|s2`&YqsUD~Y-V7alvej<3+YbG4*cwwZn#iMkWgFpc z{j4sr_2$12@LG}YChsab{@p=$CuOU{s=wO|kNtzNGX(*_o}CMUhRQN!Zjnc9$sbgFWX^UP71_mqKkdbu>-AWNc!M>|7Lud%>!u_& z`~9AFoSA~Nd1g#v3yZg1Y+G(_ijKDxEYP@vy-d{`fP!?ucV#bvH?;QBNkYxdLt{Hc zNs8$*XM?hi+`Kt!+9^sZYP#EEQV{NAvsCh)hgGPG>Fu2Ld*8qK3?vG4B$}))($*V6o3Bp?Vinx-tfD7lLiLd2fn_fc&0<^A5RYJD86Pk z{}}gzjP(mr#pL?7waq!;)F3Heo-3JU%$f9IGGRgA%! zl)tkToY$U=XqwmeIYwKMVAIDNA9BWZoc&O#|FTIl;0Xd|4W$-Zabx5YA}}FPZ-HB2 zR9wy4GTJt*gisn#t%h;-2;)T@=6kq@hFjULt)n4vJtu-1Z8$e`eEgF)^P*1N_JpA{ zm}?P__d+`vq`ovG8XrVOkDD7mb{x02Mt9D8qCz}_GG=7f`PO0 zelk5l!04bLCh^~iYSO)bIc^zgn1*ud%bQCpldU#FLWI_}LGn^xKd(^-z!jv3^{pTGWid9w*6iegIEseQZ zwkn)r;&sMXf>9~dq^~QN=Njg1^3B$C%(Qjtb5oNm?6~b+Dt|_F&xh1YAK88@T3R7$ zZ5yoCaQHDSyN-@*t!@6cZ5PM6vai0NJ~DpjJh%AkyM$2r+&>=A0i3c!3XR(075l~x zO3gnFt=%UtpLw~7E{_$GG7b3g`d?J8Eqv8%(yHREnmz3PN7RNuPgM-)7B!Rv3wJjQ zF0vKe52Ac%>nA~%3ks-QL66$*A$^2|zkP_p^-*u3YN>_ovu?a-Z2Q(g=Om=;YmAWv z?uY8vM!8gNQU`+u!&c6st@L0CE1n2(3I4<+Dm2=xw4OISVPPr%fq-w(l_pN!4cAf`B`Pzo(i(GRDMBb^GUrZJ!|Ew?{i@L*&$Y6HgE@ z_3CS6>m*WFrJe}wNdnePo3ee`lpUeBD=6>;0nb+#nc?oMJ={*`KDrtSjQ>)0q4*Jl z_7eU9PwPEO#%%sx6Z{DRc5M(HtC>fwvUq}kPaEcax?j#IQR^EJcP>_5{`Cs9i_oL& zT$;dVY#6FKGQ;udpX_=Na110%1@HzofH^(q2FHG+IS+xws-=(elV^^Q~@L8IR{HtN(cWmD)w)zM4y6x~+uhnGR$_39&pQ6>NQ?GY) zV~u+#anGOF+T`D3u{X4}dcOh#o*-b}ykSkhb7g;_G4k5mA4!kW*{U7889a7lQ9YM6 z0smksahJ25x`%0P;zusE_btP#2Ns%MZ8@uVE5yAw57Z)SoR9bIng%zLvV~JIy#Mxx zO0Gx4xG#chZGU~}yj`#T={@9T`;pUJr5oZi~Uzl}@}n7bnDVUv%yGqkiPX=1m? ztX{v{gHJxOR({gIY?5H=j?ew|>5zcLmDATFxgZ zrNfV<-9BEg{<}^<^BDuZz`@LL=GYL|d!>TD;JHe{eia>#u~ENO{xfxY(&;=R4$Wh$ z_4)CP7&pD=?(`IQ>!ik-WY+W;rSw#V>l8ftl*_9mgY+~+YgG8_I3(+oJM?r6>ogtt z8+~-Bg|sDTg$$2tbgzu)?|u_!{;uO@U~VvE1RD~cuhVKUu)41?^Zz~&S)(6C8r``S zvcuO{4~$qyezQn{sxgW2w}u#|o)baC~)Ba=IB_a-a(*{!3?H0@XlmVEQ<&ni-aQIs9e6`y6eNkgc>lxcpy-F z@oyOKV30u*aTNp}!USRurKmG`nno3TT_iazFX*337F$rvH_s#!2wD#TeKFZ&V|qIu z@wNjj$^jG2H4)V@Mfu3Y!vq)%51=m=iHB~XEdp{ICKPl~1FfHuHB3pU#Rq{jhth>_ z;7m`ABz@OSA@j|Ft#48aTl$u!c=;wWI!w|#K^R-1f`O(0;U=mQ5`o5M2BdF^VHbVO z?L#>#0$(yJ+Lt7?nNrW|bBgw%FafF(Og-(0w+8_5u9!lJNo^XYYtM*F2<3T7K=3pb zkKMvkf{K$c;w2ZW;xlXFn=9%RU>eguyxCxr`u#>CQ2E3}hXdq52Ght5RO{Ks(A$A< zLG3YTF#r?D9W%Zj0x}O6!Ta8?qG>#1u_+AKG=EB3V|to5HCZ-Oy+eSxppp_$dxaS= z9qbhy%wid#!-23{hT0$O5C}haR38RD?%;6&pyIEf@5y)&n0*Jc`_&uw(oOeysKY$q z&I7=Np)L$Cu^pIeDJnSogQv`{t2GMfIgF4B&`m^|Tb@A0GntH30DgWmf(KUEDir;> z<)>+AAPF13EiA|%Kv^{7Z7KcIpZ1xB);Q52P=5V$p z@^T`48TJ$vLa?|Su^IwEcT<2N{V8TWuPB%x0DtOSe2;CFi#*hQ8bfF(N23Y*bC)D+*>R1Uq!z#oDBbrUa}{nIMc${$d8 zg>X_S&mJ7IF)yGFEg>ef%7!!Rl9Yjr7?Vk4P>fRYte^VJ*4{fXee?rECRllunf+q9 zI3~3CN(My@ZgeB9YR#g@!KA@&oh^z)l<9ETPwiraA4F(ya4kcvi7@bdtpHOi0_b+S zObOnZSv9%|s;d>m9EOMBcs&nAZ?dY)JjkZ0^qI9XPNmD`?|aF?6mD;#4KL4MHB)#8 zw^1q;%-D-O2SAuIK~!Ii1R3#)SyZ3uXsedy{Z{q}D}lO0<;MyTYK07TNhvnW1d}6H z)H2^1MONoPKy6=Q6ewLqGrK~xo)n3}tqkuDszRCgI7%$}t7>F`k9XT?=KHCGa6DV9 zI(7DThRR`@um)pGC7x0yXG>zo!`vNc!89!VE~F@EHx@iRCShq$WlNw`T=|O0;3HG( zD@2d~)5WYM!4-IPcCpwlPsd&xtPwR*<<0pUp_)opj?smRlXd!Xok&=6# z$pIIEC1*1Qt7JF3ia)HynNzy7MC}!T599uR7m_j`W;lyk#&WDmWY#^(g&$vH)WE2^ z0i9n(dz)Va#y!R`t)5b`T8%ZYIe`D{sa|>9{xxVPF3PpCv->lX>03WHUXxXP3)dRY z>E~oyTK>vVh4kOcJ8yfAFuqoSzu4k^Ju(nv+9a})kui^>*mpaBb3R?DA8S7wbaKa2 zedm6P$Hlm5P-}=l+Lt{6%~WRg2zwAThyZ}E`m;reqmI|=f&VMp@;ti^H(9-I4g-;o!YB3!4E>&y@w0N&tAlDLTv*y-7fL-Z9 z2#5+;)v$@4=jt{%kq+XS3F1~JKkt~RJs=tU&~y;d5tw{{I9NW#H${9qulb|F2i`?k z1u?PEB27-0H%~}dA2RFN8PO=x^5_%khhEf>2=i^sV_~foFYxeCBmd}Io(h%PG`|9P zF}ZjMFkoAC_mMUDZ%gSI1sHhwAE#k&KEm@Sj_`+TuJ|p{so1hw*k4@0tLFpovX;Zi>^SA$n~&?)=?jT(oed>x&9lLdqc3)?_{ z>&X^J#3e<{MT^nEN8E7N!o^?$KcD!6Ck{iQds`ymL`+xH7s8BS_9cHYN zmjr|^GyL3dh5i!qa;soFMJ^-wH_(U|07~326|s7m%*&GvKrT+u$h!((t)4BIW!b-8 zXA@BHFIO6BR-C#NOw@Tf$ne*H^EEPr>ag*ehBf(sAOE8rmbKob?nKT+cXvEtEBj)$MGf;1u_k;@ z{`=L^2bl^1(j!MPSZS#RXtuF+)l?FGC7)$yVBAn$a~;KLmZ5WQxd5au3xhUcVQ?znYU)~(;yiuhapjpcLb7y4Wnj`vN5fE$;g*}vF21Jft z9MrEJKfZkl6XsK;`K#r8l{#R=I3v~SST0QWfY5gAg3JSviC7?1S+ zAlYPL<2h%3soGK`K--++V?m&{Z#HzBzFci(;rwUA3m$MVii2amTiqYT3SnuKWTPB~?TD6Vc1jtm9ptZ@wjII8rI*j!y^eVBl%Dfx9Xd z+jQ-Bbu{-`Z==|{JCFh2l-oSb?_znH2=v@K?>B%$Yf&LbeB1rNX>U|2NUTM}DF-B! zpmPA{Z9Va=awjUvkqowyG=Y|QIiersBN+DlSbwU#N*Ez|0Xs5p4)EsVGXO{g0zWV? zj>!fds-F)mbaB7y@>dlv6>Rw&05uQ`)IV?IVX8V`?)vfM-xL((#s_SpF!-RRZZuKZ zZ{CGWA)(fH?tG4iX0)#thQJey9W#s@3x5^jPU?H?UM9)(y_**Qx@KzX{`yx~-@;mj z_+)<5M>`tLgL#2B^CYh!j+{S-y4U0Seg&JYynWrw)&{49etO&YN%J)~6W4nJiS2+l zzlHqX_(QrL%<~YCe4#gjbHOjotiBn~Ob4miyhlZ+W!B#sGmrYBdY z2Uu2EJ60BYPKB0_?{f)q5V+RlU1tLrqRbqI3ZxpyZ^^4^8yZnx#G7U_RKi8Se!%@)it$s^$m?p|ABzp4Sj>UdvL#iL&GDZg|ai#N5{U8b7p4eii#J!dE2qL zwEXke%Iezs?~To^?Va6?uHHlcz5$7EK+JH$#MSjp($rHkRdRk0j7=q1m){qRNz9@5 z9|)NHV6oZ-;|m#qNh}SLd2FcOWXSL3-TQkFqmP+XY#-oyBMl{EX%LgqZ2890@hoAN zgI^!V~44{bk z{UfIr9^S$e1bnbE)>^yP3q!%7QEIFEJrGXJX<$27iBfm;Rp(b=LN0Dgxx*{h9I)l?LM-%{Ib@^caassSQifFJD=&j%T4-Bsj}w`YLy|{n`8<2-tD}IE|$!q?7fwBvMWaj@H04aY)iU9w#{h4dCSch;Y|8MTP7aoEVIONHYNcs|9Qh$IhKm8M5R~z#a?1k^Co7C zXd+uFsn16YJyqTJx6_RN0|B?b!Stx(XT|;a}!>u$w@cg?y=?vnd^WHT&NHB%JM@w4$6yZQ1{;@ zV!yR=V}9ki5u7>50WRZBwLYwF+kqd}lw{v2=G8n#6jo(UTeC%XAz3Pq8os|eta{cH znsOjkr9;70`W4&SHha?j@VIq7RLs1o8;JT@sbQYA-=Y_Jc+z<`$jKYHg>B3eZv)r0 zW%}WXVbOVk&h;M%I9jK>QMnWDyMSNGn{{MhdG__WrtP0^zv#rn`%OM6mIUuh;PUl8 z+~~5kl9g4Rk8-s>gbvO)iDxwLV&hZ}Ysnl{jEP?#T}(nbK`vtansw9b@t-eDU*)1`Z7gS*6#13X_}pTg%(QD%Yho>d$-8XdED2(To?2$ zmapNr?h{O5ru?(+7(6%YUuMFumvQHhu2!$V>ECR|%kp@6hapv$`F`H;OB8P=d7Rwt z=9g)-!_!!E+jlseX`X)GttX-)MIWNtSIY-hu60!?vCa;=u21eytG@Qs?Kdsp7aSm1 zYahAf3IW_UE}bp9BTTo)R@qpuQY z#_eN>1eW(%Fr6S7T9HQwj&qoQK;dd(q`YxQwswvslmXMKm#tvgGr8G31w7c%arHDT?!W_`b=X zN6cYz%lPmw?~0jN<>iCfrh}qww^(RIzL|VFPs+z-7Um)ERkCidiZ3o?(;OMq=nqO( z5!_}MX_sN_I8SZ+zD;F>^-kMdDrUE_geOe?yK!V-8gRMIixScK(R(_5D!Np#5vC-{ zaY5vfUHYoEV%$3PG;_?gm@X%R-#+sqd+KtBxQ~27Ikqur`(2s%?vjFALnHZ8ahb%m zww%vuBR66zA95={71Z$~4{6KF@!Lx>SoE?$^BvMss`2?0LnK}y*|;S>v*>%FPlAaQ zcolM*!#`r}cZ%Rt6$+Zxh{Vh$v|G~(C5ut34Oe(a=vQIR!jC7z`)2cJH!P@@i1uO6MNxx%f~{)^D)R+w+l!L8D!uGC%_ zov(bo^ZH7P3X7Cn<9T^=wdZ(c>lF4}9p6qZ46n)vLvgX6;;JrOxyqPyY;jQZs@}Ig z`#N)RtRwOhd>&S1E;P0@;eFMZk5_FetGGO!dDRq>aCF~tqdaE)qS1D?($)e;aPDq0 zy4vm7EJItu`BicY0*`0Vwi2O!K!RRJUG9iX8~X)&)*3YUy2c^V=f{rDb;ob-6Folm zm4)*bf4XlqohxJ^VSJWHh zMk^9atArjZ_*xgR2wD1dvdNp864+U+kMAUo!<98D?y>d{u?;rT_-~qx=d6|w+YniS zAxV{s%psAjhG6^nf`4bp$ono~ZdK)}EW(RI%70@5t?kodu@}GXgobET{?dK8yMUKj z?3MN15yejYEoAlEH?r`UDezb&k-hEZ@o(MFl|>VeS0jq6 zE-m*tf{wJx>v53lew3~g57n-+3khdzA*wk`&A%U!DqdT-tMqBSLBEA~?Z0w9UU->5 z*ijpvlPY!&&(?GuWF&coHa((b$Nd{D0`8WBsa6?i{lb*F+}0*M{~|2L4_};nFHz=A z=eBmA|K_^eIMEySBj~yO!T0dxIr3&PP2@Oj(oaOla90`M=CVxn(di>C{la9=-B9+! zN$}&nYCun{s=?!(3Zq~n#L*(e+k+iq1U@5kCr&qfA#6#S?oHViw1)vy{|Tf^_hS$a zQq&BZ9Q3#x3KF%%rX`vE00_anKxn(Fi6!5MCu#5nVI<)t~R?nwEu3BMk<)HRd z^YnQT1rYRc*n$*>N*-^oWoaQT=PjHb)R!D+xES6>82Xe8kFFMqrxu#J2w=ry;HZUW zl%qMZS?#u58B%E+u3skvjtdqcw2eEj&Bkg5npK3;&{SQ&xE68 z>KvZ((q-!ans^7ADHPPRFEZ<(P$=-5Eff(BM5iVWVTLhdp>6EMVJ(?aK~bpybCSAb zB+9vnxssPBPK52LOoE>VsviqzZO`191Y|95VJ&a_ z%q!KN-JMk4{W+Thn-;9c!<4Q)tsLBZlWr>PP7i}I6NXN%P+0i!K?WIS|G~3hL%|Rl!plM87w0$!QM^xOYWLYaz^rcL8 z`IO(KG43R(ZmA$jy3}X4kuro)pfh_)h(!l^!Y@nIEOW;uE#sE*aIkc=uSky9R4^_i zN1(2yS~ZNA{qsVtT(oJ^wiuH^B_>RBMbE}xig~slPYEQ9c!8e5QE?+ZTq-=m zJ-edj7Bl@_er`&6=)!FhK2U@U3H@7c zm%Sgcw2%6>J@d0n*4j>7dAr$-NId3<+0Cup3mE9#8PN7BQ+uRXny%!dLT1i&%J5bG zyE+gtEOk(%^ov}!qeg-ARldVjB(Zk^?RwV1e73nPjEdc>m$}f_8iUC@k#!W62AVDd z0OrGq0;0Lnkn;2!AX+>0jdmeAU543BsI*bh+x6TtZM1VQ^GmN{IZuOp}g$rz`vC9qEpxrM>X{XY#2|^YOHGAaV+8 zcTw16L>k#**^~lyfKG(q2&xdF4emPV%o5m zIsHb@G!89Ry#)-flI3rU^OnsXJ>fE$wT1Gi#R`?Gj*dh?wk#ypT)PU*r^@LnGCMVU zpCp{tsK6P$-nk;Aeb;w?QS*?jnq~}r9;^I40Dz}*HX_QO;_3uMD^Q?C@`&;j;Ryby z(2ct!se_E)JGE8haMkv7ce$FlP`HA17&W0ySvZ^!(u8!kY%V4r;zmR$7gp}w z-v0{k4G{9J6=$AkiiI%vonAomDnX^U;W&o;XO+c?t8j4DAwEfxyp=oIc%9d+M zXBY6G>1M1+P@Hg%K(TeYp^aCI4%e}3+qz@mmu4t7hT5p~$ceu=Ylpg+ zjcEicySFImnh$WUX_yGrQfrz@xGwjuhwGG$W~EQr0a6*gQweO?NR-mcl&uPt)_c7a zFsr&&xpPKp$XaI>3!G(|ZpkTU4x5}0tDt82zVDl?pjNj38;ew3=(_m31WeenxqAfQ z*#HOdzuCE+cbl?Cptp>g0Ob0j1|YmSIfe&dyzF|j?%HcQE1*cJnvn=*8lVAAx|%v$ z0UbPWPzkS2Il@glut=4Mz6`soM3A|28fO+OXWwYLr;D-Yn344hRQH>| zL|mvtS_Ri>iGlh7huOd%V2LzIiHfrbW+PrC*lL$Mea~8wvM!$k4 zeym%>j2xdw%&F@s00poB0AQY$I++5{qX5vIm5I0i2OO?UT#vQJq5%8>1W=D^=%Z!` zq!XNskGyrtyOqvW6(GS3__jsxG$cfqtnBWc0xT&`!&43oD4!d;|*$&29RS zY2oym)^|Li}=xEeFc!Xs01(;Slp5_shEiN7*i0FJ5a6e>>>bwt6i|u0Jmlu zFuk5Cl?rW@S}B@-?Uhe$s~2$C7htBw374Onu%5QVip|xit9#D5y5FpJW1ZPL9nyfu z*+?LT`v<-isi8iMk#+fa76{hSsoAXk1Z8~=cn#XD$k3xrgp;kYiL8#7?UAkB+ePr& zJm}ekC)+Ye+qF$|3ug#)X@Xv@+p2v-CE?rBeFVT=4zW$#Felo_{b^l|+IN|!R2J6L zJ>Jz#4%dy{bZ6Y#&2(mv0PbzqL_j+K(1Q{;=%LOU7jqHa<2~KwZGOUS1n3=v>b>3v zcLoCB-V2Nb+C|?+2z^q7-a1;+^8Hz2e|t;V({ZF)rhGmfYtk;;IXI zIZh$@ozpyyzdrsAKpy1C%mhS^-0-H{A%5Ci=oZpo;)e3%J>KH3N9M3c<%T!pS59X} z-Z89#qX}}(vA0v_6>{fzKH+9g zd}iL~h4<%x&U{(EDufO{hTi4>i4GS=*65k7=iE?nkuK?SN9mRB1s#5x2QJe}kg;W< z=|Ox`hR#W!4(ei!Z~De>QQ&W;4s#?71@c?zqNeKZZIZ{n1h8J?CbH=pP3Ik{+_)~* zl$_S5!EI6?rN0jB<|YN3OYF$@W)7_dtn~O7whr$=AnzZIXo}VnJvjxB#_t-3 zX__|d0-t9RS@4*C@C$b6h<@J=Z>bRP(Ni|@^exxfzV8^{YirhK9N+O}c?UlX=Xbi1 z3ngPI|ML))^ITqfrq}cTp8*~~pY#P4@*+Rt?cOxuz330G^i)qzOz$JN;q)ZVObD;z zTT=C4e@Lr-1Raj-9$ur%o%L!$@+EKb@E-PXuScz(;7t79WN-IM;O6mQ<7{ugEW+fW z5ch)rMrD8Z@af)}jP8h#>3mQ0rU%|pzvy&7_>|vD46yinkMQ`?_d?9@xD)w>f&fcg z`J^989)S5xpYRG#>z*HD&UDhHAN!v)0F!mv&Hdew@AVb(=(6AYVziT6qxNg>_$Eg_ zMdnN{@B7OCMhj5;P2@zJ@Avru`YzJN%YXfERQ;JRV7HI^xv%?$0{hrM{#Zo&?}HJJ z*ZsK93FSlmh#>y|Wd7BH^_su=#2;-1m}rUs0t7M=%Xgxwy0WeN!m&KlwSD8c zzVp5R1B1dLv1mLZlgcHt>3l+?(kZoSy<)T4Ew{Q5kqBY}pbQwG2aff+;C>f8@;SY3 zzvJ`zJ-_e&^TEBbv84@|0gQ=_jGTEebVW)|QdU}CVrFV?a&~%tf`*EYl9rk>F?bv@ zA}ErX84|V$#sS*i;^yk=(iX@X9-6tbG9DNoBMT@mGdDXwLq|(bQ&(GGV`pn`b9Z}x zgNKWclb4&Hqo=E{v$wmy!^g|d)7RVII+CQqVFsd6RDmM&kyj45*_O_?1zcGM`apg~0z zV=1HsaVXKEyl73Vh{zQfo;sgGjVg62)v8vnV$G^`E7z`Gzk&@bb}ZSlX3wHct9C8h zwr=0TjVpI9-MV(~;?1jfFWXW6rF3 zGw05pKZ6b}dNk?Mrca|j9hgz%pM?zzT`YSx#9qFBDHRrZwbRtTe*+ILd^qvq#*ZUU zu6#N3=AL;MjQk1~P(rq8W6z$;w&TZ;r9%%demwc|=Fg)~uYNuI_U_-qk1u~d{rdLr zcL%i-Yo^8gCBwz zqKG4sSfYt1qL`wJE3(+4i!Z_$ql`1s$O?oJmH~_!u*HUF@SXmp#dZrifkuDkET z8?U_c(p#^+_u{*(y6T?0qo$ya8!)-$n%nQ0`y!mM!V5Fpu)_~S9I?a`Q(Upd7h{~U z#v60ovBw{S9J0tGlU%aNC!?IQ$}6+nvdb^S9J9hrN#lU=siXQQ3A+H0?k zDcf&n?Ka$V(_OdScjKM6-h1=ix8HvQ9=PCx6JEICha*n5+>a&RxZ{uOy*T9mlN&7g zA(Uf2x!7!g?X~A$gT49BnUh|+>8GQfy6UU5-n#3r!ydcrv(sL??YHBeJL#g&!t>|9 zKLmEqyqBrF@y8>dyzBvVyGLn*B?8aGM2KOB`s@d%Uj|ym%7~LB}?f`hww6(!WC9(B6P3T5CQ+hk&1+&ao7&taH@oT0Z-O(N;_N0h%PE_2qBEW9Tqir*>CSh;GoJFC zXCKXJ&wJuCpZeSd=S(LNuZhohU^sYSD{g zG@}~bC`UW$(T{>Oq#_+DNlR+dlcF@GDqSf{Tk6u6!ZfBboheOgYSWwIG^aYdVGC>6!y-1Z zid`&Y8|&D|LN>CJoh)T5YuU?UHnW=DEN46G+0TMDw4xm?X-jL`)1o%Ds$DH>TkG1_ z!Zx)r2yH@xBrd-)Io06R@Qmq`Es diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..6457245c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,124 @@ +[build-system] +build-backend = "setuptools.build_meta" + +requires = [ "setuptools", "setuptools-scm" ] + +[project] +name = "djangocms-link" +description = "Adds a link plugin to django CMS" +readme = "README.rst" +license = { text = "BSD-3-Clause" } +maintainers = [ + { name = "Django CMS Association and contributors", email = "info@django-cms.org" }, +] +authors = [ + { name = "Divio AG", email = "info@divio.ch" }, +] +requires-python = ">=3.9" + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Framework :: Django", + "Framework :: Django :: 4.2", + "Framework :: Django :: 5.0", + "Framework :: Django :: 5.1", + "Framework :: Django CMS", + "Framework :: Django CMS :: 3.11", + "Framework :: Django CMS :: 4.0", + "Framework :: Django CMS :: 4.1", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Internet :: WWW/HTTP :: Dynamic Content", + "Topic :: Software Development", + "Topic :: Software Development :: Libraries", +] +dynamic = [ "version" ] +dependencies = [ + "django-cms>=3.7,!=4.1,!=4.1.1,!=4.1.2", + "djangocms-attributes-field>=1", +] +urls.Homepage = "https://github.com/django-cms/djangocms-link" + +[tool.setuptools] +packages = [ "djangocms_link" ] + +[tool.setuptools.dynamic] +version = { attr = "djangocms_link.__version__" } + +[tool.isort] +line_length = 119 +skip = [ + "manage.py", + "*migrations*", + ".tox", + ".eggs", + ".env", + ".venv", + "data", +] +include_trailing_comma = true +multi_line_output = 5 +lines_after_imports = 2 +default_section = "THIRDPARTY" +sections = [ + "FUTURE", + "STDLIB", + "DJANGO", + "CMS", + "THIRDPARTY", + "FIRSTPARTY", + "LOCALFOLDER", +] +known_first_party = "djangocms_link" +known_cms = [ "cms", "menus" ] +known_django = "django" + +[tool.flake8] +max-line-length = 119 +exclude = [ + "*.egg-info", + ".eggs", + ".env", + ".git", + ".settings", + ".tox", + ".venv", + "build", + "data", + "dist", + "docs", + "*migrations*", + "requirements", + "tmp", +] + +[tool.coverage.run] +branch = true +source = [ "djangocms_link" ] +omit = [ + "migrations/*", + "tests/*", +] + +[tool.coverage.report] +exclude_lines = [ + "pragma: no cover", + "def __repr__", + "if self.debug:", + "if settings.DEBUG", + "raise AssertionError", + "raise NotImplementedError", + "if 0:", + "if __name__ == .__main__.:", +] +ignore_errors = true diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 6b26cc22..00000000 --- a/setup.cfg +++ /dev/null @@ -1,29 +0,0 @@ -[flake8] -max-line-length = 119 -exclude = - *.egg-info, - .eggs, - .env, - .git, - .settings, - .tox, - .venv, - build, - data, - dist, - docs, - *migrations*, - requirements, - tmp - -[isort] -line_length = 119 -skip = manage.py, *migrations*, .tox, .eggs, .env, .venv, data -include_trailing_comma = true -multi_line_output = 5 -lines_after_imports = 2 -default_section = THIRDPARTY -sections = FUTURE, STDLIB, DJANGO, CMS, THIRDPARTY, FIRSTPARTY, LOCALFOLDER -known_first_party = djangocms_link -known_cms = cms, menus -known_django = django diff --git a/setup.py b/setup.py index 4deb3e46..25980616 100644 --- a/setup.py +++ b/setup.py @@ -1,56 +1,5 @@ #!/usr/bin/env python -from setuptools import find_packages, setup +from setuptools import setup -from djangocms_link import __version__ - -REQUIREMENTS = [ - 'django-cms>=3.7', - 'django-filer>=1.7', - 'djangocms-attributes-field>=1', -] - - -CLASSIFIERS = [ - 'Development Status :: 5 - Production/Stable', - 'Environment :: Web Environment', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: BSD License', - 'Operating System :: OS Independent', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Framework :: Django', - 'Framework :: Django :: 3.2', - 'Framework :: Django :: 4.0', - 'Framework :: Django CMS', - 'Framework :: Django CMS :: 3.9', - 'Framework :: Django CMS :: 3.10', - 'Framework :: Django CMS :: 3.11', - 'Topic :: Internet :: WWW/HTTP', - 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', - 'Topic :: Software Development', - 'Topic :: Software Development :: Libraries', -] - - -setup( - name='djangocms-link', - version=__version__, - author='Divio AG', - author_email='info@divio.ch', - maintainer='Django CMS Association and contributors', - maintainer_email='info@django-cms.org', - url='https://github.com/django-cms/djangocms-link', - license='BSD-3-Clause', - description='Adds a link plugin to django CMS', - long_description=open('README.rst').read(), - packages=find_packages(), - include_package_data=True, - zip_safe=False, - install_requires=REQUIREMENTS, - classifiers=CLASSIFIERS, - test_suite='tests.settings.run', -) +setup() diff --git a/tests/requirements/base.txt b/tests/requirements/base.txt index b8239246..44d1718f 100644 --- a/tests/requirements/base.txt +++ b/tests/requirements/base.txt @@ -1,9 +1,11 @@ -django-select2>=5.11,<7 # 7 works in Django 2+ django-filer>=1.5.0 html5lib>=1 -django-app-helper tox coverage isort flake8 +flake8-pyproject pyflakes>=2.1 +django-test-migrations +pytest +pytest-django diff --git a/tests/requirements/dj51_cms41.txt b/tests/requirements/dj51_cms41.txt new file mode 100644 index 00000000..3e2807c1 --- /dev/null +++ b/tests/requirements/dj51_cms41.txt @@ -0,0 +1,4 @@ +-r base.txt + +Django>=5.1,<5.2 +django-cms>=4.1,<4.2 diff --git a/tests/settings.py b/tests/settings.py index 0914f9b6..52de5244 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -3,39 +3,41 @@ HELPER_SETTINGS = { - 'INSTALLED_APPS': [ - 'filer', - 'django_select2', - 'tests.utils', + "INSTALLED_APPS": [ + "filer", + "tests.utils", ], - 'CMS_LANGUAGES': { - 1: [{ - 'code': 'en', - 'name': 'English', - }] + "CMS_LANGUAGES": { + 1: [ + { + "code": "en", + "name": "English", + } + ] }, - 'LANGUAGE_CODE': 'en', - 'THUMBNAIL_PROCESSORS': ( - 'easy_thumbnails.processors.colorspace', - 'easy_thumbnails.processors.autocrop', - 'filer.thumbnail_processors.scale_and_crop_with_subject_location', - 'easy_thumbnails.processors.filters', + "LANGUAGE_CODE": "en", + "THUMBNAIL_PROCESSORS": ( + "easy_thumbnails.processors.colorspace", + "easy_thumbnails.processors.autocrop", + "filer.thumbnail_processors.scale_and_crop_with_subject_location", + "easy_thumbnails.processors.filters", ), - 'ALLOWED_HOSTS': ['localhost'], - 'DJANGOCMS_LINK_USE_SELECT2': True, - 'CMS_TEMPLATES': ( - ('page.html', 'Normal page'), - ('static_placeholder.html', 'Page with static placeholder'), + "ALLOWED_HOSTS": ["localhost"], + "CMS_TEMPLATES": ( + ("page.html", "Normal page"), + ("static_placeholder.html", "Page with static placeholder"), ), - 'FILE_UPLOAD_TEMP_DIR': mkdtemp(), - 'CMS_CONFIRM_VERSION4': True + "FILE_UPLOAD_TEMP_DIR": mkdtemp(), + "CMS_CONFIRM_VERSION4": True, + "DJANGOCMS_LINKABLE_MODELS": ["utils.thirdpartymodel"], } def run(): from app_helper import runner - runner.cms('djangocms_link') + runner.cms("djangocms_link") -if __name__ == '__main__': + +if __name__ == "__main__": run() diff --git a/tests/test_endpoint.py b/tests/test_endpoint.py new file mode 100644 index 00000000..57084e30 --- /dev/null +++ b/tests/test_endpoint.py @@ -0,0 +1,302 @@ +from django.contrib import admin +from django.contrib.sites.models import Site + +from cms.api import create_page +from cms.models import Page +from cms.test_utils.testcases import CMSTestCase +from cms.utils.urlutils import admin_reverse + +from djangocms_link.models import Link +from tests.utils.models import ThirdPartyModel + + +class LinkEndpointTestCase(CMSTestCase): + def setUp(self): + self.root_page = create_page( + title="root", + template="page.html", + language="en", + ) + create_page( + title="child 1", + template="page.html", + language="en", + parent=self.root_page, + ) + create_page( + title="child 2", + template="page.html", + language="en", + parent=self.root_page, + ) + self.subling = create_page( + title="sibling", + template="page.html", + language="en", + ) + from django.contrib.admin import site + + LinkAdmin = site._registry[Link] + self.endpoint = admin_reverse(LinkAdmin.global_link_url_name) + + def tearDown(self): + self.root_page.delete() + self.subling.delete() + + def test_api_endpoint(self): + from djangocms_link import admin + + registered = admin.REGISTERED_ADMIN + admin.REGISTERED_ADMIN = [] + for query_params in ("", "?app_label=1"): + with self.subTest(query_params=query_params): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + query_params) + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertEqual(len(data["results"]), 1) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + + pages = data["results"][0] + self.assertEqual(pages["text"], "Pages") + for page in pages["children"]: + self.assertIn("id", page) + self.assertIn("text", page) + self.assertIn("url", page) + _, pk = page["id"].split(":") + db_page = Page.objects.get(pk=pk) + self.assertEqual(page["text"], str(db_page)) + admin.REGISTERED_ADMIN = registered + + def test_filter(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + "?term=child") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertEqual(len(data["results"]), 1) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + + pages = data["results"][0] + self.assertEqual(len(pages["children"]), 2) + + def test_filter_with_empty_result(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + "?term=DJANGOCMS") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertEqual(len(data["results"]), 0) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + + def test_site_selector(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + "?app_label=2") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertEqual(len(data["results"]), 0) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + + def test_get_reference(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + "?g=cms.page:1") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("id", data) + self.assertIn("text", data) + self.assertIn("url", data) + self.assertEqual(data["id"], "cms.page:1") + self.assertEqual(data["text"], "root") + self.assertEqual(data["url"], self.root_page.get_absolute_url()) + + def test_outdated_reference(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + "?g=cms.page:0") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("error", data) + self.assertEqual(data["error"], "Page matching query does not exist.") + + +class LinkEndpointThirdPartyTestCase(CMSTestCase): + def setUp(self): + LinkAdmin = admin.site._registry[Link] + self.endpoint = admin_reverse(LinkAdmin.global_link_url_name) + + self.second_site = Site.objects.create( + domain="second", + name="second", + ) + + self.items = ( + ThirdPartyModel.objects.create(name="First", path="/first", site_id=1), + ThirdPartyModel.objects.create( + name="Second", path="/second", site=self.second_site + ), + ThirdPartyModel.objects.create(name="django CMS", path="/django-cms"), + ThirdPartyModel.objects.create( + name="django CMS rocks", path="/django-cms-2" + ), + ) + + def test_auto_config(self): + from djangocms_link.admin import REGISTERED_ADMIN + from tests.utils.admin import ThirdPartyAdmin + + for registered_admin in REGISTERED_ADMIN: + if isinstance(registered_admin, ThirdPartyAdmin): + break + else: + self.asserFail("ThirdPartyAdmin not found in REGISTERED_ADMIN") + + def test_api_endpoint(self): + for query_params in ("", "?app_label=1"): + with self.subTest(query_params=query_params): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + query_params) + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertEqual(len(data["results"]), 1) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + destinations = data["results"][0] + self.assertEqual(destinations["text"], "Third party models") + for destination in destinations["children"]: + self.assertIn("id", destination) + self.assertIn("text", destination) + self.assertIn("url", destination) + _, pk = destination["id"].split(":") + db_obj = ThirdPartyModel.objects.get(pk=pk) + self.assertEqual(destination["text"], str(db_obj)) + + def test_filter(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + "?term=CMS") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertEqual(len(data["results"]), 1) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + + pages = data["results"][0] + self.assertEqual(len(pages["children"]), 2) + + def test_site_selector(self): + for site_id in (1, 2): + with self.subTest(site_id=site_id): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + f"?app_label={site_id}") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertEqual(len(data["results"]), 1) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + destinations = data["results"][0] + self.assertEqual(destinations["text"], "Third party models") + # One site-specific item, two all-sites items + self.assertEqual(len(destinations["children"]), 3) + + # Specific site item + if site_id == 1: + self.assertIn( + { + "id": "utils.thirdpartymodel:1", + "text": "First", + "url": "/first", + "verbose_name": ThirdPartyModel._meta.verbose_name.capitalize(), + }, + destinations["children"], + ) + else: + self.assertIn( + { + "id": "utils.thirdpartymodel:2", + "text": "Second", + "url": "/second", + "verbose_name": ThirdPartyModel._meta.verbose_name.capitalize(), + }, + destinations["children"], + ) + # All-sites items + self.assertIn( + { + "id": "utils.thirdpartymodel:3", + "text": "django CMS", + "url": "/django-cms", + "verbose_name": ThirdPartyModel._meta.verbose_name.capitalize(), + }, + destinations["children"], + ) + self.assertIn( + { + "id": "utils.thirdpartymodel:4", + "text": "django CMS rocks", + "url": "/django-cms-2", + "verbose_name": ThirdPartyModel._meta.verbose_name.capitalize(), + }, + destinations["children"], + ) + + def test_get_reference(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint + "?g=utils.thirdpartymodel:1") + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("id", data) + self.assertIn("text", data) + self.assertIn("url", data) + self.assertEqual(data["id"], "utils.thirdpartymodel:1") + self.assertEqual(data["text"], "First") + self.assertEqual(data["url"], self.items[0].get_absolute_url()) + + +class LinkEndpointMultiModelTestCase(CMSTestCase): + def setUp(self): + LinkAdmin = admin.site._registry[Link] + + self.endpoint = admin_reverse(LinkAdmin.global_link_url_name) + self.root_page = create_page( + title="root", + template="page.html", + language="en", + ) + self.items = ( + ThirdPartyModel.objects.create(name="First", path="/first"), + ThirdPartyModel.objects.create(name="Second", path="/second"), + ) + + def test_api_endpoint(self): + with self.login_user_context(self.get_superuser()): + response = self.client.get(self.endpoint) + self.assertEqual(response.status_code, 200) + data = response.json() + + self.assertIn("results", data) + self.assertIn("pagination", data) + self.assertEqual(data["pagination"]["more"], False) + + # Two optgroups: + # 1. Pages (always first) + # 2. Third party models + self.assertEqual(len(data["results"]), 2) + self.assertEqual(data["results"][0]["text"], "Pages") + self.assertEqual(data["results"][1]["text"], "Third party models") diff --git a/tests/test_fields.py b/tests/test_fields.py index ec91981e..15b0f81a 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1,15 +1,132 @@ -from django.conf import settings +from django import forms from django.test import TestCase -from djangocms_link.fields import PageSearchField, is_select2_enabled -from djangocms_link.fields_select2 import Select2PageSearchField +from cms.api import create_page + +from djangocms_link.fields import LinkFormField, LinkWidget +from tests.helpers import get_filer_file class LinkFieldTestCase(TestCase): + def setUp(self): + self.page = create_page( + title="django CMS is fun", + template="page.html", + language="en", + ) + self.file = get_filer_file() + + def test_form_field_rendering(self): + class LinkForm(forms.Form): + link_field = LinkFormField(required=True) + + form = LinkForm() + form_html = str(form) + + # Render widget + self.assertIn( + '